vsn 0.1.26 → 0.1.29

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 (303) hide show
  1. package/demo/vsn.js +1 -1
  2. package/dist/AST/ArithmeticAssignmentNode.d.ts +23 -0
  3. package/dist/AST/ArithmeticAssignmentNode.js +313 -0
  4. package/dist/AST/ArithmeticAssignmentNode.js.map +1 -0
  5. package/dist/AST/ArithmeticNode.d.ts +15 -0
  6. package/dist/AST/ArithmeticNode.js +114 -0
  7. package/dist/AST/ArithmeticNode.js.map +1 -0
  8. package/dist/AST/ArrayNode.d.ts +14 -0
  9. package/dist/AST/ArrayNode.js +114 -0
  10. package/dist/AST/ArrayNode.js.map +1 -0
  11. package/dist/AST/BlockNode.d.ts +11 -0
  12. package/dist/AST/BlockNode.js +98 -0
  13. package/dist/AST/BlockNode.js.map +1 -0
  14. package/dist/AST/BooleanLiteralNode.d.ts +5 -0
  15. package/dist/AST/BooleanLiteralNode.js +31 -0
  16. package/dist/AST/BooleanLiteralNode.js.map +1 -0
  17. package/dist/AST/ComparisonNode.d.ts +15 -0
  18. package/dist/AST/ComparisonNode.js +120 -0
  19. package/dist/AST/ComparisonNode.js.map +1 -0
  20. package/dist/AST/ConditionalNode.d.ts +13 -0
  21. package/dist/AST/ConditionalNode.js +95 -0
  22. package/dist/AST/ConditionalNode.js.map +1 -0
  23. package/dist/AST/ElementAttributeNode.d.ts +18 -0
  24. package/dist/AST/ElementAttributeNode.js +159 -0
  25. package/dist/AST/ElementAttributeNode.js.map +1 -0
  26. package/dist/AST/ElementQueryNode.d.ts +12 -0
  27. package/dist/AST/ElementQueryNode.js +111 -0
  28. package/dist/AST/ElementQueryNode.js.map +1 -0
  29. package/dist/AST/ElementStyleNode.d.ts +18 -0
  30. package/dist/AST/ElementStyleNode.js +159 -0
  31. package/dist/AST/ElementStyleNode.js.map +1 -0
  32. package/dist/AST/ForStatementNode.d.ts +17 -0
  33. package/dist/AST/ForStatementNode.js +121 -0
  34. package/dist/AST/ForStatementNode.js.map +1 -0
  35. package/dist/AST/FunctionArgumentNode.d.ts +11 -0
  36. package/dist/AST/FunctionArgumentNode.js +100 -0
  37. package/dist/AST/FunctionArgumentNode.js.map +1 -0
  38. package/dist/AST/FunctionCallNode.d.ts +13 -0
  39. package/dist/AST/FunctionCallNode.js +102 -0
  40. package/dist/AST/FunctionCallNode.js.map +1 -0
  41. package/dist/AST/IfStatementNode.d.ts +14 -0
  42. package/dist/AST/IfStatementNode.js +128 -0
  43. package/dist/AST/IfStatementNode.js.map +1 -0
  44. package/dist/AST/InNode.d.ts +15 -0
  45. package/dist/AST/InNode.js +107 -0
  46. package/dist/AST/InNode.js.map +1 -0
  47. package/dist/AST/IndexNode.d.ts +16 -0
  48. package/dist/AST/IndexNode.js +126 -0
  49. package/dist/AST/IndexNode.js.map +1 -0
  50. package/dist/AST/LiteralNode.d.ts +10 -0
  51. package/dist/AST/LiteralNode.js +74 -0
  52. package/dist/AST/LiteralNode.js.map +1 -0
  53. package/dist/AST/Node.d.ts +19 -0
  54. package/dist/AST/Node.js +117 -0
  55. package/dist/AST/Node.js.map +1 -0
  56. package/dist/AST/NotNode.d.ts +12 -0
  57. package/dist/AST/NotNode.js +103 -0
  58. package/dist/AST/NotNode.js.map +1 -0
  59. package/dist/AST/NumberLiteralNode.d.ts +5 -0
  60. package/dist/AST/NumberLiteralNode.js +36 -0
  61. package/dist/AST/NumberLiteralNode.js.map +1 -0
  62. package/dist/AST/ObjectNode.d.ts +14 -0
  63. package/dist/AST/ObjectNode.js +131 -0
  64. package/dist/AST/ObjectNode.js.map +1 -0
  65. package/dist/AST/RootScopeMemberNode.d.ts +11 -0
  66. package/dist/AST/RootScopeMemberNode.js +87 -0
  67. package/dist/AST/RootScopeMemberNode.js.map +1 -0
  68. package/dist/AST/ScopeMemberNode.d.ts +12 -0
  69. package/dist/AST/ScopeMemberNode.js +128 -0
  70. package/dist/AST/ScopeMemberNode.js.map +1 -0
  71. package/dist/AST/UnitLiteralNode.d.ts +15 -0
  72. package/dist/AST/UnitLiteralNode.js +72 -0
  73. package/dist/AST/UnitLiteralNode.js.map +1 -0
  74. package/dist/AST.d.ts +7 -60
  75. package/dist/AST.js +778 -0
  76. package/dist/AST.js.map +1 -0
  77. package/dist/Attribute.d.ts +1 -1
  78. package/dist/Attribute.js +187 -0
  79. package/dist/Attribute.js.map +1 -0
  80. package/dist/Bencmark.js +179 -0
  81. package/dist/Bencmark.js.map +1 -0
  82. package/dist/Configuration.d.ts +1 -1
  83. package/dist/Configuration.js +64 -0
  84. package/dist/Configuration.js.map +1 -0
  85. package/dist/Controller.d.ts +4 -2
  86. package/dist/Controller.js +62 -0
  87. package/dist/Controller.js.map +1 -0
  88. package/dist/DOM/DOMObject.d.ts +1 -1
  89. package/dist/DOM/DOMObject.js +47 -0
  90. package/dist/DOM/DOMObject.js.map +1 -0
  91. package/dist/DOM/WrappedDocument.js +34 -0
  92. package/dist/DOM/WrappedDocument.js.map +1 -0
  93. package/dist/DOM/WrappedWindow.js +45 -0
  94. package/dist/DOM/WrappedWindow.js.map +1 -0
  95. package/dist/DOM.d.ts +1 -1
  96. package/dist/DOM.js +547 -0
  97. package/dist/DOM.js.map +1 -0
  98. package/dist/EventDispatcher.d.ts +29 -0
  99. package/dist/EventDispatcher.js +132 -0
  100. package/dist/EventDispatcher.js.map +1 -0
  101. package/dist/Formats.js +44 -0
  102. package/dist/Formats.js.map +1 -0
  103. package/dist/MessageList.d.ts +15 -0
  104. package/dist/MessageList.js +96 -0
  105. package/dist/MessageList.js.map +1 -0
  106. package/dist/Model/Field.d.ts +8 -0
  107. package/dist/Model/Field.js +38 -0
  108. package/dist/Model/Field.js.map +1 -0
  109. package/dist/Model.d.ts +12 -0
  110. package/dist/Model.js +61 -0
  111. package/dist/Model.js.map +1 -0
  112. package/dist/Query.js +66 -0
  113. package/dist/Query.js.map +1 -0
  114. package/dist/Registry.d.ts +5 -2
  115. package/dist/Registry.js +139 -0
  116. package/dist/Registry.js.map +1 -0
  117. package/dist/Scope/DynamicScopeData.d.ts +6 -0
  118. package/dist/Scope/DynamicScopeData.js +54 -0
  119. package/dist/Scope/DynamicScopeData.js.map +1 -0
  120. package/dist/Scope/QueryReference.d.ts +10 -0
  121. package/dist/Scope/QueryReference.js +103 -0
  122. package/dist/Scope/QueryReference.js.map +1 -0
  123. package/dist/Scope/ScopeData.d.ts +4 -0
  124. package/dist/Scope/ScopeData.js +40 -0
  125. package/dist/Scope/ScopeData.js.map +1 -0
  126. package/dist/Scope/ScopeDataAbstract.d.ts +22 -0
  127. package/dist/Scope/ScopeDataAbstract.js +137 -0
  128. package/dist/Scope/ScopeDataAbstract.js.map +1 -0
  129. package/dist/Scope/ScopeReference.d.ts +10 -0
  130. package/dist/Scope/ScopeReference.js +73 -0
  131. package/dist/Scope/ScopeReference.js.map +1 -0
  132. package/dist/Scope/ScopedVariableType.d.ts +6 -0
  133. package/dist/Scope/ScopedVariableType.js +14 -0
  134. package/dist/Scope/ScopedVariableType.js.map +1 -0
  135. package/dist/Scope/WrappedArray.d.ts +16 -0
  136. package/dist/Scope/WrappedArray.js +121 -0
  137. package/dist/Scope/WrappedArray.js.map +1 -0
  138. package/dist/Scope/properties/Property.d.ts +18 -0
  139. package/dist/Scope/properties/Property.js +93 -0
  140. package/dist/Scope/properties/Property.js.map +1 -0
  141. package/dist/Scope.d.ts +4 -48
  142. package/dist/Scope.js +227 -0
  143. package/dist/Scope.js.map +1 -0
  144. package/dist/SimplePromise.d.ts +42 -0
  145. package/dist/SimplePromise.js +217 -0
  146. package/dist/SimplePromise.js.map +1 -0
  147. package/dist/Tag/List.js +85 -0
  148. package/dist/Tag/List.js.map +1 -0
  149. package/dist/Tag.js +770 -0
  150. package/dist/Tag.js.map +1 -0
  151. package/dist/Types.d.ts +1 -0
  152. package/dist/Types.js +54 -0
  153. package/dist/Types.js.map +1 -0
  154. package/dist/Validators.d.ts +7 -0
  155. package/dist/Validators.js +54 -0
  156. package/dist/Validators.js.map +1 -0
  157. package/dist/attributes/AddClassIf.js +93 -0
  158. package/dist/attributes/AddClassIf.js.map +1 -0
  159. package/dist/attributes/Bind.js +272 -0
  160. package/dist/attributes/Bind.js.map +1 -0
  161. package/dist/attributes/ClassConstructor.d.ts +1 -0
  162. package/dist/attributes/ClassConstructor.js +104 -0
  163. package/dist/attributes/ClassConstructor.js.map +1 -0
  164. package/dist/attributes/ClickRemoveClass.js +114 -0
  165. package/dist/attributes/ClickRemoveClass.js.map +1 -0
  166. package/dist/attributes/ClickToggleClass.js +114 -0
  167. package/dist/attributes/ClickToggleClass.js.map +1 -0
  168. package/dist/attributes/ControllerAttribute.js +28 -0
  169. package/dist/attributes/ControllerAttribute.js.map +1 -0
  170. package/dist/attributes/DisableIf.js +94 -0
  171. package/dist/attributes/DisableIf.js.map +1 -0
  172. package/dist/attributes/Exec.js +108 -0
  173. package/dist/attributes/Exec.js.map +1 -0
  174. package/dist/attributes/Format.js +99 -0
  175. package/dist/attributes/Format.js.map +1 -0
  176. package/dist/attributes/If.js +159 -0
  177. package/dist/attributes/If.js.map +1 -0
  178. package/dist/attributes/JSONAttribute.js +118 -0
  179. package/dist/attributes/JSONAttribute.js.map +1 -0
  180. package/dist/attributes/KeyAbstract.js +117 -0
  181. package/dist/attributes/KeyAbstract.js.map +1 -0
  182. package/dist/attributes/KeyDown.js +88 -0
  183. package/dist/attributes/KeyDown.js.map +1 -0
  184. package/dist/attributes/KeyUp.js +88 -0
  185. package/dist/attributes/KeyUp.js.map +1 -0
  186. package/dist/attributes/List.js +282 -0
  187. package/dist/attributes/List.js.map +1 -0
  188. package/dist/attributes/ListItem.js +138 -0
  189. package/dist/attributes/ListItem.js.map +1 -0
  190. package/dist/attributes/ListItemModel.js +39 -0
  191. package/dist/attributes/ListItemModel.js.map +1 -0
  192. package/dist/attributes/ModelAttribute.js +29 -0
  193. package/dist/attributes/ModelAttribute.js.map +1 -0
  194. package/dist/attributes/Name.js +88 -0
  195. package/dist/attributes/Name.js.map +1 -0
  196. package/dist/attributes/On.js +135 -0
  197. package/dist/attributes/On.js.map +1 -0
  198. package/dist/attributes/Radio.js +174 -0
  199. package/dist/attributes/Radio.js.map +1 -0
  200. package/dist/attributes/Referenced.js +38 -0
  201. package/dist/attributes/Referenced.js.map +1 -0
  202. package/dist/attributes/RootAttribute.js +91 -0
  203. package/dist/attributes/RootAttribute.js.map +1 -0
  204. package/dist/attributes/ScopeAttribute.js +40 -0
  205. package/dist/attributes/ScopeAttribute.js.map +1 -0
  206. package/dist/attributes/ScopeChange.js +130 -0
  207. package/dist/attributes/ScopeChange.js.map +1 -0
  208. package/dist/attributes/SetAttribute.js +133 -0
  209. package/dist/attributes/SetAttribute.js.map +1 -0
  210. package/dist/attributes/StandardAttribute.js +186 -0
  211. package/dist/attributes/StandardAttribute.js.map +1 -0
  212. package/dist/attributes/StyleAttribute.js +183 -0
  213. package/dist/attributes/StyleAttribute.js.map +1 -0
  214. package/dist/attributes/Template.js +39 -0
  215. package/dist/attributes/Template.js.map +1 -0
  216. package/dist/attributes/TypeAttribute.js +104 -0
  217. package/dist/attributes/TypeAttribute.js.map +1 -0
  218. package/dist/attributes/_imports.js +60 -0
  219. package/dist/attributes/_imports.js.map +1 -0
  220. package/dist/helpers/DOMHelper.js +81 -0
  221. package/dist/helpers/DOMHelper.js.map +1 -0
  222. package/dist/helpers/ElementHelper.js +25 -0
  223. package/dist/helpers/ElementHelper.js.map +1 -0
  224. package/dist/helpers/VisionHelper.js +71 -0
  225. package/dist/helpers/VisionHelper.js.map +1 -0
  226. package/dist/helpers/decorators.js +38 -0
  227. package/dist/helpers/decorators.js.map +1 -0
  228. package/dist/vsn.d.ts +11 -2
  229. package/dist/vsn.js +181 -0
  230. package/dist/vsn.js.map +1 -0
  231. package/package.json +2 -6
  232. package/src/AST/ArithmeticAssignmentNode.ts +236 -0
  233. package/src/AST/ArithmeticNode.ts +52 -0
  234. package/src/AST/ArrayNode.ts +39 -0
  235. package/src/AST/BlockNode.ts +25 -0
  236. package/src/AST/BooleanLiteralNode.ts +10 -0
  237. package/src/AST/ComparisonNode.ts +57 -0
  238. package/src/AST/ConditionalNode.ts +36 -0
  239. package/src/AST/ElementAttributeNode.ts +63 -0
  240. package/src/AST/ElementQueryNode.ts +25 -0
  241. package/src/AST/ElementStyleNode.ts +63 -0
  242. package/src/AST/ForStatementNode.ts +59 -0
  243. package/src/AST/FunctionArgumentNode.ts +27 -0
  244. package/src/AST/FunctionCallNode.ts +32 -0
  245. package/src/AST/IfStatementNode.ts +67 -0
  246. package/src/AST/InNode.ts +46 -0
  247. package/src/AST/IndexNode.ts +61 -0
  248. package/src/AST/LiteralNode.ts +17 -0
  249. package/src/AST/Node.ts +71 -0
  250. package/src/AST/NotNode.ts +41 -0
  251. package/src/AST/NumberLiteralNode.ts +14 -0
  252. package/src/AST/ObjectNode.ts +55 -0
  253. package/src/AST/RootScopeMemberNode.ts +25 -0
  254. package/src/AST/ScopeMemberNode.ts +53 -0
  255. package/src/AST/UnitLiteralNode.ts +51 -0
  256. package/src/AST.ts +34 -1094
  257. package/src/Attribute.ts +2 -2
  258. package/src/Configuration.ts +3 -3
  259. package/src/Controller.ts +10 -2
  260. package/src/DOM/DOMObject.ts +1 -1
  261. package/src/DOM.ts +3 -3
  262. package/src/EventDispatcher.ts +134 -0
  263. package/src/Formats.ts +2 -2
  264. package/src/MessageList.ts +85 -0
  265. package/src/Model/Field.ts +20 -0
  266. package/src/Model.ts +43 -0
  267. package/src/Registry.ts +13 -3
  268. package/src/Scope/DynamicScopeData.ts +29 -0
  269. package/src/Scope/QueryReference.ts +29 -0
  270. package/src/Scope/ScopeData.ts +21 -0
  271. package/src/Scope/ScopeDataAbstract.ts +126 -0
  272. package/src/Scope/ScopeReference.ts +30 -0
  273. package/src/Scope/ScopedVariableType.ts +7 -0
  274. package/src/Scope/WrappedArray.ts +88 -0
  275. package/src/Scope/properties/Property.ts +79 -0
  276. package/src/Scope.ts +31 -252
  277. package/src/SimplePromise.ts +219 -0
  278. package/src/Tag.ts +3 -3
  279. package/src/Types.ts +6 -1
  280. package/src/Validators.ts +45 -0
  281. package/src/attributes/Bind.ts +4 -4
  282. package/src/attributes/ClassConstructor.ts +2 -1
  283. package/src/attributes/JSONAttribute.ts +2 -1
  284. package/src/attributes/List.ts +4 -4
  285. package/src/attributes/Radio.ts +3 -2
  286. package/src/attributes/ScopeChange.ts +2 -2
  287. package/src/attributes/SetAttribute.ts +2 -1
  288. package/src/attributes/StandardAttribute.ts +1 -1
  289. package/src/attributes/StyleAttribute.ts +3 -2
  290. package/src/attributes/TypeAttribute.ts +1 -1
  291. package/src/vsn.ts +16 -5
  292. package/test/AST/ArithmeticAssignmentNode.spec.ts +47 -0
  293. package/test/AST.spec.ts +3 -2
  294. package/test/Controller.spec.ts +44 -0
  295. package/test/MessageList.spec.ts +101 -0
  296. package/test/Model/DataModel.spec.ts +0 -0
  297. package/test/Scope/DynamicScopeData.spec.ts +141 -0
  298. package/test/Scope.spec.ts +15 -3
  299. package/test/SimplePromise.spec.ts +271 -0
  300. package/test/Tag/TagList.spec.ts +1 -1
  301. package/test/attributes/Bind.spec.ts +5 -5
  302. package/test/attributes/ListItem.spec.ts +1 -1
  303. package/dist/vsn.min.js +0 -1
@@ -0,0 +1,88 @@
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
+ 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
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
24
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25
+ return new (P || (P = Promise))(function (resolve, reject) {
26
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
27
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
28
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
29
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
30
+ });
31
+ };
32
+ var __generator = (this && this.__generator) || function (thisArg, body) {
33
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
34
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
35
+ function verb(n) { return function (v) { return step([n, v]); }; }
36
+ function step(op) {
37
+ if (f) throw new TypeError("Generator is already executing.");
38
+ while (_) try {
39
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
40
+ if (y = 0, t) op = [op[0] & 2, t.value];
41
+ switch (op[0]) {
42
+ case 0: case 1: t = op; break;
43
+ case 4: _.label++; return { value: op[1], done: false };
44
+ case 5: _.label++; y = op[1]; op = [0]; continue;
45
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
46
+ default:
47
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
48
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
49
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
50
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
51
+ if (t[2]) _.ops.pop();
52
+ _.trys.pop(); continue;
53
+ }
54
+ op = body.call(thisArg, _);
55
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
56
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
57
+ }
58
+ };
59
+ Object.defineProperty(exports, "__esModule", { value: true });
60
+ exports.KeyUp = void 0;
61
+ var KeyAbstract_1 = require("./KeyAbstract");
62
+ var Registry_1 = require("../Registry");
63
+ var KeyUp = /** @class */ (function (_super) {
64
+ __extends(KeyUp, _super);
65
+ function KeyUp() {
66
+ return _super !== null && _super.apply(this, arguments) || this;
67
+ }
68
+ KeyUp.prototype.connect = function () {
69
+ return __awaiter(this, void 0, void 0, function () {
70
+ return __generator(this, function (_a) {
71
+ switch (_a.label) {
72
+ case 0:
73
+ this.tag.addEventHandler('keyup', this.getAttributeModifiers(), this.handleEvent.bind(this));
74
+ return [4 /*yield*/, _super.prototype.connect.call(this)];
75
+ case 1:
76
+ _a.sent();
77
+ return [2 /*return*/];
78
+ }
79
+ });
80
+ });
81
+ };
82
+ KeyUp = __decorate([
83
+ Registry_1.Registry.attribute('vsn-key-up')
84
+ ], KeyUp);
85
+ return KeyUp;
86
+ }(KeyAbstract_1.KeyAbstract));
87
+ exports.KeyUp = KeyUp;
88
+ //# sourceMappingURL=KeyUp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyUp.js","sourceRoot":"","sources":["../../src/attributes/KeyUp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA0C;AAC1C,wCAAqC;AAGrC;IAA2B,yBAAW;IAAtC;;IAKA,CAAC;IAJgB,uBAAO,GAApB;;;;;wBACI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC7F,qBAAM,iBAAM,OAAO,WAAE,EAAA;;wBAArB,SAAqB,CAAC;;;;;KACzB;IAJQ,KAAK;QADjB,mBAAQ,CAAC,SAAS,CAAC,YAAY,CAAC;OACpB,KAAK,CAKjB;IAAD,YAAC;CAAA,AALD,CAA2B,yBAAW,GAKrC;AALY,sBAAK"}
@@ -0,0 +1,282 @@
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
+ 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
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
24
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25
+ return new (P || (P = Promise))(function (resolve, reject) {
26
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
27
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
28
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
29
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
30
+ });
31
+ };
32
+ var __generator = (this && this.__generator) || function (thisArg, body) {
33
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
34
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
35
+ function verb(n) { return function (v) { return step([n, v]); }; }
36
+ function step(op) {
37
+ if (f) throw new TypeError("Generator is already executing.");
38
+ while (_) try {
39
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
40
+ if (y = 0, t) op = [op[0] & 2, t.value];
41
+ switch (op[0]) {
42
+ case 0: case 1: t = op; break;
43
+ case 4: _.label++; return { value: op[1], done: false };
44
+ case 5: _.label++; y = op[1]; op = [0]; continue;
45
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
46
+ default:
47
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
48
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
49
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
50
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
51
+ if (t[2]) _.ops.pop();
52
+ _.trys.pop(); continue;
53
+ }
54
+ op = body.call(thisArg, _);
55
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
56
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
57
+ }
58
+ };
59
+ Object.defineProperty(exports, "__esModule", { value: true });
60
+ exports.List = void 0;
61
+ var Attribute_1 = require("../Attribute");
62
+ var WrappedArray_1 = require("../Scope/WrappedArray");
63
+ var AST_1 = require("../AST");
64
+ var ElementHelper_1 = require("../helpers/ElementHelper");
65
+ var Registry_1 = require("../Registry");
66
+ var DOM_1 = require("../DOM");
67
+ var List = /** @class */ (function (_super) {
68
+ __extends(List, _super);
69
+ function List() {
70
+ return _super !== null && _super.apply(this, arguments) || this;
71
+ }
72
+ List.prototype.compile = function () {
73
+ return __awaiter(this, void 0, void 0, function () {
74
+ var listAttr;
75
+ return __generator(this, function (_a) {
76
+ switch (_a.label) {
77
+ case 0:
78
+ listAttr = this.getAttributeBinding();
79
+ this.tree = new AST_1.Tree(listAttr);
80
+ return [4 /*yield*/, this.tree.prepare(this.tag.scope, this.tag.dom, this.tag)];
81
+ case 1:
82
+ _a.sent();
83
+ return [4 /*yield*/, _super.prototype.compile.call(this)];
84
+ case 2:
85
+ _a.sent();
86
+ return [2 /*return*/];
87
+ }
88
+ });
89
+ });
90
+ };
91
+ List.prototype.setup = function () {
92
+ return __awaiter(this, void 0, void 0, function () {
93
+ var template, templateNode;
94
+ return __generator(this, function (_a) {
95
+ switch (_a.label) {
96
+ case 0:
97
+ if (!(this.tag.element.children.length > 0)) return [3 /*break*/, 1];
98
+ template = this.tag.element.children[0];
99
+ if (template) {
100
+ if (template.hasAttribute('vsn-template')) {
101
+ template.removeAttribute('vsn-template');
102
+ this.tag.element.removeChild(template);
103
+ this.template = template;
104
+ }
105
+ else {
106
+ this.template = template.cloneNode(true);
107
+ }
108
+ }
109
+ return [3 /*break*/, 3];
110
+ case 1:
111
+ if (!this.tag.hasRawAttribute('template')) return [3 /*break*/, 3];
112
+ return [4 /*yield*/, DOM_1.DOM.instance.eval(this.tag.getRawAttributeValue('template'))];
113
+ case 2:
114
+ templateNode = _a.sent();
115
+ if (templateNode instanceof Array && templateNode.length === 1)
116
+ templateNode = templateNode[0];
117
+ this.template = templateNode.element.content.cloneNode(true);
118
+ _a.label = 3;
119
+ case 3: return [4 /*yield*/, _super.prototype.setup.call(this)];
120
+ case 4:
121
+ _a.sent();
122
+ return [2 /*return*/];
123
+ }
124
+ });
125
+ });
126
+ };
127
+ List.prototype.extract = function () {
128
+ return __awaiter(this, void 0, void 0, function () {
129
+ var items, toAdd, i;
130
+ return __generator(this, function (_a) {
131
+ switch (_a.label) {
132
+ case 0: return [4 /*yield*/, this.tree.evaluate(this.tag.scope, this.tag.dom, this.tag)];
133
+ case 1:
134
+ items = _a.sent();
135
+ return [4 /*yield*/, this.addExistingItems(items)];
136
+ case 2:
137
+ _a.sent();
138
+ if (!this.tag.hasRawAttribute('initial-items')) return [3 /*break*/, 6];
139
+ toAdd = parseInt(this.tag.getRawAttributeValue('initial-items'));
140
+ i = 0;
141
+ _a.label = 3;
142
+ case 3:
143
+ if (!(i < toAdd)) return [3 /*break*/, 6];
144
+ return [4 /*yield*/, this.add({})];
145
+ case 4:
146
+ _a.sent();
147
+ _a.label = 5;
148
+ case 5:
149
+ i++;
150
+ return [3 /*break*/, 3];
151
+ case 6: return [4 /*yield*/, _super.prototype.extract.call(this)];
152
+ case 7:
153
+ _a.sent();
154
+ return [2 /*return*/];
155
+ }
156
+ });
157
+ });
158
+ };
159
+ List.prototype.addExistingItems = function (defaultList) {
160
+ return __awaiter(this, void 0, void 0, function () {
161
+ var _i, defaultList_1, existingItem, _a, _b, element, tag;
162
+ var _this = this;
163
+ return __generator(this, function (_c) {
164
+ switch (_c.label) {
165
+ case 0:
166
+ this.items = defaultList || new WrappedArray_1.WrappedArray();
167
+ this.tags = [];
168
+ if (!defaultList) return [3 /*break*/, 4];
169
+ _i = 0, defaultList_1 = defaultList;
170
+ _c.label = 1;
171
+ case 1:
172
+ if (!(_i < defaultList_1.length)) return [3 /*break*/, 4];
173
+ existingItem = defaultList_1[_i];
174
+ return [4 /*yield*/, this.add(existingItem)];
175
+ case 2:
176
+ _c.sent();
177
+ _c.label = 3;
178
+ case 3:
179
+ _i++;
180
+ return [3 /*break*/, 1];
181
+ case 4:
182
+ _a = 0, _b = Array.from(this.tag.element.querySelectorAll('*'));
183
+ _c.label = 5;
184
+ case 5:
185
+ if (!(_a < _b.length)) return [3 /*break*/, 8];
186
+ element = _b[_a];
187
+ if (!ElementHelper_1.ElementHelper.hasVisionAttribute(element, 'vsn-list-item'))
188
+ return [3 /*break*/, 7];
189
+ return [4 /*yield*/, this.tag.dom.getTagForElement(element)];
190
+ case 6:
191
+ tag = _c.sent();
192
+ if (tag) {
193
+ this.tags.push(tag);
194
+ this.items.push(tag.scope.wrapped || tag.scope);
195
+ }
196
+ _c.label = 7;
197
+ case 7:
198
+ _a++;
199
+ return [3 /*break*/, 5];
200
+ case 8:
201
+ if (!(this.items instanceof WrappedArray_1.WrappedArray)) {
202
+ this.items = new WrappedArray_1.WrappedArray(this.items);
203
+ }
204
+ this.items.on('add', function (item) {
205
+ _this.add(item);
206
+ });
207
+ this.items.on('remove', function (item) {
208
+ _this.remove(item);
209
+ });
210
+ this.tag.scope.set('add', this.add.bind(this));
211
+ this.tag.scope.set('remove', this.remove.bind(this));
212
+ return [2 /*return*/];
213
+ }
214
+ });
215
+ });
216
+ };
217
+ Object.defineProperty(List.prototype, "listItemName", {
218
+ get: function () {
219
+ return this.tag.getRawAttributeValue('vsn-list-item-name', 'item');
220
+ },
221
+ enumerable: false,
222
+ configurable: true
223
+ });
224
+ Object.defineProperty(List.prototype, "listItemModel", {
225
+ get: function () {
226
+ return this.tag.getRawAttributeValue('vsn-list-item-model', 'Object');
227
+ },
228
+ enumerable: false,
229
+ configurable: true
230
+ });
231
+ List.prototype.remove = function (item) {
232
+ for (var i = 0; i < this.tags.length; i++) {
233
+ var tag = this.tags[i];
234
+ var listItem = tag.scope.get(this.listItemName);
235
+ if ([listItem, listItem.wrapped].indexOf(item) > -1) {
236
+ tag.removeFromDOM();
237
+ this.tags.splice(i, 1);
238
+ return;
239
+ }
240
+ }
241
+ };
242
+ List.prototype.add = function (obj) {
243
+ return __awaiter(this, void 0, void 0, function () {
244
+ var clone, element, tag;
245
+ return __generator(this, function (_a) {
246
+ switch (_a.label) {
247
+ case 0:
248
+ clone = this.template.cloneNode(true);
249
+ if (clone instanceof DocumentFragment) {
250
+ element = clone.children[0];
251
+ }
252
+ else {
253
+ element = clone;
254
+ }
255
+ this.tag.element.appendChild(element);
256
+ return [4 /*yield*/, this.tag.dom.buildFrom(this.tag.element)];
257
+ case 1:
258
+ _a.sent();
259
+ return [4 /*yield*/, this.tag.dom.getTagForElement(element)];
260
+ case 2:
261
+ tag = _a.sent();
262
+ this.tags.push(tag);
263
+ tag.scope.clear();
264
+ if (obj) {
265
+ tag.unwrap();
266
+ tag.wrap(obj);
267
+ }
268
+ this.tag.dispatch('add', obj);
269
+ return [2 /*return*/];
270
+ }
271
+ });
272
+ });
273
+ };
274
+ List.canDefer = false;
275
+ List.scoped = true;
276
+ List = __decorate([
277
+ Registry_1.Registry.attribute('vsn-list')
278
+ ], List);
279
+ return List;
280
+ }(Attribute_1.Attribute));
281
+ exports.List = List;
282
+ //# sourceMappingURL=List.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/attributes/List.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
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
+ 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
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
24
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25
+ return new (P || (P = Promise))(function (resolve, reject) {
26
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
27
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
28
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
29
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
30
+ });
31
+ };
32
+ var __generator = (this && this.__generator) || function (thisArg, body) {
33
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
34
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
35
+ function verb(n) { return function (v) { return step([n, v]); }; }
36
+ function step(op) {
37
+ if (f) throw new TypeError("Generator is already executing.");
38
+ while (_) try {
39
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
40
+ if (y = 0, t) op = [op[0] & 2, t.value];
41
+ switch (op[0]) {
42
+ case 0: case 1: t = op; break;
43
+ case 4: _.label++; return { value: op[1], done: false };
44
+ case 5: _.label++; y = op[1]; op = [0]; continue;
45
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
46
+ default:
47
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
48
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
49
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
50
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
51
+ if (t[2]) _.ops.pop();
52
+ _.trys.pop(); continue;
53
+ }
54
+ op = body.call(thisArg, _);
55
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
56
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
57
+ }
58
+ };
59
+ Object.defineProperty(exports, "__esModule", { value: true });
60
+ exports.ListItem = void 0;
61
+ var Attribute_1 = require("../Attribute");
62
+ var Registry_1 = require("../Registry");
63
+ var ListItem = /** @class */ (function (_super) {
64
+ __extends(ListItem, _super);
65
+ function ListItem() {
66
+ return _super !== null && _super.apply(this, arguments) || this;
67
+ }
68
+ ListItem_1 = ListItem;
69
+ Object.defineProperty(ListItem.prototype, "list", {
70
+ get: function () {
71
+ return this._list;
72
+ },
73
+ enumerable: false,
74
+ configurable: true
75
+ });
76
+ ListItem.prototype.setup = function () {
77
+ return __awaiter(this, void 0, void 0, function () {
78
+ var modelName, cls;
79
+ return __generator(this, function (_a) {
80
+ switch (_a.label) {
81
+ case 0:
82
+ this._list = this.tag.findAncestorByAttribute('vsn-list');
83
+ if (!this._list)
84
+ throw Error(ListItem_1.ERROR_NO_PARENT);
85
+ this.tag.scope.set(this.listItemName, this.tag.scope);
86
+ return [4 /*yield*/, this.getList()];
87
+ case 1:
88
+ modelName = (_a.sent()).listItemModel;
89
+ return [4 /*yield*/, Registry_1.Registry.instance.classes.get(modelName)];
90
+ case 2:
91
+ cls = _a.sent();
92
+ this.instantiateModel(cls);
93
+ return [4 /*yield*/, _super.prototype.setup.call(this)];
94
+ case 3:
95
+ _a.sent();
96
+ return [2 /*return*/];
97
+ }
98
+ });
99
+ });
100
+ };
101
+ Object.defineProperty(ListItem.prototype, "listItemName", {
102
+ get: function () {
103
+ return this.getAttributeBinding('item');
104
+ },
105
+ enumerable: false,
106
+ configurable: true
107
+ });
108
+ ListItem.prototype.getList = function () {
109
+ return __awaiter(this, void 0, void 0, function () {
110
+ return __generator(this, function (_a) {
111
+ switch (_a.label) {
112
+ case 0: return [4 /*yield*/, this._list.getAttribute('vsn-list')];
113
+ case 1: return [2 /*return*/, _a.sent()];
114
+ }
115
+ });
116
+ });
117
+ };
118
+ ListItem.prototype.configure = function () {
119
+ return __awaiter(this, void 0, void 0, function () {
120
+ return __generator(this, function (_a) {
121
+ return [2 /*return*/];
122
+ });
123
+ });
124
+ };
125
+ ListItem.prototype.instantiateModel = function (model) {
126
+ this.tag.wrap(model, false, true);
127
+ };
128
+ var ListItem_1;
129
+ ListItem.canDefer = false;
130
+ ListItem.scoped = true;
131
+ ListItem.ERROR_NO_PARENT = "Cannot find list parent.";
132
+ ListItem = ListItem_1 = __decorate([
133
+ Registry_1.Registry.attribute('vsn-list-item')
134
+ ], ListItem);
135
+ return ListItem;
136
+ }(Attribute_1.Attribute));
137
+ exports.ListItem = ListItem;
138
+ //# sourceMappingURL=ListItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../src/attributes/ListItem.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuC;AAGvC,wCAAqC;AAGrC;IAA8B,4BAAS;IAAvC;;IAqCA,CAAC;iBArCY,QAAQ;IAMjB,sBAAW,0BAAI;aAAf;YACI,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;;;OAAA;IAEY,wBAAK,GAAlB;;;;;;wBACI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;wBAC1D,IAAI,CAAC,IAAI,CAAC,KAAK;4BACX,MAAM,KAAK,CAAC,UAAQ,CAAC,eAAe,CAAC,CAAC;wBAE1C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC3B,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;;wBAAzC,SAAS,GAAW,CAAC,SAAoB,CAAC,CAAC,aAAa;wBAClD,qBAAM,mBAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAA;;wBAApD,GAAG,GAAG,SAA8C;wBAC1D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;wBAC3B,qBAAM,iBAAM,KAAK,WAAE,EAAA;;wBAAnB,SAAmB,CAAC;;;;;KACvB;IAED,sBAAW,kCAAY;aAAvB;YACI,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IAEY,0BAAO,GAApB;;;;4BACW,qBAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAO,UAAU,CAAC,EAAA;4BAAtD,sBAAO,SAA+C,EAAC;;;;KAC1D;IAEe,4BAAS,GAAzB;;;;;;KAEC;IAEO,mCAAgB,GAAxB,UAAyB,KAAU;QAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;;IAnCsB,iBAAQ,GAAY,KAAK,CAAC;IAC1B,eAAM,GAAY,IAAI,CAAC;IACvB,wBAAe,GAAG,0BAA0B,CAAC;IAH3D,QAAQ;QADpB,mBAAQ,CAAC,SAAS,CAAC,eAAe,CAAC;OACvB,QAAQ,CAqCpB;IAAD,eAAC;CAAA,AArCD,CAA8B,qBAAS,GAqCtC;AArCY,4BAAQ"}
@@ -0,0 +1,39 @@
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
+ 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
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.ListItemModel = void 0;
25
+ var Registry_1 = require("../Registry");
26
+ var Attribute_1 = require("../Attribute");
27
+ var ListItemModel = /** @class */ (function (_super) {
28
+ __extends(ListItemModel, _super);
29
+ function ListItemModel() {
30
+ return _super !== null && _super.apply(this, arguments) || this;
31
+ }
32
+ ListItemModel.canDefer = false;
33
+ ListItemModel = __decorate([
34
+ Registry_1.Registry.attribute('vsn-list-item-model')
35
+ ], ListItemModel);
36
+ return ListItemModel;
37
+ }(Attribute_1.Attribute));
38
+ exports.ListItemModel = ListItemModel;
39
+ //# sourceMappingURL=ListItemModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListItemModel.js","sourceRoot":"","sources":["../../src/attributes/ListItemModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAqC;AACrC,0CAAuC;AAGvC;IAAmC,iCAAS;IAA5C;;IAEA,CAAC;IAD0B,sBAAQ,GAAY,KAAK,CAAC;IADxC,aAAa;QADzB,mBAAQ,CAAC,SAAS,CAAC,qBAAqB,CAAC;OAC7B,aAAa,CAEzB;IAAD,oBAAC;CAAA,AAFD,CAAmC,qBAAS,GAE3C;AAFY,sCAAa"}
@@ -0,0 +1,29 @@
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.ModelAttribute = void 0;
19
+ var ClassConstructor_1 = require("./ClassConstructor");
20
+ var ModelAttribute = /** @class */ (function (_super) {
21
+ __extends(ModelAttribute, _super);
22
+ function ModelAttribute() {
23
+ return _super !== null && _super.apply(this, arguments) || this;
24
+ }
25
+ ModelAttribute.canDefer = false;
26
+ return ModelAttribute;
27
+ }(ClassConstructor_1.ClassConstructor));
28
+ exports.ModelAttribute = ModelAttribute;
29
+ //# sourceMappingURL=ModelAttribute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelAttribute.js","sourceRoot":"","sources":["../../src/attributes/ModelAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uDAAoD;AAEpD;IAAoC,kCAAgB;IAApD;;IAEA,CAAC;IAD0B,uBAAQ,GAAY,KAAK,CAAC;IACrD,qBAAC;CAAA,AAFD,CAAoC,mCAAgB,GAEnD;AAFY,wCAAc"}