@xyo-network/module-model 5.3.30 → 5.4.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/README.md +0 -10557
- package/dist/neutral/CreatableModule/CreatableModuleRegistry.d.ts +1 -3
- package/dist/neutral/CreatableModule/CreatableModuleRegistry.d.ts.map +1 -1
- package/dist/neutral/Job/Job.d.ts +12 -0
- package/dist/neutral/Job/Job.d.ts.map +1 -0
- package/dist/neutral/Job/JobProvider.d.ts +5 -0
- package/dist/neutral/Job/JobProvider.d.ts.map +1 -0
- package/dist/neutral/Job/JobQueue.d.ts +13 -0
- package/dist/neutral/Job/JobQueue.d.ts.map +1 -0
- package/dist/neutral/Job/Task.d.ts +2 -0
- package/dist/neutral/Job/Task.d.ts.map +1 -0
- package/dist/neutral/Job/index.d.ts +4 -0
- package/dist/neutral/Job/index.d.ts.map +1 -0
- package/dist/neutral/Labels/Labels.d.ts +1 -3
- package/dist/neutral/Labels/Labels.d.ts.map +1 -1
- package/dist/neutral/Payload/ModuleState.d.ts +1 -3
- package/dist/neutral/Payload/ModuleState.d.ts.map +1 -1
- package/dist/neutral/index.d.ts +1 -1
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +2 -342
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/instance/ModuleInstanceParams.d.ts +2 -2
- package/dist/neutral/instance/ModuleInstanceParams.d.ts.map +1 -1
- package/package.json +17 -21
- package/dist/neutral/ResolveHelper/ResolveHelper.d.ts +0 -28
- package/dist/neutral/ResolveHelper/ResolveHelper.d.ts.map +0 -1
- package/dist/neutral/ResolveHelper/ResolveHelperStatic.d.ts +0 -7
- package/dist/neutral/ResolveHelper/ResolveHelperStatic.d.ts.map +0 -1
- package/dist/neutral/ResolveHelper/index.d.ts +0 -10
- package/dist/neutral/ResolveHelper/index.d.ts.map +0 -1
- package/dist/neutral/ResolveHelper/model.d.ts +0 -2
- package/dist/neutral/ResolveHelper/model.d.ts.map +0 -1
- package/dist/neutral/ResolveHelper/resolveAddressToInstance.d.ts +0 -9
- package/dist/neutral/ResolveHelper/resolveAddressToInstance.d.ts.map +0 -1
- package/dist/neutral/ResolveHelper/resolveAll.d.ts +0 -6
- package/dist/neutral/ResolveHelper/resolveAll.d.ts.map +0 -1
- package/dist/neutral/ResolveHelper/resolveLocalNameToAddress.d.ts +0 -9
- package/dist/neutral/ResolveHelper/resolveLocalNameToAddress.d.ts.map +0 -1
- package/dist/neutral/ResolveHelper/resolveLocalNameToInstance.d.ts +0 -8
- package/dist/neutral/ResolveHelper/resolveLocalNameToInstance.d.ts.map +0 -1
- package/dist/neutral/ResolveHelper/resolvePathToAddress.d.ts +0 -5
- package/dist/neutral/ResolveHelper/resolvePathToAddress.d.ts.map +0 -1
- package/dist/neutral/ResolveHelper/resolvePathToInstance.d.ts +0 -4
- package/dist/neutral/ResolveHelper/resolvePathToInstance.d.ts.map +0 -1
- package/dist/neutral/ResolveHelper/traceModuleIdentifier.d.ts +0 -5
- package/dist/neutral/ResolveHelper/traceModuleIdentifier.d.ts.map +0 -1
- package/dist/neutral/ResolveHelper/transformModuleIdentifier.d.ts +0 -4
- package/dist/neutral/ResolveHelper/transformModuleIdentifier.d.ts.map +0 -1
|
@@ -2,9 +2,7 @@ import { type Schema } from '@xyo-network/payload-model';
|
|
|
2
2
|
import type { Labels } from '../Labels/index.ts';
|
|
3
3
|
import type { CreatableModuleFactory, CreatableModuleInstance } from './CreatableModule.ts';
|
|
4
4
|
import type { LabeledCreatableModuleFactory } from './LabeledCreatableModuleFactory.ts';
|
|
5
|
-
export
|
|
6
|
-
[key: Schema]: (CreatableModuleFactory | LabeledCreatableModuleFactory)[] | undefined;
|
|
7
|
-
}
|
|
5
|
+
export type CreatableModuleRegistry = Record<Schema, (CreatableModuleFactory | LabeledCreatableModuleFactory)[] | undefined>;
|
|
8
6
|
export declare const registerCreatableModuleFactory: <TModule extends CreatableModuleInstance>(registry: CreatableModuleRegistry, factory: CreatableModuleFactory<TModule> | LabeledCreatableModuleFactory<TModule>, labels?: Labels,
|
|
9
7
|
/** register this as the primary factory for every schema it supports */
|
|
10
8
|
primary?: boolean | Schema | Schema[]) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatableModuleRegistry.d.ts","sourceRoot":"","sources":["../../../src/CreatableModule/CreatableModuleRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAElE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC3F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAA;AAEvF,MAAM,
|
|
1
|
+
{"version":3,"file":"CreatableModuleRegistry.d.ts","sourceRoot":"","sources":["../../../src/CreatableModule/CreatableModuleRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAElE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC3F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAA;AAEvF,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,sBAAsB,GAAG,6BAA6B,CAAC,EAAE,GAAG,SAAS,CAAC,CAAA;AAqB5H,eAAO,MAAM,8BAA8B,GAAI,OAAO,SAAS,uBAAuB,EACpF,UAAU,uBAAuB,EACjC,SAAS,sBAAsB,CAAC,OAAO,CAAC,GAAG,6BAA6B,CAAC,OAAO,CAAC,EACjF,SAAS,MAAM;AACf,wEAAwE;AACxE,UAAS,OAAO,GAAG,MAAM,GAAG,MAAM,EAAU,SAsC7C,CAAA;AAED,eAAO,MAAM,gCAAgC,GAC3C,WAAW,CAAC,sBAAsB,GAAG,6BAA6B,CAAC,EAAE,EACrE,WAAU,uBAA4B,EACtC,iBAAe,4BAMhB,CAAA;AAED,6DAA6D;AAC7D,eAAO,MAAM,6BAA6B,GACxC,SAAQ,uBAA4B,EACpC,GAAG,SAAS,uBAAuB,EAAE,KACpC,uBAWF,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Task } from './Task.ts';
|
|
2
|
+
export type VoidFunction = (...anyArguments: unknown[]) => void;
|
|
3
|
+
export interface Job {
|
|
4
|
+
name: string;
|
|
5
|
+
onComplete?: VoidFunction;
|
|
6
|
+
onFail?: VoidFunction;
|
|
7
|
+
onStart?: VoidFunction;
|
|
8
|
+
onSuccess?: VoidFunction;
|
|
9
|
+
schedule: string;
|
|
10
|
+
task: Task;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=Job.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../../../src/Job/Job.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAE/D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JobProvider.d.ts","sourceRoot":"","sources":["../../../src/Job/JobProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEnC,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;CAClB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { EventData, EventEmitter } from '@xylabs/sdk-js';
|
|
2
|
+
import type { Job } from './Job.ts';
|
|
3
|
+
/** @internal */
|
|
4
|
+
export interface DefineOptions {
|
|
5
|
+
lockLifetime?: number;
|
|
6
|
+
}
|
|
7
|
+
/** @internal */
|
|
8
|
+
export interface JobQueue extends EventEmitter<EventData> {
|
|
9
|
+
define: (name: string, options: DefineOptions, processor: Job['task']) => void;
|
|
10
|
+
every: (interval: string, names: string | string[]) => Promise<void>;
|
|
11
|
+
start: () => Promise<unknown>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=JobQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JobQueue.d.ts","sourceRoot":"","sources":["../../../src/Job/JobQueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEnC,gBAAgB;AAChB,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,gBAAgB;AAChB,MAAM,WAAW,QAAS,SAAQ,YAAY,CAAC,SAAS,CAAC;IACvD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IAC9E,KAAK,EAAE,CACL,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAGrB,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../../src/Job/Task.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Job/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Labels.d.ts","sourceRoot":"","sources":["../../../src/Labels/Labels.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"Labels.d.ts","sourceRoot":"","sources":["../../../src/Labels/Labels.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACnD,MAAM,EAAE,CAAC,CAAA;CACV;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC3D,MAAM,CAAC,EAAE,CAAC,CAAA;CACX;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,EAAE,WAAW,MAAM,KAAG,OAKjE,CAAA"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import type { Payload, WithSources } from '@xyo-network/payload-model';
|
|
2
|
-
export
|
|
3
|
-
[key: string]: string | number;
|
|
4
|
-
}
|
|
2
|
+
export type StateDictionary = Record<string, string | number>;
|
|
5
3
|
export interface State<T extends StateDictionary = StateDictionary> {
|
|
6
4
|
state: T;
|
|
7
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleState.d.ts","sourceRoot":"","sources":["../../../src/Payload/ModuleState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAKtE,MAAM,
|
|
1
|
+
{"version":3,"file":"ModuleState.d.ts","sourceRoot":"","sources":["../../../src/Payload/ModuleState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAKtE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;AAC7D,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IAChE,KAAK,EAAE,CAAC,CAAA;CACT;AAED,eAAO,MAAM,iBAAiB;;CAA6C,CAAA;AAC3E,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAA;AAExD,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAA;AAE3G,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,eAAe,GAAG,eAAe,EAAE,MAAM,GAAG,OAAO,EAAE,UAAU,MAAM,KAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,MAE3I,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,eAAe,GAAG,eAAe,EAClF,MAAM,GAAG,OAAO,EAAE,UAAU,MAAM,KAAG,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,MAE/E,CAAA;AAED,eAAO,MAAM,aAAa,uEAAsE,CAAA;AAChG,eAAO,MAAM,qBAAqB,6FAA8E,CAAA"}
|
package/dist/neutral/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export * from './CreatableModule/index.ts';
|
|
|
4
4
|
export * from './DetailsError.ts';
|
|
5
5
|
export * from './EventsModels/index.ts';
|
|
6
6
|
export * from './instance/index.ts';
|
|
7
|
+
export * from './Job/index.ts';
|
|
7
8
|
export * from './Labels/index.ts';
|
|
8
9
|
export * from './lib/index.ts';
|
|
9
10
|
export * from './ModuleDescription.ts';
|
|
@@ -16,6 +17,5 @@ export * from './ModuleStatusReporter.ts';
|
|
|
16
17
|
export * from './Payload/index.ts';
|
|
17
18
|
export * from './Queries/index.ts';
|
|
18
19
|
export * from './QueryableModule/index.ts';
|
|
19
|
-
export * from './ResolveHelper/index.ts';
|
|
20
20
|
export * from './withModule.ts';
|
|
21
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,mCAAmC,CAAA;AACjD,cAAc,uBAAuB,CAAA;AACrC,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,mCAAmC,CAAA;AACjD,cAAc,uBAAuB,CAAA;AACrC,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iBAAiB,CAAA"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -284,7 +284,7 @@ var isModuleResolver = isObjectResolver;
|
|
|
284
284
|
var hasAllLabels = (source, required) => {
|
|
285
285
|
if (!required) return true;
|
|
286
286
|
return Object.entries(required).every(([key, value]) => {
|
|
287
|
-
return source
|
|
287
|
+
return Object.hasOwn(source ?? {}, key) && source?.[key] === value;
|
|
288
288
|
});
|
|
289
289
|
};
|
|
290
290
|
|
|
@@ -406,326 +406,6 @@ var isModuleStateWithSources = (payload) => {
|
|
|
406
406
|
var asModuleState = AsObjectFactory6.create(isModuleState);
|
|
407
407
|
var asOptionalModuleState = AsObjectFactory6.createOptional(isModuleState);
|
|
408
408
|
|
|
409
|
-
// src/ResolveHelper/resolveAddressToInstance.ts
|
|
410
|
-
var resolveAddressToInstanceDown = async (root, address, includePrivate = void 0, ignore = []) => {
|
|
411
|
-
if (root.address === address) {
|
|
412
|
-
return root;
|
|
413
|
-
}
|
|
414
|
-
const cache = root.addressCache?.("up", !!includePrivate);
|
|
415
|
-
const privateChildren = (includePrivate ? await root.privateChildren?.() : []) ?? [];
|
|
416
|
-
const publicChildren = await root.publicChildren?.() ?? [];
|
|
417
|
-
const children = [...privateChildren, ...publicChildren];
|
|
418
|
-
for (const child of children) {
|
|
419
|
-
const found = await resolveAddressToInstanceDown(child, address, includePrivate, ignore);
|
|
420
|
-
if (found) {
|
|
421
|
-
cache?.set(address, new WeakRef(found));
|
|
422
|
-
return found;
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
cache?.set(address, null);
|
|
426
|
-
};
|
|
427
|
-
var resolveAddressToInstanceSiblings = async (root, address, includePrivate = void 0, ignore = []) => {
|
|
428
|
-
const siblings = await root.siblings?.() ?? [];
|
|
429
|
-
for (const sibling of siblings) {
|
|
430
|
-
const found = await resolveAddressToInstanceDown(sibling, address, includePrivate, ignore);
|
|
431
|
-
if (found) {
|
|
432
|
-
return found;
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
};
|
|
436
|
-
var resolveAddressToInstanceUp = async (root, address, includePrivate = void 0, ignore = []) => {
|
|
437
|
-
const cache = root.addressCache?.("up", includePrivate ?? true);
|
|
438
|
-
const parents = await root.parents?.() ?? [];
|
|
439
|
-
for (const parent of parents) {
|
|
440
|
-
const found = await resolveAddressToInstance(parent, address, includePrivate, ignore);
|
|
441
|
-
if (found) {
|
|
442
|
-
cache?.set(address, new WeakRef(found));
|
|
443
|
-
return found;
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
|
-
cache?.set(address, null);
|
|
447
|
-
};
|
|
448
|
-
var resolveAddressToInstanceAll = async (root, address, includePrivate = void 0, ignore = []) => {
|
|
449
|
-
const cache = root.addressCache?.("all", !!includePrivate);
|
|
450
|
-
const result = await resolveAddressToInstanceDown(root, address, includePrivate ?? false, ignore) ?? await resolveAddressToInstanceUp(root, address, includePrivate ?? true, ignore);
|
|
451
|
-
cache?.set(address, result ? new WeakRef(result) : null);
|
|
452
|
-
return result;
|
|
453
|
-
};
|
|
454
|
-
var resolveAddressToInstance = async (root, address, includePrivate = void 0, ignore = [], direction = "all") => {
|
|
455
|
-
switch (direction) {
|
|
456
|
-
case "all": {
|
|
457
|
-
return await resolveAddressToInstanceAll(root, address, includePrivate, ignore);
|
|
458
|
-
}
|
|
459
|
-
case "up": {
|
|
460
|
-
return await resolveAddressToInstanceUp(root, address, includePrivate ?? true, ignore);
|
|
461
|
-
}
|
|
462
|
-
case "down": {
|
|
463
|
-
return await resolveAddressToInstanceDown(root, address, includePrivate ?? false, ignore);
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
};
|
|
467
|
-
|
|
468
|
-
// src/ResolveHelper/resolveAll.ts
|
|
469
|
-
var resolveAllUp = async (root, maxDepth = 10, exclude = []) => {
|
|
470
|
-
if (maxDepth === 0) {
|
|
471
|
-
return [root].filter((mod) => !exclude.includes(mod.address));
|
|
472
|
-
}
|
|
473
|
-
const parents = (await root.parents()).filter((mod) => !exclude.includes(mod.address));
|
|
474
|
-
return (maxDepth > 1 ? [
|
|
475
|
-
...(await Promise.all(parents.map(async (mod) => await resolveAllUp(mod, maxDepth - 1, [...exclude, root.address])))).flat(),
|
|
476
|
-
...(await Promise.all(parents.map(async (mod) => await resolveAllDown(mod, maxDepth - 1, [...exclude, root.address], true)))).flat(),
|
|
477
|
-
...parents,
|
|
478
|
-
root
|
|
479
|
-
] : [...parents, root]).filter((mod) => !exclude.includes(mod.address)).filter(duplicateModules);
|
|
480
|
-
};
|
|
481
|
-
var resolveAllDown = async (root, maxDepth = 10, exclude = [], includePrivate = false) => {
|
|
482
|
-
if (maxDepth === 0) {
|
|
483
|
-
return [root];
|
|
484
|
-
}
|
|
485
|
-
const children = (await root.publicChildren()).filter((mod) => !exclude.includes(mod.address));
|
|
486
|
-
const privateChildren = includePrivate ? (await root.privateChildren()).filter((mod) => !exclude.includes(mod.address)) : [];
|
|
487
|
-
return (maxDepth > 1 ? [
|
|
488
|
-
...children,
|
|
489
|
-
...(await Promise.all(children.map((child) => resolveAllDown(child, maxDepth - 1, [...exclude, root.address])))).flat(),
|
|
490
|
-
...(await Promise.all(privateChildren.map((child) => resolveAllDown(child, maxDepth - 1, [...exclude, root.address])))).flat(),
|
|
491
|
-
root
|
|
492
|
-
] : [...children, root]).filter((mod) => !exclude.includes(mod.address)).filter(duplicateModules);
|
|
493
|
-
};
|
|
494
|
-
var resolveAll = async (root, maxDepth = 10, exclude = []) => {
|
|
495
|
-
if (maxDepth === 0) {
|
|
496
|
-
return [root];
|
|
497
|
-
}
|
|
498
|
-
return [...await resolveAllUp(root, maxDepth, exclude), ...await resolveAllDown(root, maxDepth, exclude)].filter(duplicateModules);
|
|
499
|
-
};
|
|
500
|
-
|
|
501
|
-
// src/ResolveHelper/ResolveHelper.ts
|
|
502
|
-
import {
|
|
503
|
-
assertEx as assertEx4,
|
|
504
|
-
exists,
|
|
505
|
-
IdLogger,
|
|
506
|
-
isAddress as isAddress2,
|
|
507
|
-
isDefined,
|
|
508
|
-
isString,
|
|
509
|
-
isTruthy as isTruthy2
|
|
510
|
-
} from "@xylabs/sdk-js";
|
|
511
|
-
|
|
512
|
-
// src/ResolveHelper/ResolveHelperStatic.ts
|
|
513
|
-
var ResolveHelperStatic = class {
|
|
514
|
-
static defaultLogger;
|
|
515
|
-
// eslint-disable-next-line sonarjs/public-static-readonly
|
|
516
|
-
static transformers = [];
|
|
517
|
-
};
|
|
518
|
-
|
|
519
|
-
// src/ResolveHelper/resolvePathToInstance.ts
|
|
520
|
-
import { asAddress, assertEx as assertEx2 } from "@xylabs/sdk-js";
|
|
521
|
-
|
|
522
|
-
// src/ResolveHelper/resolveLocalNameToInstance.ts
|
|
523
|
-
var resolveLocalNameToInstanceUp = async (root, modName) => {
|
|
524
|
-
const parents = await root.parents?.() ?? [];
|
|
525
|
-
return parents.find((parent) => parent.config.name === modName);
|
|
526
|
-
};
|
|
527
|
-
var resolveLocalNameToInstanceDown = async (root, modName, includePrivate = void 0) => {
|
|
528
|
-
const privateChildren = (includePrivate ? await root.privateChildren?.() : []) ?? [];
|
|
529
|
-
const publicChildren = await root.publicChildren?.() ?? [];
|
|
530
|
-
const children = [...privateChildren, ...publicChildren];
|
|
531
|
-
return children.find((child) => child.config.name === modName);
|
|
532
|
-
};
|
|
533
|
-
var resolveLocalNameToInstanceAll = async (root, modName, includePrivate = false) => {
|
|
534
|
-
return await resolveLocalNameToInstanceDown(root, modName, includePrivate) ?? await resolveLocalNameToInstanceUp(root, modName);
|
|
535
|
-
};
|
|
536
|
-
var resolveLocalNameToInstance = async (root, modName, includePrivate = false, direction = "all") => {
|
|
537
|
-
switch (direction) {
|
|
538
|
-
case "all": {
|
|
539
|
-
return await resolveLocalNameToInstanceAll(root, modName, includePrivate);
|
|
540
|
-
}
|
|
541
|
-
case "up": {
|
|
542
|
-
return await resolveLocalNameToInstanceUp(root, modName);
|
|
543
|
-
}
|
|
544
|
-
case "down": {
|
|
545
|
-
return await resolveLocalNameToInstanceDown(root, modName, includePrivate);
|
|
546
|
-
}
|
|
547
|
-
}
|
|
548
|
-
};
|
|
549
|
-
|
|
550
|
-
// src/ResolveHelper/resolveLocalNameToAddress.ts
|
|
551
|
-
var resolveLocalNameToAddressUp = async (root, modName) => {
|
|
552
|
-
return (await resolveLocalNameToInstanceUp(root, modName))?.address;
|
|
553
|
-
};
|
|
554
|
-
var resolveLocalNameToAddressDown = async (root, modName, includePrivate = void 0) => {
|
|
555
|
-
return (await resolveLocalNameToInstanceDown(root, modName, includePrivate))?.address;
|
|
556
|
-
};
|
|
557
|
-
var resolveLocalNameToAddressAll = async (root, modName, includePrivate = void 0) => {
|
|
558
|
-
return (await resolveLocalNameToInstanceAll(root, modName, includePrivate))?.address;
|
|
559
|
-
};
|
|
560
|
-
var resolveLocalNameToAddress = async (root, modName, includePrivate = void 0, direction = "all") => {
|
|
561
|
-
return (await resolveLocalNameToInstance(root, modName, includePrivate, direction))?.address;
|
|
562
|
-
};
|
|
563
|
-
|
|
564
|
-
// src/ResolveHelper/transformModuleIdentifier.ts
|
|
565
|
-
var transformModuleIdentifier = async (id, transformers) => {
|
|
566
|
-
let result = id;
|
|
567
|
-
for (const transformer of transformers) {
|
|
568
|
-
result = await transformer.transform(id);
|
|
569
|
-
}
|
|
570
|
-
return result;
|
|
571
|
-
};
|
|
572
|
-
|
|
573
|
-
// src/ResolveHelper/resolvePathToInstance.ts
|
|
574
|
-
var resolvePathToInstance = async (root, path, includePrivate = void 0, transformers = ResolveHelperStatic.transformers) => {
|
|
575
|
-
const parts = path.split(MODULE_PATH_SEPARATOR);
|
|
576
|
-
const first = await transformModuleIdentifier(
|
|
577
|
-
assertEx2(parts.shift(), () => `First part is invalid [${path}]`),
|
|
578
|
-
transformers
|
|
579
|
-
);
|
|
580
|
-
if (!first) {
|
|
581
|
-
return void 0;
|
|
582
|
-
}
|
|
583
|
-
const firstAddress = asAddress(first) ?? await resolveLocalNameToAddress(root, first, includePrivate);
|
|
584
|
-
if (firstAddress) {
|
|
585
|
-
const firstModule = await resolveAddressToInstance(root, firstAddress, includePrivate);
|
|
586
|
-
if (firstModule && parts.length > 0) {
|
|
587
|
-
return resolvePathToInstance(firstModule, parts.join(MODULE_PATH_SEPARATOR));
|
|
588
|
-
}
|
|
589
|
-
return firstModule;
|
|
590
|
-
}
|
|
591
|
-
};
|
|
592
|
-
|
|
593
|
-
// src/ResolveHelper/resolvePathToAddress.ts
|
|
594
|
-
var resolvePathToAddress = async (root, path, includePrivate = void 0, transformers = ResolveHelperStatic.transformers) => {
|
|
595
|
-
return (await resolvePathToInstance(root, path, includePrivate, transformers))?.address;
|
|
596
|
-
};
|
|
597
|
-
|
|
598
|
-
// src/ResolveHelper/traceModuleIdentifier.ts
|
|
599
|
-
import { assertEx as assertEx3 } from "@xylabs/sdk-js";
|
|
600
|
-
var traceModuleIdentifier = async (resolver, path) => {
|
|
601
|
-
const parts = path.split(":");
|
|
602
|
-
const first = parts.shift();
|
|
603
|
-
const firstModule = asModuleInstance(
|
|
604
|
-
assertEx3(await resolver.resolve(first, { maxDepth: 1 }), () => `Failed to resolve [${first}]`),
|
|
605
|
-
() => `Resolved invalid module instance [${first}]`
|
|
606
|
-
);
|
|
607
|
-
if (firstModule) {
|
|
608
|
-
return parts.length > 0 ? [firstModule.address, ...await traceModuleIdentifier(firstModule, parts.join(":"))] : [firstModule.address];
|
|
609
|
-
}
|
|
610
|
-
return [];
|
|
611
|
-
};
|
|
612
|
-
|
|
613
|
-
// src/ResolveHelper/ResolveHelper.ts
|
|
614
|
-
var ResolveHelper = class _ResolveHelper extends ResolveHelperStatic {
|
|
615
|
-
static async resolve(config, id = "*", {
|
|
616
|
-
maxDepth = 3,
|
|
617
|
-
required = "log",
|
|
618
|
-
...options
|
|
619
|
-
} = {}) {
|
|
620
|
-
const {
|
|
621
|
-
transformers,
|
|
622
|
-
mod,
|
|
623
|
-
logger = this.defaultLogger,
|
|
624
|
-
dead = false,
|
|
625
|
-
upResolver,
|
|
626
|
-
downResolver,
|
|
627
|
-
privateResolver
|
|
628
|
-
} = config;
|
|
629
|
-
const log = logger ? new IdLogger(logger, () => `ResolveHelper [${mod.id}][${id}]`) : void 0;
|
|
630
|
-
const downLocalOptions = {
|
|
631
|
-
...options,
|
|
632
|
-
direction: "down",
|
|
633
|
-
maxDepth,
|
|
634
|
-
required: false
|
|
635
|
-
};
|
|
636
|
-
const upLocalOptions = { ...downLocalOptions, direction: "up" };
|
|
637
|
-
const childOptions = {
|
|
638
|
-
...options,
|
|
639
|
-
maxDepth: maxDepth - 1,
|
|
640
|
-
required: false
|
|
641
|
-
};
|
|
642
|
-
const direction = options?.direction ?? "all";
|
|
643
|
-
const up = direction === "up" || direction === "all";
|
|
644
|
-
const down = direction === "down" || direction === "all";
|
|
645
|
-
let result;
|
|
646
|
-
log?.debug("start", id, maxDepth);
|
|
647
|
-
if (id === "*") {
|
|
648
|
-
if (dead) {
|
|
649
|
-
log?.warn("failed [dead]", id);
|
|
650
|
-
return [];
|
|
651
|
-
}
|
|
652
|
-
const modules = [
|
|
653
|
-
...down ? await downResolver.resolve("*", downLocalOptions) : [],
|
|
654
|
-
...up ? await upResolver.resolve("*", upLocalOptions) : []
|
|
655
|
-
].filter(duplicateModules);
|
|
656
|
-
if (modules.length > 0) {
|
|
657
|
-
log?.debug("modules [count]", modules.length);
|
|
658
|
-
}
|
|
659
|
-
if (maxDepth === 0) {
|
|
660
|
-
return modules;
|
|
661
|
-
}
|
|
662
|
-
const childModules = (await Promise.all(modules.map(async (mod2) => await mod2.resolve("*", childOptions)))).flat().filter(duplicateModules);
|
|
663
|
-
return [...modules, ...childModules, mod].filter(duplicateModules);
|
|
664
|
-
} else {
|
|
665
|
-
switch (typeof id) {
|
|
666
|
-
case "string": {
|
|
667
|
-
if (dead) {
|
|
668
|
-
return void 0;
|
|
669
|
-
}
|
|
670
|
-
const resolvedId = assertEx4(await resolvePathToAddress(mod, id, false, transformers) ?? id, () => "Invalid resolvedId");
|
|
671
|
-
const resolvers = [
|
|
672
|
-
[downResolver, downLocalOptions],
|
|
673
|
-
[up ? upResolver : void 0, upLocalOptions],
|
|
674
|
-
[up ? privateResolver : void 0, upLocalOptions]
|
|
675
|
-
].filter(([resolver]) => exists(resolver));
|
|
676
|
-
for (const resolver of resolvers) {
|
|
677
|
-
const [resolverInstance] = resolver;
|
|
678
|
-
if (!result) {
|
|
679
|
-
result = await this.resolveModuleIdentifier(resolverInstance, resolvedId);
|
|
680
|
-
}
|
|
681
|
-
}
|
|
682
|
-
break;
|
|
683
|
-
}
|
|
684
|
-
default: {
|
|
685
|
-
break;
|
|
686
|
-
}
|
|
687
|
-
}
|
|
688
|
-
}
|
|
689
|
-
this.validateRequiredResolve(required, result, id, logger);
|
|
690
|
-
return result;
|
|
691
|
-
}
|
|
692
|
-
// resolves a complex module path to addresses
|
|
693
|
-
static async resolveModuleIdentifier(resolver, path, required) {
|
|
694
|
-
const parts = path.split(":");
|
|
695
|
-
const first = parts.shift();
|
|
696
|
-
const firstIsAddress = isAddress2(first);
|
|
697
|
-
const resolvedModule = await resolver.resolve(first, { maxDepth: firstIsAddress ? 10 : 1 }) ?? (isString(first) ? await resolver.resolvePrivate(first, { maxDepth: firstIsAddress ? 10 : 1 }) : void 0);
|
|
698
|
-
const finalModule = required ? assertEx4(resolvedModule, () => `Failed to resolve [${first}] [${firstIsAddress}]`) : resolvedModule;
|
|
699
|
-
const firstModule = asModuleInstance(finalModule, () => `Resolved invalid module instance [${first}]`);
|
|
700
|
-
return isDefined(firstModule) ? parts.length > 0 ? await this.resolveModuleIdentifier(firstModule, parts.join(":")) : firstModule : void 0;
|
|
701
|
-
}
|
|
702
|
-
// translates a complex module path to addresses
|
|
703
|
-
static traceModuleIdentifier(resolver, path) {
|
|
704
|
-
return traceModuleIdentifier(resolver, path);
|
|
705
|
-
}
|
|
706
|
-
static transformModuleIdentifier(identifier, transformers = _ResolveHelper.transformers) {
|
|
707
|
-
return transformModuleIdentifier(identifier, transformers);
|
|
708
|
-
}
|
|
709
|
-
static validateRequiredResolve(required, result, id, logger = this.defaultLogger) {
|
|
710
|
-
const log = logger ? new IdLogger(logger, () => `validateRequiredResolve [${id}][${result}]`) : void 0;
|
|
711
|
-
if (isTruthy2(required) && (result === void 0 || Array.isArray(result) && result.length > 0)) {
|
|
712
|
-
switch (required) {
|
|
713
|
-
case "warn": {
|
|
714
|
-
log?.warn("resolve failed", id);
|
|
715
|
-
break;
|
|
716
|
-
}
|
|
717
|
-
case "log": {
|
|
718
|
-
log?.log("resolve failed", id);
|
|
719
|
-
break;
|
|
720
|
-
}
|
|
721
|
-
default: {
|
|
722
|
-
throw new Error(`resolve failed [${id}]`);
|
|
723
|
-
}
|
|
724
|
-
}
|
|
725
|
-
}
|
|
726
|
-
}
|
|
727
|
-
};
|
|
728
|
-
|
|
729
409
|
// src/withModule.ts
|
|
730
410
|
var WithFactory = {
|
|
731
411
|
create: (typeCheck) => {
|
|
@@ -758,7 +438,6 @@ export {
|
|
|
758
438
|
ModuleSubscribeQuerySchema,
|
|
759
439
|
ObjectResolverPriority,
|
|
760
440
|
ReservedModuleIdentifierCharacters,
|
|
761
|
-
ResolveHelper,
|
|
762
441
|
WithFactory,
|
|
763
442
|
asAddressPayload,
|
|
764
443
|
asAttachableModuleInstance,
|
|
@@ -805,25 +484,6 @@ export {
|
|
|
805
484
|
requiredModuleQueries,
|
|
806
485
|
requiredModuleShape,
|
|
807
486
|
requiredQueryableModuleQueries,
|
|
808
|
-
requiredQueryableModuleShape
|
|
809
|
-
resolveAddressToInstance,
|
|
810
|
-
resolveAddressToInstanceAll,
|
|
811
|
-
resolveAddressToInstanceDown,
|
|
812
|
-
resolveAddressToInstanceSiblings,
|
|
813
|
-
resolveAddressToInstanceUp,
|
|
814
|
-
resolveAll,
|
|
815
|
-
resolveAllDown,
|
|
816
|
-
resolveAllUp,
|
|
817
|
-
resolveLocalNameToAddress,
|
|
818
|
-
resolveLocalNameToAddressAll,
|
|
819
|
-
resolveLocalNameToAddressDown,
|
|
820
|
-
resolveLocalNameToAddressUp,
|
|
821
|
-
resolveLocalNameToInstance,
|
|
822
|
-
resolveLocalNameToInstanceAll,
|
|
823
|
-
resolveLocalNameToInstanceDown,
|
|
824
|
-
resolveLocalNameToInstanceUp,
|
|
825
|
-
resolvePathToAddress,
|
|
826
|
-
resolvePathToInstance,
|
|
827
|
-
transformModuleIdentifier
|
|
487
|
+
requiredQueryableModuleShape
|
|
828
488
|
};
|
|
829
489
|
//# sourceMappingURL=index.mjs.map
|