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.
- package/dist/index.cjs.js +2 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/package.json +22 -16
- package/build_module/constants.js +0 -2
- package/build_module/constants.js.map +0 -1
- package/build_module/css/css-props.js +0 -40
- package/build_module/css/css-props.js.map +0 -1
- package/build_module/css/css.d.ts +0 -0
- package/build_module/css/css.js +0 -1
- package/build_module/css/css.js.map +0 -1
- package/build_module/css/format-css-type.js +0 -73
- package/build_module/css/format-css-type.js.map +0 -1
- package/build_module/decoration/component.d.ts +0 -14
- package/build_module/decoration/component.js +0 -35
- package/build_module/decoration/component.js.map +0 -1
- package/build_module/decoration/use-styles.d.ts +0 -14
- package/build_module/decoration/use-styles.js +0 -19
- package/build_module/decoration/use-styles.js.map +0 -1
- package/build_module/dot.js +0 -342
- package/build_module/dot.js.map +0 -1
- package/build_module/helpers/render-css.d.ts +0 -2
- package/build_module/helpers/render-css.js +0 -20
- package/build_module/helpers/render-css.js.map +0 -1
- package/build_module/helpers/render-stylesheet.js +0 -27
- package/build_module/helpers/render-stylesheet.js.map +0 -1
- package/build_module/helpers/tools.js +0 -50
- package/build_module/helpers/tools.js.map +0 -1
- package/build_module/helpers.d.ts +0 -3
- package/build_module/helpers.js +0 -50
- package/build_module/helpers.js.map +0 -1
- package/build_module/index.js +0 -6
- package/build_module/index.js.map +0 -1
- package/build_module/reactive.d.ts +0 -46
- package/build_module/reactive.js +0 -150
- package/build_module/reactive.js.map +0 -1
- package/build_module/reactivity/binding.js +0 -20
- package/build_module/reactivity/binding.js.map +0 -1
- package/build_module/reactivity/bound-reactive.d.ts +0 -13
- package/build_module/reactivity/bound-reactive.js +0 -20
- package/build_module/reactivity/bound-reactive.js.map +0 -1
- package/build_module/reactivity/reactive-attr.js +0 -7
- package/build_module/reactivity/reactive-attr.js.map +0 -1
- package/build_module/reactivity/reactive-style.js +0 -7
- package/build_module/reactivity/reactive-style.js.map +0 -1
- package/build_module/reactivity/reactive.d.ts +0 -22
- package/build_module/reactivity/reactive.js +0 -54
- package/build_module/reactivity/reactive.js.map +0 -1
- package/build_module/reactivity/ref.js +0 -6
- package/build_module/reactivity/ref.js.map +0 -1
- package/build_module/reactivity/subscription.js +0 -41
- package/build_module/reactivity/subscription.js.map +0 -1
- package/build_module/reactivity/watcher.js +0 -61
- package/build_module/reactivity/watcher.js.map +0 -1
- package/build_module/v-dom-node.d.ts +0 -0
- package/build_module/v-dom-node.js +0 -1
- package/build_module/v-dom-node.js.map +0 -1
- package/build_module/v-meta-nodes/attribute-v-node.js +0 -53
- package/build_module/v-meta-nodes/attribute-v-node.js.map +0 -1
- package/build_module/v-meta-nodes/style-v-node.js +0 -135
- package/build_module/v-meta-nodes/style-v-node.js.map +0 -1
- package/build_module/v-meta-nodes/v-meta-node.js +0 -3
- package/build_module/v-meta-nodes/v-meta-node.js.map +0 -1
- package/build_module/v-style-nodes/base-v-style.js +0 -113
- package/build_module/v-style-nodes/base-v-style.js.map +0 -1
- package/build_module/v-style-nodes/css-function-builder-v-style.js +0 -28
- package/build_module/v-style-nodes/css-function-builder-v-style.js.map +0 -1
- package/build_module/v-style-nodes/filter-v-style.js +0 -35
- package/build_module/v-style-nodes/filter-v-style.js.map +0 -1
- package/build_module/v-style-nodes/transform-v-style.js +0 -76
- package/build_module/v-style-nodes/transform-v-style.js.map +0 -1
- package/build_module/v-style-nodes/v-style.js +0 -6
- package/build_module/v-style-nodes/v-style.js.map +0 -1
- package/build_module/vdom-nodes/collection-vdom.js +0 -157
- package/build_module/vdom-nodes/collection-vdom.js.map +0 -1
- package/build_module/vdom-nodes/component-vdom.js +0 -100
- package/build_module/vdom-nodes/component-vdom.js.map +0 -1
- package/build_module/vdom-nodes/conditional-vdom.js +0 -98
- package/build_module/vdom-nodes/conditional-vdom.js.map +0 -1
- package/build_module/vdom-nodes/container-vdom.js +0 -110
- package/build_module/vdom-nodes/container-vdom.js.map +0 -1
- package/build_module/vdom-nodes/element-vdom.js +0 -164
- package/build_module/vdom-nodes/element-vdom.js.map +0 -1
- package/build_module/vdom-nodes/html-vdom.js +0 -53
- package/build_module/vdom-nodes/html-vdom.js.map +0 -1
- package/build_module/vdom-nodes/text-vdom.js +0 -37
- package/build_module/vdom-nodes/text-vdom.js.map +0 -1
- package/build_module/vdom-nodes/vdom.js +0 -41
- package/build_module/vdom-nodes/vdom.js.map +0 -1
- package/build_module/window-wrapper.js +0 -39
- package/build_module/window-wrapper.js.map +0 -1
- /package/{build_module → dist/build_module}/constants.d.ts +0 -0
- /package/{build_module → dist/build_module}/css/css-props.d.ts +0 -0
- /package/{build_module → dist/build_module}/css/format-css-type.d.ts +0 -0
- /package/{build_module → dist/build_module}/dot.d.ts +0 -0
- /package/{build_module → dist/build_module}/helpers/render-stylesheet.d.ts +0 -0
- /package/{build_module → dist/build_module}/helpers/tools.d.ts +0 -0
- /package/{build_module → dist/build_module}/index.d.ts +0 -0
- /package/{build_module → dist/build_module}/reactivity/binding.d.ts +0 -0
- /package/{build_module → dist/build_module}/reactivity/reactive-attr.d.ts +0 -0
- /package/{build_module → dist/build_module}/reactivity/reactive-style.d.ts +0 -0
- /package/{build_module → dist/build_module}/reactivity/ref.d.ts +0 -0
- /package/{build_module → dist/build_module}/reactivity/subscription.d.ts +0 -0
- /package/{build_module → dist/build_module}/reactivity/watcher.d.ts +0 -0
- /package/{build_module → dist/build_module}/v-meta-nodes/attribute-v-node.d.ts +0 -0
- /package/{build_module → dist/build_module}/v-meta-nodes/style-v-node.d.ts +0 -0
- /package/{build_module → dist/build_module}/v-meta-nodes/v-meta-node.d.ts +0 -0
- /package/{build_module → dist/build_module}/v-style-nodes/base-v-style.d.ts +0 -0
- /package/{build_module → dist/build_module}/v-style-nodes/css-function-builder-v-style.d.ts +0 -0
- /package/{build_module → dist/build_module}/v-style-nodes/filter-v-style.d.ts +0 -0
- /package/{build_module → dist/build_module}/v-style-nodes/transform-v-style.d.ts +0 -0
- /package/{build_module → dist/build_module}/v-style-nodes/v-style.d.ts +0 -0
- /package/{build_module → dist/build_module}/vdom-nodes/collection-vdom.d.ts +0 -0
- /package/{build_module → dist/build_module}/vdom-nodes/component-vdom.d.ts +0 -0
- /package/{build_module → dist/build_module}/vdom-nodes/conditional-vdom.d.ts +0 -0
- /package/{build_module → dist/build_module}/vdom-nodes/container-vdom.d.ts +0 -0
- /package/{build_module → dist/build_module}/vdom-nodes/element-vdom.d.ts +0 -0
- /package/{build_module → dist/build_module}/vdom-nodes/html-vdom.d.ts +0 -0
- /package/{build_module → dist/build_module}/vdom-nodes/text-vdom.d.ts +0 -0
- /package/{build_module → dist/build_module}/vdom-nodes/vdom.d.ts +0 -0
- /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
|
-
}
|
package/build_module/reactive.js
DELETED
|
@@ -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 +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 +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 +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"}
|