@xyo-network/module-factory-locator 2.106.0-rc.5 → 2.107.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/browser/ModuleFactoryLocator.d.cts +0 -27
- package/dist/browser/ModuleFactoryLocator.d.cts.map +1 -1
- package/dist/browser/ModuleFactoryLocator.d.mts +0 -27
- package/dist/browser/ModuleFactoryLocator.d.mts.map +1 -1
- package/dist/browser/ModuleFactoryLocator.d.ts +0 -27
- package/dist/browser/ModuleFactoryLocator.d.ts.map +1 -1
- package/dist/browser/index.cjs +1 -118
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +1 -97
- package/dist/browser/index.js.map +1 -1
- package/dist/neutral/ModuleFactoryLocator.d.cts +0 -27
- package/dist/neutral/ModuleFactoryLocator.d.cts.map +1 -1
- package/dist/neutral/ModuleFactoryLocator.d.mts +0 -27
- package/dist/neutral/ModuleFactoryLocator.d.mts.map +1 -1
- package/dist/neutral/ModuleFactoryLocator.d.ts +0 -27
- package/dist/neutral/ModuleFactoryLocator.d.ts.map +1 -1
- package/dist/neutral/index.cjs +1 -118
- package/dist/neutral/index.cjs.map +1 -1
- package/dist/neutral/index.js +1 -97
- package/dist/neutral/index.js.map +1 -1
- package/dist/node/ModuleFactoryLocator.d.cts +0 -27
- package/dist/node/ModuleFactoryLocator.d.cts.map +1 -1
- package/dist/node/ModuleFactoryLocator.d.mts +0 -27
- package/dist/node/ModuleFactoryLocator.d.mts.map +1 -1
- package/dist/node/ModuleFactoryLocator.d.ts +0 -27
- package/dist/node/ModuleFactoryLocator.d.ts.map +1 -1
- package/dist/node/index.cjs +1 -124
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +1 -97
- package/dist/node/index.js.map +1 -1
- package/package.json +17 -18
|
@@ -1,39 +1,12 @@
|
|
|
1
1
|
import { CreatableModuleFactory, CreatableModuleRegistry, LabeledCreatableModuleFactory, Labels } from '@xyo-network/module-model';
|
|
2
2
|
import { Schema } from '@xyo-network/payload-model';
|
|
3
|
-
/**
|
|
4
|
-
* A class which encapsulates the Service Locator Pattern for Module Factories
|
|
5
|
-
*/
|
|
6
3
|
export declare class ModuleFactoryLocator {
|
|
7
4
|
protected readonly _registry: CreatableModuleRegistry;
|
|
8
5
|
constructor(_registry?: CreatableModuleRegistry);
|
|
9
|
-
/**
|
|
10
|
-
* The current registry for the module factory
|
|
11
|
-
*/
|
|
12
6
|
get registry(): Readonly<CreatableModuleRegistry>;
|
|
13
|
-
/**
|
|
14
|
-
* Locates a module factory that matches the supplied schema and labels
|
|
15
|
-
* @param schema The config schema for the module
|
|
16
|
-
* @param labels The labels for the module factory
|
|
17
|
-
* @returns A module factory that matches the supplied schema and labels or throws if one is not found
|
|
18
|
-
*/
|
|
19
7
|
locate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory;
|
|
20
|
-
/**
|
|
21
|
-
* Registers a single module factory (with optional tags) with the locator
|
|
22
|
-
* @param factory The factory to register
|
|
23
|
-
* @param labels The labels for the module factory
|
|
24
|
-
*/
|
|
25
8
|
register(factory: CreatableModuleFactory, labels?: Labels, primary?: boolean | Schema | Schema[]): this;
|
|
26
|
-
/**
|
|
27
|
-
* Registers multiple module factories with the locator
|
|
28
|
-
* @param factories The factories to register
|
|
29
|
-
*/
|
|
30
9
|
registerMany(factories: CreatableModuleFactory[]): this;
|
|
31
|
-
/**
|
|
32
|
-
* Tries to locate a module factory that matches the supplied schema and labels
|
|
33
|
-
* @param schema The config schema for the module
|
|
34
|
-
* @param labels The labels for the module factory
|
|
35
|
-
* @returns A module factory that matches the supplied schema and labels or undefined
|
|
36
|
-
*/
|
|
37
10
|
tryLocate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory | undefined;
|
|
38
11
|
}
|
|
39
12
|
//# sourceMappingURL=ModuleFactoryLocator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleFactoryLocator.d.ts","sourceRoot":"","sources":["../../src/ModuleFactoryLocator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EAGvB,6BAA6B,EAC7B,MAAM,EAEP,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"ModuleFactoryLocator.d.ts","sourceRoot":"","sources":["../../src/ModuleFactoryLocator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EAGvB,6BAA6B,EAC7B,MAAM,EAEP,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAOnD,qBAAa,oBAAoB;IACnB,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,uBAAuB;gBAAlC,SAAS,GAAE,uBAAsD;IAKhG,IAAI,QAAQ,IAAI,QAAQ,CAAC,uBAAuB,CAAC,CAEhD;IAQD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,6BAA6B;IAY/F,QAAQ,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAU,GAAG,IAAI;IAS9G,YAAY,CAAC,SAAS,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAavD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,6BAA6B,GAAG,SAAS;CAQ/G"}
|
|
@@ -1,39 +1,12 @@
|
|
|
1
1
|
import { CreatableModuleFactory, CreatableModuleRegistry, LabeledCreatableModuleFactory, Labels } from '@xyo-network/module-model';
|
|
2
2
|
import { Schema } from '@xyo-network/payload-model';
|
|
3
|
-
/**
|
|
4
|
-
* A class which encapsulates the Service Locator Pattern for Module Factories
|
|
5
|
-
*/
|
|
6
3
|
export declare class ModuleFactoryLocator {
|
|
7
4
|
protected readonly _registry: CreatableModuleRegistry;
|
|
8
5
|
constructor(_registry?: CreatableModuleRegistry);
|
|
9
|
-
/**
|
|
10
|
-
* The current registry for the module factory
|
|
11
|
-
*/
|
|
12
6
|
get registry(): Readonly<CreatableModuleRegistry>;
|
|
13
|
-
/**
|
|
14
|
-
* Locates a module factory that matches the supplied schema and labels
|
|
15
|
-
* @param schema The config schema for the module
|
|
16
|
-
* @param labels The labels for the module factory
|
|
17
|
-
* @returns A module factory that matches the supplied schema and labels or throws if one is not found
|
|
18
|
-
*/
|
|
19
7
|
locate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory;
|
|
20
|
-
/**
|
|
21
|
-
* Registers a single module factory (with optional tags) with the locator
|
|
22
|
-
* @param factory The factory to register
|
|
23
|
-
* @param labels The labels for the module factory
|
|
24
|
-
*/
|
|
25
8
|
register(factory: CreatableModuleFactory, labels?: Labels, primary?: boolean | Schema | Schema[]): this;
|
|
26
|
-
/**
|
|
27
|
-
* Registers multiple module factories with the locator
|
|
28
|
-
* @param factories The factories to register
|
|
29
|
-
*/
|
|
30
9
|
registerMany(factories: CreatableModuleFactory[]): this;
|
|
31
|
-
/**
|
|
32
|
-
* Tries to locate a module factory that matches the supplied schema and labels
|
|
33
|
-
* @param schema The config schema for the module
|
|
34
|
-
* @param labels The labels for the module factory
|
|
35
|
-
* @returns A module factory that matches the supplied schema and labels or undefined
|
|
36
|
-
*/
|
|
37
10
|
tryLocate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory | undefined;
|
|
38
11
|
}
|
|
39
12
|
//# sourceMappingURL=ModuleFactoryLocator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleFactoryLocator.d.ts","sourceRoot":"","sources":["../../src/ModuleFactoryLocator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EAGvB,6BAA6B,EAC7B,MAAM,EAEP,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"ModuleFactoryLocator.d.ts","sourceRoot":"","sources":["../../src/ModuleFactoryLocator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EAGvB,6BAA6B,EAC7B,MAAM,EAEP,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAOnD,qBAAa,oBAAoB;IACnB,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,uBAAuB;gBAAlC,SAAS,GAAE,uBAAsD;IAKhG,IAAI,QAAQ,IAAI,QAAQ,CAAC,uBAAuB,CAAC,CAEhD;IAQD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,6BAA6B;IAY/F,QAAQ,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAU,GAAG,IAAI;IAS9G,YAAY,CAAC,SAAS,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAavD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,6BAA6B,GAAG,SAAS;CAQ/G"}
|
|
@@ -1,39 +1,12 @@
|
|
|
1
1
|
import { CreatableModuleFactory, CreatableModuleRegistry, LabeledCreatableModuleFactory, Labels } from '@xyo-network/module-model';
|
|
2
2
|
import { Schema } from '@xyo-network/payload-model';
|
|
3
|
-
/**
|
|
4
|
-
* A class which encapsulates the Service Locator Pattern for Module Factories
|
|
5
|
-
*/
|
|
6
3
|
export declare class ModuleFactoryLocator {
|
|
7
4
|
protected readonly _registry: CreatableModuleRegistry;
|
|
8
5
|
constructor(_registry?: CreatableModuleRegistry);
|
|
9
|
-
/**
|
|
10
|
-
* The current registry for the module factory
|
|
11
|
-
*/
|
|
12
6
|
get registry(): Readonly<CreatableModuleRegistry>;
|
|
13
|
-
/**
|
|
14
|
-
* Locates a module factory that matches the supplied schema and labels
|
|
15
|
-
* @param schema The config schema for the module
|
|
16
|
-
* @param labels The labels for the module factory
|
|
17
|
-
* @returns A module factory that matches the supplied schema and labels or throws if one is not found
|
|
18
|
-
*/
|
|
19
7
|
locate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory;
|
|
20
|
-
/**
|
|
21
|
-
* Registers a single module factory (with optional tags) with the locator
|
|
22
|
-
* @param factory The factory to register
|
|
23
|
-
* @param labels The labels for the module factory
|
|
24
|
-
*/
|
|
25
8
|
register(factory: CreatableModuleFactory, labels?: Labels, primary?: boolean | Schema | Schema[]): this;
|
|
26
|
-
/**
|
|
27
|
-
* Registers multiple module factories with the locator
|
|
28
|
-
* @param factories The factories to register
|
|
29
|
-
*/
|
|
30
9
|
registerMany(factories: CreatableModuleFactory[]): this;
|
|
31
|
-
/**
|
|
32
|
-
* Tries to locate a module factory that matches the supplied schema and labels
|
|
33
|
-
* @param schema The config schema for the module
|
|
34
|
-
* @param labels The labels for the module factory
|
|
35
|
-
* @returns A module factory that matches the supplied schema and labels or undefined
|
|
36
|
-
*/
|
|
37
10
|
tryLocate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory | undefined;
|
|
38
11
|
}
|
|
39
12
|
//# sourceMappingURL=ModuleFactoryLocator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleFactoryLocator.d.ts","sourceRoot":"","sources":["../../src/ModuleFactoryLocator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EAGvB,6BAA6B,EAC7B,MAAM,EAEP,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"ModuleFactoryLocator.d.ts","sourceRoot":"","sources":["../../src/ModuleFactoryLocator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EAGvB,6BAA6B,EAC7B,MAAM,EAEP,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAOnD,qBAAa,oBAAoB;IACnB,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,uBAAuB;gBAAlC,SAAS,GAAE,uBAAsD;IAKhG,IAAI,QAAQ,IAAI,QAAQ,CAAC,uBAAuB,CAAC,CAEhD;IAQD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,6BAA6B;IAY/F,QAAQ,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAU,GAAG,IAAI;IAS9G,YAAY,CAAC,SAAS,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAavD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,6BAA6B,GAAG,SAAS;CAQ/G"}
|
package/dist/browser/index.cjs
CHANGED
|
@@ -1,119 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
-
|
|
21
|
-
// src/index.ts
|
|
22
|
-
var src_exports = {};
|
|
23
|
-
__export(src_exports, {
|
|
24
|
-
ModuleFactoryLocator: () => ModuleFactoryLocator,
|
|
25
|
-
standardCreatableFactories: () => standardCreatableFactories,
|
|
26
|
-
standardCreatableFactoriesList: () => standardCreatableFactoriesList
|
|
27
|
-
});
|
|
28
|
-
module.exports = __toCommonJS(src_exports);
|
|
29
|
-
|
|
30
|
-
// src/ModuleFactoryLocator.ts
|
|
31
|
-
var import_assert = require("@xylabs/assert");
|
|
32
|
-
var import_module_model2 = require("@xyo-network/module-model");
|
|
33
|
-
|
|
34
|
-
// src/standardCreatableFactories.ts
|
|
35
|
-
var import_archivist_memory = require("@xyo-network/archivist-memory");
|
|
36
|
-
var import_archivist_view = require("@xyo-network/archivist-view");
|
|
37
|
-
var import_bridge_http = require("@xyo-network/bridge-http");
|
|
38
|
-
var import_diviner_boundwitness_memory = require("@xyo-network/diviner-boundwitness-memory");
|
|
39
|
-
var import_diviner_identity = require("@xyo-network/diviner-identity");
|
|
40
|
-
var import_diviner_payload_memory = require("@xyo-network/diviner-payload-memory");
|
|
41
|
-
var import_module_model = require("@xyo-network/module-model");
|
|
42
|
-
var import_node_memory = require("@xyo-network/node-memory");
|
|
43
|
-
var import_node_view = require("@xyo-network/node-view");
|
|
44
|
-
var import_sentinel_memory = require("@xyo-network/sentinel-memory");
|
|
45
|
-
var import_witness_adhoc = require("@xyo-network/witness-adhoc");
|
|
46
|
-
var standardCreatableFactoriesList = [
|
|
47
|
-
import_bridge_http.HttpBridge,
|
|
48
|
-
import_archivist_view.ViewArchivist,
|
|
49
|
-
import_node_view.ViewNode,
|
|
50
|
-
import_witness_adhoc.AdhocWitness,
|
|
51
|
-
import_diviner_payload_memory.MemoryPayloadDiviner,
|
|
52
|
-
import_diviner_boundwitness_memory.MemoryBoundWitnessDiviner,
|
|
53
|
-
import_diviner_identity.IdentityDiviner,
|
|
54
|
-
import_archivist_memory.MemoryArchivist,
|
|
55
|
-
import_archivist_memory.MemoryArchivist,
|
|
56
|
-
import_node_memory.MemoryNode,
|
|
57
|
-
import_sentinel_memory.MemorySentinel
|
|
58
|
-
];
|
|
59
|
-
var standardCreatableFactories = /* @__PURE__ */ __name(() => {
|
|
60
|
-
return (0, import_module_model.registerCreatableModuleFactories)(standardCreatableFactoriesList, {}, true);
|
|
61
|
-
}, "standardCreatableFactories");
|
|
62
|
-
|
|
63
|
-
// src/ModuleFactoryLocator.ts
|
|
64
|
-
var ModuleFactoryLocator = class {
|
|
65
|
-
static {
|
|
66
|
-
__name(this, "ModuleFactoryLocator");
|
|
67
|
-
}
|
|
68
|
-
_registry;
|
|
69
|
-
constructor(_registry = standardCreatableFactories()) {
|
|
70
|
-
this._registry = _registry;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* The current registry for the module factory
|
|
74
|
-
*/
|
|
75
|
-
get registry() {
|
|
76
|
-
return this._registry;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Locates a module factory that matches the supplied schema and labels
|
|
80
|
-
* @param schema The config schema for the module
|
|
81
|
-
* @param labels The labels for the module factory
|
|
82
|
-
* @returns A module factory that matches the supplied schema and labels or throws if one is not found
|
|
83
|
-
*/
|
|
84
|
-
locate(schema, labels) {
|
|
85
|
-
return (0, import_assert.assertEx)(this.tryLocate(schema, labels), () => `No module factory for the supplied ${`config schema [${schema}]`}${labels ? ` & labels [${JSON.stringify(labels)}]` : ""} registered`);
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Registers a single module factory (with optional tags) with the locator
|
|
89
|
-
* @param factory The factory to register
|
|
90
|
-
* @param labels The labels for the module factory
|
|
91
|
-
*/
|
|
92
|
-
register(factory, labels, primary = false) {
|
|
93
|
-
(0, import_module_model2.registerCreatableModuleFactory)(this._registry, factory, labels, primary);
|
|
94
|
-
return this;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Registers multiple module factories with the locator
|
|
98
|
-
* @param factories The factories to register
|
|
99
|
-
*/
|
|
100
|
-
registerMany(factories) {
|
|
101
|
-
for (const factory of factories) {
|
|
102
|
-
this.register(factory);
|
|
103
|
-
}
|
|
104
|
-
return this;
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Tries to locate a module factory that matches the supplied schema and labels
|
|
108
|
-
* @param schema The config schema for the module
|
|
109
|
-
* @param labels The labels for the module factory
|
|
110
|
-
* @returns A module factory that matches the supplied schema and labels or undefined
|
|
111
|
-
*/
|
|
112
|
-
tryLocate(schema, labels) {
|
|
113
|
-
return labels ? (
|
|
114
|
-
// Find the first factory that has labels and has all the labels provided
|
|
115
|
-
this._registry[schema]?.filter(import_module_model2.hasLabels).find((factory) => (0, import_module_model2.hasAllLabels)(factory?.labels, labels))
|
|
116
|
-
) : this._registry[schema]?.[0];
|
|
117
|
-
}
|
|
118
|
-
};
|
|
1
|
+
"use strict";var m=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var a=(e,r)=>m(e,"name",{value:r,configurable:!0});var L=(e,r)=>{for(var t in r)m(e,t,{get:r[t],enumerable:!0})},N=(e,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of A(r))!F.call(e,s)&&s!==t&&m(e,s,{get:()=>r[s],enumerable:!(i=C(r,s))||i.enumerable});return e};var $=e=>N(m({},"__esModule",{value:!0}),e);var D={};L(D,{ModuleFactoryLocator:()=>p,standardCreatableFactories:()=>n,standardCreatableFactoriesList:()=>_});module.exports=$(D);var v=require("@xylabs/assert"),o=require("@xyo-network/module-model");var f=require("@xyo-network/archivist-memory"),y=require("@xyo-network/archivist-view"),d=require("@xyo-network/bridge-http"),c=require("@xyo-network/diviner-boundwitness-memory"),g=require("@xyo-network/diviner-identity"),l=require("@xyo-network/diviner-payload-memory"),h=require("@xyo-network/module-model"),u=require("@xyo-network/node-memory"),M=require("@xyo-network/node-view"),b=require("@xyo-network/sentinel-memory"),x=require("@xyo-network/witness-adhoc");var _=[d.HttpBridge,y.ViewArchivist,M.ViewNode,x.AdhocWitness,l.MemoryPayloadDiviner,c.MemoryBoundWitnessDiviner,g.IdentityDiviner,f.MemoryArchivist,f.MemoryArchivist,u.MemoryNode,b.MemorySentinel],n=a(()=>(0,h.registerCreatableModuleFactories)(_,{},!0),"standardCreatableFactories");var p=class{static{a(this,"ModuleFactoryLocator")}_registry;constructor(r=n()){this._registry=r}get registry(){return this._registry}locate(r,t){return(0,v.assertEx)(this.tryLocate(r,t),()=>`No module factory for the supplied ${`config schema [${r}]`}${t?` & labels [${JSON.stringify(t)}]`:""} registered`)}register(r,t,i=!1){return(0,o.registerCreatableModuleFactory)(this._registry,r,t,i),this}registerMany(r){for(let t of r)this.register(t);return this}tryLocate(r,t){return t?this._registry[r]?.filter(o.hasLabels).find(i=>(0,o.hasAllLabels)(i?.labels,t)):this._registry[r]?.[0]}};
|
|
119
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/ModuleFactoryLocator.ts","../../src/standardCreatableFactories.ts"],"sourcesContent":["export * from './ModuleFactoryLocator'\nexport * from './standardCreatableFactories'\n","import { assertEx } from '@xylabs/assert'\nimport {\n CreatableModuleFactory,\n CreatableModuleRegistry,\n hasAllLabels,\n hasLabels,\n LabeledCreatableModuleFactory,\n Labels,\n registerCreatableModuleFactory,\n} from '@xyo-network/module-model'\nimport { Schema } from '@xyo-network/payload-model'\n\nimport { standardCreatableFactories } from './standardCreatableFactories'\n\n/**\n * A class which encapsulates the Service Locator Pattern for Module Factories\n */\nexport class ModuleFactoryLocator {\n constructor(protected readonly _registry: CreatableModuleRegistry = standardCreatableFactories()) {}\n\n /**\n * The current registry for the module factory\n */\n get registry(): Readonly<CreatableModuleRegistry> {\n return this._registry\n }\n\n /**\n * Locates a module factory that matches the supplied schema and labels\n * @param schema The config schema for the module\n * @param labels The labels for the module factory\n * @returns A module factory that matches the supplied schema and labels or throws if one is not found\n */\n locate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory {\n return assertEx(\n this.tryLocate(schema, labels),\n () => `No module factory for the supplied ${`config schema [${schema}]`}${labels ? ` & labels [${JSON.stringify(labels)}]` : ''} registered`,\n )\n }\n\n /**\n * Registers a single module factory (with optional tags) with the locator\n * @param factory The factory to register\n * @param labels The labels for the module factory\n */\n register(factory: CreatableModuleFactory, labels?: Labels, primary: boolean | Schema | Schema[] = false): this {\n registerCreatableModuleFactory(this._registry, factory, labels, primary)\n return this\n }\n\n /**\n * Registers multiple module factories with the locator\n * @param factories The factories to register\n */\n registerMany(factories: CreatableModuleFactory[]): this {\n for (const factory of factories) {\n this.register(factory)\n }\n return this\n }\n\n /**\n * Tries to locate a module factory that matches the supplied schema and labels\n * @param schema The config schema for the module\n * @param labels The labels for the module factory\n * @returns A module factory that matches the supplied schema and labels or undefined\n */\n tryLocate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory | undefined {\n // If labels were provided\n return labels ?\n // Find the first factory that has labels and has all the labels provided\n this._registry[schema]?.filter(hasLabels).find((factory) => hasAllLabels(factory?.labels, labels))\n : // Otherwise, return the first factory\n this._registry[schema]?.[0]\n }\n}\n","import { MemoryArchivist } from '@xyo-network/archivist-memory'\nimport { ViewArchivist } from '@xyo-network/archivist-view'\nimport { HttpBridge } from '@xyo-network/bridge-http'\nimport { MemoryBoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-memory'\nimport { IdentityDiviner } from '@xyo-network/diviner-identity'\nimport { MemoryPayloadDiviner } from '@xyo-network/diviner-payload-memory'\nimport { CreatableModuleFactory, LabeledCreatableModuleFactory, registerCreatableModuleFactories } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { ViewNode } from '@xyo-network/node-view'\nimport { MemorySentinel } from '@xyo-network/sentinel-memory'\nimport { AdhocWitness } from '@xyo-network/witness-adhoc'\n\n//order matters in this array. later items will register themselves as primary for schemas shared with earlier items\nexport const standardCreatableFactoriesList: (CreatableModuleFactory | LabeledCreatableModuleFactory)[] = [\n HttpBridge,\n ViewArchivist,\n ViewNode,\n AdhocWitness,\n MemoryPayloadDiviner,\n MemoryBoundWitnessDiviner,\n IdentityDiviner,\n MemoryArchivist,\n MemoryArchivist,\n MemoryNode,\n MemorySentinel,\n]\n\nexport const standardCreatableFactories = () => {\n return registerCreatableModuleFactories(standardCreatableFactoriesList, {}, true)\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/ModuleFactoryLocator.ts","../../src/standardCreatableFactories.ts"],"sourcesContent":["export * from './ModuleFactoryLocator'\nexport * from './standardCreatableFactories'\n","import { assertEx } from '@xylabs/assert'\nimport {\n CreatableModuleFactory,\n CreatableModuleRegistry,\n hasAllLabels,\n hasLabels,\n LabeledCreatableModuleFactory,\n Labels,\n registerCreatableModuleFactory,\n} from '@xyo-network/module-model'\nimport { Schema } from '@xyo-network/payload-model'\n\nimport { standardCreatableFactories } from './standardCreatableFactories'\n\n/**\n * A class which encapsulates the Service Locator Pattern for Module Factories\n */\nexport class ModuleFactoryLocator {\n constructor(protected readonly _registry: CreatableModuleRegistry = standardCreatableFactories()) {}\n\n /**\n * The current registry for the module factory\n */\n get registry(): Readonly<CreatableModuleRegistry> {\n return this._registry\n }\n\n /**\n * Locates a module factory that matches the supplied schema and labels\n * @param schema The config schema for the module\n * @param labels The labels for the module factory\n * @returns A module factory that matches the supplied schema and labels or throws if one is not found\n */\n locate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory {\n return assertEx(\n this.tryLocate(schema, labels),\n () => `No module factory for the supplied ${`config schema [${schema}]`}${labels ? ` & labels [${JSON.stringify(labels)}]` : ''} registered`,\n )\n }\n\n /**\n * Registers a single module factory (with optional tags) with the locator\n * @param factory The factory to register\n * @param labels The labels for the module factory\n */\n register(factory: CreatableModuleFactory, labels?: Labels, primary: boolean | Schema | Schema[] = false): this {\n registerCreatableModuleFactory(this._registry, factory, labels, primary)\n return this\n }\n\n /**\n * Registers multiple module factories with the locator\n * @param factories The factories to register\n */\n registerMany(factories: CreatableModuleFactory[]): this {\n for (const factory of factories) {\n this.register(factory)\n }\n return this\n }\n\n /**\n * Tries to locate a module factory that matches the supplied schema and labels\n * @param schema The config schema for the module\n * @param labels The labels for the module factory\n * @returns A module factory that matches the supplied schema and labels or undefined\n */\n tryLocate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory | undefined {\n // If labels were provided\n return labels ?\n // Find the first factory that has labels and has all the labels provided\n this._registry[schema]?.filter(hasLabels).find((factory) => hasAllLabels(factory?.labels, labels))\n : // Otherwise, return the first factory\n this._registry[schema]?.[0]\n }\n}\n","import { MemoryArchivist } from '@xyo-network/archivist-memory'\nimport { ViewArchivist } from '@xyo-network/archivist-view'\nimport { HttpBridge } from '@xyo-network/bridge-http'\nimport { MemoryBoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-memory'\nimport { IdentityDiviner } from '@xyo-network/diviner-identity'\nimport { MemoryPayloadDiviner } from '@xyo-network/diviner-payload-memory'\nimport { CreatableModuleFactory, LabeledCreatableModuleFactory, registerCreatableModuleFactories } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { ViewNode } from '@xyo-network/node-view'\nimport { MemorySentinel } from '@xyo-network/sentinel-memory'\nimport { AdhocWitness } from '@xyo-network/witness-adhoc'\n\n//order matters in this array. later items will register themselves as primary for schemas shared with earlier items\nexport const standardCreatableFactoriesList: (CreatableModuleFactory | LabeledCreatableModuleFactory)[] = [\n HttpBridge,\n ViewArchivist,\n ViewNode,\n AdhocWitness,\n MemoryPayloadDiviner,\n MemoryBoundWitnessDiviner,\n IdentityDiviner,\n MemoryArchivist,\n MemoryArchivist,\n MemoryNode,\n MemorySentinel,\n]\n\nexport const standardCreatableFactories = () => {\n return registerCreatableModuleFactories(standardCreatableFactoriesList, {}, true)\n}\n"],"mappings":"4dAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,EAAA,+BAAAC,EAAA,mCAAAC,IAAA,eAAAC,EAAAL,GCAA,IAAAM,EAAyB,0BACzBC,EAQO,qCCTP,IAAAC,EAAgC,yCAChCC,EAA8B,uCAC9BC,EAA2B,oCAC3BC,EAA0C,oDAC1CC,EAAgC,yCAChCC,EAAqC,+CACrCC,EAAwG,qCACxGC,EAA2B,oCAC3BC,EAAyB,kCACzBC,EAA+B,wCAC/BC,EAA6B,sCAGtB,IAAMC,EAA6F,CACxGC,aACAC,gBACAC,WACAC,eACAC,uBACAC,4BACAC,kBACAC,kBACAA,kBACAC,aACAC,kBAGWC,EAA6BC,EAAA,OACjCC,oCAAiCb,EAAgC,CAAC,EAAG,EAAA,EADpC,8BDVnC,IAAMc,EAAN,KAAMA,CAjBb,MAiBaA,CAAAA,EAAAA,uCACXC,YAA+BC,EAAqCC,EAAAA,EAA8B,MAAnED,UAAAA,CAAoE,CAKnG,IAAIE,UAA8C,CAChD,OAAO,KAAKF,SACd,CAQAG,OAAOC,EAAgBC,EAAyE,CAC9F,SAAOC,YACL,KAAKC,UAAUH,EAAQC,CAAAA,EACvB,IAAM,sCAAsC,kBAAkBD,CAAAA,GAAS,GAAGC,EAAS,cAAcG,KAAKC,UAAUJ,CAAAA,CAAAA,IAAa,EAAA,aAAe,CAEhJ,CAOAK,SAASC,EAAiCN,EAAiBO,EAAuC,GAAa,CAC7GC,2CAA+B,KAAKb,UAAWW,EAASN,EAAQO,CAAAA,EACzD,IACT,CAMAE,aAAaC,EAA2C,CACtD,QAAWJ,KAAWI,EACpB,KAAKL,SAASC,CAAAA,EAEhB,OAAO,IACT,CAQAJ,UAAUH,EAAgBC,EAAqF,CAE7G,OAAOA,EAEH,KAAKL,UAAUI,CAAAA,GAASY,OAAOC,WAAAA,EAAWC,KAAMP,MAAYQ,gBAAaR,GAASN,OAAQA,CAAAA,CAAAA,EAE1F,KAAKL,UAAUI,CAAAA,IAAU,CAAA,CAC/B,CACF","names":["src_exports","__export","ModuleFactoryLocator","standardCreatableFactories","standardCreatableFactoriesList","__toCommonJS","import_assert","import_module_model","import_archivist_memory","import_archivist_view","import_bridge_http","import_diviner_boundwitness_memory","import_diviner_identity","import_diviner_payload_memory","import_module_model","import_node_memory","import_node_view","import_sentinel_memory","import_witness_adhoc","standardCreatableFactoriesList","HttpBridge","ViewArchivist","ViewNode","AdhocWitness","MemoryPayloadDiviner","MemoryBoundWitnessDiviner","IdentityDiviner","MemoryArchivist","MemoryNode","MemorySentinel","standardCreatableFactories","__name","registerCreatableModuleFactories","ModuleFactoryLocator","constructor","_registry","standardCreatableFactories","registry","locate","schema","labels","assertEx","tryLocate","JSON","stringify","register","factory","primary","registerCreatableModuleFactory","registerMany","factories","filter","hasLabels","find","hasAllLabels"]}
|
package/dist/browser/index.js
CHANGED
|
@@ -1,98 +1,2 @@
|
|
|
1
|
-
var
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
|
-
// src/ModuleFactoryLocator.ts
|
|
5
|
-
import { assertEx } from "@xylabs/assert";
|
|
6
|
-
import { hasAllLabels, hasLabels, registerCreatableModuleFactory } from "@xyo-network/module-model";
|
|
7
|
-
|
|
8
|
-
// src/standardCreatableFactories.ts
|
|
9
|
-
import { MemoryArchivist } from "@xyo-network/archivist-memory";
|
|
10
|
-
import { ViewArchivist } from "@xyo-network/archivist-view";
|
|
11
|
-
import { HttpBridge } from "@xyo-network/bridge-http";
|
|
12
|
-
import { MemoryBoundWitnessDiviner } from "@xyo-network/diviner-boundwitness-memory";
|
|
13
|
-
import { IdentityDiviner } from "@xyo-network/diviner-identity";
|
|
14
|
-
import { MemoryPayloadDiviner } from "@xyo-network/diviner-payload-memory";
|
|
15
|
-
import { registerCreatableModuleFactories } from "@xyo-network/module-model";
|
|
16
|
-
import { MemoryNode } from "@xyo-network/node-memory";
|
|
17
|
-
import { ViewNode } from "@xyo-network/node-view";
|
|
18
|
-
import { MemorySentinel } from "@xyo-network/sentinel-memory";
|
|
19
|
-
import { AdhocWitness } from "@xyo-network/witness-adhoc";
|
|
20
|
-
var standardCreatableFactoriesList = [
|
|
21
|
-
HttpBridge,
|
|
22
|
-
ViewArchivist,
|
|
23
|
-
ViewNode,
|
|
24
|
-
AdhocWitness,
|
|
25
|
-
MemoryPayloadDiviner,
|
|
26
|
-
MemoryBoundWitnessDiviner,
|
|
27
|
-
IdentityDiviner,
|
|
28
|
-
MemoryArchivist,
|
|
29
|
-
MemoryArchivist,
|
|
30
|
-
MemoryNode,
|
|
31
|
-
MemorySentinel
|
|
32
|
-
];
|
|
33
|
-
var standardCreatableFactories = /* @__PURE__ */ __name(() => {
|
|
34
|
-
return registerCreatableModuleFactories(standardCreatableFactoriesList, {}, true);
|
|
35
|
-
}, "standardCreatableFactories");
|
|
36
|
-
|
|
37
|
-
// src/ModuleFactoryLocator.ts
|
|
38
|
-
var ModuleFactoryLocator = class {
|
|
39
|
-
static {
|
|
40
|
-
__name(this, "ModuleFactoryLocator");
|
|
41
|
-
}
|
|
42
|
-
_registry;
|
|
43
|
-
constructor(_registry = standardCreatableFactories()) {
|
|
44
|
-
this._registry = _registry;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* The current registry for the module factory
|
|
48
|
-
*/
|
|
49
|
-
get registry() {
|
|
50
|
-
return this._registry;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Locates a module factory that matches the supplied schema and labels
|
|
54
|
-
* @param schema The config schema for the module
|
|
55
|
-
* @param labels The labels for the module factory
|
|
56
|
-
* @returns A module factory that matches the supplied schema and labels or throws if one is not found
|
|
57
|
-
*/
|
|
58
|
-
locate(schema, labels) {
|
|
59
|
-
return assertEx(this.tryLocate(schema, labels), () => `No module factory for the supplied ${`config schema [${schema}]`}${labels ? ` & labels [${JSON.stringify(labels)}]` : ""} registered`);
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Registers a single module factory (with optional tags) with the locator
|
|
63
|
-
* @param factory The factory to register
|
|
64
|
-
* @param labels The labels for the module factory
|
|
65
|
-
*/
|
|
66
|
-
register(factory, labels, primary = false) {
|
|
67
|
-
registerCreatableModuleFactory(this._registry, factory, labels, primary);
|
|
68
|
-
return this;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Registers multiple module factories with the locator
|
|
72
|
-
* @param factories The factories to register
|
|
73
|
-
*/
|
|
74
|
-
registerMany(factories) {
|
|
75
|
-
for (const factory of factories) {
|
|
76
|
-
this.register(factory);
|
|
77
|
-
}
|
|
78
|
-
return this;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Tries to locate a module factory that matches the supplied schema and labels
|
|
82
|
-
* @param schema The config schema for the module
|
|
83
|
-
* @param labels The labels for the module factory
|
|
84
|
-
* @returns A module factory that matches the supplied schema and labels or undefined
|
|
85
|
-
*/
|
|
86
|
-
tryLocate(schema, labels) {
|
|
87
|
-
return labels ? (
|
|
88
|
-
// Find the first factory that has labels and has all the labels provided
|
|
89
|
-
this._registry[schema]?.filter(hasLabels).find((factory) => hasAllLabels(factory?.labels, labels))
|
|
90
|
-
) : this._registry[schema]?.[0];
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
export {
|
|
94
|
-
ModuleFactoryLocator,
|
|
95
|
-
standardCreatableFactories,
|
|
96
|
-
standardCreatableFactoriesList
|
|
97
|
-
};
|
|
1
|
+
var f=Object.defineProperty;var e=(o,r)=>f(o,"name",{value:r,configurable:!0});import{assertEx as x}from"@xylabs/assert";import{hasAllLabels as _,hasLabels as v,registerCreatableModuleFactory as C}from"@xyo-network/module-model";import{MemoryArchivist as s}from"@xyo-network/archivist-memory";import{ViewArchivist as n}from"@xyo-network/archivist-view";import{HttpBridge as p}from"@xyo-network/bridge-http";import{MemoryBoundWitnessDiviner as y}from"@xyo-network/diviner-boundwitness-memory";import{IdentityDiviner as d}from"@xyo-network/diviner-identity";import{MemoryPayloadDiviner as c}from"@xyo-network/diviner-payload-memory";import{registerCreatableModuleFactories as g}from"@xyo-network/module-model";import{MemoryNode as l}from"@xyo-network/node-memory";import{ViewNode as h}from"@xyo-network/node-view";import{MemorySentinel as u}from"@xyo-network/sentinel-memory";import{AdhocWitness as M}from"@xyo-network/witness-adhoc";var b=[p,n,h,M,c,y,d,s,s,l,u],m=e(()=>g(b,{},!0),"standardCreatableFactories");var a=class{static{e(this,"ModuleFactoryLocator")}_registry;constructor(r=m()){this._registry=r}get registry(){return this._registry}locate(r,t){return x(this.tryLocate(r,t),()=>`No module factory for the supplied ${`config schema [${r}]`}${t?` & labels [${JSON.stringify(t)}]`:""} registered`)}register(r,t,i=!1){return C(this._registry,r,t,i),this}registerMany(r){for(let t of r)this.register(t);return this}tryLocate(r,t){return t?this._registry[r]?.filter(v).find(i=>_(i?.labels,t)):this._registry[r]?.[0]}};export{a as ModuleFactoryLocator,m as standardCreatableFactories,b as standardCreatableFactoriesList};
|
|
98
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ModuleFactoryLocator.ts","../../src/standardCreatableFactories.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport {\n CreatableModuleFactory,\n CreatableModuleRegistry,\n hasAllLabels,\n hasLabels,\n LabeledCreatableModuleFactory,\n Labels,\n registerCreatableModuleFactory,\n} from '@xyo-network/module-model'\nimport { Schema } from '@xyo-network/payload-model'\n\nimport { standardCreatableFactories } from './standardCreatableFactories'\n\n/**\n * A class which encapsulates the Service Locator Pattern for Module Factories\n */\nexport class ModuleFactoryLocator {\n constructor(protected readonly _registry: CreatableModuleRegistry = standardCreatableFactories()) {}\n\n /**\n * The current registry for the module factory\n */\n get registry(): Readonly<CreatableModuleRegistry> {\n return this._registry\n }\n\n /**\n * Locates a module factory that matches the supplied schema and labels\n * @param schema The config schema for the module\n * @param labels The labels for the module factory\n * @returns A module factory that matches the supplied schema and labels or throws if one is not found\n */\n locate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory {\n return assertEx(\n this.tryLocate(schema, labels),\n () => `No module factory for the supplied ${`config schema [${schema}]`}${labels ? ` & labels [${JSON.stringify(labels)}]` : ''} registered`,\n )\n }\n\n /**\n * Registers a single module factory (with optional tags) with the locator\n * @param factory The factory to register\n * @param labels The labels for the module factory\n */\n register(factory: CreatableModuleFactory, labels?: Labels, primary: boolean | Schema | Schema[] = false): this {\n registerCreatableModuleFactory(this._registry, factory, labels, primary)\n return this\n }\n\n /**\n * Registers multiple module factories with the locator\n * @param factories The factories to register\n */\n registerMany(factories: CreatableModuleFactory[]): this {\n for (const factory of factories) {\n this.register(factory)\n }\n return this\n }\n\n /**\n * Tries to locate a module factory that matches the supplied schema and labels\n * @param schema The config schema for the module\n * @param labels The labels for the module factory\n * @returns A module factory that matches the supplied schema and labels or undefined\n */\n tryLocate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory | undefined {\n // If labels were provided\n return labels ?\n // Find the first factory that has labels and has all the labels provided\n this._registry[schema]?.filter(hasLabels).find((factory) => hasAllLabels(factory?.labels, labels))\n : // Otherwise, return the first factory\n this._registry[schema]?.[0]\n }\n}\n","import { MemoryArchivist } from '@xyo-network/archivist-memory'\nimport { ViewArchivist } from '@xyo-network/archivist-view'\nimport { HttpBridge } from '@xyo-network/bridge-http'\nimport { MemoryBoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-memory'\nimport { IdentityDiviner } from '@xyo-network/diviner-identity'\nimport { MemoryPayloadDiviner } from '@xyo-network/diviner-payload-memory'\nimport { CreatableModuleFactory, LabeledCreatableModuleFactory, registerCreatableModuleFactories } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { ViewNode } from '@xyo-network/node-view'\nimport { MemorySentinel } from '@xyo-network/sentinel-memory'\nimport { AdhocWitness } from '@xyo-network/witness-adhoc'\n\n//order matters in this array. later items will register themselves as primary for schemas shared with earlier items\nexport const standardCreatableFactoriesList: (CreatableModuleFactory | LabeledCreatableModuleFactory)[] = [\n HttpBridge,\n ViewArchivist,\n ViewNode,\n AdhocWitness,\n MemoryPayloadDiviner,\n MemoryBoundWitnessDiviner,\n IdentityDiviner,\n MemoryArchivist,\n MemoryArchivist,\n MemoryNode,\n MemorySentinel,\n]\n\nexport const standardCreatableFactories = () => {\n return registerCreatableModuleFactories(standardCreatableFactoriesList, {}, true)\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/ModuleFactoryLocator.ts","../../src/standardCreatableFactories.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport {\n CreatableModuleFactory,\n CreatableModuleRegistry,\n hasAllLabels,\n hasLabels,\n LabeledCreatableModuleFactory,\n Labels,\n registerCreatableModuleFactory,\n} from '@xyo-network/module-model'\nimport { Schema } from '@xyo-network/payload-model'\n\nimport { standardCreatableFactories } from './standardCreatableFactories'\n\n/**\n * A class which encapsulates the Service Locator Pattern for Module Factories\n */\nexport class ModuleFactoryLocator {\n constructor(protected readonly _registry: CreatableModuleRegistry = standardCreatableFactories()) {}\n\n /**\n * The current registry for the module factory\n */\n get registry(): Readonly<CreatableModuleRegistry> {\n return this._registry\n }\n\n /**\n * Locates a module factory that matches the supplied schema and labels\n * @param schema The config schema for the module\n * @param labels The labels for the module factory\n * @returns A module factory that matches the supplied schema and labels or throws if one is not found\n */\n locate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory {\n return assertEx(\n this.tryLocate(schema, labels),\n () => `No module factory for the supplied ${`config schema [${schema}]`}${labels ? ` & labels [${JSON.stringify(labels)}]` : ''} registered`,\n )\n }\n\n /**\n * Registers a single module factory (with optional tags) with the locator\n * @param factory The factory to register\n * @param labels The labels for the module factory\n */\n register(factory: CreatableModuleFactory, labels?: Labels, primary: boolean | Schema | Schema[] = false): this {\n registerCreatableModuleFactory(this._registry, factory, labels, primary)\n return this\n }\n\n /**\n * Registers multiple module factories with the locator\n * @param factories The factories to register\n */\n registerMany(factories: CreatableModuleFactory[]): this {\n for (const factory of factories) {\n this.register(factory)\n }\n return this\n }\n\n /**\n * Tries to locate a module factory that matches the supplied schema and labels\n * @param schema The config schema for the module\n * @param labels The labels for the module factory\n * @returns A module factory that matches the supplied schema and labels or undefined\n */\n tryLocate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory | undefined {\n // If labels were provided\n return labels ?\n // Find the first factory that has labels and has all the labels provided\n this._registry[schema]?.filter(hasLabels).find((factory) => hasAllLabels(factory?.labels, labels))\n : // Otherwise, return the first factory\n this._registry[schema]?.[0]\n }\n}\n","import { MemoryArchivist } from '@xyo-network/archivist-memory'\nimport { ViewArchivist } from '@xyo-network/archivist-view'\nimport { HttpBridge } from '@xyo-network/bridge-http'\nimport { MemoryBoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-memory'\nimport { IdentityDiviner } from '@xyo-network/diviner-identity'\nimport { MemoryPayloadDiviner } from '@xyo-network/diviner-payload-memory'\nimport { CreatableModuleFactory, LabeledCreatableModuleFactory, registerCreatableModuleFactories } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { ViewNode } from '@xyo-network/node-view'\nimport { MemorySentinel } from '@xyo-network/sentinel-memory'\nimport { AdhocWitness } from '@xyo-network/witness-adhoc'\n\n//order matters in this array. later items will register themselves as primary for schemas shared with earlier items\nexport const standardCreatableFactoriesList: (CreatableModuleFactory | LabeledCreatableModuleFactory)[] = [\n HttpBridge,\n ViewArchivist,\n ViewNode,\n AdhocWitness,\n MemoryPayloadDiviner,\n MemoryBoundWitnessDiviner,\n IdentityDiviner,\n MemoryArchivist,\n MemoryArchivist,\n MemoryNode,\n MemorySentinel,\n]\n\nexport const standardCreatableFactories = () => {\n return registerCreatableModuleFactories(standardCreatableFactoriesList, {}, true)\n}\n"],"mappings":"+EAAA,OAASA,YAAAA,MAAgB,iBACzB,OAGEC,gBAAAA,EACAC,aAAAA,EAGAC,kCAAAA,MACK,4BCTP,OAASC,mBAAAA,MAAuB,gCAChC,OAASC,iBAAAA,MAAqB,8BAC9B,OAASC,cAAAA,MAAkB,2BAC3B,OAASC,6BAAAA,MAAiC,2CAC1C,OAASC,mBAAAA,MAAuB,gCAChC,OAASC,wBAAAA,MAA4B,sCACrC,OAAgEC,oCAAAA,MAAwC,4BACxG,OAASC,cAAAA,MAAkB,2BAC3B,OAASC,YAAAA,MAAgB,yBACzB,OAASC,kBAAAA,MAAsB,+BAC/B,OAASC,gBAAAA,MAAoB,6BAGtB,IAAMC,EAA6F,CACxGC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAA,EACAC,EACAC,GAGWC,EAA6BC,EAAA,IACjCC,EAAiCb,EAAgC,CAAC,EAAG,EAAA,EADpC,8BDVnC,IAAMc,EAAN,KAAMA,CAjBb,MAiBaA,CAAAA,EAAAA,uCACXC,YAA+BC,EAAqCC,EAAAA,EAA8B,MAAnED,UAAAA,CAAoE,CAKnG,IAAIE,UAA8C,CAChD,OAAO,KAAKF,SACd,CAQAG,OAAOC,EAAgBC,EAAyE,CAC9F,OAAOC,EACL,KAAKC,UAAUH,EAAQC,CAAAA,EACvB,IAAM,sCAAsC,kBAAkBD,CAAAA,GAAS,GAAGC,EAAS,cAAcG,KAAKC,UAAUJ,CAAAA,CAAAA,IAAa,EAAA,aAAe,CAEhJ,CAOAK,SAASC,EAAiCN,EAAiBO,EAAuC,GAAa,CAC7GC,OAAAA,EAA+B,KAAKb,UAAWW,EAASN,EAAQO,CAAAA,EACzD,IACT,CAMAE,aAAaC,EAA2C,CACtD,QAAWJ,KAAWI,EACpB,KAAKL,SAASC,CAAAA,EAEhB,OAAO,IACT,CAQAJ,UAAUH,EAAgBC,EAAqF,CAE7G,OAAOA,EAEH,KAAKL,UAAUI,CAAAA,GAASY,OAAOC,CAAAA,EAAWC,KAAMP,GAAYQ,EAAaR,GAASN,OAAQA,CAAAA,CAAAA,EAE1F,KAAKL,UAAUI,CAAAA,IAAU,CAAA,CAC/B,CACF","names":["assertEx","hasAllLabels","hasLabels","registerCreatableModuleFactory","MemoryArchivist","ViewArchivist","HttpBridge","MemoryBoundWitnessDiviner","IdentityDiviner","MemoryPayloadDiviner","registerCreatableModuleFactories","MemoryNode","ViewNode","MemorySentinel","AdhocWitness","standardCreatableFactoriesList","HttpBridge","ViewArchivist","ViewNode","AdhocWitness","MemoryPayloadDiviner","MemoryBoundWitnessDiviner","IdentityDiviner","MemoryArchivist","MemoryNode","MemorySentinel","standardCreatableFactories","__name","registerCreatableModuleFactories","ModuleFactoryLocator","constructor","_registry","standardCreatableFactories","registry","locate","schema","labels","assertEx","tryLocate","JSON","stringify","register","factory","primary","registerCreatableModuleFactory","registerMany","factories","filter","hasLabels","find","hasAllLabels"]}
|
|
@@ -1,39 +1,12 @@
|
|
|
1
1
|
import { CreatableModuleFactory, CreatableModuleRegistry, LabeledCreatableModuleFactory, Labels } from '@xyo-network/module-model';
|
|
2
2
|
import { Schema } from '@xyo-network/payload-model';
|
|
3
|
-
/**
|
|
4
|
-
* A class which encapsulates the Service Locator Pattern for Module Factories
|
|
5
|
-
*/
|
|
6
3
|
export declare class ModuleFactoryLocator {
|
|
7
4
|
protected readonly _registry: CreatableModuleRegistry;
|
|
8
5
|
constructor(_registry?: CreatableModuleRegistry);
|
|
9
|
-
/**
|
|
10
|
-
* The current registry for the module factory
|
|
11
|
-
*/
|
|
12
6
|
get registry(): Readonly<CreatableModuleRegistry>;
|
|
13
|
-
/**
|
|
14
|
-
* Locates a module factory that matches the supplied schema and labels
|
|
15
|
-
* @param schema The config schema for the module
|
|
16
|
-
* @param labels The labels for the module factory
|
|
17
|
-
* @returns A module factory that matches the supplied schema and labels or throws if one is not found
|
|
18
|
-
*/
|
|
19
7
|
locate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory;
|
|
20
|
-
/**
|
|
21
|
-
* Registers a single module factory (with optional tags) with the locator
|
|
22
|
-
* @param factory The factory to register
|
|
23
|
-
* @param labels The labels for the module factory
|
|
24
|
-
*/
|
|
25
8
|
register(factory: CreatableModuleFactory, labels?: Labels, primary?: boolean | Schema | Schema[]): this;
|
|
26
|
-
/**
|
|
27
|
-
* Registers multiple module factories with the locator
|
|
28
|
-
* @param factories The factories to register
|
|
29
|
-
*/
|
|
30
9
|
registerMany(factories: CreatableModuleFactory[]): this;
|
|
31
|
-
/**
|
|
32
|
-
* Tries to locate a module factory that matches the supplied schema and labels
|
|
33
|
-
* @param schema The config schema for the module
|
|
34
|
-
* @param labels The labels for the module factory
|
|
35
|
-
* @returns A module factory that matches the supplied schema and labels or undefined
|
|
36
|
-
*/
|
|
37
10
|
tryLocate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory | undefined;
|
|
38
11
|
}
|
|
39
12
|
//# sourceMappingURL=ModuleFactoryLocator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleFactoryLocator.d.ts","sourceRoot":"","sources":["../../src/ModuleFactoryLocator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EAGvB,6BAA6B,EAC7B,MAAM,EAEP,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"ModuleFactoryLocator.d.ts","sourceRoot":"","sources":["../../src/ModuleFactoryLocator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EAGvB,6BAA6B,EAC7B,MAAM,EAEP,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAOnD,qBAAa,oBAAoB;IACnB,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,uBAAuB;gBAAlC,SAAS,GAAE,uBAAsD;IAKhG,IAAI,QAAQ,IAAI,QAAQ,CAAC,uBAAuB,CAAC,CAEhD;IAQD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,6BAA6B;IAY/F,QAAQ,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAU,GAAG,IAAI;IAS9G,YAAY,CAAC,SAAS,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAavD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,6BAA6B,GAAG,SAAS;CAQ/G"}
|
|
@@ -1,39 +1,12 @@
|
|
|
1
1
|
import { CreatableModuleFactory, CreatableModuleRegistry, LabeledCreatableModuleFactory, Labels } from '@xyo-network/module-model';
|
|
2
2
|
import { Schema } from '@xyo-network/payload-model';
|
|
3
|
-
/**
|
|
4
|
-
* A class which encapsulates the Service Locator Pattern for Module Factories
|
|
5
|
-
*/
|
|
6
3
|
export declare class ModuleFactoryLocator {
|
|
7
4
|
protected readonly _registry: CreatableModuleRegistry;
|
|
8
5
|
constructor(_registry?: CreatableModuleRegistry);
|
|
9
|
-
/**
|
|
10
|
-
* The current registry for the module factory
|
|
11
|
-
*/
|
|
12
6
|
get registry(): Readonly<CreatableModuleRegistry>;
|
|
13
|
-
/**
|
|
14
|
-
* Locates a module factory that matches the supplied schema and labels
|
|
15
|
-
* @param schema The config schema for the module
|
|
16
|
-
* @param labels The labels for the module factory
|
|
17
|
-
* @returns A module factory that matches the supplied schema and labels or throws if one is not found
|
|
18
|
-
*/
|
|
19
7
|
locate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory;
|
|
20
|
-
/**
|
|
21
|
-
* Registers a single module factory (with optional tags) with the locator
|
|
22
|
-
* @param factory The factory to register
|
|
23
|
-
* @param labels The labels for the module factory
|
|
24
|
-
*/
|
|
25
8
|
register(factory: CreatableModuleFactory, labels?: Labels, primary?: boolean | Schema | Schema[]): this;
|
|
26
|
-
/**
|
|
27
|
-
* Registers multiple module factories with the locator
|
|
28
|
-
* @param factories The factories to register
|
|
29
|
-
*/
|
|
30
9
|
registerMany(factories: CreatableModuleFactory[]): this;
|
|
31
|
-
/**
|
|
32
|
-
* Tries to locate a module factory that matches the supplied schema and labels
|
|
33
|
-
* @param schema The config schema for the module
|
|
34
|
-
* @param labels The labels for the module factory
|
|
35
|
-
* @returns A module factory that matches the supplied schema and labels or undefined
|
|
36
|
-
*/
|
|
37
10
|
tryLocate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory | undefined;
|
|
38
11
|
}
|
|
39
12
|
//# sourceMappingURL=ModuleFactoryLocator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleFactoryLocator.d.ts","sourceRoot":"","sources":["../../src/ModuleFactoryLocator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EAGvB,6BAA6B,EAC7B,MAAM,EAEP,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"ModuleFactoryLocator.d.ts","sourceRoot":"","sources":["../../src/ModuleFactoryLocator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EAGvB,6BAA6B,EAC7B,MAAM,EAEP,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAOnD,qBAAa,oBAAoB;IACnB,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,uBAAuB;gBAAlC,SAAS,GAAE,uBAAsD;IAKhG,IAAI,QAAQ,IAAI,QAAQ,CAAC,uBAAuB,CAAC,CAEhD;IAQD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,6BAA6B;IAY/F,QAAQ,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAU,GAAG,IAAI;IAS9G,YAAY,CAAC,SAAS,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAavD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,6BAA6B,GAAG,SAAS;CAQ/G"}
|
|
@@ -1,39 +1,12 @@
|
|
|
1
1
|
import { CreatableModuleFactory, CreatableModuleRegistry, LabeledCreatableModuleFactory, Labels } from '@xyo-network/module-model';
|
|
2
2
|
import { Schema } from '@xyo-network/payload-model';
|
|
3
|
-
/**
|
|
4
|
-
* A class which encapsulates the Service Locator Pattern for Module Factories
|
|
5
|
-
*/
|
|
6
3
|
export declare class ModuleFactoryLocator {
|
|
7
4
|
protected readonly _registry: CreatableModuleRegistry;
|
|
8
5
|
constructor(_registry?: CreatableModuleRegistry);
|
|
9
|
-
/**
|
|
10
|
-
* The current registry for the module factory
|
|
11
|
-
*/
|
|
12
6
|
get registry(): Readonly<CreatableModuleRegistry>;
|
|
13
|
-
/**
|
|
14
|
-
* Locates a module factory that matches the supplied schema and labels
|
|
15
|
-
* @param schema The config schema for the module
|
|
16
|
-
* @param labels The labels for the module factory
|
|
17
|
-
* @returns A module factory that matches the supplied schema and labels or throws if one is not found
|
|
18
|
-
*/
|
|
19
7
|
locate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory;
|
|
20
|
-
/**
|
|
21
|
-
* Registers a single module factory (with optional tags) with the locator
|
|
22
|
-
* @param factory The factory to register
|
|
23
|
-
* @param labels The labels for the module factory
|
|
24
|
-
*/
|
|
25
8
|
register(factory: CreatableModuleFactory, labels?: Labels, primary?: boolean | Schema | Schema[]): this;
|
|
26
|
-
/**
|
|
27
|
-
* Registers multiple module factories with the locator
|
|
28
|
-
* @param factories The factories to register
|
|
29
|
-
*/
|
|
30
9
|
registerMany(factories: CreatableModuleFactory[]): this;
|
|
31
|
-
/**
|
|
32
|
-
* Tries to locate a module factory that matches the supplied schema and labels
|
|
33
|
-
* @param schema The config schema for the module
|
|
34
|
-
* @param labels The labels for the module factory
|
|
35
|
-
* @returns A module factory that matches the supplied schema and labels or undefined
|
|
36
|
-
*/
|
|
37
10
|
tryLocate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory | undefined;
|
|
38
11
|
}
|
|
39
12
|
//# sourceMappingURL=ModuleFactoryLocator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleFactoryLocator.d.ts","sourceRoot":"","sources":["../../src/ModuleFactoryLocator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EAGvB,6BAA6B,EAC7B,MAAM,EAEP,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"ModuleFactoryLocator.d.ts","sourceRoot":"","sources":["../../src/ModuleFactoryLocator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EAGvB,6BAA6B,EAC7B,MAAM,EAEP,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAOnD,qBAAa,oBAAoB;IACnB,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,uBAAuB;gBAAlC,SAAS,GAAE,uBAAsD;IAKhG,IAAI,QAAQ,IAAI,QAAQ,CAAC,uBAAuB,CAAC,CAEhD;IAQD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,6BAA6B;IAY/F,QAAQ,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAU,GAAG,IAAI;IAS9G,YAAY,CAAC,SAAS,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAavD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,6BAA6B,GAAG,SAAS;CAQ/G"}
|