@toyz/loom 0.13.10 → 0.13.12
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/debug/inspect.d.ts.map +1 -1
- package/dist/debug/inspect.js +6 -3
- package/dist/debug/inspect.js.map +1 -1
- package/dist/router/router.d.ts +8 -3
- package/dist/router/router.d.ts.map +1 -1
- package/dist/router/router.js +19 -15
- package/dist/router/router.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/debug/inspect.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/debug/inspect.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAsEzC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
|
package/dist/debug/inspect.js
CHANGED
|
@@ -46,10 +46,13 @@ export function inspect(el) {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
// Extract current prop values
|
|
49
|
-
const
|
|
49
|
+
const rawProps = meta.props;
|
|
50
50
|
const props = {};
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
const propKeyList = rawProps instanceof Map ? [...rawProps.keys()] :
|
|
52
|
+
rawProps instanceof Set ? [...rawProps] :
|
|
53
|
+
Array.isArray(rawProps) ? rawProps.map((p) => typeof p === "string" ? p : p.key) :
|
|
54
|
+
[];
|
|
55
|
+
for (const k of propKeyList) {
|
|
53
56
|
try {
|
|
54
57
|
props[k] = el[k];
|
|
55
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/debug/inspect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,EAAW;IACjC,IAAI,CAAC,EAAE,IAAI,OAAQ,EAAU,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,WAAkB,CAAC;IACnC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAErC,kCAAkC;IAClC,MAAM,IAAI,GAAwB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,gDAAgD;YAChD,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAClE,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,MAAM,KAAK,GAAwB,EAAE,CAAC;IACtC,MAAM,YAAY,GAAa,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;IACpD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,KAAK,CAAC,GAAG,CAAC,GAAI,EAAU,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC;QACjC,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/debug/inspect.ts"],"names":[],"mappings":"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"}
|
package/dist/router/router.d.ts
CHANGED
|
@@ -25,8 +25,8 @@ export declare class LoomRouter {
|
|
|
25
25
|
private _previousTag;
|
|
26
26
|
/** Optional outlet reference for lifecycle dispatch */
|
|
27
27
|
private _outlet;
|
|
28
|
-
/**
|
|
29
|
-
private
|
|
28
|
+
/** Last path processed by _resolve — used to deduplicate async event re-fires */
|
|
29
|
+
private _lastResolvedPath;
|
|
30
30
|
/** Register the outlet so lifecycle hooks can find rendered elements */
|
|
31
31
|
setOutlet(el: HTMLElement): void;
|
|
32
32
|
constructor(opts?: RouterOptions);
|
|
@@ -48,7 +48,12 @@ export declare class LoomRouter {
|
|
|
48
48
|
href(target: RouteTarget): string;
|
|
49
49
|
/** Resolve a RouteTarget to a path string */
|
|
50
50
|
private _resolvePath;
|
|
51
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
* Resolve the current URL against the route table and emit RouteChanged.
|
|
53
|
+
* Deduplicates: if the path hasn't changed since the last resolve, skip.
|
|
54
|
+
* This prevents double-resolution from async hashchange/popstate events
|
|
55
|
+
* that fire after go()/replace() already resolved the same path.
|
|
56
|
+
*/
|
|
52
57
|
private _resolve;
|
|
53
58
|
/**
|
|
54
59
|
* Run guards for the target route.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,UAAU,EAAyB,MAAM,QAAQ,CAAC;AAQhE,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,mEAAmE;AACnE,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAErF,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,qBAAa,UAAU;IACrB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAA6D;IAC7E,OAAO,CAAC,YAAY,CAAuB;IAC3C,uDAAuD;IACvD,OAAO,CAAC,OAAO,CAA4B;IAC3C,
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,UAAU,EAAyB,MAAM,QAAQ,CAAC;AAQhE,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,mEAAmE;AACnE,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAErF,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,qBAAa,UAAU;IACrB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAA6D;IAC7E,OAAO,CAAC,YAAY,CAAuB;IAC3C,uDAAuD;IACvD,OAAO,CAAC,OAAO,CAA4B;IAC3C,iFAAiF;IACjF,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,wEAAwE;IACxE,SAAS,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;gBAIpB,IAAI,GAAE,aAAkB;IAIpC,8CAA8C;IAC9C,IAAI,OAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,CAEjC;IAED,oEAAoE;IACpE,KAAK,IAAI,MAAM,IAAI;IAMnB,wCAAwC;IAClC,EAAE,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5C,qBAAqB;IACrB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,gDAAgD;IAC1C,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjD,yBAAyB;IACzB,IAAI,IAAI,IAAI;IAIZ,4BAA4B;IAC5B,OAAO,IAAI,IAAI;IAIf,yCAAyC;IACzC,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAIjC,6CAA6C;IAC7C,OAAO,CAAC,YAAY;IAKpB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IA0DhB;;;;;;OAMG;YACW,YAAY;IAgD1B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;CAe7B"}
|
package/dist/router/router.js
CHANGED
|
@@ -18,8 +18,8 @@ export class LoomRouter {
|
|
|
18
18
|
_previousTag = null;
|
|
19
19
|
/** Optional outlet reference for lifecycle dispatch */
|
|
20
20
|
_outlet = null;
|
|
21
|
-
/**
|
|
22
|
-
|
|
21
|
+
/** Last path processed by _resolve — used to deduplicate async event re-fires */
|
|
22
|
+
_lastResolvedPath = null;
|
|
23
23
|
/** Register the outlet so lifecycle hooks can find rendered elements */
|
|
24
24
|
setOutlet(el) {
|
|
25
25
|
this._outlet = el;
|
|
@@ -33,12 +33,7 @@ export class LoomRouter {
|
|
|
33
33
|
}
|
|
34
34
|
/** Start listening for URL changes and resolve the initial route */
|
|
35
35
|
start() {
|
|
36
|
-
const cleanup = this.mode.listen(() =>
|
|
37
|
-
// Skip listener-driven resolve if a programmatic navigation is in flight
|
|
38
|
-
if (this._navigating)
|
|
39
|
-
return;
|
|
40
|
-
this._resolve();
|
|
41
|
-
});
|
|
36
|
+
const cleanup = this.mode.listen(() => this._resolve());
|
|
42
37
|
this._resolve();
|
|
43
38
|
return cleanup;
|
|
44
39
|
}
|
|
@@ -51,10 +46,8 @@ export class LoomRouter {
|
|
|
51
46
|
if (typeof allowed === "string") {
|
|
52
47
|
return this.go(allowed);
|
|
53
48
|
}
|
|
54
|
-
this._navigating = true;
|
|
55
49
|
this.mode.write(path);
|
|
56
50
|
this._resolve();
|
|
57
|
-
this._navigating = false;
|
|
58
51
|
}
|
|
59
52
|
/** Alias for go() */
|
|
60
53
|
navigate(target) {
|
|
@@ -69,10 +62,8 @@ export class LoomRouter {
|
|
|
69
62
|
if (typeof allowed === "string") {
|
|
70
63
|
return this.replace(allowed);
|
|
71
64
|
}
|
|
72
|
-
this._navigating = true;
|
|
73
65
|
this.mode.replace(path);
|
|
74
66
|
this._resolve();
|
|
75
|
-
this._navigating = false;
|
|
76
67
|
}
|
|
77
68
|
/** Go back in history */
|
|
78
69
|
back() {
|
|
@@ -92,14 +83,25 @@ export class LoomRouter {
|
|
|
92
83
|
return target;
|
|
93
84
|
return buildPath(target.name, target.params);
|
|
94
85
|
}
|
|
95
|
-
/**
|
|
86
|
+
/**
|
|
87
|
+
* Resolve the current URL against the route table and emit RouteChanged.
|
|
88
|
+
* Deduplicates: if the path hasn't changed since the last resolve, skip.
|
|
89
|
+
* This prevents double-resolution from async hashchange/popstate events
|
|
90
|
+
* that fire after go()/replace() already resolved the same path.
|
|
91
|
+
*/
|
|
96
92
|
_resolve() {
|
|
97
93
|
const path = this.mode.read();
|
|
94
|
+
// Deduplicate — hashchange/popstate may fire asynchronously after
|
|
95
|
+
// go()/replace() already resolved this exact path.
|
|
96
|
+
if (path === this._lastResolvedPath)
|
|
97
|
+
return;
|
|
98
|
+
this._lastResolvedPath = path;
|
|
98
99
|
const match = matchRoute(path);
|
|
99
100
|
const previous = this._current.path;
|
|
100
101
|
const newTag = match?.entry.tag ?? null;
|
|
101
102
|
// ── Route lifecycle hooks ──
|
|
102
103
|
const tagChanged = this._previousTag !== newTag;
|
|
104
|
+
const pathChanged = previous !== path;
|
|
103
105
|
// Call @onRouteLeave on the old element
|
|
104
106
|
if (tagChanged && this._previousTag && this._outlet) {
|
|
105
107
|
const oldEl = this._outlet.shadowRoot?.querySelector(this._previousTag)
|
|
@@ -119,8 +121,10 @@ export class LoomRouter {
|
|
|
119
121
|
meta: match?.entry.meta ?? {},
|
|
120
122
|
};
|
|
121
123
|
bus.emit(new RouteChanged(path, this._current.params, previous, this._current.meta));
|
|
122
|
-
// Call @onRouteEnter on the new element (after DOM update via microtask)
|
|
123
|
-
|
|
124
|
+
// Call @onRouteEnter on the new element (after DOM update via microtask).
|
|
125
|
+
// Fires when the tag changed (new component) OR the path changed
|
|
126
|
+
// (same component, different params — e.g. /creator/alice → /creator/bob).
|
|
127
|
+
if ((tagChanged || pathChanged) && newTag && this._outlet) {
|
|
124
128
|
queueMicrotask(() => {
|
|
125
129
|
const newEl = this._outlet?.shadowRoot?.querySelector(newTag)
|
|
126
130
|
?? this._outlet?.querySelector(newTag);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAmB,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAgB7B,MAAM,OAAO,UAAU;IACZ,IAAI,CAAa;IAClB,QAAQ,GAAc,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACrE,YAAY,GAAkB,IAAI,CAAC;IAC3C,uDAAuD;IAC/C,OAAO,GAAuB,IAAI,CAAC;IAC3C,
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"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"}
|