dothtml 6.0.0-beta.43 → 6.0.0-beta.45

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/dist/index.cjs.js +2 -0
  2. package/dist/index.cjs.js.map +1 -0
  3. package/dist/index.esm.js +2 -0
  4. package/dist/index.esm.js.map +1 -0
  5. package/package.json +22 -16
  6. package/build_module/constants.js +0 -2
  7. package/build_module/constants.js.map +0 -1
  8. package/build_module/css/css-props.js +0 -40
  9. package/build_module/css/css-props.js.map +0 -1
  10. package/build_module/css/css.d.ts +0 -0
  11. package/build_module/css/css.js +0 -1
  12. package/build_module/css/css.js.map +0 -1
  13. package/build_module/css/format-css-type.js +0 -73
  14. package/build_module/css/format-css-type.js.map +0 -1
  15. package/build_module/decoration/component.d.ts +0 -14
  16. package/build_module/decoration/component.js +0 -35
  17. package/build_module/decoration/component.js.map +0 -1
  18. package/build_module/decoration/use-styles.d.ts +0 -14
  19. package/build_module/decoration/use-styles.js +0 -19
  20. package/build_module/decoration/use-styles.js.map +0 -1
  21. package/build_module/dot.js +0 -342
  22. package/build_module/dot.js.map +0 -1
  23. package/build_module/helpers/render-css.d.ts +0 -2
  24. package/build_module/helpers/render-css.js +0 -20
  25. package/build_module/helpers/render-css.js.map +0 -1
  26. package/build_module/helpers/render-stylesheet.js +0 -27
  27. package/build_module/helpers/render-stylesheet.js.map +0 -1
  28. package/build_module/helpers/tools.js +0 -50
  29. package/build_module/helpers/tools.js.map +0 -1
  30. package/build_module/helpers.d.ts +0 -3
  31. package/build_module/helpers.js +0 -50
  32. package/build_module/helpers.js.map +0 -1
  33. package/build_module/index.js +0 -6
  34. package/build_module/index.js.map +0 -1
  35. package/build_module/reactive.d.ts +0 -46
  36. package/build_module/reactive.js +0 -150
  37. package/build_module/reactive.js.map +0 -1
  38. package/build_module/reactivity/binding.js +0 -20
  39. package/build_module/reactivity/binding.js.map +0 -1
  40. package/build_module/reactivity/bound-reactive.d.ts +0 -13
  41. package/build_module/reactivity/bound-reactive.js +0 -20
  42. package/build_module/reactivity/bound-reactive.js.map +0 -1
  43. package/build_module/reactivity/reactive-attr.js +0 -7
  44. package/build_module/reactivity/reactive-attr.js.map +0 -1
  45. package/build_module/reactivity/reactive-style.js +0 -7
  46. package/build_module/reactivity/reactive-style.js.map +0 -1
  47. package/build_module/reactivity/reactive.d.ts +0 -22
  48. package/build_module/reactivity/reactive.js +0 -54
  49. package/build_module/reactivity/reactive.js.map +0 -1
  50. package/build_module/reactivity/ref.js +0 -6
  51. package/build_module/reactivity/ref.js.map +0 -1
  52. package/build_module/reactivity/subscription.js +0 -41
  53. package/build_module/reactivity/subscription.js.map +0 -1
  54. package/build_module/reactivity/watcher.js +0 -61
  55. package/build_module/reactivity/watcher.js.map +0 -1
  56. package/build_module/v-dom-node.d.ts +0 -0
  57. package/build_module/v-dom-node.js +0 -1
  58. package/build_module/v-dom-node.js.map +0 -1
  59. package/build_module/v-meta-nodes/attribute-v-node.js +0 -53
  60. package/build_module/v-meta-nodes/attribute-v-node.js.map +0 -1
  61. package/build_module/v-meta-nodes/style-v-node.js +0 -135
  62. package/build_module/v-meta-nodes/style-v-node.js.map +0 -1
  63. package/build_module/v-meta-nodes/v-meta-node.js +0 -3
  64. package/build_module/v-meta-nodes/v-meta-node.js.map +0 -1
  65. package/build_module/v-style-nodes/base-v-style.js +0 -113
  66. package/build_module/v-style-nodes/base-v-style.js.map +0 -1
  67. package/build_module/v-style-nodes/css-function-builder-v-style.js +0 -28
  68. package/build_module/v-style-nodes/css-function-builder-v-style.js.map +0 -1
  69. package/build_module/v-style-nodes/filter-v-style.js +0 -35
  70. package/build_module/v-style-nodes/filter-v-style.js.map +0 -1
  71. package/build_module/v-style-nodes/transform-v-style.js +0 -76
  72. package/build_module/v-style-nodes/transform-v-style.js.map +0 -1
  73. package/build_module/v-style-nodes/v-style.js +0 -6
  74. package/build_module/v-style-nodes/v-style.js.map +0 -1
  75. package/build_module/vdom-nodes/collection-vdom.js +0 -157
  76. package/build_module/vdom-nodes/collection-vdom.js.map +0 -1
  77. package/build_module/vdom-nodes/component-vdom.js +0 -100
  78. package/build_module/vdom-nodes/component-vdom.js.map +0 -1
  79. package/build_module/vdom-nodes/conditional-vdom.js +0 -98
  80. package/build_module/vdom-nodes/conditional-vdom.js.map +0 -1
  81. package/build_module/vdom-nodes/container-vdom.js +0 -110
  82. package/build_module/vdom-nodes/container-vdom.js.map +0 -1
  83. package/build_module/vdom-nodes/element-vdom.js +0 -164
  84. package/build_module/vdom-nodes/element-vdom.js.map +0 -1
  85. package/build_module/vdom-nodes/html-vdom.js +0 -53
  86. package/build_module/vdom-nodes/html-vdom.js.map +0 -1
  87. package/build_module/vdom-nodes/text-vdom.js +0 -37
  88. package/build_module/vdom-nodes/text-vdom.js.map +0 -1
  89. package/build_module/vdom-nodes/vdom.js +0 -41
  90. package/build_module/vdom-nodes/vdom.js.map +0 -1
  91. package/build_module/window-wrapper.js +0 -39
  92. package/build_module/window-wrapper.js.map +0 -1
  93. /package/{build_module → dist/build_module}/constants.d.ts +0 -0
  94. /package/{build_module → dist/build_module}/css/css-props.d.ts +0 -0
  95. /package/{build_module → dist/build_module}/css/format-css-type.d.ts +0 -0
  96. /package/{build_module → dist/build_module}/dot.d.ts +0 -0
  97. /package/{build_module → dist/build_module}/helpers/render-stylesheet.d.ts +0 -0
  98. /package/{build_module → dist/build_module}/helpers/tools.d.ts +0 -0
  99. /package/{build_module → dist/build_module}/index.d.ts +0 -0
  100. /package/{build_module → dist/build_module}/reactivity/binding.d.ts +0 -0
  101. /package/{build_module → dist/build_module}/reactivity/reactive-attr.d.ts +0 -0
  102. /package/{build_module → dist/build_module}/reactivity/reactive-style.d.ts +0 -0
  103. /package/{build_module → dist/build_module}/reactivity/ref.d.ts +0 -0
  104. /package/{build_module → dist/build_module}/reactivity/subscription.d.ts +0 -0
  105. /package/{build_module → dist/build_module}/reactivity/watcher.d.ts +0 -0
  106. /package/{build_module → dist/build_module}/v-meta-nodes/attribute-v-node.d.ts +0 -0
  107. /package/{build_module → dist/build_module}/v-meta-nodes/style-v-node.d.ts +0 -0
  108. /package/{build_module → dist/build_module}/v-meta-nodes/v-meta-node.d.ts +0 -0
  109. /package/{build_module → dist/build_module}/v-style-nodes/base-v-style.d.ts +0 -0
  110. /package/{build_module → dist/build_module}/v-style-nodes/css-function-builder-v-style.d.ts +0 -0
  111. /package/{build_module → dist/build_module}/v-style-nodes/filter-v-style.d.ts +0 -0
  112. /package/{build_module → dist/build_module}/v-style-nodes/transform-v-style.d.ts +0 -0
  113. /package/{build_module → dist/build_module}/v-style-nodes/v-style.d.ts +0 -0
  114. /package/{build_module → dist/build_module}/vdom-nodes/collection-vdom.d.ts +0 -0
  115. /package/{build_module → dist/build_module}/vdom-nodes/component-vdom.d.ts +0 -0
  116. /package/{build_module → dist/build_module}/vdom-nodes/conditional-vdom.d.ts +0 -0
  117. /package/{build_module → dist/build_module}/vdom-nodes/container-vdom.d.ts +0 -0
  118. /package/{build_module → dist/build_module}/vdom-nodes/element-vdom.d.ts +0 -0
  119. /package/{build_module → dist/build_module}/vdom-nodes/html-vdom.d.ts +0 -0
  120. /package/{build_module → dist/build_module}/vdom-nodes/text-vdom.d.ts +0 -0
  121. /package/{build_module → dist/build_module}/vdom-nodes/vdom.d.ts +0 -0
  122. /package/{build_module → dist/build_module}/window-wrapper.d.ts +0 -0
@@ -1,46 +0,0 @@
1
- import { IReactive } from "dothtml-interfaces";
2
- import ElementVdom from "./vdom-nodes/element-vdom";
3
- import { TextVdom } from "./vdom-nodes/text-vdom";
4
- import { HtmlVdom } from "./vdom-nodes/html-vdom";
5
- import { ConditionalVdom } from "./vdom-nodes/conditional-vdom";
6
- import CollectionVdom from "./vdom-nodes/collection-vdom";
7
- import VStyle from "./v-style-nodes/v-style";
8
- import VMetaNode from "./v-meta-nodes/v-meta-node";
9
- export default class Reactive<Ti = any, To = Ti> implements IReactive<Ti, To> {
10
- _value: Ti;
11
- private _cachedLastValue;
12
- key: string;
13
- observingTextNodes: Record<number, TextVdom>;
14
- observingHtmlNodes: Record<number, HtmlVdom>;
15
- observingAttributes: Record<number, {
16
- element: ElementVdom;
17
- attribute: string;
18
- }>;
19
- observingAttributeCollectionss: Record<number, VMetaNode>;
20
- observingCollections: Record<number, {
21
- collection: CollectionVdom;
22
- key?: string;
23
- }>;
24
- observingConditionals: Record<number, ConditionalVdom>;
25
- observingStyles: Record<number, {
26
- prop: string;
27
- vStyle: VStyle;
28
- }>;
29
- observingCallbacks: Record<number, (value: To) => void>;
30
- constructor();
31
- getValue(): To;
32
- setValue(v: Ti): void;
33
- private updater;
34
- transform?: (input: Ti) => To;
35
- nextId: number;
36
- subscribeText(node: TextVdom): number;
37
- subscribeHtml(node: HtmlVdom): number;
38
- subscribeAttr(node: ElementVdom, attributeName: string): number;
39
- subscribeAttrCollection(collection: VMetaNode): number;
40
- subscribeStyle(vStyle: VStyle, propName: string): number;
41
- subscribeCollection(node: CollectionVdom): number;
42
- subscribeCond(node: ConditionalVdom): number;
43
- subscribeCallback(callback: (value: To) => void): number;
44
- detachBinding(id: number): void;
45
- updateObservers(): void;
46
- }
@@ -1,150 +0,0 @@
1
- const TEXT_OFFSET = 0;
2
- const HTML_OFFSET = 1;
3
- const ATTR_OFFSET = 2;
4
- const ATTR_COLLECTION_OFFSET = 3;
5
- const STYLE_OFFSET = 4;
6
- const COND_OFFSET = 5;
7
- const ARRAY_OFFSET = 6;
8
- const CB_OFFSET = 7;
9
- const CATEGORIES = CB_OFFSET + 1;
10
- export default class Reactive {
11
- constructor() {
12
- this.observingTextNodes = {};
13
- this.observingHtmlNodes = {};
14
- this.observingAttributes = {};
15
- this.observingAttributeCollectionss = {};
16
- this.observingCollections = {};
17
- this.observingConditionals = {};
18
- this.observingStyles = {};
19
- this.observingCallbacks = {};
20
- this.nextId = 1;
21
- }
22
- getValue() {
23
- return this.transform ? this.transform(this._value) : this._value;
24
- }
25
- setValue(v) {
26
- this._value = v;
27
- let newValue = this.getValue();
28
- if (this._cachedLastValue != newValue) {
29
- this._cachedLastValue = newValue;
30
- this.updater(newValue);
31
- }
32
- }
33
- updater(value) {
34
- for (let o in this.observingTextNodes) {
35
- let n = this.observingTextNodes[o];
36
- n.textNode.textContent = value ?? "";
37
- }
38
- for (let o in this.observingHtmlNodes) {
39
- let n = this.observingHtmlNodes[o];
40
- n.updateHtml(value);
41
- }
42
- for (let o in this.observingAttributes) {
43
- let a = this.observingAttributes[o];
44
- a.element.setAttr(a.attribute, this);
45
- }
46
- for (let o in this.observingAttributeCollectionss) {
47
- let a = this.observingAttributeCollectionss[o];
48
- a.update();
49
- }
50
- for (let o in this.observingStyles) {
51
- let s = this.observingStyles[o];
52
- s.vStyle.updateProp(s.prop, value);
53
- }
54
- for (let o in this.observingCollections) {
55
- let c = this.observingCollections[o];
56
- c.collection.updateList();
57
- }
58
- for (let o in this.observingConditionals) {
59
- let a = this.observingConditionals[o];
60
- a.updateConditions();
61
- }
62
- for (let o in this.observingCallbacks) {
63
- let cb = this.observingCallbacks[o];
64
- cb(value);
65
- }
66
- }
67
- subscribeText(node) {
68
- let id = TEXT_OFFSET + CATEGORIES * this.nextId++;
69
- this.observingTextNodes[id] = node;
70
- return id;
71
- }
72
- subscribeHtml(node) {
73
- let id = HTML_OFFSET + CATEGORIES * this.nextId++;
74
- this.observingHtmlNodes[id] = node;
75
- return id;
76
- }
77
- subscribeAttr(node, attributeName) {
78
- let id = ATTR_OFFSET + CATEGORIES * this.nextId++;
79
- this.observingAttributes[id] = { element: node, attribute: attributeName };
80
- return id;
81
- }
82
- subscribeAttrCollection(collection) {
83
- let id = ATTR_COLLECTION_OFFSET + CATEGORIES * this.nextId++;
84
- this.observingAttributeCollectionss[id] = collection;
85
- return id;
86
- }
87
- subscribeStyle(vStyle, propName) {
88
- let id = STYLE_OFFSET + CATEGORIES * this.nextId++;
89
- this.observingStyles[id] = { prop: propName, vStyle: vStyle };
90
- return id;
91
- }
92
- subscribeCollection(node) {
93
- let id = ARRAY_OFFSET + CATEGORIES * this.nextId++;
94
- this.observingCollections[id] = { collection: node, key: null };
95
- return id;
96
- }
97
- subscribeCond(node) {
98
- let id = COND_OFFSET + CATEGORIES * this.nextId++;
99
- this.observingConditionals[id] = node;
100
- return id;
101
- }
102
- subscribeCallback(callback) {
103
- let id = CB_OFFSET + CATEGORIES * this.nextId++;
104
- this.observingCallbacks[id] = callback;
105
- return id;
106
- }
107
- detachBinding(id) {
108
- let category = id % CATEGORIES;
109
- switch (category) {
110
- case TEXT_OFFSET: {
111
- delete this.observingTextNodes[id];
112
- break;
113
- }
114
- case ATTR_OFFSET: {
115
- delete this.observingAttributes[id];
116
- break;
117
- }
118
- case ATTR_COLLECTION_OFFSET: {
119
- delete this.observingAttributeCollectionss[id];
120
- break;
121
- }
122
- case STYLE_OFFSET: {
123
- delete this.observingStyles[id];
124
- break;
125
- }
126
- case HTML_OFFSET: {
127
- delete this.observingHtmlNodes[id];
128
- break;
129
- }
130
- case ARRAY_OFFSET: {
131
- delete this.observingCollections[id];
132
- break;
133
- }
134
- case COND_OFFSET: {
135
- delete this.observingConditionals[id];
136
- break;
137
- }
138
- case CB_OFFSET: {
139
- delete this.observingCallbacks[id];
140
- break;
141
- }
142
- }
143
- }
144
- updateObservers() {
145
- let updatedValue = this.getValue();
146
- this._cachedLastValue = updatedValue;
147
- this.updater(updatedValue);
148
- }
149
- }
150
- //# sourceMappingURL=reactive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reactive.js","sourceRoot":"","sources":["../src/reactive.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AAGtB,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC;AAEjC,MAAM,CAAC,OAAO,OAAO,QAAQ;IAc5B;QATA,uBAAkB,GAA6B,EAAE,CAAC;QAClD,uBAAkB,GAA6B,EAAE,CAAC;QAClD,wBAAmB,GAA8D,EAAE,CAAC;QACpF,mCAA8B,GAA8B,EAAE,CAAC;QAC/D,yBAAoB,GAA+D,EAAE,CAAC;QACtF,0BAAqB,GAAoC,EAAE,CAAC;QAC5D,oBAAe,GAAmD,EAAE,CAAC;QACrE,uBAAkB,GAAsC,EAAE,CAAC;QA+D3D,WAAM,GAAG,CAAC,CAAC;IA5DX,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAuB,CAAC;IACpF,CAAC;IAED,QAAQ,CAAC,CAAK;QACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAG,IAAI,CAAC,gBAAgB,IAAI,QAAQ,EAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACvB;IACF,CAAC;IAEO,OAAO,CAAC,KAAS;QACxB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAC;YACpC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAe,IAAI,EAAE,CAAC;SAC/C;QAED,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAC;YACpC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,UAAU,CAAC,KAAe,CAAC,CAAC;SAC9B;QAED,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAC;YACrC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SACrC;QAED,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,8BAA8B,EAAC;YAChD,IAAI,CAAC,GAAG,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC,CAAC,MAAM,EAAE,CAAC;SACX;QAED,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,EAAC;YACjC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,KAAe,CAAC,CAAC;SAC7C;QAED,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAC;YACtC,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;SAC1B;QAED,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAC;YACvC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,gBAAgB,EAAE,CAAC;SACrB;QAGD,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAC;YACpC,IAAI,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACpC,EAAE,CAAC,KAAK,CAAC,CAAC;SACV;IACF,CAAC;IAMD,aAAa,CAAC,IAAc;QAC3B,IAAI,EAAE,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACnC,OAAO,EAAE,CAAC;IACX,CAAC;IACD,aAAa,CAAC,IAAc;QAC3B,IAAI,EAAE,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACnC,OAAO,EAAE,CAAC;IACX,CAAC;IACD,aAAa,CAAC,IAAiB,EAAE,aAAqB;QACrD,IAAI,EAAE,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAC,CAAC;QACzE,OAAO,EAAE,CAAC;IACX,CAAC;IACD,uBAAuB,CAAC,UAAqB;QAC5C,IAAI,EAAE,GAAG,sBAAsB,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7D,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;QACrD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,QAAgB;QAC9C,IAAI,EAAE,GAAG,YAAY,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC;QAC5D,OAAO,EAAE,CAAC;IACX,CAAC;IACD,mBAAmB,CAAC,IAAoB;QACvC,IAAI,EAAE,GAAG,YAAY,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAC,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC;QAC9D,OAAO,EAAE,CAAC;IACX,CAAC;IACD,aAAa,CAAC,IAAqB;QAClC,IAAI,EAAE,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACtC,OAAO,EAAE,CAAC;IACX,CAAC;IACD,iBAAiB,CAAC,QAA2B;QAC5C,IAAI,EAAE,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAChD,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACvC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,aAAa,CAAC,EAAU;QACvB,IAAI,QAAQ,GAAG,EAAE,GAAG,UAAU,CAAC;QAC/B,QAAO,QAAQ,EAAC;YACf,KAAK,WAAW,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBACnC,MAAM;aACN;YACD,KAAK,WAAW,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACpC,MAAM;aACN;YACD,KAAK,sBAAsB,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;gBAC/C,MAAM;aACN;YACD,KAAK,YAAY,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM;aACN;YACD,KAAK,WAAW,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBACnC,MAAM;aACN;YACD,KAAK,YAAY,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;gBACrC,MAAM;aACN;YACD,KAAK,WAAW,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;gBACtC,MAAM;aACN;YACD,KAAK,SAAS,CAAC,CAAC;gBACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBACnC,MAAM;aACN;SACD;IACF,CAAC;IAED,eAAe;QACd,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;CAED"}
@@ -1,20 +0,0 @@
1
- export default class Binding {
2
- _get() {
3
- let v = this._transform?.display ? this._transform.display(this._source.value) : this._source.value;
4
- return v;
5
- }
6
- _set(v) {
7
- let value = this._transform?.read ? this._transform.read(v) : v;
8
- this._source.value = value;
9
- }
10
- _subscribe(subscriber) {
11
- return this._source._subscribe(this, subscriber);
12
- }
13
- _unsubscribe(id) {
14
- this._source._detachBinding(id);
15
- }
16
- constructor(source) {
17
- this._source = source;
18
- }
19
- }
20
- //# sourceMappingURL=binding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/reactivity/binding.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,OAAO;IAQ3B,IAAI;QAEH,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAsB,CAAC;QAErH,OAAO,CAAC,CAAC;IACV,CAAC;IAED,IAAI,CAAC,CAAwB;QAC5B,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,CAAiB,CAAC;QAC1F,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,UAAU,CAAC,UAAe;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,YAAY,CAAC,EAAU;QACtB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,YAAY,MAAmB;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;CACD"}
@@ -1,13 +0,0 @@
1
- import { IBoundReactive, IReactive } from "dothtml-interfaces";
2
- export default class BoundReactive<T = any, Td = T> implements IBoundReactive<T, Td> {
3
- _source: IReactive<T>;
4
- _transform: {
5
- display?: (v: T) => Td;
6
- read?: (v: string) => T;
7
- };
8
- _get(): Td;
9
- _set(v: string | number | boolean): void;
10
- _subscribe(subscriber: any): number;
11
- _unsubscribe(id: number): void;
12
- constructor(source: IReactive<T>);
13
- }
@@ -1,20 +0,0 @@
1
- export default class BoundReactive {
2
- _get() {
3
- let v = this._transform?.display ? this._transform.display(this._source.value) : this._source.value;
4
- return v;
5
- }
6
- _set(v) {
7
- let value = this._transform?.read ? this._transform.read(v) : v;
8
- this._source.value = value;
9
- }
10
- _subscribe(subscriber) {
11
- return this._source._subscribe(this, subscriber);
12
- }
13
- _unsubscribe(id) {
14
- this._source._detachBinding(id);
15
- }
16
- constructor(source) {
17
- this._source = source;
18
- }
19
- }
20
- //# sourceMappingURL=bound-reactive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bound-reactive.js","sourceRoot":"","sources":["../../src/reactivity/bound-reactive.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,aAAa;IAQjC,IAAI;QAEH,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAsB,CAAC;QAErH,OAAO,CAAC,CAAC;IACV,CAAC;IAED,IAAI,CAAC,CAAwB;QAC5B,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,CAAiB,CAAC;QAC1F,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,UAAU,CAAC,UAAe;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,YAAY,CAAC,EAAU;QACtB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,YAAY,MAAoB;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;CACD"}
@@ -1,7 +0,0 @@
1
- export default class ReactiveAttr {
2
- constructor(elementVdom, attribute) {
3
- this.elementVdom = elementVdom;
4
- this.attribute = attribute;
5
- }
6
- }
7
- //# sourceMappingURL=reactive-attr.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reactive-attr.js","sourceRoot":"","sources":["../../src/reactivity/reactive-attr.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,YAAY;IAKhC,YAAY,WAAwB,EAAE,SAAiB;QACtD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;CACD"}
@@ -1,7 +0,0 @@
1
- export default class ReactiveStyle {
2
- constructor(vStyle, attribute) {
3
- this.vStyle = vStyle;
4
- this.prop = attribute;
5
- }
6
- }
7
- //# sourceMappingURL=reactive-style.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reactive-style.js","sourceRoot":"","sources":["../../src/reactivity/reactive-style.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,aAAa;IAKjC,YAAY,MAAc,EAAE,SAAiB;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACvB,CAAC;CACD"}
@@ -1,22 +0,0 @@
1
- import { IBoundReactive, IReactive } from "dothtml-interfaces";
2
- import BoundReactive from "./bound-reactive";
3
- import Binding from "./binding";
4
- export default class Reactive<T = any> implements IReactive<T> {
5
- bindAs<Td>(transform: {
6
- display?: (v: T) => Td;
7
- read?: (v: string) => T;
8
- }): IBoundReactive<T, Td>;
9
- bind(): BoundReactive<T, T>;
10
- _value: T;
11
- key: string;
12
- allBindings: Record<number, Binding>;
13
- constructor();
14
- get value(): T;
15
- set value(v: T);
16
- private updater;
17
- nextId: number;
18
- subscribe(callback: Function): any;
19
- _subscribe(boundReactive: IBoundReactive, item: any): number;
20
- _detachBinding(id: number): void;
21
- updateObservers(): void;
22
- }
@@ -1,54 +0,0 @@
1
- import BoundReactive from "./bound-reactive";
2
- import Binding from "./binding";
3
- const TEXT_OFFSET = 0;
4
- const HTML_OFFSET = 1;
5
- const ATTR_OFFSET = 2;
6
- const ATTR_COLLECTION_OFFSET = 3;
7
- const STYLE_OFFSET = 4;
8
- const COND_OFFSET = 5;
9
- const ARRAY_OFFSET = 6;
10
- const CB_OFFSET = 7;
11
- const CATEGORIES = CB_OFFSET + 1;
12
- export default class Reactive {
13
- bindAs(transform) {
14
- let br = new BoundReactive(this);
15
- br._transform = transform;
16
- return br;
17
- }
18
- bind() {
19
- return new BoundReactive(this);
20
- }
21
- constructor() {
22
- this.allBindings = {};
23
- this.nextId = 1;
24
- }
25
- get value() {
26
- return this._value;
27
- }
28
- set value(v) {
29
- this._value = v;
30
- this.updater(this._value);
31
- }
32
- updater(value) {
33
- for (let b in this.allBindings) {
34
- this.allBindings[b].update();
35
- }
36
- }
37
- subscribe(callback) {
38
- let br = new BoundReactive(this);
39
- return br._subscribe(callback);
40
- }
41
- _subscribe(boundReactive, item) {
42
- let id = this.nextId++;
43
- this.allBindings[id] = new Binding(boundReactive, item);
44
- return id;
45
- }
46
- _detachBinding(id) {
47
- delete this.allBindings[id];
48
- }
49
- updateObservers() {
50
- let updatedValue = this.value;
51
- this.updater(updatedValue);
52
- }
53
- }
54
- //# sourceMappingURL=reactive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reactive.js","sourceRoot":"","sources":["../../src/reactivity/reactive.ts"],"names":[],"mappings":"AAUA,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AAGtB,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC;AAEjC,MAAM,CAAC,OAAO,OAAO,QAAQ;IAE5B,MAAM,CAAK,SAGV;QACA,IAAI,EAAE,GAAG,IAAI,aAAa,CAAQ,IAAI,CAA0B,CAAC;QAEjE,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC;QAE1B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI;QACH,OAAO,IAAI,aAAa,CAAO,IAAI,CAAC,CAAC;IACtC,CAAC;IAOD;QAFA,gBAAW,GAA4B,EAAE,CAAC;QAwB1C,WAAM,GAAG,CAAC,CAAC;IArBX,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,CAAI;QACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAKhB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEO,OAAO,CAAC,KAAQ;QACvB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAC7B;IACF,CAAC;IAID,SAAS,CAAC,QAAkB;QAC3B,IAAI,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,UAAU,CAAC,aAA6B,EAAE,IAAS;QAClD,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAExD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,cAAc,CAAC,EAAU;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAID,eAAe;QACd,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAE9B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;CAED"}
@@ -1,6 +0,0 @@
1
- export default class Ref {
2
- get element() {
3
- return this._element;
4
- }
5
- }
6
- //# sourceMappingURL=ref.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ref.js","sourceRoot":"","sources":["../../src/reactivity/ref.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,GAAG;IAGvB,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;CACD"}
@@ -1,41 +0,0 @@
1
- import VMetaNode from "../v-meta-nodes/v-meta-node";
2
- import CollectionVdom from "../vdom-nodes/collection-vdom";
3
- import { ConditionalVdom } from "../vdom-nodes/conditional-vdom";
4
- import { HtmlVdom } from "../vdom-nodes/html-vdom";
5
- import { TextVdom } from "../vdom-nodes/text-vdom";
6
- import ReactiveAttr from "./reactive-attr";
7
- import ReactiveStyle from "./reactive-style";
8
- export default class Subscription {
9
- constructor(boundReactive, item) {
10
- this.boundReactive = boundReactive;
11
- this.item = item;
12
- }
13
- update() {
14
- let value = this.boundReactive._get();
15
- if (this.item instanceof TextVdom) {
16
- this.item.textNode.textContent = value ?? "";
17
- }
18
- else if (this.item instanceof HtmlVdom) {
19
- this.item.updateHtml(value);
20
- }
21
- else if (this.item instanceof ReactiveAttr) {
22
- this.item.elementVdom.setAttr(this.item.attribute, this.boundReactive);
23
- }
24
- else if (this.item instanceof VMetaNode) {
25
- this.item.update();
26
- }
27
- else if (this.item instanceof ReactiveStyle) {
28
- this.item.vStyle.updateProp(this.item.prop, value);
29
- }
30
- else if (this.item instanceof CollectionVdom) {
31
- this.item.updateList();
32
- }
33
- else if (this.item instanceof ConditionalVdom) {
34
- this.item.updateConditions();
35
- }
36
- else if (this.item instanceof Function) {
37
- this.item(value);
38
- }
39
- }
40
- }
41
- //# sourceMappingURL=subscription.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../src/reactivity/subscription.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAM7C,MAAM,CAAC,OAAO,OAAO,YAAY;IAIhC,YAAY,aAAuB,EAAE,IAAS;QAC7C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAGD,MAAM;QACL,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAEtC,IAAG,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAe,IAAI,EAAE,CAAC;SACvD;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YACrC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SAC5B;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,YAAY,EAAC;YACzC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SACvE;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,SAAS,EAAC;YACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;SACnB;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,aAAa,EAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACnD;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,cAAc,EAAC;YAE3C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;SACvB;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,eAAe,EAAC;YAE5C,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC7B;aACI,IAAG,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YACrC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjB;IACF,CAAC;CACD"}
@@ -1,61 +0,0 @@
1
- import Binding from "./binding";
2
- import Subscription from "./subscription";
3
- const TEXT_OFFSET = 0;
4
- const HTML_OFFSET = 1;
5
- const ATTR_OFFSET = 2;
6
- const ATTR_COLLECTION_OFFSET = 3;
7
- const STYLE_OFFSET = 4;
8
- const COND_OFFSET = 5;
9
- const ARRAY_OFFSET = 6;
10
- const CB_OFFSET = 7;
11
- const CATEGORIES = CB_OFFSET + 1;
12
- export default class Watcher {
13
- bindAs(transform) {
14
- let br = new Binding(this);
15
- if (transform["call"] && transform["apply"]) {
16
- br._transform = {
17
- display: transform
18
- };
19
- }
20
- else {
21
- br._transform = transform;
22
- }
23
- return br;
24
- }
25
- bind() {
26
- return new Binding(this);
27
- }
28
- constructor() {
29
- this.allBindings = {};
30
- this.nextId = 1;
31
- }
32
- get value() {
33
- return this._value;
34
- }
35
- set value(v) {
36
- this._value = v;
37
- this.updater(this._value);
38
- }
39
- updater(value) {
40
- for (let b in this.allBindings) {
41
- this.allBindings[b].update();
42
- }
43
- }
44
- subscribe(callback) {
45
- let br = new Binding(this);
46
- return br._subscribe(callback);
47
- }
48
- _subscribe(boundReactive, item) {
49
- let id = this.nextId++;
50
- this.allBindings[id] = new Subscription(boundReactive, item);
51
- return id;
52
- }
53
- _detachBinding(id) {
54
- delete this.allBindings[id];
55
- }
56
- updateObservers() {
57
- let updatedValue = this.value;
58
- this.updater(updatedValue);
59
- }
60
- }
61
- //# sourceMappingURL=watcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/reactivity/watcher.ts"],"names":[],"mappings":"AAUA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AAGtB,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC;AAEjC,MAAM,CAAC,OAAO,OAAO,OAAO;IAE3B,MAAM,CAAK,SAGV;QACA,IAAI,EAAE,GAAG,IAAI,OAAO,CAAQ,IAAI,CAAoB,CAAC;QAErD,IAAG,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,EAAC;YAC1C,EAAE,CAAC,UAAU,GAAG;gBACf,OAAO,EAAE,SAAuB;aAChC,CAAC;SACF;aACG;YACH,EAAE,CAAC,UAAU,GAAG,SAAgB,CAAC;SACjC;QAED,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI;QACH,OAAO,IAAI,OAAO,CAAO,IAAI,CAAC,CAAC;IAChC,CAAC;IAOD;QAFA,gBAAW,GAAiC,EAAE,CAAC;QAwB/C,WAAM,GAAG,CAAC,CAAC;IArBX,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,CAAI;QACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAKhB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEO,OAAO,CAAC,KAAQ;QACvB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAC7B;IACF,CAAC;IAID,SAAS,CAAC,QAAkB;QAC3B,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,UAAU,CAAC,aAAuB,EAAE,IAAS;QAC5C,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAE7D,OAAO,EAAE,CAAC;IACX,CAAC;IAED,cAAc,CAAC,EAAU;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAID,eAAe;QACd,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAE9B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;CAED"}
File without changes
@@ -1 +0,0 @@
1
- //# sourceMappingURL=v-dom-node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v-dom-node.js","sourceRoot":"","sources":["../src/v-dom-node.ts"],"names":[],"mappings":""}
@@ -1,53 +0,0 @@
1
- import Binding from "../reactivity/binding";
2
- import Watcher from "../reactivity/watcher";
3
- import VMetaNode from "./v-meta-node";
4
- export default class AttributeVNode extends VMetaNode {
5
- constructor(attrName, attrValue) {
6
- super();
7
- this.observables = {};
8
- this.attr = attrName;
9
- this.value = attrValue;
10
- }
11
- render(target) {
12
- this.target = target;
13
- {
14
- for (let k in this.value) {
15
- let v = this.value[k];
16
- if (v instanceof Watcher)
17
- v = v.bind();
18
- if (v && v instanceof Binding) {
19
- let id = v._subscribe(this);
20
- this.observables[id] = v;
21
- }
22
- }
23
- }
24
- {
25
- this.update();
26
- }
27
- }
28
- update() {
29
- if (!this.target)
30
- return;
31
- let tokens = [];
32
- for (let k in this.value) {
33
- let v = this.value[k];
34
- if (v) {
35
- if (v instanceof Watcher)
36
- v = v.bind();
37
- if (!(v instanceof Binding) || v._get()) {
38
- tokens.push(k);
39
- }
40
- }
41
- }
42
- this.target.setAttribute(this.attr, tokens.join(" "));
43
- }
44
- unrender() {
45
- this.target = null;
46
- for (let o in this.observables) {
47
- let v = this.observables[o];
48
- v._unsubscribe(Number(o));
49
- }
50
- this.observables = {};
51
- }
52
- }
53
- //# sourceMappingURL=attribute-v-node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attribute-v-node.js","sourceRoot":"","sources":["../../src/v-meta-nodes/attribute-v-node.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,SAAS,MAAM,eAAe,CAAC;AAMtC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,SAAS;IAQpD,YAAY,QAAQ,EAAE,SAAS;QAC9B,KAAK,EAAE,CAAC;QAHT,gBAAW,GAA4B,EAAE,CAAC;QAIzC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,MAAmB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB;YACC,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAC;gBACvB,IAAI,CAAC,GAAI,IAAI,CAAC,KAAa,CAAC,CAAC,CAAC,CAAC;gBAE/B,IAAG,CAAC,YAAY,OAAO;oBAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEtC,IAAG,CAAC,IAAI,CAAC,YAAY,OAAO,EAAC;oBAC5B,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;iBACzB;aACD;SACD;QAED;YACC,IAAI,CAAC,MAAM,EAAE,CAAC;SACd;IACF,CAAC;IAED,MAAM;QACL,IAAG,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAExB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAC;YACvB,IAAI,CAAC,GAAI,IAAI,CAAC,KAAa,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAG,CAAC,EAAC;gBACJ,IAAG,CAAC,YAAY,OAAO;oBAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtC,IAAG,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAC;oBACtC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACf;aACD;SACD;QACD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,QAAQ;QACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAC;YAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1B;QAED,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACvB,CAAC;CACD"}