@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.
@@ -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
- constructor(context: TContext | (Omit<TContext, 'locator'> & {
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;gBAE9C,OAAO,EAAE,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG;QAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;KAAE,CAAC,EAAE,QAAQ,GAAE,yBAA8B;IAMzI,IAAI,OAAO,aAEV;IAED,IAAI,MAAM,gDAET;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,QAAQ,CAAC,yBAAyB,CAAC,CAElD;IAED,MAAM;IAIA,WAAW,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EAC3D,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAC7B,EAAE,KAAY,EAAE,MAAM,EAAE,GAAE,iCAAsC;IAQlE,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO;IAIxC;;;;;OAKG;IACH,MAAM,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAChG,wBAAwB,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAAG,+BAA+B,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAQxI,KAAK,CAAC,OAAO,EAAE,8BAA8B,GAAG,8BAA8B;IAY9E;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,wBAAwB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,GAAG,eAAe,GAAG,eAAe,EAAU,GAAG,IAAI;IAMlI;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,wBAAwB,EAAE,GAAG,IAAI;IAOnD,cAAc,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EAC9D,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAC7B,EAAE,KAAY,EAAE,MAAM,EAAE,GAAE,iCAAsC;IAelE;;;;;OAKG;IACH,SAAS,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAOlF,wBAAwB,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAC3E,+BAA+B,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS;CAExF"}
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"}
@@ -1562,10 +1562,12 @@ var ProviderFactoryLocator = class _ProviderFactoryLocator {
1562
1562
  _registry;
1563
1563
  _frozen = false;
1564
1564
  _parent;
1565
- constructor(context, registry = {}) {
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);