vsn 0.1.123 → 0.1.124

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.
Files changed (140) hide show
  1. package/demo/demo.html +4 -1
  2. package/demo/resources/xhr-animations.html +24 -0
  3. package/demo/resources/xhr-lazy.html +10 -1
  4. package/demo/silly-animations.html +12 -24
  5. package/demo/vsn.js +2 -2
  6. package/dist/AST/ArrayNode.js +70 -18
  7. package/dist/AST/ArrayNode.js.map +1 -1
  8. package/dist/AST/AssignmentNode.js +92 -35
  9. package/dist/AST/AssignmentNode.js.map +1 -1
  10. package/dist/AST/BlockNode.js +17 -1
  11. package/dist/AST/BlockNode.js.map +1 -1
  12. package/dist/AST/ClassNode.js +225 -87
  13. package/dist/AST/ClassNode.js.map +1 -1
  14. package/dist/AST/ElementAttributeNode.js +55 -29
  15. package/dist/AST/ElementAttributeNode.js.map +1 -1
  16. package/dist/AST/ElementStyleNode.js +48 -22
  17. package/dist/AST/ElementStyleNode.js.map +1 -1
  18. package/dist/AST/FunctionArgumentNode.js +57 -15
  19. package/dist/AST/FunctionArgumentNode.js.map +1 -1
  20. package/dist/AST/FunctionCallNode.js +120 -52
  21. package/dist/AST/FunctionCallNode.js.map +1 -1
  22. package/dist/AST/FunctionNode.js +57 -14
  23. package/dist/AST/FunctionNode.js.map +1 -1
  24. package/dist/AST/IfStatementNode.js +52 -12
  25. package/dist/AST/IfStatementNode.js.map +1 -1
  26. package/dist/AST/IndexNode.js +24 -3
  27. package/dist/AST/IndexNode.js.map +1 -1
  28. package/dist/AST/ModifierNode.js +1 -1
  29. package/dist/AST/ModifierNode.js.map +1 -1
  30. package/dist/AST/Node.d.ts +3 -2
  31. package/dist/AST/Node.js +132 -39
  32. package/dist/AST/Node.js.map +1 -1
  33. package/dist/AST/ObjectNode.js +17 -1
  34. package/dist/AST/ObjectNode.js.map +1 -1
  35. package/dist/AST/OnNode.js +23 -2
  36. package/dist/AST/OnNode.js.map +1 -1
  37. package/dist/AST/ScopeMemberNode.js +40 -16
  38. package/dist/AST/ScopeMemberNode.js.map +1 -1
  39. package/dist/AST/ScopeNodeAbstract.js +29 -8
  40. package/dist/AST/ScopeNodeAbstract.js.map +1 -1
  41. package/dist/AST/StringFormatNode.js +42 -5
  42. package/dist/AST/StringFormatNode.js.map +1 -1
  43. package/dist/AST/WASM/Function.js +20 -4
  44. package/dist/AST/WASM/Function.js.map +1 -1
  45. package/dist/AST/WASM.js +26 -10
  46. package/dist/AST/WASM.js.map +1 -1
  47. package/dist/AST/WithNode.js +81 -41
  48. package/dist/AST/WithNode.js.map +1 -1
  49. package/dist/AST.js +91 -37
  50. package/dist/AST.js.map +1 -1
  51. package/dist/Attribute.d.ts +3 -0
  52. package/dist/Attribute.js +43 -19
  53. package/dist/Attribute.js.map +1 -1
  54. package/dist/Bencmark.js +77 -20
  55. package/dist/Bencmark.js.map +1 -1
  56. package/dist/Component.js +49 -15
  57. package/dist/Component.js.map +1 -1
  58. package/dist/DOM/DOMObject.d.ts +6 -1
  59. package/dist/DOM/DOMObject.js +22 -1
  60. package/dist/DOM/DOMObject.js.map +1 -1
  61. package/dist/DOM.js +450 -193
  62. package/dist/DOM.js.map +1 -1
  63. package/dist/EventDispatcher.js +153 -39
  64. package/dist/EventDispatcher.js.map +1 -1
  65. package/dist/MessageList.js +37 -6
  66. package/dist/MessageList.js.map +1 -1
  67. package/dist/Model.js +27 -6
  68. package/dist/Model.js.map +1 -1
  69. package/dist/Modifiers.d.ts +17 -0
  70. package/dist/Modifiers.js +100 -0
  71. package/dist/Modifiers.js.map +1 -0
  72. package/dist/Scope/DynamicScopeData.js +38 -7
  73. package/dist/Scope/DynamicScopeData.js.map +1 -1
  74. package/dist/Scope/ScopeData.js +29 -8
  75. package/dist/Scope/ScopeData.js.map +1 -1
  76. package/dist/Scope/ScopeDataAbstract.js +103 -27
  77. package/dist/Scope/ScopeDataAbstract.js.map +1 -1
  78. package/dist/Scope/WrappedArray.js +112 -26
  79. package/dist/Scope/WrappedArray.js.map +1 -1
  80. package/dist/Scope/properties/ArrayProperty.js +17 -1
  81. package/dist/Scope/properties/ArrayProperty.js.map +1 -1
  82. package/dist/Scope/properties/Property.js +38 -7
  83. package/dist/Scope/properties/Property.js.map +1 -1
  84. package/dist/Scope.js +70 -13
  85. package/dist/Scope.js.map +1 -1
  86. package/dist/SimplePromise.js +71 -30
  87. package/dist/SimplePromise.js.map +1 -1
  88. package/dist/Tag/TagList.js +22 -1
  89. package/dist/Tag/TagList.js.map +1 -1
  90. package/dist/Tag.d.ts +5 -9
  91. package/dist/Tag.js +512 -195
  92. package/dist/Tag.js.map +1 -1
  93. package/dist/attributes/KeyAbstract.js +1 -1
  94. package/dist/attributes/KeyAbstract.js.map +1 -1
  95. package/dist/attributes/KeyDown.js +1 -1
  96. package/dist/attributes/KeyDown.js.map +1 -1
  97. package/dist/attributes/KeyUp.js +1 -1
  98. package/dist/attributes/KeyUp.js.map +1 -1
  99. package/dist/attributes/LazyAttribute.js +4 -2
  100. package/dist/attributes/LazyAttribute.js.map +1 -1
  101. package/dist/attributes/List.js +77 -30
  102. package/dist/attributes/List.js.map +1 -1
  103. package/dist/attributes/On.d.ts +1 -1
  104. package/dist/attributes/On.js +10 -10
  105. package/dist/attributes/On.js.map +1 -1
  106. package/dist/attributes/RootAttribute.js +29 -8
  107. package/dist/attributes/RootAttribute.js.map +1 -1
  108. package/dist/attributes/ScopeAttribute.js +30 -9
  109. package/dist/attributes/ScopeAttribute.js.map +1 -1
  110. package/dist/attributes/SetAttribute.js +32 -11
  111. package/dist/attributes/SetAttribute.js.map +1 -1
  112. package/dist/attributes/StyleAttribute.js +27 -6
  113. package/dist/attributes/StyleAttribute.js.map +1 -1
  114. package/dist/attributes/XHRAttribute.js +28 -7
  115. package/dist/attributes/XHRAttribute.js.map +1 -1
  116. package/dist/helpers/ElementHelper.js +25 -4
  117. package/dist/helpers/ElementHelper.js.map +1 -1
  118. package/dist/helpers/decorators.js +22 -1
  119. package/dist/helpers/decorators.js.map +1 -1
  120. package/dist/version.d.ts +1 -1
  121. package/dist/version.js +1 -1
  122. package/package.json +1 -1
  123. package/src/AST/FunctionNode.ts +2 -0
  124. package/src/AST/ModifierNode.ts +1 -1
  125. package/src/AST/Node.ts +10 -5
  126. package/src/AST/OnNode.ts +1 -1
  127. package/src/AST/ScopeNodeAbstract.ts +3 -3
  128. package/src/AST.ts +1 -1
  129. package/src/Attribute.ts +19 -8
  130. package/src/DOM/DOMObject.ts +4 -1
  131. package/src/Modifiers.ts +54 -0
  132. package/src/Tag.ts +66 -37
  133. package/src/attributes/KeyAbstract.ts +1 -1
  134. package/src/attributes/KeyDown.ts +1 -1
  135. package/src/attributes/KeyUp.ts +1 -1
  136. package/src/attributes/LazyAttribute.ts +6 -2
  137. package/src/attributes/On.ts +10 -9
  138. package/src/attributes/XHRAttribute.ts +2 -2
  139. package/src/version.ts +1 -1
  140. package/tsconfig.base.json +2 -1
package/dist/AST.js CHANGED
@@ -35,6 +35,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
37
  };
38
+ var __values = (this && this.__values) || function(o) {
39
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
40
+ if (m) return m.call(o);
41
+ if (o && typeof o.length === "number") return {
42
+ next: function () {
43
+ if (o && i >= o.length) o = void 0;
44
+ return { value: o && o[i++], done: !o };
45
+ }
46
+ };
47
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
+ };
38
49
  Object.defineProperty(exports, "__esModule", { value: true });
39
50
  exports.Tree = exports.AttributableNodes = exports.TokenType = exports.BlockType = void 0;
40
51
  var RootScopeMemberNode_1 = require("./AST/RootScopeMemberNode");
@@ -413,7 +424,7 @@ var TOKEN_PATTERNS = [
413
424
  },
414
425
  {
415
426
  type: TokenType.MODIFIER,
416
- pattern: /^\|\S+/
427
+ pattern: /^\|[a-zA-Z0-9,]+/
417
428
  }
418
429
  ];
419
430
  exports.AttributableNodes = [
@@ -483,36 +494,49 @@ var Tree = /** @class */ (function () {
483
494
  Tree.prototype.bindToScopeChanges = function (scope, fnc, dom, tag) {
484
495
  if (tag === void 0) { tag = null; }
485
496
  return __awaiter(this, void 0, void 0, function () {
486
- var _i, _a, node, _scope, name_1;
487
- return __generator(this, function (_b) {
488
- switch (_b.label) {
497
+ var _a, _b, node, _scope, name_1, e_1_1;
498
+ var e_1, _c;
499
+ return __generator(this, function (_d) {
500
+ switch (_d.label) {
489
501
  case 0:
490
- _i = 0, _a = this._root.findChildrenByTypes([RootScopeMemberNode_1.RootScopeMemberNode, ScopeMemberNode_1.ScopeMemberNode, ElementAttributeNode_1.ElementAttributeNode], 'ScopeMemberNodes');
491
- _b.label = 1;
502
+ _d.trys.push([0, 9, 10, 11]);
503
+ _a = __values(this._root.findChildrenByTypes([RootScopeMemberNode_1.RootScopeMemberNode, ScopeMemberNode_1.ScopeMemberNode, ElementAttributeNode_1.ElementAttributeNode], 'ScopeMemberNodes')), _b = _a.next();
504
+ _d.label = 1;
492
505
  case 1:
493
- if (!(_i < _a.length)) return [3 /*break*/, 8];
494
- node = _a[_i];
506
+ if (!!_b.done) return [3 /*break*/, 8];
507
+ node = _b.value;
495
508
  _scope = scope;
496
509
  if (!(node instanceof ScopeMemberNode_1.ScopeMemberNode)) return [3 /*break*/, 3];
497
510
  return [4 /*yield*/, node.scope.evaluate(scope, dom)];
498
511
  case 2:
499
- _scope = _b.sent();
512
+ _scope = _d.sent();
500
513
  return [3 /*break*/, 5];
501
514
  case 3:
502
515
  if (!(node instanceof ElementAttributeNode_1.ElementAttributeNode && node.elementRef)) return [3 /*break*/, 5];
503
516
  return [4 /*yield*/, node.elementRef.evaluate(scope, dom, tag)];
504
517
  case 4:
505
- _scope = (_b.sent())[0].scope;
506
- _b.label = 5;
518
+ _scope = (_d.sent())[0].scope;
519
+ _d.label = 5;
507
520
  case 5: return [4 /*yield*/, node.name.evaluate(scope, dom, tag)];
508
521
  case 6:
509
- name_1 = _b.sent();
522
+ name_1 = _d.sent();
510
523
  _scope.on("change:" + name_1, fnc);
511
- _b.label = 7;
524
+ _d.label = 7;
512
525
  case 7:
513
- _i++;
526
+ _b = _a.next();
514
527
  return [3 /*break*/, 1];
515
- case 8: return [2 /*return*/];
528
+ case 8: return [3 /*break*/, 11];
529
+ case 9:
530
+ e_1_1 = _d.sent();
531
+ e_1 = { error: e_1_1 };
532
+ return [3 /*break*/, 11];
533
+ case 10:
534
+ try {
535
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
536
+ }
537
+ finally { if (e_1) throw e_1.error; }
538
+ return [7 /*endfinally*/];
539
+ case 11: return [2 /*return*/];
516
540
  }
517
541
  });
518
542
  });
@@ -531,26 +555,36 @@ var Tree = /** @class */ (function () {
531
555
  }); });
532
556
  };
533
557
  Tree.tokenize = function (code) {
558
+ var e_2, _a;
534
559
  var tokens = [];
535
560
  if (!code || code.length === 0)
536
561
  return tokens;
537
562
  var foundToken;
538
563
  do {
539
564
  foundToken = false;
540
- for (var _i = 0, TOKEN_PATTERNS_1 = TOKEN_PATTERNS; _i < TOKEN_PATTERNS_1.length; _i++) {
541
- var tp = TOKEN_PATTERNS_1[_i];
542
- var match = tp.pattern.exec(code);
543
- if (match) {
544
- tokens.push({
545
- type: tp.type,
546
- value: match[match.length - 1],
547
- full: match[0],
548
- groups: match
549
- });
550
- code = code.substring(match[0].length);
551
- foundToken = true;
552
- break;
565
+ try {
566
+ for (var TOKEN_PATTERNS_1 = (e_2 = void 0, __values(TOKEN_PATTERNS)), TOKEN_PATTERNS_1_1 = TOKEN_PATTERNS_1.next(); !TOKEN_PATTERNS_1_1.done; TOKEN_PATTERNS_1_1 = TOKEN_PATTERNS_1.next()) {
567
+ var tp = TOKEN_PATTERNS_1_1.value;
568
+ var match = tp.pattern.exec(code);
569
+ if (match) {
570
+ tokens.push({
571
+ type: tp.type,
572
+ value: match[match.length - 1],
573
+ full: match[0],
574
+ groups: match
575
+ });
576
+ code = code.substring(match[0].length);
577
+ foundToken = true;
578
+ break;
579
+ }
580
+ }
581
+ }
582
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
583
+ finally {
584
+ try {
585
+ if (TOKEN_PATTERNS_1_1 && !TOKEN_PATTERNS_1_1.done && (_a = TOKEN_PATTERNS_1.return)) _a.call(TOKEN_PATTERNS_1);
553
586
  }
587
+ finally { if (e_2) throw e_2.error; }
554
588
  }
555
589
  } while (code.length > 0 && foundToken);
556
590
  return tokens;
@@ -565,6 +599,7 @@ var Tree = /** @class */ (function () {
565
599
  return tokens;
566
600
  };
567
601
  Tree.processTokens = function (tokens, _node, _lastBlock) {
602
+ var e_3, _a;
568
603
  if (_node === void 0) { _node = null; }
569
604
  if (_lastBlock === void 0) { _lastBlock = null; }
570
605
  var blockNodes = [];
@@ -678,9 +713,18 @@ var Tree = /** @class */ (function () {
678
713
  else if (tokens[0].type === TokenType.L_PAREN) {
679
714
  var funcArgs = Tree.getBlockTokens(tokens);
680
715
  var nodes = [];
681
- for (var _i = 0, funcArgs_1 = funcArgs; _i < funcArgs_1.length; _i++) {
682
- var arg = funcArgs_1[_i];
683
- nodes.push(Tree.processTokens(arg));
716
+ try {
717
+ for (var funcArgs_1 = (e_3 = void 0, __values(funcArgs)), funcArgs_1_1 = funcArgs_1.next(); !funcArgs_1_1.done; funcArgs_1_1 = funcArgs_1.next()) {
718
+ var arg = funcArgs_1_1.value;
719
+ nodes.push(Tree.processTokens(arg));
720
+ }
721
+ }
722
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
723
+ finally {
724
+ try {
725
+ if (funcArgs_1_1 && !funcArgs_1_1.done && (_a = funcArgs_1.return)) _a.call(funcArgs_1);
726
+ }
727
+ finally { if (e_3) throw e_3.error; }
684
728
  }
685
729
  if (node) {
686
730
  node = new FunctionCallNode_1.FunctionCallNode(node, // Previous node should be a NAME
@@ -905,15 +949,25 @@ var Tree = /** @class */ (function () {
905
949
  return statementTokens;
906
950
  };
907
951
  Tree.consumeTypes = function (tokens, types) {
952
+ var e_4, _a;
908
953
  var matching = [];
909
- for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {
910
- var token = tokens_1[_i];
911
- if (types.indexOf(token.type) > -1) {
912
- matching.push(token);
954
+ try {
955
+ for (var tokens_1 = __values(tokens), tokens_1_1 = tokens_1.next(); !tokens_1_1.done; tokens_1_1 = tokens_1.next()) {
956
+ var token = tokens_1_1.value;
957
+ if (types.indexOf(token.type) > -1) {
958
+ matching.push(token);
959
+ }
960
+ else {
961
+ break;
962
+ }
913
963
  }
914
- else {
915
- break;
964
+ }
965
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
966
+ finally {
967
+ try {
968
+ if (tokens_1_1 && !tokens_1_1.done && (_a = tokens_1.return)) _a.call(tokens_1);
916
969
  }
970
+ finally { if (e_4) throw e_4.error; }
917
971
  }
918
972
  tokens.splice(0, matching.length);
919
973
  return matching;
package/dist/AST.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"AST.js","sourceRoot":"","sources":["../src/AST.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AST.js","sourceRoot":"","sources":["../src/AST.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Tag } from "./Tag";
2
2
  import { EventDispatcher } from "./EventDispatcher";
3
+ import { Modifiers } from "./Modifiers";
3
4
  export declare enum AttributeState {
4
5
  Instantiated = 0,
5
6
  Deferred = 1,
@@ -14,6 +15,7 @@ export declare abstract class Attribute extends EventDispatcher {
14
15
  readonly attributeName: string;
15
16
  readonly slot?: Tag;
16
17
  protected _state: AttributeState;
18
+ readonly modifiers: Modifiers;
17
19
  static readonly scoped: boolean;
18
20
  static readonly canDefer: boolean;
19
21
  constructor(tag: Tag, attributeName: string, slot?: Tag);
@@ -29,6 +31,7 @@ export declare abstract class Attribute extends EventDispatcher {
29
31
  getAttributeValue(fallback?: any): any;
30
32
  getAttributeBinding(fallback?: any): string;
31
33
  getAttributeModifiers(fallback?: any): string[];
34
+ getAttributeModifierArguments(modifier: string, fallback?: string[]): string[];
32
35
  hasModifier(mod: string): boolean;
33
36
  mutate(mutation: MutationRecord): void;
34
37
  set value(value: string);
package/dist/Attribute.js CHANGED
@@ -50,9 +50,21 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
50
50
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
51
  }
52
52
  };
53
+ var __values = (this && this.__values) || function(o) {
54
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
55
+ if (m) return m.call(o);
56
+ if (o && typeof o.length === "number") return {
57
+ next: function () {
58
+ if (o && i >= o.length) o = void 0;
59
+ return { value: o && o[i++], done: !o };
60
+ }
61
+ };
62
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
63
+ };
53
64
  Object.defineProperty(exports, "__esModule", { value: true });
54
65
  exports.Attribute = exports.AttributeState = void 0;
55
66
  var EventDispatcher_1 = require("./EventDispatcher");
67
+ var Modifiers_1 = require("./Modifiers");
56
68
  var AttributeState;
57
69
  (function (AttributeState) {
58
70
  AttributeState[AttributeState["Instantiated"] = 0] = "Instantiated";
@@ -70,6 +82,7 @@ var Attribute = /** @class */ (function (_super) {
70
82
  _this.tag = tag;
71
83
  _this.attributeName = attributeName;
72
84
  _this.slot = slot;
85
+ _this.modifiers = Modifiers_1.Modifiers.fromAttribute(attributeName);
73
86
  _this.configure();
74
87
  return _this;
75
88
  }
@@ -103,7 +116,6 @@ var Attribute = /** @class */ (function (_super) {
103
116
  });
104
117
  });
105
118
  };
106
- ;
107
119
  Attribute.prototype.compile = function () {
108
120
  return __awaiter(this, void 0, void 0, function () {
109
121
  return __generator(this, function (_a) {
@@ -112,7 +124,6 @@ var Attribute = /** @class */ (function (_super) {
112
124
  });
113
125
  });
114
126
  };
115
- ;
116
127
  Attribute.prototype.setup = function () {
117
128
  return __awaiter(this, void 0, void 0, function () {
118
129
  return __generator(this, function (_a) {
@@ -121,7 +132,6 @@ var Attribute = /** @class */ (function (_super) {
121
132
  });
122
133
  });
123
134
  };
124
- ;
125
135
  Attribute.prototype.extract = function () {
126
136
  return __awaiter(this, void 0, void 0, function () {
127
137
  return __generator(this, function (_a) {
@@ -130,7 +140,6 @@ var Attribute = /** @class */ (function (_super) {
130
140
  });
131
141
  });
132
142
  };
133
- ;
134
143
  Attribute.prototype.connect = function () {
135
144
  return __awaiter(this, void 0, void 0, function () {
136
145
  return __generator(this, function (_a) {
@@ -147,7 +156,6 @@ var Attribute = /** @class */ (function (_super) {
147
156
  });
148
157
  });
149
158
  };
150
- ;
151
159
  Attribute.prototype.getAttributeValue = function (fallback) {
152
160
  if (fallback === void 0) { fallback = null; }
153
161
  return this.origin.getRawAttributeValue(this.attributeName, fallback);
@@ -158,11 +166,14 @@ var Attribute = /** @class */ (function (_super) {
158
166
  };
159
167
  Attribute.prototype.getAttributeModifiers = function (fallback) {
160
168
  if (fallback === void 0) { fallback = []; }
161
- var modifiers = this.origin.getAttributeModifiers(this.attributeName);
162
- return modifiers.length && modifiers || fallback;
169
+ return this.modifiers.length && this.modifiers.names || fallback;
170
+ };
171
+ Attribute.prototype.getAttributeModifierArguments = function (modifier, fallback) {
172
+ if (fallback === void 0) { fallback = []; }
173
+ return this.modifiers.has(modifier) ? this.modifiers.get(modifier).arguments : fallback;
163
174
  };
164
175
  Attribute.prototype.hasModifier = function (mod) {
165
- return this.getAttributeModifiers().indexOf(mod) > -1;
176
+ return this.modifiers.has(mod);
166
177
  };
167
178
  Attribute.prototype.mutate = function (mutation) { };
168
179
  Object.defineProperty(Attribute.prototype, "value", {
@@ -177,23 +188,36 @@ var Attribute = /** @class */ (function (_super) {
177
188
  });
178
189
  Attribute.prototype.apply = function (fnc) {
179
190
  return __awaiter(this, void 0, void 0, function () {
180
- var _i, _a, element;
181
- return __generator(this, function (_b) {
182
- switch (_b.label) {
191
+ var _a, _b, element, e_1_1;
192
+ var e_1, _c;
193
+ return __generator(this, function (_d) {
194
+ switch (_d.label) {
183
195
  case 0:
184
- _i = 0, _a = this.origin.delegates;
185
- _b.label = 1;
196
+ _d.trys.push([0, 5, 6, 7]);
197
+ _a = __values(this.origin.delegates), _b = _a.next();
198
+ _d.label = 1;
186
199
  case 1:
187
- if (!(_i < _a.length)) return [3 /*break*/, 4];
188
- element = _a[_i];
200
+ if (!!_b.done) return [3 /*break*/, 4];
201
+ element = _b.value;
189
202
  return [4 /*yield*/, fnc(element)];
190
203
  case 2:
191
- _b.sent();
192
- _b.label = 3;
204
+ _d.sent();
205
+ _d.label = 3;
193
206
  case 3:
194
- _i++;
207
+ _b = _a.next();
195
208
  return [3 /*break*/, 1];
196
- case 4: return [2 /*return*/];
209
+ case 4: return [3 /*break*/, 7];
210
+ case 5:
211
+ e_1_1 = _d.sent();
212
+ e_1 = { error: e_1_1 };
213
+ return [3 /*break*/, 7];
214
+ case 6:
215
+ try {
216
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
217
+ }
218
+ finally { if (e_1) throw e_1.error; }
219
+ return [7 /*endfinally*/];
220
+ case 7: return [2 /*return*/];
197
221
  }
198
222
  });
199
223
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Attribute.js","sourceRoot":"","sources":["../src/Attribute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Attribute.js","sourceRoot":"","sources":["../src/Attribute.ts"],"names":[],"mappings":"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"}
package/dist/Bencmark.js CHANGED
@@ -1,9 +1,36 @@
1
1
  "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
2
18
  var __spreadArray = (this && this.__spreadArray) || function (to, from) {
3
19
  for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
4
20
  to[j] = from[i];
5
21
  return to;
6
22
  };
23
+ var __values = (this && this.__values) || function(o) {
24
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
25
+ if (m) return m.call(o);
26
+ if (o && typeof o.length === "number") return {
27
+ next: function () {
28
+ if (o && i >= o.length) o = void 0;
29
+ return { value: o && o[i++], done: !o };
30
+ }
31
+ };
32
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
33
+ };
7
34
  Object.defineProperty(exports, "__esModule", { value: true });
8
35
  exports.benchmarkResultsAll = exports.benchmarkResultsMatch = exports.benchmarkResults = exports.benchmarkEnd = exports.benchmarkStart = exports.benchmark = exports.BENCHMARKS = void 0;
9
36
  var VisionHelper_1 = require("./helpers/VisionHelper");
@@ -14,7 +41,7 @@ function totags(tags) {
14
41
  return tags.map(function (tag) { return tag.toLowerCase(); });
15
42
  }
16
43
  function topath(name, tags) {
17
- tags = __spreadArray([], totags(tags));
44
+ tags = __spreadArray([], __read(totags(tags)));
18
45
  tags.sort();
19
46
  return tags.length && (name + "." + tags.join('.')).toLowerCase() || name && name.toLowerCase() || 'nopath';
20
47
  }
@@ -58,7 +85,7 @@ function benchmark(name, tags, print) {
58
85
  tags = totags(tags);
59
86
  if (target.__BENCHMARK_NAME__ || target.__BENCHMARK_TAGS__) {
60
87
  tags.push(name || key);
61
- tags.push.apply(tags, target.__BENCHMARK_TAGS__);
88
+ tags.push.apply(tags, __spreadArray([], __read(target.__BENCHMARK_TAGS__)));
62
89
  }
63
90
  var start = new Date();
64
91
  var result = method_1.apply(this, args);
@@ -99,18 +126,28 @@ function benchmarkEnd(name, tags, print) {
99
126
  }
100
127
  exports.benchmarkEnd = benchmarkEnd;
101
128
  function benchmarkResults(name, tags) {
129
+ var e_1, _a;
102
130
  if (tags === void 0) { tags = null; }
103
131
  if (VisionHelper_1.VisionHelper.doBenchmark) {
104
132
  var path = topath(name, tags);
105
133
  var calls = 0;
106
134
  var time = 0;
107
- for (var _i = 0, BENCHMARKS_1 = exports.BENCHMARKS; _i < BENCHMARKS_1.length; _i++) {
108
- var bm = BENCHMARKS_1[_i];
109
- if ((!tags && bm.name === name) || bm.path === path || !name && hasTags(bm.tags, tags)) {
110
- calls++;
111
- time += bm.time;
135
+ try {
136
+ for (var BENCHMARKS_1 = __values(exports.BENCHMARKS), BENCHMARKS_1_1 = BENCHMARKS_1.next(); !BENCHMARKS_1_1.done; BENCHMARKS_1_1 = BENCHMARKS_1.next()) {
137
+ var bm = BENCHMARKS_1_1.value;
138
+ if ((!tags && bm.name === name) || bm.path === path || !name && hasTags(bm.tags, tags)) {
139
+ calls++;
140
+ time += bm.time;
141
+ }
112
142
  }
113
143
  }
144
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
145
+ finally {
146
+ try {
147
+ if (BENCHMARKS_1_1 && !BENCHMARKS_1_1.done && (_a = BENCHMARKS_1.return)) _a.call(BENCHMARKS_1);
148
+ }
149
+ finally { if (e_1) throw e_1.error; }
150
+ }
114
151
  return {
115
152
  name: name,
116
153
  calls: calls,
@@ -121,17 +158,27 @@ function benchmarkResults(name, tags) {
121
158
  }
122
159
  exports.benchmarkResults = benchmarkResults;
123
160
  function benchmarkResultsMatch(regexp) {
161
+ var e_2, _a;
124
162
  if (VisionHelper_1.VisionHelper.doBenchmark) {
125
163
  var data = {};
126
164
  var calls = 0;
127
165
  var time = 0;
128
- for (var _i = 0, BENCHMARKS_2 = exports.BENCHMARKS; _i < BENCHMARKS_2.length; _i++) {
129
- var bm = BENCHMARKS_2[_i];
130
- if (regexp.test(bm.name) && !data[bm.name]) {
131
- data[bm.name] = benchmarkResults(bm.name);
132
- calls += data[bm.name].calls;
133
- time += data[bm.name].time;
166
+ try {
167
+ for (var BENCHMARKS_2 = __values(exports.BENCHMARKS), BENCHMARKS_2_1 = BENCHMARKS_2.next(); !BENCHMARKS_2_1.done; BENCHMARKS_2_1 = BENCHMARKS_2.next()) {
168
+ var bm = BENCHMARKS_2_1.value;
169
+ if (regexp.test(bm.name) && !data[bm.name]) {
170
+ data[bm.name] = benchmarkResults(bm.name);
171
+ calls += data[bm.name].calls;
172
+ time += data[bm.name].time;
173
+ }
174
+ }
175
+ }
176
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
177
+ finally {
178
+ try {
179
+ if (BENCHMARKS_2_1 && !BENCHMARKS_2_1.done && (_a = BENCHMARKS_2.return)) _a.call(BENCHMARKS_2);
134
180
  }
181
+ finally { if (e_2) throw e_2.error; }
135
182
  }
136
183
  data['ALL'] = {
137
184
  name: 'ALL',
@@ -144,18 +191,28 @@ function benchmarkResultsMatch(regexp) {
144
191
  }
145
192
  exports.benchmarkResultsMatch = benchmarkResultsMatch;
146
193
  function benchmarkResultsAll() {
194
+ var e_3, _a;
147
195
  if (VisionHelper_1.VisionHelper.doBenchmark) {
148
196
  var data = {};
149
197
  var calls = 0;
150
198
  var time = 0;
151
- for (var _i = 0, BENCHMARKS_3 = exports.BENCHMARKS; _i < BENCHMARKS_3.length; _i++) {
152
- var bm = BENCHMARKS_3[_i];
153
- if (!data[bm.name]) {
154
- var name_1 = bm.path ? bm.name + "." + bm.path : bm.name;
155
- data[name_1] = benchmarkResults(bm.name, bm.tags);
156
- calls += data[name_1].calls;
157
- time += data[name_1].time;
199
+ try {
200
+ for (var BENCHMARKS_3 = __values(exports.BENCHMARKS), BENCHMARKS_3_1 = BENCHMARKS_3.next(); !BENCHMARKS_3_1.done; BENCHMARKS_3_1 = BENCHMARKS_3.next()) {
201
+ var bm = BENCHMARKS_3_1.value;
202
+ if (!data[bm.name]) {
203
+ var name_1 = bm.path ? bm.name + "." + bm.path : bm.name;
204
+ data[name_1] = benchmarkResults(bm.name, bm.tags);
205
+ calls += data[name_1].calls;
206
+ time += data[name_1].time;
207
+ }
208
+ }
209
+ }
210
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
211
+ finally {
212
+ try {
213
+ if (BENCHMARKS_3_1 && !BENCHMARKS_3_1.done && (_a = BENCHMARKS_3.return)) _a.call(BENCHMARKS_3);
158
214
  }
215
+ finally { if (e_3) throw e_3.error; }
159
216
  }
160
217
  data['ALL'] = {
161
218
  name: 'ALL',