@wovin/core 0.2.0 → 0.3.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/applog/applog-utils.d.ts +15 -0
- package/dist/applog/applog-utils.d.ts.map +1 -1
- package/dist/applog/datom-types.d.ts +63 -7
- package/dist/applog/datom-types.d.ts.map +1 -1
- package/dist/applog.js +7 -1
- package/dist/blockstore.js +2 -0
- package/dist/blockstore.js.map +1 -1
- package/dist/{chunk-L5EEEGE6.js → chunk-2OXLPZQI.js} +747 -679
- package/dist/chunk-2OXLPZQI.js.map +1 -0
- package/dist/{chunk-QZXKQCAY.js → chunk-2PJFLZRC.js} +7 -2
- package/dist/{chunk-QZXKQCAY.js.map → chunk-2PJFLZRC.js.map} +1 -1
- package/dist/chunk-64EJIJAJ.js +17 -0
- package/dist/chunk-64EJIJAJ.js.map +1 -0
- package/dist/chunk-7QEGHKR4.js +17 -0
- package/dist/chunk-7QEGHKR4.js.map +1 -0
- package/dist/{chunk-PD3C7XUM.js → chunk-EHO2BFFY.js} +2 -2
- package/dist/chunk-ICBK7NC4.js +27 -0
- package/dist/chunk-ICBK7NC4.js.map +1 -0
- package/dist/{chunk-CPSDKFBG.js → chunk-OKXRRWNS.js} +5 -14
- package/dist/chunk-OKXRRWNS.js.map +1 -0
- package/dist/{chunk-3WZVG277.js → chunk-Q4EMPWA3.js} +17 -9
- package/dist/chunk-Q4EMPWA3.js.map +1 -0
- package/dist/{chunk-J2FDHGOZ.js → chunk-VGIACGWX.js} +3 -3
- package/dist/{chunk-3JZMOEOD.js → chunk-WVW4YXB5.js} +2 -2
- package/dist/chunk-XF4DWOAE.js +25 -0
- package/dist/chunk-XF4DWOAE.js.map +1 -0
- package/dist/index.js +17 -9
- package/dist/ipfs/car.d.ts.map +1 -1
- package/dist/ipfs.js +4 -4
- package/dist/ipns/gateway-resolver.d.ts +21 -0
- package/dist/ipns/gateway-resolver.d.ts.map +1 -0
- package/dist/ipns/ipns-record.d.ts +28 -7
- package/dist/ipns/ipns-record.d.ts.map +1 -1
- package/dist/ipns/ipns-w3name.d.ts +15 -0
- package/dist/ipns/ipns-w3name.d.ts.map +1 -0
- package/dist/ipns/ipns-watcher.d.ts +190 -0
- package/dist/ipns/ipns-watcher.d.ts.map +1 -0
- package/dist/ipns.d.ts +3 -0
- package/dist/ipns.d.ts.map +1 -1
- package/dist/ipns.js +488 -8
- package/dist/ipns.js.map +1 -1
- package/dist/pubsub/snap-push.d.ts +2 -2
- package/dist/pubsub/snap-push.d.ts.map +1 -1
- package/dist/pubsub.js +4 -4
- package/dist/query/basic.d.ts +3 -3
- package/dist/query/basic.d.ts.map +1 -1
- package/dist/query/entity-collection.d.ts.map +1 -1
- package/dist/query/matchers.d.ts +12 -1
- package/dist/query/matchers.d.ts.map +1 -1
- package/dist/query.js +7 -5
- package/dist/retrieve.js +4 -4
- package/dist/thread/indexes.d.ts +3 -2
- package/dist/thread/indexes.d.ts.map +1 -1
- package/dist/thread.js +1 -1
- package/dist/viewmodel/adapters/arktype.d.ts +33 -0
- package/dist/viewmodel/adapters/arktype.d.ts.map +1 -0
- package/dist/viewmodel/adapters/arktype.js +7 -0
- package/dist/viewmodel/adapters/arktype.js.map +1 -0
- package/dist/viewmodel/adapters/typebox.d.ts +35 -0
- package/dist/viewmodel/adapters/typebox.d.ts.map +1 -0
- package/dist/viewmodel/adapters/typebox.js +7 -0
- package/dist/viewmodel/adapters/typebox.js.map +1 -0
- package/dist/viewmodel/adapters/typia.d.ts +40 -0
- package/dist/viewmodel/adapters/typia.d.ts.map +1 -0
- package/dist/viewmodel/adapters/typia.js +7 -0
- package/dist/viewmodel/adapters/typia.js.map +1 -0
- package/dist/viewmodel/adapters/zod.d.ts +30 -0
- package/dist/viewmodel/adapters/zod.d.ts.map +1 -0
- package/dist/viewmodel/adapters/zod.js +7 -0
- package/dist/viewmodel/adapters/zod.js.map +1 -0
- package/dist/viewmodel/builder.d.ts +40 -0
- package/dist/viewmodel/builder.d.ts.map +1 -0
- package/dist/viewmodel/examples/all-adapters.d.ts +26 -0
- package/dist/viewmodel/examples/all-adapters.d.ts.map +1 -0
- package/dist/viewmodel/factory.d.ts +38 -0
- package/dist/viewmodel/factory.d.ts.map +1 -0
- package/dist/viewmodel/index.d.ts +10 -0
- package/dist/viewmodel/index.d.ts.map +1 -0
- package/dist/viewmodel/index.js +313 -0
- package/dist/viewmodel/index.js.map +1 -0
- package/dist/viewmodel/schema-adapter.d.ts +16 -0
- package/dist/viewmodel/schema-adapter.d.ts.map +1 -0
- package/dist/viewmodel/types.d.ts +97 -0
- package/dist/viewmodel/types.d.ts.map +1 -0
- package/package.json +29 -3
- package/src/applog/applog-utils.ts +48 -4
- package/src/applog/datom-types.ts +24 -5
- package/src/applog/object-values.test.ts +106 -0
- package/src/ipfs/car.ts +8 -2
- package/src/ipns/gateway-resolver.ts +63 -0
- package/src/ipns/ipns-record.ts +68 -17
- package/src/ipns/ipns-w3name.ts +103 -0
- package/src/ipns/ipns-watcher.ts +607 -0
- package/src/ipns.ts +3 -0
- package/src/pubsub/snap-push.ts +8 -6
- package/src/query/entity-collection.ts +2 -1
- package/src/query/matchers.ts +23 -1
- package/src/thread/basic.ts +2 -2
- package/src/thread/indexes.ts +15 -9
- package/src/viewmodel/adapters/arktype.ts +44 -0
- package/src/viewmodel/adapters/typebox.ts +59 -0
- package/src/viewmodel/adapters/typia.ts +50 -0
- package/src/viewmodel/adapters/zod.ts +55 -0
- package/src/viewmodel/builder.ts +71 -0
- package/src/viewmodel/examples/all-adapters.ts +206 -0
- package/src/viewmodel/factory.ts +330 -0
- package/src/viewmodel/index.ts +22 -0
- package/src/viewmodel/schema-adapter.ts +27 -0
- package/src/viewmodel/types.ts +152 -0
- package/dist/chunk-3WZVG277.js.map +0 -1
- package/dist/chunk-CPSDKFBG.js.map +0 -1
- package/dist/chunk-L5EEEGE6.js.map +0 -1
- /package/dist/{chunk-PD3C7XUM.js.map → chunk-EHO2BFFY.js.map} +0 -0
- /package/dist/{chunk-J2FDHGOZ.js.map → chunk-VGIACGWX.js.map} +0 -0
- /package/dist/{chunk-3JZMOEOD.js.map → chunk-WVW4YXB5.js.map} +0 -0
package/dist/pubsub.js
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
integratePub,
|
|
4
4
|
isShare,
|
|
5
5
|
isSubscription
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-EHO2BFFY.js";
|
|
7
7
|
import {
|
|
8
8
|
chunkApplogs,
|
|
9
9
|
encodeSnapshotApplogsAsCar,
|
|
@@ -11,10 +11,10 @@ import {
|
|
|
11
11
|
isSnapBlockChunks,
|
|
12
12
|
prepareSnapshotForPush,
|
|
13
13
|
unchunkApplogsBlock
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-Q4EMPWA3.js";
|
|
15
15
|
import "./chunk-YDAKBU6Q.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-2PJFLZRC.js";
|
|
17
|
+
import "./chunk-2OXLPZQI.js";
|
|
18
18
|
import "./chunk-ZAADLBSB.js";
|
|
19
19
|
export {
|
|
20
20
|
agentToShortHash,
|
package/dist/query/basic.d.ts
CHANGED
|
@@ -66,10 +66,10 @@ export declare const queryAndMap: <R>(threadOrLogs: Thread | Applog[], patternOr
|
|
|
66
66
|
export declare const liveQueryAndMap: <R>(thread: Thread, patternOrPatterns: Parameters<typeof liveQuery>[1], mapDef: string | (Partial<{ [key in keyof SearchContext]: string; }>) | ((record: SearchContext) => R)) => SubscribableArrayImpl<R>;
|
|
67
67
|
/** One-off: query entity attributes. Returns Record or null. Requires current-state thread (LWW). */
|
|
68
68
|
export declare const queryEntity: (thread: Thread, name: string, entityID: EntityID, attributes: readonly string[]) => {
|
|
69
|
-
[k: string]:
|
|
69
|
+
[k: string]: import("../applog.ts").JsonValue;
|
|
70
70
|
};
|
|
71
71
|
/** Live variant: returns Subscribable that updates when entity attributes change. Requires current-state thread (LWW). */
|
|
72
|
-
export declare const liveQueryEntity: (thread: Thread, name: string, entityID: EntityID, attributes: readonly string[]) => SubscribableImpl<Record<string,
|
|
72
|
+
export declare const liveQueryEntity: (thread: Thread, name: string, entityID: EntityID, attributes: readonly string[]) => SubscribableImpl<Record<string, import("../applog.ts").JsonValue>>;
|
|
73
73
|
/** Live single-attribute query. Requires current-state thread (LWW). Returns Subscribable<T | null>. */
|
|
74
74
|
export declare const liveEntityAt: <T extends ApplogValue>(thread: Thread, entityID: EntityID, at: string) => SubscribableImpl<T>;
|
|
75
75
|
export declare const agentsOfThread: (thread: Thread) => Map<string, number>;
|
|
@@ -101,7 +101,7 @@ export declare const mapQueryResultWith: <R>(queryResult: QueryResult, mapDef: s
|
|
|
101
101
|
*/
|
|
102
102
|
export declare function createObjMapper<FROM extends string, TO extends string>(applogFieldMap: Partial<{
|
|
103
103
|
[key in FROM]: TO;
|
|
104
|
-
}>): (applog: { [key_1 in FROM]: any; }) => Partial<{ [key in TO]:
|
|
104
|
+
}>): (applog: { [key_1 in FROM]: any; }) => Partial<{ [key in TO]: import("../applog.ts").JsonValue; }>;
|
|
105
105
|
export declare function startsWith(str: string): (value: any) => any;
|
|
106
106
|
export declare function prefixAttrs(prefix: string, attrs: readonly string[]): string[];
|
|
107
107
|
export declare function prefixAt(prefix: string, attr: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../src/query/basic.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../src/query/basic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-collection.d.ts","sourceRoot":"","sources":["../../src/query/entity-collection.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAC7F,OAAO,EAAe,MAAM,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"entity-collection.d.ts","sourceRoot":"","sources":["../../src/query/entity-collection.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAC7F,OAAO,EAAe,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAMxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAI9E,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACpD,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,GACjF,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AACrE,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACpD,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,EACnF,IAAI,EAAE;IAAE,aAAa,EAAE,IAAI,CAAA;CAAE,GAC3B,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AACvF,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EACtE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,EACnF,IAAI,EAAE;IAAE,aAAa,EAAE,CAAC,CAAA;CAAE,GACxB,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AAC7F,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACpD,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,EACnF,IAAI,EAAE;IAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;CAAE,GACpC,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AAC1E,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACpD,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,EACnF,IAAI,EAAE;IAAE,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;CAAE,GACpE,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA"}
|
package/dist/query/matchers.d.ts
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
|
-
import { DatomPart } from '../applog/datom-types.ts';
|
|
1
|
+
import { ApplogValue, DatomPart } from '../applog/datom-types.ts';
|
|
2
2
|
export declare function includes(str: string): (vl: DatomPart) => boolean;
|
|
3
3
|
export declare function includedIn(arr: string[]): (vl: DatomPart) => boolean;
|
|
4
|
+
/**
|
|
5
|
+
* Set-membership matcher: matches when the field equals any of `vals`. Use this instead of a
|
|
6
|
+
* bare array in a query pattern — bare arrays are rejected by the matcher (a bare array is
|
|
7
|
+
* ambiguous now that `vl` can hold a literal array value).
|
|
8
|
+
*
|
|
9
|
+
* Returns a `Set`, which the matcher engine checks via `.has` (O(1)). Members must be
|
|
10
|
+
* primitives: `Set.has` is referential, so object/array members would silently never match —
|
|
11
|
+
* we throw rather than fail silently. For object membership, use a predicate matcher, e.g.
|
|
12
|
+
* `(v) => members.some(m => isEqual(v, m))`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function anyOf<T extends ApplogValue>(...vals: T[]): ReadonlySet<T>;
|
|
4
15
|
//# sourceMappingURL=matchers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/query/matchers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/query/matchers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEjE,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,IAC3B,IAAI,SAAS,aACrB;AACD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAC/B,IAAI,SAAS,aACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAUzE"}
|
package/dist/query.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
|
-
includedIn,
|
|
3
|
-
includes,
|
|
4
2
|
liveEntityCollection,
|
|
5
3
|
queryDivergencesByPrev
|
|
6
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-OKXRRWNS.js";
|
|
7
5
|
import {
|
|
8
6
|
LiveQueryResult,
|
|
9
7
|
QueryNode,
|
|
@@ -46,17 +44,20 @@ import {
|
|
|
46
44
|
throwOnTimeout,
|
|
47
45
|
withTimeout,
|
|
48
46
|
withoutDeleted
|
|
49
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-2PJFLZRC.js";
|
|
50
48
|
import {
|
|
51
49
|
SubscribableArrayImpl,
|
|
52
50
|
SubscribableImpl,
|
|
51
|
+
anyOf,
|
|
53
52
|
createDebugName,
|
|
54
53
|
createDebugNameObj,
|
|
54
|
+
includedIn,
|
|
55
|
+
includes,
|
|
55
56
|
isArrayInitEvent,
|
|
56
57
|
memoizedFn,
|
|
57
58
|
prettifyThreadName,
|
|
58
59
|
refCountedMemoizedFn
|
|
59
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-2OXLPZQI.js";
|
|
60
61
|
import "./chunk-ZAADLBSB.js";
|
|
61
62
|
export {
|
|
62
63
|
LiveQueryResult,
|
|
@@ -65,6 +66,7 @@ export {
|
|
|
65
66
|
SubscribableArrayImpl,
|
|
66
67
|
SubscribableImpl,
|
|
67
68
|
agentsOfThread,
|
|
69
|
+
anyOf,
|
|
68
70
|
createDebugName,
|
|
69
71
|
createDebugNameObj,
|
|
70
72
|
createObjMapper,
|
package/dist/retrieve.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
updateThreadFromSnapshot,
|
|
3
3
|
withBlockCache
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-VGIACGWX.js";
|
|
5
|
+
import "./chunk-Q4EMPWA3.js";
|
|
6
6
|
import "./chunk-YDAKBU6Q.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-2PJFLZRC.js";
|
|
8
|
+
import "./chunk-2OXLPZQI.js";
|
|
9
9
|
import "./chunk-ZAADLBSB.js";
|
|
10
10
|
export {
|
|
11
11
|
updateThreadFromSnapshot,
|
package/dist/thread/indexes.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type ValueKey } from '../applog/applog-utils.ts';
|
|
2
|
+
import { Applog, EntityID } from '../applog/datom-types.ts';
|
|
2
3
|
import { type Subscribable } from '../query/subscribable.ts';
|
|
3
4
|
import { Thread } from './basic.ts';
|
|
4
5
|
/**
|
|
@@ -23,7 +24,7 @@ export declare const applogsByEntity: (thread: Thread) => ReadonlyMap<EntityID,
|
|
|
23
24
|
* - Snapshot use: read `.value` — zero subscription overhead
|
|
24
25
|
* - Reactive use: `.subscribe()` activates the chain for incremental updates
|
|
25
26
|
*/
|
|
26
|
-
export declare const applogsByAttrValue: (thread: Thread, attr: string) => Subscribable<ReadonlyMap<
|
|
27
|
+
export declare const applogsByAttrValue: (thread: Thread, attr: string) => Subscribable<ReadonlyMap<ValueKey, readonly Applog[]>>;
|
|
27
28
|
export interface LinkEntry {
|
|
28
29
|
/** The link entity's own ID */
|
|
29
30
|
linkId: EntityID;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../src/thread/indexes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../src/thread/indexes.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAG3D,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAe,MAAM,EAAE,MAAM,YAAY,CAAA;AAKhD;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,WAEM,MAAM,KAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAiCjF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,WAGrB,MAAM,QACR,MAAM,KACV,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC,CA4CxD,CAAA;AAID,MAAM,WAAW,SAAS;IACzB,+BAA+B;IAC/B,MAAM,EAAE,QAAQ,CAAA;IAChB,yCAAyC;IACzC,MAAM,EAAE,QAAQ,CAAA;IAChB,yCAAyC;IACzC,MAAM,EAAE,QAAQ,CAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IACpC,sEAAsE;IACtE,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC,CAAA;IAChD,sEAAsE;IACtE,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC,CAAA;CAChD;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,WAGlB,MAAM,SACP,MAAM,SACN,MAAM,KACX,YAAY,CAAC,oBAAoB,CAiGpC,CAAA"}
|
package/dist/thread.js
CHANGED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ApplogValue } from '../../applog/datom-types.ts';
|
|
2
|
+
import type { ISchemaAdapter, VMAttributeDef } from '../types.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Pattern for creating a schema adapter from an ArkType schema.
|
|
5
|
+
*
|
|
6
|
+
* ArkType is NOT a runtime dependency of @wovin/core, so this adapter
|
|
7
|
+
* works by accepting the ArkType type object directly.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { type } from 'arktype'
|
|
12
|
+
* import { createArkTypeAdapter } from '@wovin/core/viewmodel/adapters/arktype'
|
|
13
|
+
*
|
|
14
|
+
* const MySchema = type({
|
|
15
|
+
* name: 'string',
|
|
16
|
+
* age: 'number | undefined',
|
|
17
|
+
* })
|
|
18
|
+
*
|
|
19
|
+
* const adapter = createArkTypeAdapter(MySchema, 'myEntity')
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function createArkTypeAdapter<T extends Record<string, ApplogValue>>(_arkTypeSchema: {
|
|
23
|
+
infer: T;
|
|
24
|
+
(input: unknown): T | string;
|
|
25
|
+
}, entityPrefix: string, options?: {
|
|
26
|
+
/** Override at-paths for specific attributes */
|
|
27
|
+
atOverrides?: Record<string, string>;
|
|
28
|
+
/** Attribute definitions (must be provided for ArkType since we can't introspect the type) */
|
|
29
|
+
attributes: VMAttributeDef[];
|
|
30
|
+
/** Default values */
|
|
31
|
+
defaults?: Partial<T>;
|
|
32
|
+
}): ISchemaAdapter<T>;
|
|
33
|
+
//# sourceMappingURL=arktype.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arktype.d.ts","sourceRoot":"","sources":["../../../src/viewmodel/adapters/arktype.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACzE,cAAc,EAAE;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,GAAG,MAAM,CAAA;CAAE,EAC1D,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;IACT,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,8FAA8F;IAC9F,UAAU,EAAE,cAAc,EAAE,CAAA;IAC5B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CACrB,GACC,cAAc,CAAC,CAAC,CAAC,CAUnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ApplogValue } from '../../applog/datom-types.ts';
|
|
2
|
+
import type { ISchemaAdapter } from '../types.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Create a schema adapter from a TypeBox object schema.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { Type } from '@sinclair/typebox'
|
|
9
|
+
* import { createTypeBoxAdapter } from '@wovin/core/viewmodel/adapters/typebox'
|
|
10
|
+
*
|
|
11
|
+
* const MySchema = Type.Object({
|
|
12
|
+
* name: Type.String(),
|
|
13
|
+
* age: Type.Optional(Type.Number()),
|
|
14
|
+
* })
|
|
15
|
+
*
|
|
16
|
+
* const adapter = createTypeBoxAdapter(MySchema, 'myEntity')
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* The type parameter `T` is the inferred static type of the schema.
|
|
20
|
+
* Can pass a compiled validator separately if runtime validation is needed.
|
|
21
|
+
*/
|
|
22
|
+
export declare function createTypeBoxAdapter<T extends Record<string, ApplogValue>>(typeBoxSchema: {
|
|
23
|
+
properties: Record<string, any>;
|
|
24
|
+
type?: string;
|
|
25
|
+
}, entityPrefix: string, options?: {
|
|
26
|
+
/** Override at-paths for specific attributes */
|
|
27
|
+
atOverrides?: Record<string, string>;
|
|
28
|
+
/** Default values */
|
|
29
|
+
defaults?: Partial<T>;
|
|
30
|
+
/** Property name to at-path mapping function */
|
|
31
|
+
toAtPath?: (entityPrefix: string, attrName: string) => string;
|
|
32
|
+
/** A pre-compiled validator function (e.g. from TypeCompiler.Compile) */
|
|
33
|
+
validator?: (value: unknown) => value is T;
|
|
34
|
+
}): ISchemaAdapter<T>;
|
|
35
|
+
//# sourceMappingURL=typebox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typebox.d.ts","sourceRoot":"","sources":["../../../src/viewmodel/adapters/typebox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAA;AAEjE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACzE,aAAa,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EACjE,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;IACT,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACrB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;IAC7D,yEAAyE;IACzE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAA;CAC1C,GACC,cAAc,CAAC,CAAC,CAAC,CAuBnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { ApplogValue } from '../../applog/datom-types.ts';
|
|
2
|
+
import type { ISchemaAdapter, VMAttributeDef } from '../types.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Pattern for creating a schema adapter from a Typia-generated schema.
|
|
5
|
+
*
|
|
6
|
+
* Typia is NOT a runtime dependency of @wovin/core, so this adapter
|
|
7
|
+
* works by accepting the Typia type object directly along with the
|
|
8
|
+
* attribute definitions (which must be provided separately since
|
|
9
|
+
* Typia doesn't expose runtime property introspection by default).
|
|
10
|
+
*
|
|
11
|
+
* Usage:
|
|
12
|
+
* ```ts
|
|
13
|
+
* import typia from 'typia'
|
|
14
|
+
* import { createTypiaAdapter } from '@wovin/core/viewmodel/adapters/typia'
|
|
15
|
+
*
|
|
16
|
+
* interface MyEntity { name: string; age?: number }
|
|
17
|
+
*
|
|
18
|
+
* const adapter = createTypiaAdapter<MyEntity>(
|
|
19
|
+
* typia.createValidate<MyEntity>(),
|
|
20
|
+
* 'myEntity',
|
|
21
|
+
* {
|
|
22
|
+
* attributes: [
|
|
23
|
+
* { name: 'name', atPath: 'myEntity/name', optional: false },
|
|
24
|
+
* { name: 'age', atPath: 'myEntity/age', optional: true },
|
|
25
|
+
* ],
|
|
26
|
+
* },
|
|
27
|
+
* )
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function createTypiaAdapter<T extends Record<string, ApplogValue>>(_typiaValidator: (input: unknown) => {
|
|
31
|
+
success: boolean;
|
|
32
|
+
data: T | null;
|
|
33
|
+
errors?: any[];
|
|
34
|
+
}, entityPrefix: string, options: {
|
|
35
|
+
/** Attribute definitions (required for Typia since property introspection is compile-time) */
|
|
36
|
+
attributes: VMAttributeDef[];
|
|
37
|
+
/** Default values */
|
|
38
|
+
defaults?: Partial<T>;
|
|
39
|
+
}): ISchemaAdapter<T>;
|
|
40
|
+
//# sourceMappingURL=typia.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typia.d.ts","sourceRoot":"","sources":["../../../src/viewmodel/adapters/typia.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACvE,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;CAAE,EACzF,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE;IACR,8FAA8F;IAC9F,UAAU,EAAE,cAAc,EAAE,CAAA;IAC5B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CACrB,GACC,cAAc,CAAC,CAAC,CAAC,CAUnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ApplogValue } from '../../applog/datom-types.ts';
|
|
2
|
+
import type { ISchemaAdapter } from '../types.ts';
|
|
3
|
+
import type { ZodObject, ZodTypeAny } from 'zod';
|
|
4
|
+
/**
|
|
5
|
+
* Create a schema adapter from a Zod object schema.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { z } from 'zod'
|
|
10
|
+
* import { createZodAdapter } from '@wovin/core/viewmodel/adapters/zod'
|
|
11
|
+
*
|
|
12
|
+
* const MySchema = z.object({
|
|
13
|
+
* name: z.string(),
|
|
14
|
+
* age: z.number().optional(),
|
|
15
|
+
* })
|
|
16
|
+
*
|
|
17
|
+
* const adapter = createZodAdapter(MySchema, 'myEntity')
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* The type parameter `T` is the inferred type of the schema.
|
|
21
|
+
*/
|
|
22
|
+
export declare function createZodAdapter<T extends Record<string, ApplogValue> = Record<string, ApplogValue>>(zodSchema: ZodObject<Record<string, ZodTypeAny>>, entityPrefix: string, options?: {
|
|
23
|
+
/** Override at-paths for specific attributes */
|
|
24
|
+
atOverrides?: Record<string, string>;
|
|
25
|
+
/** Default values */
|
|
26
|
+
defaults?: Partial<T>;
|
|
27
|
+
/** Property name to at-path mapping function */
|
|
28
|
+
toAtPath?: (entityPrefix: string, attrName: string) => string;
|
|
29
|
+
}): ISchemaAdapter<T>;
|
|
30
|
+
//# sourceMappingURL=zod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../src/viewmodel/adapters/zod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAW,UAAU,EAAE,MAAM,KAAK,CAAA;AAEzD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnG,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EAChD,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;IACT,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACrB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;CAC7D,GACC,cAAc,CAAC,CAAC,CAAC,CAqBnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { ApplogForInsertOptionalAgent, ApplogValue, EntityID } from '../applog/datom-types.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Generic ObjectBuilder for type-safe entity creation and updates.
|
|
4
|
+
*
|
|
5
|
+
* Provides a fluent API to build a set of applogs for an entity.
|
|
6
|
+
* Modeled after the note3 builder pattern.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* ```ts
|
|
10
|
+
* ObjectBuilder.create({ name: 'foo' })
|
|
11
|
+
* .update({ type: 'bar' })
|
|
12
|
+
* .build(thread)
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare class ObjectBuilder<TARGET extends Record<string, ApplogValue> = Record<string, ApplogValue>> {
|
|
16
|
+
private _data;
|
|
17
|
+
en: EntityID | null;
|
|
18
|
+
private _atPrefix;
|
|
19
|
+
private _atOverrides;
|
|
20
|
+
constructor(_data: Partial<TARGET>, en?: EntityID | null, _atPrefix?: string | null, _atOverrides?: Partial<Record<keyof TARGET, string>>);
|
|
21
|
+
/**
|
|
22
|
+
* Create a new builder with initial data.
|
|
23
|
+
*/
|
|
24
|
+
static create<TARGET extends Record<string, ApplogValue>>(init?: Partial<TARGET>, en?: EntityID, atPrefix?: string, atOverrides?: Partial<Record<keyof TARGET, string>>): ObjectBuilder<TARGET>;
|
|
25
|
+
/**
|
|
26
|
+
* Update the data being built.
|
|
27
|
+
*/
|
|
28
|
+
update(updateObj: Partial<TARGET>): this;
|
|
29
|
+
/**
|
|
30
|
+
* Build the applogs for this entity, optionally resolving against a thread.
|
|
31
|
+
*/
|
|
32
|
+
build(thread?: {
|
|
33
|
+
insert(applogs: ApplogForInsertOptionalAgent[]): ApplogForInsertOptionalAgent[];
|
|
34
|
+
}): ApplogForInsertOptionalAgent[];
|
|
35
|
+
/**
|
|
36
|
+
* Get the raw data being built.
|
|
37
|
+
*/
|
|
38
|
+
get data(): Partial<TARGET>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/viewmodel/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnG;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAa,CACzB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;IAGvE,OAAO,CAAC,KAAK;IACN,EAAE,EAAE,QAAQ,GAAG,IAAI;IAC1B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,YAAY;gBAHZ,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EACvB,EAAE,GAAE,QAAQ,GAAG,IAAW,EACzB,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,YAAY,GAAE,OAAO,CAAC,MAAM,CAAC,MAAM,MAAM,EAAE,MAAM,CAAC,CAAM;IAGjE;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACvD,IAAI,GAAE,OAAO,CAAC,MAAM,CAAM,EAC1B,EAAE,CAAC,EAAE,QAAQ,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,MAAM,EAAE,MAAM,CAAC,CAAC,GACjD,aAAa,CAAC,MAAM,CAAC;IAIxB;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;IAKxC;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAE;QACd,MAAM,CAAC,OAAO,EAAE,4BAA4B,EAAE,GAAG,4BAA4B,EAAE,CAAA;KAC/E,GAAG,4BAA4B,EAAE;IAclC;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAE1B;CACD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ═══════════════════════════════════════════════════════════════
|
|
3
|
+
* Schema Adapter Examples
|
|
4
|
+
* ═══════════════════════════════════════════════════════════════
|
|
5
|
+
*
|
|
6
|
+
* This file demonstrates how to use each schema adapter with the
|
|
7
|
+
* generic ViewModel factory. Uncomment the adapter you want to use.
|
|
8
|
+
*
|
|
9
|
+
* Each section is self-contained and shows:
|
|
10
|
+
* 1. Schema definition
|
|
11
|
+
* 2. Adapter creation
|
|
12
|
+
* 3. ViewModel factory usage
|
|
13
|
+
* 4. Basic VM usage
|
|
14
|
+
*
|
|
15
|
+
* Note: Not all schema libraries are installed as dependencies.
|
|
16
|
+
* ✓ TypeBox — peer dependency of @wovin/core (available)
|
|
17
|
+
* ✓ Zod — dependency of @wovin/core (available)
|
|
18
|
+
* ✗ ArkType — NOT installed (example shown for pattern reference)
|
|
19
|
+
* ✗ Typia — NOT installed (example shown for pattern reference)
|
|
20
|
+
*/
|
|
21
|
+
export declare function typeBoxExample(): void;
|
|
22
|
+
export declare function zodExample(): void;
|
|
23
|
+
export declare function arkTypePattern(): void;
|
|
24
|
+
export declare function typiaPattern(): void;
|
|
25
|
+
export declare function minimalNoSchemaExample(): void;
|
|
26
|
+
//# sourceMappingURL=all-adapters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"all-adapters.d.ts","sourceRoot":"","sources":["../../../src/viewmodel/examples/all-adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA6BH,wBAAgB,cAAc,SA2B7B;AASD,wBAAgB,UAAU,SA2BzB;AASD,wBAAgB,cAAc,SAyB7B;AASD,wBAAgB,YAAY,SA0B3B;AAMD,wBAAgB,sBAAsB,SAmBrC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ApplogValue, EntityID } from '../applog/datom-types.ts';
|
|
2
|
+
import type { Thread } from '../thread/basic.ts';
|
|
3
|
+
import { ObjectBuilder } from './builder.ts';
|
|
4
|
+
import { type ISignalAdapter, type IVMInstance, type ViewModelFactoryOptions } from './types.ts';
|
|
5
|
+
/**
|
|
6
|
+
* Default signal adapter — reads Subscribable values directly (snapshot).
|
|
7
|
+
* Subscribe-once to keep .value current. No framework reactivity.
|
|
8
|
+
*/
|
|
9
|
+
export declare const DefaultSignalAdapter: ISignalAdapter;
|
|
10
|
+
/**
|
|
11
|
+
* Create a ViewModel factory for a given schema.
|
|
12
|
+
*
|
|
13
|
+
* Returns a base class that can be extended or used directly.
|
|
14
|
+
* The class provides:
|
|
15
|
+
* - Static `get(en, thread)` for singleton access
|
|
16
|
+
* - Static `buildNew(init, en)` for creating entities
|
|
17
|
+
* - Instance `buildUpdate(init)` for updating entities
|
|
18
|
+
* - Lazy reactive property accessors per attribute
|
|
19
|
+
* - `setDeleted()` for soft deletion
|
|
20
|
+
*
|
|
21
|
+
* Framework-specific reactivity (Solid, Vue, etc.) can be added by
|
|
22
|
+
* providing a custom `ISignalAdapter` in the options.
|
|
23
|
+
*
|
|
24
|
+
* @param options - Factory configuration
|
|
25
|
+
* @returns A VM class constructor with static methods
|
|
26
|
+
*/
|
|
27
|
+
export declare function createViewModelFactory<T extends Record<string, ApplogValue>>(options: ViewModelFactoryOptions<T>): {
|
|
28
|
+
new (en: EntityID, thread: Thread, skipInit?: boolean): IVMInstance<T> & T;
|
|
29
|
+
/** Get or create a VM instance for the given entity ID */
|
|
30
|
+
get(en: EntityID, thread: Thread): IVMInstance<T> & T;
|
|
31
|
+
/** Create a builder for a new entity */
|
|
32
|
+
buildNew(init?: Partial<T>, en?: EntityID): ObjectBuilder<T>;
|
|
33
|
+
/** The VM name (for debugging) */
|
|
34
|
+
readonly vmName: string;
|
|
35
|
+
/** The entity prefix used for at-paths */
|
|
36
|
+
readonly entityPrefix: string;
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/viewmodel/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgC,WAAW,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAMnG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAG5B,MAAM,YAAY,CAAA;AAMnB;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAUlC,CAAA;AAoCD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAC3E,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GA4NN;IAC5B,KACC,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,OAAO,GAChB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAErB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAErD,wCAAwC;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IAE5D,kCAAkC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEvB,0CAA0C;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC7B,CACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { ObjectBuilder } from './builder.ts';
|
|
2
|
+
export { createViewModelFactory, DefaultSignalAdapter } from './factory.ts';
|
|
3
|
+
export { createAdapterFromAttributes, buildAtPath } from './schema-adapter.ts';
|
|
4
|
+
export type { ISchemaAdapter, ISignalAdapter, IVMInstance, IVMClass, VMAttributeDef, ViewModelFactoryOptions, VMInstanceMap, } from './types.ts';
|
|
5
|
+
export { GlobalVMInstances, getInstancesForThread } from './types.ts';
|
|
6
|
+
export { createTypeBoxAdapter } from './adapters/typebox.ts';
|
|
7
|
+
export { createZodAdapter } from './adapters/zod.ts';
|
|
8
|
+
export { createArkTypeAdapter } from './adapters/arktype.ts';
|
|
9
|
+
export { createTypiaAdapter } from './adapters/typia.ts';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/viewmodel/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC3E,OAAO,EAAE,2BAA2B,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC9E,YAAY,EACX,cAAc,EACd,cAAc,EACd,WAAW,EACX,QAAQ,EACR,cAAc,EACd,uBAAuB,EACvB,aAAa,GACb,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAGrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA"}
|