arrmatura 5.0.2 → 5.0.3
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/core/CNode.ts +1 -1
- package/core/Component.ts +40 -45
- package/core/cnodes/composition.ts +2 -2
- package/core/cnodes/conditionals.ts +2 -2
- package/core/cnodes/iterations.ts +3 -5
- package/core/cnodes/routing.ts +1 -1
- package/core/utils.ts +1 -1
- package/core-web/attributes.ts +18 -24
- package/core-web/elements.ts +14 -15
- package/core-web/reflow.ts +3 -3
- package/core-web/type.ts +3 -4
- package/docs/index.js +19 -19
- package/lib/obj.ts +2 -0
- package/package.json +1 -1
package/core/CNode.ts
CHANGED
|
@@ -58,7 +58,7 @@ export abstract class CNode<T extends Component = Component> implements INode<T>
|
|
|
58
58
|
addEmitter(expr: Expression, k: PropertyKey) {
|
|
59
59
|
const { key, pipec } = compilePipeExpression(expr);
|
|
60
60
|
this.initializers.push((c) => ({
|
|
61
|
-
payload: { [k]: (data: unknown) => c
|
|
61
|
+
payload: { [k]: (data: unknown) => c.$scope?.emit(key, pipec(c, data) as Delta) },
|
|
62
62
|
}));
|
|
63
63
|
}
|
|
64
64
|
|
package/core/Component.ts
CHANGED
|
@@ -7,18 +7,14 @@ import { createListeners } from 'createListeners';
|
|
|
7
7
|
* Runtime Component class.
|
|
8
8
|
*/
|
|
9
9
|
export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
10
|
-
impl: IComponentImplementation;
|
|
11
|
-
element?: any;
|
|
10
|
+
readonly $impl: IComponentImplementation;
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
children?: Map<Uid, IComponent>;
|
|
12
|
+
$children?: Map<Uid, IComponent>;
|
|
15
13
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
private _parent?: IComponent;
|
|
14
|
+
readonly $scope: IScope;
|
|
15
|
+
readonly #parent?: IComponent;
|
|
19
16
|
#isInited: boolean = false;
|
|
20
17
|
#isDone: boolean = false;
|
|
21
|
-
// #notifying: boolean = false;
|
|
22
18
|
#listeners?: Listeners<void>;
|
|
23
19
|
#defered?: Array<ComponentProcedure> = [];
|
|
24
20
|
#weak?: Map<any, any>;
|
|
@@ -26,17 +22,17 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
26
22
|
#propFnMap?: Hash<Procedure>;
|
|
27
23
|
|
|
28
24
|
constructor(readonly _node: INode, _parent?: IComponent, scope?: IScope) {
|
|
29
|
-
this
|
|
30
|
-
this
|
|
31
|
-
this
|
|
25
|
+
this.$scope = scope || this;
|
|
26
|
+
this.#parent = _parent;
|
|
27
|
+
this.$impl = this.createImplementation(this.getInitialState());
|
|
32
28
|
|
|
33
29
|
if (this.refId) {
|
|
34
|
-
this
|
|
30
|
+
this.$scope.addComponentReference(this.refId, this);
|
|
35
31
|
}
|
|
36
32
|
}
|
|
37
33
|
|
|
38
34
|
get parent(): IComponent {
|
|
39
|
-
return this
|
|
35
|
+
return this.#parent || this;
|
|
40
36
|
}
|
|
41
37
|
|
|
42
38
|
get node(): T {
|
|
@@ -79,9 +75,8 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
79
75
|
const pv = v as Promise<any>;
|
|
80
76
|
if (v && pv.then && pv.catch) {
|
|
81
77
|
this.upAsync(pv, k);
|
|
82
|
-
} else if (k && typeof v !== 'undefined' && v !== this
|
|
78
|
+
} else if (k && typeof v !== 'undefined' && v !== this.$impl[k]) {
|
|
83
79
|
changes.set(k, v);
|
|
84
|
-
this.state[k] = v;
|
|
85
80
|
}
|
|
86
81
|
});
|
|
87
82
|
|
|
@@ -107,15 +102,15 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
107
102
|
}
|
|
108
103
|
|
|
109
104
|
stateChanged(changes: Map<string, unknown>) {
|
|
110
|
-
if (this
|
|
111
|
-
this
|
|
105
|
+
if (this.$impl.stateChanged) {
|
|
106
|
+
this.$impl.stateChanged(changes);
|
|
112
107
|
} else {
|
|
113
108
|
changes.forEach((v, k) => {
|
|
114
|
-
const setter = this
|
|
109
|
+
const setter = this.$impl[methodName(k, 'set')];
|
|
115
110
|
if (typeof setter === 'function') {
|
|
116
|
-
setter.call(this
|
|
111
|
+
setter.call(this.$impl, v);
|
|
117
112
|
} else {
|
|
118
|
-
this
|
|
113
|
+
this.$impl[k] = v;
|
|
119
114
|
}
|
|
120
115
|
});
|
|
121
116
|
}
|
|
@@ -128,7 +123,7 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
128
123
|
return fn();
|
|
129
124
|
}
|
|
130
125
|
|
|
131
|
-
const impl = this
|
|
126
|
+
const impl = this.$impl;
|
|
132
127
|
const instant = impl[propId];
|
|
133
128
|
if (instant && typeof instant === 'function') {
|
|
134
129
|
const bound = instant.bind(impl);
|
|
@@ -148,7 +143,7 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
148
143
|
}
|
|
149
144
|
|
|
150
145
|
getFromScope(propId: string): unknown {
|
|
151
|
-
return this
|
|
146
|
+
return this.$scope.get(propId);
|
|
152
147
|
}
|
|
153
148
|
|
|
154
149
|
// --- Left Arrow.
|
|
@@ -175,12 +170,12 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
175
170
|
|
|
176
171
|
connect(key: string, applicator: (x: unknown) => unknown): undefined | ComponentSubsription {
|
|
177
172
|
const [refId, propId = '*'] = key.split('.');
|
|
178
|
-
const ref = this
|
|
173
|
+
const ref = this.$scope.getByRef(refId) as Component;
|
|
179
174
|
if (!ref) {
|
|
180
175
|
this.logError('Connect: No such ref: ' + refId);
|
|
181
176
|
return;
|
|
182
177
|
}
|
|
183
|
-
return ref.subscribe(this, (c: Component) => applyValue(propId === '*' ? c
|
|
178
|
+
return ref.subscribe(this, (c: Component) => applyValue(propId === '*' ? c.$impl : c.get(propId), applicator));
|
|
184
179
|
}
|
|
185
180
|
|
|
186
181
|
// --- Right Arrow.
|
|
@@ -188,7 +183,7 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
188
183
|
emit(key: string, data: Delta): void {
|
|
189
184
|
if (!key || !key.includes('.')) {
|
|
190
185
|
this.up(key ? { [key]: data } : data);
|
|
191
|
-
this.log('update:' + key, data, this
|
|
186
|
+
this.log('update:' + key, data, this.$impl);
|
|
192
187
|
return;
|
|
193
188
|
}
|
|
194
189
|
|
|
@@ -200,7 +195,7 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
200
195
|
}
|
|
201
196
|
|
|
202
197
|
const propId = methodName(target, 'on');
|
|
203
|
-
const impl = ref
|
|
198
|
+
const impl = ref.$impl;
|
|
204
199
|
|
|
205
200
|
const method = impl[propId];
|
|
206
201
|
if (!method || !(typeof method === 'function')) {
|
|
@@ -250,8 +245,8 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
250
245
|
args.reduce((r, e) => Object.assign(r, e), initials),
|
|
251
246
|
true
|
|
252
247
|
);
|
|
253
|
-
if (this
|
|
254
|
-
const d = this
|
|
248
|
+
if (this.$impl.init) {
|
|
249
|
+
const d = this.$impl.init(this);
|
|
255
250
|
if (d) {
|
|
256
251
|
this.up(d);
|
|
257
252
|
}
|
|
@@ -259,8 +254,8 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
259
254
|
});
|
|
260
255
|
} else {
|
|
261
256
|
this.up(initials, true);
|
|
262
|
-
if (this
|
|
263
|
-
const d = this
|
|
257
|
+
if (this.$impl.init) {
|
|
258
|
+
const d = this.$impl.init(this);
|
|
264
259
|
if (d) {
|
|
265
260
|
this.up(d);
|
|
266
261
|
}
|
|
@@ -275,19 +270,19 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
275
270
|
}
|
|
276
271
|
this.#isDone = true;
|
|
277
272
|
|
|
278
|
-
this
|
|
273
|
+
this.$impl.done?.(this);
|
|
279
274
|
|
|
280
|
-
const parent = this
|
|
281
|
-
this
|
|
275
|
+
const parent = this.#parent;
|
|
276
|
+
this.#parent = undefined;
|
|
282
277
|
|
|
283
|
-
this
|
|
278
|
+
this.$children?.forEach((c) => c.done());
|
|
284
279
|
|
|
285
|
-
parent
|
|
280
|
+
parent?.$children?.delete(this.uid);
|
|
286
281
|
|
|
287
282
|
this.#defered?.forEach((f) => f(this));
|
|
288
283
|
this.#defered = undefined;
|
|
289
284
|
|
|
290
|
-
this
|
|
285
|
+
this.$impl.$ = null;
|
|
291
286
|
}
|
|
292
287
|
|
|
293
288
|
// -- Contents --------------------------------------------------------
|
|
@@ -297,11 +292,11 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
297
292
|
}
|
|
298
293
|
|
|
299
294
|
get recontentScope(): IScope {
|
|
300
|
-
return this
|
|
295
|
+
return this.$scope;
|
|
301
296
|
}
|
|
302
297
|
|
|
303
298
|
setupChildren(children: ComponentChildren) {
|
|
304
|
-
this
|
|
299
|
+
this.$children = children;
|
|
305
300
|
|
|
306
301
|
children.forEach((e) => e.settleAsChild());
|
|
307
302
|
}
|
|
@@ -320,7 +315,7 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
320
315
|
|
|
321
316
|
this.arrmatura.requestReflow();
|
|
322
317
|
|
|
323
|
-
this
|
|
318
|
+
this.$children?.forEach((e, uid) => {
|
|
324
319
|
if (!nodes?.get(uid)) {
|
|
325
320
|
e.done();
|
|
326
321
|
}
|
|
@@ -329,7 +324,7 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
329
324
|
const children = new Map<Uid, IComponent>();
|
|
330
325
|
|
|
331
326
|
nodes?.forEach((node, uid) => {
|
|
332
|
-
const e = this
|
|
327
|
+
const e = this.$children?.get(uid) || node.createComponent(this, scope);
|
|
333
328
|
children.set(e.uid, e);
|
|
334
329
|
});
|
|
335
330
|
|
|
@@ -354,7 +349,7 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
354
349
|
if (local) {
|
|
355
350
|
return local as Component;
|
|
356
351
|
}
|
|
357
|
-
const ref = this === this
|
|
352
|
+
const ref = this === this.$scope ? null : this.$scope.getByRef(refId);
|
|
358
353
|
return ref as Component;
|
|
359
354
|
}
|
|
360
355
|
|
|
@@ -372,7 +367,7 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
372
367
|
try {
|
|
373
368
|
const [id, ...args] = key.split(':');
|
|
374
369
|
const fn = this.pipe(id);
|
|
375
|
-
return fn.apply(this
|
|
370
|
+
return fn.apply(this.$impl, [
|
|
376
371
|
value,
|
|
377
372
|
...args.map((a) => (a[0] === '@' ? this.getFromScope(a.slice(1)) : scalarParse(a))),
|
|
378
373
|
]);
|
|
@@ -415,14 +410,14 @@ export class Component<T extends INode = INode> implements IComponent, IScope {
|
|
|
415
410
|
}
|
|
416
411
|
|
|
417
412
|
stringify(tab = '') {
|
|
418
|
-
const { uid, displayName: tag = uid,
|
|
413
|
+
const { uid, displayName: tag = uid, $impl: impl, $children: children } = this;
|
|
419
414
|
if (tag === '#text') {
|
|
420
|
-
return `${tab}` +
|
|
415
|
+
return `${tab}` + impl.text;
|
|
421
416
|
}
|
|
422
417
|
const ssubs: string = children?.size
|
|
423
418
|
? [...children.values()].map((c) => (c as Component).stringify(` ${tab}`)).join('\n')
|
|
424
419
|
: '';
|
|
425
|
-
return `${tab}<${tag}${stringifyState(
|
|
420
|
+
return `${tab}<${tag}${stringifyState(impl)}` + (!ssubs ? '/>' : `>\n${ssubs}\n${tab}</${tag}>`);
|
|
426
421
|
}
|
|
427
422
|
|
|
428
423
|
toString() {
|
|
@@ -24,7 +24,7 @@ export class SlotComponent extends Component {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
get compositeScope(): CompositeComponent {
|
|
27
|
-
return this
|
|
27
|
+
return this.$scope as CompositeComponent;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
get content(): ComponentContent {
|
|
@@ -32,7 +32,7 @@ export class SlotComponent extends Component {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
get recontentScope(): IScope {
|
|
35
|
-
return this.compositeScope
|
|
35
|
+
return this.compositeScope.$scope;
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -6,7 +6,7 @@ import { Component } from '../Component';
|
|
|
6
6
|
|
|
7
7
|
class IfComponent extends Component<CIfNode> {
|
|
8
8
|
get content() {
|
|
9
|
-
return this.
|
|
9
|
+
return this.$impl.condition ? this.node.then : this.node.else;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -43,7 +43,7 @@ export class CIfNode extends CNode<IfComponent> {
|
|
|
43
43
|
} else if (expr.slice(0, 5) === 'slot(') {
|
|
44
44
|
const slotId = expr.slice(5, -1);
|
|
45
45
|
// DO NOT place inside iterations.
|
|
46
|
-
this.addPropertyResolver((c: IComponent) => (c
|
|
46
|
+
this.addPropertyResolver((c: IComponent) => (c.$scope as CompositeComponent).slotContent?.(slotId), 'condition');
|
|
47
47
|
} else {
|
|
48
48
|
this.addPropertyResolver(compileExpression(expr[0] === '{' ? expr : `{${expr}}`), 'condition');
|
|
49
49
|
}
|
|
@@ -10,9 +10,7 @@ class ForComponent extends Component<CForNode> {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
get content() {
|
|
13
|
-
const
|
|
14
|
-
state: { each },
|
|
15
|
-
} = this;
|
|
13
|
+
const each: any = this.$impl.each;
|
|
16
14
|
const itemNode = this.node.itemNode;
|
|
17
15
|
const nodes: ComponentContent = new Map();
|
|
18
16
|
this.pkHash = {};
|
|
@@ -62,12 +60,12 @@ class ItemComponent extends Component<CItemNode> {
|
|
|
62
60
|
}
|
|
63
61
|
|
|
64
62
|
emit(key: string, data: Delta): void {
|
|
65
|
-
return this
|
|
63
|
+
return this.$scope.emit(key, data);
|
|
66
64
|
}
|
|
67
65
|
|
|
68
66
|
get(propId: string) {
|
|
69
67
|
const iName: string = this.node.itemName;
|
|
70
|
-
const value = propId.startsWith(iName + '.') || propId === iName ? super.get(propId) : this
|
|
68
|
+
const value = propId.startsWith(iName + '.') || propId === iName ? super.get(propId) : this.$scope.get(propId);
|
|
71
69
|
// this.log(propId, value);
|
|
72
70
|
return value;
|
|
73
71
|
}
|
package/core/cnodes/routing.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { Component } from '../Component';
|
|
|
4
4
|
|
|
5
5
|
export class DynamicTagComponent extends Component<CDynamicTagNode> {
|
|
6
6
|
get content(): ComponentContent | undefined {
|
|
7
|
-
const
|
|
7
|
+
const tag = this.$impl.tag;
|
|
8
8
|
const uid = this.node.uid + ':' + tag;
|
|
9
9
|
return new Map([[uid, Object.assign(compileNode(Object.assign(this.node.xml, { tag })), { uid })]]);
|
|
10
10
|
}
|
package/core/utils.ts
CHANGED
package/core-web/attributes.ts
CHANGED
|
@@ -12,37 +12,32 @@ const setListener = ($: IElement, key: string, e: DomNode, v: unknown) => {
|
|
|
12
12
|
setAttribute($, key, null);
|
|
13
13
|
} else {
|
|
14
14
|
setAttribute($, key, (ev: Event) => {
|
|
15
|
-
|
|
15
|
+
$[fnKey]({ ...e.$dataset }, ev);
|
|
16
16
|
return false;
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
|
-
export function setAttribute($: IElement, key: string, value: null | string |
|
|
20
|
+
export function setAttribute($: IElement, key: string, value: null | string | ((ev: any) => any)) {
|
|
21
21
|
if (value != null) {
|
|
22
22
|
if (typeof value === 'function') {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
value(...args);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
if (!$.listeners) {
|
|
29
|
-
$.listeners = new Map();
|
|
23
|
+
if (!$.$listeners) {
|
|
24
|
+
$.$listeners = new Map();
|
|
30
25
|
}
|
|
31
|
-
if (
|
|
26
|
+
if (!$.$listeners.has(key)) {
|
|
32
27
|
const [akey, ekey = akey] = key.split(':');
|
|
33
|
-
|
|
34
|
-
|
|
28
|
+
$.$element.addEventListener(ekey, value, false);
|
|
29
|
+
$.$listeners.set(key, value);
|
|
35
30
|
}
|
|
36
31
|
} else {
|
|
37
|
-
|
|
32
|
+
$.$element.setAttribute(key, value);
|
|
38
33
|
}
|
|
39
34
|
} else {
|
|
40
|
-
if (
|
|
35
|
+
if ($.$listeners?.has(key)) {
|
|
41
36
|
const [akey, ekey = akey] = key.split(':');
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
$.$element.removeEventListener(ekey, $.$listeners.get(key));
|
|
38
|
+
$.$listeners.delete(key);
|
|
44
39
|
} else {
|
|
45
|
-
|
|
40
|
+
$.$element.removeAttribute(key);
|
|
46
41
|
}
|
|
47
42
|
}
|
|
48
43
|
}
|
|
@@ -90,7 +85,7 @@ export const ATTR_SETTERS: Hash<($: IElement, e: DomNode, v: unknown) => void> =
|
|
|
90
85
|
const h = !v
|
|
91
86
|
? null
|
|
92
87
|
: (ev: TouchEvent & { pageX: number; pageY: number }) => {
|
|
93
|
-
|
|
88
|
+
$.touchstart(
|
|
94
89
|
{
|
|
95
90
|
...e.$dataset,
|
|
96
91
|
x: ev.pageX || ev.changedTouches[0].screenX,
|
|
@@ -126,7 +121,7 @@ export const ATTR_SETTERS: Hash<($: IElement, e: DomNode, v: unknown) => void> =
|
|
|
126
121
|
data.yy = ev.pageY || ev.changedTouches[0].screenY;
|
|
127
122
|
data.dx = data.xx - data.x;
|
|
128
123
|
data.dy = data.yy - data.y;
|
|
129
|
-
|
|
124
|
+
$.touch(data, ev);
|
|
130
125
|
}
|
|
131
126
|
|
|
132
127
|
return false;
|
|
@@ -145,8 +140,7 @@ export const ATTR_SETTERS: Hash<($: IElement, e: DomNode, v: unknown) => void> =
|
|
|
145
140
|
? null
|
|
146
141
|
: (ev: KeyboardEvent) => {
|
|
147
142
|
if (ev.keyCode !== 13 && ev.keyCode !== 27) {
|
|
148
|
-
|
|
149
|
-
fn && fn({ value: e.value, ...e.$dataset }, ev);
|
|
143
|
+
$.keypress?.({ value: e.value, ...e.$dataset }, ev);
|
|
150
144
|
setTimeout(() => e.focus(), 0);
|
|
151
145
|
}
|
|
152
146
|
return false;
|
|
@@ -161,7 +155,7 @@ export const ATTR_SETTERS: Hash<($: IElement, e: DomNode, v: unknown) => void> =
|
|
|
161
155
|
? null
|
|
162
156
|
: (ev: KeyboardEvent) => {
|
|
163
157
|
if (ev.keyCode === 13) {
|
|
164
|
-
|
|
158
|
+
$.enter({ value: e.value, ...e.$dataset }, ev);
|
|
165
159
|
}
|
|
166
160
|
if (ev.keyCode === 13 || ev.keyCode === 27) {
|
|
167
161
|
e.blur();
|
|
@@ -177,7 +171,7 @@ export const ATTR_SETTERS: Hash<($: IElement, e: DomNode, v: unknown) => void> =
|
|
|
177
171
|
!v
|
|
178
172
|
? null
|
|
179
173
|
: (ev: Event) => {
|
|
180
|
-
|
|
174
|
+
$.change({ value: e.value, ...e.$dataset }, ev);
|
|
181
175
|
return false;
|
|
182
176
|
}
|
|
183
177
|
);
|
|
@@ -189,7 +183,7 @@ export const ATTR_SETTERS: Hash<($: IElement, e: DomNode, v: unknown) => void> =
|
|
|
189
183
|
!v
|
|
190
184
|
? null
|
|
191
185
|
: (ev: Event) => {
|
|
192
|
-
|
|
186
|
+
$.toggle({ value: e.checked, ...e.$dataset }, ev);
|
|
193
187
|
return false;
|
|
194
188
|
}
|
|
195
189
|
);
|
package/core-web/elements.ts
CHANGED
|
@@ -3,29 +3,28 @@ import { DomNode, IElement } from './type';
|
|
|
3
3
|
|
|
4
4
|
export class DomElement implements IComponentImplementation, IElement {
|
|
5
5
|
$: IComponent;
|
|
6
|
-
$
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
isDone: boolean = false;
|
|
10
|
-
listeners: any;
|
|
6
|
+
$element: DomNode;
|
|
7
|
+
$listeners: any;
|
|
8
|
+
|
|
11
9
|
init?: () => any;
|
|
10
|
+
[key: string]: unknown;
|
|
12
11
|
|
|
13
12
|
constructor(tag: string, _: Hash, $: IComponent) {
|
|
14
13
|
this.$ = $;
|
|
15
|
-
this
|
|
16
|
-
this
|
|
14
|
+
this.$element = document.createElement(tag) as DomNode;
|
|
15
|
+
this.$element.impl = this;
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
done() {
|
|
20
|
-
this
|
|
21
|
-
this.$attributes = undefined;
|
|
19
|
+
this.$element?.parentElement?.removeChild(this.$element);
|
|
22
20
|
}
|
|
23
21
|
|
|
24
22
|
stateChanged(changes: Map<string, any>) {
|
|
25
|
-
const attrs
|
|
26
|
-
const e = this
|
|
23
|
+
const attrs = this;
|
|
24
|
+
const e = this.$element;
|
|
27
25
|
// this.$.log('changes', changes)
|
|
28
26
|
changes.forEach((value, key) => {
|
|
27
|
+
if (key[0] === '$') return;
|
|
29
28
|
if (value !== attrs[key]) {
|
|
30
29
|
const setter = ATTR_SETTERS[key];
|
|
31
30
|
if (setter) {
|
|
@@ -45,20 +44,20 @@ export class DomElement implements IComponentImplementation, IElement {
|
|
|
45
44
|
}
|
|
46
45
|
|
|
47
46
|
export class DomTextElement implements IComponentImplementation {
|
|
48
|
-
element: Text;
|
|
47
|
+
$element: Text;
|
|
49
48
|
[key: string]: unknown;
|
|
50
49
|
|
|
51
50
|
constructor(attrs: Hash) {
|
|
52
|
-
this
|
|
51
|
+
this.$element = document.createTextNode(String(attrs.text || ''));
|
|
53
52
|
}
|
|
54
53
|
|
|
55
54
|
done() {
|
|
56
|
-
this
|
|
55
|
+
this.$element.parentElement?.removeChild(this.$element);
|
|
57
56
|
}
|
|
58
57
|
|
|
59
58
|
stateChanged(changes: Map<string, any>) {
|
|
60
59
|
if (changes.has('text')) {
|
|
61
|
-
this
|
|
60
|
+
this.$element.textContent = changes.get('text');
|
|
62
61
|
}
|
|
63
62
|
}
|
|
64
63
|
}
|
package/core-web/reflow.ts
CHANGED
|
@@ -13,9 +13,9 @@ function appendElt(e: DomNode, p: DomNode | HTMLElement, cursor?: DomNode): DomN
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
export function reflow($: IComponent, parent: DomNode | HTMLElement, cursor?: DomNode) {
|
|
16
|
-
if (
|
|
17
|
-
for (let p of
|
|
18
|
-
const e = p
|
|
16
|
+
if ($.$children) {
|
|
17
|
+
for (let p of $.$children.values()) {
|
|
18
|
+
const e = p.$impl.$element as DomNode;
|
|
19
19
|
if (e) {
|
|
20
20
|
if (e) {
|
|
21
21
|
reflow(p, e);
|
package/core-web/type.ts
CHANGED
|
@@ -11,9 +11,8 @@ export interface DomNode extends HTMLElement {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export interface IElement {
|
|
14
|
-
$attributes?: any;
|
|
15
14
|
init?: () => any;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
$listeners: any;
|
|
16
|
+
$element: DomNode;
|
|
17
|
+
[key: string]: any;
|
|
19
18
|
}
|
package/docs/index.js
CHANGED
|
@@ -2,35 +2,35 @@
|
|
|
2
2
|
/*!*********************************!*\
|
|
3
3
|
!*** ./core-web/WebPlatform.ts ***!
|
|
4
4
|
\*********************************/
|
|
5
|
-
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.WebPlatform=void 0;var o=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),i=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),u=r(/*! ./elements */"./core-web/elements.ts"),
|
|
5
|
+
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.WebPlatform=void 0;var o=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),i=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),u=r(/*! ./elements */"./core-web/elements.ts"),l=r(/*! ./reflow */"./core-web/reflow.ts"),s=function(){function WebPlatform(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"root";(0,o.default)(this,WebPlatform),"string"==typeof e&&(e=document.getElementById(e)||window.document.body),this.rootElement=e||window.document.body}return(0,i.default)(WebPlatform,[{key:"createTextElement",value:function createTextElement(e,t){return new u.DomTextElement(e)}},{key:"createElement",value:function createElement(e,t,r){return new u.DomElement(e,t,r)}},{key:"reflow",value:function reflow(e){(0,l.reflow)(e,this.rootElement)}}]),WebPlatform}();t.WebPlatform=s},"./core-web/attributes.ts":
|
|
6
6
|
/*!********************************!*\
|
|
7
7
|
!*** ./core-web/attributes.ts ***!
|
|
8
8
|
\********************************/
|
|
9
|
-
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.ATTR_SETTERS=void 0,t.setAttribute=setAttribute;var o,i=n(r(/*! @babel/runtime/helpers/defineProperty */"./node_modules/@babel/runtime/helpers/defineProperty.js")),u=n(r(/*! @babel/runtime/helpers/slicedToArray */"./node_modules/@babel/runtime/helpers/slicedToArray.js")),
|
|
9
|
+
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.ATTR_SETTERS=void 0,t.setAttribute=setAttribute;var o,i=n(r(/*! @babel/runtime/helpers/defineProperty */"./node_modules/@babel/runtime/helpers/defineProperty.js")),u=n(r(/*! @babel/runtime/helpers/slicedToArray */"./node_modules/@babel/runtime/helpers/slicedToArray.js")),l=n(r(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js")),s=function camelize(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"_",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ";return(""+e).split(t).map((function(e,t){return t?e[0].toUpperCase()+e.slice(1):e})).join(r)},a=function setListener(e,t,r,n){var o=t.split(":")[0];setAttribute(e,t,n?function(t){return e[o]((0,l.default)({},r.$dataset),t),!1}:null)};function setAttribute(e,t,r){var n;if(null!=r)if("function"==typeof r){if(e.$listeners||(e.$listeners=new Map),!e.$listeners.has(t)){var o=t.split(":"),i=(0,u.default)(o,2),l=i[0],s=i[1],a=void 0===s?l:s;e.$element.addEventListener(a,r,!1),e.$listeners.set(t,r)}}else e.$element.setAttribute(t,r);else if(null!=(n=e.$listeners)&&n.has(t)){var c=t.split(":"),d=(0,u.default)(c,2),f=d[0],p=d[1],m=void 0===p?f:p;e.$element.removeEventListener(m,e.$listeners.get(t)),e.$listeners.delete(t)}else e.$element.removeAttribute(t)}var c=(o={disabled:function disabled(e,t,r){return t.disabled=!!r||null},class:function _class(e,t,r){t.className=String(r||"")},selected:function selected(e,t,r){return t.selected=!!r||null},value:function value(e,t,r){return t.value=null==r?"":r},checked:function checked(e,t,r){return t.checked=!!r},init:function init(e,t,r){var n=r;e.init=function(){return n(t,e)}},data:function data(e,t,r){var n=r;n&&t.$dataset?(Object.keys(t.$dataset).forEach((function(e){null==n[e]&&(t.dataset[s(e,"-","")]=null)})),t.$dataset=(0,l.default)({},t.$dataset,n)):t.$dataset=n?(0,l.default)({},n):t.$dataset||{},n&&Object.keys(n).forEach((function(e){t.dataset[s(e,"-","")]=n[e]}))},click:function click(e,t,r){return a(e,"click:click",t,r)}},(0,i.default)(o,"bubble-click",(function bubbleClick(e,t,r){return a(e,"bubble-click:click",t,r)})),(0,i.default)(o,"blur",(function blur(e,t,r){return a(e,"blur:blur",t,r)})),(0,i.default)(o,"dblclick",(function dblclick(e,t,r){return a(e,"dblclick:dblclick",t,r)})),(0,i.default)(o,"scroll",(function scroll(e,t,r){return a(e,"scroll:scroll",t,r)})),(0,i.default)(o,"touchstart",(function touchstart(e,t,r){var n=r?function(r){return e.touchstart((0,l.default)({},t.$dataset,{x:r.pageX||r.changedTouches[0].screenX,y:r.pageY||r.changedTouches[0].screenY}),r),!1}:null;setAttribute(e,"touchstart:touchstart",n),setAttribute(e,"touchstart:mousedown",n)})),(0,i.default)(o,"touch",(function touch(e,t,r){var n=(0,l.default)({},t.$dataset),o=r?function(e){return n.active=!0,n.x=e.pageX||e.changedTouches[0].screenX,n.y=e.pageY||e.changedTouches[0].screenY,!1}:null;setAttribute(e,"touch:touchstart",o),setAttribute(e,"touch:mousedown",o);var i=r?function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(r){return n.active&&(n.active=!t,n.xx=r.pageX||r.changedTouches[0].screenX,n.yy=r.pageY||r.changedTouches[0].screenY,n.dx=n.xx-n.x,n.dy=n.yy-n.y,e.touch(n,r)),!1}}:function(){return null};setAttribute(e,"touch:touchcancel",i(!0)),setAttribute(e,"touch:touchend",i(!0)),setAttribute(e,"touch:mouseup",i(!0)),setAttribute(e,"touch:touchmove",i(!1)),setAttribute(e,"touch:mousemove",i(!1))})),(0,i.default)(o,"keypress",(function keypress(e,t,r){setAttribute(e,"keypress:keyup",r?function(r){return 13!==r.keyCode&&27!==r.keyCode&&(null==e.keypress||e.keypress((0,l.default)({value:t.value},t.$dataset),r),setTimeout((function(){return t.focus()}),0)),!1}:null)})),(0,i.default)(o,"enter",(function enter(e,t,r){setAttribute(e,"enter:keyup",r?function(r){return 13===r.keyCode&&e.enter((0,l.default)({value:t.value},t.$dataset),r),13!==r.keyCode&&27!==r.keyCode||t.blur(),!1}:null)})),(0,i.default)(o,"change",(function change(e,t,r){setAttribute(e,"change:change",r?function(r){return e.change((0,l.default)({value:t.value},t.$dataset),r),!1}:null)})),(0,i.default)(o,"toggle",(function toggle(e,t,r){setAttribute(e,"toggle:change",r?function(r){return e.toggle((0,l.default)({value:t.checked},t.$dataset),r),!1}:null)})),o);t.ATTR_SETTERS=c},"./core-web/elements.ts":
|
|
10
10
|
/*!******************************!*\
|
|
11
11
|
!*** ./core-web/elements.ts ***!
|
|
12
12
|
\******************************/
|
|
13
|
-
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.DomTextElement=t.DomElement=void 0;var o=n(r(/*! @babel/runtime/helpers/defineProperty */"./node_modules/@babel/runtime/helpers/defineProperty.js")),i=n(r(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js")),u=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),
|
|
13
|
+
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.DomTextElement=t.DomElement=void 0;var o=n(r(/*! @babel/runtime/helpers/defineProperty */"./node_modules/@babel/runtime/helpers/defineProperty.js")),i=n(r(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js")),u=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),l=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),s=r(/*! ./attributes */"./core-web/attributes.ts"),a=function(){function DomElement(e,t,r){(0,u.default)(this,DomElement),this.$=r,this.$element=document.createElement(e),this.$element.impl=this}return(0,l.default)(DomElement,[{key:"done",value:function done(){var e,t;null==(e=this.$element)||null==(t=e.parentElement)||t.removeChild(this.$element)}},{key:"stateChanged",value:function stateChanged(e){var t=this,r=this,n=this.$element;e.forEach((function(e,u){if("$"!==u[0]){if(e!==r[u]){var l=s.ATTR_SETTERS[u];l?l(t,n,e):"data-"===u.slice(0,5)?s.ATTR_SETTERS.data(t,n,(0,i.default)({},n.$dataset,(0,o.default)({},u.slice(5),e))):(0,s.setAttribute)(t,u,e)}r[u]=e}}))}}]),DomElement}();t.DomElement=a;var c=function(){function DomTextElement(e){(0,u.default)(this,DomTextElement),this.$element=document.createTextNode(String(e.text||""))}return(0,l.default)(DomTextElement,[{key:"done",value:function done(){var e;null==(e=this.$element.parentElement)||e.removeChild(this.$element)}},{key:"stateChanged",value:function stateChanged(e){e.has("text")&&(this.$element.textContent=e.get("text"))}}]),DomTextElement}();t.DomTextElement=c},"./core-web/index.ts":
|
|
14
14
|
/*!***************************!*\
|
|
15
15
|
!*** ./core-web/index.ts ***!
|
|
16
16
|
\***************************/
|
|
17
|
-
/*! no static exports found */function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.arrmatura=arrmatura;var n=r(/*! ../core */"./core/index.ts"),o=r(/*! ./WebPlatform */"./core-web/WebPlatform.ts");function arrmatura(e,t){var r=t.rootElement,i=t.pipes,u=t.functions,
|
|
17
|
+
/*! no static exports found */function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.arrmatura=arrmatura;var n=r(/*! ../core */"./core/index.ts"),o=r(/*! ./WebPlatform */"./core-web/WebPlatform.ts");function arrmatura(e,t){var r=t.rootElement,i=t.pipes,u=t.functions,l=void 0===u?i:u,s=t.types,a=t.resources;n.Platform.instance=new o.WebPlatform(r),new n.CArrmaturaNode(e,{functions:l,types:s,resources:a}).launch()}Object.defineProperty(window,"arrmatura",{value:arrmatura})},"./core-web/reflow.ts":
|
|
18
18
|
/*!****************************!*\
|
|
19
19
|
!*** ./core-web/reflow.ts ***!
|
|
20
20
|
\****************************/
|
|
21
|
-
/*! no static exports found */function(e,t){function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function appendElt(e,t,r){var n=r?r.nextSibling:t.firstChild;return n?e!==n&&t.insertBefore(e,n):t!==e.parentElement&&t.appendChild(e),e}Object.defineProperty(t,"__esModule",{value:!0}),t.reflow=function reflow(e,t,r){if(e
|
|
21
|
+
/*! no static exports found */function(e,t){function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function appendElt(e,t,r){var n=r?r.nextSibling:t.firstChild;return n?e!==n&&t.insertBefore(e,n):t!==e.parentElement&&t.appendChild(e),e}Object.defineProperty(t,"__esModule",{value:!0}),t.reflow=function reflow(e,t,r){if(e.$children)for(var n,o=function _createForOfIteratorHelperLoose(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function _unsupportedIterableToArray(e,t){if(!e)return;if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(e.$children.values());!(n=o()).done;){var i=n.value,u=i.$impl.$element;u?u&&(reflow(i,u),r=appendElt(u,t,r)):r=reflow(i,t,r)}return r}},"./core/Arrmatura.ts":
|
|
22
22
|
/*!***************************!*\
|
|
23
23
|
!*** ./core/Arrmatura.ts ***!
|
|
24
24
|
\***************************/
|
|
25
|
-
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.CArrmaturaNode=t.Arrmatura=void 0;var o=n(r(/*! @babel/runtime/helpers/toArray */"./node_modules/@babel/runtime/helpers/toArray.js")),i=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),u=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),
|
|
25
|
+
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.CArrmaturaNode=t.Arrmatura=void 0;var o=n(r(/*! @babel/runtime/helpers/toArray */"./node_modules/@babel/runtime/helpers/toArray.js")),i=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),u=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),l=n(r(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js")),s=n(r(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")),a=n(r(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js")),c=r(/*! ./CNode */"./core/CNode.ts"),d=r(/*! ./compileNode */"./core/compileNode.ts"),f=r(/*! ./Component */"./core/Component.ts"),p=r(/*! ../lib/xml */"./lib/xml.ts"),m=r(/*! ./Platform */"./core/Platform.ts"),h=r(/*! ./register */"./core/register.ts");function _createSuper(e){var t=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function _createSuperInternal(){var r,n=(0,a.default)(e);if(t){var o=(0,a.default)(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var b=function(e){(0,l.default)(Arrmatura,e);var t=_createSuper(Arrmatura);function Arrmatura(){return(0,i.default)(this,Arrmatura),t.apply(this,arguments)}return(0,u.default)(Arrmatura,[{key:"displayName",get:function get(){return"Arrmatura"}},{key:"arrmatura",get:function get(){return this}},{key:"requestReflow",value:function requestReflow(){var e=this;this.reflowId||(this.reflowId=setTimeout((function(){m.Platform.instance.reflow(e),e.reflowId=void 0}),10))}},{key:"res",value:function res(e){var t=e.split("."),r=(0,o.default)(t),n=r[0],i=r.slice(1),u=this.node.resources,l=void 0===u?{}:u,s=n?null==l?void 0:l[n]:l;return s&&0!==i.length?1===i.length?s[i[0]]:i.reduce((function(e,t){return e?e[t]:null}),s):s}},{key:"pipe",value:function pipe(e){var t,r=e.split("."),n=(0,o.default)(r),i=n[0],u=n.slice(1),l=null==(t=this.node.functions)?void 0:t[i];return l&&0!==u.length?1===u.length?l[u[0]]:u.reduce((function(e,t){return e?e[t]:null}),l):l}}]),Arrmatura}(f.Component);t.Arrmatura=b;var y=function(e){(0,l.default)(CArrmaturaNode,e);var t=_createSuper(CArrmaturaNode);function CArrmaturaNode(e,r){var n,o=r.types,u=r.functions,l=r.resources;return(0,i.default)(this,CArrmaturaNode),n=t.call(this),(0,h.registerTypes)(o),n.functions=u,n.resources=l,n.content=(0,d.compileNodes)((0,p.xmlParse)(e)),n}return(0,u.default)(CArrmaturaNode,[{key:"ComponentConstructor",get:function get(){return b}},{key:"launch",value:function launch(){var e=this.createComponent();e.up({},!0),console.log(e.toString())}}]),CArrmaturaNode}(c.CNode);t.CArrmaturaNode=y},"./core/CNode.ts":
|
|
26
26
|
/*!***********************!*\
|
|
27
27
|
!*** ./core/CNode.ts ***!
|
|
28
28
|
\***********************/
|
|
29
|
-
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.CNode=void 0;var o=n(r(/*! @babel/runtime/helpers/toConsumableArray */"./node_modules/@babel/runtime/helpers/toConsumableArray.js")),i=n(r(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js")),u=n(r(/*! @babel/runtime/helpers/defineProperty */"./node_modules/@babel/runtime/helpers/defineProperty.js")),
|
|
29
|
+
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.CNode=void 0;var o=n(r(/*! @babel/runtime/helpers/toConsumableArray */"./node_modules/@babel/runtime/helpers/toConsumableArray.js")),i=n(r(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js")),u=n(r(/*! @babel/runtime/helpers/defineProperty */"./node_modules/@babel/runtime/helpers/defineProperty.js")),l=n(r(/*! @babel/runtime/helpers/slicedToArray */"./node_modules/@babel/runtime/helpers/slicedToArray.js")),s=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),a=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),c=r(/*! nextId */"./lib/nextId.ts"),d=r(/*! noop */"./lib/noop.ts"),f=r(/*! ./expression */"./core/expression.ts"),p=function(){function CNode(){(0,s.default)(this,CNode),this.uid=(0,c.nextId)("N"),this.propertyResolvers=[],this.initializers=[]}return(0,a.default)(CNode,[{key:"createComponent",value:function createComponent(e,t){return new this.ComponentConstructor(this,e,t)}},{key:"addInitialState",value:function addInitialState(e){return this.initialState=Object.entries(e).reduce((function(e,t){var r=(0,l.default)(t,2),n=r[0],o=r[1];return e[n]=o,e}),this.initialState||{}),this}},{key:"addPropertyResolver",value:function addPropertyResolver(e,t){return this.propertyResolvers.push((function(r,n){return n[t]=e(r),n})),this}},{key:"addPropertiesResolver",value:function addPropertiesResolver(e){return this.propertyResolvers.push((function(t,r){var n=e(t);return n&&"object"==typeof n&&Object.entries(n).forEach((function(e){var t=(0,l.default)(e,2),n=t[0],o=t[1];r[n]=o})),r})),this}},{key:"addPropertyConnector",value:function addPropertyConnector(e,t){var r=(0,f.compilePipeExpression)(e),n=r.key,o=r.pipec;this.initializers.push((function(e){return e.connect(n,(function(r){return t(o(e,r))}))}))}},{key:"addEmitter",value:function addEmitter(e,t){var r=(0,f.compilePipeExpression)(e),n=r.key,o=r.pipec;this.initializers.push((function(e){return{payload:(0,u.default)({},t,(function(t){var r;return null==(r=e.$scope)?void 0:r.emit(n,o(e,t))}))}}))}},{key:"resolveInitialProps",value:function resolveInitialProps(e){return this.resolveProps(e,(0,i.default)({},this.initialState))}},{key:"resolveProps",value:function resolveProps(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.propertyResolvers.reduce((function(t,r){return r(e,t)}),t)}},{key:"compileAttribute",value:function compileAttribute(e,t){if("id"===e)this.addInitialState((0,u.default)({},e,t));else if(e.startsWith("ui:")){var r=String(t);"ui:ref"===e?this.refId=r:"ui:props"===e&&("<"===r[0]&&"-"===r[1]?this.addPropertyConnector(r.slice(2),d.identity):this.addPropertiesResolver((0,f.compileExpression)(t)))}else"string"!=typeof t?this.addInitialState((0,u.default)({},e,t)):"<"===t[0]&&"-"===t[1]?this.addPropertyConnector(t.slice(2),(function(t){return(0,u.default)({},e,t)})):"-"===t[0]&&">"===t[1]?this.addEmitter(t.slice(2),e):t.includes("{")||":"===t[0]?this.addPropertyResolver((0,f.compileExpression)(t),e):this.addInitialState((0,u.default)({},e,t));return this}},{key:"compileAttributes",value:function compileAttributes(e){var t=this;e&&Object.entries(e).forEach((function(e){return t.compileAttribute.apply(t,(0,o.default)(e))}))}}]),CNode}();t.CNode=p},"./core/Component.ts":
|
|
30
30
|
/*!***************************!*\
|
|
31
31
|
!*** ./core/Component.ts ***!
|
|
32
32
|
\***************************/
|
|
33
|
-
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.Component=void 0;var o=n(r(/*! @babel/runtime/helpers/toConsumableArray */"./node_modules/@babel/runtime/helpers/toConsumableArray.js")),i=n(r(/*! @babel/runtime/helpers/toArray */"./node_modules/@babel/runtime/helpers/toArray.js")),u=n(r(/*! @babel/runtime/helpers/defineProperty */"./node_modules/@babel/runtime/helpers/defineProperty.js")),
|
|
33
|
+
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.Component=void 0;var o=n(r(/*! @babel/runtime/helpers/toConsumableArray */"./node_modules/@babel/runtime/helpers/toConsumableArray.js")),i=n(r(/*! @babel/runtime/helpers/toArray */"./node_modules/@babel/runtime/helpers/toArray.js")),u=n(r(/*! @babel/runtime/helpers/defineProperty */"./node_modules/@babel/runtime/helpers/defineProperty.js")),l=n(r(/*! @babel/runtime/helpers/slicedToArray */"./node_modules/@babel/runtime/helpers/slicedToArray.js")),s=n(r(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js")),a=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),c=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),d=n(r(/*! @babel/runtime/helpers/classPrivateFieldLooseBase */"./node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js")),f=n(r(/*! @babel/runtime/helpers/classPrivateFieldLooseKey */"./node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js")),p=r(/*! ./utils */"./core/utils.ts"),m=r(/*! scalar */"./lib/scalar.ts"),h=r(/*! createListeners */"./lib/createListeners.ts"),b=(0,f.default)("parent"),y=(0,f.default)("isInited"),v=(0,f.default)("isDone"),_=(0,f.default)("listeners"),g=(0,f.default)("defered"),C=(0,f.default)("weak"),x=(0,f.default)("refs"),j=(0,f.default)("propFnMap"),N=function(){function Component(e,t,r){(0,a.default)(this,Component),this._node=e,Object.defineProperty(this,b,{writable:!0,value:void 0}),Object.defineProperty(this,y,{writable:!0,value:!1}),Object.defineProperty(this,v,{writable:!0,value:!1}),Object.defineProperty(this,_,{writable:!0,value:void 0}),Object.defineProperty(this,g,{writable:!0,value:[]}),Object.defineProperty(this,C,{writable:!0,value:void 0}),Object.defineProperty(this,x,{writable:!0,value:void 0}),Object.defineProperty(this,j,{writable:!0,value:void 0}),this.$scope=r||this,(0,d.default)(this,b)[b]=t,this.$impl=this.createImplementation(this.getInitialState()),this.refId&&this.$scope.addComponentReference(this.refId,this)}return(0,c.default)(Component,[{key:"parent",get:function get(){return(0,d.default)(this,b)[b]||this}},{key:"node",get:function get(){return this._node}},{key:"displayName",get:function get(){return"🔹"}},{key:"arrmatura",get:function get(){return this.parent.arrmatura}},{key:"uid",get:function get(){return this.node.uid}},{key:"createImplementation",value:function createImplementation(e){return(0,s.default)({},e)}},{key:"getInitialState",value:function getInitialState(){return this.node.resolveInitialProps(this)}},{key:"up",value:function up(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!(0,d.default)(this,v)[v])if(t.then&&t.catch)this.upAsync(t);else{var n=new Map;Object.entries(t).forEach((function(t){var r=(0,l.default)(t,2),o=r[0],i=r[1],u=i;i&&u.then&&u.catch?e.upAsync(u,o):o&&void 0!==i&&i!==e.$impl[o]&&n.set(o,i)})),(n.size||r)&&(this.stateChanged(n),this.recontent(),this.refId&&this.notify())}}},{key:"upAsync",value:function upAsync(e,t){var r=this,n=this.raceCondition("set:"+t),o=function up(e){return n((function(){return r.up(e)}))};if(t&&"*"!==t){var i=t.replace("Promise","");e.then((function(e){return o((0,u.default)({},i,e))}))}else e.then(o);return e}},{key:"stateChanged",value:function stateChanged(e){var t=this;this.$impl.stateChanged?this.$impl.stateChanged(e):e.forEach((function(e,r){var n=t.$impl[(0,p.methodName)(r,"set")];"function"==typeof n?n.call(t.$impl,e):t.$impl[r]=e}))}},{key:"get",value:function get(e){var t=(0,d.default)(this,j)[j]||((0,d.default)(this,j)[j]={}),r=t[e];if(r)return r();var n=this.$impl,o=n[e];if(o&&"function"==typeof o){var u=o.bind(n);r=function fn(){return u}}else{var l=e.split("."),s=(0,i.default)(l),a=s[0],c=s.slice(1),f=n[(0,p.methodName)(a,"get")],m="function"==typeof f?function(){return f.call(n)}:function(){return n[a]};r=c.length?function(){return c.reduce((function(e,t){return e&&t in e?e[t]:void 0}),m())}:m}return t[e]=r,r()}},{key:"getFromScope",value:function getFromScope(e){return this.$scope.get(e)}},{key:"notify",value:function notify(){var e;null==(e=(0,d.default)(this,_)[_])||e.notify()}},{key:"subscribe",value:function subscribe(e,t){var r=this,n=(0,d.default)(this,_)[_]||((0,d.default)(this,_)[_]=(0,h.createListeners)());return{payload:t(this),cancel:n.add((function(){try{var n=t(r);e.up(n)}catch(e){r.logError("Notify ",e)}}))}}},{key:"connect",value:function connect(e,t){var r=e.split("."),n=(0,l.default)(r,2),o=n[0],i=n[1],u=void 0===i?"*":i,s=this.$scope.getByRef(o);if(s)return s.subscribe(this,(function(e){return(0,p.applyValue)("*"===u?e.$impl:e.get(u),t)}));this.logError("Connect: No such ref: "+o)}},{key:"emit",value:function emit(e,t){if(!e||!e.includes("."))return this.up(e?(0,u.default)({},e,t):t),void this.log("update:"+e,t,this.$impl);var r=e.split("."),n=(0,l.default)(r,2),o=n[0],i=n[1];try{var s=this.getByRef(o);if(!s)throw new Error("No such reference: "+o);var a=(0,p.methodName)(i,"on"),c=s.$impl,d=c[a];if(!d||"function"!=typeof d)throw new Error("No such method "+o+"."+a);var f=d.call(c,t,c,s);this.log(o+":"+a,f,t,c),f&&s.up(f)}catch(t){this.logError("emit "+e+":",t)}}},{key:"init",value:function init(e){var t=this;if(!(0,d.default)(this,v)[v]&&!(0,d.default)(this,y)[y]){(0,d.default)(this,y)[y]=!0;var r=[],n=this.node.initializers;if(null!=n&&n.length&&n.map((function(e){return e(t)})).forEach((function(n){if(n){var o=n.payload,i=n.cancel;i&&t.defer(i),o&&o.then?r.push(o):(0,s.default)(e,o)}})),r.length)Promise.all(r).then((function(r){if(t.up(r.reduce((function(e,t){return(0,s.default)(e,t)}),e),!0),t.$impl.init){var n=t.$impl.init(t);n&&t.up(n)}}));else if(this.up(e,!0),this.$impl.init){var o=this.$impl.init(this);o&&this.up(o)}return this}}},{key:"done",value:function done(){var e,t,r,n,o,i=this;if(!(0,d.default)(this,v)[v]){(0,d.default)(this,v)[v]=!0,null==(e=(t=this.$impl).done)||e.call(t,this);var u=(0,d.default)(this,b)[b];(0,d.default)(this,b)[b]=void 0,null==(r=this.$children)||r.forEach((function(e){return e.done()})),null==u||null==(n=u.$children)||n.delete(this.uid),null==(o=(0,d.default)(this,g)[g])||o.forEach((function(e){return e(i)})),(0,d.default)(this,g)[g]=void 0,this.$impl.$=null}}},{key:"content",get:function get(){return this.node.content}},{key:"recontentScope",get:function get(){return this.$scope}},{key:"setupChildren",value:function setupChildren(e){this.$children=e,e.forEach((function(e){return e.settleAsChild()}))}},{key:"settleAsChild",value:function settleAsChild(){(0,d.default)(this,y)[y]?this.up(this.node.resolveProps(this),!0):this.init(this.node.resolveInitialProps(this))}},{key:"recontent",value:function recontent(){var e,t=this,r=this.recontentScope,n=this.content;this.arrmatura.requestReflow(),null==(e=this.$children)||e.forEach((function(e,t){null!=n&&n.get(t)||e.done()}));var o=new Map;null==n||n.forEach((function(e,n){var i,u=(null==(i=t.$children)?void 0:i.get(n))||e.createComponent(t,r);o.set(u.uid,u)})),this.setupChildren(o)}},{key:"refId",get:function get(){return this._node.refId}},{key:"refs",get:function get(){return(0,d.default)(this,x)[x]||((0,d.default)(this,x)[x]={})}},{key:"getByRef",value:function getByRef(e){if("this"===e)return this;var t=this.refs[e]||null;return t||(this===this.$scope?null:this.$scope.getByRef(e))}},{key:"addComponentReference",value:function addComponentReference(e,t){this.refs[e]=t}},{key:"pipe",value:function pipe(e){return this.arrmatura.pipe(e)}},{key:"applyPipe",value:function applyPipe(e,t){var r=this;try{var n=e.split(":"),u=(0,i.default)(n),l=u[0],s=u.slice(1);return this.pipe(l).apply(this.$impl,[t].concat((0,o.default)(s.map((function(e){return"@"===e[0]?r.getFromScope(e.slice(1)):(0,m.scalarParse)(e)})))))}catch(r){return this.logError("ERROR: pipe "+e,r),t}}},{key:"raceCondition",value:function raceCondition(e){var t=(0,d.default)(this,C)[C]||((0,d.default)(this,C)[C]=new Map),r=1+(t.get(e)||0);return t.set(e,r),function(n){r===t.get(e)&&(r=0,n())}}},{key:"defer",value:function defer(e){e&&"function"==typeof e&&((0,d.default)(this,g)[g]||((0,d.default)(this,g)[g]=[])).push(e)}},{key:"log",value:function log(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=console).log.apply(e,[this.displayName+":"+this.uid].concat(r))}},{key:"logError",value:function logError(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=console).error.apply(e,["⛔ ERROR: "+this.displayName+":"+this.uid].concat(r))}},{key:"res",value:function res(e){return this.arrmatura.res(e)}},{key:"stringify",value:function stringify(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.uid,r=this.displayName,n=void 0===r?t:r,i=this.$impl,u=this.$children;if("#text"===n)return""+e+i.text;var l=null!=u&&u.size?(0,o.default)(u.values()).map((function(t){return t.stringify(" "+e)})).join("\n"):"";return e+"<"+n+(0,p.stringifyState)(i)+(l?">\n"+l+"\n"+e+"</"+n+">":"/>")}},{key:"toString",value:function toString(){return this.stringify()}}]),Component}();t.Component=N},"./core/Platform.ts":
|
|
34
34
|
/*!**************************!*\
|
|
35
35
|
!*** ./core/Platform.ts ***!
|
|
36
36
|
\**************************/
|
|
@@ -38,31 +38,31 @@
|
|
|
38
38
|
/*!************************************!*\
|
|
39
39
|
!*** ./core/cnodes/composition.ts ***!
|
|
40
40
|
\************************************/
|
|
41
|
-
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.SlotComponent=t.CompositeComponent=t.CSlotNode=t.CFragmentNode=t.CCompositeNode=void 0;var o=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),i=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),u=n(r(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js")),
|
|
41
|
+
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.SlotComponent=t.CompositeComponent=t.CSlotNode=t.CFragmentNode=t.CCompositeNode=void 0;var o=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),i=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),u=n(r(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js")),l=n(r(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")),s=n(r(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js")),a=n(r(/*! @babel/runtime/helpers/slicedToArray */"./node_modules/@babel/runtime/helpers/slicedToArray.js")),c=r(/*! ../CNode */"./core/CNode.ts"),d=r(/*! ../compileNode */"./core/compileNode.ts"),f=r(/*! ../Component */"./core/Component.ts"),p=r(/*! ../register */"./core/register.ts");function _createSuper(e){var t=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function _createSuperInternal(){var r,n=(0,s.default)(e);if(t){var o=(0,s.default)(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return(0,l.default)(this,r)}}var m=function(e){(0,u.default)(SlotComponent,e);var t=_createSuper(SlotComponent);function SlotComponent(){return(0,o.default)(this,SlotComponent),t.apply(this,arguments)}return(0,i.default)(SlotComponent,[{key:"displayName",get:function get(){return"🔸"}},{key:"compositeScope",get:function get(){return this.$scope}},{key:"content",get:function get(){return this.compositeScope.slotContent(this.node.id)}},{key:"recontentScope",get:function get(){return this.compositeScope.$scope}}]),SlotComponent}(f.Component);t.SlotComponent=m;var h=function(e){(0,u.default)(CSlotNode,e);var t=_createSuper(CSlotNode);function CSlotNode(e){var r,n;return(0,o.default)(this,CSlotNode),(n=t.call(this)).id=null==(r=e.attrs)?void 0:r.id,n}return(0,i.default)(CSlotNode,[{key:"ComponentConstructor",get:function get(){return m}}]),CSlotNode}(c.CNode);t.CSlotNode=h;var b=function(e){(0,u.default)(CompositeComponent,e);var t=_createSuper(CompositeComponent);function CompositeComponent(){return(0,o.default)(this,CompositeComponent),t.apply(this,arguments)}return(0,i.default)(CompositeComponent,[{key:"displayName",get:function get(){return"💠"+this.node.definition.tag}},{key:"content",get:function get(){return this.node.definition.content}},{key:"recontentScope",get:function get(){return this}},{key:"slotContent",value:function slotContent(e){return this.node.slotContent[e||"default"]}},{key:"createImplementation",value:function createImplementation(e){return new this.node.definition.Ctor(e,this)}}]),CompositeComponent}(f.Component);t.CompositeComponent=b;var y=function(e){(0,u.default)(CCompositeNode,e);var t=_createSuper(CCompositeNode);function CCompositeNode(e){var r,n=e.tag,i=e.attrs,u=e.nodes;return(0,o.default)(this,CCompositeNode),(r=t.call(this)).definition=(0,p.getByTag)(n),r.compileAttributes(i),r.slotContent=function compileSlots(e,t){var r=(null==t?void 0:t.reduce((function(t,r){var n=r.tag.startsWith(e+":"),o=n?r.tag.split(":")[1]:"default";return t[o]=(t[o]||[]).concat(n?r.nodes||[]:r),t}),{}))||{};return Object.entries(r).reduce((function(e,t){var r=(0,a.default)(t,2),n=r[0],o=r[1];return e[n]=(0,d.compileNodes)(o),e}),{})}(n,u),r}return(0,i.default)(CCompositeNode,[{key:"ComponentConstructor",get:function get(){return b}}]),CCompositeNode}(c.CNode);t.CCompositeNode=y;var v=function(e){(0,u.default)(CFragmentNode,e);var t=_createSuper(CFragmentNode);function CFragmentNode(e){var r,n=e.nodes;return(0,o.default)(this,CFragmentNode),(r=t.call(this)).content=(0,d.compileNodes)(n),r}return(0,i.default)(CFragmentNode,[{key:"ComponentConstructor",get:function get(){return f.Component}}]),CFragmentNode}(c.CNode);t.CFragmentNode=v},"./core/cnodes/conditionals.ts":
|
|
42
42
|
/*!*************************************!*\
|
|
43
43
|
!*** ./core/cnodes/conditionals.ts ***!
|
|
44
44
|
\*************************************/
|
|
45
|
-
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.CIfNode=void 0;var o=n(r(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js")),i=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),u=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),
|
|
45
|
+
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.CIfNode=void 0;var o=n(r(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js")),i=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),u=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),l=n(r(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js")),s=n(r(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")),a=n(r(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js")),c=r(/*! ../CNode */"./core/CNode.ts"),d=r(/*! ../expression */"./core/expression.ts"),f=r(/*! ../compileNode */"./core/compileNode.ts");function _createSuper(e){var t=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function _createSuperInternal(){var r,n=(0,a.default)(e);if(t){var o=(0,a.default)(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var p=function(e){(0,l.default)(IfComponent,e);var t=_createSuper(IfComponent);function IfComponent(){return(0,i.default)(this,IfComponent),t.apply(this,arguments)}return(0,u.default)(IfComponent,[{key:"content",get:function get(){return this.$impl.condition?this.node.then:this.node.else}}]),IfComponent}(r(/*! ../Component */"./core/Component.ts").Component),m=function(e){(0,l.default)(CIfNode,e);var t=_createSuper(CIfNode);function CIfNode(e,r){var n;return(0,i.default)(this,CIfNode),(n=t.call(this)).compileCondition(r),n.compileBranches(e),n}return(0,u.default)(CIfNode,[{key:"ComponentConstructor",get:function get(){return p}},{key:"compileBranches",value:function compileBranches(e){var t=e.nodes,r=[e];if(null!=t&&t.length){var n=t.find((function(e){return"ui:else"===e.tag})),i=t.find((function(e){return"ui:then"===e.tag}));n?(this.else=(0,f.compileNodes)(n.nodes),r=i?i.nodes:[(0,o.default)(e,{nodes:t.filter((function(e){return e!==n}))})]):i&&(r=i.nodes)}this.then=(0,f.compileNodes)(r)}},{key:"compileCondition",value:function compileCondition(e){if("<"===e[0]&&"-"===e[1])this.addPropertyConnector(e.slice(2),(function(e){return{condition:e}}));else if("slot("===e.slice(0,5)){var t=e.slice(5,-1);this.addPropertyResolver((function(e){return null==e.$scope.slotContent?void 0:e.$scope.slotContent(t)}),"condition")}else this.addPropertyResolver((0,d.compileExpression)("{"===e[0]?e:"{"+e+"}"),"condition")}}]),CIfNode}(c.CNode);t.CIfNode=m},"./core/cnodes/elementary.ts":
|
|
46
46
|
/*!***********************************!*\
|
|
47
47
|
!*** ./core/cnodes/elementary.ts ***!
|
|
48
48
|
\***********************************/
|
|
49
|
-
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.TextElementComponent=t.ElementComponent=t.CTextElementNode=t.CElementNode=void 0;var o=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),i=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),u=n(r(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js")),
|
|
49
|
+
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.TextElementComponent=t.ElementComponent=t.CTextElementNode=t.CElementNode=void 0;var o=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),i=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),u=n(r(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js")),l=n(r(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")),s=n(r(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js")),a=r(/*! ../Platform */"./core/Platform.ts"),c=r(/*! ../CNode */"./core/CNode.ts"),d=r(/*! ../compileNode */"./core/compileNode.ts"),f=r(/*! ../Component */"./core/Component.ts");function _createSuper(e){var t=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function _createSuperInternal(){var r,n=(0,s.default)(e);if(t){var o=(0,s.default)(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return(0,l.default)(this,r)}}var p=function(e){(0,u.default)(ElementComponent,e);var t=_createSuper(ElementComponent);function ElementComponent(){return(0,o.default)(this,ElementComponent),t.apply(this,arguments)}return(0,i.default)(ElementComponent,[{key:"displayName",get:function get(){return this.node.tag}},{key:"createImplementation",value:function createImplementation(e){return a.Platform.instance.createElement(this.node.tag,e,this)}}]),ElementComponent}(f.Component);t.ElementComponent=p;var m=function(e){(0,u.default)(TextElementComponent,e);var t=_createSuper(TextElementComponent);function TextElementComponent(){return(0,o.default)(this,TextElementComponent),t.apply(this,arguments)}return(0,i.default)(TextElementComponent,[{key:"createImplementation",value:function createImplementation(e){return a.Platform.instance.createTextElement(e,this)}}]),TextElementComponent}(f.Component);t.TextElementComponent=m;var h=function(e){(0,u.default)(CElementNode,e);var t=_createSuper(CElementNode);function CElementNode(e){var r;return(0,o.default)(this,CElementNode),(r=t.call(this)).tag=e.tag,r.content=(0,d.compileNodes)(e.nodes),r.compileAttributes(e.attrs),r}return(0,i.default)(CElementNode,[{key:"ComponentConstructor",get:function get(){return p}}]),CElementNode}(c.CNode);t.CElementNode=h;var b=function(e){(0,u.default)(CTextElementNode,e);var t=_createSuper(CTextElementNode);function CTextElementNode(e){var r;return(0,o.default)(this,CTextElementNode),(r=t.call(this)).tag=e.tag,r.compileAttributes(e.attrs),r}return(0,i.default)(CTextElementNode,[{key:"ComponentConstructor",get:function get(){return m}}]),CTextElementNode}(c.CNode);t.CTextElementNode=b},"./core/cnodes/iterations.ts":
|
|
50
50
|
/*!***********************************!*\
|
|
51
51
|
!*** ./core/cnodes/iterations.ts ***!
|
|
52
52
|
\***********************************/
|
|
53
|
-
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.CItemNode=t.CForNode=void 0;var o=n(r(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js")),i=n(r(/*! @babel/runtime/helpers/get */"./node_modules/@babel/runtime/helpers/get.js")),u=n(r(/*! @babel/runtime/helpers/slicedToArray */"./node_modules/@babel/runtime/helpers/slicedToArray.js")),
|
|
53
|
+
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.CItemNode=t.CForNode=void 0;var o=n(r(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js")),i=n(r(/*! @babel/runtime/helpers/get */"./node_modules/@babel/runtime/helpers/get.js")),u=n(r(/*! @babel/runtime/helpers/slicedToArray */"./node_modules/@babel/runtime/helpers/slicedToArray.js")),l=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),s=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),a=n(r(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js")),c=n(r(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")),d=n(r(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js")),f=r(/*! ../CNode */"./core/CNode.ts"),p=r(/*! ../compileNode */"./core/compileNode.ts"),m=r(/*! ../Component */"./core/Component.ts");function _createSuper(e){var t=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function _createSuperInternal(){var r,n=(0,d.default)(e);if(t){var o=(0,d.default)(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return(0,c.default)(this,r)}}var h=function(e){(0,a.default)(ForComponent,e);var t=_createSuper(ForComponent);function ForComponent(){var e;(0,l.default)(this,ForComponent);for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return(e=t.call.apply(t,[this].concat(n))).pkHash={},e}return(0,s.default)(ForComponent,[{key:"displayName",get:function get(){return"🔹"}},{key:"content",get:function get(){var e=this,t=this.$impl.each,r=this.node.itemNode,n=new Map;if(this.pkHash={},null!=t&&t.length){if(!t.forEach)throw new Error("[ui:for] Items has no forEach() "+t);t.forEach((function(t){var o=t.id;if(null!=o){var i=String(o);if(e.pkHash[i])console.error("ERROR: duplicate item id: "+i,t);else{e.pkHash[i]=t;var u=r.cloneWithDatum(t).addPropertyResolver((function(){return e.pkHash[i]}),r.itemName);n.set(u.uid,u)}}else console.error("ERROR: empty item id: ",t)}))}return n}}]),ForComponent}(m.Component),b=function(e){(0,a.default)(CForNode,e);var t=_createSuper(CForNode);function CForNode(e,r){var n,o=(0,u.default)(r,3),i=o[0],s=o[1],a=o[2],c=void 0===a?s:a;return(0,l.default)(this,CForNode),(n=t.call(this)).itemNode=new v(i,(0,p.compileNodes)([e])),n.compileAttribute("each","{:<".includes(c[0])?c:"{"+c+"}"),n}return(0,s.default)(CForNode,[{key:"ComponentConstructor",get:function get(){return h}}]),CForNode}(f.CNode);t.CForNode=b;var y=function(e){(0,a.default)(ItemComponent,e);var t=_createSuper(ItemComponent);function ItemComponent(){return(0,l.default)(this,ItemComponent),t.apply(this,arguments)}return(0,s.default)(ItemComponent,[{key:"displayName",get:function get(){return"🔹"}},{key:"recontentScope",get:function get(){return this}},{key:"emit",value:function emit(e,t){return this.$scope.emit(e,t)}},{key:"get",value:function get(e){var t=this.node.itemName;return e.startsWith(t+".")||e===t?(0,i.default)((0,d.default)(ItemComponent.prototype),"get",this).call(this,e):this.$scope.get(e)}}]),ItemComponent}(m.Component),v=function(e){(0,a.default)(CItemNode,e);var t=_createSuper(CItemNode);function CItemNode(e,r){var n;return(0,l.default)(this,CItemNode),(n=t.call(this)).itemName=e,n.content=r,n}return(0,s.default)(CItemNode,[{key:"cloneWithDatum",value:function cloneWithDatum(e){var t=this.uid+"#"+e.id;return(0,o.default)(new CItemNode(this.itemName,this.content),{uid:t})}},{key:"ComponentConstructor",get:function get(){return y}}]),CItemNode}(f.CNode);t.CItemNode=v},"./core/cnodes/routing.ts":
|
|
54
54
|
/*!********************************!*\
|
|
55
55
|
!*** ./core/cnodes/routing.ts ***!
|
|
56
56
|
\********************************/
|
|
57
|
-
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.DynamicTagComponent=t.CDynamicTagNode=void 0;var o=n(r(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js")),i=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),u=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),
|
|
57
|
+
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.DynamicTagComponent=t.CDynamicTagNode=void 0;var o=n(r(/*! @babel/runtime/helpers/extends */"./node_modules/@babel/runtime/helpers/extends.js")),i=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),u=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),l=n(r(/*! @babel/runtime/helpers/inherits */"./node_modules/@babel/runtime/helpers/inherits.js")),s=n(r(/*! @babel/runtime/helpers/possibleConstructorReturn */"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")),a=n(r(/*! @babel/runtime/helpers/getPrototypeOf */"./node_modules/@babel/runtime/helpers/getPrototypeOf.js")),c=r(/*! ../CNode */"./core/CNode.ts"),d=r(/*! ../compileNode */"./core/compileNode.ts");function _createSuper(e){var t=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function _createSuperInternal(){var r,n=(0,a.default)(e);if(t){var o=(0,a.default)(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return(0,s.default)(this,r)}}var f=function(e){(0,l.default)(DynamicTagComponent,e);var t=_createSuper(DynamicTagComponent);function DynamicTagComponent(){return(0,i.default)(this,DynamicTagComponent),t.apply(this,arguments)}return(0,u.default)(DynamicTagComponent,[{key:"content",get:function get(){var e=this.$impl.tag,t=this.node.uid+":"+e;return new Map([[t,(0,o.default)((0,d.compileNode)((0,o.default)(this.node.xml,{tag:e})),{uid:t})]])}}]),DynamicTagComponent}(r(/*! ../Component */"./core/Component.ts").Component);t.DynamicTagComponent=f;var p=function(e){(0,l.default)(CDynamicTagNode,e);var t=_createSuper(CDynamicTagNode);function CDynamicTagNode(e,r){var n;return(0,i.default)(this,CDynamicTagNode),(n=t.call(this)).compileAttribute("tag",r),n.xml=e,n}return(0,u.default)(CDynamicTagNode,[{key:"ComponentConstructor",get:function get(){return f}}]),CDynamicTagNode}(c.CNode);t.CDynamicTagNode=p},"./core/compileNode.ts":
|
|
58
58
|
/*!*****************************!*\
|
|
59
59
|
!*** ./core/compileNode.ts ***!
|
|
60
60
|
\*****************************/
|
|
61
|
-
/*! no static exports found */function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.compileNodes=t.compileNode=void 0;var n=r(/*! ./cnodes/composition */"./core/cnodes/composition.ts"),o=r(/*! ./cnodes/routing */"./core/cnodes/routing.ts"),i=r(/*! ./cnodes/elementary */"./core/cnodes/elementary.ts"),u=r(/*! ./cnodes/iterations */"./core/cnodes/iterations.ts"),
|
|
61
|
+
/*! no static exports found */function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.compileNodes=t.compileNode=void 0;var n=r(/*! ./cnodes/composition */"./core/cnodes/composition.ts"),o=r(/*! ./cnodes/routing */"./core/cnodes/routing.ts"),i=r(/*! ./cnodes/elementary */"./core/cnodes/elementary.ts"),u=r(/*! ./cnodes/iterations */"./core/cnodes/iterations.ts"),l=r(/*! ./cnodes/conditionals */"./core/cnodes/conditionals.ts"),s=function compileNode(e){var t=e.tag,r=e.attrs,s=null==r?void 0:r["ui:for"];if(s)return delete r["ui:for"],new u.CForNode(e,String(s).trim().split(" "));var a=null==r?void 0:r["ui:if"];if(a)return delete r["ui:if"],new l.CIfNode(e,String(a));if("ui:tag"===t){var c=(null==r?void 0:r.tag)||t;return null==r||delete r.tag,new o.CDynamicTagNode(e,String(c))}return"ui:slot"===t?new n.CSlotNode(e):"ui:fragment"===t?new n.CFragmentNode(e):"#text"===t?new i.CTextElementNode(e):t[0].match(/[A-Z]/)?new n.CCompositeNode(e):new i.CElementNode(e)};t.compileNode=s;t.compileNodes=function compileNodes(e){return new Map((null==e?void 0:e.map(s).map((function(e){return[e.uid,e]})))||[])}},"./core/expression.ts":
|
|
62
62
|
/*!****************************!*\
|
|
63
63
|
!*** ./core/expression.ts ***!
|
|
64
64
|
\****************************/
|
|
65
|
-
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.compileExpression=function compileExpression(e){if("string"!=typeof e)return function(){return e};if(":"===e[0])return function resourceExpression(e){var t=compilePipeExpression(e),r=t.key,n=t.pipec,o=stringInterpolation(r);return n.length?function(e){return n(e,e.res(o(e)))}:function(e){return e.res(o(e))}}(e.slice(1).trim());if(!e.includes("{")){var t=(0,i.scalarParse)(e);return function(){return t}}if(e.match(u))return placeholder(e.slice(1,-1).trim());return stringInterpolation(e)},t.compilePipeExpression=compilePipeExpression,t.withPipes=withPipes;var o=n(r(/*! @babel/runtime/helpers/toArray */"./node_modules/@babel/runtime/helpers/toArray.js")),i=r(/*! scalar */"./lib/scalar.ts"),u=/^\{([^}]+)\}$/,
|
|
65
|
+
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.compileExpression=function compileExpression(e){if("string"!=typeof e)return function(){return e};if(":"===e[0])return function resourceExpression(e){var t=compilePipeExpression(e),r=t.key,n=t.pipec,o=stringInterpolation(r);return n.length?function(e){return n(e,e.res(o(e)))}:function(e){return e.res(o(e))}}(e.slice(1).trim());if(!e.includes("{")){var t=(0,i.scalarParse)(e);return function(){return t}}if(e.match(u))return placeholder(e.slice(1,-1).trim());return stringInterpolation(e)},t.compilePipeExpression=compilePipeExpression,t.withPipes=withPipes;var o=n(r(/*! @babel/runtime/helpers/toArray */"./node_modules/@babel/runtime/helpers/toArray.js")),i=r(/*! scalar */"./lib/scalar.ts"),u=/^\{([^}]+)\}$/,l=/\{([^}]+)\}/g,s=function withNoPipes(e,t){return t};function withPipes(e){return e.length?function(t,r){return e.reduce((function(e,r){return t.applyPipe(r,e)}),r)}:s}function compilePipeExpression(e){var t=function splitExpression(e){return e.split("|").map((function(e){return e.trim()}))}(e),r=(0,o.default)(t);return{key:r[0],pipec:withPipes(r.slice(1))}}function stringInterpolation(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=e.trim().replace(l,(function(e,r){return t.push(placeholder(r)),"{{"+(t.length-1)+"}}"}));return t.length?function(e){return r.replace(/\{\{(\d+)\}\}/g,(function(r,n){var o=t[Number(n)](e);return o||0===o?String(o):""})).replace(/\s+/g," ")}:function(e){return r}}function placeholder(e){var t,r=compilePipeExpression(e),n=r.key,o=r.pipec,i=":"===n[0]?(t=n.slice(1),function(e){return e.res(t)}):function(e){return e.getFromScope(n)};return o.length?function(e){return o(e,i(e))}:i}},"./core/index.ts":
|
|
66
66
|
/*!***********************!*\
|
|
67
67
|
!*** ./core/index.ts ***!
|
|
68
68
|
\***********************/
|
|
@@ -70,11 +70,11 @@
|
|
|
70
70
|
/*!**************************!*\
|
|
71
71
|
!*** ./core/register.ts ***!
|
|
72
72
|
\**************************/
|
|
73
|
-
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.registerTypes=t.getByTag=t.REGISTRY=t.ComponentDefinition=void 0;var o=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),i=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),u=r(/*! ./compileNode */"./core/compileNode.ts"),
|
|
73
|
+
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.registerTypes=t.getByTag=t.REGISTRY=t.ComponentDefinition=void 0;var o=n(r(/*! @babel/runtime/helpers/classCallCheck */"./node_modules/@babel/runtime/helpers/classCallCheck.js")),i=n(r(/*! @babel/runtime/helpers/createClass */"./node_modules/@babel/runtime/helpers/createClass.js")),u=r(/*! ./compileNode */"./core/compileNode.ts"),l=r(/*! xml */"./lib/xml.ts"),s=r(/*! ./utils */"./core/utils.ts"),a=function(){function ComponentDefinition(e){var t=e.tag,r=e.template,n=e.Ctor;(0,o.default)(this,ComponentDefinition),this.tag=t,this.template=r,this.Ctor=n||function(){}}return(0,i.default)(ComponentDefinition,[{key:"content",get:function get(){return this.$templateContent||(this.$templateContent=(0,u.compileNodes)((0,l.xmlParse)(this.template)))}}]),ComponentDefinition}();t.ComponentDefinition=a;var c=new Map;t.REGISTRY=c;var d=function setInfo(e){return c.set(e.tag,new a(e))},f=function registerType(e){"string"==typeof e?e.replace(/<component\s+id="(.+)">([\s\S]*?)<\/component>/gm,(function(e,t,r){return d({tag:t,template:r.trim()}),""})):d("function"==typeof e?{Ctor:e,tag:e.name||(0,s.fnName)(e)}:e)};t.registerTypes=function registerTypes(e){return null==e?void 0:e.forEach(f)};t.getByTag=function getByTag(e){return c.get(e)||function notFound(e){return new a({tag:e,template:"<b>??"+e+"??</b>"})}(e)}},"./core/utils.ts":
|
|
74
74
|
/*!***********************!*\
|
|
75
75
|
!*** ./core/utils.ts ***!
|
|
76
76
|
\***********************/
|
|
77
|
-
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.stringifyState=t.methodName=t.fnName=t.applyValue=void 0;var o=n(r(/*! @babel/runtime/helpers/slicedToArray */"./node_modules/@babel/runtime/helpers/slicedToArray.js")),i=r(/*! nextId */"./lib/nextId.ts"),u=r(/*! noop */"./lib/noop.ts"),
|
|
77
|
+
/*! no static exports found */function(e,t,r){var n=r(/*! @babel/runtime/helpers/interopRequireDefault */"./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(t,"__esModule",{value:!0}),t.stringifyState=t.methodName=t.fnName=t.applyValue=void 0;var o=n(r(/*! @babel/runtime/helpers/slicedToArray */"./node_modules/@babel/runtime/helpers/slicedToArray.js")),i=r(/*! nextId */"./lib/nextId.ts"),u=r(/*! noop */"./lib/noop.ts"),l=r(/*! xml */"./lib/xml.ts");t.applyValue=function applyValue(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u.identity;return null!=e&&e.then?e.then(t):t(e)};t.fnName=function fnName(e){return(/^function\s+([\w$]+)\s*\(/.exec(e.toString())||[])[1]||(0,i.nextId)("C")};t.methodName=function methodName(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=""+(e||"");return t+r[0].toUpperCase()+r.slice(1)};t.stringifyState=function stringifyState(e){if(!e)return"";var t=[];return Object.entries(e).forEach((function(e){var r=(0,o.default)(e,2),n=r[0],i=r[1];i&&"$"!==n[0]&&t.push(" "+n+'="'+(0,l.attributesToString)(i)+'"')})),t.length?t.join(""):""}},"./lib/createListeners.ts":
|
|
78
78
|
/*!********************************!*\
|
|
79
79
|
!*** ./lib/createListeners.ts ***!
|
|
80
80
|
\********************************/
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
/*!********************!*\
|
|
95
95
|
!*** ./lib/xml.ts ***!
|
|
96
96
|
\********************/
|
|
97
|
-
/*! no static exports found */function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.xmlParse=t.skipQoutes=t.escapeXml=t.decodeXmlEntities=t.attributesToString=void 0,t.xmlStringify=function xmlStringify(e){var t=e.tag,r=e.attrs,n=e.nodes,o=void 0===n?[]:n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if("#text"===t)return""+i+_(String((null==r?void 0:r.text)||""));var u=g(r),
|
|
97
|
+
/*! no static exports found */function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.xmlParse=t.skipQoutes=t.escapeXml=t.decodeXmlEntities=t.attributesToString=void 0,t.xmlStringify=function xmlStringify(e){var t=e.tag,r=e.attrs,n=e.nodes,o=void 0===n?[]:n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if("#text"===t)return""+i+_(String((null==r?void 0:r.text)||""));var u=g(r),l=o.map((function(e){return xmlStringify(e," "+i)})).join("\n");return i+"<"+t+u+(l?">\n"+l+"\n"+i+"</"+t+">":"/>")};var n=r(/*! ./scalar */"./lib/scalar.ts"),o=/([a-z][a-zA-Z0-9-:]+)(="[^"]*"|={[^}]*})?/g,i=/^\s*$/,u=/<!--((?!-->)[\s\S])*-->/g,l=/(<)(\/?)([a-zа-я][a-zа-я0-9-:]*)((?:\s+[a-z][a-z0-9-:]+(?:="[^"]*"|={[^}]*})?)*)\s*(\/?)>/gi,s={img:1,input:1,br:1,col:1},a=/&#?[0-9a-z]{3,5};/g,c={amp:"&",gt:">",lt:"<",quot:'"',nbsp:" "},d={34:""",38:"&",39:"'",60:"<",62:">"},f=/["'&<>]/g,p=function FN_ESCAPE_XML_ENTITY(e){return d[e.charCodeAt(0)]},m=function FN_XML_ENTITY(e){var t=e.substring(1,e.length-1);return"#"===t[0]?String.fromCharCode(+t.slice(1)):c[t]||" "},h=function skipQoutes(e){return'"'===e[0]&&'"'===e[e.length-1]?e.slice(1,-1):e};t.skipQoutes=h;var b=function decodeXmlEntities(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.replace(a,m)};t.decodeXmlEntities=b;var y=function addNode(e,t){var r={tag:t};return(e.nodes||(e.nodes=[])).push(r),r},v=function parseAttrs(e,t){if(t){e.attrs={};for(var r=o.exec(t);r;r=o.exec(t)){var i=!r[2]||(0,n.scalarParse)(b(h(r[2].slice(1))));e.attrs[r[1]]=i}}},_=function escapeXml(e){return e?(""+e).replace(f,p):""};t.escapeXml=_;var g=function attributesToString(e){return"object"==typeof e?Array.isArray(e)?e.length?"["+attributesToString(e[0])+" x"+e.length+"]":"[]":"{"+Object.keys(e).toString()+"}":e};t.attributesToString=g;t.xmlParse=function xmlParse(e){for(var t=[{tag:"#root"}],r=String(e).trim().replace(u,""),n=0,o=l.exec(r);o;o=l.exec(r)){var a=o.index&&r.slice(n,o.index);if(a&&!a.match(i))y(t[0],"#text").attrs={text:b(a)};if(o[2]){if(t[0].tag!==o[3])throw new Error(" XML Parse closing tag does not match at: "+o.index+" near "+o.input.slice(Math.max(o.index-150,0),o.index)+"^^^^"+o.input.slice(o.index,Math.min(o.index+150,o.input.length)));t.shift()}else{var c=y(t[0],o[3]);if(v(c,o[4].trim()),!o[5]&&!(o[3]in s)&&(t.unshift(c),1===t.length))throw new Error("Parse error at: "+o[0])}n=l.lastIndex}return t[0].nodes||[]}},"./node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
|
|
98
98
|
/*!*****************************************************************!*\
|
|
99
99
|
!*** ./node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
|
|
100
100
|
\*****************************************************************/
|
|
@@ -158,7 +158,7 @@
|
|
|
158
158
|
/*!*********************************************************************!*\
|
|
159
159
|
!*** ./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
|
|
160
160
|
\*********************************************************************/
|
|
161
|
-
/*! no static exports found */function(e,t){e.exports=function _iterableToArrayLimit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i=[],u=!0,
|
|
161
|
+
/*! no static exports found */function(e,t){e.exports=function _iterableToArrayLimit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i=[],u=!0,l=!1;try{for(r=r.call(e);!(u=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{u||null==r.return||r.return()}finally{if(l)throw o}}return i}},e.exports.default=e.exports,e.exports.__esModule=!0},"./node_modules/@babel/runtime/helpers/nonIterableRest.js":
|
|
162
162
|
/*!****************************************************************!*\
|
|
163
163
|
!*** ./node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
|
|
164
164
|
\****************************************************************/
|
package/lib/obj.ts
CHANGED
|
@@ -25,6 +25,8 @@ export const isEmpty = (x: unknown): boolean => {
|
|
|
25
25
|
|
|
26
26
|
// data structures
|
|
27
27
|
export const dot = (x: any, k: string) => (x ? x[k] : null);
|
|
28
|
+
export const keysOf = (x: any) => x ? Object.keys(x) : null;
|
|
29
|
+
export const valuesOf = (x: any) => x ? Object.keys(x ): null;
|
|
28
30
|
|
|
29
31
|
export const assignKeyValue = (o: Obj, key: string, value: unknown): object => {
|
|
30
32
|
return Object.assign(o || {}, { [key]: value });
|