@auscope/angular2parse 4.0.0 → 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 +9 -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
package/README.md
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
# angular2parse
|
|
2
|
-
Parse util for angular expressions: html string -> angular temaplte
|
|
3
|
-
|
|
4
|
-
# install
|
|
5
|
-
`npm install angular2parse`
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
// app.module.ts
|
|
9
|
-
@NgModule({
|
|
10
|
-
imports: [Angular2ParseModule, ...],
|
|
11
|
-
// ...
|
|
12
|
-
})
|
|
13
|
-
class AppModule {}
|
|
14
|
-
```
|
|
15
|
-
# usage
|
|
16
|
-
```typescript
|
|
17
|
-
import { Parse } from 'angular2parse';
|
|
18
|
-
|
|
19
|
-
@Injectable()
|
|
20
|
-
class MyService {
|
|
21
|
-
constructor(private parser: Parse) {}
|
|
22
|
-
|
|
23
|
-
parseAngularString() {
|
|
24
|
-
const expression = `{
|
|
25
|
-
positions: track.positions,
|
|
26
|
-
cornerType: getCornerType(),
|
|
27
|
-
material: track.color,
|
|
28
|
-
width : 200000.0 }`;
|
|
29
|
-
|
|
30
|
-
const expressionEvalFn = this.parser.eval(expression)
|
|
31
|
-
|
|
32
|
-
const context = {
|
|
33
|
-
getCornerType: () => 'value',
|
|
34
|
-
track: {
|
|
35
|
-
positions: [1,2,3],
|
|
36
|
-
color: 'red',
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
const result = expressionEvalFn(context);
|
|
42
|
-
console.log(result);
|
|
43
|
-
// {positions: [1,2,3], cornerType: 'value', material: 'red', width: 2000}
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
```
|
|
1
|
+
# angular2parse
|
|
2
|
+
Parse util for angular expressions: html string -> angular temaplte
|
|
3
|
+
|
|
4
|
+
# install
|
|
5
|
+
`npm install angular2parse`
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
// app.module.ts
|
|
9
|
+
@NgModule({
|
|
10
|
+
imports: [Angular2ParseModule, ...],
|
|
11
|
+
// ...
|
|
12
|
+
})
|
|
13
|
+
class AppModule {}
|
|
14
|
+
```
|
|
15
|
+
# usage
|
|
16
|
+
```typescript
|
|
17
|
+
import { Parse } from 'angular2parse';
|
|
18
|
+
|
|
19
|
+
@Injectable()
|
|
20
|
+
class MyService {
|
|
21
|
+
constructor(private parser: Parse) {}
|
|
22
|
+
|
|
23
|
+
parseAngularString() {
|
|
24
|
+
const expression = `{
|
|
25
|
+
positions: track.positions,
|
|
26
|
+
cornerType: getCornerType(),
|
|
27
|
+
material: track.color,
|
|
28
|
+
width : 200000.0 }`;
|
|
29
|
+
|
|
30
|
+
const expressionEvalFn = this.parser.eval(expression)
|
|
31
|
+
|
|
32
|
+
const context = {
|
|
33
|
+
getCornerType: () => 'value',
|
|
34
|
+
track: {
|
|
35
|
+
positions: [1,2,3],
|
|
36
|
+
color: 'red',
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const result = expressionEvalFn(context);
|
|
42
|
+
console.log(result);
|
|
43
|
+
// {positions: [1,2,3], cornerType: 'value', material: 'red', width: 2000}
|
|
44
|
+
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
```
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVzY29wZS1hbmd1bGFyMnBhcnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhcjJwYXJzZS9zcmMvYXVzY29wZS1hbmd1bGFyMnBhcnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,45 @@
|
|
|
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
|
+
import { isBlank, isPresent } from '../facade/lang';
|
|
9
|
+
const isDevMode = () => false;
|
|
10
|
+
export function assertArrayOfStrings(identifier, value) {
|
|
11
|
+
if (!isDevMode() || isBlank(value)) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (!Array.isArray(value)) {
|
|
15
|
+
throw new Error(`Expected '${identifier}' to be an array of strings.`);
|
|
16
|
+
}
|
|
17
|
+
for (let i = 0; i < value.length; i += 1) {
|
|
18
|
+
if (typeof value[i] !== 'string') {
|
|
19
|
+
throw new Error(`Expected '${identifier}' to be an array of strings.`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const INTERPOLATION_BLACKLIST_REGEXPS = [
|
|
24
|
+
/^\s*$/, // empty
|
|
25
|
+
/[<>]/, // html tag
|
|
26
|
+
/^[{}]$/, // i18n expansion
|
|
27
|
+
/&(#|[a-z])/i, // character reference,
|
|
28
|
+
/^\/\//, // comment
|
|
29
|
+
];
|
|
30
|
+
export function assertInterpolationSymbols(identifier, value) {
|
|
31
|
+
if (isPresent(value) && !(Array.isArray(value) && value.length == 2)) {
|
|
32
|
+
throw new Error(`Expected '${identifier}' to be an array, [start, end].`);
|
|
33
|
+
}
|
|
34
|
+
else if (isDevMode() && !isBlank(value)) {
|
|
35
|
+
const start = value[0];
|
|
36
|
+
const end = value[1];
|
|
37
|
+
// black list checking
|
|
38
|
+
INTERPOLATION_BLACKLIST_REGEXPS.forEach(regexp => {
|
|
39
|
+
if (regexp.test(start) || regexp.test(end)) {
|
|
40
|
+
throw new Error(`['${start}', '${end}'] contains unusable interpolation symbol.`);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIycGFyc2Uvc3JjL2xpYi9hbmd1bGFyL2NvbXBpbGVyL2Fzc2VydGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBR0gsT0FBTyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7QUFFOUIsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFVBQWtCLEVBQUUsS0FBVTtJQUMvRCxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDakMsT0FBTztJQUNYLENBQUM7SUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxVQUFVLDhCQUE4QixDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN2QyxJQUFJLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxVQUFVLDhCQUE4QixDQUFDLENBQUM7UUFDM0UsQ0FBQztJQUNMLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSwrQkFBK0IsR0FBRztJQUNwQyxPQUFPLEVBQVMsUUFBUTtJQUN4QixNQUFNLEVBQVUsV0FBVztJQUMzQixRQUFRLEVBQVEsaUJBQWlCO0lBQ2pDLGFBQWEsRUFBRyx1QkFBdUI7SUFDdkMsT0FBTyxFQUFTLFVBQVU7Q0FDN0IsQ0FBQztBQUVGLE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxVQUFrQixFQUFFLEtBQVU7SUFDckUsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25FLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxVQUFVLGlDQUFpQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztTQUFNLElBQUksU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFXLENBQUM7UUFDakMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBVyxDQUFDO1FBQy9CLHNCQUFzQjtRQUN0QiwrQkFBK0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0MsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssT0FBTyxHQUFHLDRDQUE0QyxDQUFDLENBQUM7WUFDdEYsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cblxuaW1wb3J0IHtpc0JsYW5rLCBpc1ByZXNlbnR9IGZyb20gJy4uL2ZhY2FkZS9sYW5nJztcblxuY29uc3QgaXNEZXZNb2RlID0gKCkgPT4gZmFsc2U7XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRBcnJheU9mU3RyaW5ncyhpZGVudGlmaWVyOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICBpZiAoIWlzRGV2TW9kZSgpIHx8IGlzQmxhbmsodmFsdWUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkICcke2lkZW50aWZpZXJ9JyB0byBiZSBhbiBhcnJheSBvZiBzdHJpbmdzLmApO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWVbaV0gIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkICcke2lkZW50aWZpZXJ9JyB0byBiZSBhbiBhcnJheSBvZiBzdHJpbmdzLmApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5jb25zdCBJTlRFUlBPTEFUSU9OX0JMQUNLTElTVF9SRUdFWFBTID0gW1xuICAgIC9eXFxzKiQvLCAgICAgICAgLy8gZW1wdHlcbiAgICAvWzw+XS8sICAgICAgICAgLy8gaHRtbCB0YWdcbiAgICAvXlt7fV0kLywgICAgICAgLy8gaTE4biBleHBhbnNpb25cbiAgICAvJigjfFthLXpdKS9pLCAgLy8gY2hhcmFjdGVyIHJlZmVyZW5jZSxcbiAgICAvXlxcL1xcLy8sICAgICAgICAvLyBjb21tZW50XG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0SW50ZXJwb2xhdGlvblN5bWJvbHMoaWRlbnRpZmllcjogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKGlzUHJlc2VudCh2YWx1ZSkgJiYgIShBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT0gMikpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCAnJHtpZGVudGlmaWVyfScgdG8gYmUgYW4gYXJyYXksIFtzdGFydCwgZW5kXS5gKTtcbiAgICB9IGVsc2UgaWYgKGlzRGV2TW9kZSgpICYmICFpc0JsYW5rKHZhbHVlKSkge1xuICAgICAgICBjb25zdCBzdGFydCA9IHZhbHVlWzBdIGFzIHN0cmluZztcbiAgICAgICAgY29uc3QgZW5kID0gdmFsdWVbMV0gYXMgc3RyaW5nO1xuICAgICAgICAvLyBibGFjayBsaXN0IGNoZWNraW5nXG4gICAgICAgIElOVEVSUE9MQVRJT05fQkxBQ0tMSVNUX1JFR0VYUFMuZm9yRWFjaChyZWdleHAgPT4ge1xuICAgICAgICAgICAgaWYgKHJlZ2V4cC50ZXN0KHN0YXJ0KSB8fCByZWdleHAudGVzdChlbmQpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBbJyR7c3RhcnR9JywgJyR7ZW5kfSddIGNvbnRhaW5zIHVudXNhYmxlIGludGVycG9sYXRpb24gc3ltYm9sLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59Il19
|