vasille 1.2.6 → 2.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 (122) hide show
  1. package/LICENSE.md +21 -0
  2. package/flow-typed/vasille.js +836 -0
  3. package/img/favicon.svg +17 -204
  4. package/lib/binding/attribute.js +32 -0
  5. package/lib/binding/binding.js +39 -0
  6. package/lib/binding/class.js +51 -0
  7. package/lib/binding/style.js +29 -0
  8. package/lib/core/core.js +178 -0
  9. package/lib/core/destroyable.js +45 -0
  10. package/lib/core/errors.js +16 -0
  11. package/lib/core/executor.js +154 -0
  12. package/lib/core/ivalue.js +56 -0
  13. package/lib/core/signal.js +50 -0
  14. package/lib/core/slot.js +47 -0
  15. package/lib/index.js +27 -22
  16. package/lib/models/array-model.js +208 -0
  17. package/lib/models/listener.js +130 -0
  18. package/lib/models/map-model.js +66 -0
  19. package/lib/models/model.js +1 -0
  20. package/lib/models/object-model.js +78 -0
  21. package/lib/models/set-model.js +62 -0
  22. package/lib/node/app.js +38 -0
  23. package/lib/node/interceptor.js +83 -0
  24. package/lib/node/node.js +1185 -0
  25. package/lib/node/watch.js +27 -0
  26. package/lib/value/expression.js +83 -0
  27. package/lib/value/mirror.js +58 -0
  28. package/lib/value/pointer.js +26 -0
  29. package/lib/value/reference.js +55 -0
  30. package/lib/views/array-view.js +24 -0
  31. package/lib/views/base-view.js +49 -0
  32. package/lib/views/map-view.js +20 -0
  33. package/lib/views/object-view.js +20 -0
  34. package/lib/views/repeat-node.js +106 -0
  35. package/lib/views/repeater.js +63 -0
  36. package/lib/views/set-view.js +23 -0
  37. package/package.json +16 -15
  38. package/types/binding/attribute.d.ts +23 -0
  39. package/types/binding/binding.d.ts +30 -0
  40. package/types/binding/class.d.ts +23 -0
  41. package/types/binding/style.d.ts +23 -0
  42. package/types/core/core.d.ts +140 -0
  43. package/types/core/destroyable.d.ts +15 -0
  44. package/types/core/errors.d.ts +4 -0
  45. package/types/core/executor.d.ts +87 -0
  46. package/types/core/ivalue.d.ts +45 -0
  47. package/types/core/signal.d.ts +35 -0
  48. package/types/core/slot.d.ts +45 -0
  49. package/types/index.d.ts +27 -21
  50. package/types/models/array-model.d.ts +103 -0
  51. package/types/models/listener.d.ts +74 -0
  52. package/types/models/map-model.d.ts +35 -0
  53. package/types/models/model.d.ts +19 -0
  54. package/types/models/object-model.d.ts +36 -0
  55. package/types/models/set-model.d.ts +34 -0
  56. package/types/node/app.d.ts +37 -0
  57. package/types/node/interceptor.d.ts +50 -0
  58. package/types/node/node.d.ts +739 -0
  59. package/types/node/watch.d.ts +23 -0
  60. package/types/value/expression.d.ts +60 -0
  61. package/types/value/mirror.d.ts +35 -0
  62. package/types/value/pointer.d.ts +19 -0
  63. package/types/value/reference.d.ts +30 -0
  64. package/types/views/array-view.d.ts +13 -0
  65. package/types/views/base-view.d.ts +44 -0
  66. package/types/views/map-view.d.ts +11 -0
  67. package/types/views/object-view.d.ts +11 -0
  68. package/types/views/repeat-node.d.ts +35 -0
  69. package/types/views/repeater.d.ts +38 -0
  70. package/types/views/set-view.d.ts +11 -0
  71. package/CHANGELOG.md +0 -23
  72. package/lib/attribute.js +0 -71
  73. package/lib/attribute.js.map +0 -1
  74. package/lib/bind.js +0 -286
  75. package/lib/bind.js.map +0 -1
  76. package/lib/class.js +0 -97
  77. package/lib/class.js.map +0 -1
  78. package/lib/executor.js +0 -167
  79. package/lib/executor.js.map +0 -1
  80. package/lib/index.js.map +0 -1
  81. package/lib/interfaces/core.js +0 -247
  82. package/lib/interfaces/core.js.map +0 -1
  83. package/lib/interfaces/destroyable.js +0 -39
  84. package/lib/interfaces/destroyable.js.map +0 -1
  85. package/lib/interfaces/errors.js +0 -49
  86. package/lib/interfaces/errors.js.map +0 -1
  87. package/lib/interfaces/ibind.js +0 -31
  88. package/lib/interfaces/ibind.js.map +0 -1
  89. package/lib/interfaces/idefinition.js +0 -64
  90. package/lib/interfaces/idefinition.js.map +0 -1
  91. package/lib/interfaces/ivalue.js +0 -60
  92. package/lib/interfaces/ivalue.js.map +0 -1
  93. package/lib/models.js +0 -579
  94. package/lib/models.js.map +0 -1
  95. package/lib/node.js +0 -2155
  96. package/lib/node.js.map +0 -1
  97. package/lib/property.js +0 -38
  98. package/lib/property.js.map +0 -1
  99. package/lib/style.js +0 -66
  100. package/lib/style.js.map +0 -1
  101. package/lib/value.js +0 -203
  102. package/lib/value.js.map +0 -1
  103. package/lib/views.js +0 -688
  104. package/lib/views.js.map +0 -1
  105. package/types/attribute.d.ts +0 -18
  106. package/types/bind.d.ts +0 -72
  107. package/types/class.d.ts +0 -19
  108. package/types/data.d.ts +0 -11
  109. package/types/event.d.ts +0 -10
  110. package/types/executor.d.ts +0 -57
  111. package/types/interfaces/core.d.ts +0 -129
  112. package/types/interfaces/destroyable.d.ts +0 -11
  113. package/types/interfaces/errors.d.ts +0 -24
  114. package/types/interfaces/ibind.d.ts +0 -19
  115. package/types/interfaces/idefinition.d.ts +0 -29
  116. package/types/interfaces/ivalue.d.ts +0 -40
  117. package/types/models.d.ts +0 -179
  118. package/types/node.d.ts +0 -906
  119. package/types/property.d.ts +0 -9
  120. package/types/style.d.ts +0 -28
  121. package/types/value.d.ts +0 -43
  122. package/types/views.d.ts +0 -135
package/lib/node.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/node.js"],"names":[],"mappings":"GAAG,AAAK;;;;;AAKR,AAAmG,AAAA;;;;;;;;;AASnG,AAAyF,AAAA;;;;;;;;;;;;UAY/E,AAAA,AAAgB;;;;;;YAMd,AAAA,AAAU;;;;;;;;;;;;;;;;;YAiBV,AAAA,AAAK;WACN,AAAA,AAAO;WACP,AAAA,AAAO;eACH,AAAA,AAAc;aAChB,AAAA,AAAyB;;;;;;;;mCAQH,AAAA,AAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+B7C,AAAA,AAAK;;;;;;SAMF,AAAA,AAAM;;;;;;;;;;;;;;;;;;;uBAmBQ,AAAA,AAAK,KAAK,AAAA,AAAO,KAAK,AAAA,AAAO,SAAS,AAAA,AAAc,OAAO,AAAA,AAAyB;;;;;;;;gBAQ3F,AAAA,AAAM;;;;;;;;;;AAUtB,AAA8E,AAAA;;;;;;;;;;aAUjE,AAAA,AAAS;;;;;;UAMZ,AAAA,AAAc;;;;;;UAMd,AAAA,AAAgB;;;;;;WAMf,AAAA,AAAqB;;;;;;SAMvB,AAAA,AAAiC;;;;;;UAMhC,AAAA,AAAoB;;;;;;WAMnB,AAAA,AAAS;;;;;;cAMN,AAAA,AAAS;;;;;;cAMT,AAAA,AAAU;;;;;;cAMV,AAAA,AAAQ;;;;;;cAMR,AAAA,AAIR;;;;;;cAMQ,AAAA,AAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6DP,AAAA,AAAoB;;;;;;mBAMf,AAAA,AAAkB;;;;;;;;;;;;;;;YAezB,AAAA,AAAK;WACN,AAAA,AAAO;WACP,AAAA,AAAO;eACH,AAAA,AAAc;aAChB,AAAA,AAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA+CE,AAAA,AAAQ,OAAO,AAAA,AAAQ,QAAQ,AAAA,AAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA2C3C,AAAA,AAAM;cACR,AAAA,AAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAqDf,AAAA,AAAK,EAAE,AAAA,AAAa;;;;;;;;;;;;gBAYpB,AAAA,AAAU,QAAQ,AAAA,AAAK,SAAS,AAAA,AAAgB;;;;;;;;;;;;;;;;;;;;;mBAqB7C,AAAA,AAAU,EAAE,AAAA,AAAc;;;;;;;;;;;;;;;;gBAgB7B,AAAA,AAAQ,EAAE,AAAA,AAAgB;;;;;;;;;;mBAUvB,AAAA,AAAQ,QAAQ,AAAA,AAAiC,EAAE,AAAA,AAAM;;;;;;;;;;;;;;;mBAezD,AAAA,AAA2C,EAAE,AAAA,AAAM;;;;;;;;;;;;;;;aAezD,AAAA,AAAQ;mBACF,AAAA,AAAU;kBACX,AAAA,AAAoB;MAChC,AAAA,AAAM;;;;;;;;;;;;;;;;;;aAkBC,AAAA,AAAQ;cACP,AAAA,AAAQ;MAChB,AAAA,AAAM;;;;;;;;;;;aAWC,AAAA,AAA6B;MACpC,AAAA,AAAM;;;;;;;;;;;;kBAYM,AAAA,AAAQ,EAAE,AAAA,AAAM;;;;;;;;;;uBAUX,AAAA,AAAe,EAAE,AAAA,AAAM;;;;;;;;;;;;;WAanC,AAAA,AAAS;cACN,AAAA,AAA0C;aAC3C,AAAA,AAAW;MAClB,AAAA,AAAM;;;;;;;;;;iBAUK,AAAA,AAAQ,EAAE,AAAA,AAAgB;;;;;;;;;;oBAUvB,AAAA,AAAQ,QAAQ,AAAA,AAAoC,EAAE,AAAA,AAAM;;;;;;;;;;;;;;;oBAe5D,AAAA,AAA2C,EAAE,AAAA,AAAM;;;;;;;;;;;;;;;aAe1D,AAAA,AAAQ;mBACF,AAAA,AAAU;kBACX,AAAA,AAAoB;MAChC,AAAA,AAAM;;;;;;;;;;;;;;;;;;aAkBC,AAAA,AAAQ;cACP,AAAA,AAAQ;MAChB,AAAA,AAAM;;;;;;;;;;;aAWC,AAAA,AAA6B;MACpC,AAAA,AAAM;;;;;;;;;;;;qBAYS,AAAA,AAAQ,WAAW,AAAA,AAAiB;;;;;;;;;cAS3C,AAAA,AAAQ,OAAO,AAAA,AAAU;;;;;;;;;;;;;;;gBAevB,AAAA,AAAQ,UAAU,AAAA,AAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAsC5B,AAAA,AAAQ,UAAU,AAAA,AAAU,UAAU,AAAA,AAAmC,EAAE,AAAA,AAAM;;;;;;;;;4BASvE,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;0BAQnE,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;2BAQhE,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;2BAQjE,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;0BAQlE,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;yBAQlE,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;0BAQhE,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;wBAQnE,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;sBAQnE,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;yBAQ9D,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;qBAQrE,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;sBAQhE,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;wBAQ/D,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;yBAQhE,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;wBAQlE,AAAA,AAAuB,UAAU,AAAA,AAAkC;;;;;;;;sBAQrE,AAAA,AAAuB,UAAU,AAAA,AAAmC;;;;;;;;yBAQjE,AAAA,AAAuB,UAAU,AAAA,AAAmC;;;;;;;;2BAQlE,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;0BAQlE,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;yBAQlE,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;4BAQ9D,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;sBAQvE,AAAA,AAAoB,UAAU,AAAA,AAAmC;;;;;;;;sBAQjE,AAAA,AAAuB,UAAU,AAAA,AAAmC;;;;;;;;sBAQpE,AAAA,AAAuB,UAAU,AAAA,AAAmC;;;;;;;;qBAQrE,AAAA,AAAuB,UAAU,AAAA,AAAmC;;;;;;;;wBAQjE,AAAA,AAAuB,UAAU,AAAA,AAAmC;;;;;;;;0BAQlE,AAAA,AAAuB,UAAU,AAAA,AAAmC;;;;;;;;yBAQrE,AAAA,AAAuB,UAAU,AAAA,AAAmC;;;;;;;;wBAQrE,AAAA,AAAuB,UAAU,AAAA,AAAmC;;;;;;;;qBAQvE,AAAA,AAAmB,UAAU,AAAA,AAAmC;;;;;;;;wBAQ7D,AAAA,AAAmB,UAAU,AAAA,AAAmC;;;;;;;;0BAQ9D,AAAA,AAAmB,UAAU,AAAA,AAAmC;;;;;;;;yBAQjE,AAAA,AAAmB,UAAU,AAAA,AAAmC;;;;;;;;0BAQ/D,AAAA,AAAmB,UAAU,AAAA,AAAmC;;;;;;;;yBAQjE,AAAA,AAAmB,UAAU,AAAA,AAAmC;;;;;;;;0BAQ/D,AAAA,AAAmB,UAAU,AAAA,AAAmC;;;;;;;;qBAQrE,AAAA,AAAmB,UAAU,AAAA,AAAmC;;;;;;;;4BAQzD,AAAA,AAAsB,UAAU,AAAA,AAAmC;;;;;;;;6BAQlE,AAAA,AAAsB,UAAU,AAAA,AAAmC;;;;;;;;4BAQpE,AAAA,AAAsB,UAAU,AAAA,AAAmC;;;;;;;;4BAQnE,AAAA,AAAsB,UAAU,AAAA,AAAmC;;;;;;;;0BAQrE,AAAA,AAAsB,UAAU,AAAA,AAAmC;;;;;;;;8BAQ/D,AAAA,AAAsB,UAAU,AAAA,AAAmC;;;;;;;;2BAQtE,AAAA,AAAsB,UAAU,AAAA,AAAmC;;;;;;;;6BAQjE,AAAA,AAAsB,UAAU,AAAA,AAAmC;;;;;;;;kCAQ9D,AAAA,AAAsB,UAAU,AAAA,AAAmC;;;;;;;;mCAQlE,AAAA,AAAsB,UAAU,AAAA,AAAmC;;;;;;;;+BAQvE,AAAA,AAAwB,UAAU,AAAA,AAAmC;;;;;;;;6BAQvE,AAAA,AAAwB,UAAU,AAAA,AAAmC;;;;;;;;kCAQhE,AAAA,AAAwB,UAAU,AAAA,AAAmC;;;;;;;;gCAQvE,AAAA,AAAwB,UAAU,AAAA,AAAmC;;;;;;;;oBAQjF,AAAA,AAAwB,UAAU,AAAA,AAAmC;;;;;;;;qBAQpE,AAAA,AAAwB,UAAU,AAAA,AAAmC;;;;;;;;sBAQpE,AAAA,AAAwB,UAAU,AAAA,AAAmC;;;;;;;;;iBAS1E,AAAA,AAAU,UAAU,AAAA,AAAoB;;;;;;;;;;;;;;aAc5C,AAAA,AAAU,UAAU,AAAA,AAAoB,EAAE,AAAA,AAAO;gBAC9C,AAAA,AAAO;;;;;;;;;;;;;qBAaF,AAAA,AAAU;gBACf,AAAA,AAAiB;;;;;;;oBAOb,AAAA,AAAQ,EAAE,AAAA,AAAM;;;;;;;;;;;;gBAYpB,AAAA,AAAQ,EAAE,AAAA,AAAO;;;;;;;;;;;;;;;qBAeZ,AAAA,AAAa,EAAE,AAAA,AAAM;;;;;;;;;;;;;;;;;;;;;2BAqBf,AAAA,AAAW,EAAE,AAAA,AAAS;;;;;;;;;;;;;;;;;;;;;;;wBAuBzB,AAAA,AAAQ,SAAS,AAAA,AAAc,EAAE,AAAA,AAAM;cACjD,AAAA,AAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAyCT,AAAA,AAAiB,QAAQ,AAAA,AAAW,OAAO,AAAA,AAAW,EAAE,AAAA,AAAM;cACtE,AAAA,AAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAqCX,AAAA,AAAiB,EAAE,AAAA,AAAM;cAC/B,AAAA,AAAiB;;;;;;;;;;;;;;;qBAeV,AAAA,AAAiB,EAAE,AAAA,AAAM;cAChC,AAAA,AAAiB;;;;;;;;;;;;;qBAaV,AAAA,AAAiB,EAAE,AAAA,AAAM;;;;;;;;;;;aAWjC,AAAA,AAAsB;WACxB,AAAA,AAA4B;MACjC,AAAA,AAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA6BG,AAAA,AAAQ;WACb,AAAA,AAAiC;MACtC,AAAA,AAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA+BE,AAAG;aACL,AAAA,AAAG;cACF,AAAA,AAAiB;WACpB,AAAA,AAA+B;MACpC,AAAA,AAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA6CU,AAAG,OAAO,AAAA,AAAG,QAAQ,AAAA,AAAiB;;;;;;;;;;;;;;;;;yCAiBpB,AAAA,AAAQ;;;;;;;;;;;;;;;;;;;gBAmBjC,AAAG;cACL,AAAA,AAAG;cACH,AAAA,AAAiB;WACpB,AAAA,AAA2C;MAChD,AAAA,AAAM;;;;;;;;;;iBAUK,AAAA,AAAY;;;;;;;;;;;;;;;;;;;;;aAqBhB,AAAA,AAAK;WACP,AAAA,AAA8C;MACnD,AAAA,AAAM;;;;;;;;;;;;eAYG,AAAA,AAAK;aACP,AAAA,AAA8C;eAC5C,AAAA,AAA8C;MACvD,AAAA,AAAM;;;;;;;;;;iBAUK,AAAA,AAAgG;MAC3G,AAAA,AAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA4BI,AAAA,AAA2B,KAAK,AAAA,AAA8C;QACtF,AAAA,AAAuF;;;;;;;;gBAQ/E,AAA8C;QACtD,AAAA,AAAuF;;;;;;;;qBAQ1E,AAAA,AAAgB;cACvB,AAAA,AAAiB;;;uBAGR,AAAA,AAAQ;;;;;;;;;oBASX,AAAA,AAAa;;;;;0BAKP,AAAA,AAAQ;gBAClB,AAAA,AAAiB;;;;;;;;qBAQZ,AAAA,AAAQ,EAAE,AAAA,AAAQ;wCACC,AAAA,AAAiB;;;;;;;;mBAQtC,AAAA,AAAQ,QAAQ,AAAA,AAAyB;gBAC5C,AAAA,AAAiB;;;;;;;;;oBASb,AAAA,AAAQ,WAAW,AAAA,AAAQ,QAAQ,AAAA,AAAyB;gBAChE,AAAA,AAAiB;;;;;;;cAOnB,AAAA,AAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAuCrB,AAAA,AAAa;;;;;;;;;;;;;;;;YAgBX,AAAA,AAAK;WACN,AAAA,AAAO;WACP,AAAA,AAAO;eACH,AAAA,AAAc;gBACb,AAAA,AAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA6BZ,AAAA,AAAK;WACN,AAAA,AAAO;WACP,AAAA,AAAO;eACH,AAAA,AAAc;;;;;;;;;;;;mBAYV,AAAA,AAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA+BnB,AAAA,AAAiB;;;;;;;;;;;;;;AAcnC,AAA0D,AAAA;AAC1D,AAAuG,AAAA;;;;;;;;;;QAU/F,AAAA,AAAK;;;;;;oBAMO,AAAA,AAAK;;;;;;;;;;;;;;;;;;;;;;;UAuBf,AAAA,AAAQ;;;;;;SAMT,AAAA,AAAW;;;;;;UAMV,AAAA,AAAiF;;;;;;SAMlF,AAAA,AAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAuCA,AAAA,AAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAwCrB,AAAA,AAAgB;;;;;;;;;;;;;;oBAchB,AAAA,AAAK,KAAK,AAAA,AAAU;;;;;;;;;;;;;;;;;;;;;yBAqBf,AAAA,AAAK,KAAK,AAAA,AAAO,KAAK,AAAA,AAAO,SAAS,AAAA,AAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA4ClE,AAAA,AAAS;;;;;;SAMX,AAAA,AAAU;;;;;;;eAOJ,AAAG,OAAO,AAAA,AAAa,OAAO,AAAA,AAAC,AAAqB;;;;;;;;;;;;;;;;;WAiBxD,AAAG,QAAQ,AAAA,AAAiB;;;;;;;;;;oBAUnB,AAAA,AAAiB"}
package/lib/property.js DELETED
@@ -1,38 +0,0 @@
1
- //
2
- import { Callable } from "./interfaces/idefinition.js";
3
- import { IValue } from "./interfaces/ivalue.js";
4
- import { Reference } from "./value.js";
5
-
6
-
7
-
8
- /**
9
- * Constructs a property field value
10
- * @param value {?any} is the initial value of field
11
- * @param func {?Callable} is the function to calc filed value
12
- * @return {IValue} Given value or new generated
13
- */
14
- export function propertify (
15
- value = null,
16
- func = null
17
- ) {
18
- if (func) {
19
- let v = func.func();
20
-
21
- if (v instanceof IValue) {
22
- return v;
23
- }
24
- else {
25
- return new Reference(v);
26
- }
27
- }
28
- else {
29
- if (value instanceof IValue) {
30
- return value;
31
- }
32
- else {
33
- return new Reference(value);
34
- }
35
- }
36
- }
37
-
38
- //# sourceMappingURL=property.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/property.js"],"names":[],"mappings":"GAAG,AAAK;;;;;;;;;;;;;;UAcE,AAAA,AAAM;SACP,AAAA,AAAW;EAClB,AAAA,AAAa"}
package/lib/style.js DELETED
@@ -1,66 +0,0 @@
1
- //
2
- import { Binding } from "./bind.js";
3
- import { Callable } from "./interfaces/idefinition.js";
4
- import { IValue } from "./interfaces/ivalue.js";
5
- import { propertify } from "./property.js";
6
-
7
-
8
-
9
- /**
10
- * Constructs a style attribute value
11
- * @param rt {INode} The root node
12
- * @param ts {INode} The this node
13
- * @param name {String} The style attribute name
14
- * @param value {String | IValue | null} A value for attribute
15
- * @param func {?Callable} A getter of attribute value
16
- * @return {StyleBinding} A ready style binding
17
- */
18
- export function stylify (
19
- rt,
20
- ts,
21
- name,
22
- value = null,
23
- func = null
24
- ) {
25
- return new StyleBinding(rt, ts, name, null, propertify(value, func));
26
- }
27
-
28
- /**
29
- * Describes a style attribute binding
30
- * @extends Binding
31
- */
32
- export class StyleBinding extends Binding {
33
- /**
34
- * Constructs a style binding attribute
35
- * @param rt {INode} is root component
36
- * @param ts {INode} is this component
37
- * @param name {string} is the name of style property
38
- * @param func {function} is the function to calc style value
39
- * @param values is the value to be synced
40
- */
41
- constructor (
42
- rt,
43
- ts,
44
- name,
45
- func,
46
- ...values
47
- ) {
48
- super(rt, ts, name, func, ...values);
49
- }
50
-
51
- /**
52
- * Generates a function to update style property value
53
- * @param name {string}
54
- * @returns {Function} a function to update style property
55
- */
56
- bound (name) {
57
- return function (rt, ts, value) {
58
- if (rt.$) {
59
- rt.$.app.$run.setStyle(ts.$.el, name, value);
60
- }
61
- return value;
62
- };
63
- }
64
- }
65
-
66
- //# sourceMappingURL=style.js.map
package/lib/style.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/style.js"],"names":[],"mappings":"GAAG,AAAK;;;;AAIR,AAAoC,AAAA;;;;;;;;;;;;;;;OAe7B,AAAA,AAAO;OACP,AAAA,AAAO;SACL,AAAA,AAAQ;UACP,AAAA,AAA2B;SAC5B,AAAA,AAAW;EAClB,AAAA,AAAc;;;;;;;;;;;;;;;;;;WAkBL,AAAA,AAAO;WACP,AAAA,AAAO;aACL,AAAA,AAAQ;aACR,AAAA,AAAW;kBACN,AAAA,AAAuB;;;;;;;;;;gBAUzB,AAAA,AAAQ,EAAE,AAAA,AAAU;4BACR,AAAA,AAAK,KAAK,AAAA,AAAK,QAAQ,AAAA,AAAQ"}
package/lib/value.js DELETED
@@ -1,203 +0,0 @@
1
- //
2
- import { typeError } from "./interfaces/errors";
3
- import { checkType, isSubclassOf } from "./interfaces/idefinition";
4
- import { IValue } from "./interfaces/ivalue.js";
5
-
6
-
7
-
8
- /**
9
- * Declares a notifiable value
10
- * @implements IValue
11
- */
12
- export class Reference extends IValue {
13
- /**
14
- * The encapsulated value
15
- * @type {*}
16
- */
17
- value;
18
-
19
- /**
20
- * Array of handlers
21
- * @type {Set<Function>}
22
- */
23
- onchange;
24
-
25
- /**
26
- * Constructs a notifiable value
27
- * @param value {any} is initial value
28
- */
29
- constructor (value) {
30
- super();
31
- this.value = value;
32
- this.onchange = new Set();
33
- this.seal();
34
- }
35
-
36
- /**
37
- * Gets the notifiable value as js value
38
- * @returns {any} contained value
39
- */
40
- get $ () {
41
- return this.value;
42
- }
43
-
44
- /**
45
- * Sets the value and notify listeners
46
- * @param value {any} is the new value
47
- * @returns {Reference} a pointer to this
48
- */
49
- set $ (value) {
50
- if (this.value !== value) {
51
- if (this.type && !checkType(value, this.type)) {
52
- throw typeError("Unable to set reference value");
53
- }
54
-
55
- this.value = value;
56
-
57
- for (let handler of this.onchange) {
58
- handler(value);
59
- }
60
- }
61
-
62
- return this;
63
- }
64
-
65
- /**
66
- * Adds a new handler for value change
67
- * @param handler {function} is a user-defined event handler
68
- * @returns {Reference} a pointer to this
69
- */
70
- on (handler) {
71
- this.onchange.add(handler);
72
- return this;
73
- }
74
-
75
- /**
76
- * Removes a new handler for value change
77
- * @param handler {function} is a existing user-defined handler
78
- * @returns {Reference} a pointer to this
79
- */
80
- off (handler) {
81
- this.onchange.delete(handler);
82
- return this;
83
- }
84
-
85
- /**
86
- * Runs GC
87
- */
88
- $destroy () {
89
- super.$destroy();
90
- this.onchange.clear();
91
- }
92
- }
93
-
94
- /**
95
- * Declares a notifiable bind to a value
96
- * @extends IValue
97
- */
98
- export class Pointer extends IValue {
99
- /**
100
- * value of pointer
101
- * @type {IValue<*>}
102
- */
103
- value;
104
-
105
- /**
106
- * Collection of handlers
107
- * @type {Set<Function>}
108
- */
109
- onchange;
110
-
111
- /**
112
- * Constructs a notifiable bind to a value
113
- * @param value {IValue} is initial value
114
- */
115
- constructor (value) {
116
- super();
117
- this.onchange = new Set();
118
- this.$ = value;
119
- this.seal();
120
- }
121
-
122
- /**
123
- * Gets the notifiable value as js value
124
- * @returns {any} contained value
125
- */
126
- // $FlowFixMe
127
- get $ () {
128
- return this.value.$;
129
- }
130
-
131
- /**
132
- * Sets the value and notify listeners
133
- * @param value {IValue} is the new value
134
- * @returns {IValue} a pointer to this
135
- */
136
- set $ (value) {
137
- if (this.value !== value) {
138
- if (this.type) {
139
- if (this.type !== value.type) {
140
- if (value.type === null && checkType(value.$, this.type)) {
141
- value.type = this.type;
142
- }
143
- else if (!isSubclassOf(this.type, value.type)) {
144
- throw typeError("reference type incompatible with pointer type");
145
- }
146
- }
147
- }
148
-
149
- for (let handler of this.onchange) {
150
- this.value.off(handler);
151
- }
152
-
153
- this.value = value;
154
-
155
- for (let handler of this.onchange) {
156
- this.value.on(handler);
157
- }
158
-
159
- if (this.value.$ !== value.$) {
160
- for (let handler of this.onchange) {
161
- handler(this.value.$);
162
- }
163
- }
164
- }
165
-
166
- return this;
167
- }
168
-
169
- /**
170
- * Adds a new handler for value change
171
- * @param handler {function} is a user-defined event handler
172
- * @returns {IValue} a pointer to this
173
- */
174
- on (handler) {
175
- this.onchange.add(handler);
176
- this.value.on(handler);
177
- return this;
178
- }
179
-
180
- /**
181
- * Removes a new handler for value change
182
- * @param handler {function} is a existing user-defined handler
183
- * @returns {IValue} a pointer to this
184
- */
185
- off (handler) {
186
- if (this.onchange.has(handler)) {
187
- this.value.off(handler);
188
- this.onchange.delete(handler);
189
- }
190
- return this;
191
- }
192
-
193
- /**
194
- * Removes all bounded functions
195
- */
196
- $destroy () {
197
- for (let handler of this.onchange) {
198
- this.value.off(handler);
199
- }
200
- }
201
- }
202
-
203
- //# sourceMappingURL=value.js.map
package/lib/value.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/value.js"],"names":[],"mappings":"GAAG,AAAK;;;;;;;;;;;sBAWc,AAAG,eAAe,AAAG;;;;;UAKjC,AAAA,AAAG;;;;;;aAMA,AAAA,AAAe;;;;;;uBAML,AAAA,AAAG;;;+BAGK,AAAU;;;;;;;;aAQ5B,AAAA,AAAG;;;;;;;;;iBASC,AAAA,AAAG,EAAE,AAAA,AAAM;;;;;;;;;;;;;;;;;;;;;gBAqBZ,AAAA,AAAU,EAAE,AAAA,AAAM;;;;;;;;;;iBAUjB,AAAA,AAAU,EAAE,AAAA,AAAM;;;;;;;;;;;;;;;;;;oBAkBf,AAAG,eAAe,AAAW;;;;;UAKvC,AAAA,AAAW;;;;;;aAMR,AAAA,AAAe;;;;;;uBAML,AAAA,AAAW;;+BAEH,AAAU;;;;;;;;;;aAU5B,AAAA,AAAG;;;;;;;;;iBASC,AAAA,AAAW,EAAE,AAAA,AAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAsCpB,AAAA,AAAU,EAAE,AAAA,AAAM;;;;;;;;;;;iBAWjB,AAAA,AAAU,EAAE,AAAA,AAAM"}