MCPcopy Create free account
hub / github.com/aurelia/binding /

Class

src/unparser.js:4–202  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2
3if (typeof FEATURE_NO_UNPARSER === 'undefined') {
4 Unparser = class {
5 constructor(buffer) {
6 this.buffer = buffer;
7 }
8
9 static unparse(expression) {
10 let buffer = [];
11 let visitor = new Unparser(buffer);
12
13 expression.accept(visitor);
14
15 return buffer.join('');
16 }
17
18 write(text) {
19 this.buffer.push(text);
20 }
21
22 writeArgs(args) {
23 this.write('(');
24
25 for (let i = 0, length = args.length; i < length; ++i) {
26 if (i !== 0) {
27 this.write(',');
28 }
29
30 args[i].accept(this);
31 }
32
33 this.write(')');
34 }
35
36 visitBindingBehavior(behavior) {
37 let args = behavior.args;
38
39 behavior.expression.accept(this);
40 this.write(`&${behavior.name}`);
41
42 for (let i = 0, length = args.length; i < length; ++i) {
43 this.write(':');
44 args[i].accept(this);
45 }
46 }
47
48 visitValueConverter(converter) {
49 let args = converter.args;
50
51 converter.expression.accept(this);
52 this.write(`|${converter.name}`);
53
54 for (let i = 0, length = args.length; i < length; ++i) {
55 this.write(':');
56 args[i].accept(this);
57 }
58 }
59
60 visitAssign(assign) {
61 assign.target.accept(this);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected