@xyo-network/module-model 2.73.4 → 2.74.1
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/Config.d.mts +60 -0
- package/dist/Config.d.mts.map +1 -0
- package/dist/Config.d.ts +60 -0
- package/dist/Config.d.ts.map +1 -0
- package/dist/CreatableModule/CreatableModule.d.mts +23 -0
- package/dist/CreatableModule/CreatableModule.d.mts.map +1 -0
- package/dist/CreatableModule/CreatableModule.d.ts +23 -0
- package/dist/CreatableModule/CreatableModule.d.ts.map +1 -0
- package/dist/CreatableModule/CreatableModuleDictionary.d.mts +5 -0
- package/dist/CreatableModule/CreatableModuleDictionary.d.mts.map +1 -0
- package/dist/CreatableModule/CreatableModuleDictionary.d.ts +5 -0
- package/dist/CreatableModule/CreatableModuleDictionary.d.ts.map +1 -0
- package/dist/CreatableModule/CreatableModuleRegistry.d.mts +9 -0
- package/dist/CreatableModule/CreatableModuleRegistry.d.mts.map +1 -0
- package/dist/CreatableModule/CreatableModuleRegistry.d.ts +9 -0
- package/dist/CreatableModule/CreatableModuleRegistry.d.ts.map +1 -0
- package/dist/CreatableModule/LabeledCreatableModuleFactory.d.mts +6 -0
- package/dist/CreatableModule/LabeledCreatableModuleFactory.d.mts.map +1 -0
- package/dist/CreatableModule/LabeledCreatableModuleFactory.d.ts +6 -0
- package/dist/CreatableModule/LabeledCreatableModuleFactory.d.ts.map +1 -0
- package/dist/CreatableModule/ModuleFactory.d.mts +25 -0
- package/dist/CreatableModule/ModuleFactory.d.mts.map +1 -0
- package/dist/CreatableModule/ModuleFactory.d.ts +25 -0
- package/dist/CreatableModule/ModuleFactory.d.ts.map +1 -0
- package/dist/CreatableModule/ModuleFactoryLocator.d.mts +41 -0
- package/dist/CreatableModule/ModuleFactoryLocator.d.mts.map +1 -0
- package/dist/CreatableModule/ModuleFactoryLocator.d.ts +41 -0
- package/dist/CreatableModule/ModuleFactoryLocator.d.ts.map +1 -0
- package/dist/CreatableModule/index.d.mts +7 -0
- package/dist/CreatableModule/index.d.mts.map +1 -0
- package/dist/CreatableModule/index.d.ts +7 -0
- package/dist/CreatableModule/index.d.ts.map +1 -0
- package/dist/EventsModels/ModuleBusy.d.mts +9 -0
- package/dist/EventsModels/ModuleBusy.d.mts.map +1 -0
- package/dist/EventsModels/ModuleBusy.d.ts +9 -0
- package/dist/EventsModels/ModuleBusy.d.ts.map +1 -0
- package/dist/EventsModels/ModuleError.d.mts +9 -0
- package/dist/EventsModels/ModuleError.d.mts.map +1 -0
- package/dist/EventsModels/ModuleError.d.ts +9 -0
- package/dist/EventsModels/ModuleError.d.ts.map +1 -0
- package/dist/EventsModels/ModuleEventArgs.d.mts +7 -0
- package/dist/EventsModels/ModuleEventArgs.d.mts.map +1 -0
- package/dist/EventsModels/ModuleEventArgs.d.ts +7 -0
- package/dist/EventsModels/ModuleEventArgs.d.ts.map +1 -0
- package/dist/EventsModels/ModuleEventData.d.mts +6 -0
- package/dist/EventsModels/ModuleEventData.d.mts.map +1 -0
- package/dist/EventsModels/ModuleEventData.d.ts +6 -0
- package/dist/EventsModels/ModuleEventData.d.ts.map +1 -0
- package/dist/EventsModels/ModuleQueried.d.mts +14 -0
- package/dist/EventsModels/ModuleQueried.d.mts.map +1 -0
- package/dist/EventsModels/ModuleQueried.d.ts +14 -0
- package/dist/EventsModels/ModuleQueried.d.ts.map +1 -0
- package/dist/EventsModels/index.d.mts +6 -0
- package/dist/EventsModels/index.d.mts.map +1 -0
- package/dist/EventsModels/index.d.ts +6 -0
- package/dist/EventsModels/index.d.ts.map +1 -0
- package/dist/Labels/Labels.d.mts +26 -0
- package/dist/Labels/Labels.d.mts.map +1 -0
- package/dist/Labels/Labels.d.ts +26 -0
- package/dist/Labels/Labels.d.ts.map +1 -0
- package/dist/Labels/index.d.mts +2 -0
- package/dist/Labels/index.d.mts.map +1 -0
- package/dist/Labels/index.d.ts +2 -0
- package/dist/Labels/index.d.ts.map +1 -0
- package/dist/ModuleDescription.d.mts +7 -0
- package/dist/ModuleDescription.d.mts.map +1 -0
- package/dist/ModuleDescription.d.ts +7 -0
- package/dist/ModuleDescription.d.ts.map +1 -0
- package/dist/ModuleParams.d.mts +11 -0
- package/dist/ModuleParams.d.mts.map +1 -0
- package/dist/ModuleParams.d.ts +11 -0
- package/dist/ModuleParams.d.ts.map +1 -0
- package/dist/ModuleQueryHandlerResult.d.mts +3 -0
- package/dist/ModuleQueryHandlerResult.d.mts.map +1 -0
- package/dist/ModuleQueryHandlerResult.d.ts +3 -0
- package/dist/ModuleQueryHandlerResult.d.ts.map +1 -0
- package/dist/ModuleQueryResult.d.mts +4 -0
- package/dist/ModuleQueryResult.d.mts.map +1 -0
- package/dist/ModuleQueryResult.d.ts +4 -0
- package/dist/ModuleQueryResult.d.ts.map +1 -0
- package/dist/Queries/Describe/Payload.d.mts +6 -0
- package/dist/Queries/Describe/Payload.d.mts.map +1 -0
- package/dist/Queries/Describe/Payload.d.ts +6 -0
- package/dist/Queries/Describe/Payload.d.ts.map +1 -0
- package/dist/Queries/Describe/Query.d.mts +7 -0
- package/dist/Queries/Describe/Query.d.mts.map +1 -0
- package/dist/Queries/Describe/Query.d.ts +7 -0
- package/dist/Queries/Describe/Query.d.ts.map +1 -0
- package/dist/Queries/Describe/index.d.mts +3 -0
- package/dist/Queries/Describe/index.d.mts.map +1 -0
- package/dist/Queries/Describe/index.d.ts +3 -0
- package/dist/Queries/Describe/index.d.ts.map +1 -0
- package/dist/Queries/Discover.d.mts +7 -0
- package/dist/Queries/Discover.d.mts.map +1 -0
- package/dist/Queries/Discover.d.ts +7 -0
- package/dist/Queries/Discover.d.ts.map +1 -0
- package/dist/Queries/Manifest.d.mts +7 -0
- package/dist/Queries/Manifest.d.mts.map +1 -0
- package/dist/Queries/Manifest.d.ts +7 -0
- package/dist/Queries/Manifest.d.ts.map +1 -0
- package/dist/Queries/ModuleAddress/Payload.d.mts +9 -0
- package/dist/Queries/ModuleAddress/Payload.d.mts.map +1 -0
- package/dist/Queries/ModuleAddress/Payload.d.ts +9 -0
- package/dist/Queries/ModuleAddress/Payload.d.ts.map +1 -0
- package/dist/Queries/ModuleAddress/Query.d.mts +7 -0
- package/dist/Queries/ModuleAddress/Query.d.mts.map +1 -0
- package/dist/Queries/ModuleAddress/Query.d.ts +7 -0
- package/dist/Queries/ModuleAddress/Query.d.ts.map +1 -0
- package/dist/Queries/ModuleAddress/index.d.mts +3 -0
- package/dist/Queries/ModuleAddress/index.d.mts.map +1 -0
- package/dist/Queries/ModuleAddress/index.d.ts +3 -0
- package/dist/Queries/ModuleAddress/index.d.ts.map +1 -0
- package/dist/Queries/Subscribe.d.mts +17 -0
- package/dist/Queries/Subscribe.d.mts.map +1 -0
- package/dist/Queries/Subscribe.d.ts +17 -0
- package/dist/Queries/Subscribe.d.ts.map +1 -0
- package/dist/Queries/index.d.mts +14 -0
- package/dist/Queries/index.d.mts.map +1 -0
- package/dist/Queries/index.d.ts +14 -0
- package/dist/Queries/index.d.ts.map +1 -0
- package/dist/docs.json +20620 -19257
- package/dist/index.d.mts +14 -330
- package/dist/index.d.mts.map +1 -0
- package/dist/index.d.ts +14 -330
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +184 -63
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +167 -51
- package/dist/index.mjs.map +1 -1
- package/dist/instance/ModuleInstance.d.mts +41 -0
- package/dist/instance/ModuleInstance.d.mts.map +1 -0
- package/dist/instance/ModuleInstance.d.ts +41 -0
- package/dist/instance/ModuleInstance.d.ts.map +1 -0
- package/dist/instance/ModuleRepository.d.mts +9 -0
- package/dist/instance/ModuleRepository.d.mts.map +1 -0
- package/dist/instance/ModuleRepository.d.ts +9 -0
- package/dist/instance/ModuleRepository.d.ts.map +1 -0
- package/dist/instance/asModuleInstance.d.mts +5 -0
- package/dist/instance/asModuleInstance.d.mts.map +1 -0
- package/dist/instance/asModuleInstance.d.ts +5 -0
- package/dist/instance/asModuleInstance.d.ts.map +1 -0
- package/dist/instance/index.d.mts +5 -0
- package/dist/instance/index.d.mts.map +1 -0
- package/dist/instance/index.d.ts +5 -0
- package/dist/instance/index.d.ts.map +1 -0
- package/dist/instance/isModuleInstance.d.mts +5 -0
- package/dist/instance/isModuleInstance.d.mts.map +1 -0
- package/dist/instance/isModuleInstance.d.ts +5 -0
- package/dist/instance/isModuleInstance.d.ts.map +1 -0
- package/dist/lib/duplicateModules.d.mts +12 -0
- package/dist/lib/duplicateModules.d.mts.map +1 -0
- package/dist/lib/duplicateModules.d.ts +12 -0
- package/dist/lib/duplicateModules.d.ts.map +1 -0
- package/dist/lib/index.d.mts +3 -0
- package/dist/lib/index.d.mts.map +1 -0
- package/dist/lib/index.d.ts +3 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/serializable.d.mts +3 -0
- package/dist/lib/serializable.d.mts.map +1 -0
- package/dist/lib/serializable.d.ts +3 -0
- package/dist/lib/serializable.d.ts.map +1 -0
- package/dist/module/IsModuleFactory.d.mts +7 -0
- package/dist/module/IsModuleFactory.d.mts.map +1 -0
- package/dist/module/IsModuleFactory.d.ts +7 -0
- package/dist/module/IsModuleFactory.d.ts.map +1 -0
- package/dist/module/Module.d.mts +6 -0
- package/dist/module/Module.d.mts.map +1 -0
- package/dist/module/Module.d.ts +6 -0
- package/dist/module/Module.d.ts.map +1 -0
- package/dist/module/ModuleFields.d.mts +18 -0
- package/dist/module/ModuleFields.d.mts.map +1 -0
- package/dist/module/ModuleFields.d.ts +18 -0
- package/dist/module/ModuleFields.d.ts.map +1 -0
- package/dist/module/ModuleQueryFunctions.d.mts +12 -0
- package/dist/module/ModuleQueryFunctions.d.mts.map +1 -0
- package/dist/module/ModuleQueryFunctions.d.ts +12 -0
- package/dist/module/ModuleQueryFunctions.d.ts.map +1 -0
- package/dist/module/asModule.d.mts +5 -0
- package/dist/module/asModule.d.mts.map +1 -0
- package/dist/module/asModule.d.ts +5 -0
- package/dist/module/asModule.d.ts.map +1 -0
- package/dist/module/asModuleObject.d.mts +5 -0
- package/dist/module/asModuleObject.d.mts.map +1 -0
- package/dist/module/asModuleObject.d.ts +5 -0
- package/dist/module/asModuleObject.d.ts.map +1 -0
- package/dist/module/index.d.mts +9 -0
- package/dist/module/index.d.mts.map +1 -0
- package/dist/module/index.d.ts +9 -0
- package/dist/module/index.d.ts.map +1 -0
- package/dist/module/isModule.d.mts +5 -0
- package/dist/module/isModule.d.mts.map +1 -0
- package/dist/module/isModule.d.ts +5 -0
- package/dist/module/isModule.d.ts.map +1 -0
- package/dist/module/isModuleObject.d.mts +5 -0
- package/dist/module/isModuleObject.d.mts.map +1 -0
- package/dist/module/isModuleObject.d.ts +5 -0
- package/dist/module/isModuleObject.d.ts.map +1 -0
- package/dist/withModule.d.mts +7 -0
- package/dist/withModule.d.mts.map +1 -0
- package/dist/withModule.d.ts +7 -0
- package/dist/withModule.d.ts.map +1 -0
- package/package.json +17 -23
- package/src/Config.ts +56 -44
- package/src/{CreatableModule.ts → CreatableModule/CreatableModule.ts} +5 -5
- package/src/CreatableModule/CreatableModuleRegistry.ts +29 -0
- package/src/CreatableModule/LabeledCreatableModuleFactory.ts +9 -0
- package/src/{ModuleFactory.ts → CreatableModule/ModuleFactory.ts} +12 -3
- package/src/CreatableModule/ModuleFactoryLocator.ts +84 -0
- package/src/CreatableModule/index.ts +6 -0
- package/src/Labels/Labels.ts +34 -0
- package/src/Labels/index.ts +1 -0
- package/src/ModuleParams.ts +4 -9
- package/src/index.ts +2 -3
- package/src/instance/ModuleInstance.ts +2 -2
- package/src/instance/asModuleInstance.ts +1 -1
- package/src/instance/isModuleInstance.ts +1 -1
- package/src/module/IsModuleFactory.ts +1 -1
- package/src/module/Module.ts +2 -3
- package/src/module/ModuleFields.ts +2 -2
- package/src/module/asModule.ts +1 -1
- package/src/module/asModuleObject.ts +1 -1
- package/src/module/isModule.ts +1 -1
- package/src/module/isModuleObject.ts +1 -1
- package/src/withModule.ts +1 -1
- package/tsup.config.ts +0 -16
- /package/src/{CreatableModuleDictionary.ts → CreatableModule/CreatableModuleDictionary.ts} +0 -0
- /package/src/{Events → EventsModels}/ModuleBusy.ts +0 -0
- /package/src/{Events → EventsModels}/ModuleError.ts +0 -0
- /package/src/{Events → EventsModels}/ModuleEventArgs.ts +0 -0
- /package/src/{Events → EventsModels}/ModuleEventData.ts +0 -0
- /package/src/{Events → EventsModels}/ModuleQueried.ts +0 -0
- /package/src/{Events → EventsModels}/index.ts +0 -0
|
@@ -2,8 +2,9 @@ import { assertEx } from '@xylabs/assert'
|
|
|
2
2
|
import { merge } from '@xylabs/lodash'
|
|
3
3
|
import { Logger } from '@xyo-network/logger'
|
|
4
4
|
|
|
5
|
+
import { ModuleInstance } from '../instance'
|
|
6
|
+
import { Labels, WithOptionalLabels } from '../Labels'
|
|
5
7
|
import { CreatableModule, CreatableModuleFactory } from './CreatableModule'
|
|
6
|
-
import { ModuleInstance } from './instance'
|
|
7
8
|
|
|
8
9
|
export class ModuleFactory<TModule extends ModuleInstance> implements CreatableModuleFactory<TModule> {
|
|
9
10
|
configSchemas: CreatableModuleFactory<TModule>['configSchemas']
|
|
@@ -14,10 +15,17 @@ export class ModuleFactory<TModule extends ModuleInstance> implements CreatableM
|
|
|
14
15
|
|
|
15
16
|
defaultParams?: Omit<TModule['params'], 'config'> & { config?: TModule['params']['config'] }
|
|
16
17
|
|
|
17
|
-
|
|
18
|
+
labels?: Labels
|
|
19
|
+
|
|
20
|
+
constructor(
|
|
21
|
+
creatableModule: CreatableModule<TModule>,
|
|
22
|
+
params?: Omit<TModule['params'], 'config'> & { config?: TModule['params']['config'] },
|
|
23
|
+
labels: Labels = {},
|
|
24
|
+
) {
|
|
18
25
|
this.creatableModule = creatableModule
|
|
19
26
|
this.defaultParams = params
|
|
20
27
|
this.configSchemas = creatableModule.configSchemas
|
|
28
|
+
this.labels = Object.assign({}, (creatableModule as WithOptionalLabels).labels ?? {}, labels ?? {})
|
|
21
29
|
}
|
|
22
30
|
|
|
23
31
|
get configSchema(): string {
|
|
@@ -27,8 +35,9 @@ export class ModuleFactory<TModule extends ModuleInstance> implements CreatableM
|
|
|
27
35
|
static withParams<T extends ModuleInstance>(
|
|
28
36
|
creatableModule: CreatableModule<T>,
|
|
29
37
|
params?: Omit<T['params'], 'config'> & { config?: T['params']['config'] },
|
|
38
|
+
labels: Labels = {},
|
|
30
39
|
) {
|
|
31
|
-
return new ModuleFactory(creatableModule, params)
|
|
40
|
+
return new ModuleFactory(creatableModule, params, labels)
|
|
32
41
|
}
|
|
33
42
|
|
|
34
43
|
_getRootFunction(funcName: string) {
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/assert'
|
|
2
|
+
|
|
3
|
+
import { ModuleInstance } from '../instance'
|
|
4
|
+
import { hasAllLabels, Labels } from '../Labels'
|
|
5
|
+
import { CreatableModuleFactory } from './CreatableModule'
|
|
6
|
+
import { CreatableModuleRegistry } from './CreatableModuleRegistry'
|
|
7
|
+
import { hasLabels, LabeledCreatableModuleFactory } from './LabeledCreatableModuleFactory'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A class which encapsulates the Service Locator Pattern for Module Factories
|
|
11
|
+
*/
|
|
12
|
+
export class ModuleFactoryLocator {
|
|
13
|
+
constructor(protected readonly _registry: CreatableModuleRegistry = {}) {}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The current registry for the module factory
|
|
17
|
+
*/
|
|
18
|
+
get registry(): Readonly<CreatableModuleRegistry> {
|
|
19
|
+
return this._registry
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Locates a module factory that matches the supplied schema and labels
|
|
24
|
+
* @param schema The config schema for the module
|
|
25
|
+
* @param labels The labels for the module factory
|
|
26
|
+
* @returns A module factory that matches the supplied schema and labels or throws if one is not found
|
|
27
|
+
*/
|
|
28
|
+
locate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory {
|
|
29
|
+
return assertEx(this.tryLocate(schema, labels), () => {
|
|
30
|
+
const configString = `config schema [${schema}]`
|
|
31
|
+
const labelsString = labels ? ` & labels [${JSON.stringify(labels)}]` : ''
|
|
32
|
+
return `No module factory for the supplied ${configString}${labelsString} registered`
|
|
33
|
+
})
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Registers a single module factory (with optional tags) with the locator
|
|
38
|
+
* @param additional Additional module factories to register
|
|
39
|
+
*/
|
|
40
|
+
register<TModule extends ModuleInstance>(mod: CreatableModuleFactory<TModule>, labels?: Labels): this {
|
|
41
|
+
mod.configSchemas.map((schema) => {
|
|
42
|
+
const existingFactories = this._registry[schema]
|
|
43
|
+
const factory: LabeledCreatableModuleFactory<TModule> = {
|
|
44
|
+
// Destructure instance properties
|
|
45
|
+
...mod,
|
|
46
|
+
// Copy static methods
|
|
47
|
+
create: mod.create.bind(mod) as LabeledCreatableModuleFactory<TModule>['create'],
|
|
48
|
+
// Merge module & supplied labels
|
|
49
|
+
labels: Object.assign({}, (mod as LabeledCreatableModuleFactory).labels ?? {}, labels ?? {}),
|
|
50
|
+
}
|
|
51
|
+
this._registry[schema] = existingFactories ? [...existingFactories, factory] : [factory]
|
|
52
|
+
})
|
|
53
|
+
return this
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Registers multiple module factories with the locator
|
|
58
|
+
* @param additional Additional module factories to register
|
|
59
|
+
*/
|
|
60
|
+
registerMany(additional: CreatableModuleRegistry): this {
|
|
61
|
+
Object.entries(additional).map(([schema, factories]) => {
|
|
62
|
+
if (factories) {
|
|
63
|
+
const existingFactories = this._registry[schema]
|
|
64
|
+
this._registry[schema] = existingFactories ? [...existingFactories, ...factories] : factories
|
|
65
|
+
}
|
|
66
|
+
})
|
|
67
|
+
return this
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Tries to locate a module factory that matches the supplied schema and labels
|
|
72
|
+
* @param schema The config schema for the module
|
|
73
|
+
* @param labels The labels for the module factory
|
|
74
|
+
* @returns A module factory that matches the supplied schema and labels or undefined
|
|
75
|
+
*/
|
|
76
|
+
tryLocate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory | undefined {
|
|
77
|
+
// If labels were provided
|
|
78
|
+
return labels
|
|
79
|
+
? // Find the first factory that has labels and has all the labels provided
|
|
80
|
+
this._registry[schema]?.filter(hasLabels).find((factory) => hasAllLabels(factory?.labels, labels))
|
|
81
|
+
: // Otherwise, return the first factory
|
|
82
|
+
this._registry[schema]?.[0]
|
|
83
|
+
}
|
|
84
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Object used to represent labels identifying a resource.
|
|
3
|
+
*/
|
|
4
|
+
export interface Labels {
|
|
5
|
+
[key: string]: string | undefined
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Interface for objects that have labels.
|
|
10
|
+
*/
|
|
11
|
+
export interface WithLabels<T extends Labels = Labels> {
|
|
12
|
+
labels: T
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Interface for objects that have labels.
|
|
17
|
+
*/
|
|
18
|
+
export interface WithOptionalLabels<T extends Labels = Labels> {
|
|
19
|
+
labels?: T
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Returns true if the source object has all the labels from the required set
|
|
24
|
+
* @param source Source object to check against
|
|
25
|
+
* @param required Set of labels to check for in source
|
|
26
|
+
* @returns True of the source object has all the labels from the required set
|
|
27
|
+
*/
|
|
28
|
+
export const hasAllLabels = (source?: Labels, required?: Labels): boolean => {
|
|
29
|
+
if (!required) return true
|
|
30
|
+
return Object.entries(required).every(([key, value]) => {
|
|
31
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
32
|
+
return source?.hasOwnProperty(key as keyof typeof source) && source?.[key as keyof typeof source] === value
|
|
33
|
+
})
|
|
34
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Labels'
|
package/src/ModuleParams.ts
CHANGED
|
@@ -4,20 +4,15 @@ import { WalletInstance } from '@xyo-network/wallet-model'
|
|
|
4
4
|
|
|
5
5
|
import { AnyConfigSchema, ModuleConfig } from './Config'
|
|
6
6
|
|
|
7
|
-
export type
|
|
8
|
-
TConfig extends AnyConfigSchema<ModuleConfig
|
|
9
|
-
TAdditionalParams extends AnyObject |
|
|
7
|
+
export type ModuleParams<
|
|
8
|
+
TConfig extends AnyConfigSchema<ModuleConfig> | void = void,
|
|
9
|
+
TAdditionalParams extends AnyObject | void = void,
|
|
10
10
|
> = WithAdditional<
|
|
11
11
|
BaseParams<{
|
|
12
12
|
account?: AccountInstance | 'random'
|
|
13
|
-
config: TConfig
|
|
13
|
+
config: TConfig extends AnyConfigSchema<ModuleConfig> ? TConfig : AnyConfigSchema<ModuleConfig>
|
|
14
14
|
ephemeralQueryAccountEnabled?: boolean
|
|
15
15
|
wallet?: WalletInstance
|
|
16
16
|
}>,
|
|
17
17
|
TAdditionalParams
|
|
18
18
|
>
|
|
19
|
-
|
|
20
|
-
export type ModuleParams<
|
|
21
|
-
TConfig extends AnyConfigSchema<ModuleConfig> = ModuleConfig,
|
|
22
|
-
TAdditionalParams extends AnyObject | undefined = undefined,
|
|
23
|
-
> = BasicModuleParams<TConfig, TAdditionalParams>
|
package/src/index.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
export * from './Config'
|
|
2
2
|
export * from './CreatableModule'
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './Events'
|
|
3
|
+
export * from './EventsModels'
|
|
5
4
|
export * from './instance'
|
|
5
|
+
export * from './Labels'
|
|
6
6
|
export * from './lib'
|
|
7
7
|
export * from './module'
|
|
8
8
|
export * from './ModuleDescription'
|
|
9
|
-
export * from './ModuleFactory'
|
|
10
9
|
export * from './ModuleParams'
|
|
11
10
|
export * from './ModuleQueryHandlerResult'
|
|
12
11
|
export * from './ModuleQueryResult'
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { IsObjectFactory, ObjectTypeCheck } from '@xyo-network/object
|
|
1
|
+
import { IsObjectFactory, ObjectTypeCheck } from '@xyo-network/object'
|
|
2
2
|
import { Promisable } from '@xyo-network/promise'
|
|
3
3
|
|
|
4
4
|
import { AnyConfigSchema, ModuleConfig } from '../Config'
|
|
5
|
-
import { ModuleEventData } from '../
|
|
5
|
+
import { ModuleEventData } from '../EventsModels'
|
|
6
6
|
import { Module, ModuleQueryFunctions } from '../module'
|
|
7
7
|
import { ModuleParams } from '../ModuleParams'
|
|
8
8
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object
|
|
1
|
+
import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'
|
|
2
2
|
|
|
3
3
|
import { isModule } from '../module'
|
|
4
4
|
import { ModuleInstance } from './ModuleInstance'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { ObjectTypeCheck } from '@xyo-network/object
|
|
2
|
+
import { ObjectTypeCheck } from '@xyo-network/object'
|
|
3
3
|
|
|
4
4
|
import { asModuleObject } from './asModuleObject'
|
|
5
5
|
import { isModuleObject } from './isModuleObject'
|
package/src/module/Module.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { EventFunctions } from '@xyo-network/module-events'
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import { ModuleEventData } from '../Events'
|
|
3
|
+
import { ModuleEventData } from '../EventsModels'
|
|
5
4
|
import { ModuleParams } from '../ModuleParams'
|
|
6
5
|
import { ModuleFields } from './ModuleFields'
|
|
7
6
|
|
|
8
7
|
export type Module<
|
|
9
|
-
TParams extends ModuleParams
|
|
8
|
+
TParams extends ModuleParams = ModuleParams,
|
|
10
9
|
TEventData extends ModuleEventData<object> = ModuleEventData<object>,
|
|
11
10
|
> = ModuleFields<TParams> & EventFunctions<TEventData>
|
|
@@ -2,11 +2,11 @@ import { QueryBoundWitness } from '@xyo-network/boundwitness-builder'
|
|
|
2
2
|
import { Payload } from '@xyo-network/payload-model'
|
|
3
3
|
import { Promisable } from '@xyo-network/promise'
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { ModuleConfig } from '../Config'
|
|
6
6
|
import { ModuleParams } from '../ModuleParams'
|
|
7
7
|
import { ModuleQueryResult } from '../ModuleQueryResult'
|
|
8
8
|
|
|
9
|
-
export type ModuleFields<TParams extends ModuleParams
|
|
9
|
+
export type ModuleFields<TParams extends ModuleParams = ModuleParams> = {
|
|
10
10
|
address: string
|
|
11
11
|
config: TParams['config']
|
|
12
12
|
|
package/src/module/asModule.ts
CHANGED
package/src/module/isModule.ts
CHANGED
package/src/withModule.ts
CHANGED
package/tsup.config.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { defineConfig } from 'tsup'
|
|
2
|
-
|
|
3
|
-
// eslint-disable-next-line import/no-default-export
|
|
4
|
-
export default defineConfig({
|
|
5
|
-
bundle: true,
|
|
6
|
-
cjsInterop: true,
|
|
7
|
-
clean: false,
|
|
8
|
-
dts: {
|
|
9
|
-
entry: ['src/index.ts'],
|
|
10
|
-
},
|
|
11
|
-
entry: ['src/index.ts'],
|
|
12
|
-
format: ['cjs', 'esm'],
|
|
13
|
-
sourcemap: true,
|
|
14
|
-
splitting: false,
|
|
15
|
-
tsconfig: 'tsconfig.json',
|
|
16
|
-
})
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|