@auscope/angular2parse 4.0.1 → 17.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -49
- package/{esm2020 → esm2022}/auscope-angular2parse.mjs +4 -4
- package/esm2022/lib/angular/compiler/assertions.mjs +45 -0
- package/{esm2020 → esm2022}/lib/angular/compiler/ast.mjs +393 -393
- package/{esm2020 → esm2022}/lib/angular/compiler/chars.mjs +78 -78
- package/esm2022/lib/angular/compiler/interpolation-config.mjs +24 -0
- package/esm2022/lib/angular/compiler/lexer.mjs +344 -0
- package/esm2022/lib/angular/compiler/parser.mjs +721 -0
- package/{esm2020 → esm2022}/lib/angular/compiler.mjs +7 -7
- package/esm2022/lib/angular/facade/lang.mjs +85 -0
- package/{esm2020 → esm2022}/lib/angular/facade.mjs +1 -1
- package/{esm2020 → esm2022}/lib/angular.mjs +3 -3
- package/esm2022/lib/module.mjs +18 -0
- package/esm2022/lib/parse.mjs +66 -0
- package/{esm2020 → esm2022}/lib/util/binary-operations.mjs +18 -18
- package/{esm2020 → esm2022}/lib/util/lang.mjs +13 -13
- package/{esm2020 → esm2022}/lib/util.mjs +3 -3
- package/esm2022/lib/visitors/parse-visitor-compiler.mjs +96 -0
- package/esm2022/lib/visitors/parse-visitor-resolver.mjs +141 -0
- package/{esm2020 → esm2022}/lib/visitors.mjs +3 -3
- package/{esm2020 → esm2022}/public-api.mjs +6 -6
- package/{fesm2020 → fesm2022}/auscope-angular2parse.mjs +1999 -1999
- package/fesm2022/auscope-angular2parse.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/angular/compiler/assertions.d.ts +9 -9
- package/lib/angular/compiler/ast.d.ts +242 -242
- package/lib/angular/compiler/chars.d.ts +69 -69
- package/lib/angular/compiler/interpolation-config.d.ts +14 -14
- package/lib/angular/compiler/lexer.d.ts +44 -44
- package/lib/angular/compiler/parser.d.ts +92 -92
- package/lib/angular/compiler.d.ts +6 -6
- package/lib/angular/facade/lang.d.ts +44 -44
- package/lib/angular/facade.d.ts +1 -1
- package/lib/angular.d.ts +2 -2
- package/lib/module.d.ts +9 -9
- package/lib/parse.d.ts +21 -21
- package/lib/util/binary-operations.d.ts +1 -1
- package/lib/util/lang.d.ts +4 -4
- package/lib/util.d.ts +2 -2
- package/lib/visitors/parse-visitor-compiler.d.ts +23 -23
- package/lib/visitors/parse-visitor-resolver.d.ts +25 -25
- package/lib/visitors.d.ts +2 -2
- package/package.json +8 -14
- package/public-api.d.ts +2 -2
- package/esm2020/lib/angular/compiler/assertions.mjs +0 -45
- package/esm2020/lib/angular/compiler/interpolation-config.mjs +0 -24
- package/esm2020/lib/angular/compiler/lexer.mjs +0 -344
- package/esm2020/lib/angular/compiler/parser.mjs +0 -721
- package/esm2020/lib/angular/facade/lang.mjs +0 -85
- package/esm2020/lib/module.mjs +0 -18
- package/esm2020/lib/parse.mjs +0 -66
- package/esm2020/lib/visitors/parse-visitor-compiler.mjs +0 -96
- package/esm2020/lib/visitors/parse-visitor-resolver.mjs +0 -141
- package/fesm2015/auscope-angular2parse.mjs +0 -2035
- package/fesm2015/auscope-angular2parse.mjs.map +0 -1
- package/fesm2020/auscope-angular2parse.mjs.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from './compiler/assertions';
|
|
2
|
-
export * from './compiler/ast';
|
|
3
|
-
export * from './compiler/chars';
|
|
4
|
-
export * from './compiler/interpolation-config';
|
|
5
|
-
export * from './compiler/lexer';
|
|
6
|
-
export * from './compiler/parser';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './compiler/assertions';
|
|
2
|
+
export * from './compiler/ast';
|
|
3
|
+
export * from './compiler/chars';
|
|
4
|
+
export * from './compiler/interpolation-config';
|
|
5
|
+
export * from './compiler/lexer';
|
|
6
|
+
export * from './compiler/parser';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyMnBhcnNlL3NyYy9saWIvYW5ndWxhci9jb21waWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tcGlsZXIvYXNzZXJ0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBpbGVyL2FzdCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBpbGVyL2NoYXJzJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcGlsZXIvaW50ZXJwb2xhdGlvbi1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21waWxlci9sZXhlcic7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBpbGVyL3BhcnNlcic7Il19
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
export function getTypeNameForDebugging(type) {
|
|
9
|
+
return type['name'] || typeof type;
|
|
10
|
+
}
|
|
11
|
+
export function isPresent(obj) {
|
|
12
|
+
return obj != null;
|
|
13
|
+
}
|
|
14
|
+
export function isBlank(obj) {
|
|
15
|
+
return obj == null;
|
|
16
|
+
}
|
|
17
|
+
const STRING_MAP_PROTO = Object.getPrototypeOf({});
|
|
18
|
+
export function isStrictStringMap(obj) {
|
|
19
|
+
return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;
|
|
20
|
+
}
|
|
21
|
+
export function stringify(token) {
|
|
22
|
+
if (typeof token === 'string') {
|
|
23
|
+
return token;
|
|
24
|
+
}
|
|
25
|
+
if (token == null) {
|
|
26
|
+
return '' + token;
|
|
27
|
+
}
|
|
28
|
+
if (token.overriddenName) {
|
|
29
|
+
return `${token.overriddenName}`;
|
|
30
|
+
}
|
|
31
|
+
if (token.name) {
|
|
32
|
+
return `${token.name}`;
|
|
33
|
+
}
|
|
34
|
+
const res = token.toString();
|
|
35
|
+
const newLineIndex = res.indexOf('\n');
|
|
36
|
+
return newLineIndex === -1 ? res : res.substring(0, newLineIndex);
|
|
37
|
+
}
|
|
38
|
+
export class NumberWrapper {
|
|
39
|
+
static parseIntAutoRadix(text) {
|
|
40
|
+
const result = parseInt(text);
|
|
41
|
+
if (isNaN(result)) {
|
|
42
|
+
throw new Error('Invalid integer literal when parsing ' + text);
|
|
43
|
+
}
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
static isNumeric(value) { return !isNaN(value - parseFloat(value)); }
|
|
47
|
+
}
|
|
48
|
+
// JS has NaN !== NaN
|
|
49
|
+
export function looseIdentical(a, b) {
|
|
50
|
+
return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);
|
|
51
|
+
}
|
|
52
|
+
export function isJsObject(o) {
|
|
53
|
+
return o !== null && (typeof o === 'function' || typeof o === 'object');
|
|
54
|
+
}
|
|
55
|
+
export function print(obj) {
|
|
56
|
+
// tslint:disable-next-line:no-console
|
|
57
|
+
console.log(obj);
|
|
58
|
+
}
|
|
59
|
+
export function warn(obj) {
|
|
60
|
+
console.warn(obj);
|
|
61
|
+
}
|
|
62
|
+
export function setValueOnPath(global, path, value) {
|
|
63
|
+
const parts = path.split('.');
|
|
64
|
+
let obj = global;
|
|
65
|
+
while (parts.length > 1) {
|
|
66
|
+
const name = parts.shift();
|
|
67
|
+
if (obj.hasOwnProperty(name) && obj[name] != null) {
|
|
68
|
+
obj = obj[name];
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
obj = obj[name] = {};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (obj === undefined || obj === null) {
|
|
75
|
+
obj = {};
|
|
76
|
+
}
|
|
77
|
+
obj[parts.shift()] = value;
|
|
78
|
+
}
|
|
79
|
+
export function isPrimitive(obj) {
|
|
80
|
+
return !isJsObject(obj);
|
|
81
|
+
}
|
|
82
|
+
export function escapeRegExp(s) {
|
|
83
|
+
return s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIycGFyc2Uvc3JjL2xpYi9hbmd1bGFyL2ZhY2FkZS9sYW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQXlCSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsSUFBUztJQUM3QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxHQUFRO0lBQzlCLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQztBQUN2QixDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxHQUFRO0lBQzVCLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQztBQUN2QixDQUFDO0FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ25ELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxHQUFRO0lBQ3RDLE9BQU8sT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxnQkFBZ0IsQ0FBQztBQUN0RyxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFVO0lBQ2hDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsT0FBTyxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMs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QyxHQUFHLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxDQUFTO0lBQ2xDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIEJyb3dzZXJOb2RlR2xvYmFsIHtcbiAgICBPYmplY3Q6IHR5cGVvZiBPYmplY3Q7XG4gICAgQXJyYXk6IHR5cGVvZiBBcnJheTtcbiAgICBNYXA6IHR5cGVvZiBNYXA7XG4gICAgU2V0OiB0eXBlb2YgU2V0O1xuICAgIERhdGU6IERhdGVDb25zdHJ1Y3RvcjtcbiAgICBSZWdFeHA6IFJlZ0V4cENvbnN0cnVjdG9yO1xuICAgIEpTT046IHR5cGVvZiBKU09OO1xuICAgIE1hdGg6IGFueTsgIC8vIHR5cGVvZiBNYXRoO1xuICAgIGFzc2VydChjb25kaXRpb246IGFueSk6IHZvaWQ7XG4gICAgUmVmbGVjdDogYW55O1xuICAgIGdldEFuZ3VsYXJUZXN0YWJpbGl0eTogRnVuY3Rpb247XG4gICAgZ2V0QWxsQW5ndWxhclRlc3RhYmlsaXRpZXM6IEZ1bmN0aW9uO1xuICAgIGdldEFsbEFuZ3VsYXJSb290RWxlbWVudHM6IEZ1bmN0aW9uO1xuICAgIGZyYW1ld29ya1N0YWJpbGl6ZXJzOiBBcnJheTxGdW5jdGlvbj47XG4gICAgc2V0VGltZW91dDogRnVuY3Rpb247XG4gICAgY2xlYXJUaW1lb3V0OiBGdW5jdGlvbjtcbiAgICBzZXRJbnRlcnZhbDogRnVuY3Rpb247XG4gICAgY2xlYXJJbnRlcnZhbDogRnVuY3Rpb247XG4gICAgZW5jb2RlVVJJOiBGdW5jdGlvbjtcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHlwZU5hbWVGb3JEZWJ1Z2dpbmcodHlwZTogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHlwZVsnbmFtZSddIHx8IHR5cGVvZiB0eXBlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQcmVzZW50KG9iajogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG9iaiAhPSBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCbGFuayhvYmo6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBvYmogPT0gbnVsbDtcbn1cblxuY29uc3QgU1RSSU5HX01BUF9QUk9UTyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih7fSk7XG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpY3RTdHJpbmdNYXAob2JqOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgb2JqICE9PSBudWxsICYmIE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopID09PSBTVFJJTkdfTUFQX1BST1RPO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5naWZ5KHRva2VuOiBhbnkpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgdG9rZW4gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiB0b2tlbjtcbiAgICB9XG5cbiAgICBpZiAodG9rZW4gPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gJycgKyB0b2tlbjtcbiAgICB9XG5cbiAgICBpZiAodG9rZW4ub3ZlcnJpZGRlbk5hbWUpIHtcbiAgICAgICAgcmV0dXJuIGAke3Rva2VuLm92ZXJyaWRkZW5OYW1lfWA7XG4gICAgfVxuXG4gICAgaWYgKHRva2VuLm5hbWUpIHtcbiAgICAgICAgcmV0dXJuIGAke3Rva2VuLm5hbWV9YDtcbiAgICB9XG5cbiAgICBjb25zdCByZXMgPSB0b2tlbi50b1N0cmluZygpO1xuICAgIGNvbnN0IG5ld0xpbmVJbmRleCA9IHJlcy5pbmRleE9mKCdcXG4nKTtcbiAgICByZXR1cm4gbmV3TGluZUluZGV4ID09PSAtMSA/IHJlcyA6IHJlcy5zdWJzdHJpbmcoMCwgbmV3TGluZUluZGV4KTtcbn1cblxuZXhwb3J0IGNsYXNzIE51bWJlcldyYXBwZXIge1xuICAgIHN0YXRpYyBwYXJzZUludEF1dG9SYWRpeCh0ZXh0OiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICBjb25zdCByZXN1bHQ6IG51bWJlciA9IHBhcnNlSW50KHRleHQpO1xuICAgICAgICBpZiAoaXNOYU4ocmVzdWx0KSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGludGVnZXIgbGl0ZXJhbCB3aGVuIHBhcnNpbmcgJyArIHRleHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgc3RhdGljIGlzTnVtZXJpYyh2YWx1ZTogYW55KTogYm9vbGVhbiB7IHJldHVybiAhaXNOYU4odmFsdWUgLSBwYXJzZUZsb2F0KHZhbHVlKSk7IH1cbn1cblxuLy8gSlMgaGFzIE5hTiAhPT0gTmFOXG5leHBvcnQgZnVuY3Rpb24gbG9vc2VJZGVudGljYWwoYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYSA9PT0gYiB8fCB0eXBlb2YgYSA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGIgPT09ICdudW1iZXInICYmIGlzTmFOKGEpICYmIGlzTmFOKGIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNKc09iamVjdChvOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbyAhPT0gbnVsbCAmJiAodHlwZW9mIG8gPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIG8gPT09ICdvYmplY3QnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW50KG9iajogRXJyb3IgfCBPYmplY3QpIHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tY29uc29sZVxuICAgIGNvbnNvbGUubG9nKG9iaik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3YXJuKG9iajogRXJyb3IgfCBPYmplY3QpIHtcbiAgICBjb25zb2xlLndhcm4ob2JqKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFZhbHVlT25QYXRoKGdsb2JhbDogYW55LCBwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoJy4nKTtcbiAgICBsZXQgb2JqOiBhbnkgPSBnbG9iYWw7XG4gICAgd2hpbGUgKHBhcnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgY29uc3QgbmFtZSA9IHBhcnRzLnNoaWZ0KCk7XG4gICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkobmFtZSkgJiYgb2JqW25hbWVdICE9IG51bGwpIHtcbiAgICAgICAgICAgIG9iaiA9IG9ialtuYW1lXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG9iaiA9IG9ialtuYW1lXSA9IHt9O1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChvYmogPT09IHVuZGVmaW5lZCB8fCBvYmogPT09IG51bGwpIHtcbiAgICAgICAgb2JqID0ge307XG4gICAgfVxuICAgIG9ialtwYXJ0cy5zaGlmdCgpXSA9IHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQcmltaXRpdmUob2JqOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIWlzSnNPYmplY3Qob2JqKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZVJlZ0V4cChzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzLnJlcGxhY2UoLyhbLiorP149IToke30oKXxbXFxdXFwvXFxcXF0pL2csICdcXFxcJDEnKTtcbn0iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './facade/lang';
|
|
1
|
+
export * from './facade/lang';
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjYWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhcjJwYXJzZS9zcmMvbGliL2FuZ3VsYXIvZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mYWNhZGUvbGFuZyc7Il19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './angular/compiler';
|
|
2
|
-
export * from './angular/facade';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './angular/compiler';
|
|
2
|
+
export * from './angular/facade';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIycGFyc2Uvc3JjL2xpYi9hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYW5ndWxhci9jb21waWxlcic7XG5leHBvcnQgKiBmcm9tICcuL2FuZ3VsYXIvZmFjYWRlJzsiXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { PIPES_CONFIG } from './parse';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class Angular2ParseModule {
|
|
5
|
+
static forRoot(pipesConfigMap) {
|
|
6
|
+
return {
|
|
7
|
+
ngModule: Angular2ParseModule,
|
|
8
|
+
providers: [{ provide: PIPES_CONFIG, multi: true, useValue: pipesConfigMap || [] }]
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: Angular2ParseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.6", ngImport: i0, type: Angular2ParseModule }); }
|
|
13
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: Angular2ParseModule }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: Angular2ParseModule, decorators: [{
|
|
16
|
+
type: NgModule
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhcjJwYXJzZS9zcmMvbGliL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQVMsWUFBWSxFQUFlLE1BQU0sU0FBUyxDQUFDOztBQUczRCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBNkI7UUFDMUMsT0FBTztZQUNMLFFBQVEsRUFBRSxtQkFBbUI7WUFDN0IsU0FBUyxFQUFFLENBQUMsRUFBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGNBQWMsSUFBSSxFQUFFLEVBQUMsQ0FBQztTQUNsRixDQUFDO0lBQ0osQ0FBQzs4R0FOVSxtQkFBbUI7K0dBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBhcnNlLCBQSVBFU19DT05GSUcsIFBpcGVzQ29uZmlnIH0gZnJvbSAnLi9wYXJzZSc7XG5cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgQW5ndWxhcjJQYXJzZU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KHBpcGVzQ29uZmlnTWFwOiBQaXBlc0NvbmZpZ1tdKTogTW9kdWxlV2l0aFByb3ZpZGVyczxhbnk+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXIyUGFyc2VNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFt7cHJvdmlkZTogUElQRVNfQ09ORklHLCBtdWx0aTogdHJ1ZSwgdXNlVmFsdWU6IHBpcGVzQ29uZmlnTWFwIHx8IFtdfV1cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
|
|
2
|
+
import { Parser, Lexer } from './angular';
|
|
3
|
+
import { ParseVisitorResolver, ParseVisitorCompiler } from './visitors';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export const PIPES_CONFIG = new InjectionToken('PipesConfig');
|
|
6
|
+
export class Parse {
|
|
7
|
+
/**
|
|
8
|
+
* Used to dependency inject the Angular 2 parser.
|
|
9
|
+
*/
|
|
10
|
+
constructor(pipesConfigs) {
|
|
11
|
+
this._parser = new Parser(new Lexer());
|
|
12
|
+
this._pipesCache = new Map();
|
|
13
|
+
this._evalCache = new Map();
|
|
14
|
+
this._calcCache = new Map();
|
|
15
|
+
if (pipesConfigs && pipesConfigs.length) {
|
|
16
|
+
pipesConfigs
|
|
17
|
+
.filter(pipes => pipes && pipes.length)
|
|
18
|
+
.forEach(pipes => pipes.forEach((pipeData) => this._pipesCache.set(pipeData.pipeName, pipeData.pipeInstance)));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
eval(expression) {
|
|
22
|
+
if (this._evalCache.has(expression)) {
|
|
23
|
+
return this._evalCache.get(expression);
|
|
24
|
+
}
|
|
25
|
+
const visitor = new ParseVisitorCompiler();
|
|
26
|
+
let ast = this._parser.parseInterpolation(expression, 'Parse');
|
|
27
|
+
if (!ast) {
|
|
28
|
+
ast = this._parser.parseBinding(expression, 'Parse');
|
|
29
|
+
}
|
|
30
|
+
const fnBody = ast.visit(visitor);
|
|
31
|
+
const pipesCache = this._pipesCache;
|
|
32
|
+
const getFn = new Function('context', 'pipesCache', `return ${fnBody};`);
|
|
33
|
+
const evalParse = function evalParse(context) {
|
|
34
|
+
return getFn(context, pipesCache);
|
|
35
|
+
};
|
|
36
|
+
this._evalCache.set(expression, evalParse);
|
|
37
|
+
return evalParse;
|
|
38
|
+
}
|
|
39
|
+
calc(expression) {
|
|
40
|
+
if (this._calcCache.has(expression)) {
|
|
41
|
+
return this._calcCache.get(expression);
|
|
42
|
+
}
|
|
43
|
+
const visitor = new ParseVisitorResolver(this._pipesCache);
|
|
44
|
+
let ast = this._parser.parseInterpolation(expression, 'Parse');
|
|
45
|
+
if (!ast) {
|
|
46
|
+
ast = this._parser.parseBinding(expression, 'Parse');
|
|
47
|
+
}
|
|
48
|
+
const calcParse = function calcParse(context) {
|
|
49
|
+
return ast.visit(visitor, context);
|
|
50
|
+
};
|
|
51
|
+
this._calcCache.set(expression, calcParse);
|
|
52
|
+
return calcParse;
|
|
53
|
+
}
|
|
54
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: Parse, deps: [{ token: PIPES_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
55
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: Parse, providedIn: 'root' }); }
|
|
56
|
+
}
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: Parse, decorators: [{
|
|
58
|
+
type: Injectable,
|
|
59
|
+
args: [{ providedIn: 'root' }]
|
|
60
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
61
|
+
type: Optional
|
|
62
|
+
}, {
|
|
63
|
+
type: Inject,
|
|
64
|
+
args: [PIPES_CONFIG]
|
|
65
|
+
}] }] });
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyMnBhcnNlL3NyYy9saWIvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBaUIsTUFBTSxXQUFXLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDOztBQUV4RSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7QUFROUQsTUFBTSxPQUFPLEtBQUs7SUFNaEI7O09BRUc7SUFFSCxZQUE4QyxZQUE2QjtRQVRuRSxZQUFPLEdBQVcsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLGdCQUFXLEdBQXFCLElBQUksR0FBRyxFQUFlLENBQUM7UUFDdkQsZUFBVSxHQUEwQixJQUFJLEdBQUcsRUFBb0IsQ0FBQztRQUNoRSxlQUFVLEdBQTBCLElBQUksR0FBRyxFQUFvQixDQUFDO1FBT3RFLElBQUksWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QyxZQUFZO2lCQUNULE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDO2lCQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkgsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQUMsVUFBa0I7UUFDckIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUUzQyxJQUFJLEdBQUcsR0FBa0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFOUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLElBQUksUUFBUSxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRXpFLE1BQU0sU0FBUyxHQUFHLFNBQVMsU0FBUyxDQUFDLE9BQVk7WUFDL0MsT0FBTyxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUUzQyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxDQUFDLFVBQWtCO1FBQ3JCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNwQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUzRCxJQUFJLEdBQUcsR0FBa0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFOUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsU0FBUyxTQUFTLENBQUMsT0FBWTtZQUMvQyxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUUzQyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOzhHQWhFVSxLQUFLLGtCQVVnQixZQUFZO2tIQVZqQyxLQUFLLGNBRE8sTUFBTTs7MkZBQ2xCLEtBQUs7a0JBRGpCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDOzswQkFXakIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBhcnNlciwgTGV4ZXIsIEFTVFdpdGhTb3VyY2UgfSBmcm9tICcuL2FuZ3VsYXInO1xuaW1wb3J0IHsgUGFyc2VWaXNpdG9yUmVzb2x2ZXIsIFBhcnNlVmlzaXRvckNvbXBpbGVyIH0gZnJvbSAnLi92aXNpdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBQSVBFU19DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ1BpcGVzQ29uZmlnJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZXNDb25maWcge1xuICBwaXBlTmFtZTogc3RyaW5nO1xuICBwaXBlSW5zdGFuY2U6IGFueTtcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgUGFyc2Uge1xuICBwcml2YXRlIF9wYXJzZXI6IFBhcnNlciA9IG5ldyBQYXJzZXIobmV3IExleGVyKCkpO1xuICBwcml2YXRlIF9waXBlc0NhY2hlOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcbiAgcHJpdmF0ZSBfZXZhbENhY2hlOiBNYXA8c3RyaW5nLCBGdW5jdGlvbj4gPSBuZXcgTWFwPHN0cmluZywgRnVuY3Rpb24+KCk7XG4gIHByaXZhdGUgX2NhbGNDYWNoZTogTWFwPHN0cmluZywgRnVuY3Rpb24+ID0gbmV3IE1hcDxzdHJpbmcsIEZ1bmN0aW9uPigpO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGRlcGVuZGVuY3kgaW5qZWN0IHRoZSBBbmd1bGFyIDIgcGFyc2VyLlxuICAgKi9cblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KFBJUEVTX0NPTkZJRykgcGlwZXNDb25maWdzOiBQaXBlc0NvbmZpZ1tdW10pIHtcbiAgICBpZiAocGlwZXNDb25maWdzICYmIHBpcGVzQ29uZmlncy5sZW5ndGgpIHtcbiAgICAgIHBpcGVzQ29uZmlnc1xuICAgICAgICAuZmlsdGVyKHBpcGVzID0+IHBpcGVzICYmIHBpcGVzLmxlbmd0aClcbiAgICAgICAgLmZvckVhY2gocGlwZXMgPT4gcGlwZXMuZm9yRWFjaCgocGlwZURhdGEpID0+IHRoaXMuX3BpcGVzQ2FjaGUuc2V0KHBpcGVEYXRhLnBpcGVOYW1lLCBwaXBlRGF0YS5waXBlSW5zdGFuY2UpKSk7XG4gICAgfVxuICB9XG5cbiAgZXZhbChleHByZXNzaW9uOiBzdHJpbmcpOiBGdW5jdGlvbiB7XG4gICAgaWYgKHRoaXMuX2V2YWxDYWNoZS5oYXMoZXhwcmVzc2lvbikpIHtcbiAgICAgIHJldHVybiB0aGlzLl9ldmFsQ2FjaGUuZ2V0KGV4cHJlc3Npb24pO1xuICAgIH1cblxuICAgIGNvbnN0IHZpc2l0b3IgPSBuZXcgUGFyc2VWaXNpdG9yQ29tcGlsZXIoKTtcblxuICAgIGxldCBhc3Q6IEFTVFdpdGhTb3VyY2UgPSB0aGlzLl9wYXJzZXIucGFyc2VJbnRlcnBvbGF0aW9uKGV4cHJlc3Npb24sICdQYXJzZScpO1xuXG4gICAgaWYgKCFhc3QpIHtcbiAgICAgIGFzdCA9IHRoaXMuX3BhcnNlci5wYXJzZUJpbmRpbmcoZXhwcmVzc2lvbiwgJ1BhcnNlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZm5Cb2R5ID0gYXN0LnZpc2l0KHZpc2l0b3IpO1xuICAgIGNvbnN0IHBpcGVzQ2FjaGUgPSB0aGlzLl9waXBlc0NhY2hlO1xuICAgIGNvbnN0IGdldEZuID0gbmV3IEZ1bmN0aW9uKCdjb250ZXh0JywgJ3BpcGVzQ2FjaGUnLCBgcmV0dXJuICR7Zm5Cb2R5fTtgKTtcblxuICAgIGNvbnN0IGV2YWxQYXJzZSA9IGZ1bmN0aW9uIGV2YWxQYXJzZShjb250ZXh0OiBhbnkpOiBhbnkge1xuICAgICAgcmV0dXJuIGdldEZuKGNvbnRleHQsIHBpcGVzQ2FjaGUpO1xuICAgIH07XG5cbiAgICB0aGlzLl9ldmFsQ2FjaGUuc2V0KGV4cHJlc3Npb24sIGV2YWxQYXJzZSk7XG5cbiAgICByZXR1cm4gZXZhbFBhcnNlO1xuICB9XG5cbiAgY2FsYyhleHByZXNzaW9uOiBzdHJpbmcpOiBGdW5jdGlvbiB7XG4gICAgaWYgKHRoaXMuX2NhbGNDYWNoZS5oYXMoZXhwcmVzc2lvbikpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jYWxjQ2FjaGUuZ2V0KGV4cHJlc3Npb24pO1xuICAgIH1cblxuICAgIGNvbnN0IHZpc2l0b3IgPSBuZXcgUGFyc2VWaXNpdG9yUmVzb2x2ZXIodGhpcy5fcGlwZXNDYWNoZSk7XG5cbiAgICBsZXQgYXN0OiBBU1RXaXRoU291cmNlID0gdGhpcy5fcGFyc2VyLnBhcnNlSW50ZXJwb2xhdGlvbihleHByZXNzaW9uLCAnUGFyc2UnKTtcblxuICAgIGlmICghYXN0KSB7XG4gICAgICBhc3QgPSB0aGlzLl9wYXJzZXIucGFyc2VCaW5kaW5nKGV4cHJlc3Npb24sICdQYXJzZScpO1xuICAgIH1cblxuICAgIGNvbnN0IGNhbGNQYXJzZSA9IGZ1bmN0aW9uIGNhbGNQYXJzZShjb250ZXh0OiBhbnkpOiBhbnkge1xuICAgICAgcmV0dXJuIGFzdC52aXNpdCh2aXNpdG9yLCBjb250ZXh0KTtcbiAgICB9O1xuXG4gICAgdGhpcy5fY2FsY0NhY2hlLnNldChleHByZXNzaW9uLCBjYWxjUGFyc2UpO1xuXG4gICAgcmV0dXJuIGNhbGNQYXJzZTtcbiAgfVxufVxuIl19
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
export const BinaryOperations = new Map([
|
|
2
|
-
['==', (left, right) => left == right],
|
|
3
|
-
['===', (left, right) => left === right],
|
|
4
|
-
['!=', (left, right) => left != right],
|
|
5
|
-
['!==', (left, right) => left !== right],
|
|
6
|
-
['&&', (left, right) => left && right],
|
|
7
|
-
['||', (left, right) => left || right],
|
|
8
|
-
['+', (left, right) => left + right],
|
|
9
|
-
['-', (left, right) => left - right],
|
|
10
|
-
['/', (left, right) => left / right],
|
|
11
|
-
['*', (left, right) => left * right],
|
|
12
|
-
['%', (left, right) => left % right],
|
|
13
|
-
['<', (left, right) => left < right],
|
|
14
|
-
['<=', (left, right) => left <= right],
|
|
15
|
-
['>', (left, right) => left > right],
|
|
16
|
-
['>=', (left, right) => left >= right],
|
|
17
|
-
]);
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluYXJ5LW9wZXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyMnBhcnNlL3NyYy9saWIvdXRpbC9iaW5hcnktb3BlcmF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsQ0FBYztJQUNqRCxDQUFDLElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUM7SUFDaEQsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFTLEVBQUUsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDO0lBQ2xELENBQUMsSUFBSSxFQUFFLENBQUMsSUFBUyxFQUFFLEtBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQztJQUNoRCxDQUFDLEtBQUssRUFBRSxDQUFDLElBQVMsRUFBRSxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUM7SUFDbEQsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFTLEVBQUUsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDO0lBQ2hELENBQUMsSUFBSSxFQUFFLENBQUMsSUFBUyxFQUFFLEtBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQztJQUNoRCxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQVMsRUFBRSxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFTLEVBQUUsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBUyxFQUFFLEtBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUM5QyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQVMsRUFBRSxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFTLEVBQUUsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBUyxFQUFFLEtBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUM5QyxDQUFDLElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUM7SUFDaEQsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFTLEVBQUUsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQzlDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBUyxFQUFFLEtBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQztDQUNuRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQmluYXJ5T3BlcmF0aW9ucyA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+
|
|
1
|
+
export const BinaryOperations = new Map([
|
|
2
|
+
['==', (left, right) => left == right],
|
|
3
|
+
['===', (left, right) => left === right],
|
|
4
|
+
['!=', (left, right) => left != right],
|
|
5
|
+
['!==', (left, right) => left !== right],
|
|
6
|
+
['&&', (left, right) => left && right],
|
|
7
|
+
['||', (left, right) => left || right],
|
|
8
|
+
['+', (left, right) => left + right],
|
|
9
|
+
['-', (left, right) => left - right],
|
|
10
|
+
['/', (left, right) => left / right],
|
|
11
|
+
['*', (left, right) => left * right],
|
|
12
|
+
['%', (left, right) => left % right],
|
|
13
|
+
['<', (left, right) => left < right],
|
|
14
|
+
['<=', (left, right) => left <= right],
|
|
15
|
+
['>', (left, right) => left > right],
|
|
16
|
+
['>=', (left, right) => left >= right],
|
|
17
|
+
]);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluYXJ5LW9wZXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyMnBhcnNlL3NyYy9saWIvdXRpbC9iaW5hcnktb3BlcmF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsQ0FBYztJQUNqRCxDQUFDLElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUM7SUFDaEQsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFTLEVBQUUsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDO0lBQ2xELENBQUMsSUFBSSxFQUFFLENBQUMsSUFBUyxFQUFFLEtBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQztJQUNoRCxDQUFDLEtBQUssRUFBRSxDQUFDLElBQVMsRUFBRSxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUM7SUFDbEQsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFTLEVBQUUsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDO0lBQ2hELENBQUMsSUFBSSxFQUFFLENBQUMsSUFBUyxFQUFFLEtBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQztJQUNoRCxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQVMsRUFBRSxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFTLEVBQUUsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBUyxFQUFFLEtBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUM5QyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQVMsRUFBRSxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDOUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFTLEVBQUUsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQzlDLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBUyxFQUFFLEtBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUM5QyxDQUFDLElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUM7SUFDaEQsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFTLEVBQUUsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQzlDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBUyxFQUFFLEtBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQztDQUNuRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQmluYXJ5T3BlcmF0aW9ucyA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KFtcbiAgICBbJz09JywgKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkgPT4gbGVmdCA9PSByaWdodF0sXG4gICAgWyc9PT0nLCAobGVmdDogYW55LCByaWdodDogYW55KSA9PiBsZWZ0ID09PSByaWdodF0sXG4gICAgWychPScsIChsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpID0+IGxlZnQgIT0gcmlnaHRdLFxuICAgIFsnIT09JywgKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkgPT4gbGVmdCAhPT0gcmlnaHRdLFxuICAgIFsnJiYnLCAobGVmdDogYW55LCByaWdodDogYW55KSA9PiBsZWZ0ICYmIHJpZ2h0XSxcbiAgICBbJ3x8JywgKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkgPT4gbGVmdCB8fCByaWdodF0sXG4gICAgWycrJywgKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkgPT4gbGVmdCArIHJpZ2h0XSxcbiAgICBbJy0nLCAobGVmdDogYW55LCByaWdodDogYW55KSA9PiBsZWZ0IC0gcmlnaHRdLFxuICAgIFsnLycsIChsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpID0+IGxlZnQgLyByaWdodF0sXG4gICAgWycqJywgKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSkgPT4gbGVmdCAqIHJpZ2h0XSxcbiAgICBbJyUnLCAobGVmdDogYW55LCByaWdodDogYW55KSA9PiBsZWZ0ICUgcmlnaHRdLFxuICAgIFsnPCcsIChsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpID0+IGxlZnQgPCByaWdodF0sXG4gICAgWyc8PScsIChsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpID0+IGxlZnQgPD0gcmlnaHRdLFxuICAgIFsnPicsIChsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpID0+IGxlZnQgPiByaWdodF0sXG4gICAgWyc+PScsIChsZWZ0OiBhbnksIHJpZ2h0OiBhbnkpID0+IGxlZnQgPj0gcmlnaHRdLFxuXSk7Il19
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export function compileToJSON(json) {
|
|
2
|
-
return JSON.stringify(json).replace(/"/g, '');
|
|
3
|
-
}
|
|
4
|
-
export function isPresent(obj) {
|
|
5
|
-
return obj !== null && obj !== undefined;
|
|
6
|
-
}
|
|
7
|
-
export function isJsObject(obj) {
|
|
8
|
-
return obj !== null && (typeof obj === 'function' || typeof obj === 'object');
|
|
9
|
-
}
|
|
10
|
-
export function isFunction(val) {
|
|
11
|
-
return typeof val === 'function';
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export function compileToJSON(json) {
|
|
2
|
+
return JSON.stringify(json).replace(/"/g, '');
|
|
3
|
+
}
|
|
4
|
+
export function isPresent(obj) {
|
|
5
|
+
return obj !== null && obj !== undefined;
|
|
6
|
+
}
|
|
7
|
+
export function isJsObject(obj) {
|
|
8
|
+
return obj !== null && (typeof obj === 'function' || typeof obj === 'object');
|
|
9
|
+
}
|
|
10
|
+
export function isFunction(val) {
|
|
11
|
+
return typeof val === 'function';
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIycGFyc2Uvc3JjL2xpYi91dGlsL2xhbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFTO0lBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEdBQVE7SUFDOUIsT0FBTyxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsS0FBSyxTQUFTLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsR0FBUTtJQUMvQixPQUFPLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxVQUFVLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUM7QUFDbEYsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsR0FBUTtJQUMvQixPQUFPLE9BQU8sR0FBRyxLQUFLLFVBQVUsQ0FBQztBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGNvbXBpbGVUb0pTT04oanNvbjogYW55KSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGpzb24pLnJlcGxhY2UoL1wiL2csICcnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJlc2VudChvYmo6IGFueSkge1xuICAgIHJldHVybiBvYmogIT09IG51bGwgJiYgb2JqICE9PSB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0pzT2JqZWN0KG9iajogYW55KSB7XG4gICAgcmV0dXJuIG9iaiAhPT0gbnVsbCAmJiAodHlwZW9mIG9iaiA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2Ygb2JqID09PSAnb2JqZWN0Jyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbDogYW55KSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdmdW5jdGlvbic7XG59Il19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './util/binary-operations';
|
|
2
|
-
export * from './util/lang';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './util/binary-operations';
|
|
2
|
+
export * from './util/lang';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIycGFyc2Uvc3JjL2xpYi91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3V0aWwvYmluYXJ5LW9wZXJhdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsL2xhbmcnOyJdfQ==
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { RecursiveAstVisitor } from '../angular';
|
|
2
|
+
import { compileToJSON } from '../util';
|
|
3
|
+
export class ParseVisitorCompiler extends RecursiveAstVisitor {
|
|
4
|
+
visitBinary(ast) {
|
|
5
|
+
const left = ast.left.visit(this);
|
|
6
|
+
const right = ast.right.visit(this);
|
|
7
|
+
return `${left} ${ast.operation} ${right}`;
|
|
8
|
+
}
|
|
9
|
+
// TODO
|
|
10
|
+
visitChain(ast) {
|
|
11
|
+
return compileToJSON(this.visitAll(ast.expressions));
|
|
12
|
+
}
|
|
13
|
+
visitConditional(ast) {
|
|
14
|
+
const condition = ast.condition.visit(this);
|
|
15
|
+
const trueExp = ast.trueExp.visit(this);
|
|
16
|
+
const falseExp = ast.falseExp.visit(this);
|
|
17
|
+
return `${condition} ? ${trueExp} : ${falseExp}`;
|
|
18
|
+
}
|
|
19
|
+
visitPipe(ast) {
|
|
20
|
+
const pipe = ast.name;
|
|
21
|
+
const args = this.visitAll(ast.args);
|
|
22
|
+
const value = ast.exp.visit(this);
|
|
23
|
+
args.unshift(value);
|
|
24
|
+
return `pipesCache.get('${pipe}').transform.apply(null, ${compileToJSON(args)})`;
|
|
25
|
+
}
|
|
26
|
+
// TODO
|
|
27
|
+
visitFunctionCall(ast) {
|
|
28
|
+
const target = ast.target.visit(this);
|
|
29
|
+
const args = compileToJSON(this.visitAll(ast.args));
|
|
30
|
+
return `${target}.apply(${target}, ${args})`;
|
|
31
|
+
}
|
|
32
|
+
visitImplicitReceiver(ast) {
|
|
33
|
+
return `context`;
|
|
34
|
+
}
|
|
35
|
+
visitInterpolation(ast) {
|
|
36
|
+
return this.visitAll(ast.expressions)[0];
|
|
37
|
+
}
|
|
38
|
+
visitKeyedRead(ast) {
|
|
39
|
+
const obj = ast.obj.visit(this);
|
|
40
|
+
const key = ast.key.visit(this);
|
|
41
|
+
return `${obj}[${key}]`;
|
|
42
|
+
}
|
|
43
|
+
visitKeyedWrite(ast) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
visitLiteralArray(ast) {
|
|
47
|
+
return compileToJSON(this.visitAll(ast.expressions));
|
|
48
|
+
}
|
|
49
|
+
visitLiteralMap(ast) {
|
|
50
|
+
const result = {};
|
|
51
|
+
const keys = ast.keys;
|
|
52
|
+
const values = this.visitAll(ast.values);
|
|
53
|
+
for (let i = 0, length = keys.length; i < length; i++) {
|
|
54
|
+
result[keys[i]] = values[i];
|
|
55
|
+
}
|
|
56
|
+
return compileToJSON(result);
|
|
57
|
+
}
|
|
58
|
+
visitLiteralPrimitive(ast) {
|
|
59
|
+
return typeof ast.value === 'string' ? `'${ast.value}'` : ast.value;
|
|
60
|
+
}
|
|
61
|
+
visitMethodCall(ast) {
|
|
62
|
+
const methodName = ast.name;
|
|
63
|
+
const receiver = ast.receiver.visit(this);
|
|
64
|
+
const args = compileToJSON(this.visitAll(ast.args));
|
|
65
|
+
return `${receiver}['${methodName}'].apply(${receiver}, ${args})`;
|
|
66
|
+
}
|
|
67
|
+
visitPrefixNot(ast) {
|
|
68
|
+
return ast.expression.visit(this);
|
|
69
|
+
}
|
|
70
|
+
visitPropertyRead(ast) {
|
|
71
|
+
const property = ast.name;
|
|
72
|
+
const receiver = ast.receiver.visit(this);
|
|
73
|
+
return `${receiver}['${property}']`;
|
|
74
|
+
}
|
|
75
|
+
visitPropertyWrite(ast) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
visitSafePropertyRead(ast) {
|
|
79
|
+
const property = ast.name;
|
|
80
|
+
const receiver = ast.receiver.visit(this);
|
|
81
|
+
return `${receiver}['${property}']`;
|
|
82
|
+
}
|
|
83
|
+
visitSafeMethodCall(ast) {
|
|
84
|
+
const methodName = ast.name;
|
|
85
|
+
const receiver = ast.receiver.visit(this);
|
|
86
|
+
const args = compileToJSON(this.visitAll(ast.args));
|
|
87
|
+
return `${receiver}['${methodName}'].apply(${receiver}, ${args})`;
|
|
88
|
+
}
|
|
89
|
+
visitAll(asts) {
|
|
90
|
+
return asts.map(ast => ast.visit(this));
|
|
91
|
+
}
|
|
92
|
+
visitQuote(ast) {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtdmlzaXRvci1jb21waWxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIycGFyc2Uvc3JjL2xpYi92aXNpdG9ycy9wYXJzZS12aXNpdG9yLWNvbXBpbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxtQkFBbUIsRUFvQnRCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFeEMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjtJQUV6RCxXQUFXLENBQUMsR0FBVztRQUNuQixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxPQUFPLEdBQUcsSUFBSSxJQUFJLEdBQUcsQ0FBQyxTQUFTLElBQUksS0FBSyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVELE9BQU87SUFDUCxVQUFVLENBQUMsR0FBVTtRQUNqQixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFnQjtRQUM3QixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUxQyxPQUFPLEdBQUcsU0FBUyxNQUFNLE9BQU8sTUFBTSxRQUFR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QztJQUVELFFBQVEsQ0FBQyxJQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVU7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBU1QsXG4gICAgUmVjdXJzaXZlQXN0VmlzaXRvcixcbiAgICBQcm9wZXJ0eVJlYWQsXG4gICAgTWV0aG9kQ2FsbCxcbiAgICBLZXllZFJlYWQsXG4gICAgSW1wbGljaXRSZWNlaXZlcixcbiAgICBMaXRlcmFsUHJpbWl0aXZlLFxuICAgIEJpbmFyeSxcbiAgICBDaGFpbixcbiAgICBDb25kaXRpb25hbCxcbiAgICBCaW5kaW5nUGlwZSxcbiAgICBGdW5jdGlvbkNhbGwsXG4gICAgSW50ZXJwb2xhdGlvbixcbiAgICBLZXllZFdyaXRlLFxuICAgIExpdGVyYWxBcnJheSxcbiAgICBMaXRlcmFsTWFwLFxuICAgIFByZWZpeE5vdCxcbiAgICBQcm9wZXJ0eVdyaXRlLFxuICAgIFNhZmVQcm9wZXJ0eVJlYWQsXG4gICAgU2FmZU1ldGhvZENhbGwsXG4gICAgUXVvdGVcbn0gZnJvbSAnLi4vYW5ndWxhcic7XG5pbXBvcnQgeyBjb21waWxlVG9KU09OIH0gZnJvbSAnLi4vdXRpbCc7XG5cbmV4cG9ydCBjbGFzcyBQYXJzZVZpc2l0b3JDb21waWxlciBleHRlbmRzIFJlY3Vyc2l2ZUFzdFZpc2l0b3Ige1xuXG4gICAgdmlzaXRCaW5hcnkoYXN0OiBCaW5hcnkpOiBhbnkge1xuICAgICAgICBjb25zdCBsZWZ0ID0gYXN0LmxlZnQudmlzaXQodGhpcyk7XG4gICAgICAgIGNvbnN0IHJpZ2h0ID0gYXN0LnJpZ2h0LnZpc2l0KHRoaXMpO1xuXG4gICAgICAgIHJldHVybiBgJHtsZWZ0fSAke2FzdC5vcGVyYXRpb259ICR7cmlnaHR9YDtcbiAgICB9XG5cbiAgICAvLyBUT0RPXG4gICAgdmlzaXRDaGFpbihhc3Q6IENoYWluKTogYW55IHtcbiAgICAgICAgcmV0dXJuIGNvbXBpbGVUb0pTT04odGhpcy52aXNpdEFsbChhc3QuZXhwcmVzc2lvbnMpKTtcbiAgICB9XG5cbiAgICB2aXNpdENvbmRpdGlvbmFsKGFzdDogQ29uZGl0aW9uYWwpOiBhbnkge1xuICAgICAgICBjb25zdCBjb25kaXRpb24gPSBhc3QuY29uZGl0aW9uLnZpc2l0KHRoaXMpO1xuICAgICAgICBjb25zdCB0cnVlRXhwID0gYXN0LnRydWVFeHAudmlzaXQodGhpcyk7XG4gICAgICAgIGNvbnN0IGZhbHNlRXhwID0gYXN0LmZhbHNlRXhwLnZpc2l0KHRoaXMpO1xuXG4gICAgICAgIHJldHVybiBgJHtjb25kaXRpb259ID8gJHt0cnVlRXhwfSA6ICR7ZmFsc2VFeHB9YDtcbiAgICB9XG5cbiAgICB2aXNpdFBpcGUoYXN0OiBCaW5kaW5nUGlwZSk6IGFueSB7XG4gICAgICAgIGNvbnN0IHBpcGUgPSBhc3QubmFtZTtcbiAgICAgICAgY29uc3QgYXJncyA9IHRoaXMudmlzaXRBbGwoYXN0LmFyZ3MpO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGFzdC5leHAudmlzaXQodGhpcyk7XG4gICAgICAgIGFyZ3MudW5zaGlmdCh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGBwaXBlc0NhY2hlLmdldCgnJHtwaXBlfScpLnRyYW5zZm9ybS5hcHBseShudWxsLCAke2NvbXBpbGVUb0pTT04oYXJncyl9KWA7XG4gICAgfVxuXG4gICAgLy8gVE9ET1xuICAgIHZpc2l0RnVuY3Rpb25DYWxsKGFzdDogRnVuY3Rpb25DYWxsKTogYW55IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gYXN0LnRhcmdldC52aXNpdCh0aGlzKTtcbiAgICAgICAgY29uc3QgYXJncyA9IGNvbXBpbGVUb0pTT04odGhpcy52aXNpdEFsbChhc3QuYXJncykpO1xuXG4gICAgICAgIHJldHVybiBgJHt0YXJnZXR9LmFwcGx5KCR7dGFyZ2V0fSwgJHthcmdzfSlgO1xuICAgIH1cblxuICAgIHZpc2l0SW1wbGljaXRSZWNlaXZlcihhc3Q6IEltcGxpY2l0UmVjZWl2ZXIpOiBhbnkge1xuICAgICAgICByZXR1cm4gYGNvbnRleHRgO1xuICAgIH1cblxuICAgIHZpc2l0SW50ZXJwb2xhdGlvbihhc3Q6IEludGVycG9sYXRpb24pOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy52aXNpdEFsbChhc3QuZXhwcmVzc2lvbnMpWzBdO1xuICAgIH1cblxuICAgIHZpc2l0S2V5ZWRSZWFkKGFzdDogS2V5ZWRSZWFkKTogYW55IHtcbiAgICAgICAgY29uc3Qgb2JqID0gYXN0Lm9iai52aXNpdCh0aGlzKTtcbiAgICAgICAgY29uc3Qga2V5ID0gYXN0LmtleS52aXNpdCh0aGlzKTtcblxuICAgICAgICByZXR1cm4gYCR7b2JqfVske2tleX1dYDtcbiAgICB9XG5cbiAgICB2aXNpdEtleWVkV3JpdGUoYXN0OiBLZXllZFdyaXRlKTogYW55IHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdmlzaXRMaXRlcmFsQXJyYXkoYXN0OiBMaXRlcmFsQXJyYXkpOiBhbnkge1xuICAgICAgICByZXR1cm4gY29tcGlsZVRvSlNPTih0aGlzLnZpc2l0QWxsKGFzdC5leHByZXNzaW9ucykpO1xuICAgIH1cblxuICAgIHZpc2l0TGl0ZXJhbE1hcChhc3Q6IExpdGVyYWxNYXApOiBhbnkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB7fTtcbiAgICAgICAgY29uc3Qga2V5cyA9IGFzdC5rZXlzO1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLnZpc2l0QWxsKGFzdC52YWx1ZXMpO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW5ndGggPSBrZXlzLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICByZXN1bHRba2V5c1tpXV0gPSB2YWx1ZXNbaV07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29tcGlsZVRvSlNPTihyZXN1bHQpO1xuICAgIH1cblxuICAgIHZpc2l0TGl0ZXJhbFByaW1pdGl2ZShhc3Q6IExpdGVyYWxQcmltaXRpdmUpOiBhbnkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGFzdC52YWx1ZSA9PT0gJ3N0cmluZycgPyBgJyR7YXN0LnZhbHVlfSdgIDogYXN0LnZhbHVlO1xuICAgIH1cblxuICAgIHZpc2l0TWV0aG9kQ2FsbChhc3Q6IE1ldGhvZENhbGwpOiBhbnkge1xuICAgICAgICBjb25zdCBtZXRob2ROYW1lID0gYXN0Lm5hbWU7XG4gICAgICAgIGNvbnN0IHJlY2VpdmVyID0gYXN0LnJlY2VpdmVyLnZpc2l0KHRoaXMpO1xuICAgICAgICBjb25zdCBhcmdzID0gY29tcGlsZVRvSlNPTih0aGlzLnZpc2l0QWxsKGFzdC5hcmdzKSk7XG5cbiAgICAgICAgcmV0dXJuIGAke3JlY2VpdmVyfVsnJHttZXRob2ROYW1lfSddLmFwcGx5KCR7cmVjZWl2ZXJ9LCAke2FyZ3N9KWA7XG4gICAgfVxuXG4gICAgdmlzaXRQcmVmaXhOb3QoYXN0OiBQcmVmaXhOb3QpOiBhbnkge1xuICAgICAgICByZXR1cm4gYXN0LmV4cHJlc3Npb24udmlzaXQodGhpcyk7XG4gICAgfVxuXG4gICAgdmlzaXRQcm9wZXJ0eVJlYWQoYXN0OiBQcm9wZXJ0eVJlYWQpOiBhbnkge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eSA9IGFzdC5uYW1lO1xuICAgICAgICBjb25zdCByZWNlaXZlciA9IGFzdC5yZWNlaXZlci52aXNpdCh0aGlzKTtcblxuICAgICAgICByZXR1cm4gYCR7cmVjZWl2ZXJ9Wycke3Byb3BlcnR5fSddYDtcbiAgICB9XG5cbiAgICB2aXNpdFByb3BlcnR5V3JpdGUoYXN0OiBQcm9wZXJ0eVdyaXRlKTogYW55IHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdmlzaXRTYWZlUHJvcGVydHlSZWFkKGFzdDogU2FmZVByb3BlcnR5UmVhZCk6IGFueSB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5ID0gYXN0Lm5hbWU7XG4gICAgICAgIGNvbnN0IHJlY2VpdmVyID0gYXN0LnJlY2VpdmVyLnZpc2l0KHRoaXMpO1xuXG4gICAgICAgIHJldHVybiBgJHtyZWNlaXZlcn1bJyR7cHJvcGVydHl9J11gO1xuICAgIH1cblxuICAgIHZpc2l0U2FmZU1ldGhvZENhbGwoYXN0OiBTYWZlTWV0aG9kQ2FsbCk6IGFueSB7XG4gICAgICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBhc3QubmFtZTtcbiAgICAgICAgY29uc3QgcmVjZWl2ZXIgPSBhc3QucmVjZWl2ZXIudmlzaXQodGhpcyk7XG4gICAgICAgIGNvbnN0IGFyZ3MgPSBjb21waWxlVG9KU09OKHRoaXMudmlzaXRBbGwoYXN0LmFyZ3MpKTtcblxuICAgICAgICByZXR1cm4gYCR7cmVjZWl2ZXJ9Wycke21ldGhvZE5hbWV9J10uYXBwbHkoJHtyZWNlaXZlcn0sICR7YXJnc30pYDtcbiAgICB9XG5cbiAgICB2aXNpdEFsbChhc3RzOiBBU1RbXSk6IGFueSB7XG4gICAgICAgIHJldHVybiBhc3RzLm1hcChhc3QgPT4gYXN0LnZpc2l0KHRoaXMpKTtcbiAgICB9XG5cbiAgICB2aXNpdFF1b3RlKGFzdDogUXVvdGUpOiBhbnkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59Il19
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { RecursiveAstVisitor } from '../angular';
|
|
2
|
+
import * as util from '../util';
|
|
3
|
+
import { BinaryOperations } from '../util/binary-operations';
|
|
4
|
+
export class ParseVisitorResolver extends RecursiveAstVisitor {
|
|
5
|
+
constructor(pipes) {
|
|
6
|
+
super();
|
|
7
|
+
this.pipes = pipes;
|
|
8
|
+
}
|
|
9
|
+
;
|
|
10
|
+
visitBinary(ast, context) {
|
|
11
|
+
const execFn = BinaryOperations.get(ast.operation);
|
|
12
|
+
if (!execFn) {
|
|
13
|
+
throw new Error(`Parse ERROR: on visitBinary, unknown operator ${ast.operation}`);
|
|
14
|
+
}
|
|
15
|
+
return execFn(ast.left.visit(this, context), ast.right.visit(this, context));
|
|
16
|
+
}
|
|
17
|
+
// TODO
|
|
18
|
+
visitChain(ast, context) {
|
|
19
|
+
return this.visitAll(ast.expressions, context);
|
|
20
|
+
}
|
|
21
|
+
visitConditional(ast, context) {
|
|
22
|
+
if (ast.condition.visit(this, context)) {
|
|
23
|
+
return ast.trueExp.visit(this, context);
|
|
24
|
+
}
|
|
25
|
+
else if (util.isPresent(ast.falseExp)) {
|
|
26
|
+
return ast.falseExp.visit(this, context);
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
visitPipe(ast, context) {
|
|
31
|
+
const pipe = this.pipes.get(ast.name);
|
|
32
|
+
if (!pipe) {
|
|
33
|
+
throw new Error(`pipe ${ast.name} not found.`);
|
|
34
|
+
}
|
|
35
|
+
if (!pipe.transform) {
|
|
36
|
+
throw new Error(`Parse ERROR: on visitPipe, transform method doesn't exist on pipe ${ast.name}.`);
|
|
37
|
+
}
|
|
38
|
+
const value = ast.exp.visit(this, context);
|
|
39
|
+
const pipeArgs = this.visitAll(ast.args, context);
|
|
40
|
+
pipeArgs.unshift(value);
|
|
41
|
+
return pipe.transform.apply(null, pipeArgs);
|
|
42
|
+
}
|
|
43
|
+
// TODO
|
|
44
|
+
visitFunctionCall(ast, context) {
|
|
45
|
+
const target = ast.target.visit(this, context);
|
|
46
|
+
if (!util.isFunction(target)) {
|
|
47
|
+
throw new Error(`Parse ERROR: on visitFunctionCall, target is not a function.`);
|
|
48
|
+
}
|
|
49
|
+
const args = this.visitAll(ast.args, context);
|
|
50
|
+
return target.apply(target, args);
|
|
51
|
+
}
|
|
52
|
+
visitImplicitReceiver(ast, context) {
|
|
53
|
+
return context;
|
|
54
|
+
}
|
|
55
|
+
visitInterpolation(ast, context) {
|
|
56
|
+
return this.visitAll(ast.expressions, context)[0];
|
|
57
|
+
}
|
|
58
|
+
visitKeyedRead(ast, context) {
|
|
59
|
+
const obj = ast.obj.visit(this, context);
|
|
60
|
+
const key = ast.key.visit(this, context);
|
|
61
|
+
return obj[key];
|
|
62
|
+
}
|
|
63
|
+
visitKeyedWrite(ast, context) {
|
|
64
|
+
const obj = ast.obj.visit(this, context);
|
|
65
|
+
const key = ast.key.visit(this, context);
|
|
66
|
+
const value = ast.value.visit(this, context);
|
|
67
|
+
obj[key] = value;
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
visitLiteralArray(ast, context) {
|
|
71
|
+
return this.visitAll(ast.expressions, context);
|
|
72
|
+
}
|
|
73
|
+
visitLiteralMap(ast, context) {
|
|
74
|
+
const result = {};
|
|
75
|
+
const keys = ast.keys;
|
|
76
|
+
const values = this.visitAll(ast.values, context);
|
|
77
|
+
for (let i = 0, length = keys.length; i < length; i++) {
|
|
78
|
+
result[keys[i]] = values[i];
|
|
79
|
+
}
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
visitLiteralPrimitive(ast, context) {
|
|
83
|
+
return ast.value;
|
|
84
|
+
}
|
|
85
|
+
visitMethodCall(ast, context) {
|
|
86
|
+
const receiver = ast.receiver.visit(this, context);
|
|
87
|
+
if (!util.isJsObject(receiver)) {
|
|
88
|
+
throw new Error(`Parse ERROR: on visitMethodCall, invalid method receiver.`);
|
|
89
|
+
}
|
|
90
|
+
const method = receiver[ast.name];
|
|
91
|
+
if (!util.isFunction(method)) {
|
|
92
|
+
throw new Error(`Parse ERROR: on visitMethodCall, method ${ast.name} doesn't exist on receiver.`);
|
|
93
|
+
}
|
|
94
|
+
const args = this.visitAll(ast.args, context);
|
|
95
|
+
return method.apply(receiver, args);
|
|
96
|
+
}
|
|
97
|
+
visitPrefixNot(ast, context) {
|
|
98
|
+
return ast.expression.visit(this, context);
|
|
99
|
+
}
|
|
100
|
+
visitPropertyRead(ast, context) {
|
|
101
|
+
const receiver = ast.receiver.visit(this, context);
|
|
102
|
+
if (!util.isJsObject(receiver)) {
|
|
103
|
+
throw new Error(`Parse ERROR: on visitPropertyRead, invalid property receiver.`);
|
|
104
|
+
}
|
|
105
|
+
return receiver[ast.name];
|
|
106
|
+
}
|
|
107
|
+
visitPropertyWrite(ast, context) {
|
|
108
|
+
const receiver = ast.receiver.visit(this, context);
|
|
109
|
+
if (!util.isJsObject(receiver)) {
|
|
110
|
+
throw new Error(`Parse ERROR: on visitPropertyRead, invalid property receiver.`);
|
|
111
|
+
}
|
|
112
|
+
receiver[ast.name] = ast.value.visit(this, context);
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
visitSafePropertyRead(ast, context) {
|
|
116
|
+
const receiver = ast.receiver.visit(this, context);
|
|
117
|
+
if (!util.isJsObject(receiver)) {
|
|
118
|
+
throw new Error(`Parse ERROR: on visitSafePropertyRead, invalid property receiver.`);
|
|
119
|
+
}
|
|
120
|
+
return receiver[ast.name];
|
|
121
|
+
}
|
|
122
|
+
visitSafeMethodCall(ast, context) {
|
|
123
|
+
const receiver = ast.receiver.visit(this, context);
|
|
124
|
+
if (!util.isJsObject(receiver)) {
|
|
125
|
+
throw new Error(`Parse ERROR: on visitSafeMethodCall, invalid method receiver.`);
|
|
126
|
+
}
|
|
127
|
+
const method = receiver[ast.name];
|
|
128
|
+
if (!util.isFunction(method)) {
|
|
129
|
+
throw new Error(`Parse ERROR: on visitSafeMethodCall, method ${ast.name} doesn't exist on receiver.`);
|
|
130
|
+
}
|
|
131
|
+
const args = this.visitAll(ast.args, context);
|
|
132
|
+
return method.apply(receiver, args);
|
|
133
|
+
}
|
|
134
|
+
visitAll(asts, context) {
|
|
135
|
+
return asts.map(ast => ast.visit(this, context));
|
|
136
|
+
}
|
|
137
|
+
visitQuote(ast, context) {
|
|
138
|
+
throw new Error(`Parse ERROR: on visitQuote, quote expression not allowed.`);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtdmlzaXRvci1yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIycGFyc2Uvc3JjL2xpYi92aXNpdG9ycy9wYXJzZS12aXNpdG9yLXJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxtQkFBbUIsRUFvQnRCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sS0FBSyxJQUFJLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUFFekQsWUFBb0IsS0FBdUI7UUFDdkMsS0FBSyxFQUFFLENBQUM7UUFEUSxVQUFLLEdBQUwsS0FBSyxDQUFrQjtJQUUzQyxDQUFDO0lBQUEsQ0FBQztJQUVGLFdBQVcsQ0FBQyxHQUFXLEVBQUUsT0FBWTtRQUNqQyxNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3RGLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELE9BQU87SUFDUCxVQUFVLENBQUMsR0FBVSxFQUFFLE9BQVk7UUFDL0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGdC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Q0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsR0FBRyxDQUFDLElBQUksNkJBQTZCLENBQUMsQ0FBQztRQUMxRyxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFXLEVBQUUsT0FBWTtRQUM5QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVSxFQUFFLE9BQVk7UUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQVNULFxuICAgIFJlY3Vyc2l2ZUFzdFZpc2l0b3IsXG4gICAgUHJvcGVydHlSZWFkLFxuICAgIE1ldGhvZENhbGwsXG4gICAgS2V5ZWRSZWFkLFxuICAgIEltcGxpY2l0UmVjZWl2ZXIsXG4gICAgTGl0ZXJhbFByaW1pdGl2ZSxcbiAgICBCaW5hcnksXG4gICAgQ2hhaW4sXG4gICAgQ29uZGl0aW9uYWwsXG4gICAgQmluZGluZ1BpcGUsXG4gICAgRnVuY3Rpb25DYWxsLFxuICAgIEludGVycG9sYXRpb24sXG4gICAgS2V5ZWRXcml0ZSxcbiAgICBMaXRlcmFsQXJyYXksXG4gICAgTGl0ZXJhbE1hcCxcbiAgICBQcmVmaXhOb3QsXG4gICAgUHJvcGVydHlXcml0ZSxcbiAgICBTYWZlUHJvcGVydHlSZWFkLFxuICAgIFNhZmVNZXRob2RDYWxsLFxuICAgIFF1b3RlXG59IGZyb20gJy4uL2FuZ3VsYXInO1xuaW1wb3J0ICogYXMgdXRpbCBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IEJpbmFyeU9wZXJhdGlvbnMgfSBmcm9tICcuLi91dGlsL2JpbmFyeS1vcGVyYXRpb25zJztcblxuZXhwb3J0IGNsYXNzIFBhcnNlVmlzaXRvclJlc29sdmVyIGV4dGVuZHMgUmVjdXJzaXZlQXN0VmlzaXRvciB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBpcGVzOiBNYXA8c3RyaW5nLCBhbnk+KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfTtcblxuICAgIHZpc2l0QmluYXJ5KGFzdDogQmluYXJ5LCBjb250ZXh0OiBhbnkpOiBhbnkge1xuICAgICAgICBjb25zdCBleGVjRm4gPSBCaW5hcnlPcGVyYXRpb25zLmdldChhc3Qub3BlcmF0aW9uKTtcblxuICAgICAgICBpZiAoIWV4ZWNGbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXJzZSBFUlJPUjogb24gdmlzaXRCaW5hcnksIHVua25vd24gb3BlcmF0b3IgJHthc3Qub3BlcmF0aW9ufWApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGV4ZWNGbihhc3QubGVmdC52aXNpdCh0aGlzLCBjb250ZXh0KSwgYXN0LnJpZ2h0LnZpc2l0KHRoaXMsIGNvbnRleHQpKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPXG4gICAgdmlzaXRDaGFpbihhc3Q6IENoYWluLCBjb250ZXh0OiBhbnkpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy52aXNpdEFsbChhc3QuZXhwcmVzc2lvbnMsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHZpc2l0Q29uZGl0aW9uYWwoYXN0OiBDb25kaXRpb25hbCwgY29udGV4dDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKGFzdC5jb25kaXRpb24udmlzaXQodGhpcywgY29udGV4dCkpIHtcbiAgICAgICAgICAgIHJldHVybiBhc3QudHJ1ZUV4cC52aXNpdCh0aGlzLCBjb250ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh1dGlsLmlzUHJlc2VudChhc3QuZmFsc2VFeHApKSB7XG4gICAgICAgICAgICByZXR1cm4gYXN0LmZhbHNlRXhwLnZpc2l0KHRoaXMsIGNvbnRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdmlzaXRQaXBlKGFzdDogQmluZGluZ1BpcGUsIGNvbnRleHQ6IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IHBpcGUgPSB0aGlzLnBpcGVzLmdldChhc3QubmFtZSk7XG5cbiAgICAgICAgaWYgKCFwaXBlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHBpcGUgJHthc3QubmFtZX0gbm90IGZvdW5kLmApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFwaXBlLnRyYW5zZm9ybSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXJzZSBFUlJPUjogb24gdmlzaXRQaXBlLCB0cmFuc2Zvcm0gbWV0aG9kIGRvZXNuJ3QgZXhpc3Qgb24gcGlwZSAke2FzdC5uYW1lfS5gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gYXN0LmV4cC52aXNpdCh0aGlzLCBjb250ZXh0KTtcbiAgICAgICAgY29uc3QgcGlwZUFyZ3MgPSB0aGlzLnZpc2l0QWxsKGFzdC5hcmdzLCBjb250ZXh0KTtcblxuICAgICAgICBwaXBlQXJncy51bnNoaWZ0KHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gcGlwZS50cmFuc2Zvcm0uYXBwbHkobnVsbCwgcGlwZUFyZ3MpO1xuICAgIH1cblxuICAgIC8vIFRPRE9cbiAgICB2aXNpdEZ1bmN0aW9uQ2FsbChhc3Q6IEZ1bmN0aW9uQ2FsbCwgY29udGV4dDogYW55KTogYW55IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gYXN0LnRhcmdldC52aXNpdCh0aGlzLCBjb250ZXh0KTtcblxuICAgICAgICBpZiAoIXV0aWwuaXNGdW5jdGlvbih0YXJnZXQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFBhcnNlIEVSUk9SOiBvbiB2aXNpdEZ1bmN0aW9uQ2FsbCwgdGFyZ2V0IGlzIG5vdCBhIGZ1bmN0aW9uLmApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXJncyA9IHRoaXMudmlzaXRBbGwoYXN0LmFyZ3MsIGNvbnRleHQpO1xuICAgICAgICByZXR1cm4gdGFyZ2V0LmFwcGx5KHRhcmdldCwgYXJncyk7XG4gICAgfVxuXG4gICAgdmlzaXRJbXBsaWNpdFJlY2VpdmVyKGFzdDogSW1wbGljaXRSZWNlaXZlciwgY29udGV4dDogYW55KTogYW55IHtcbiAgICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgfVxuXG4gICAgdmlzaXRJbnRlcnBvbGF0aW9uKGFzdDogSW50ZXJwb2xhdGlvbiwgY29udGV4dDogYW55KTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlzaXRBbGwoYXN0LmV4cHJlc3Npb25zLCBjb250ZXh0KVswXTtcbiAgICB9XG5cbiAgICB2aXNpdEtleWVkUmVhZChhc3Q6IEtleWVkUmVhZCwgY29udGV4dDogYW55KTogYW55IHtcbiAgICAgICAgY29uc3Qgb2JqID0gYXN0Lm9iai52aXNpdCh0aGlzLCBjb250ZXh0KTtcbiAgICAgICAgY29uc3Qga2V5ID0gYXN0LmtleS52aXNpdCh0aGlzLCBjb250ZXh0KTtcbiAgICAgICAgcmV0dXJuIG9ialtrZXldO1xuICAgIH1cblxuICAgIHZpc2l0S2V5ZWRXcml0ZShhc3Q6IEtleWVkV3JpdGUsIGNvbnRleHQ6IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IG9iaiA9IGFzdC5vYmoudmlzaXQodGhpcywgY29udGV4dCk7XG4gICAgICAgIGNvbnN0IGtleSA9IGFzdC5rZXkudmlzaXQodGhpcywgY29udGV4dCk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gYXN0LnZhbHVlLnZpc2l0KHRoaXMsIGNvbnRleHQpO1xuICAgICAgICBvYmpba2V5XSA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB2aXNpdExpdGVyYWxBcnJheShhc3Q6IExpdGVyYWxBcnJheSwgY29udGV4dDogYW55KTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlzaXRBbGwoYXN0LmV4cHJlc3Npb25zLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICB2aXNpdExpdGVyYWxNYXAoYXN0OiBMaXRlcmFsTWFwLCBjb250ZXh0OiBhbnkpOiBhbnkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB7fTtcbiAgICAgICAgY29uc3Qga2V5cyA9IGFzdC5rZXlzO1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLnZpc2l0QWxsKGFzdC52YWx1ZXMsIGNvbnRleHQpO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW5ndGggPSBrZXlzLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICByZXN1bHRba2V5c1tpXV0gPSB2YWx1ZXNbaV07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHZpc2l0TGl0ZXJhbFByaW1pdGl2ZShhc3Q6IExpdGVyYWxQcmltaXRpdmUsIGNvbnRleHQ6IGFueSk6IGFueSB7XG4gICAgICAgIHJldHVybiBhc3QudmFsdWU7XG4gICAgfVxuXG4gICAgdmlzaXRNZXRob2RDYWxsKGFzdDogTWV0aG9kQ2FsbCwgY29udGV4dDogYW55KTogYW55IHtcbiAgICAgICAgY29uc3QgcmVjZWl2ZXIgPSBhc3QucmVjZWl2ZXIudmlzaXQodGhpcywgY29udGV4dCk7XG5cbiAgICAgICAgaWYgKCF1dGlsLmlzSnNPYmplY3QocmVjZWl2ZXIpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFBhcnNlIEVSUk9SOiBvbiB2aXNpdE1ldGhvZENhbGwsIGludmFsaWQgbWV0aG9kIHJlY2VpdmVyLmApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWV0aG9kID0gcmVjZWl2ZXJbYXN0Lm5hbWVdO1xuXG4gICAgICAgIGlmICghdXRpbC5pc0Z1bmN0aW9uKG1ldGhvZCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUGFyc2UgRVJST1I6IG9uIHZpc2l0TWV0aG9kQ2FsbCwgbWV0aG9kICR7YXN0Lm5hbWV9IGRvZXNuJ3QgZXhpc3Qgb24gcmVjZWl2ZXIuYCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhcmdzID0gdGhpcy52aXNpdEFsbChhc3QuYXJncywgY29udGV4dCk7XG4gICAgICAgIHJldHVybiBtZXRob2QuYXBwbHkocmVjZWl2ZXIsIGFyZ3MpO1xuICAgIH1cblxuICAgIHZpc2l0UHJlZml4Tm90KGFzdDogUHJlZml4Tm90LCBjb250ZXh0OiBhbnkpOiBhbnkge1xuICAgICAgICByZXR1cm4gYXN0LmV4cHJlc3Npb24udmlzaXQodGhpcywgY29udGV4dCk7XG4gICAgfVxuXG4gICAgdmlzaXRQcm9wZXJ0eVJlYWQoYXN0OiBQcm9wZXJ0eVJlYWQsIGNvbnRleHQ6IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IHJlY2VpdmVyID0gYXN0LnJlY2VpdmVyLnZpc2l0KHRoaXMsIGNvbnRleHQpO1xuXG4gICAgICAgIGlmICghdXRpbC5pc0pzT2JqZWN0KHJlY2VpdmVyKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXJzZSBFUlJPUjogb24gdmlzaXRQcm9wZXJ0eVJlYWQsIGludmFsaWQgcHJvcGVydHkgcmVjZWl2ZXIuYCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVjZWl2ZXJbYXN0Lm5hbWVdO1xuICAgIH1cblxuICAgIHZpc2l0UHJvcGVydHlXcml0ZShhc3Q6IFByb3BlcnR5V3JpdGUsIGNvbnRleHQ6IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IHJlY2VpdmVyID0gYXN0LnJlY2VpdmVyLnZpc2l0KHRoaXMsIGNvbnRleHQpO1xuXG4gICAgICAgIGlmICghdXRpbC5pc0pzT2JqZWN0KHJlY2VpdmVyKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXJzZSBFUlJPUjogb24gdmlzaXRQcm9wZXJ0eVJlYWQsIGludmFsaWQgcHJvcGVydHkgcmVjZWl2ZXIuYCk7XG4gICAgICAgIH1cblxuICAgICAgICByZWNlaXZlclthc3QubmFtZV0gPSBhc3QudmFsdWUudmlzaXQodGhpcywgY29udGV4dCk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZpc2l0U2FmZVByb3BlcnR5UmVhZChhc3Q6IFNhZmVQcm9wZXJ0eVJlYWQsIGNvbnRleHQ6IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IHJlY2VpdmVyID0gYXN0LnJlY2VpdmVyLnZpc2l0KHRoaXMsIGNvbnRleHQpO1xuXG4gICAgICAgIGlmICghdXRpbC5pc0pzT2JqZWN0KHJlY2VpdmVyKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXJzZSBFUlJPUjogb24gdmlzaXRTYWZlUHJvcGVydHlSZWFkLCBpbnZhbGlkIHByb3BlcnR5IHJlY2VpdmVyLmApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlY2VpdmVyW2FzdC5uYW1lXTtcbiAgICB9XG5cbiAgICB2aXNpdFNhZmVNZXRob2RDYWxsKGFzdDogU2FmZU1ldGhvZENhbGwsIGNvbnRleHQ6IGFueSk6IGFueSB7XG4gICAgICAgIGNvbnN0IHJlY2VpdmVyID0gYXN0LnJlY2VpdmVyLnZpc2l0KHRoaXMsIGNvbnRleHQpO1xuXG4gICAgICAgIGlmICghdXRpbC5pc0pzT2JqZWN0KHJlY2VpdmVyKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXJzZSBFUlJPUjogb24gdmlzaXRTYWZlTWV0aG9kQ2FsbCwgaW52YWxpZCBtZXRob2QgcmVjZWl2ZXIuYCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtZXRob2QgPSByZWNlaXZlclthc3QubmFtZV07XG5cbiAgICAgICAgaWYgKCF1dGlsLmlzRnVuY3Rpb24obWV0aG9kKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYXJzZSBFUlJPUjogb24gdmlzaXRTYWZlTWV0aG9kQ2FsbCwgbWV0aG9kICR7YXN0Lm5hbWV9IGRvZXNuJ3QgZXhpc3Qgb24gcmVjZWl2ZXIuYCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhcmdzID0gdGhpcy52aXNpdEFsbChhc3QuYXJncywgY29udGV4dCk7XG4gICAgICAgIHJldHVybiBtZXRob2QuYXBwbHkocmVjZWl2ZXIsIGFyZ3MpO1xuICAgIH1cblxuICAgIHZpc2l0QWxsKGFzdHM6IEFTVFtdLCBjb250ZXh0OiBhbnkpOiBhbnkge1xuICAgICAgICByZXR1cm4gYXN0cy5tYXAoYXN0ID0+IGFzdC52aXNpdCh0aGlzLCBjb250ZXh0KSk7XG4gICAgfVxuXG4gICAgdmlzaXRRdW90ZShhc3Q6IFF1b3RlLCBjb250ZXh0OiBhbnkpOiBhbnkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFBhcnNlIEVSUk9SOiBvbiB2aXNpdFF1b3RlLCBxdW90ZSBleHByZXNzaW9uIG5vdCBhbGxvd2VkLmApO1xuICAgIH1cbn0iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './visitors/parse-visitor-compiler';
|
|
2
|
-
export * from './visitors/parse-visitor-resolver';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './visitors/parse-visitor-compiler';
|
|
2
|
+
export * from './visitors/parse-visitor-resolver';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyMnBhcnNlL3NyYy9saWIvdmlzaXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi92aXNpdG9ycy9wYXJzZS12aXNpdG9yLWNvbXBpbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdmlzaXRvcnMvcGFyc2UtdmlzaXRvci1yZXNvbHZlcic7Il19
|