@toyz/loom 0.19.8 → 0.20.0
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 +64 -2
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +123 -3
- package/dist/app.js.map +1 -1
- package/dist/di/decorators.d.ts +3 -51
- package/dist/di/decorators.d.ts.map +1 -1
- package/dist/di/decorators.js +3 -73
- package/dist/di/decorators.js.map +1 -1
- package/dist/di/index.d.ts +4 -3
- package/dist/di/index.d.ts.map +1 -1
- package/dist/di/index.js +5 -4
- package/dist/di/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/router/url.d.ts +7 -0
- package/dist/router/url.d.ts.map +1 -1
- package/dist/router/url.js +71 -49
- package/dist/router/url.js.map +1 -1
- package/dist/store/decorators.d.ts +29 -1
- package/dist/store/decorators.d.ts.map +1 -1
- package/dist/store/decorators.js +77 -0
- package/dist/store/decorators.js.map +1 -1
- package/dist/store/index.d.ts +1 -1
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +1 -1
- package/dist/store/index.js.map +1 -1
- package/package.json +1 -1
package/dist/app.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Loom — Application entry point
|
|
2
|
+
* Loom — Application entry point + DI container
|
|
3
3
|
*
|
|
4
4
|
* Boots the render loop, instantiates @service singletons,
|
|
5
5
|
* runs @factory methods, and registers @component custom elements.
|
|
6
|
+
* Also exports DI decorators: @service, @inject, @maybe, @factory.
|
|
6
7
|
*
|
|
7
8
|
* ```ts
|
|
8
|
-
* import { app } from "loom";
|
|
9
|
+
* import { app, service, inject } from "loom";
|
|
9
10
|
*
|
|
10
11
|
* app
|
|
11
12
|
* .use(natsConnection)
|
|
@@ -54,6 +55,14 @@ declare class LoomApp {
|
|
|
54
55
|
get<T = any>(key: any): T;
|
|
55
56
|
/** Retrieve a provider/service — returns LoomResult instead of undefined. */
|
|
56
57
|
maybe<T = any>(key: any): LoomResult<T, Error>;
|
|
58
|
+
/** Check if a provider is registered. */
|
|
59
|
+
has(key: any): boolean;
|
|
60
|
+
/** Replace an existing provider. Useful for testing / hot-swap. */
|
|
61
|
+
replace<T = any>(key: any, value: T): this;
|
|
62
|
+
/** Full container reset — providers, services, factories, components. */
|
|
63
|
+
reset(): void;
|
|
64
|
+
/** List all registered provider keys (debug / inspection). */
|
|
65
|
+
keys(): any[];
|
|
57
66
|
/** Resolve @inject parameter metadata for a constructor or method. */
|
|
58
67
|
private resolveParams;
|
|
59
68
|
/**
|
|
@@ -84,4 +93,57 @@ declare class LoomApp {
|
|
|
84
93
|
/** Module-level singleton — the Loom app instance */
|
|
85
94
|
export declare const app: LoomApp;
|
|
86
95
|
export type { LoomApp };
|
|
96
|
+
/**
|
|
97
|
+
* Auto-instantiated singleton. Registered on app.start().
|
|
98
|
+
* Optionally accepts a minification-safe name.
|
|
99
|
+
*
|
|
100
|
+
* ```ts
|
|
101
|
+
* @service
|
|
102
|
+
* class BookmarkStore extends CollectionStore<Bookmark> { ... }
|
|
103
|
+
*
|
|
104
|
+
* @service("UserService")
|
|
105
|
+
* class UserService { ... }
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
export declare const service: (name?: string | undefined) => (value: Function, context: ClassDecoratorContext) => void;
|
|
109
|
+
/**
|
|
110
|
+
* Resolve the display name for a service class.
|
|
111
|
+
* Returns the @service("name") value if present, otherwise class.name.
|
|
112
|
+
*/
|
|
113
|
+
export declare function resolveServiceName(cls: new (...args: any[]) => any): string;
|
|
114
|
+
/**
|
|
115
|
+
* Property-mode dependency injection via auto-accessor.
|
|
116
|
+
* Resolves lazily from the DI container on first access.
|
|
117
|
+
* Throws if the provider is not registered — use @maybe for optional.
|
|
118
|
+
*
|
|
119
|
+
* ```ts
|
|
120
|
+
* @inject(AuthService) accessor auth!: AuthService;
|
|
121
|
+
* @inject("AuthService") accessor auth!: AuthService;
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
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>;
|
|
125
|
+
/**
|
|
126
|
+
* Optional dependency injection. Returns `undefined` if the provider
|
|
127
|
+
* is not registered, instead of throwing.
|
|
128
|
+
*
|
|
129
|
+
* ```ts
|
|
130
|
+
* @maybe(AnalyticsService) accessor analytics?: AnalyticsService;
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
export declare function maybe<T = unknown>(key: (new (...args: unknown[]) => T) | string): <This extends object>(_target: ClassAccessorDecoratorTarget<This, T | undefined>, _context: ClassAccessorDecoratorContext<This, T | undefined>) => ClassAccessorDecoratorResult<This, T | undefined>;
|
|
134
|
+
/**
|
|
135
|
+
* Method decorator on @service classes.
|
|
136
|
+
* Return value is registered as a provider on app.start().
|
|
137
|
+
*
|
|
138
|
+
* ```ts
|
|
139
|
+
* @service
|
|
140
|
+
* class Boot {
|
|
141
|
+
* @factory(ChatServiceNatsClient)
|
|
142
|
+
* createChat() {
|
|
143
|
+
* return new ChatServiceNatsClient(app.get(NatsConnection));
|
|
144
|
+
* }
|
|
145
|
+
* }
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
export declare const factory: (key?: unknown) => (method: Function, context: ClassMethodDecoratorContext) => void;
|
|
87
149
|
//# sourceMappingURL=app.d.ts.map
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/app.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Loom — Application entry point
|
|
2
|
+
* Loom — Application entry point + DI container
|
|
3
3
|
*
|
|
4
4
|
* Boots the render loop, instantiates @service singletons,
|
|
5
5
|
* runs @factory methods, and registers @component custom elements.
|
|
6
|
+
* Also exports DI decorators: @service, @inject, @maybe, @factory.
|
|
6
7
|
*
|
|
7
8
|
* ```ts
|
|
8
|
-
* import { app } from "loom";
|
|
9
|
+
* import { app, service, inject } from "loom";
|
|
9
10
|
*
|
|
10
11
|
* app
|
|
11
12
|
* .use(natsConnection)
|
|
@@ -15,6 +16,7 @@
|
|
|
15
16
|
*/
|
|
16
17
|
import { renderLoop } from "./render-loop";
|
|
17
18
|
import { INJECT_PARAMS, ON_HANDLERS, SERVICE_NAME } from "./decorators/symbols";
|
|
19
|
+
import { createDecorator } from "./decorators/create";
|
|
18
20
|
import { bus } from "./bus";
|
|
19
21
|
import { LoomResult } from "./result";
|
|
20
22
|
import { hasStart, hasStop, hasSuspend, hasResume } from "./lifecycle";
|
|
@@ -64,7 +66,9 @@ class LoomApp {
|
|
|
64
66
|
// ── Registration (called by decorators) ──
|
|
65
67
|
/** Queue a @service class for auto-instantiation on start() */
|
|
66
68
|
registerService(ctor) {
|
|
67
|
-
this.services.
|
|
69
|
+
if (!this.services.includes(ctor)) {
|
|
70
|
+
this.services.push(ctor);
|
|
71
|
+
}
|
|
68
72
|
}
|
|
69
73
|
/** Queue a @factory method for invocation on start() */
|
|
70
74
|
registerFactory(key, info) {
|
|
@@ -95,6 +99,31 @@ class LoomApp {
|
|
|
95
99
|
return LoomResult.ok(v);
|
|
96
100
|
return LoomResult.err(new Error(`[loom] no provider for ${key?.name ?? key}`));
|
|
97
101
|
}
|
|
102
|
+
/** Check if a provider is registered. */
|
|
103
|
+
has(key) {
|
|
104
|
+
return this.providers.has(key);
|
|
105
|
+
}
|
|
106
|
+
/** Replace an existing provider. Useful for testing / hot-swap. */
|
|
107
|
+
replace(key, value) {
|
|
108
|
+
this.providers.set(key, value);
|
|
109
|
+
return this;
|
|
110
|
+
}
|
|
111
|
+
/** Full container reset — providers, services, factories, components. */
|
|
112
|
+
reset() {
|
|
113
|
+
this.providers.clear();
|
|
114
|
+
this.services.length = 0;
|
|
115
|
+
this.factories.length = 0;
|
|
116
|
+
this.components.length = 0;
|
|
117
|
+
this._started = false;
|
|
118
|
+
if (this._visibilityCleanup) {
|
|
119
|
+
this._visibilityCleanup();
|
|
120
|
+
this._visibilityCleanup = null;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/** List all registered provider keys (debug / inspection). */
|
|
124
|
+
keys() {
|
|
125
|
+
return [...this.providers.keys()];
|
|
126
|
+
}
|
|
98
127
|
/** Resolve @inject parameter metadata for a constructor or method. */
|
|
99
128
|
resolveParams(proto, method) {
|
|
100
129
|
const meta = proto?.[INJECT_PARAMS.key] ?? [];
|
|
@@ -218,4 +247,95 @@ class LoomApp {
|
|
|
218
247
|
}
|
|
219
248
|
/** Module-level singleton — the Loom app instance */
|
|
220
249
|
export const app = new LoomApp();
|
|
250
|
+
// ── DI decorators (merged from di/decorators.ts) ──
|
|
251
|
+
/**
|
|
252
|
+
* Auto-instantiated singleton. Registered on app.start().
|
|
253
|
+
* Optionally accepts a minification-safe name.
|
|
254
|
+
*
|
|
255
|
+
* ```ts
|
|
256
|
+
* @service
|
|
257
|
+
* class BookmarkStore extends CollectionStore<Bookmark> { ... }
|
|
258
|
+
*
|
|
259
|
+
* @service("UserService")
|
|
260
|
+
* class UserService { ... }
|
|
261
|
+
* ```
|
|
262
|
+
*/
|
|
263
|
+
export const service = createDecorator((ctor, name) => {
|
|
264
|
+
if (name)
|
|
265
|
+
ctor[SERVICE_NAME.key] = name;
|
|
266
|
+
// Duplicate guard — skip if already queued
|
|
267
|
+
if (!app.services.includes(ctor)) {
|
|
268
|
+
app.registerService(ctor);
|
|
269
|
+
}
|
|
270
|
+
}, { class: true });
|
|
271
|
+
/**
|
|
272
|
+
* Resolve the display name for a service class.
|
|
273
|
+
* Returns the @service("name") value if present, otherwise class.name.
|
|
274
|
+
*/
|
|
275
|
+
export function resolveServiceName(cls) {
|
|
276
|
+
return cls[SERVICE_NAME.key] ?? cls.name;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Property-mode dependency injection via auto-accessor.
|
|
280
|
+
* Resolves lazily from the DI container on first access.
|
|
281
|
+
* Throws if the provider is not registered — use @maybe for optional.
|
|
282
|
+
*
|
|
283
|
+
* ```ts
|
|
284
|
+
* @inject(AuthService) accessor auth!: AuthService;
|
|
285
|
+
* @inject("AuthService") accessor auth!: AuthService;
|
|
286
|
+
* ```
|
|
287
|
+
*/
|
|
288
|
+
export function inject(key) {
|
|
289
|
+
return (_target, _context) => {
|
|
290
|
+
return {
|
|
291
|
+
get() {
|
|
292
|
+
return app.get(key);
|
|
293
|
+
},
|
|
294
|
+
set(_val) {
|
|
295
|
+
if (typeof console !== "undefined") {
|
|
296
|
+
console.warn(`[loom] Cannot set @inject property — injection is read-only.`);
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
};
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Optional dependency injection. Returns `undefined` if the provider
|
|
304
|
+
* is not registered, instead of throwing.
|
|
305
|
+
*
|
|
306
|
+
* ```ts
|
|
307
|
+
* @maybe(AnalyticsService) accessor analytics?: AnalyticsService;
|
|
308
|
+
* ```
|
|
309
|
+
*/
|
|
310
|
+
export function maybe(key) {
|
|
311
|
+
return (_target, _context) => {
|
|
312
|
+
return {
|
|
313
|
+
get() {
|
|
314
|
+
return app.has(key) ? app.get(key) : undefined;
|
|
315
|
+
},
|
|
316
|
+
set(_val) {
|
|
317
|
+
if (typeof console !== "undefined") {
|
|
318
|
+
console.warn(`[loom] Cannot set @maybe property — injection is read-only.`);
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
};
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Method decorator on @service classes.
|
|
326
|
+
* Return value is registered as a provider on app.start().
|
|
327
|
+
*
|
|
328
|
+
* ```ts
|
|
329
|
+
* @service
|
|
330
|
+
* class Boot {
|
|
331
|
+
* @factory(ChatServiceNatsClient)
|
|
332
|
+
* createChat() {
|
|
333
|
+
* return new ChatServiceNatsClient(app.get(NatsConnection));
|
|
334
|
+
* }
|
|
335
|
+
* }
|
|
336
|
+
* ```
|
|
337
|
+
*/
|
|
338
|
+
export const factory = createDecorator((method, methodName, key) => {
|
|
339
|
+
app.registerFactory(key, { method: methodName, fn: method });
|
|
340
|
+
});
|
|
221
341
|
//# sourceMappingURL=app.js.map
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/di/decorators.d.ts
CHANGED
|
@@ -1,55 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Loom — DI decorators (
|
|
2
|
+
* Loom — DI decorators (deprecated — now lives in app.ts)
|
|
3
3
|
*
|
|
4
|
-
* @
|
|
5
|
-
* Optionally accepts a minification-safe name: @service("MyService")
|
|
6
|
-
* @inject — Auto-accessor dependency injection (property mode only)
|
|
7
|
-
* @factory — Method decorator, return value registered as a provider
|
|
8
|
-
*
|
|
9
|
-
* Note: TC39 does not support parameter decorators.
|
|
10
|
-
* Use @inject as a property accessor: `@inject(Foo) accessor foo!: Foo;`
|
|
11
|
-
*/
|
|
12
|
-
/**
|
|
13
|
-
* Auto-instantiated singleton. Registered on app.start().
|
|
14
|
-
* Optionally accepts a minification-safe name.
|
|
15
|
-
*
|
|
16
|
-
* ```ts
|
|
17
|
-
* @service
|
|
18
|
-
* class BookmarkStore extends CollectionStore<Bookmark> { ... }
|
|
19
|
-
*
|
|
20
|
-
* @service("UserService")
|
|
21
|
-
* class UserService { ... }
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
24
|
-
export declare const service: (name?: string | undefined) => (value: Function, context: ClassDecoratorContext) => void;
|
|
25
|
-
/**
|
|
26
|
-
* Resolve the display name for a service class.
|
|
27
|
-
* Returns the @service("name") value if present, otherwise class.name.
|
|
28
|
-
*/
|
|
29
|
-
export declare function resolveServiceName(cls: new (...args: any[]) => any): string;
|
|
30
|
-
/**
|
|
31
|
-
* Property-mode dependency injection via auto-accessor.
|
|
32
|
-
* Resolves lazily from the DI container on first access.
|
|
33
|
-
*
|
|
34
|
-
* ```ts
|
|
35
|
-
* @inject(AuthService) accessor auth!: AuthService;
|
|
36
|
-
* @inject("AuthService") accessor auth!: AuthService;
|
|
37
|
-
* ```
|
|
38
|
-
*/
|
|
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>;
|
|
40
|
-
/**
|
|
41
|
-
* Method decorator on @service classes.
|
|
42
|
-
* Return value is registered as a provider on app.start().
|
|
43
|
-
*
|
|
44
|
-
* ```ts
|
|
45
|
-
* @service
|
|
46
|
-
* class Boot {
|
|
47
|
-
* @factory(ChatServiceNatsClient)
|
|
48
|
-
* createChat() {
|
|
49
|
-
* return new ChatServiceNatsClient(app.get(NatsConnection));
|
|
50
|
-
* }
|
|
51
|
-
* }
|
|
52
|
-
* ```
|
|
4
|
+
* @deprecated Import from "@toyz/loom" directly.
|
|
53
5
|
*/
|
|
54
|
-
export
|
|
6
|
+
export { service, resolveServiceName, inject, maybe, factory } from "../app";
|
|
55
7
|
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/di/decorators.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/di/decorators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC"}
|
package/dist/di/decorators.js
CHANGED
|
@@ -1,77 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Loom — DI decorators (
|
|
2
|
+
* Loom — DI decorators (deprecated — now lives in app.ts)
|
|
3
3
|
*
|
|
4
|
-
* @
|
|
5
|
-
* Optionally accepts a minification-safe name: @service("MyService")
|
|
6
|
-
* @inject — Auto-accessor dependency injection (property mode only)
|
|
7
|
-
* @factory — Method decorator, return value registered as a provider
|
|
8
|
-
*
|
|
9
|
-
* Note: TC39 does not support parameter decorators.
|
|
10
|
-
* Use @inject as a property accessor: `@inject(Foo) accessor foo!: Foo;`
|
|
11
|
-
*/
|
|
12
|
-
import { app } from "../app";
|
|
13
|
-
import { createDecorator } from "../decorators/create";
|
|
14
|
-
import { SERVICE_NAME } from "../decorators/symbols";
|
|
15
|
-
/**
|
|
16
|
-
* Auto-instantiated singleton. Registered on app.start().
|
|
17
|
-
* Optionally accepts a minification-safe name.
|
|
18
|
-
*
|
|
19
|
-
* ```ts
|
|
20
|
-
* @service
|
|
21
|
-
* class BookmarkStore extends CollectionStore<Bookmark> { ... }
|
|
22
|
-
*
|
|
23
|
-
* @service("UserService")
|
|
24
|
-
* class UserService { ... }
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
export const service = createDecorator((ctor, name) => {
|
|
28
|
-
if (name)
|
|
29
|
-
ctor[SERVICE_NAME.key] = name;
|
|
30
|
-
app.registerService(ctor);
|
|
31
|
-
}, { class: true });
|
|
32
|
-
/**
|
|
33
|
-
* Resolve the display name for a service class.
|
|
34
|
-
* Returns the @service("name") value if present, otherwise class.name.
|
|
35
|
-
*/
|
|
36
|
-
export function resolveServiceName(cls) {
|
|
37
|
-
return cls[SERVICE_NAME.key] ?? cls.name;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Property-mode dependency injection via auto-accessor.
|
|
41
|
-
* Resolves lazily from the DI container on first access.
|
|
42
|
-
*
|
|
43
|
-
* ```ts
|
|
44
|
-
* @inject(AuthService) accessor auth!: AuthService;
|
|
45
|
-
* @inject("AuthService") accessor auth!: AuthService;
|
|
46
|
-
* ```
|
|
47
|
-
*/
|
|
48
|
-
export function inject(key) {
|
|
49
|
-
return (_target, _context) => {
|
|
50
|
-
return {
|
|
51
|
-
get() {
|
|
52
|
-
return app.get(key);
|
|
53
|
-
},
|
|
54
|
-
set(_val) {
|
|
55
|
-
// Injection is read-only
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Method decorator on @service classes.
|
|
62
|
-
* Return value is registered as a provider on app.start().
|
|
63
|
-
*
|
|
64
|
-
* ```ts
|
|
65
|
-
* @service
|
|
66
|
-
* class Boot {
|
|
67
|
-
* @factory(ChatServiceNatsClient)
|
|
68
|
-
* createChat() {
|
|
69
|
-
* return new ChatServiceNatsClient(app.get(NatsConnection));
|
|
70
|
-
* }
|
|
71
|
-
* }
|
|
72
|
-
* ```
|
|
4
|
+
* @deprecated Import from "@toyz/loom" directly.
|
|
73
5
|
*/
|
|
74
|
-
export
|
|
75
|
-
app.registerFactory(key, { method: methodName, fn: method });
|
|
76
|
-
});
|
|
6
|
+
export { service, resolveServiceName, inject, maybe, factory } from "../app";
|
|
77
7
|
//# sourceMappingURL=decorators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/di/decorators.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/di/decorators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC"}
|
package/dist/di/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Loom DI —
|
|
2
|
+
* Loom DI — Deprecated barrel (re-exports from app.ts)
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* @deprecated Import from "@toyz/loom" or "@toyz/loom/store" instead.
|
|
5
|
+
* This subpath is kept for backwards compatibility.
|
|
5
6
|
*/
|
|
6
|
-
export { service, resolveServiceName, inject, factory } from "
|
|
7
|
+
export { service, resolveServiceName, inject, maybe, factory } from "../app";
|
|
7
8
|
export { SERVICE_NAME } from "../decorators/symbols";
|
|
8
9
|
export { watch } from "./watch";
|
|
9
10
|
//# 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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/di/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/di/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Loom DI —
|
|
2
|
+
* Loom DI — Deprecated barrel (re-exports from app.ts)
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* @deprecated Import from "@toyz/loom" or "@toyz/loom/store" instead.
|
|
5
|
+
* This subpath is kept for backwards compatibility.
|
|
5
6
|
*/
|
|
6
|
-
// DI decorators
|
|
7
|
-
export { service, resolveServiceName, inject, factory } from "
|
|
7
|
+
// DI decorators (now live in app.ts)
|
|
8
|
+
export { service, resolveServiceName, inject, maybe, factory } from "../app";
|
|
8
9
|
export { SERVICE_NAME } from "../decorators/symbols";
|
|
9
10
|
// DI-aware watch
|
|
10
11
|
export { watch } from "./watch";
|
package/dist/di/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/di/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/di/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qCAAqC;AACrC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,iBAAiB;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @toyz/loom/element — form, lazy, slot, transition, hotkey, portal, log, provide, consume, etc.
|
|
10
10
|
* @toyz/loom/query — api, intercept, createApiState
|
|
11
11
|
*/
|
|
12
|
-
export { app } from "./app";
|
|
12
|
+
export { app, service, inject, maybe, factory, resolveServiceName } from "./app";
|
|
13
13
|
export type { LoomApp } from "./app";
|
|
14
14
|
export { LoomEvent } from "./event";
|
|
15
15
|
export { EventBus, bus, useBus } from "./bus";
|
|
@@ -20,7 +20,7 @@ export { morph } from "./morph";
|
|
|
20
20
|
export { jsx, jsxs, Fragment } from "./jsx-runtime";
|
|
21
21
|
export { renderLoop } from "./render-loop";
|
|
22
22
|
export type { RenderLoop } from "./render-loop";
|
|
23
|
-
export { reactive, prop, computed, watch, store } from "./store";
|
|
23
|
+
export { reactive, prop, computed, watch, store, persist } from "./store";
|
|
24
24
|
export { LoomElement, component, query, queryAll, styles, dynamicCss, type LoomHtmlQuery, type LoomHtmlQueryAll, catch_, suspend, mount, unmount, event, observer, interval, timeout, debounce, throttle, animationFrame, } from "./element";
|
|
25
25
|
export { on, emit, createDecorator, createSymbol, LoomSymbol, SYMBOL_REGISTRY } from "./decorators";
|
|
26
26
|
export { LoomResult } from "./result";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AACjF,YAAY,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAI1E,OAAO,EACL,WAAW,EACX,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAC9C,KAAK,aAAa,EAAE,KAAK,gBAAgB,EACzC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAC/B,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,GACtD,MAAM,WAAW,CAAC;AAInB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpG,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* @toyz/loom/element — form, lazy, slot, transition, hotkey, portal, log, provide, consume, etc.
|
|
10
10
|
* @toyz/loom/query — api, intercept, createApiState
|
|
11
11
|
*/
|
|
12
|
-
// App entry point
|
|
13
|
-
export { app } from "./app";
|
|
12
|
+
// App entry point + DI
|
|
13
|
+
export { app, service, inject, maybe, factory, resolveServiceName } from "./app";
|
|
14
14
|
// Event system
|
|
15
15
|
export { LoomEvent } from "./event";
|
|
16
16
|
export { EventBus, bus, useBus } from "./bus";
|
|
@@ -23,7 +23,7 @@ export { jsx, jsxs, Fragment } from "./jsx-runtime";
|
|
|
23
23
|
// Render loop
|
|
24
24
|
export { renderLoop } from "./render-loop";
|
|
25
25
|
// ── Store (core only — adapters & route sentinels via @toyz/loom/store) ──
|
|
26
|
-
export { reactive, prop, computed, watch, store } from "./store";
|
|
26
|
+
export { reactive, prop, computed, watch, store, persist } from "./store";
|
|
27
27
|
// ── Element: base class + core decorators ──
|
|
28
28
|
export { LoomElement, component, query, queryAll, styles, dynamicCss, catch_, suspend, mount, unmount, event, observer, interval, timeout, debounce, throttle, animationFrame, } from "./element";
|
|
29
29
|
// ── Decorators: event decorators + factory ──
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,uBAAuB;AACvB,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAGjF,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG9C,MAAM;AACN,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,eAAe;AACf,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,wDAAwD;AACxD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEpD,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,4EAA4E;AAE5E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE1E,8CAA8C;AAE9C,OAAO,EACL,WAAW,EACX,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAE9C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAC/B,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,GACtD,MAAM,WAAW,CAAC;AAEnB,+CAA+C;AAE/C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpG,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/router/url.d.ts
CHANGED
|
@@ -14,6 +14,11 @@
|
|
|
14
14
|
* @domain accessor host = ""; // "tenant.app.co.uk" → "app"
|
|
15
15
|
* @tld accessor ext = ""; // "tenant.app.co.uk" → "co.uk"
|
|
16
16
|
* ```
|
|
17
|
+
*
|
|
18
|
+
* Optimisations:
|
|
19
|
+
* - TWO_PART_TLDS is lazy-initialised (no alloc if decorators are unused)
|
|
20
|
+
* - Parsed hostname is cached globally (hostname never changes in a SPA)
|
|
21
|
+
* - Per-instance overrides share a single WeakMap across all URL decorators
|
|
17
22
|
*/
|
|
18
23
|
interface ParsedHostname {
|
|
19
24
|
subdomain: string;
|
|
@@ -22,6 +27,8 @@ interface ParsedHostname {
|
|
|
22
27
|
}
|
|
23
28
|
/** @internal — exported for unit tests only */
|
|
24
29
|
export declare function parseHostname(hostname?: string): ParsedHostname;
|
|
30
|
+
/** @internal — exported so tests can reset the cache between runs */
|
|
31
|
+
export declare function _resetCache(): void;
|
|
25
32
|
/**
|
|
26
33
|
* Auto-accessor initialised to the subdomain of `window.location.hostname`.
|
|
27
34
|
*
|
package/dist/router/url.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/router/url.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/router/url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AA0CH,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAK,MAAM,CAAC;IAClB,GAAG,EAAQ,MAAM,CAAC;CACnB;AAED,+CAA+C;AAC/C,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,CAsB/D;AAUD,qEAAqE;AACrE,wBAAgB,WAAW,IAAI,IAAI,CAAoB;AAkCvD;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,GA5BH,IAAI,SAAS,MAAM,WACzB,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,YACzC,6BAA6B,CAAC,IAAI,EAAE,MAAM,CAAC,KACpD,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAyBD,CAAC;AAI9C,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,KAAK,eAAe,GAAG,CAAC,IAAI,SAAS,MAAM,EACzC,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,EAClD,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,MAAM,CAAC,KACjD,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAsBhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAAC;AAC1D,wBAAgB,MAAM,CAAC,IAAI,SAAS,MAAM,EACxC,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,EAClD,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,MAAM,CAAC,GACnD,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAa9C;;;;;;;;;GASG;AACH,eAAO,MAAM,GAAG,GAzGG,IAAI,SAAS,MAAM,WACzB,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,YACzC,6BAA6B,CAAC,IAAI,EAAE,MAAM,CAAC,KACpD,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAsGb,CAAC"}
|
package/dist/router/url.js
CHANGED
|
@@ -14,40 +14,48 @@
|
|
|
14
14
|
* @domain accessor host = ""; // "tenant.app.co.uk" → "app"
|
|
15
15
|
* @tld accessor ext = ""; // "tenant.app.co.uk" → "co.uk"
|
|
16
16
|
* ```
|
|
17
|
+
*
|
|
18
|
+
* Optimisations:
|
|
19
|
+
* - TWO_PART_TLDS is lazy-initialised (no alloc if decorators are unused)
|
|
20
|
+
* - Parsed hostname is cached globally (hostname never changes in a SPA)
|
|
21
|
+
* - Per-instance overrides share a single WeakMap across all URL decorators
|
|
17
22
|
*/
|
|
18
|
-
// ── Known 2-part TLDs
|
|
23
|
+
// ── Known 2-part TLDs (lazy) ──────────────────────────────────────────────────
|
|
19
24
|
// Covers the most common compound TLDs without shipping the full PSL (~100 kb).
|
|
20
25
|
// Source: IANA + real-world frequency. Add entries as needed.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
26
|
+
let _tlds = null;
|
|
27
|
+
function getTlds() {
|
|
28
|
+
return _tlds ??= new Set([
|
|
29
|
+
// UK
|
|
30
|
+
"co.uk", "org.uk", "me.uk", "net.uk", "ltd.uk", "plc.uk", "gov.uk", "sch.uk", "ac.uk", "mod.uk",
|
|
31
|
+
// Australia
|
|
32
|
+
"com.au", "net.au", "org.au", "edu.au", "gov.au", "id.au", "asn.au",
|
|
33
|
+
// New Zealand
|
|
34
|
+
"co.nz", "net.nz", "org.nz", "govt.nz", "school.nz", "ac.nz",
|
|
35
|
+
// Japan
|
|
36
|
+
"co.jp", "ne.jp", "or.jp", "ed.jp", "ac.jp", "go.jp", "ad.jp",
|
|
37
|
+
// Brazil
|
|
38
|
+
"com.br", "net.br", "org.br", "gov.br", "edu.br", "ind.br",
|
|
39
|
+
// India
|
|
40
|
+
"co.in", "net.in", "org.in", "gen.in", "firm.in", "gov.in",
|
|
41
|
+
// South Africa
|
|
42
|
+
"co.za", "net.za", "org.za", "gov.za", "edu.za",
|
|
43
|
+
// South Korea
|
|
44
|
+
"co.kr", "or.kr", "go.kr", "ne.kr", "ac.kr",
|
|
45
|
+
// China
|
|
46
|
+
"com.cn", "net.cn", "org.cn", "gov.cn", "edu.cn", "ac.cn",
|
|
47
|
+
// Hong Kong
|
|
48
|
+
"com.hk", "net.hk", "org.hk", "edu.hk", "gov.hk",
|
|
49
|
+
// Singapore
|
|
50
|
+
"com.sg", "net.sg", "org.sg", "edu.sg", "gov.sg",
|
|
51
|
+
// Malaysia
|
|
52
|
+
"com.my", "net.my", "org.my", "edu.my", "gov.my",
|
|
53
|
+
// Others
|
|
54
|
+
"co.id", "co.th", "com.ph", "com.ar", "net.ar", "com.mx", "com.co",
|
|
55
|
+
"co.ie", "com.cy", "com.pk", "net.pk", "com.sg", "co.tt", "co.ke",
|
|
56
|
+
"com.ng", "com.eg", "com.tr", "com.tw", "com.vn", "com.ua",
|
|
57
|
+
]);
|
|
58
|
+
}
|
|
51
59
|
/** @internal — exported for unit tests only */
|
|
52
60
|
export function parseHostname(hostname) {
|
|
53
61
|
const host = hostname ?? (typeof window !== "undefined" ? window.location.hostname : "");
|
|
@@ -60,29 +68,43 @@ export function parseHostname(hostname) {
|
|
|
60
68
|
}
|
|
61
69
|
// Check if the last two labels form a known compound TLD (e.g. "co.uk")
|
|
62
70
|
const lastTwo = `${parts[parts.length - 2]}.${parts[parts.length - 1]}`;
|
|
63
|
-
const tldLen =
|
|
71
|
+
const tldLen = getTlds().has(lastTwo) ? 2 : 1;
|
|
64
72
|
return {
|
|
65
73
|
tld: parts.slice(-tldLen).join("."),
|
|
66
74
|
domain: parts[parts.length - tldLen - 1],
|
|
67
75
|
subdomain: parts.slice(0, -tldLen - 1).join("."),
|
|
68
76
|
};
|
|
69
77
|
}
|
|
70
|
-
// ──
|
|
78
|
+
// ── Cached parse result ──────────────────────────────────────────────────────
|
|
79
|
+
// Hostname never changes in a SPA — parse once for the entire app lifetime.
|
|
80
|
+
let _cached = null;
|
|
81
|
+
function getCached() {
|
|
82
|
+
return _cached ??= parseHostname();
|
|
83
|
+
}
|
|
84
|
+
/** @internal — exported so tests can reset the cache between runs */
|
|
85
|
+
export function _resetCache() { _cached = null; }
|
|
86
|
+
// ── Shared per-instance override storage ─────────────────────────────────────
|
|
87
|
+
// A single WeakMap for all URL decorators. Each instance maps to an object
|
|
88
|
+
// with optional per-field overrides set via the setter.
|
|
89
|
+
const overrides = new WeakMap();
|
|
90
|
+
function getOverrides(instance) {
|
|
91
|
+
let o = overrides.get(instance);
|
|
92
|
+
if (!o) {
|
|
93
|
+
o = {};
|
|
94
|
+
overrides.set(instance, o);
|
|
95
|
+
}
|
|
96
|
+
return o;
|
|
97
|
+
}
|
|
98
|
+
// ── Factory ──────────────────────────────────────────────────────────────────
|
|
71
99
|
function urlPart(part) {
|
|
72
100
|
return function (_target, _context) {
|
|
73
|
-
// Per-instance WeakMap — same lazy-init pattern as @store.
|
|
74
|
-
// hostname is read on the FIRST property access and cached; subsequent
|
|
75
|
-
// reads and any set() calls use the cache directly.
|
|
76
|
-
const storage = new WeakMap();
|
|
77
101
|
return {
|
|
78
102
|
get() {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
return storage.get(this);
|
|
103
|
+
const o = overrides.get(this);
|
|
104
|
+
return o?.[part] ?? getCached()[part];
|
|
83
105
|
},
|
|
84
106
|
set(value) {
|
|
85
|
-
|
|
107
|
+
getOverrides(this)[part] = value;
|
|
86
108
|
},
|
|
87
109
|
};
|
|
88
110
|
};
|
|
@@ -100,18 +122,18 @@ function urlPart(part) {
|
|
|
100
122
|
*/
|
|
101
123
|
export const subdomain = urlPart("subdomain");
|
|
102
124
|
function makeDomainDecorator(full) {
|
|
103
|
-
const storage = new WeakMap();
|
|
104
125
|
return function (_target, _context) {
|
|
126
|
+
const overrideKey = full ? "domainFull" : "domain";
|
|
105
127
|
return {
|
|
106
128
|
get() {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
return
|
|
129
|
+
const o = overrides.get(this);
|
|
130
|
+
if (o?.[overrideKey] !== undefined)
|
|
131
|
+
return o[overrideKey];
|
|
132
|
+
const { domain: d, tld: t } = getCached();
|
|
133
|
+
return full && t ? `${d}.${t}` : d;
|
|
112
134
|
},
|
|
113
135
|
set(value) {
|
|
114
|
-
|
|
136
|
+
getOverrides(this)[overrideKey] = value;
|
|
115
137
|
},
|
|
116
138
|
};
|
|
117
139
|
};
|
package/dist/router/url.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/router/url.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/router/url.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
* @prop — External attribute with optional route binding (auto-accessor)
|
|
6
6
|
* @computed — Cached derived getter
|
|
7
7
|
* @store — Component-scoped reactive store (auto-accessor)
|
|
8
|
+
* @persist — Single-value persistent accessor (auto-accessor)
|
|
8
9
|
*/
|
|
9
|
-
import type { PersistOptions } from "./storage";
|
|
10
|
+
import type { PersistOptions, StorageAdapter } from "./storage";
|
|
10
11
|
/**
|
|
11
12
|
* Staging area for @prop registrations.
|
|
12
13
|
* TC39 member decorators evaluate before class decorators,
|
|
@@ -86,5 +87,32 @@ export declare function computed<This extends object, V>(target: (this: This) =>
|
|
|
86
87
|
*/
|
|
87
88
|
export declare function store<This extends object, T extends object>(target: ClassAccessorDecoratorTarget<This, T>, context: ClassAccessorDecoratorContext<This, T>): ClassAccessorDecoratorResult<This, T>;
|
|
88
89
|
export declare function store<T extends object>(defaults: T, persist?: PersistOptions): <This extends object>(target: ClassAccessorDecoratorTarget<This, T>, context: ClassAccessorDecoratorContext<This, T>) => ClassAccessorDecoratorResult<This, T>;
|
|
90
|
+
interface PersistDecoratorOpts {
|
|
91
|
+
key?: string;
|
|
92
|
+
storage?: StorageAdapter;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Single-value persistent auto-accessor.
|
|
96
|
+
*
|
|
97
|
+
* Backed by `Reactive<T>` with `PersistOptions` — same hydration,
|
|
98
|
+
* JSON round-trip, and debounced write-through as `@store`.
|
|
99
|
+
*
|
|
100
|
+
* ```ts
|
|
101
|
+
* // localStorage key = "theme"
|
|
102
|
+
* @persist accessor theme = "dark";
|
|
103
|
+
*
|
|
104
|
+
* // Explicit key
|
|
105
|
+
* @persist("user-theme") accessor theme = "dark";
|
|
106
|
+
*
|
|
107
|
+
* // Custom adapter
|
|
108
|
+
* @persist({ storage: new SessionAdapter() }) accessor theme = "dark";
|
|
109
|
+
*
|
|
110
|
+
* // Custom key + adapter
|
|
111
|
+
* @persist({ key: "user-theme", storage: new SessionAdapter() }) accessor theme = "dark";
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
export declare function persist<This extends object, V>(target: ClassAccessorDecoratorTarget<This, V>, context: ClassAccessorDecoratorContext<This, V>): ClassAccessorDecoratorResult<This, V>;
|
|
115
|
+
export declare function persist(key: string): <This extends object, V>(target: ClassAccessorDecoratorTarget<This, V>, context: ClassAccessorDecoratorContext<This, V>) => ClassAccessorDecoratorResult<This, V>;
|
|
116
|
+
export declare function persist(opts: PersistDecoratorOpts): <This extends object, V>(target: ClassAccessorDecoratorTarget<This, V>, context: ClassAccessorDecoratorContext<This, V>) => ClassAccessorDecoratorResult<This, V>;
|
|
89
117
|
export {};
|
|
90
118
|
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"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"}
|
package/dist/store/decorators.js
CHANGED
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
* @prop — External attribute with optional route binding (auto-accessor)
|
|
6
6
|
* @computed — Cached derived getter
|
|
7
7
|
* @store — Component-scoped reactive store (auto-accessor)
|
|
8
|
+
* @persist — Single-value persistent accessor (auto-accessor)
|
|
8
9
|
*/
|
|
9
10
|
import { REACTIVES, WATCHERS, EMITTERS, COMPUTED_DIRTY, ROUTE_PROPS, localSymbol } from "../decorators/symbols";
|
|
10
11
|
import { Reactive } from "./reactive";
|
|
11
12
|
import { bus } from "../bus";
|
|
13
|
+
import { LocalAdapter } from "./storage";
|
|
12
14
|
/**
|
|
13
15
|
* Staging area for @prop registrations.
|
|
14
16
|
* TC39 member decorators evaluate before class decorators,
|
|
@@ -394,4 +396,79 @@ export function store(targetOrDefaults, contextOrPersist) {
|
|
|
394
396
|
return buildStoreAccessor(defaults, persist, key);
|
|
395
397
|
};
|
|
396
398
|
}
|
|
399
|
+
// ── @persist decorator ──
|
|
400
|
+
/** Lazy singleton — only allocated when @persist is actually used */
|
|
401
|
+
let _defaultStorage = null;
|
|
402
|
+
function getDefaultStorage() {
|
|
403
|
+
return _defaultStorage ??= new LocalAdapter();
|
|
404
|
+
}
|
|
405
|
+
export function persist(targetOrKeyOrOpts, context) {
|
|
406
|
+
// Bare @persist — context is present
|
|
407
|
+
if (context) {
|
|
408
|
+
return buildPersistAccessor(String(context.name), getDefaultStorage(), context);
|
|
409
|
+
}
|
|
410
|
+
// @persist("key") — string
|
|
411
|
+
if (typeof targetOrKeyOrOpts === "string") {
|
|
412
|
+
const explicitKey = targetOrKeyOrOpts;
|
|
413
|
+
return (_target, ctx) => {
|
|
414
|
+
return buildPersistAccessor(explicitKey, getDefaultStorage(), ctx);
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
// @persist({ key?, storage? }) — options object
|
|
418
|
+
const opts = targetOrKeyOrOpts;
|
|
419
|
+
return (_target, ctx) => {
|
|
420
|
+
const storageKey = opts.key ?? String(ctx.name);
|
|
421
|
+
const adapter = opts.storage ?? getDefaultStorage();
|
|
422
|
+
return buildPersistAccessor(storageKey, adapter, ctx);
|
|
423
|
+
};
|
|
424
|
+
}
|
|
425
|
+
/** @internal — builds the accessor descriptor for @persist */
|
|
426
|
+
function buildPersistAccessor(storageKey, adapter, context) {
|
|
427
|
+
const fieldName = String(context.name);
|
|
428
|
+
const sym = localSymbol(`persist:${fieldName}`);
|
|
429
|
+
const persistOpts = { key: storageKey, storage: adapter };
|
|
430
|
+
return {
|
|
431
|
+
get() {
|
|
432
|
+
const self = this;
|
|
433
|
+
if (!self[sym.key]) {
|
|
434
|
+
// First access — create Reactive with persistence.
|
|
435
|
+
// If storage has a value, Reactive hydrates from it; otherwise uses init.
|
|
436
|
+
const initial = self[`__persist_init_${fieldName}`];
|
|
437
|
+
const r = new Reactive(initial, persistOpts);
|
|
438
|
+
self[sym.key] = r;
|
|
439
|
+
r.subscribe(() => self.scheduleUpdate?.());
|
|
440
|
+
// Wire @watch handlers
|
|
441
|
+
const watchers = WATCHERS.from(self);
|
|
442
|
+
if (watchers) {
|
|
443
|
+
for (let i = 0; i < watchers.length; i++) {
|
|
444
|
+
const w = watchers[i];
|
|
445
|
+
if (w.field === fieldName)
|
|
446
|
+
r.subscribe((v, prev) => self[w.key](v, prev));
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
// Wire @emit handlers
|
|
450
|
+
const emitters = EMITTERS.from(self);
|
|
451
|
+
if (emitters) {
|
|
452
|
+
for (let i = 0; i < emitters.length; i++) {
|
|
453
|
+
const e = emitters[i];
|
|
454
|
+
if (e.field === fieldName)
|
|
455
|
+
r.subscribe((v) => bus.emit(e.factory(v)));
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
return self[sym.key].value;
|
|
460
|
+
},
|
|
461
|
+
set(val) {
|
|
462
|
+
const self = this;
|
|
463
|
+
if (!self[sym.key])
|
|
464
|
+
void self[fieldName];
|
|
465
|
+
self[sym.key].set(val);
|
|
466
|
+
},
|
|
467
|
+
init(val) {
|
|
468
|
+
// Stash the init value so the getter can use it as fallback
|
|
469
|
+
this[`__persist_init_${fieldName}`] = val;
|
|
470
|
+
return val;
|
|
471
|
+
},
|
|
472
|
+
};
|
|
473
|
+
}
|
|
397
474
|
//# sourceMappingURL=decorators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"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"}
|
package/dist/store/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export { Reactive, CollectionStore } from "./reactive";
|
|
|
7
7
|
export type { Subscriber, Updater, Identifiable } from "./reactive";
|
|
8
8
|
export { MemoryStorage, LocalAdapter, SessionAdapter, LocalMedium, SessionMedium } from "./storage";
|
|
9
9
|
export type { StorageAdapter, StorageMedium, PersistOptions } from "./storage";
|
|
10
|
-
export { reactive, prop, computed, params, routeQuery, store } from "./decorators";
|
|
10
|
+
export { reactive, prop, computed, params, routeQuery, store, persist } from "./decorators";
|
|
11
11
|
export { readonly } from "./readonly";
|
|
12
12
|
export { watch } from "./watch";
|
|
13
13
|
export { SignalState, SignalComputed, toSignal, fromSignal, signal } from "./signal";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACpG,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG/E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACpG,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG/E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACrF,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/store/index.js
CHANGED
|
@@ -8,7 +8,7 @@ export { Reactive, CollectionStore } from "./reactive";
|
|
|
8
8
|
// Storage adapters
|
|
9
9
|
export { MemoryStorage, LocalAdapter, SessionAdapter, LocalMedium, SessionMedium } from "./storage";
|
|
10
10
|
// Decorators
|
|
11
|
-
export { reactive, prop, computed, params, routeQuery, store } from "./decorators";
|
|
11
|
+
export { reactive, prop, computed, params, routeQuery, store, persist } from "./decorators";
|
|
12
12
|
export { readonly } from "./readonly";
|
|
13
13
|
// Watch
|
|
14
14
|
export { watch } from "./watch";
|
package/dist/store/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,sBAAsB;AACtB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGvD,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAGpG,aAAa;AACb,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,sBAAsB;AACtB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGvD,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAGpG,aAAa;AACb,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,uBAAuB;AACvB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|