vsn 0.1.23 → 0.1.27

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 (172) hide show
  1. package/demo/demo.html +16 -7
  2. package/demo/vsn.js +1 -0
  3. package/dist/AST.d.ts +2 -1
  4. package/dist/AST.js +94 -4
  5. package/dist/AST.js.map +1 -1
  6. package/dist/Attribute.d.ts +1 -1
  7. package/dist/Attribute.js +3 -3
  8. package/dist/Attribute.js.map +1 -1
  9. package/dist/Configuration.d.ts +1 -1
  10. package/dist/Configuration.js +4 -4
  11. package/dist/Configuration.js.map +1 -1
  12. package/dist/Controller.d.ts +10 -5
  13. package/dist/Controller.js +21 -6
  14. package/dist/Controller.js.map +1 -1
  15. package/dist/DOM/DOMObject.d.ts +1 -1
  16. package/dist/DOM/DOMObject.js +2 -2
  17. package/dist/DOM/DOMObject.js.map +1 -1
  18. package/dist/DOM.d.ts +1 -1
  19. package/dist/DOM.js +4 -4
  20. package/dist/DOM.js.map +1 -1
  21. package/dist/EventDispatcher.d.ts +26 -0
  22. package/dist/EventDispatcher.js +117 -0
  23. package/dist/EventDispatcher.js.map +1 -0
  24. package/dist/Formats.js +2 -2
  25. package/dist/Formats.js.map +1 -1
  26. package/dist/MessageList.d.ts +14 -0
  27. package/dist/MessageList.js +88 -0
  28. package/dist/MessageList.js.map +1 -0
  29. package/dist/Model/Collection.d.ts +5 -0
  30. package/dist/Model/Collection.js +37 -0
  31. package/dist/Model/Collection.js.map +1 -0
  32. package/dist/Model/DataModel.d.ts +6 -0
  33. package/dist/Model/DataModel.js +54 -0
  34. package/dist/Model/DataModel.js.map +1 -0
  35. package/dist/Model/ModelAbstract.d.ts +20 -0
  36. package/dist/Model/ModelAbstract.js +122 -0
  37. package/dist/Model/ModelAbstract.js.map +1 -0
  38. package/dist/Model/fields/BooleanField.d.ts +5 -0
  39. package/dist/Model/fields/BooleanField.js +43 -0
  40. package/dist/Model/fields/BooleanField.js.map +1 -0
  41. package/dist/Model/fields/EmailField.d.ts +5 -0
  42. package/dist/Model/fields/EmailField.js +36 -0
  43. package/dist/Model/fields/EmailField.js.map +1 -0
  44. package/dist/Model/fields/Field.d.ts +13 -0
  45. package/dist/Model/fields/Field.js +79 -0
  46. package/dist/Model/fields/Field.js.map +1 -0
  47. package/dist/Model/fields/FloatField.d.ts +5 -0
  48. package/dist/Model/fields/FloatField.js +47 -0
  49. package/dist/Model/fields/FloatField.js.map +1 -0
  50. package/dist/Model/fields/PositiveNumberField.d.ts +5 -0
  51. package/dist/Model/fields/PositiveNumberField.js +51 -0
  52. package/dist/Model/fields/PositiveNumberField.js.map +1 -0
  53. package/dist/Model/fields/StringField.d.ts +5 -0
  54. package/dist/Model/fields/StringField.js +43 -0
  55. package/dist/Model/fields/StringField.js.map +1 -0
  56. package/dist/Model.d.ts +11 -0
  57. package/dist/Model.js +72 -0
  58. package/dist/Model.js.map +1 -0
  59. package/dist/Registry.d.ts +2 -2
  60. package/dist/Registry.js +6 -16
  61. package/dist/Registry.js.map +1 -1
  62. package/dist/Scope.d.ts +7 -10
  63. package/dist/Scope.js +40 -90
  64. package/dist/Scope.js.map +1 -1
  65. package/dist/SimplePromise.d.ts +42 -0
  66. package/dist/SimplePromise.js +217 -0
  67. package/dist/SimplePromise.js.map +1 -0
  68. package/dist/Tag.js +12 -6
  69. package/dist/Tag.js.map +1 -1
  70. package/dist/attributes/Bind.js +1 -1
  71. package/dist/attributes/Bind.js.map +1 -1
  72. package/dist/attributes/ClickRemoveClass.js +17 -5
  73. package/dist/attributes/ClickRemoveClass.js.map +1 -1
  74. package/dist/attributes/ClickToggleClass.js +17 -5
  75. package/dist/attributes/ClickToggleClass.js.map +1 -1
  76. package/dist/attributes/Exec.js +6 -0
  77. package/dist/attributes/Exec.js.map +1 -1
  78. package/dist/attributes/Format.js +3 -0
  79. package/dist/attributes/Format.js.map +1 -1
  80. package/dist/attributes/If.js +12 -0
  81. package/dist/attributes/If.js.map +1 -1
  82. package/dist/attributes/JSONAttribute.js +3 -0
  83. package/dist/attributes/JSONAttribute.js.map +1 -1
  84. package/dist/attributes/KeyAbstract.js +11 -4
  85. package/dist/attributes/KeyAbstract.js.map +1 -1
  86. package/dist/attributes/KeyDown.js +8 -2
  87. package/dist/attributes/KeyDown.js.map +1 -1
  88. package/dist/attributes/KeyUp.js +8 -2
  89. package/dist/attributes/KeyUp.js.map +1 -1
  90. package/dist/attributes/List.js +14 -5
  91. package/dist/attributes/List.js.map +1 -1
  92. package/dist/attributes/ListItem.js +3 -0
  93. package/dist/attributes/ListItem.js.map +1 -1
  94. package/dist/attributes/On.js +15 -3
  95. package/dist/attributes/On.js.map +1 -1
  96. package/dist/attributes/Radio.d.ts +2 -0
  97. package/dist/attributes/Radio.js +52 -5
  98. package/dist/attributes/Radio.js.map +1 -1
  99. package/dist/attributes/RootAttribute.js +8 -2
  100. package/dist/attributes/RootAttribute.js.map +1 -1
  101. package/dist/attributes/ScopeChange.js +7 -1
  102. package/dist/attributes/ScopeChange.js.map +1 -1
  103. package/dist/attributes/SetAttribute.js +3 -0
  104. package/dist/attributes/SetAttribute.js.map +1 -1
  105. package/dist/attributes/StandardAttribute.js +25 -7
  106. package/dist/attributes/StandardAttribute.js.map +1 -1
  107. package/dist/attributes/StyleAttribute.js +1 -1
  108. package/dist/attributes/StyleAttribute.js.map +1 -1
  109. package/dist/attributes/TypeAttribute.js +3 -0
  110. package/dist/attributes/TypeAttribute.js.map +1 -1
  111. package/dist/{Vision.d.ts → vsn.d.ts} +3 -1
  112. package/dist/{Vision.js → vsn.js} +10 -6
  113. package/dist/vsn.js.map +1 -0
  114. package/package.json +9 -13
  115. package/src/AST.ts +96 -5
  116. package/src/Attribute.ts +2 -2
  117. package/src/Configuration.ts +3 -3
  118. package/src/Controller.ts +16 -7
  119. package/src/DOM/DOMObject.ts +1 -1
  120. package/src/DOM.ts +4 -4
  121. package/src/EventDispatcher.ts +117 -0
  122. package/src/Formats.ts +2 -2
  123. package/src/MessageList.ts +81 -0
  124. package/src/Model/Collection.ts +13 -0
  125. package/src/Model/DataModel.ts +29 -0
  126. package/src/Model/ModelAbstract.ts +114 -0
  127. package/src/Model/fields/BooleanField.ts +16 -0
  128. package/src/Model/fields/EmailField.ts +12 -0
  129. package/src/Model/fields/Field.ts +65 -0
  130. package/src/Model/fields/FloatField.ts +22 -0
  131. package/src/Model/fields/PositiveNumberField.ts +24 -0
  132. package/src/Model/fields/StringField.ts +16 -0
  133. package/src/Model.ts +57 -0
  134. package/src/Registry.ts +3 -5
  135. package/src/Scope.ts +39 -90
  136. package/src/SimplePromise.ts +219 -0
  137. package/src/Tag.ts +12 -9
  138. package/src/attributes/Bind.ts +1 -1
  139. package/src/attributes/ClickRemoveClass.ts +2 -0
  140. package/src/attributes/ClickToggleClass.ts +2 -0
  141. package/src/attributes/Exec.ts +2 -0
  142. package/src/attributes/Format.ts +1 -0
  143. package/src/attributes/If.ts +4 -0
  144. package/src/attributes/JSONAttribute.ts +1 -0
  145. package/src/attributes/KeyAbstract.ts +2 -1
  146. package/src/attributes/KeyDown.ts +1 -0
  147. package/src/attributes/KeyUp.ts +1 -0
  148. package/src/attributes/List.ts +6 -3
  149. package/src/attributes/ListItem.ts +1 -0
  150. package/src/attributes/On.ts +4 -0
  151. package/src/attributes/Radio.ts +18 -3
  152. package/src/attributes/RootAttribute.ts +1 -0
  153. package/src/attributes/ScopeChange.ts +3 -1
  154. package/src/attributes/SetAttribute.ts +1 -0
  155. package/src/attributes/StandardAttribute.ts +4 -1
  156. package/src/attributes/StyleAttribute.ts +1 -1
  157. package/src/attributes/TypeAttribute.ts +1 -0
  158. package/src/{Vision.ts → vsn.ts} +4 -2
  159. package/test/AST.spec.ts +2 -1
  160. package/test/DOM.spec.ts +1 -1
  161. package/test/MessageList.spec.ts +101 -0
  162. package/test/Model/DataModel.spec.ts +141 -0
  163. package/test/Model.spec.ts +306 -0
  164. package/test/Scope.spec.ts +2 -2
  165. package/test/SimplePromise.spec.ts +271 -0
  166. package/test/attributes/Bind.spec.ts +5 -5
  167. package/test/attributes/JSONAttribute.spec.ts +1 -1
  168. package/test/attributes/ListItem.spec.ts +1 -1
  169. package/webpack.config.js +2 -2
  170. package/demo/vision.js +0 -1
  171. package/dist/Vision.js.map +0 -1
  172. package/main.py +0 -16
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.BooleanField = void 0;
19
+ var Field_1 = require("./Field");
20
+ var BooleanField = /** @class */ (function (_super) {
21
+ __extends(BooleanField, _super);
22
+ function BooleanField() {
23
+ return _super !== null && _super.apply(this, arguments) || this;
24
+ }
25
+ Object.defineProperty(BooleanField.prototype, "value", {
26
+ get: function () {
27
+ return this._value;
28
+ },
29
+ set: function (data) {
30
+ var oldValue = this.value;
31
+ this._value = !!data;
32
+ this.dispatch('change', {
33
+ oldValue: oldValue,
34
+ value: data
35
+ });
36
+ },
37
+ enumerable: false,
38
+ configurable: true
39
+ });
40
+ return BooleanField;
41
+ }(Field_1.Field));
42
+ exports.BooleanField = BooleanField;
43
+ //# sourceMappingURL=BooleanField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BooleanField.js","sourceRoot":"","sources":["../../../src/Model/fields/BooleanField.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,iCAAgC;AAEhC;IAAkC,gCAAK;IAAvC;;IAaA,CAAC;IAZG,sBAAI,+BAAK;aAST;YACI,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;aAXD,UAAU,IAAQ;YACd,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACpB,QAAQ,EAAC,QAAQ;gBACjB,KAAK,EAAC,IAAI;aACb,CAAC,CAAC;QACP,CAAC;;;OAAA;IAKL,mBAAC;AAAD,CAAC,AAbD,CAAkC,aAAK,GAatC;AAbY,oCAAY"}
@@ -0,0 +1,5 @@
1
+ import { Field } from "./Field";
2
+ export declare class EmailField extends Field {
3
+ _emailRegex: RegExp;
4
+ validate(): String[];
5
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.EmailField = void 0;
19
+ var Field_1 = require("./Field");
20
+ var EmailField = /** @class */ (function (_super) {
21
+ __extends(EmailField, _super);
22
+ function EmailField() {
23
+ var _this = _super !== null && _super.apply(this, arguments) || this;
24
+ _this._emailRegex = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
25
+ return _this;
26
+ }
27
+ EmailField.prototype.validate = function () {
28
+ _super.prototype.validate.call(this);
29
+ if (this._value != null && !this._emailRegex.test(this._value))
30
+ this._errors.push('Please enter a valid email address');
31
+ return this._errors;
32
+ };
33
+ return EmailField;
34
+ }(Field_1.Field));
35
+ exports.EmailField = EmailField;
36
+ //# sourceMappingURL=EmailField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailField.js","sourceRoot":"","sources":["../../../src/Model/fields/EmailField.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,iCAAgC;AAEhC;IAAgC,8BAAK;IAArC;QAAA,qEASC;QARG,iBAAW,GAAG,wHAAwH,CAAC;;IAQ3I,CAAC;IANG,6BAAQ,GAAR;QACI,iBAAM,QAAQ,WAAE,CAAC;QACjB,IAAG,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IACL,iBAAC;AAAD,CAAC,AATD,CAAgC,aAAK,GASpC;AATY,gCAAU"}
@@ -0,0 +1,13 @@
1
+ import { EventDispatcher } from "../../EventDispatcher";
2
+ export declare function field(fieldType?: typeof Field, config?: {} | null): (target: any, key: string) => void;
3
+ export declare class Field extends EventDispatcher {
4
+ model: any;
5
+ _value: any;
6
+ _errors: String[];
7
+ config: any;
8
+ constructor(model: any, value?: any, config?: Object);
9
+ set value(v: any);
10
+ get value(): any;
11
+ getData(): any;
12
+ validate(): String[];
13
+ }
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.Field = exports.field = void 0;
19
+ var EventDispatcher_1 = require("../../EventDispatcher");
20
+ function field(fieldType, config) {
21
+ if (fieldType === void 0) { fieldType = Field; }
22
+ if (config === void 0) { config = {}; }
23
+ return function (target, key) {
24
+ if (target.__fields__ == undefined) {
25
+ target.__fields__ = [];
26
+ }
27
+ // Abstract models share __fields__
28
+ if (target.__fields__.indexOf(key) == -1)
29
+ target.__fields__.push(key);
30
+ var getter = function () {
31
+ return [fieldType, config];
32
+ };
33
+ Object.defineProperty(target, '__' + key + '__', {
34
+ get: getter,
35
+ set: function (v) { },
36
+ enumerable: false,
37
+ configurable: true
38
+ });
39
+ };
40
+ }
41
+ exports.field = field;
42
+ var Field = /** @class */ (function (_super) {
43
+ __extends(Field, _super);
44
+ function Field(model, value, config) {
45
+ var _this = _super.call(this) || this;
46
+ _this.model = model;
47
+ _this.config = config;
48
+ _this.value = value;
49
+ _this._errors = [];
50
+ return _this;
51
+ }
52
+ Object.defineProperty(Field.prototype, "value", {
53
+ get: function () {
54
+ return this._value;
55
+ },
56
+ set: function (v) {
57
+ var oldValue = this._value;
58
+ this._value = v;
59
+ this.dispatch('change', {
60
+ oldValue: oldValue,
61
+ value: v
62
+ });
63
+ },
64
+ enumerable: false,
65
+ configurable: true
66
+ });
67
+ Field.prototype.getData = function () {
68
+ return this.value;
69
+ };
70
+ Field.prototype.validate = function () {
71
+ this._errors = [];
72
+ if (this.config['required'] == true && this._value == null)
73
+ this._errors.push('This field is required.');
74
+ return this._errors;
75
+ };
76
+ return Field;
77
+ }(EventDispatcher_1.EventDispatcher));
78
+ exports.Field = Field;
79
+ //# sourceMappingURL=Field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../src/Model/fields/Field.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,yDAAsD;AAEtD,SAAgB,KAAK,CAAC,SAAiB,EAAE,MAAsB;IAAzC,0BAAA,EAAA,iBAAiB;IAAE,uBAAA,EAAA,WAAsB;IAC3D,OAAO,UAAS,MAAW,EAAE,GAAW;QACpC,IAAG,MAAM,CAAC,UAAU,IAAI,SAAS,EAAE;YAC/B,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;SAC1B;QAED,mCAAmC;QACnC,IAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhC,IAAM,MAAM,GAAG;YACX,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,GAAC,GAAG,GAAC,IAAI,EAAE;YACzC,GAAG,EAAE,MAAM;YACX,GAAG,EAAE,UAAA,CAAC,IAAK,CAAC;YACZ,UAAU,EAAC,KAAK;YAChB,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC,CAAA;AACL,CAAC;AArBD,sBAqBC;AAED;IAA2B,yBAAe;IAMtC,eAAY,KAAS,EAAE,KAAU,EAAE,MAAe;QAAlD,YACI,iBAAO,SAKV;QAJG,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAI,CAAC,OAAO,GAAG,EAAE,CAAC;;IACtB,CAAC;IAED,sBAAI,wBAAK;aAST;YACI,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;aAXD,UAAU,CAAK;YACX,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACpB,QAAQ,EAAC,QAAQ;gBACjB,KAAK,EAAC,CAAC;aACV,CAAC,CAAC;QACP,CAAC;;;OAAA;IAMD,uBAAO,GAAP;QACI,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,wBAAQ,GAAR;QACI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAElB,IAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;YACrD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IACL,YAAC;AAAD,CAAC,AAvCD,CAA2B,iCAAe,GAuCzC;AAvCY,sBAAK"}
@@ -0,0 +1,5 @@
1
+ import { Field } from "./Field";
2
+ export declare class FloatField extends Field {
3
+ set value(data: any);
4
+ get value(): any;
5
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.FloatField = void 0;
19
+ var Field_1 = require("./Field");
20
+ var FloatField = /** @class */ (function (_super) {
21
+ __extends(FloatField, _super);
22
+ function FloatField() {
23
+ return _super !== null && _super.apply(this, arguments) || this;
24
+ }
25
+ Object.defineProperty(FloatField.prototype, "value", {
26
+ get: function () {
27
+ return this._value;
28
+ },
29
+ set: function (data) {
30
+ var oldValue = this.value;
31
+ if (typeof (data) == 'string')
32
+ data = parseFloat(data);
33
+ if (typeof (data) == "number" && this.config.toFixed)
34
+ data = parseFloat(data.toFixed(this.config.toFixed));
35
+ this._value = data;
36
+ this.dispatch('change', {
37
+ oldValue: oldValue,
38
+ value: data
39
+ });
40
+ },
41
+ enumerable: false,
42
+ configurable: true
43
+ });
44
+ return FloatField;
45
+ }(Field_1.Field));
46
+ exports.FloatField = FloatField;
47
+ //# sourceMappingURL=FloatField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatField.js","sourceRoot":"","sources":["../../../src/Model/fields/FloatField.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,iCAAgC;AAEhC;IAAgC,8BAAK;IAArC;;IAmBA,CAAC;IAlBG,sBAAI,6BAAK;aAeT;YACI,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;aAjBD,UAAU,IAAQ;YACd,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YAC5B,IAAG,OAAM,CAAC,IAAI,CAAC,IAAI,QAAQ;gBACnB,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAEhC,IAAG,OAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC9C,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAEzD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACpB,QAAQ,EAAC,QAAQ;gBACjB,KAAK,EAAC,IAAI;aACb,CAAC,CAAC;QACP,CAAC;;;OAAA;IAKL,iBAAC;AAAD,CAAC,AAnBD,CAAgC,aAAK,GAmBpC;AAnBY,gCAAU"}
@@ -0,0 +1,5 @@
1
+ import { Field } from "./Field";
2
+ export declare class PositiveIntegerField extends Field {
3
+ set value(data: any);
4
+ get value(): any;
5
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.PositiveIntegerField = void 0;
19
+ var Field_1 = require("./Field");
20
+ var PositiveIntegerField = /** @class */ (function (_super) {
21
+ __extends(PositiveIntegerField, _super);
22
+ function PositiveIntegerField() {
23
+ return _super !== null && _super.apply(this, arguments) || this;
24
+ }
25
+ Object.defineProperty(PositiveIntegerField.prototype, "value", {
26
+ get: function () {
27
+ return this._value;
28
+ },
29
+ set: function (data) {
30
+ var oldValue = this.value;
31
+ if (data == null) {
32
+ this._value = null;
33
+ return;
34
+ }
35
+ else if (typeof (data) == 'string')
36
+ data = parseInt(data);
37
+ if (data <= 0)
38
+ data = 0;
39
+ this._value = data;
40
+ this.dispatch('change', {
41
+ oldValue: oldValue,
42
+ value: data
43
+ });
44
+ },
45
+ enumerable: false,
46
+ configurable: true
47
+ });
48
+ return PositiveIntegerField;
49
+ }(Field_1.Field));
50
+ exports.PositiveIntegerField = PositiveIntegerField;
51
+ //# sourceMappingURL=PositiveNumberField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PositiveNumberField.js","sourceRoot":"","sources":["../../../src/Model/fields/PositiveNumberField.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,iCAAgC;AAEhC;IAA0C,wCAAK;IAA/C;;IAqBA,CAAC;IApBG,sBAAI,uCAAK;aAiBT;YACI,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;aAnBD,UAAU,IAAQ;YACd,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YAC5B,IAAG,IAAI,IAAI,IAAI,EAAE;gBACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,OAAO;aACV;iBAAM,IAAG,OAAM,CAAC,IAAI,CAAC,IAAI,QAAQ;gBAC1B,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9B,IAAG,IAAI,IAAI,CAAC;gBACR,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACpB,QAAQ,EAAC,QAAQ;gBACjB,KAAK,EAAC,IAAI;aACb,CAAC,CAAC;QACP,CAAC;;;OAAA;IAKL,2BAAC;AAAD,CAAC,AArBD,CAA0C,aAAK,GAqB9C;AArBY,oDAAoB"}
@@ -0,0 +1,5 @@
1
+ import { Field } from "./Field";
2
+ export declare class StringField extends Field {
3
+ set value(data: any);
4
+ get value(): any;
5
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.StringField = void 0;
19
+ var Field_1 = require("./Field");
20
+ var StringField = /** @class */ (function (_super) {
21
+ __extends(StringField, _super);
22
+ function StringField() {
23
+ return _super !== null && _super.apply(this, arguments) || this;
24
+ }
25
+ Object.defineProperty(StringField.prototype, "value", {
26
+ get: function () {
27
+ return this._value;
28
+ },
29
+ set: function (data) {
30
+ var oldValue = this.value;
31
+ this._value = '' + data;
32
+ this.dispatch('change', {
33
+ oldValue: oldValue,
34
+ value: data
35
+ });
36
+ },
37
+ enumerable: false,
38
+ configurable: true
39
+ });
40
+ return StringField;
41
+ }(Field_1.Field));
42
+ exports.StringField = StringField;
43
+ //# sourceMappingURL=StringField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringField.js","sourceRoot":"","sources":["../../../src/Model/fields/StringField.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,iCAAgC;AAEhC;IAAiC,+BAAK;IAAtC;;IAaA,CAAC;IAZG,sBAAI,8BAAK;aAST;YACI,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;aAXD,UAAU,IAAQ;YACd,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,EAAE,GAAC,IAAI,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACpB,QAAQ,EAAC,QAAQ;gBACjB,KAAK,EAAC,IAAI;aACb,CAAC,CAAC;QACP,CAAC;;;OAAA;IAKL,kBAAC;AAAD,CAAC,AAbD,CAAiC,aAAK,GAarC;AAbY,kCAAW"}
@@ -0,0 +1,11 @@
1
+ import { ModelAbstract, ModelData } from "./Model/ModelAbstract";
2
+ import MessageList from "./MessageList";
3
+ export declare class Model extends ModelAbstract {
4
+ _errors: MessageList;
5
+ _hasErrors: boolean;
6
+ constructor(data?: ModelData | null | undefined);
7
+ _constructor(): void;
8
+ validate(): MessageList;
9
+ hasErrors(): boolean;
10
+ get errors(): MessageList;
11
+ }
package/dist/Model.js ADDED
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.Model = void 0;
19
+ var ModelAbstract_1 = require("./Model/ModelAbstract");
20
+ var MessageList_1 = require("./MessageList");
21
+ var Model = /** @class */ (function (_super) {
22
+ __extends(Model, _super);
23
+ function Model(data) {
24
+ if (data === void 0) { data = null; }
25
+ var _this = _super.call(this) || this;
26
+ var fields = _this.__fields__.splice(0, _this.__fields__.length);
27
+ for (var _i = 0, fields_1 = fields; _i < fields_1.length; _i++) {
28
+ var field = fields_1[_i];
29
+ (function (_self, field) {
30
+ if (!_self['__' + field + '__'])
31
+ return;
32
+ _self.__fields__.push(field);
33
+ var _field = _self['__' + field + '__'], fieldType = _field[0], config = _field[1] || {};
34
+ _self.createField(field, fieldType, config);
35
+ })(_this, field);
36
+ }
37
+ _this._hasErrors = false;
38
+ if (data)
39
+ _this.setData(data);
40
+ _this._lastData = _this.getData();
41
+ _this._constructor();
42
+ return _this;
43
+ }
44
+ Model.prototype._constructor = function () { };
45
+ Model.prototype.validate = function () {
46
+ this._hasErrors = false;
47
+ this._errors = new MessageList_1.default;
48
+ for (var _i = 0, _a = this.getFields(); _i < _a.length; _i++) {
49
+ var field = _a[_i];
50
+ var errors = this['__' + field].validate();
51
+ if (errors.length > 0) {
52
+ this._errors.add(field, errors, true);
53
+ this._hasErrors = true;
54
+ }
55
+ }
56
+ return this._errors;
57
+ };
58
+ Model.prototype.hasErrors = function () {
59
+ this.validate();
60
+ return this._hasErrors;
61
+ };
62
+ Object.defineProperty(Model.prototype, "errors", {
63
+ get: function () {
64
+ return this._errors;
65
+ },
66
+ enumerable: false,
67
+ configurable: true
68
+ });
69
+ return Model;
70
+ }(ModelAbstract_1.ModelAbstract));
71
+ exports.Model = Model;
72
+ //# sourceMappingURL=Model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Model.js","sourceRoot":"","sources":["../src/Model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,uDAA+D;AAC/D,6CAAwC;AAGxC;IAA2B,yBAAa;IAIpC,eAAY,IAAyC;QAAzC,qBAAA,EAAA,WAAyC;QAArD,YACI,iBAAO,SAqBV;QApBG,IAAM,MAAM,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACjE,KAAmB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,EAAE;YAAvB,IAAM,KAAK,eAAA;YACX,CAAC,UAAS,KAAK,EAAE,KAAK;gBAClB,IAAG,CAAC,KAAK,CAAC,IAAI,GAAC,KAAK,GAAC,IAAI,CAAC;oBACtB,OAAO;gBAEX,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7B,IAAM,MAAM,GAAG,KAAK,CAAC,IAAI,GAAC,KAAK,GAAC,IAAI,CAAC,EACjC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,EACrB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAE7B,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC,KAAI,EAAE,KAAK,CAAC,CAAC;SACnB;QAED,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,IAAI;YACJ,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,EAAE,CAAC;QAChC,KAAI,CAAC,YAAY,EAAE,CAAC;;IACxB,CAAC;IAED,4BAAY,GAAZ,cAAgB,CAAC;IAEjB,wBAAQ,GAAR;QACI,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAW,CAAC;QAC/B,KAAmB,UAAgB,EAAhB,KAAA,IAAI,CAAC,SAAS,EAAE,EAAhB,cAAgB,EAAhB,IAAgB,EAAE;YAAjC,IAAM,KAAK,SAAA;YACX,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,GAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3C,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAC1B;SACJ;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,yBAAS,GAAT;QACI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,sBAAI,yBAAM;aAAV;YACI,OAAO,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;;;OAAA;IACL,YAAC;AAAD,CAAC,AAnDD,CAA2B,6BAAa,GAmDvC;AAnDY,sBAAK"}
@@ -1,5 +1,5 @@
1
- import { EventDispatcher } from "simple-ts-event-dispatcher";
2
- import { IPromise } from "simple-ts-promise";
1
+ import { EventDispatcher } from "./EventDispatcher";
2
+ import { IPromise } from "./SimplePromise";
3
3
  export declare function register(store: string, key?: string, setup?: () => void): (target: any, _key?: string) => void;
4
4
  export declare class RegistryStore extends EventDispatcher {
5
5
  private timeouts;
package/dist/Registry.js CHANGED
@@ -14,18 +14,11 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
- return c > 3 && r && Object.defineProperty(target, key, r), r;
22
- };
23
17
  Object.defineProperty(exports, "__esModule", { value: true });
24
18
  exports.Registry = exports.RegistryStore = exports.register = void 0;
25
- var simple_ts_event_dispatcher_1 = require("simple-ts-event-dispatcher");
26
- var simple_ts_promise_1 = require("simple-ts-promise");
27
19
  var VisionHelper_1 = require("./helpers/VisionHelper");
28
- var Bencmark_1 = require("./Bencmark");
20
+ var EventDispatcher_1 = require("./EventDispatcher");
21
+ var SimplePromise_1 = require("./SimplePromise");
29
22
  function register(store, key, setup) {
30
23
  if (key === void 0) { key = null; }
31
24
  if (setup === void 0) { setup = null; }
@@ -51,11 +44,11 @@ var RegistryStore = /** @class */ (function (_super) {
51
44
  }
52
45
  RegistryStore.prototype.register = function (key, item) {
53
46
  this.store[key] = item;
54
- this.trigger("registered:" + key, item);
47
+ this.dispatch("registered:" + key, item);
55
48
  };
56
49
  RegistryStore.prototype.get = function (key) {
57
50
  var _this = this;
58
- var deferred = simple_ts_promise_1.Promise.defer();
51
+ var deferred = SimplePromise_1.SimplePromise.defer();
59
52
  if (!!this.store[key]) {
60
53
  deferred.resolve(this.store[key]);
61
54
  }
@@ -74,11 +67,8 @@ var RegistryStore = /** @class */ (function (_super) {
74
67
  RegistryStore.prototype.getSynchronous = function (key) {
75
68
  return this.store[key];
76
69
  };
77
- __decorate([
78
- Bencmark_1.benchmark('RegistryStore.get')
79
- ], RegistryStore.prototype, "get", null);
80
70
  return RegistryStore;
81
- }(simple_ts_event_dispatcher_1.EventDispatcher));
71
+ }(EventDispatcher_1.EventDispatcher));
82
72
  exports.RegistryStore = RegistryStore;
83
73
  var Registry = /** @class */ (function (_super) {
84
74
  __extends(Registry, _super);
@@ -133,6 +123,6 @@ var Registry = /** @class */ (function (_super) {
133
123
  configurable: true
134
124
  });
135
125
  return Registry;
136
- }(simple_ts_event_dispatcher_1.EventDispatcher));
126
+ }(EventDispatcher_1.EventDispatcher));
137
127
  exports.Registry = Registry;
138
128
  //# sourceMappingURL=Registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Registry.js","sourceRoot":"","sources":["../src/Registry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAA2D;AAC3D,uDAAgF;AAChF,uDAAoD;AACpD,uCAAqC;AAErC,SAAgB,QAAQ,CAAC,KAAa,EAAE,GAAkB,EAAE,KAAwB;IAA5C,oBAAA,EAAA,UAAkB;IAAE,sBAAA,EAAA,YAAwB;IAChF,OAAO,UAAS,MAAW,EAAE,IAAmB;QAAnB,qBAAA,EAAA,WAAmB;QAC5C,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;QAC/C,IAAI,IAAI,KAAK,IAAI;YACb,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,KAAK;YACL,KAAK,EAAE,CAAC;IAChB,CAAC,CAAA;AACL,CAAC;AATD,4BASC;AAED;IAAmC,iCAAe;IAI9C,uBAAY,QAAe;QAAf,yBAAA,EAAA,eAAe;QAA3B,YACI,iBAAO,SAEV;QANO,cAAQ,GAAG,EAAE,CAAC;QAKlB,KAAI,CAAC,KAAK,GAAG,QAAQ,IAAI,EAAE,CAAC;;IAChC,CAAC;IAED,gCAAQ,GAAR,UAAS,GAAW,EAAE,IAAS;QAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,gBAAc,GAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAGD,2BAAG,GAAH,UAAI,GAAW;QADf,iBAkBC;QAhBG,IAAM,QAAQ,GAAmB,2BAAa,CAAC,KAAK,EAAE,CAAC;QAEvD,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACnB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;SACrC;aAAM;YACH,OAAO,CAAC,IAAI,CAAC,iBAAe,GAAG,uBAAoB,CAAC,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,gEAA8D,GAAG,wCAAqC,CAAC,CAAC;YACzH,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,gBAAc,GAAK,EAAE,UAAC,GAAG;gBAC/B,YAAY,CAAC,KAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAA;SACL;QAED,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED,sCAAc,GAAd,UAAe,GAAW;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IArBD;QADC,oBAAS,CAAC,mBAAmB,CAAC;4CAkB9B;IAKL,oBAAC;CAAA,AArCD,CAAmC,4CAAe,GAqCjD;AArCY,sCAAa;AAuC1B;IAA8B,4BAAe;IASzC;QAAA,YACI,iBAAO,SASV;QAPG,IAAM,CAAC,GAAG,2BAAY,CAAC,MAAM,IAAI,EAAE,CAAC;QACpC,KAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,KAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,KAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,KAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,KAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,KAAI,CAAC,UAAU,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;;IAChE,CAAC;IAEa,cAAK,GAAnB,UAAoB,GAAkB,EAAE,KAAY;QAAhC,oBAAA,EAAA,UAAkB;QAAE,sBAAA,EAAA,YAAY;QAChD,OAAO,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAEa,cAAK,GAAnB,UAAoB,GAAkB,EAAE,KAAY;QAAhC,oBAAA,EAAA,UAAkB;QAAE,sBAAA,EAAA,YAAY;QAChD,OAAO,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAEa,iBAAQ,GAAtB,UAAuB,GAAkB,EAAE,KAAY;QAAhC,oBAAA,EAAA,UAAkB;QAAE,sBAAA,EAAA,YAAY;QACnD,OAAO,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEa,aAAI,GAAlB,UAAmB,GAAkB,EAAE,KAAY;QAAhC,oBAAA,EAAA,UAAkB;QAAE,sBAAA,EAAA,YAAY;QAC/C,OAAO,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAEa,eAAM,GAApB,UAAqB,GAAkB,EAAE,KAAY;QAAhC,oBAAA,EAAA,UAAkB;QAAE,sBAAA,EAAA,YAAY;QACjD,OAAO,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAEa,kBAAS,GAAvB,UAAwB,aAA4B,EAAE,KAAY;QAA1C,8BAAA,EAAA,oBAA4B;QAAE,sBAAA,EAAA,YAAY;QAC9D,OAAO,QAAQ,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,sBAAkB,oBAAQ;aAA1B;YACI,IAAI,CAAC,QAAQ,CAAC,SAAS;gBACnB,QAAQ,CAAC,SAAS,GAAG,IAAI,QAAQ,EAAE,CAAC;YAExC,OAAO,QAAQ,CAAC,SAAS,CAAC;QAC9B,CAAC;;;OAAA;IACL,eAAC;AAAD,CAAC,AAnDD,CAA8B,4CAAe,GAmD5C;AAnDY,4BAAQ"}
1
+ {"version":3,"file":"Registry.js","sourceRoot":"","sources":["../src/Registry.ts"],"names":[],"mappings":"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"}
package/dist/Scope.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { DataModel } from "simple-ts-models";
2
- import { EventCallback, EventDispatcher, EventDispatcherCallback } from "simple-ts-event-dispatcher";
1
+ import { EventDispatcher, EventDispatcherCallback } from "./EventDispatcher";
2
+ import { DataModel } from "./Model/DataModel";
3
3
  export declare class ScopeReference {
4
4
  private _scope;
5
5
  private _key;
@@ -24,22 +24,19 @@ export declare class ScopeVariableType {
24
24
  static readonly String: string;
25
25
  }
26
26
  export declare class WrappedArray<T> extends Array<T> {
27
- private _listeners;
28
- private _lastKey;
27
+ private dispatcher;
29
28
  readonly $wrapped: boolean;
30
29
  constructor(...items: T[]);
30
+ dispatch(event: string, ...args: any[]): void;
31
+ on(event: string, callback: EventDispatcherCallback): void;
32
+ off(event: string, key?: number): void;
33
+ once(event: string, callback: EventDispatcherCallback): void;
31
34
  push(...items: T[]): number;
32
35
  splice(start: number, deleteCount?: number): T[];
33
36
  get(key: string): any;
34
37
  get length(): number;
35
38
  set length(num: number);
36
39
  setLength(num: number): void;
37
- bind(event: string, fct: EventDispatcherCallback, context?: any, once?: boolean): number;
38
- once(event: string, fct: EventDispatcherCallback, context?: any): number;
39
- unbind(event: string, key?: number): boolean;
40
- unbindWithContext(event: string, context: any): number;
41
- getListener(event: string, key: number): EventCallback | undefined;
42
- trigger(event: string, ...args: any[]): void;
43
40
  }
44
41
  export declare class Scope extends EventDispatcher {
45
42
  wrapped: any;