@toyz/loom 0.12.7 → 0.12.9
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/app.d.ts.map +1 -1
- package/dist/app.js +8 -3
- package/dist/app.js.map +1 -1
- package/dist/debug/inspect.js +1 -1
- package/dist/debug/inspect.js.map +1 -1
- package/dist/decorators/create.js +3 -3
- package/dist/decorators/create.js.map +1 -1
- package/dist/decorators/events.js +10 -10
- package/dist/decorators/events.js.map +1 -1
- package/dist/decorators/index.d.ts +1 -1
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +1 -1
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/symbols.d.ts +40 -19
- package/dist/decorators/symbols.d.ts.map +1 -1
- package/dist/decorators/symbols.js +33 -1
- package/dist/decorators/symbols.js.map +1 -1
- package/dist/di/decorators.d.ts +2 -3
- package/dist/di/decorators.d.ts.map +1 -1
- package/dist/di/decorators.js +4 -5
- package/dist/di/decorators.js.map +1 -1
- package/dist/di/index.d.ts +2 -1
- package/dist/di/index.d.ts.map +1 -1
- package/dist/di/index.js +2 -1
- package/dist/di/index.js.map +1 -1
- package/dist/element/decorators.js +3 -3
- package/dist/element/decorators.js.map +1 -1
- package/dist/element/element.js +5 -5
- package/dist/element/element.js.map +1 -1
- package/dist/element/lifecycle.js +11 -11
- package/dist/element/lifecycle.js.map +1 -1
- package/dist/element/observers.js +3 -3
- package/dist/element/observers.js.map +1 -1
- package/dist/element/slots.js +3 -3
- package/dist/element/slots.js.map +1 -1
- package/dist/element/timing.js +6 -6
- package/dist/element/timing.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/query/state.js +3 -3
- package/dist/query/state.js.map +1 -1
- package/dist/router/outlet.js +2 -2
- package/dist/router/outlet.js.map +1 -1
- package/dist/router/route-lifecycle.js +8 -8
- package/dist/router/route-lifecycle.js.map +1 -1
- package/dist/router/router.js +5 -5
- package/dist/router/router.js.map +1 -1
- package/dist/store/decorators.js +13 -13
- package/dist/store/decorators.js.map +1 -1
- package/dist/store/watch.js +9 -9
- package/dist/store/watch.js.map +1 -1
- package/dist/transform/create.js +3 -3
- package/dist/transform/create.js.map +1 -1
- package/dist/transform/transform.js +3 -3
- package/dist/transform/transform.js.map +1 -1
- package/dist/transform/typed.js +3 -3
- package/dist/transform/typed.js.map +1 -1
- package/package.json +1 -1
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAO,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQtC,cAAM,OAAO;IACX,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,UAAU,CAAyD;IAC3E,OAAO,CAAC,QAAQ,CAAS;IAIzB,gEAAgE;IAChE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAE5D,2CAA2C;IAC3C,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAEzC,uCAAuC;IACvC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAIvD;;;;;;;;;OASG;IACH,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAC5B,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI;IAuBzC,+DAA+D;IAC/D,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAIhC,wDAAwD;IACxD,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,QAAQ,CAAA;KAAE,GAAG,IAAI;IAIvE,gEAAgE;IAChE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,GAAG,IAAI;IAW3D,6DAA6D;IAC7D,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAQzB,6EAA6E;IAC7E,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC;IAM9C,sEAAsE;IACtE,OAAO,CAAC,aAAa;IAWrB;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAO,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQtC,cAAM,OAAO;IACX,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,UAAU,CAAyD;IAC3E,OAAO,CAAC,QAAQ,CAAS;IAIzB,gEAAgE;IAChE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAE5D,2CAA2C;IAC3C,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAEzC,uCAAuC;IACvC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAIvD;;;;;;;;;OASG;IACH,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAC5B,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI;IAuBzC,+DAA+D;IAC/D,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAIhC,wDAAwD;IACxD,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,QAAQ,CAAA;KAAE,GAAG,IAAI;IAIvE,gEAAgE;IAChE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,GAAG,IAAI;IAW3D,6DAA6D;IAC7D,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAQzB,6EAA6E;IAC7E,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC;IAM9C,sEAAsE;IACtE,OAAO,CAAC,aAAa;IAWrB;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgD5B,mCAAmC;IACnC,IAAI,IAAI,IAAI;IAKZ,uCAAuC;IACvC,IAAI,OAAO,IAAI,OAAO,CAErB;CACF;AAED,qDAAqD;AACrD,eAAO,MAAM,GAAG,SAAgB,CAAC;AACjC,YAAY,EAAE,OAAO,EAAE,CAAC"}
|
package/dist/app.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
16
|
import { renderLoop } from "./render-loop";
|
|
17
|
-
import { INJECT_PARAMS, ON_HANDLERS } from "./decorators/symbols";
|
|
17
|
+
import { INJECT_PARAMS, ON_HANDLERS, SERVICE_NAME } from "./decorators/symbols";
|
|
18
18
|
import { bus } from "./bus";
|
|
19
19
|
import { LoomResult } from "./result";
|
|
20
20
|
class LoomApp {
|
|
@@ -88,7 +88,7 @@ class LoomApp {
|
|
|
88
88
|
}
|
|
89
89
|
/** Resolve @inject parameter metadata for a constructor or method. */
|
|
90
90
|
resolveParams(proto, method) {
|
|
91
|
-
const meta = proto?.[INJECT_PARAMS] ?? [];
|
|
91
|
+
const meta = proto?.[INJECT_PARAMS.key] ?? [];
|
|
92
92
|
const params = meta
|
|
93
93
|
.filter((m) => m.method === method)
|
|
94
94
|
.sort((a, b) => a.index - b.index);
|
|
@@ -111,9 +111,14 @@ class LoomApp {
|
|
|
111
111
|
const args = this.resolveParams(Svc.prototype, "constructor");
|
|
112
112
|
this.providers.set(Svc, new Svc(...args));
|
|
113
113
|
}
|
|
114
|
+
// Also register by @service("name") string key for name-based injection
|
|
115
|
+
const svcName = Svc[SERVICE_NAME.key];
|
|
116
|
+
if (svcName && !this.providers.has(svcName)) {
|
|
117
|
+
this.providers.set(svcName, this.providers.get(Svc));
|
|
118
|
+
}
|
|
114
119
|
// Wire @on event handlers (bus events + DOM events)
|
|
115
120
|
const instance = this.providers.get(Svc);
|
|
116
|
-
for (const handler of instance[ON_HANDLERS] ?? []) {
|
|
121
|
+
for (const handler of instance[ON_HANDLERS.key] ?? []) {
|
|
117
122
|
if (handler.domTarget) {
|
|
118
123
|
// DOM EventTarget: @on(window, "resize")
|
|
119
124
|
handler.domTarget.addEventListener(handler.event, (e) => instance[handler.key](e));
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/debug/inspect.js
CHANGED
|
@@ -28,7 +28,7 @@ export function inspect(el) {
|
|
|
28
28
|
// Collect all registered metadata
|
|
29
29
|
const meta = {};
|
|
30
30
|
for (const [name, sym] of SYMBOL_REGISTRY) {
|
|
31
|
-
const val = ctor[sym];
|
|
31
|
+
const val = ctor[sym.key];
|
|
32
32
|
if (val !== undefined) {
|
|
33
33
|
// Convert Maps to plain objects for readability
|
|
34
34
|
meta[name] = val instanceof Map ? Object.fromEntries(val) : val;
|
|
@@ -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,CAAC;
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/debug/inspect.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,9 +52,9 @@ export function createDecorator(setup, options = { class: false }) {
|
|
|
52
52
|
if (typeof connectFn === "function") {
|
|
53
53
|
// Has lifecycle — register as connect hook
|
|
54
54
|
context.addInitializer(function () {
|
|
55
|
-
if (!this[CONNECT_HOOKS])
|
|
56
|
-
this[CONNECT_HOOKS] = [];
|
|
57
|
-
this[CONNECT_HOOKS].push(connectFn);
|
|
55
|
+
if (!this[CONNECT_HOOKS.key])
|
|
56
|
+
this[CONNECT_HOOKS.key] = [];
|
|
57
|
+
this[CONNECT_HOOKS.key].push(connectFn);
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
60
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/decorators/create.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AA6B1C,iBAAiB;AACjB,MAAM,UAAU,eAAe,CAC7B,KAA2C,EAC3C,UAA4B,EAAE,KAAK,EAAE,KAAK,EAAE;IAE5C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,yDAAyD;QACzD,OAAO,CAAC,GAAG,IAAU,EAAE,EAAE;YACvB,OAAO,CAAC,KAAe,EAAE,QAA+B,EAAE,EAAE;gBACzD,KAA0B,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;YAC9C,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,2DAA2D;IAC3D,yCAAyC;IACzC,mFAAmF;IACnF,OAAO,CAAC,GAAG,IAAU,EAAE,EAAE;QACvB,OAAO,CAAC,MAAgB,EAAE,OAAoC,EAAE,EAAE;YAChE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,SAAS,GAAI,KAA2B,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAErE,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;gBACpC,2CAA2C;gBAC3C,OAAO,CAAC,cAAc,CAAC;oBACrB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;wBAAE,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/decorators/create.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AA6B1C,iBAAiB;AACjB,MAAM,UAAU,eAAe,CAC7B,KAA2C,EAC3C,UAA4B,EAAE,KAAK,EAAE,KAAK,EAAE;IAE5C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,yDAAyD;QACzD,OAAO,CAAC,GAAG,IAAU,EAAE,EAAE;YACvB,OAAO,CAAC,KAAe,EAAE,QAA+B,EAAE,EAAE;gBACzD,KAA0B,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;YAC9C,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,2DAA2D;IAC3D,yCAAyC;IACzC,mFAAmF;IACnF,OAAO,CAAC,GAAG,IAAU,EAAE,EAAE;QACvB,OAAO,CAAC,MAAgB,EAAE,OAAoC,EAAE,EAAE;YAChE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,SAAS,GAAI,KAA2B,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAErE,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;gBACpC,2CAA2C;gBAC3C,OAAO,CAAC,cAAc,CAAC;oBACrB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;wBAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;oBAC3D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -12,18 +12,18 @@ export function on(typeOrTarget, event) {
|
|
|
12
12
|
const key = String(context.name);
|
|
13
13
|
context.addInitializer(function () {
|
|
14
14
|
// Store metadata for service wiring by app.start()
|
|
15
|
-
if (!this[ON_HANDLERS])
|
|
16
|
-
this[ON_HANDLERS] = [];
|
|
15
|
+
if (!this[ON_HANDLERS.key])
|
|
16
|
+
this[ON_HANDLERS.key] = [];
|
|
17
17
|
if (event !== undefined) {
|
|
18
|
-
this[ON_HANDLERS].push({ key, domTarget: typeOrTarget, event });
|
|
18
|
+
this[ON_HANDLERS.key].push({ key, domTarget: typeOrTarget, event });
|
|
19
19
|
}
|
|
20
20
|
else {
|
|
21
|
-
this[ON_HANDLERS].push({ key, type: typeOrTarget });
|
|
21
|
+
this[ON_HANDLERS.key].push({ key, type: typeOrTarget });
|
|
22
22
|
}
|
|
23
23
|
// Wire lifecycle via CONNECT_HOOKS
|
|
24
|
-
if (!this[CONNECT_HOOKS])
|
|
25
|
-
this[CONNECT_HOOKS] = [];
|
|
26
|
-
this[CONNECT_HOOKS].push((el) => {
|
|
24
|
+
if (!this[CONNECT_HOOKS.key])
|
|
25
|
+
this[CONNECT_HOOKS.key] = [];
|
|
26
|
+
this[CONNECT_HOOKS.key].push((el) => {
|
|
27
27
|
if (event !== undefined) {
|
|
28
28
|
// Resolve target: arrow/function resolver has no .prototype, class constructors do
|
|
29
29
|
const target = typeof typeOrTarget === "function" && !typeOrTarget.prototype
|
|
@@ -72,9 +72,9 @@ export function emit(_type, factory) {
|
|
|
72
72
|
function accessorDecorator(_target, context) {
|
|
73
73
|
const field = String(context.name);
|
|
74
74
|
context.addInitializer(function () {
|
|
75
|
-
if (!this[EMITTERS])
|
|
76
|
-
this[EMITTERS] = [];
|
|
77
|
-
this[EMITTERS].push({ field, factory });
|
|
75
|
+
if (!this[EMITTERS.key])
|
|
76
|
+
this[EMITTERS.key] = [];
|
|
77
|
+
this[EMITTERS.key].push({ field, factory });
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
80
|
// Return a unified decorator that handles both method and accessor
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/decorators/events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,GAAG,EAAoB,MAAM,QAAQ,CAAC;AA0B/C,MAAM,UAAU,EAAE,CAAC,YAA+E,EAAE,KAAc;IAChH,OAAO,CAAC,MAAgB,EAAE,OAAoC,EAAE,EAAE;QAChE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjC,OAAO,CAAC,cAAc,CAAC;YACrB,mDAAmD;YACnD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;gBAAE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/decorators/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Barrel re-export for the full decorator arsenal.
|
|
5
5
|
* Re-exports from domain folders so imports from "@toyz/loom/decorators" still work.
|
|
6
6
|
*/
|
|
7
|
-
export { REACTIVES, PROPS, WATCHERS, EMITTERS, COMPUTED_DIRTY, CATCH_HANDLER, INJECT_PARAMS, ON_HANDLERS, ROUTE_PROPS, TRANSFORMS, createSymbol, SYMBOL_REGISTRY, } from "./symbols";
|
|
7
|
+
export { LoomSymbol, REACTIVES, PROPS, WATCHERS, EMITTERS, COMPUTED_DIRTY, CATCH_HANDLER, INJECT_PARAMS, ON_HANDLERS, ROUTE_PROPS, TRANSFORMS, SERVICE_NAME, createSymbol, SYMBOL_REGISTRY, } from "./symbols";
|
|
8
8
|
export { createDecorator } from "./create";
|
|
9
9
|
export { on, emit } from "./events";
|
|
10
10
|
export { reactive, prop, computed, params, routeQuery, watch } from "../store";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,eAAe,GAChB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAKpC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACjD,uGAAuG;AACvG,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,OAAO,CAAC;AAG9C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGnF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,UAAU,EACV,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,GAChB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAKpC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACjD,uGAAuG;AACvG,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,OAAO,CAAC;AAG9C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGnF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/decorators/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Re-exports from domain folders so imports from "@toyz/loom/decorators" still work.
|
|
6
6
|
*/
|
|
7
7
|
// Symbols (consumed by LoomElement and App)
|
|
8
|
-
export { REACTIVES, PROPS, WATCHERS, EMITTERS, COMPUTED_DIRTY, CATCH_HANDLER, INJECT_PARAMS, ON_HANDLERS, ROUTE_PROPS, TRANSFORMS, createSymbol, SYMBOL_REGISTRY, } from "./symbols";
|
|
8
|
+
export { LoomSymbol, REACTIVES, PROPS, WATCHERS, EMITTERS, COMPUTED_DIRTY, CATCH_HANDLER, INJECT_PARAMS, ON_HANDLERS, ROUTE_PROPS, TRANSFORMS, SERVICE_NAME, createSymbol, SYMBOL_REGISTRY, } from "./symbols";
|
|
9
9
|
// Decorator factory (public API for user-defined decorators)
|
|
10
10
|
export { createDecorator } from "./create";
|
|
11
11
|
// Event system (stays in decorators/)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4CAA4C;AAC5C,OAAO,EACL,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,eAAe,GAChB,MAAM,WAAW,CAAC;AAEnB,6DAA6D;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,sCAAsC;AACtC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEpC,uCAAuC;AAEvC,0DAA0D;AAC1D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,oDAAoD;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACjD,uGAAuG;AACvG,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,OAAO,CAAC;AAE9C,kEAAkE;AAClE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEnF,sDAAsD;AACtD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4CAA4C;AAC5C,OAAO,EACL,UAAU,EACV,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,GAChB,MAAM,WAAW,CAAC;AAEnB,6DAA6D;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,sCAAsC;AACtC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEpC,uCAAuC;AAEvC,0DAA0D;AAC1D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,oDAAoD;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACjD,uGAAuG;AACvG,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,OAAO,CAAC;AAE9C,kEAAkE;AAClE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEnF,sDAAsD;AACtD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1,21 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* LoomSymbol<T> — A typed wrapper around a raw `symbol`.
|
|
3
|
+
*
|
|
4
|
+
* Provides type-safe `from()`, `set()`, `has()` methods for metadata access.
|
|
5
|
+
* The underlying `symbol` is available via `.key` for direct property access.
|
|
6
|
+
*/
|
|
7
|
+
export declare class LoomSymbol<T = unknown> {
|
|
8
|
+
readonly key: symbol;
|
|
9
|
+
readonly name: string;
|
|
10
|
+
constructor(name: string);
|
|
11
|
+
/** Read metadata from target — typed */
|
|
12
|
+
from(target: any): T | undefined;
|
|
13
|
+
/** Write metadata to target — typed */
|
|
14
|
+
set(target: any, value: T): void;
|
|
15
|
+
/** Check if target has this metadata */
|
|
16
|
+
has(target: any): boolean;
|
|
17
|
+
/** Symbol description */
|
|
18
|
+
get description(): string | undefined;
|
|
19
|
+
toString(): string;
|
|
20
|
+
}
|
|
21
|
+
declare const SYMBOL_REGISTRY: Map<string, LoomSymbol<unknown>>;
|
|
22
|
+
export declare function createSymbol<T = unknown>(name: string): LoomSymbol<T>;
|
|
3
23
|
export { SYMBOL_REGISTRY };
|
|
4
|
-
export declare const REACTIVES:
|
|
5
|
-
export declare const PROPS:
|
|
6
|
-
export declare const ON_HANDLERS:
|
|
7
|
-
export declare const WATCHERS:
|
|
8
|
-
export declare const EMITTERS:
|
|
9
|
-
export declare const COMPUTED_DIRTY:
|
|
10
|
-
export declare const CATCH_HANDLER:
|
|
11
|
-
export declare const CATCH_HANDLERS:
|
|
12
|
-
export declare const MOUNT_HANDLERS:
|
|
13
|
-
export declare const UNMOUNT_HANDLERS:
|
|
14
|
-
export declare const INJECT_PARAMS:
|
|
15
|
-
export declare const ROUTE_PROPS:
|
|
16
|
-
export declare const TRANSFORMS:
|
|
17
|
-
export declare const ROUTE_ENTER:
|
|
18
|
-
export declare const ROUTE_LEAVE:
|
|
19
|
-
export declare const CONNECT_HOOKS:
|
|
20
|
-
export declare const FIRST_UPDATED_HOOKS:
|
|
24
|
+
export declare const REACTIVES: LoomSymbol<unknown>;
|
|
25
|
+
export declare const PROPS: LoomSymbol<unknown>;
|
|
26
|
+
export declare const ON_HANDLERS: LoomSymbol<unknown>;
|
|
27
|
+
export declare const WATCHERS: LoomSymbol<unknown>;
|
|
28
|
+
export declare const EMITTERS: LoomSymbol<unknown>;
|
|
29
|
+
export declare const COMPUTED_DIRTY: LoomSymbol<unknown>;
|
|
30
|
+
export declare const CATCH_HANDLER: LoomSymbol<unknown>;
|
|
31
|
+
export declare const CATCH_HANDLERS: LoomSymbol<unknown>;
|
|
32
|
+
export declare const MOUNT_HANDLERS: LoomSymbol<unknown>;
|
|
33
|
+
export declare const UNMOUNT_HANDLERS: LoomSymbol<unknown>;
|
|
34
|
+
export declare const INJECT_PARAMS: LoomSymbol<unknown>;
|
|
35
|
+
export declare const ROUTE_PROPS: LoomSymbol<unknown>;
|
|
36
|
+
export declare const TRANSFORMS: LoomSymbol<unknown>;
|
|
37
|
+
export declare const ROUTE_ENTER: LoomSymbol<unknown>;
|
|
38
|
+
export declare const ROUTE_LEAVE: LoomSymbol<unknown>;
|
|
39
|
+
export declare const CONNECT_HOOKS: LoomSymbol<unknown>;
|
|
40
|
+
export declare const FIRST_UPDATED_HOOKS: LoomSymbol<unknown>;
|
|
41
|
+
export declare const SERVICE_NAME: LoomSymbol<string>;
|
|
21
42
|
//# sourceMappingURL=symbols.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/decorators/symbols.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/decorators/symbols.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,qBAAa,UAAU,CAAC,CAAC,GAAG,OAAO;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM;IAKxB,wCAAwC;IACxC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,SAAS;IAIhC,uCAAuC;IACvC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAIhC,wCAAwC;IACxC,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO;IAIzB,yBAAyB;IACzB,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,QAAQ,IAAI,MAAM;CACnB;AAED,QAAA,MAAM,eAAe,kCAAgC,CAAC;AAEtD,wBAAgB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAMrE;AAED,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,eAAO,MAAM,SAAS,qBAAsC,CAAC;AAC7D,eAAO,MAAM,KAAK,qBAAsC,CAAC;AACzD,eAAO,MAAM,WAAW,qBAA6B,CAAC;AACtD,eAAO,MAAM,QAAQ,qBAAmC,CAAC;AACzD,eAAO,MAAM,QAAQ,qBAAkC,CAAC;AACxD,eAAO,MAAM,cAAc,qBAAsC,CAAC;AAClE,eAAO,MAAM,aAAa,qBAA8B,CAAC;AACzD,eAAO,MAAM,cAAc,qBAAmC,CAAC;AAC/D,eAAO,MAAM,cAAc,qBAA6B,CAAC;AACzD,eAAO,MAAM,gBAAgB,qBAA6B,CAAC;AAC3D,eAAO,MAAM,aAAa,qBAAsC,CAAC;AACjE,eAAO,MAAM,WAAW,qBAAsC,CAAC;AAC/D,eAAO,MAAM,UAAU,qBAAsC,CAAC;AAC9D,eAAO,MAAM,WAAW,qBAAsC,CAAC;AAC/D,eAAO,MAAM,WAAW,qBAAsC,CAAC;AAC/D,eAAO,MAAM,aAAa,qBAAsC,CAAC;AACjE,eAAO,MAAM,mBAAmB,qBAAsC,CAAC;AACvE,eAAO,MAAM,YAAY,oBAA8C,CAAC"}
|
|
@@ -2,12 +2,43 @@
|
|
|
2
2
|
// Shared contract between decorators and LoomElement.
|
|
3
3
|
// All symbols are created via createSymbol() and auto-registered
|
|
4
4
|
// in SYMBOL_REGISTRY for introspection by inspect().
|
|
5
|
+
/**
|
|
6
|
+
* LoomSymbol<T> — A typed wrapper around a raw `symbol`.
|
|
7
|
+
*
|
|
8
|
+
* Provides type-safe `from()`, `set()`, `has()` methods for metadata access.
|
|
9
|
+
* The underlying `symbol` is available via `.key` for direct property access.
|
|
10
|
+
*/
|
|
11
|
+
export class LoomSymbol {
|
|
12
|
+
key;
|
|
13
|
+
name;
|
|
14
|
+
constructor(name) {
|
|
15
|
+
this.name = name;
|
|
16
|
+
this.key = Symbol(`loom:${name}`);
|
|
17
|
+
}
|
|
18
|
+
/** Read metadata from target — typed */
|
|
19
|
+
from(target) {
|
|
20
|
+
return target[this.key];
|
|
21
|
+
}
|
|
22
|
+
/** Write metadata to target — typed */
|
|
23
|
+
set(target, value) {
|
|
24
|
+
target[this.key] = value;
|
|
25
|
+
}
|
|
26
|
+
/** Check if target has this metadata */
|
|
27
|
+
has(target) {
|
|
28
|
+
return this.key in target;
|
|
29
|
+
}
|
|
30
|
+
/** Symbol description */
|
|
31
|
+
get description() {
|
|
32
|
+
return this.key.description;
|
|
33
|
+
}
|
|
34
|
+
toString() { return this.key.toString(); }
|
|
35
|
+
}
|
|
5
36
|
const SYMBOL_REGISTRY = new Map();
|
|
6
37
|
export function createSymbol(name) {
|
|
7
38
|
const existing = SYMBOL_REGISTRY.get(name);
|
|
8
39
|
if (existing)
|
|
9
40
|
return existing;
|
|
10
|
-
const sym =
|
|
41
|
+
const sym = new LoomSymbol(name);
|
|
11
42
|
SYMBOL_REGISTRY.set(name, sym);
|
|
12
43
|
return sym;
|
|
13
44
|
}
|
|
@@ -29,4 +60,5 @@ export const ROUTE_ENTER = createSymbol("route:enter");
|
|
|
29
60
|
export const ROUTE_LEAVE = createSymbol("route:leave");
|
|
30
61
|
export const CONNECT_HOOKS = createSymbol("connect:hooks");
|
|
31
62
|
export const FIRST_UPDATED_HOOKS = createSymbol("first-updated:hooks");
|
|
63
|
+
export const SERVICE_NAME = createSymbol("service:name");
|
|
32
64
|
//# sourceMappingURL=symbols.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/decorators/symbols.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,sDAAsD;AACtD,iEAAiE;AACjE,qDAAqD;AAErD,MAAM,eAAe,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/decorators/symbols.ts"],"names":[],"mappings":"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"}
|
package/dist/di/decorators.d.ts
CHANGED
|
@@ -9,8 +9,6 @@
|
|
|
9
9
|
* Note: TC39 does not support parameter decorators.
|
|
10
10
|
* Use @inject as a property accessor: `@inject(Foo) accessor foo!: Foo;`
|
|
11
11
|
*/
|
|
12
|
-
/** Symbol stamped on classes decorated with @service("name") */
|
|
13
|
-
export declare const SERVICE_NAME: symbol;
|
|
14
12
|
/**
|
|
15
13
|
* Auto-instantiated singleton. Registered on app.start().
|
|
16
14
|
* Optionally accepts a minification-safe name.
|
|
@@ -35,9 +33,10 @@ export declare function resolveServiceName(cls: new (...args: any[]) => any): st
|
|
|
35
33
|
*
|
|
36
34
|
* ```ts
|
|
37
35
|
* @inject(AuthService) accessor auth!: AuthService;
|
|
36
|
+
* @inject("AuthService") accessor auth!: AuthService;
|
|
38
37
|
* ```
|
|
39
38
|
*/
|
|
40
|
-
export declare function inject<T = unknown>(key: new (...args: unknown[]) => T): <This extends object>(_target: ClassAccessorDecoratorTarget<This, T>, _context: ClassAccessorDecoratorContext<This, T>) => ClassAccessorDecoratorResult<This, T>;
|
|
39
|
+
export declare function inject<T = unknown>(key: (new (...args: unknown[]) => T) | string): <This extends object>(_target: ClassAccessorDecoratorTarget<This, T>, _context: ClassAccessorDecoratorContext<This, T>) => ClassAccessorDecoratorResult<This, T>;
|
|
41
40
|
/**
|
|
42
41
|
* Method decorator on @service classes.
|
|
43
42
|
* Return value is registered as a provider on app.start().
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/di/decorators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/di/decorators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,OAAO,0FAGD,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,MAAM,CAE3E;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM,IACvE,IAAI,SAAS,MAAM,EACzB,SAAS,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC9C,UAAU,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,KAC/C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAUzC;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,qFAElB,CAAC"}
|
package/dist/di/decorators.js
CHANGED
|
@@ -11,9 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { app } from "../app";
|
|
13
13
|
import { createDecorator } from "../decorators/create";
|
|
14
|
-
import {
|
|
15
|
-
/** Symbol stamped on classes decorated with @service("name") */
|
|
16
|
-
export const SERVICE_NAME = createSymbol("service:name");
|
|
14
|
+
import { SERVICE_NAME } from "../decorators/symbols";
|
|
17
15
|
/**
|
|
18
16
|
* Auto-instantiated singleton. Registered on app.start().
|
|
19
17
|
* Optionally accepts a minification-safe name.
|
|
@@ -28,7 +26,7 @@ export const SERVICE_NAME = createSymbol("service:name");
|
|
|
28
26
|
*/
|
|
29
27
|
export const service = createDecorator((ctor, name) => {
|
|
30
28
|
if (name)
|
|
31
|
-
ctor[SERVICE_NAME] = name;
|
|
29
|
+
ctor[SERVICE_NAME.key] = name;
|
|
32
30
|
app.registerService(ctor);
|
|
33
31
|
}, { class: true });
|
|
34
32
|
/**
|
|
@@ -36,7 +34,7 @@ export const service = createDecorator((ctor, name) => {
|
|
|
36
34
|
* Returns the @service("name") value if present, otherwise class.name.
|
|
37
35
|
*/
|
|
38
36
|
export function resolveServiceName(cls) {
|
|
39
|
-
return cls[SERVICE_NAME] ?? cls.name;
|
|
37
|
+
return cls[SERVICE_NAME.key] ?? cls.name;
|
|
40
38
|
}
|
|
41
39
|
/**
|
|
42
40
|
* Property-mode dependency injection via auto-accessor.
|
|
@@ -44,6 +42,7 @@ export function resolveServiceName(cls) {
|
|
|
44
42
|
*
|
|
45
43
|
* ```ts
|
|
46
44
|
* @inject(AuthService) accessor auth!: AuthService;
|
|
45
|
+
* @inject("AuthService") accessor auth!: AuthService;
|
|
47
46
|
* ```
|
|
48
47
|
*/
|
|
49
48
|
export function inject(key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/di/decorators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/di/decorators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAkB,CAAC,IAAI,EAAE,IAAK,EAAE,EAAE;IACtE,IAAI,IAAI;QAAG,IAAY,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACjD,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAEpB;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAgC;IACjE,OAAQ,GAAW,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;AACpD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM,CAAc,GAA6C;IAC/E,OAAO,CACL,OAA8C,EAC9C,QAAgD,EACT,EAAE;QACzC,OAAO;YACL,GAAG;gBACD,OAAO,GAAG,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;YACzB,CAAC;YACD,GAAG,CAAC,IAAO;gBACT,yBAAyB;YAC3B,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE;IAClF,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC"}
|
package/dist/di/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Dependency injection decorators and DI-aware @watch.
|
|
5
5
|
*/
|
|
6
|
-
export { service,
|
|
6
|
+
export { service, resolveServiceName, inject, factory } from "./decorators";
|
|
7
|
+
export { SERVICE_NAME } from "../decorators/symbols";
|
|
7
8
|
export { watch } from "./watch";
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/di/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/di/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/di/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/di/index.js
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* Dependency injection decorators and DI-aware @watch.
|
|
5
5
|
*/
|
|
6
6
|
// DI decorators
|
|
7
|
-
export { service,
|
|
7
|
+
export { service, resolveServiceName, inject, factory } from "./decorators";
|
|
8
|
+
export { SERVICE_NAME } from "../decorators/symbols";
|
|
8
9
|
// DI-aware watch
|
|
9
10
|
export { watch } from "./watch";
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
package/dist/di/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/di/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gBAAgB;AAChB,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/di/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gBAAgB;AAChB,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,iBAAiB;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -23,12 +23,12 @@ export const component = createDecorator((ctor, tag, opts) => {
|
|
|
23
23
|
if (opts?.shadow === false)
|
|
24
24
|
ctor.__loom_noshadow = true;
|
|
25
25
|
// Flush pendingProps from @prop decorators (member decorators run before class decorators)
|
|
26
|
-
const propMap = ctor[PROPS] ?? new Map();
|
|
26
|
+
const propMap = ctor[PROPS.key] ?? new Map();
|
|
27
27
|
for (const { key } of pendingProps) {
|
|
28
28
|
propMap.set(key.toLowerCase(), key);
|
|
29
29
|
}
|
|
30
30
|
pendingProps.length = 0; // clear staging area
|
|
31
|
-
ctor[PROPS] = propMap;
|
|
31
|
+
ctor[PROPS.key] = propMap;
|
|
32
32
|
// Wire observedAttributes from @prop fields
|
|
33
33
|
Object.defineProperty(ctor, "observedAttributes", {
|
|
34
34
|
get: () => [...propMap.keys()],
|
|
@@ -38,7 +38,7 @@ export const component = createDecorator((ctor, tag, opts) => {
|
|
|
38
38
|
ctor.prototype.attributeChangedCallback = function (name, _old, val) {
|
|
39
39
|
const field = propMap.get(name);
|
|
40
40
|
if (field && val !== null) {
|
|
41
|
-
const transforms = ctor[TRANSFORMS];
|
|
41
|
+
const transforms = ctor[TRANSFORMS.key];
|
|
42
42
|
const transform = transforms?.get(field);
|
|
43
43
|
if (transform) {
|
|
44
44
|
this[field] = transform(val);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/element/decorators.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAA6C,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACvG,IAAI,IAAI,EAAE,MAAM,KAAK,KAAK;QAAG,IAAY,CAAC,eAAe,GAAG,IAAI,CAAC;IACjE,2FAA2F;IAC3F,MAAM,OAAO,GACV,IAAY,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/element/decorators.ts"],"names":[],"mappings":"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"}
|
package/dist/element/element.js
CHANGED
|
@@ -65,13 +65,13 @@ export class LoomElement extends HTMLElement {
|
|
|
65
65
|
// ── Lifecycle ──
|
|
66
66
|
connectedCallback() {
|
|
67
67
|
// Run decorator-registered connect hooks (from @mount, @interval, @watch, etc.)
|
|
68
|
-
for (const hook of (this[CONNECT_HOOKS] ?? [])) {
|
|
68
|
+
for (const hook of (this[CONNECT_HOOKS.key] ?? [])) {
|
|
69
69
|
const cleanup = hook(this);
|
|
70
70
|
if (typeof cleanup === "function")
|
|
71
71
|
this.cleanups.push(cleanup);
|
|
72
72
|
}
|
|
73
73
|
// Trigger initial render for reactive components
|
|
74
|
-
const hasReactives = (this[REACTIVES]?.length ?? 0) > 0;
|
|
74
|
+
const hasReactives = (this[REACTIVES.key]?.length ?? 0) > 0;
|
|
75
75
|
const overridesUpdate = this.update !== LoomElement.prototype.update;
|
|
76
76
|
if (hasReactives || overridesUpdate)
|
|
77
77
|
this.scheduleUpdate();
|
|
@@ -117,7 +117,7 @@ export class LoomElement extends HTMLElement {
|
|
|
117
117
|
// Tier 2 — FAST PATCH: all dirty deps have bindings
|
|
118
118
|
if (this.__traceDeps && canFastPatch(this.__traceDeps)) {
|
|
119
119
|
// Dirty @computed caches (they may depend on a fast-patched reactive)
|
|
120
|
-
for (const dirtyKey of this[COMPUTED_DIRTY] ?? []) {
|
|
120
|
+
for (const dirtyKey of this[COMPUTED_DIRTY.key] ?? []) {
|
|
121
121
|
this[dirtyKey] = true;
|
|
122
122
|
}
|
|
123
123
|
applyBindings(this.__traceDeps);
|
|
@@ -126,7 +126,7 @@ export class LoomElement extends HTMLElement {
|
|
|
126
126
|
}
|
|
127
127
|
// Tier 3 — FULL MORPH: structural change or first render
|
|
128
128
|
// Dirty all @computed caches
|
|
129
|
-
for (const dirtyKey of this[COMPUTED_DIRTY] ?? []) {
|
|
129
|
+
for (const dirtyKey of this[COMPUTED_DIRTY.key] ?? []) {
|
|
130
130
|
this[dirtyKey] = true;
|
|
131
131
|
}
|
|
132
132
|
// Trace reactive reads during update()
|
|
@@ -143,7 +143,7 @@ export class LoomElement extends HTMLElement {
|
|
|
143
143
|
this.firstUpdated();
|
|
144
144
|
// Run decorator-registered first-updated hooks (from @form, etc.)
|
|
145
145
|
// These fire after the first morph(), so shadow DOM content exists.
|
|
146
|
-
for (const hook of (this[FIRST_UPDATED_HOOKS] ?? [])) {
|
|
146
|
+
for (const hook of (this[FIRST_UPDATED_HOOKS.key] ?? [])) {
|
|
147
147
|
const cleanup = hook(this);
|
|
148
148
|
if (typeof cleanup === "function")
|
|
149
149
|
this.cleanups.push(cleanup);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../src/element/element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAkC,MAAM,QAAQ,CAAC;AAE7D,OAAO,EAAiB,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAkB,MAAM,UAAU,CAAC;AAE7H,MAAM,OAAgB,WAAY,SAAQ,WAAW;IACnD,iEAAiE;IACjE,IAAc,GAAG,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC;IAEzB,MAAM,CAAa;IACrB,QAAQ,GAAmB,EAAE,CAAC;IACtC,qEAAqE;IACrE,WAAW,GAAqB,IAAI,CAAC;IAErC;QACE,KAAK,EAAE,CAAC;QACR,IAAK,IAAI,CAAC,WAAmB,CAAC,eAAe,EAAE,CAAC;YAC9C,0DAA0D;YAC1D,+EAA+E;YAC/E,IAAI,CAAC,MAAM,GAAG,IAA6B,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAOS,GAAG,CACX,aAA4C,EAC5C,GAAG,MAAkB;QAErB,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,MAAuB;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,sBAAsB;IAEtB,8DAA8D;IACpD,EAAE,CAAI,IAAoB,EAAE,OAAmB;QACvD,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yBAAyB;IACf,IAAI,CAAsB,KAAQ;QAC1C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IAED,yBAAyB;IAEzB,sDAAsD;IACtD,KAAK,CAAC,KAAiB;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,oBAAoB;IAEpB,uCAAuC;IAC7B,CAAC,CAAkC,GAAW;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAI,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,0CAA0C;IAChC,EAAE,CAAkC,GAAW;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAI,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB;IAElB,iBAAiB;QACf,gFAAgF;QAChF,KAAK,MAAM,IAAI,IAAI,CAAE,IAAY,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../src/element/element.ts"],"names":[],"mappings":"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"}
|