@xyo-network/xl1-protocol-sdk 1.24.33 → 1.24.35
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/neutral/CreatableProvider/ProviderFactoryLocator.d.ts +5 -2
- package/dist/neutral/CreatableProvider/ProviderFactoryLocator.d.ts.map +1 -1
- package/dist/neutral/CreatableProvider/ProviderFactoryLocatorInstance.d.ts +1 -0
- package/dist/neutral/CreatableProvider/ProviderFactoryLocatorInstance.d.ts.map +1 -1
- package/dist/neutral/index.mjs +13 -1
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/test/index.mjs +13 -1
- package/dist/neutral/test/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/CreatableProvider/ProviderFactoryLocator.ts +15 -1
- package/src/CreatableProvider/ProviderFactoryLocatorInstance.ts +2 -0
|
@@ -14,15 +14,17 @@ export declare class ProviderFactoryLocator<TContext extends CreatableProviderCo
|
|
|
14
14
|
protected readonly _registry: CreatableProviderRegistry<TMonikers>;
|
|
15
15
|
private _frozen;
|
|
16
16
|
private _parent?;
|
|
17
|
-
|
|
17
|
+
private _validateDepsOnRegister;
|
|
18
|
+
constructor(context: (Omit<TContext, 'locator'> & {
|
|
18
19
|
locator?: TContext['locator'];
|
|
19
|
-
}), registry?: CreatableProviderRegistry);
|
|
20
|
+
}), registry?: CreatableProviderRegistry, validateDepsOnRegister?: boolean);
|
|
20
21
|
get context(): TContext;
|
|
21
22
|
get logger(): import("@xylabs/sdk-js").Logger | undefined;
|
|
22
23
|
/**
|
|
23
24
|
* The current registry for the module factory
|
|
24
25
|
*/
|
|
25
26
|
get registry(): Readonly<CreatableProviderRegistry>;
|
|
27
|
+
protected get validateDepsOnRegister(): boolean;
|
|
26
28
|
freeze(): void;
|
|
27
29
|
getInstance<TProvider extends Provider<ProviderMoniker>>(moniker: TProvider['moniker'], { start, labels }?: ProviderFactoryGetInstanceOptions): Promise<CreatableProviderInstance<TProvider>>;
|
|
28
30
|
has(moniker: TMonikers[number]): boolean;
|
|
@@ -45,6 +47,7 @@ export declare class ProviderFactoryLocator<TContext extends CreatableProviderCo
|
|
|
45
47
|
* @param factories The factories to register
|
|
46
48
|
*/
|
|
47
49
|
registerMany(factories: CreatableProviderFactory[]): this;
|
|
50
|
+
registered(moniker: ProviderMoniker): boolean;
|
|
48
51
|
tryGetInstance<TProvider extends Provider<ProviderMoniker>>(moniker: TProvider['moniker'], { start, labels }?: ProviderFactoryGetInstanceOptions): Promise<CreatableProviderInstance<TProvider> | undefined>;
|
|
49
52
|
/**
|
|
50
53
|
* Tries to locate a module factory that matches the supplied moniker and labels
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderFactoryLocator.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/ProviderFactoryLocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE1D,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE1E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AACjG,OAAO,EAAE,KAAK,yBAAyB,EAAoC,MAAM,gCAAgC,CAAA;AACjH,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAA;AAChF,OAAO,EAAa,KAAK,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AACtG,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AAEzF;;GAEG;AACH,qBAAa,sBAAsB,CAAC,QAAQ,SAAS,wBAAwB,GAAG,wBAAwB,EACtG,SAAS,SAAS,eAAe,EAAE,GAAG,eAAe,EAAE,CAAE,YAAW,8BAA8B,CAAC,QAAQ,CAAC;IAC5G,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IACrC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAA;IAElE,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAC,CAA0C;
|
|
1
|
+
{"version":3,"file":"ProviderFactoryLocator.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/ProviderFactoryLocator.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,7 @@ export interface ProviderFactoryLocatorInstance<T extends CreatableProviderConte
|
|
|
32
32
|
* @param factories The factories to register
|
|
33
33
|
*/
|
|
34
34
|
registerMany(factories: CreatableProviderFactory[]): ProviderFactoryLocatorInstance;
|
|
35
|
+
registered(moniker: ProviderMoniker): boolean;
|
|
35
36
|
tryGetInstance<TProvider extends Provider<ProviderMoniker>>(moniker: TProvider['moniker'], options?: ProviderFactoryGetInstanceOptions): Promise<CreatableProviderInstance<TProvider> | undefined>;
|
|
36
37
|
/**
|
|
37
38
|
* Tries to locate a module factory that matches the supplied moniker and labels
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderFactoryLocatorInstance.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/ProviderFactoryLocatorInstance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE1E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AACjG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAA;AAChF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AAE3F,MAAM,WAAW,8BAA8B,CAAC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB;IAE3G,OAAO,EAAE,CAAC,CAAA;IAEV;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAA;IAE7C,MAAM,IAAI,IAAI,CAAA;IAEd,WAAW,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EACrD,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAC7B,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAA;IAEhD;;;;;OAKG;IACH,MAAM,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAC3F,wBAAwB,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAAG,+BAA+B,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;IAEpJ,KAAK,CAAC,OAAO,EAAE,8BAA8B,GAAG,8BAA8B,CAAA;IAE9E;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,wBAAwB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe,GAAG,eAAe,EAAE,GAAG,8BAA8B,CAAA;IAErJ;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,wBAAwB,EAAE,GAAG,8BAA8B,CAAA;IAEnF,cAAc,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EACxD,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAC7B,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAA;IAE5D;;;;;OAKG;IACH,SAAS,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EACnD,OAAO,EAAE,eAAe,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,wBAAwB,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAAG,+BAA+B,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;CACtJ"}
|
|
1
|
+
{"version":3,"file":"ProviderFactoryLocatorInstance.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/ProviderFactoryLocatorInstance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE1E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AACjG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAA;AAChF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AAE3F,MAAM,WAAW,8BAA8B,CAAC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB;IAE3G,OAAO,EAAE,CAAC,CAAA;IAEV;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAA;IAE7C,MAAM,IAAI,IAAI,CAAA;IAEd,WAAW,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EACrD,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAC7B,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAA;IAEhD;;;;;OAKG;IACH,MAAM,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAC3F,wBAAwB,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAAG,+BAA+B,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;IAEpJ,KAAK,CAAC,OAAO,EAAE,8BAA8B,GAAG,8BAA8B,CAAA;IAE9E;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,wBAAwB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe,GAAG,eAAe,EAAE,GAAG,8BAA8B,CAAA;IAErJ;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,wBAAwB,EAAE,GAAG,8BAA8B,CAAA;IAEnF,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAA;IAE7C,cAAc,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EACxD,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAC7B,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAA;IAE5D;;;;;OAKG;IACH,SAAS,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EACnD,OAAO,EAAE,eAAe,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,wBAAwB,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAAG,+BAA+B,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;CACtJ"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -1562,10 +1562,12 @@ var ProviderFactoryLocator = class _ProviderFactoryLocator {
|
|
|
1562
1562
|
_registry;
|
|
1563
1563
|
_frozen = false;
|
|
1564
1564
|
_parent;
|
|
1565
|
-
|
|
1565
|
+
_validateDepsOnRegister;
|
|
1566
|
+
constructor(context, registry = {}, validateDepsOnRegister = false) {
|
|
1566
1567
|
this._registry = registry;
|
|
1567
1568
|
this._context = { ...context, locator: this };
|
|
1568
1569
|
this._parent = context.locator;
|
|
1570
|
+
this._validateDepsOnRegister = validateDepsOnRegister;
|
|
1569
1571
|
}
|
|
1570
1572
|
get context() {
|
|
1571
1573
|
return this._context;
|
|
@@ -1579,6 +1581,9 @@ var ProviderFactoryLocator = class _ProviderFactoryLocator {
|
|
|
1579
1581
|
get registry() {
|
|
1580
1582
|
return this._registry;
|
|
1581
1583
|
}
|
|
1584
|
+
get validateDepsOnRegister() {
|
|
1585
|
+
return this._validateDepsOnRegister;
|
|
1586
|
+
}
|
|
1582
1587
|
freeze() {
|
|
1583
1588
|
this._frozen = true;
|
|
1584
1589
|
}
|
|
@@ -1621,6 +1626,10 @@ var ProviderFactoryLocator = class _ProviderFactoryLocator {
|
|
|
1621
1626
|
*/
|
|
1622
1627
|
register(factory, labels, primary = false) {
|
|
1623
1628
|
assertEx12(!this._frozen, () => "Cannot register a module factory after the locator has been frozen");
|
|
1629
|
+
if (this.validateDepsOnRegister) {
|
|
1630
|
+
const missingDeps = factory.dependencies.filter((dep) => !this.registered(dep));
|
|
1631
|
+
assertEx12(missingDeps.length === 0, () => `Cannot register module factory [${factory.uniqueId.description}] due to missing dependencies: ${missingDeps.join(", ")}`);
|
|
1632
|
+
}
|
|
1624
1633
|
registerCreatableProviderFactory(this._registry, factory, labels, primary);
|
|
1625
1634
|
return this;
|
|
1626
1635
|
}
|
|
@@ -1634,6 +1643,9 @@ var ProviderFactoryLocator = class _ProviderFactoryLocator {
|
|
|
1634
1643
|
}
|
|
1635
1644
|
return this;
|
|
1636
1645
|
}
|
|
1646
|
+
registered(moniker) {
|
|
1647
|
+
return !!this.registry[moniker] || (this._parent?.registered(moniker) ?? false);
|
|
1648
|
+
}
|
|
1637
1649
|
async tryGetInstance(moniker, { start = true, labels } = {}) {
|
|
1638
1650
|
const resolvedParams = { context: this.context };
|
|
1639
1651
|
const factory = this.tryLocate(moniker, labels);
|