@ekairos/domain 1.8.9-beta.0 → 1.8.10-beta.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/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +79 -6
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ type BaseEntitiesPhantom = {
|
|
|
32
32
|
};
|
|
33
33
|
type WithBase<E extends EntitiesDef> = MergeEntities<E, BaseEntitiesPhantom>;
|
|
34
34
|
export type DomainBuilder<AccumE extends EntitiesDef> = {
|
|
35
|
-
includes: <E2 extends EntitiesDef>(other: DomainInstance<E2, any, any> | DomainSchemaResult<E2, any, any> | InstantSchemaDef<E2, any, any>) => DomainBuilder<MergeEntities<AccumE, E2>>;
|
|
35
|
+
includes: <E2 extends EntitiesDef>(other: DomainInstance<E2, any, any> | DomainSchemaResult<E2, any, any> | InstantSchemaDef<E2, any, any> | (() => DomainInstance<E2, any, any> | DomainSchemaResult<E2, any, any> | InstantSchemaDef<E2, any, any>) | undefined) => DomainBuilder<MergeEntities<AccumE, E2>>;
|
|
36
36
|
schema: <LE extends EntitiesDef>(def: {
|
|
37
37
|
entities: LE;
|
|
38
38
|
links: LinksDef<WithBase<MergeEntities<AccumE, LE>>>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKzF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,IAAI;IAC/F,QAAQ,EAAE,CAAC,CAAC;IACZ,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IACzH,MAAM,EAAE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,EAAE,CAAC,EAAE,SAAS,WAAW,EAAE,EAAE,SAAS,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,QAAQ,EAC5E,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAC7D,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAQvI,KAAK,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,WAAW,IAAI;KAChE,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GACvC,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACZ,CAAC;AAMF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI;IAC5I,QAAQ,EAAE,CAAC,CAAC;IACZ,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,CAAC,CAAC;IACT,eAAe,EAAE,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAAC;CACrD,CAAC;AAIF,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG;IAC3C,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,KAAK,EAAE,QAAQ,CAAC;IAChB,cAAc,EAAE,GAAG,CAAC;CACrB,CAAC;AAGF,KAAK,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AACxC,KAAK,mBAAmB,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC;AAC1E,KAAK,QAAQ,CAAC,CAAC,SAAS,WAAW,IAAI,aAAa,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;AAQ7E,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,WAAW,IAAI;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -39,16 +39,69 @@ function domain(arg) {
|
|
|
39
39
|
return makeInstance(def);
|
|
40
40
|
}
|
|
41
41
|
// builder API - runtime state tracks accumulated dependencies
|
|
42
|
-
|
|
42
|
+
// Support lazy includes for circular dependencies by storing references and resolving at schema()/toInstantSchema() time
|
|
43
|
+
function createBuilder(deps, lazyIncludes = []) {
|
|
43
44
|
return {
|
|
44
45
|
includes: (other) => {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
// Support lazy includes via function for circular dependencies
|
|
47
|
+
if (typeof other === 'function') {
|
|
48
|
+
const lazyGetter = () => {
|
|
49
|
+
try {
|
|
50
|
+
return other();
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
return createBuilder(deps, [...lazyIncludes, lazyGetter]);
|
|
57
|
+
}
|
|
58
|
+
// If other is undefined (circular dependency), store a lazy getter
|
|
59
|
+
// Entities will be resolved from app domain composition at toInstantSchema() time
|
|
60
|
+
if (!other || other === undefined) {
|
|
61
|
+
// Create a lazy getter that returns undefined
|
|
62
|
+
// Entities will be available from app domain's merged entities when toInstantSchema() is called
|
|
63
|
+
const lazyGetter = () => undefined;
|
|
64
|
+
// Store as lazy - entities will be available from app domain's merged entities
|
|
65
|
+
return createBuilder(deps, [...lazyIncludes, lazyGetter]);
|
|
66
|
+
}
|
|
67
|
+
// Try to get entities immediately
|
|
68
|
+
try {
|
|
69
|
+
const entities = other.entities;
|
|
70
|
+
if (!entities) {
|
|
71
|
+
// If entities don't exist yet, store as lazy
|
|
72
|
+
const lazyGetter = () => other;
|
|
73
|
+
return createBuilder(deps, [...lazyIncludes, lazyGetter]);
|
|
74
|
+
}
|
|
75
|
+
const merged = { ...deps, ...entities };
|
|
76
|
+
return createBuilder(merged, lazyIncludes);
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
// If accessing entities throws, store as lazy
|
|
80
|
+
const lazyGetter = () => other;
|
|
81
|
+
return createBuilder(deps, [...lazyIncludes, lazyGetter]);
|
|
82
|
+
}
|
|
48
83
|
},
|
|
49
84
|
schema: (def) => {
|
|
85
|
+
// Resolve lazy includes at schema() time (when all domains should be initialized)
|
|
86
|
+
// This handles circular dependencies by deferring entity resolution
|
|
87
|
+
let resolvedDeps = { ...deps };
|
|
88
|
+
for (const lazyGetter of lazyIncludes) {
|
|
89
|
+
try {
|
|
90
|
+
const other = lazyGetter();
|
|
91
|
+
if (other) {
|
|
92
|
+
const entities = other.entities;
|
|
93
|
+
if (entities) {
|
|
94
|
+
resolvedDeps = { ...resolvedDeps, ...entities };
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (e) {
|
|
99
|
+
// If lazy resolution fails, continue - entities might be available via string references
|
|
100
|
+
// This is expected for circular dependencies that will be resolved when all domains are composed
|
|
101
|
+
}
|
|
102
|
+
}
|
|
50
103
|
// Runtime merge for output; compile-time validation handled by types above
|
|
51
|
-
const allEntities = { ...
|
|
104
|
+
const allEntities = { ...resolvedDeps, ...def.entities };
|
|
52
105
|
return {
|
|
53
106
|
entities: allEntities,
|
|
54
107
|
// Strip base phantom from public type so it's assignable to i.schema()
|
|
@@ -56,8 +109,28 @@ function domain(arg) {
|
|
|
56
109
|
rooms: def.rooms,
|
|
57
110
|
toInstantSchema: () => {
|
|
58
111
|
const { i } = require("@instantdb/core");
|
|
112
|
+
// Final resolution: allEntities already contains merged entities from all includes()
|
|
113
|
+
// For app domain, this includes all domains, so all entities are available
|
|
114
|
+
// Resolve any remaining lazy includes that couldn't be resolved at schema() time
|
|
115
|
+
let finalEntities = { ...allEntities };
|
|
116
|
+
// Try to resolve lazy includes one more time (domains should be initialized by now)
|
|
117
|
+
for (const lazyGetter of lazyIncludes) {
|
|
118
|
+
try {
|
|
119
|
+
const other = lazyGetter();
|
|
120
|
+
if (other) {
|
|
121
|
+
const entities = other.entities;
|
|
122
|
+
if (entities) {
|
|
123
|
+
// Merge entities that weren't available during schema() call
|
|
124
|
+
finalEntities = { ...finalEntities, ...entities };
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch (e) {
|
|
129
|
+
// If still can't resolve, entities should already be in allEntities from app domain composition
|
|
130
|
+
}
|
|
131
|
+
}
|
|
59
132
|
return i.schema({
|
|
60
|
-
entities:
|
|
133
|
+
entities: finalEntities,
|
|
61
134
|
links: def.links,
|
|
62
135
|
rooms: def.rooms,
|
|
63
136
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AA+HA,wBAyHC;AAxPD,0CAAoC;AA+EpC,SAAS,YAAY,CACnB,GAA8B;IAE9B,SAAS,MAAM;QACb,OAAO,QAAC,CAAC,MAAM,CAAC;YACd,QAAQ,EAAE,GAAG,CAAC,QAAa;YAC3B,KAAK,EAAE,GAAG,CAAC,KAAU;YACrB,KAAK,EAAE,GAAG,CAAC,KAAU;SACtB,CAAgC,CAAC;IACpC,CAAC;IAED,SAAS,OAAO,CACd,KAAgE;QAEhE,MAAM,QAAQ,GACZ,QAAQ,IAAI,KAAK;YACf,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;YACtE,CAAC,CAAC,KAAK,CAAC;QAEZ,MAAM,cAAc,GAAG,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAY,CAAC;QAC3E,MAAM,WAAW,GAAG,EAAE,GAAI,GAAG,CAAC,KAAgB,EAAE,GAAI,QAAQ,CAAC,KAAgB,EAAsB,CAAC;QACpG,MAAM,WAAW,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAY,CAAC;QAElE,OAAO,YAAY,CAAC;YAClB,QAAQ,EAAE,cAAc;YACxB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM;QACN,OAAO;KACR,CAAC;AACJ,CAAC;AAUD,OAAO;AACP,SAAgB,MAAM,CAAC,GAAa;IAClC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,0CAA0C;QAC1C,MAAM,GAAG,GAAG,GAAgD,CAAC;QAC7D,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,8DAA8D;IAC9D,yHAAyH;IACzH,SAAS,aAAa,CACpB,IAAiB,EACjB,eAA6I,EAAE;QAE/I,OAAO;YACL,QAAQ,EAAC,CAAyB,KAA8N,EAAE,EAAE;gBAClQ,+DAA+D;gBAC/D,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;oBAChC,MAAM,UAAU,GAAG,GAAG,EAAE;wBACtB,IAAI,CAAC;4BACH,OAAO,KAAK,EAAE,CAAC;wBACjB,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,SAAS,CAAC;wBACnB,CAAC;oBACH,CAAC,CAAC;oBACF,OAAO,aAAa,CAAwB,IAAW,EAAE,CAAC,GAAG,YAAY,EAAE,UAAiB,CAAC,CAAC,CAAC;gBACjG,CAAC;gBAED,mEAAmE;gBACnE,kFAAkF;gBAClF,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBAClC,8CAA8C;oBAC9C,gGAAgG;oBAChG,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;oBACnC,+EAA+E;oBAC/E,OAAO,aAAa,CAAwB,IAAW,EAAE,CAAC,GAAG,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;gBAC1F,CAAC;gBAED,kCAAkC;gBAClC,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAI,KAAa,CAAC,QAAuB,CAAC;oBACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,6CAA6C;wBAC7C,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;wBAC/B,OAAO,aAAa,CAAwB,IAAW,EAAE,CAAC,GAAG,YAAY,EAAE,UAAiB,CAAC,CAAC,CAAC;oBACjG,CAAC;oBAED,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC;oBACxC,OAAO,aAAa,CAAwB,MAAa,EAAE,YAAY,CAAC,CAAC;gBAC3E,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,8CAA8C;oBAC9C,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;oBAC/B,OAAO,aAAa,CAAwB,IAAW,EAAE,CAAC,GAAG,YAAY,EAAE,UAAiB,CAAC,CAAC,CAAC;gBACjG,CAAC;YACH,CAAC;YACD,MAAM,EAAC,CAAyB,GAI/B,EAAwF,EAAE;gBACzF,kFAAkF;gBAClF,oEAAoE;gBACpE,IAAI,YAAY,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;gBAC/B,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;oBACtC,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;wBAC3B,IAAI,KAAK,EAAE,CAAC;4BACV,MAAM,QAAQ,GAAI,KAAa,CAAC,QAAuB,CAAC;4BACxD,IAAI,QAAQ,EAAE,CAAC;gCACb,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,QAAQ,EAAE,CAAC;4BAClD,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,yFAAyF;wBACzF,iGAAiG;oBACnG,CAAC;gBACH,CAAC;gBAED,2EAA2E;gBAC3E,MAAM,WAAW,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,GAAG,CAAC,QAAQ,EAA2B,CAAC;gBAClF,OAAO;oBACL,QAAQ,EAAE,WAAW;oBACrB,uEAAuE;oBACvE,KAAK,EAAE,GAAG,CAAC,KAAmD;oBAC9D,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,eAAe,EAAE,GAAG,EAAE;wBACpB,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;wBACzC,qFAAqF;wBACrF,2EAA2E;wBAC3E,iFAAiF;wBACjF,IAAI,aAAa,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;wBAEvC,oFAAoF;wBACpF,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;4BACtC,IAAI,CAAC;gCACH,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;gCAC3B,IAAI,KAAK,EAAE,CAAC;oCACV,MAAM,QAAQ,GAAI,KAAa,CAAC,QAAuB,CAAC;oCACxD,IAAI,QAAQ,EAAE,CAAC;wCACb,6DAA6D;wCAC7D,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,QAAQ,EAAE,CAAC;oCACpD,CAAC;gCACH,CAAC;4BACH,CAAC;4BAAC,OAAO,CAAC,EAAE,CAAC;gCACX,gGAAgG;4BAClG,CAAC;wBACH,CAAC;wBAED,OAAO,CAAC,CAAC,MAAM,CAAC;4BACd,QAAQ,EAAE,aAAa;4BACvB,KAAK,EAAE,GAAG,CAAC,KAAmD;4BAC9D,KAAK,EAAE,GAAG,CAAC,KAAK;yBACjB,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IAED,uFAAuF;IACvF,MAAM,IAAI,GAAG,QAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9D,OAAO,aAAa,CAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AACjD,CAAC"}
|