vsn 0.1.149 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. package/README.md +7 -6
  2. package/dist/index.cjs +5011 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +630 -0
  5. package/dist/index.d.ts +630 -0
  6. package/dist/index.js +4942 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/index.min.js +9 -0
  9. package/dist/index.min.js.map +1 -0
  10. package/package.json +30 -48
  11. package/.gitattributes +0 -2
  12. package/.travis.yml +0 -28
  13. package/demo/demo.html +0 -237
  14. package/demo/examples/cascading-function-sheets.html +0 -39
  15. package/demo/examples/component-slots.html +0 -29
  16. package/demo/examples/events.html +0 -21
  17. package/demo/examples/item-filtering.html +0 -45
  18. package/demo/examples/loop.html +0 -21
  19. package/demo/examples/persist.html +0 -17
  20. package/demo/examples/replace-html.html +0 -19
  21. package/demo/markup-default.html +0 -2
  22. package/demo/markup.html +0 -2
  23. package/demo/memory-leak-test.html +0 -82
  24. package/demo/named-stack.html +0 -34
  25. package/demo/resources/xhr-animations.html +0 -24
  26. package/demo/resources/xhr-cfs.html +0 -1
  27. package/demo/resources/xhr-html.html +0 -1
  28. package/demo/resources/xhr-lazy.html +0 -60
  29. package/demo/resources/xhr-memory-leak-test.html +0 -14
  30. package/demo/resources/xhr-persist.html +0 -40
  31. package/demo/resources/xhr-test-component.html +0 -4
  32. package/demo/service.html +0 -22
  33. package/demo/silly-animations.html +0 -27
  34. package/demo/vsn.js +0 -3
  35. package/demo/xhr-response.html +0 -1
  36. package/demo/xhr-test.html +0 -32
  37. package/dist/AST/ArithmeticNode.d.ts +0 -15
  38. package/dist/AST/ArithmeticNode.js +0 -114
  39. package/dist/AST/ArithmeticNode.js.map +0 -1
  40. package/dist/AST/ArrayNode.d.ts +0 -14
  41. package/dist/AST/ArrayNode.js +0 -166
  42. package/dist/AST/ArrayNode.js.map +0 -1
  43. package/dist/AST/AsNode.d.ts +0 -13
  44. package/dist/AST/AsNode.js +0 -92
  45. package/dist/AST/AsNode.js.map +0 -1
  46. package/dist/AST/AssignmentNode.d.ts +0 -24
  47. package/dist/AST/AssignmentNode.js +0 -392
  48. package/dist/AST/AssignmentNode.js.map +0 -1
  49. package/dist/AST/BlockNode.d.ts +0 -11
  50. package/dist/AST/BlockNode.js +0 -114
  51. package/dist/AST/BlockNode.js.map +0 -1
  52. package/dist/AST/BooleanLiteralNode.d.ts +0 -5
  53. package/dist/AST/BooleanLiteralNode.js +0 -31
  54. package/dist/AST/BooleanLiteralNode.js.map +0 -1
  55. package/dist/AST/ClassNode.d.ts +0 -47
  56. package/dist/AST/ClassNode.js +0 -593
  57. package/dist/AST/ClassNode.js.map +0 -1
  58. package/dist/AST/ComparisonNode.d.ts +0 -15
  59. package/dist/AST/ComparisonNode.js +0 -120
  60. package/dist/AST/ComparisonNode.js.map +0 -1
  61. package/dist/AST/ConditionalNode.d.ts +0 -13
  62. package/dist/AST/ConditionalNode.js +0 -95
  63. package/dist/AST/ConditionalNode.js.map +0 -1
  64. package/dist/AST/DispatchEventNode.d.ts +0 -17
  65. package/dist/AST/DispatchEventNode.js +0 -152
  66. package/dist/AST/DispatchEventNode.js.map +0 -1
  67. package/dist/AST/ElementAttributeNode.d.ts +0 -20
  68. package/dist/AST/ElementAttributeNode.js +0 -242
  69. package/dist/AST/ElementAttributeNode.js.map +0 -1
  70. package/dist/AST/ElementQueryNode.d.ts +0 -17
  71. package/dist/AST/ElementQueryNode.js +0 -148
  72. package/dist/AST/ElementQueryNode.js.map +0 -1
  73. package/dist/AST/ElementStyleNode.d.ts +0 -20
  74. package/dist/AST/ElementStyleNode.js +0 -205
  75. package/dist/AST/ElementStyleNode.js.map +0 -1
  76. package/dist/AST/ForStatementNode.d.ts +0 -17
  77. package/dist/AST/ForStatementNode.js +0 -121
  78. package/dist/AST/ForStatementNode.js.map +0 -1
  79. package/dist/AST/FunctionArgumentNode.d.ts +0 -11
  80. package/dist/AST/FunctionArgumentNode.js +0 -142
  81. package/dist/AST/FunctionArgumentNode.js.map +0 -1
  82. package/dist/AST/FunctionCallNode.d.ts +0 -14
  83. package/dist/AST/FunctionCallNode.js +0 -241
  84. package/dist/AST/FunctionCallNode.js.map +0 -1
  85. package/dist/AST/FunctionNode.d.ts +0 -20
  86. package/dist/AST/FunctionNode.js +0 -220
  87. package/dist/AST/FunctionNode.js.map +0 -1
  88. package/dist/AST/IfStatementNode.d.ts +0 -14
  89. package/dist/AST/IfStatementNode.js +0 -168
  90. package/dist/AST/IfStatementNode.js.map +0 -1
  91. package/dist/AST/InNode.d.ts +0 -15
  92. package/dist/AST/InNode.js +0 -107
  93. package/dist/AST/InNode.js.map +0 -1
  94. package/dist/AST/IndexNode.d.ts +0 -16
  95. package/dist/AST/IndexNode.js +0 -152
  96. package/dist/AST/IndexNode.js.map +0 -1
  97. package/dist/AST/LiteralNode.d.ts +0 -10
  98. package/dist/AST/LiteralNode.js +0 -74
  99. package/dist/AST/LiteralNode.js.map +0 -1
  100. package/dist/AST/LoopNode.d.ts +0 -12
  101. package/dist/AST/LoopNode.js +0 -121
  102. package/dist/AST/LoopNode.js.map +0 -1
  103. package/dist/AST/ModifierNode.d.ts +0 -14
  104. package/dist/AST/ModifierNode.js +0 -90
  105. package/dist/AST/ModifierNode.js.map +0 -1
  106. package/dist/AST/NamedStackNode.d.ts +0 -28
  107. package/dist/AST/NamedStackNode.js +0 -142
  108. package/dist/AST/NamedStackNode.js.map +0 -1
  109. package/dist/AST/Node.d.ts +0 -28
  110. package/dist/AST/Node.js +0 -263
  111. package/dist/AST/Node.js.map +0 -1
  112. package/dist/AST/NotNode.d.ts +0 -12
  113. package/dist/AST/NotNode.js +0 -103
  114. package/dist/AST/NotNode.js.map +0 -1
  115. package/dist/AST/NumberLiteralNode.d.ts +0 -5
  116. package/dist/AST/NumberLiteralNode.js +0 -36
  117. package/dist/AST/NumberLiteralNode.js.map +0 -1
  118. package/dist/AST/ObjectNode.d.ts +0 -14
  119. package/dist/AST/ObjectNode.js +0 -147
  120. package/dist/AST/ObjectNode.js.map +0 -1
  121. package/dist/AST/OnNode.d.ts +0 -9
  122. package/dist/AST/OnNode.js +0 -129
  123. package/dist/AST/OnNode.js.map +0 -1
  124. package/dist/AST/RootScopeMemberNode.d.ts +0 -12
  125. package/dist/AST/RootScopeMemberNode.js +0 -90
  126. package/dist/AST/RootScopeMemberNode.js.map +0 -1
  127. package/dist/AST/ScopeMemberNode.d.ts +0 -13
  128. package/dist/AST/ScopeMemberNode.js +0 -165
  129. package/dist/AST/ScopeMemberNode.js.map +0 -1
  130. package/dist/AST/ScopeNodeAbstract.d.ts +0 -8
  131. package/dist/AST/ScopeNodeAbstract.js +0 -105
  132. package/dist/AST/ScopeNodeAbstract.js.map +0 -1
  133. package/dist/AST/StringFormatNode.d.ts +0 -18
  134. package/dist/AST/StringFormatNode.js +0 -151
  135. package/dist/AST/StringFormatNode.js.map +0 -1
  136. package/dist/AST/UnitLiteralNode.d.ts +0 -15
  137. package/dist/AST/UnitLiteralNode.js +0 -72
  138. package/dist/AST/UnitLiteralNode.js.map +0 -1
  139. package/dist/AST/WASM/Context.d.ts +0 -4
  140. package/dist/AST/WASM/Context.js +0 -18
  141. package/dist/AST/WASM/Context.js.map +0 -1
  142. package/dist/AST/WASM/Function.d.ts +0 -22
  143. package/dist/AST/WASM/Function.js +0 -126
  144. package/dist/AST/WASM/Function.js.map +0 -1
  145. package/dist/AST/WASM/Memory.d.ts +0 -12
  146. package/dist/AST/WASM/Memory.js +0 -22
  147. package/dist/AST/WASM/Memory.js.map +0 -1
  148. package/dist/AST/WASM/Section.d.ts +0 -5
  149. package/dist/AST/WASM/Section.js +0 -11
  150. package/dist/AST/WASM/Section.js.map +0 -1
  151. package/dist/AST/WASM.d.ts +0 -58
  152. package/dist/AST/WASM.js +0 -293
  153. package/dist/AST/WASM.js.map +0 -1
  154. package/dist/AST/WithNode.d.ts +0 -15
  155. package/dist/AST/WithNode.js +0 -197
  156. package/dist/AST/WithNode.js.map +0 -1
  157. package/dist/AST/XHRNode.d.ts +0 -15
  158. package/dist/AST/XHRNode.js +0 -151
  159. package/dist/AST/XHRNode.js.map +0 -1
  160. package/dist/AST.d.ts +0 -160
  161. package/dist/AST.js +0 -1156
  162. package/dist/AST.js.map +0 -1
  163. package/dist/Attribute.d.ts +0 -46
  164. package/dist/Attribute.js +0 -262
  165. package/dist/Attribute.js.map +0 -1
  166. package/dist/Bencmark.d.ts +0 -14
  167. package/dist/Bencmark.js +0 -236
  168. package/dist/Bencmark.js.map +0 -1
  169. package/dist/Component.d.ts +0 -7
  170. package/dist/Component.js +0 -179
  171. package/dist/Component.js.map +0 -1
  172. package/dist/Configuration.d.ts +0 -12
  173. package/dist/Configuration.js +0 -64
  174. package/dist/Configuration.js.map +0 -1
  175. package/dist/Controller.d.ts +0 -13
  176. package/dist/Controller.js +0 -60
  177. package/dist/Controller.js.map +0 -1
  178. package/dist/DOM/AbstractDOM.d.ts +0 -56
  179. package/dist/DOM/AbstractDOM.js +0 -1078
  180. package/dist/DOM/AbstractDOM.js.map +0 -1
  181. package/dist/DOM/DOMObject.d.ts +0 -33
  182. package/dist/DOM/DOMObject.js +0 -152
  183. package/dist/DOM/DOMObject.js.map +0 -1
  184. package/dist/DOM/ShadowDOM.d.ts +0 -5
  185. package/dist/DOM/ShadowDOM.js +0 -32
  186. package/dist/DOM/ShadowDOM.js.map +0 -1
  187. package/dist/DOM/WrappedDocument.d.ts +0 -5
  188. package/dist/DOM/WrappedDocument.js +0 -34
  189. package/dist/DOM/WrappedDocument.js.map +0 -1
  190. package/dist/DOM/WrappedWindow.d.ts +0 -6
  191. package/dist/DOM/WrappedWindow.js +0 -45
  192. package/dist/DOM/WrappedWindow.js.map +0 -1
  193. package/dist/DOM.d.ts +0 -5
  194. package/dist/DOM.js +0 -37
  195. package/dist/DOM.js.map +0 -1
  196. package/dist/EventDispatcher.d.ts +0 -36
  197. package/dist/EventDispatcher.js +0 -393
  198. package/dist/EventDispatcher.js.map +0 -1
  199. package/dist/Formats.d.ts +0 -5
  200. package/dist/Formats.js +0 -47
  201. package/dist/Formats.js.map +0 -1
  202. package/dist/MessageList.d.ts +0 -15
  203. package/dist/MessageList.js +0 -127
  204. package/dist/MessageList.js.map +0 -1
  205. package/dist/Model.d.ts +0 -12
  206. package/dist/Model.js +0 -92
  207. package/dist/Model.js.map +0 -1
  208. package/dist/Modifiers.d.ts +0 -17
  209. package/dist/Modifiers.js +0 -100
  210. package/dist/Modifiers.js.map +0 -1
  211. package/dist/Query.d.ts +0 -4
  212. package/dist/Query.js +0 -66
  213. package/dist/Query.js.map +0 -1
  214. package/dist/Registry.d.ts +0 -41
  215. package/dist/Registry.js +0 -165
  216. package/dist/Registry.js.map +0 -1
  217. package/dist/Scope/DynamicScopeData.d.ts +0 -6
  218. package/dist/Scope/DynamicScopeData.js +0 -83
  219. package/dist/Scope/DynamicScopeData.js.map +0 -1
  220. package/dist/Scope/ObjectAccessor.d.ts +0 -7
  221. package/dist/Scope/ObjectAccessor.js +0 -40
  222. package/dist/Scope/ObjectAccessor.js.map +0 -1
  223. package/dist/Scope/QueryReference.d.ts +0 -10
  224. package/dist/Scope/QueryReference.js +0 -103
  225. package/dist/Scope/QueryReference.js.map +0 -1
  226. package/dist/Scope/ScopeAbstract.d.ts +0 -9
  227. package/dist/Scope/ScopeAbstract.js +0 -28
  228. package/dist/Scope/ScopeAbstract.js.map +0 -1
  229. package/dist/Scope/ScopeData.d.ts +0 -4
  230. package/dist/Scope/ScopeData.js +0 -60
  231. package/dist/Scope/ScopeData.js.map +0 -1
  232. package/dist/Scope/ScopeDataAbstract.d.ts +0 -30
  233. package/dist/Scope/ScopeDataAbstract.js +0 -303
  234. package/dist/Scope/ScopeDataAbstract.js.map +0 -1
  235. package/dist/Scope/ScopeObject.d.ts +0 -3
  236. package/dist/Scope/ScopeObject.js +0 -28
  237. package/dist/Scope/ScopeObject.js.map +0 -1
  238. package/dist/Scope/ScopeReference.d.ts +0 -10
  239. package/dist/Scope/ScopeReference.js +0 -73
  240. package/dist/Scope/ScopeReference.js.map +0 -1
  241. package/dist/Scope/ScopedVariableType.d.ts +0 -6
  242. package/dist/Scope/ScopedVariableType.js +0 -14
  243. package/dist/Scope/ScopedVariableType.js.map +0 -1
  244. package/dist/Scope/WrappedArray.d.ts +0 -21
  245. package/dist/Scope/WrappedArray.js +0 -252
  246. package/dist/Scope/WrappedArray.js.map +0 -1
  247. package/dist/Scope/properties/ArrayProperty.d.ts +0 -12
  248. package/dist/Scope/properties/ArrayProperty.js +0 -88
  249. package/dist/Scope/properties/ArrayProperty.js.map +0 -1
  250. package/dist/Scope/properties/FloatProperty.d.ts +0 -4
  251. package/dist/Scope/properties/FloatProperty.js +0 -30
  252. package/dist/Scope/properties/FloatProperty.js.map +0 -1
  253. package/dist/Scope/properties/IntegerProperty.d.ts +0 -4
  254. package/dist/Scope/properties/IntegerProperty.js +0 -30
  255. package/dist/Scope/properties/IntegerProperty.js.map +0 -1
  256. package/dist/Scope/properties/Property.d.ts +0 -30
  257. package/dist/Scope/properties/Property.js +0 -205
  258. package/dist/Scope/properties/Property.js.map +0 -1
  259. package/dist/Scope/properties/_imports.d.ts +0 -4
  260. package/dist/Scope/properties/_imports.js +0 -13
  261. package/dist/Scope/properties/_imports.js.map +0 -1
  262. package/dist/Scope.d.ts +0 -39
  263. package/dist/Scope.js +0 -434
  264. package/dist/Scope.js.map +0 -1
  265. package/dist/Service.d.ts +0 -9
  266. package/dist/Service.js +0 -49
  267. package/dist/Service.js.map +0 -1
  268. package/dist/Tag/ShadowRootTag.d.ts +0 -3
  269. package/dist/Tag/ShadowRootTag.js +0 -28
  270. package/dist/Tag/ShadowRootTag.js.map +0 -1
  271. package/dist/Tag/SlotTag.d.ts +0 -3
  272. package/dist/Tag/SlotTag.js +0 -28
  273. package/dist/Tag/SlotTag.js.map +0 -1
  274. package/dist/Tag/SlottedTag.d.ts +0 -7
  275. package/dist/Tag/SlottedTag.js +0 -78
  276. package/dist/Tag/SlottedTag.js.map +0 -1
  277. package/dist/Tag/TagList.d.ts +0 -13
  278. package/dist/Tag/TagList.js +0 -104
  279. package/dist/Tag/TagList.js.map +0 -1
  280. package/dist/Tag.d.ts +0 -117
  281. package/dist/Tag.js +0 -1471
  282. package/dist/Tag.js.map +0 -1
  283. package/dist/Types.d.ts +0 -8
  284. package/dist/Types.js +0 -54
  285. package/dist/Types.js.map +0 -1
  286. package/dist/Validators.d.ts +0 -7
  287. package/dist/Validators.js +0 -54
  288. package/dist/Validators.js.map +0 -1
  289. package/dist/attributes/AddClassIf.d.ts +0 -4
  290. package/dist/attributes/AddClassIf.js +0 -93
  291. package/dist/attributes/AddClassIf.js.map +0 -1
  292. package/dist/attributes/Bind.d.ts +0 -24
  293. package/dist/attributes/Bind.js +0 -273
  294. package/dist/attributes/Bind.js.map +0 -1
  295. package/dist/attributes/ComponentAttribute.d.ts +0 -5
  296. package/dist/attributes/ComponentAttribute.js +0 -110
  297. package/dist/attributes/ComponentAttribute.js.map +0 -1
  298. package/dist/attributes/ControllerAttribute.d.ts +0 -11
  299. package/dist/attributes/ControllerAttribute.js +0 -127
  300. package/dist/attributes/ControllerAttribute.js.map +0 -1
  301. package/dist/attributes/DisableIf.d.ts +0 -5
  302. package/dist/attributes/DisableIf.js +0 -94
  303. package/dist/attributes/DisableIf.js.map +0 -1
  304. package/dist/attributes/Exec.d.ts +0 -10
  305. package/dist/attributes/Exec.js +0 -133
  306. package/dist/attributes/Exec.js.map +0 -1
  307. package/dist/attributes/Format.d.ts +0 -5
  308. package/dist/attributes/Format.js +0 -99
  309. package/dist/attributes/Format.js.map +0 -1
  310. package/dist/attributes/If.d.ts +0 -11
  311. package/dist/attributes/If.js +0 -159
  312. package/dist/attributes/If.js.map +0 -1
  313. package/dist/attributes/JSONAttribute.d.ts +0 -5
  314. package/dist/attributes/JSONAttribute.js +0 -119
  315. package/dist/attributes/JSONAttribute.js.map +0 -1
  316. package/dist/attributes/KeyAbstract.d.ts +0 -7
  317. package/dist/attributes/KeyAbstract.js +0 -117
  318. package/dist/attributes/KeyAbstract.js.map +0 -1
  319. package/dist/attributes/KeyDown.d.ts +0 -4
  320. package/dist/attributes/KeyDown.js +0 -88
  321. package/dist/attributes/KeyDown.js.map +0 -1
  322. package/dist/attributes/KeyUp.d.ts +0 -4
  323. package/dist/attributes/KeyUp.js +0 -88
  324. package/dist/attributes/KeyUp.js.map +0 -1
  325. package/dist/attributes/LazyAttribute.d.ts +0 -8
  326. package/dist/attributes/LazyAttribute.js +0 -122
  327. package/dist/attributes/LazyAttribute.js.map +0 -1
  328. package/dist/attributes/List.d.ts +0 -18
  329. package/dist/attributes/List.js +0 -396
  330. package/dist/attributes/List.js.map +0 -1
  331. package/dist/attributes/ListItem.d.ts +0 -12
  332. package/dist/attributes/ListItem.js +0 -119
  333. package/dist/attributes/ListItem.js.map +0 -1
  334. package/dist/attributes/ListItemModel.d.ts +0 -4
  335. package/dist/attributes/ListItemModel.js +0 -39
  336. package/dist/attributes/ListItemModel.js.map +0 -1
  337. package/dist/attributes/ModelAttribute.d.ts +0 -5
  338. package/dist/attributes/ModelAttribute.js +0 -41
  339. package/dist/attributes/ModelAttribute.js.map +0 -1
  340. package/dist/attributes/Name.d.ts +0 -6
  341. package/dist/attributes/Name.js +0 -88
  342. package/dist/attributes/Name.js.map +0 -1
  343. package/dist/attributes/On.d.ts +0 -9
  344. package/dist/attributes/On.js +0 -135
  345. package/dist/attributes/On.js.map +0 -1
  346. package/dist/attributes/PersistAttribute.d.ts +0 -15
  347. package/dist/attributes/PersistAttribute.js +0 -215
  348. package/dist/attributes/PersistAttribute.js.map +0 -1
  349. package/dist/attributes/Referenced.d.ts +0 -3
  350. package/dist/attributes/Referenced.js +0 -38
  351. package/dist/attributes/Referenced.js.map +0 -1
  352. package/dist/attributes/RootAttribute.d.ts +0 -7
  353. package/dist/attributes/RootAttribute.js +0 -141
  354. package/dist/attributes/RootAttribute.js.map +0 -1
  355. package/dist/attributes/ScopeAttribute.d.ts +0 -9
  356. package/dist/attributes/ScopeAttribute.js +0 -152
  357. package/dist/attributes/ScopeAttribute.js.map +0 -1
  358. package/dist/attributes/ScopeChange.d.ts +0 -10
  359. package/dist/attributes/ScopeChange.js +0 -153
  360. package/dist/attributes/ScopeChange.js.map +0 -1
  361. package/dist/attributes/ScriptAttribute.d.ts +0 -4
  362. package/dist/attributes/ScriptAttribute.js +0 -45
  363. package/dist/attributes/ScriptAttribute.js.map +0 -1
  364. package/dist/attributes/ServiceAttribute.d.ts +0 -7
  365. package/dist/attributes/ServiceAttribute.js +0 -45
  366. package/dist/attributes/ServiceAttribute.js.map +0 -1
  367. package/dist/attributes/SetAttribute.d.ts +0 -11
  368. package/dist/attributes/SetAttribute.js +0 -146
  369. package/dist/attributes/SetAttribute.js.map +0 -1
  370. package/dist/attributes/StandardAttribute.d.ts +0 -15
  371. package/dist/attributes/StandardAttribute.js +0 -170
  372. package/dist/attributes/StandardAttribute.js.map +0 -1
  373. package/dist/attributes/StyleAttribute.d.ts +0 -14
  374. package/dist/attributes/StyleAttribute.js +0 -218
  375. package/dist/attributes/StyleAttribute.js.map +0 -1
  376. package/dist/attributes/StyleVarAttribute.d.ts +0 -11
  377. package/dist/attributes/StyleVarAttribute.js +0 -124
  378. package/dist/attributes/StyleVarAttribute.js.map +0 -1
  379. package/dist/attributes/TemplateAttribute.d.ts +0 -5
  380. package/dist/attributes/TemplateAttribute.js +0 -89
  381. package/dist/attributes/TemplateAttribute.js.map +0 -1
  382. package/dist/attributes/TypeAttribute.d.ts +0 -5
  383. package/dist/attributes/TypeAttribute.js +0 -104
  384. package/dist/attributes/TypeAttribute.js.map +0 -1
  385. package/dist/attributes/XHRAttribute.d.ts +0 -14
  386. package/dist/attributes/XHRAttribute.js +0 -242
  387. package/dist/attributes/XHRAttribute.js.map +0 -1
  388. package/dist/attributes/_imports.d.ts +0 -32
  389. package/dist/attributes/_imports.js +0 -68
  390. package/dist/attributes/_imports.js.map +0 -1
  391. package/dist/contrib/XHR.d.ts +0 -21
  392. package/dist/contrib/XHR.js +0 -78
  393. package/dist/contrib/XHR.js.map +0 -1
  394. package/dist/contrib/_imports.d.ts +0 -1
  395. package/dist/contrib/_imports.js +0 -6
  396. package/dist/contrib/_imports.js.map +0 -1
  397. package/dist/custom-elements.d.ts +0 -9
  398. package/dist/custom-elements.js +0 -44
  399. package/dist/custom-elements.js.map +0 -1
  400. package/dist/demo/ServiceDemo.d.ts +0 -5
  401. package/dist/demo/ServiceDemo.js +0 -87
  402. package/dist/demo/ServiceDemo.js.map +0 -1
  403. package/dist/demo.d.ts +0 -2
  404. package/dist/demo.js +0 -17
  405. package/dist/demo.js.map +0 -1
  406. package/dist/helpers/DOMHelper.d.ts +0 -3
  407. package/dist/helpers/DOMHelper.js +0 -81
  408. package/dist/helpers/DOMHelper.js.map +0 -1
  409. package/dist/helpers/ElementHelper.d.ts +0 -4
  410. package/dist/helpers/ElementHelper.js +0 -53
  411. package/dist/helpers/ElementHelper.js.map +0 -1
  412. package/dist/helpers/VisionHelper.d.ts +0 -13
  413. package/dist/helpers/VisionHelper.js +0 -148
  414. package/dist/helpers/VisionHelper.js.map +0 -1
  415. package/dist/helpers/decorators.d.ts +0 -5
  416. package/dist/helpers/decorators.js +0 -59
  417. package/dist/helpers/decorators.js.map +0 -1
  418. package/dist/version.d.ts +0 -1
  419. package/dist/version.js +0 -5
  420. package/dist/version.js.map +0 -1
  421. package/dist/vsn.d.ts +0 -36
  422. package/dist/vsn.js +0 -201
  423. package/dist/vsn.js.map +0 -1
  424. package/karma.conf.js +0 -34
  425. package/src/AST/ArithmeticNode.ts +0 -52
  426. package/src/AST/ArrayNode.ts +0 -39
  427. package/src/AST/AsNode.ts +0 -32
  428. package/src/AST/AssignmentNode.ts +0 -256
  429. package/src/AST/BlockNode.ts +0 -25
  430. package/src/AST/BooleanLiteralNode.ts +0 -10
  431. package/src/AST/ClassNode.ts +0 -267
  432. package/src/AST/ComparisonNode.ts +0 -57
  433. package/src/AST/ConditionalNode.ts +0 -36
  434. package/src/AST/DispatchEventNode.ts +0 -58
  435. package/src/AST/ElementAttributeNode.ts +0 -97
  436. package/src/AST/ElementQueryNode.ts +0 -48
  437. package/src/AST/ElementStyleNode.ts +0 -74
  438. package/src/AST/ForStatementNode.ts +0 -59
  439. package/src/AST/FunctionArgumentNode.ts +0 -27
  440. package/src/AST/FunctionCallNode.ts +0 -93
  441. package/src/AST/FunctionNode.ts +0 -82
  442. package/src/AST/IfStatementNode.ts +0 -67
  443. package/src/AST/InNode.ts +0 -46
  444. package/src/AST/IndexNode.ts +0 -64
  445. package/src/AST/LiteralNode.ts +0 -17
  446. package/src/AST/LoopNode.ts +0 -35
  447. package/src/AST/ModifierNode.ts +0 -32
  448. package/src/AST/NamedStackNode.ts +0 -83
  449. package/src/AST/Node.ts +0 -104
  450. package/src/AST/NotNode.ts +0 -41
  451. package/src/AST/NumberLiteralNode.ts +0 -14
  452. package/src/AST/ObjectNode.ts +0 -55
  453. package/src/AST/OnNode.ts +0 -23
  454. package/src/AST/RootScopeMemberNode.ts +0 -27
  455. package/src/AST/ScopeMemberNode.ts +0 -63
  456. package/src/AST/ScopeNodeAbstract.ts +0 -21
  457. package/src/AST/StringFormatNode.ts +0 -43
  458. package/src/AST/UnitLiteralNode.ts +0 -51
  459. package/src/AST/WASM/Context.ts +0 -12
  460. package/src/AST/WASM/Function.ts +0 -67
  461. package/src/AST/WASM/Memory.ts +0 -21
  462. package/src/AST/WASM/Section.ts +0 -6
  463. package/src/AST/WASM.ts +0 -244
  464. package/src/AST/WithNode.ts +0 -68
  465. package/src/AST/XHRNode.ts +0 -85
  466. package/src/AST.ts +0 -969
  467. package/src/Attribute.ts +0 -130
  468. package/src/Bencmark.ts +0 -184
  469. package/src/Component.ts +0 -63
  470. package/src/Configuration.ts +0 -47
  471. package/src/Controller.ts +0 -36
  472. package/src/DOM/AbstractDOM.ts +0 -465
  473. package/src/DOM/DOMObject.ts +0 -77
  474. package/src/DOM/ShadowDOM.ts +0 -15
  475. package/src/DOM/WrappedDocument.ts +0 -9
  476. package/src/DOM/WrappedWindow.ts +0 -21
  477. package/src/DOM.ts +0 -13
  478. package/src/EventDispatcher.ts +0 -234
  479. package/src/Formats.ts +0 -33
  480. package/src/MessageList.ts +0 -85
  481. package/src/Model.ts +0 -44
  482. package/src/Modifiers.ts +0 -54
  483. package/src/Query.ts +0 -17
  484. package/src/Registry.ts +0 -141
  485. package/src/Scope/DynamicScopeData.ts +0 -27
  486. package/src/Scope/ObjectAccessor.ts +0 -21
  487. package/src/Scope/QueryReference.ts +0 -29
  488. package/src/Scope/ScopeAbstract.ts +0 -11
  489. package/src/Scope/ScopeData.ts +0 -20
  490. package/src/Scope/ScopeDataAbstract.ts +0 -200
  491. package/src/Scope/ScopeObject.ts +0 -3
  492. package/src/Scope/ScopeReference.ts +0 -30
  493. package/src/Scope/ScopedVariableType.ts +0 -7
  494. package/src/Scope/WrappedArray.ts +0 -134
  495. package/src/Scope/properties/ArrayProperty.ts +0 -46
  496. package/src/Scope/properties/FloatProperty.ts +0 -5
  497. package/src/Scope/properties/IntegerProperty.ts +0 -5
  498. package/src/Scope/properties/Property.ts +0 -173
  499. package/src/Scope/properties/_imports.ts +0 -4
  500. package/src/Scope.ts +0 -333
  501. package/src/Service.ts +0 -24
  502. package/src/Tag/ShadowRootTag.ts +0 -5
  503. package/src/Tag/SlotTag.ts +0 -5
  504. package/src/Tag/SlottedTag.ts +0 -17
  505. package/src/Tag/TagList.ts +0 -52
  506. package/src/Tag.ts +0 -838
  507. package/src/Types.ts +0 -34
  508. package/src/Validators.ts +0 -45
  509. package/src/attributes/AddClassIf.ts +0 -14
  510. package/src/attributes/Bind.ts +0 -144
  511. package/src/attributes/ComponentAttribute.ts +0 -23
  512. package/src/attributes/ControllerAttribute.ts +0 -50
  513. package/src/attributes/DisableIf.ts +0 -16
  514. package/src/attributes/Exec.ts +0 -32
  515. package/src/attributes/Format.ts +0 -18
  516. package/src/attributes/If.ts +0 -40
  517. package/src/attributes/JSONAttribute.ts +0 -40
  518. package/src/attributes/KeyAbstract.ts +0 -28
  519. package/src/attributes/KeyDown.ts +0 -10
  520. package/src/attributes/KeyUp.ts +0 -10
  521. package/src/attributes/LazyAttribute.ts +0 -30
  522. package/src/attributes/List.ts +0 -210
  523. package/src/attributes/ListItem.ts +0 -30
  524. package/src/attributes/ListItemModel.ts +0 -7
  525. package/src/attributes/ModelAttribute.ts +0 -8
  526. package/src/attributes/Name.ts +0 -16
  527. package/src/attributes/On.ts +0 -39
  528. package/src/attributes/PersistAttribute.ts +0 -83
  529. package/src/attributes/Referenced.ts +0 -5
  530. package/src/attributes/RootAttribute.ts +0 -24
  531. package/src/attributes/ScopeAttribute.ts +0 -40
  532. package/src/attributes/ScopeChange.ts +0 -35
  533. package/src/attributes/ScriptAttribute.ts +0 -9
  534. package/src/attributes/ServiceAttribute.ts +0 -13
  535. package/src/attributes/SetAttribute.ts +0 -44
  536. package/src/attributes/StandardAttribute.ts +0 -72
  537. package/src/attributes/StyleAttribute.ts +0 -90
  538. package/src/attributes/StyleVarAttribute.ts +0 -40
  539. package/src/attributes/TemplateAttribute.ts +0 -12
  540. package/src/attributes/TypeAttribute.ts +0 -23
  541. package/src/attributes/XHRAttribute.ts +0 -109
  542. package/src/attributes/_imports.ts +0 -32
  543. package/src/contrib/XHR.ts +0 -46
  544. package/src/contrib/_imports.ts +0 -1
  545. package/src/custom-elements.ts +0 -46
  546. package/src/demo/ServiceDemo.ts +0 -12
  547. package/src/demo.ts +0 -2
  548. package/src/helpers/DOMHelper.ts +0 -17
  549. package/src/helpers/ElementHelper.ts +0 -26
  550. package/src/helpers/VisionHelper.ts +0 -88
  551. package/src/helpers/decorators.ts +0 -11
  552. package/src/version.ts +0 -2
  553. package/src/vsn.ts +0 -106
  554. package/test/AST/ArithmeticAssignmentNode.spec.ts +0 -45
  555. package/test/AST/ClassNode.spec.ts +0 -175
  556. package/test/AST/FunctionNode.spec.ts +0 -51
  557. package/test/AST/StringFormatNode.spec.ts +0 -12
  558. package/test/AST/WASM.spec.ts +0 -63
  559. package/test/AST/XHRNode.spec.ts +0 -10
  560. package/test/AST.spec.ts +0 -353
  561. package/test/Controller.spec.ts +0 -42
  562. package/test/DOM.spec.ts +0 -63
  563. package/test/EventDispatcher.spec.ts +0 -191
  564. package/test/MessageList.spec.ts +0 -101
  565. package/test/Model/DataModel.spec.ts +0 -0
  566. package/test/Scope/DynamicScopeData.spec.ts +0 -141
  567. package/test/Scope/ScopeData.spec.ts +0 -58
  568. package/test/Scope/WrappedArray.spec.ts +0 -11
  569. package/test/Scope/properties/ArrayProperty.spec.ts +0 -23
  570. package/test/Scope.spec.ts +0 -69
  571. package/test/Tag/TagList.spec.ts +0 -21
  572. package/test/Tag.spec.ts +0 -4
  573. package/test/attributes/Bind.spec.ts +0 -174
  574. package/test/attributes/JSONAttribute.spec.ts +0 -91
  575. package/test/attributes/ListItem.spec.ts +0 -118
  576. package/test/attributes/ScopeAttribute.spec.ts +0 -35
  577. package/test/attributes/ServiceAttribute.spec.ts +0 -41
  578. package/test/attributes/SetAttribute.spec.ts +0 -55
  579. package/test/attributes/Styles.spec.ts +0 -43
  580. package/test/globals.js +0 -2
  581. package/tsconfig.base.json +0 -17
  582. package/tsconfig.json +0 -6
  583. package/tsconfig.test.json +0 -7
  584. package/types/vsn-component.d.ts +0 -5
  585. package/webpack.config.js +0 -48
  586. package/webpack.development.js +0 -6
  587. package/webpack.production.js +0 -5
@@ -1,234 +0,0 @@
1
-
2
- export interface EventCallbackList {
3
- [index: string]: EventCallback[];
4
- }
5
-
6
-
7
- export class EventCallback {
8
- public calls: number;
9
- constructor(
10
- public readonly fnc: any,
11
- public readonly key: number,
12
- public readonly once: boolean,
13
- public readonly context?: any,
14
- ) {
15
- this.calls = 0;
16
- }
17
-
18
- call(...args: any[]): boolean {
19
- if(this.once && this.calls > 0)
20
- return false;
21
-
22
- this.fnc.apply(this.context, ...args);
23
- this.calls += 1;
24
- return true;
25
- }
26
-
27
- deconstruct() {
28
- const self = this as any;
29
- self.fnc = null;
30
- self.context = null;
31
- }
32
- }
33
-
34
- export type EventDispatcherCallback = (...args: any[]) => any;
35
-
36
-
37
- export class EventDispatcher {
38
- private static sources: EventDispatcher[] = [];
39
- public static readonly stream: EventDispatcher = new EventDispatcher();
40
- private readonly _listeners: EventCallbackList;
41
- private readonly _allListeners: EventCallback[] = [];
42
- private readonly _relays: EventDispatcher[] = [];
43
- private _lastKey: number;
44
-
45
- constructor() {
46
- this._lastKey = 0;
47
- this._listeners = {};
48
- EventDispatcher.sources.push(this);
49
- }
50
-
51
- deconstruct() {
52
- this.dispatch('deconstruct', this);
53
- const sourceIndex = EventDispatcher.sources.indexOf(this);
54
- if (sourceIndex > -1) {
55
- EventDispatcher.sources.splice(sourceIndex, 1);
56
- }
57
-
58
- for (const k in this._listeners) {
59
- for (const cb of this._listeners[k]) {
60
- cb.deconstruct();
61
- }
62
- delete this._listeners[k];
63
- }
64
-
65
- for (const cb of this._allListeners) {
66
- cb.deconstruct();
67
- }
68
- (this as any)._listeners = {};
69
- this._relays.length = 0;
70
- this._allListeners.length = 0;
71
-
72
- for (const source of EventDispatcher.sources) {
73
- source.removeRelay(this);
74
- source.noneWithContext(this);
75
- }
76
- }
77
-
78
- addRelay(relay: EventDispatcher) {
79
- this._relays.push(relay);
80
- }
81
-
82
- removeRelay(relay: EventDispatcher) {
83
- if (this._relays.indexOf(relay) > -1)
84
- this._relays.splice(this._relays.indexOf(relay), 1);
85
- }
86
-
87
- on(event: string, fct: EventDispatcherCallback, context?: any, once?: boolean): number {
88
- once = once || false;
89
- this._lastKey++;
90
- this._listeners[event] = this._listeners[event] || [];
91
- this._listeners[event].push(new EventCallback(fct, this._lastKey, once, context));
92
- return this._lastKey;
93
- }
94
-
95
- once(event: string, fct: EventDispatcherCallback, context?: any): number {
96
- return this.on(event, fct, context, true);
97
- }
98
-
99
- promise(event: string, ...args: any[]): Promise<any> {
100
- return new Promise((resolve, reject) => {
101
- this.once(event, (...args) => {
102
- resolve(args);
103
- }, null);
104
- });
105
- }
106
-
107
- off(event: string, key?: number): boolean {
108
- if(!(event in this._listeners)) return false;
109
- if(key) {
110
- for(const cb of this._listeners[event]) {
111
- if(key == cb.key) {
112
- this._listeners[event].splice(this._listeners[event].indexOf(cb), 1);
113
- return true;
114
- }
115
- }
116
- } else {
117
- this._listeners[event] = [];
118
- return true;
119
- }
120
- return false;
121
- }
122
-
123
- offWithContext(event: string, context: any): number {
124
- if(!(event in this._listeners)) return 0;
125
- let toRemove: EventCallback[] = [],
126
- cnt = 0;
127
-
128
- for(const cb of this._listeners[event]) {
129
- if(context == cb.context) {
130
- toRemove.push(cb);
131
- }
132
- }
133
-
134
- for(const cb of toRemove) {
135
- this._listeners[event].splice(this._listeners[event].indexOf(cb), 1);
136
- cnt++;
137
- }
138
- return cnt;
139
- }
140
-
141
- getListener(event: string, key: number): EventCallback | undefined {
142
- for(const cb of this._listeners[event]) {
143
- if(key == cb.key)
144
- return cb;
145
- }
146
- }
147
-
148
- all(fct: EventDispatcherCallback, context?: any, once?: boolean): number {
149
- once = once || false;
150
- this._lastKey++;
151
- this._allListeners.push(new EventCallback(fct, this._lastKey, once, context));
152
- return this._lastKey;
153
- }
154
-
155
- none(key: number): boolean {
156
- for(const cb of this._allListeners) {
157
- if(key == cb.key) {
158
- this._allListeners.splice(this._allListeners.indexOf(cb), 1);
159
- return true;
160
- }
161
- }
162
- return false;
163
- }
164
-
165
- noneWithContext(context: any): number {
166
- const toRemoveAll: EventCallback[] = [];
167
- let cnt = 0;
168
-
169
- for (const cb of this._allListeners) {
170
- if(context == cb.context) {
171
- toRemoveAll.push(cb);
172
- }
173
- }
174
-
175
- for (const k in this._listeners) {
176
- const toRemove: EventCallback[] = [];
177
-
178
- for (const cb of this._listeners[k]) {
179
- if(context == cb.context) {
180
- toRemove.push(cb);
181
- }
182
- }
183
-
184
- for (const cb of toRemove) {
185
- this._listeners[k].splice(this._listeners[k].indexOf(cb), 1);
186
- cnt++;
187
- }
188
- }
189
-
190
- for (const cb of toRemoveAll) {
191
- this._allListeners.splice(this._allListeners.indexOf(cb), 1);
192
- cnt++;
193
- }
194
-
195
- return cnt;
196
- }
197
-
198
- dispatch(event: string, ...args: any[]): void {
199
- if(event in this._listeners) {
200
- for (let i = 0; i < this._listeners[event].length; i++) {
201
- const cb: EventCallback = this._listeners[event][i];
202
-
203
- // We need to unbind callbacks before they're called to prevent
204
- // infinite loops if the event is somehow triggered within the
205
- // callback
206
- if (cb.once) {
207
- this.off(event, cb.key);
208
- i--;
209
- }
210
-
211
- cb.call(args);
212
- }
213
- }
214
-
215
- for (const cb of this._allListeners) {
216
- if (cb.once) {
217
- this.none(cb.key);
218
- }
219
- cb.call(args);
220
- }
221
-
222
- for (const relay of this._relays) {
223
- relay.dispatch(event, ...args);
224
- }
225
-
226
- if (this === EventDispatcher.stream)
227
- return;
228
-
229
- let streamArgs = args;
230
- if (args.length > 0 && args[0] !== this)
231
- streamArgs = [this, ...args];
232
- EventDispatcher.stream.dispatch(event, ...streamArgs);
233
- }
234
- }
package/src/Formats.ts DELETED
@@ -1,33 +0,0 @@
1
- import {Registry} from "./Registry";
2
- import {Configuration} from "./Configuration";
3
-
4
- export class Formats {
5
- protected static CurrencyFormatter: Intl.NumberFormat;
6
-
7
- @Registry.format('currency')
8
- public static currency(value: string | number) {
9
- if (!Formats.CurrencyFormatter) {
10
- const setup = () => {
11
- const locale: string = Configuration.get('locale', 'en-US') as string;
12
- const currency: string = Configuration.get('currency', 'USD') as string;
13
- Formats.CurrencyFormatter = new Intl.NumberFormat(locale, {
14
- style: 'currency',
15
- currency: currency
16
- });
17
- };
18
- Configuration.instance.on('change:locale', setup);
19
- Configuration.instance.on('change:currency', setup);
20
- setup();
21
- }
22
- value = `${value}`.replace(/[^0-9.]+/, '');
23
- value = parseFloat(value);
24
- if (isNaN(value))
25
- return '';
26
- return Formats.CurrencyFormatter.format(value);
27
- }
28
-
29
- @Registry.format('date')
30
- public static date(value: Date | string | number) {
31
- return value ? value.toLocaleString() : '';
32
- }
33
- }
@@ -1,85 +0,0 @@
1
- export interface IMessageHash {
2
- [key: string]: string[] | null | undefined;
3
- }
4
-
5
- export class MessageList {
6
- [key: string]: any; // We're trying to mimic a basic object
7
-
8
- private _cachedList: IMessageHash | undefined;
9
-
10
- constructor(messages?: IMessageHash) {
11
- this.reset();
12
- if (messages)
13
- this.merge(messages);
14
- }
15
-
16
- reset(): void {
17
- // Reset the object
18
- const keys: string[] = this.keys;
19
-
20
- this._cachedList = undefined;
21
-
22
- if (keys.length > 0) {
23
- for (const field of keys) {
24
- delete this[field];
25
- }
26
- }
27
- }
28
-
29
- add(field: string, errors: string[] | string, replace: boolean = false) {
30
- this.merge({
31
- [field]: typeof errors == 'string' ? [errors] : errors
32
- }, replace);
33
- }
34
-
35
- merge(messages: IMessageHash | null | undefined, replace: boolean = false) {
36
- if (!messages) return;
37
-
38
- this._cachedList = undefined;
39
-
40
- const keys: string[] = this.keys;
41
- for (const field in messages) {
42
- if (!messages.hasOwnProperty(field))
43
- continue;
44
- const message: string[] | null | undefined = messages[field];
45
-
46
- if (message instanceof Array) {
47
- if (!replace && keys.indexOf(field) > -1) {
48
- message.map((x) => {
49
- this[field].push(x);
50
- });
51
- } else if (message.length > 0) {
52
- this[field] = message;
53
- }
54
- }
55
- }
56
- }
57
-
58
- get list(): IMessageHash {
59
- if (this._cachedList)
60
- return this._cachedList;
61
-
62
- const list: IMessageHash = {},
63
- keys: string[] = this.keys;
64
-
65
- for (const field of keys) {
66
- list[field] = this[field];
67
- }
68
- this._cachedList = list;
69
- return list;
70
- }
71
-
72
- get keys(): string[] {
73
- const keys = Object.keys(this);
74
- keys.splice(keys.indexOf('_cachedList'), 1);
75
- return keys;
76
- }
77
-
78
- get length(): number {
79
- return this.keys.length;
80
- }
81
-
82
- get isEmpty(): boolean {
83
- return this.length === 0;
84
- }
85
- }
package/src/Model.ts DELETED
@@ -1,44 +0,0 @@
1
- import {MessageList} from "./MessageList";
2
- import {ScopeData} from "./Scope/ScopeData";
3
- import {IScopeData} from "./Scope/ScopeDataAbstract";
4
- import {Registry} from "./Registry";
5
-
6
- @Registry.model('Model')
7
- export class Model extends ScopeData {
8
- _errors!: MessageList;
9
- _hasErrors: boolean;
10
-
11
- constructor(data: IScopeData | null | undefined = null) {
12
- super();
13
-
14
- this._hasErrors = false;
15
- if (data)
16
- this.setData(data);
17
- this._lastData = this.getData();
18
- this._constructor();
19
- }
20
-
21
- _constructor() {}
22
-
23
- validate(): MessageList {
24
- this._hasErrors = false;
25
- this._errors = new MessageList;
26
- for(const property of this.getProperties()) {
27
- const errors = this['__'+property].validate();
28
- if(errors.length > 0) {
29
- this._errors.add(property, errors, true);
30
- this._hasErrors = true;
31
- }
32
- }
33
- return this._errors;
34
- }
35
-
36
- hasErrors(): boolean {
37
- this.validate();
38
- return this._hasErrors;
39
- }
40
-
41
- get errors(): MessageList {
42
- return this._errors;
43
- }
44
- }
package/src/Modifiers.ts DELETED
@@ -1,54 +0,0 @@
1
-
2
- export class Modifier {
3
- public readonly name: string;
4
- public readonly arguments: string[];
5
-
6
- constructor(modifier: string) {
7
- const [name, ...args] = modifier.split(',');
8
- this.name = name;
9
- this.arguments = args;
10
- }
11
-
12
- public getArguments(fallback: string[] = []): string[] {
13
- return this.arguments.length ? this.arguments : fallback;
14
- }
15
- }
16
-
17
- export class Modifiers {
18
- protected modifiers: Map<string, Modifier> = new Map<string, Modifier>();
19
-
20
- constructor(modifiers: string[] = []) {
21
- for (const modifier of modifiers) {
22
- this.add(modifier);
23
- }
24
- }
25
-
26
- public add(modifier: string) {
27
- const m = new Modifier(modifier);
28
- this.modifiers.set(m.name, m);
29
- }
30
-
31
- public has(name: string): boolean {
32
- return this.modifiers.has(name);
33
- }
34
-
35
- public get(name: string): Modifier {
36
- return this.modifiers.get(name);
37
- }
38
-
39
- public get iter(): Modifier[] {
40
- return Array.from(this.modifiers.values());
41
- }
42
-
43
- public get names(): string[] {
44
- return this.iter.map(m => m.name);
45
- }
46
-
47
- public get length(): number {
48
- return this.modifiers.size;
49
- }
50
-
51
- public static fromAttribute(attribute: string): Modifiers {
52
- return new Modifiers(attribute.split('|').splice(1));
53
- }
54
- }
package/src/Query.ts DELETED
@@ -1,17 +0,0 @@
1
- import {TagList} from "./Tag/TagList";
2
- import {VisionHelper} from "./helpers/VisionHelper";
3
- import {DOM} from "./DOM";
4
- import {WrappedWindow} from "./DOM/WrappedWindow";
5
- import {WrappedDocument} from "./DOM/WrappedDocument";
6
- import {DOMObject} from "./DOM/DOMObject";
7
-
8
- export async function Query(selector: string, dom: DOM = null): Promise<TagList | DOMObject> {
9
- if (VisionHelper.document) {
10
- dom = dom || DOM.instance;
11
- const tagList = await dom.get(selector, true);
12
- if (tagList.length == 1 || tagList.length == 1 && (tagList[0] instanceof WrappedWindow || tagList[0] instanceof WrappedDocument))
13
- return tagList[0];
14
- return tagList;
15
- }
16
- return new TagList();
17
- }
package/src/Registry.ts DELETED
@@ -1,141 +0,0 @@
1
- import {EventDispatcher} from "./EventDispatcher";
2
- import {ClassNode} from "./AST/ClassNode";
3
-
4
- export function register(store: string, key: string = null, setup: () => void = null) {
5
- return function(target: any, _key: string = null) {
6
- key = key || target.prototype.constructor.name;
7
- if (_key !== null)
8
- target = target[_key];
9
- Registry.instance[store].register(key, target);
10
- if (setup)
11
- setup();
12
- }
13
- }
14
-
15
- export class RegistryStore<T = any> extends EventDispatcher {
16
- private timeouts = {};
17
- private readonly store: {[key: string]: T};
18
-
19
- constructor(defaults = null) {
20
- super();
21
- this.store = defaults || {};
22
- }
23
-
24
- register(key: string, item: any) {
25
- this.store[key] = item;
26
- this.dispatch('register', key, item);
27
- this.dispatch(`registered:${key}`, item);
28
- }
29
-
30
- get(key: string): Promise<any> {
31
- return new Promise((resolve, reject) => {
32
- if (!!this.store[key]) {
33
- resolve(this.store[key]);
34
- } else {
35
- console.warn(`Waiting for ${key} to be registered.`);
36
- this.timeouts[key] = setTimeout(() => {
37
- console.warn(`RegistryStore.get timed out after 5 seconds trying to find ${key}. Make sure the item is registered.`);
38
- }, 5000);
39
- this.once(`registered:${key}`, (cls) => {
40
- clearTimeout(this.timeouts[key]);
41
- resolve(cls);
42
- })
43
- }
44
- });
45
- }
46
-
47
- getSynchronous(key: string) {
48
- return this.store[key];
49
- }
50
-
51
- has(key: string) {
52
- return !!this.store[key];
53
- }
54
-
55
- get keys(): string[] {
56
- return Object.keys(this.store);
57
- }
58
- }
59
-
60
- export class Registry extends EventDispatcher {
61
- protected static _instance: Registry;
62
- public readonly tags: RegistryStore;
63
- public readonly components: RegistryStore;
64
- public readonly functions: RegistryStore;
65
- public readonly controllers: RegistryStore;
66
- public readonly classes: RegistryStore;
67
- public readonly models: RegistryStore;
68
- public readonly templates: RegistryStore;
69
- public readonly services: RegistryStore;
70
- public readonly types: RegistryStore;
71
- public readonly validators: RegistryStore;
72
- public readonly formats: RegistryStore;
73
- public readonly attributes: RegistryStore;
74
-
75
- constructor() {
76
- super();
77
- this.tags = new RegistryStore();
78
- this.components = new RegistryStore();
79
- this.functions = new RegistryStore();
80
- this.controllers = new RegistryStore();
81
- this.classes = new RegistryStore();
82
- this.models = new RegistryStore();
83
- this.templates = new RegistryStore<HTMLTemplateElement>();
84
- this.services = new RegistryStore();
85
- this.types = new RegistryStore();
86
- this.validators = new RegistryStore();
87
- this.formats = new RegistryStore();
88
- this.attributes = new RegistryStore();
89
- }
90
-
91
- public static component(key: string = null, setup = null) {
92
- return register('components', key, setup);
93
- }
94
-
95
- public static function(key: string = null, setup = null) {
96
- return register('functions', key, setup);
97
- }
98
-
99
- public static class(cls: ClassNode) {
100
- Registry.instance.classes.register(cls.fullSelector, cls);
101
- }
102
-
103
- public static controller(key: string = null, setup = null) {
104
- return register('controllers', key, setup);
105
- }
106
-
107
- public static model(key: string = null, setup = null) {
108
- return register('models', key, setup);
109
- }
110
-
111
- public static template(key: string = null, setup = null) {
112
- return register('templates', key, setup);
113
- }
114
-
115
- public static service(key: string = null, setup = null) {
116
- return register('services', key, setup);
117
- }
118
-
119
- public static type(key: string = null, setup = null) {
120
- return register('types', key, setup);
121
- }
122
-
123
- public static validator(key: string = null, setup = null) {
124
- return register('validators', key, setup);
125
- }
126
-
127
- public static format(key: string = null, setup = null) {
128
- return register('formats', key, setup);
129
- }
130
-
131
- public static attribute(attributeName: string = null, setup = null) {
132
- return register('attributes', attributeName, setup);
133
- }
134
-
135
- public static get instance() {
136
- if (!Registry._instance)
137
- Registry._instance = new Registry();
138
-
139
- return Registry._instance;
140
- }
141
- }
@@ -1,27 +0,0 @@
1
- import {IScopeData, ScopeDataAbstract} from "./ScopeDataAbstract";
2
-
3
- export class DynamicScopeData extends ScopeDataAbstract {
4
- constructor(data: IScopeData | string[]) {
5
- super();
6
- if(data instanceof Array) {
7
- for (const field of data)
8
- this.createProperty(field);
9
- } else {
10
- this.setData(data);
11
- }
12
- }
13
-
14
- setData(data: IScopeData) {
15
- for(const field of Object.keys(data))
16
- if(!this.hasProperty(field)) {
17
- this.createProperty(field);
18
- }
19
- super.setData(data);
20
- }
21
-
22
- on(event: string, fct: (...args: any[]) => any, context?: any, once?: boolean): number {
23
- if(event.indexOf('change:') == 0)
24
- this.createProperty(event.substr(7));
25
- return super.on(event, fct, context, once);
26
- }
27
- }
@@ -1,21 +0,0 @@
1
- import {ScopeAbstract} from "./ScopeAbstract";
2
-
3
- export class ObjectAccessor extends ScopeAbstract {
4
- public readonly data: any;
5
-
6
- constructor(data: any) {
7
- super();
8
- this.data = data;
9
- }
10
-
11
- public get(field: string, fallback = null): any {
12
- const value = this.data[field];
13
- if (typeof value === 'object')
14
- return new ObjectAccessor(value);
15
- return value === undefined ? fallback : value;
16
- }
17
-
18
- public set(field: string, value: any): void {
19
- this.data[field] = value;
20
- }
21
- }
@@ -1,29 +0,0 @@
1
- import {DOM} from "../DOM";
2
- import {Scope} from "../Scope";
3
- import {ScopeReference} from "./ScopeReference";
4
-
5
-
6
- export class QueryReference extends ScopeReference {
7
- constructor(
8
- public readonly path: string,
9
- public readonly scope: Scope
10
- ) {
11
- super();
12
- }
13
-
14
- public async getScope() {
15
- let parts: string[] = this.path.split('.');
16
- parts = parts.splice(0, parts.length - 1);
17
- const qResult = await DOM.instance.exec(parts.join('.'));
18
- return qResult.length === 1 ? qResult[0].scope : qResult.map((dobj) => dobj.scope);
19
- }
20
-
21
- public async getKey() {
22
- const parts: string[] = this.path.split('.');
23
- return parts[parts.length - 1];
24
- }
25
-
26
- public async getValue() {
27
- return await DOM.instance.exec(this.path);
28
- }
29
- }
@@ -1,11 +0,0 @@
1
- import {EventDispatcher} from "../EventDispatcher";
2
-
3
- export interface IScope {
4
- get(field: string, fallback?: any): any;
5
- set(field: string, value: any): void;
6
- }
7
-
8
- export abstract class ScopeAbstract extends EventDispatcher implements IScope {
9
- public abstract get(field: string, fallback?: any): any;
10
- public abstract set(field: string, value: any): void;
11
- }