@xyo-network/module-model 5.3.4 → 5.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/neutral/CreatableModule/CreatableModule.d.ts +2 -14
- package/dist/neutral/CreatableModule/CreatableModule.d.ts.map +1 -1
- package/dist/neutral/CreatableModule/LabeledCreatableModule.d.ts +14 -0
- package/dist/neutral/CreatableModule/LabeledCreatableModule.d.ts.map +1 -0
- package/dist/neutral/CreatableModule/index.d.ts +1 -0
- package/dist/neutral/CreatableModule/index.d.ts.map +1 -1
- package/dist/neutral/QueryableModule/IsQueryableModuleFactory.d.ts +12 -0
- package/dist/neutral/QueryableModule/IsQueryableModuleFactory.d.ts.map +1 -0
- package/dist/neutral/QueryableModule/QueryableModule.d.ts +10 -0
- package/dist/neutral/QueryableModule/QueryableModule.d.ts.map +1 -0
- package/dist/neutral/{module/ModuleFields.d.ts → QueryableModule/QueryableModuleFields.d.ts} +6 -3
- package/dist/neutral/QueryableModule/QueryableModuleFields.d.ts.map +1 -0
- package/dist/neutral/{module/ModuleQueryFunctions.d.ts → QueryableModule/QueryableModuleFunctions.d.ts} +5 -2
- package/dist/neutral/QueryableModule/QueryableModuleFunctions.d.ts.map +1 -0
- package/dist/neutral/QueryableModule/QueryableModuleParams.d.ts +19 -0
- package/dist/neutral/QueryableModule/QueryableModuleParams.d.ts.map +1 -0
- package/dist/neutral/QueryableModule/asQueryableModule.d.ts +4 -0
- package/dist/neutral/QueryableModule/asQueryableModule.d.ts.map +1 -0
- package/dist/neutral/QueryableModule/asQueryableModuleObject.d.ts +4 -0
- package/dist/neutral/QueryableModule/asQueryableModuleObject.d.ts.map +1 -0
- package/dist/neutral/QueryableModule/index.d.ts +10 -0
- package/dist/neutral/QueryableModule/index.d.ts.map +1 -0
- package/dist/neutral/QueryableModule/isQueryableModule.d.ts +10 -0
- package/dist/neutral/QueryableModule/isQueryableModule.d.ts.map +1 -0
- package/dist/neutral/QueryableModule/isQueryableModuleObject.d.ts +9 -0
- package/dist/neutral/QueryableModule/isQueryableModuleObject.d.ts.map +1 -0
- package/dist/neutral/index.d.ts +1 -2
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +41 -28
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/instance/Instance.d.ts +2 -3
- package/dist/neutral/instance/Instance.d.ts.map +1 -1
- package/dist/neutral/instance/ModuleFilter.d.ts +3 -3
- package/dist/neutral/instance/ModuleFilter.d.ts.map +1 -1
- package/dist/neutral/instance/ModuleInstanceParams.d.ts +10 -0
- package/dist/neutral/instance/ModuleInstanceParams.d.ts.map +1 -0
- package/dist/neutral/instance/ModuleResolver.d.ts +1 -1
- package/dist/neutral/instance/ModuleResolver.d.ts.map +1 -1
- package/dist/neutral/instance/ObjectResolver.d.ts +0 -2
- package/dist/neutral/instance/ObjectResolver.d.ts.map +1 -1
- package/dist/neutral/instance/asModuleInstance.d.ts +1 -1
- package/dist/neutral/instance/asModuleInstance.d.ts.map +1 -1
- package/dist/neutral/instance/attachable/AttachableInstance.d.ts +2 -2
- package/dist/neutral/instance/attachable/AttachableInstance.d.ts.map +1 -1
- package/dist/neutral/instance/attachable/asAttachableInstance.d.ts +1 -1
- package/dist/neutral/instance/attachable/asAttachableInstance.d.ts.map +1 -1
- package/dist/neutral/instance/index.d.ts +1 -0
- package/dist/neutral/instance/index.d.ts.map +1 -1
- package/dist/neutral/instance/isModuleInstance.d.ts.map +1 -1
- package/dist/neutral/lib/duplicateModules.d.ts +2 -2
- package/dist/neutral/lib/duplicateModules.d.ts.map +1 -1
- package/dist/neutral/withModule.d.ts +1 -2
- package/dist/neutral/withModule.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/CreatableModule/CreatableModule.ts +2 -21
- package/src/CreatableModule/LabeledCreatableModule.ts +20 -0
- package/src/CreatableModule/index.ts +1 -0
- package/src/QueryableModule/IsQueryableModuleFactory.ts +34 -0
- package/src/QueryableModule/QueryableModule.ts +14 -0
- package/src/{module/ModuleFields.ts → QueryableModule/QueryableModuleFields.ts} +5 -2
- package/src/{module/ModuleQueryFunctions.ts → QueryableModule/QueryableModuleFunctions.ts} +4 -1
- package/src/QueryableModule/QueryableModuleParams.ts +20 -0
- package/src/QueryableModule/asQueryableModule.ts +8 -0
- package/src/QueryableModule/asQueryableModuleObject.ts +8 -0
- package/src/QueryableModule/index.ts +9 -0
- package/src/QueryableModule/isQueryableModule.ts +20 -0
- package/src/QueryableModule/isQueryableModuleObject.ts +20 -0
- package/src/index.ts +1 -2
- package/src/instance/Instance.ts +7 -5
- package/src/instance/ModuleInstanceParams.ts +11 -0
- package/src/instance/ObjectResolver.ts +0 -2
- package/src/instance/attachable/AttachableInstance.ts +2 -2
- package/src/instance/index.ts +1 -0
- package/src/instance/isModuleInstance.ts +2 -2
- package/src/lib/duplicateModules.ts +2 -2
- package/src/withModule.ts +1 -6
- package/dist/neutral/ModuleParams.d.ts +0 -21
- package/dist/neutral/ModuleParams.d.ts.map +0 -1
- package/dist/neutral/module/IsModuleFactory.d.ts +0 -7
- package/dist/neutral/module/IsModuleFactory.d.ts.map +0 -1
- package/dist/neutral/module/Module.d.ts +0 -7
- package/dist/neutral/module/Module.d.ts.map +0 -1
- package/dist/neutral/module/ModuleFields.d.ts.map +0 -1
- package/dist/neutral/module/ModuleQueryFunctions.d.ts.map +0 -1
- package/dist/neutral/module/asModule.d.ts +0 -2
- package/dist/neutral/module/asModule.d.ts.map +0 -1
- package/dist/neutral/module/asModuleObject.d.ts +0 -2
- package/dist/neutral/module/asModuleObject.d.ts.map +0 -1
- package/dist/neutral/module/index.d.ts +0 -9
- package/dist/neutral/module/index.d.ts.map +0 -1
- package/dist/neutral/module/isModule.d.ts +0 -6
- package/dist/neutral/module/isModule.d.ts.map +0 -1
- package/dist/neutral/module/isModuleObject.d.ts +0 -5
- package/dist/neutral/module/isModuleObject.d.ts.map +0 -1
- package/src/ModuleParams.ts +0 -23
- package/src/module/IsModuleFactory.ts +0 -28
- package/src/module/Module.ts +0 -9
- package/src/module/asModule.ts +0 -5
- package/src/module/asModuleObject.ts +0 -5
- package/src/module/index.ts +0 -8
- package/src/module/isModule.ts +0 -14
- package/src/module/isModuleObject.ts +0 -14
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
AnyNonPromise,
|
|
3
|
-
AnyObject, EmptyObject, TypeCheck,
|
|
4
|
-
TypeCheckConfig,
|
|
5
|
-
} from '@xylabs/sdk-js'
|
|
6
|
-
|
|
7
|
-
import { asModuleObject } from './asModuleObject.ts'
|
|
8
|
-
import { isModuleObject } from './isModuleObject.ts'
|
|
9
|
-
import type { Module } from './Module.ts'
|
|
10
|
-
|
|
11
|
-
export type ModuleTypeCheck<T extends Module = Module> = TypeCheck<T>
|
|
12
|
-
|
|
13
|
-
export class IsModuleFactory<T extends Module = Module> {
|
|
14
|
-
create(expectedQueries?: string[], additionalChecks?: TypeCheck<AnyObject | EmptyObject>[]): ModuleTypeCheck<T> {
|
|
15
|
-
const result = (obj: AnyNonPromise, config?: TypeCheckConfig | number): obj is T => {
|
|
16
|
-
const mod = asModuleObject(obj)
|
|
17
|
-
return (
|
|
18
|
-
isModuleObject(mod, config)
|
|
19
|
-
// eslint-disable-next-line unicorn/no-array-reduce
|
|
20
|
-
&& (expectedQueries?.reduce((prev, query) => prev && mod.queries.includes(query), true) ?? true)
|
|
21
|
-
// perform additional checks
|
|
22
|
-
// eslint-disable-next-line unicorn/no-array-reduce
|
|
23
|
-
&& (additionalChecks?.reduce((prev, check) => prev && check(obj, config), true) ?? true)
|
|
24
|
-
)
|
|
25
|
-
}
|
|
26
|
-
return result
|
|
27
|
-
}
|
|
28
|
-
}
|
package/src/module/Module.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { CreatableInstance } from '@xylabs/sdk-js'
|
|
2
|
-
|
|
3
|
-
import type { ModuleEventData } from '../EventsModels/index.ts'
|
|
4
|
-
import type { ModuleParams } from '../ModuleParams.ts'
|
|
5
|
-
import type { ModuleFields } from './ModuleFields.ts'
|
|
6
|
-
|
|
7
|
-
export interface Module<TParams extends ModuleParams = ModuleParams, TEventData extends ModuleEventData<object> = ModuleEventData<object>>
|
|
8
|
-
extends ModuleFields<TParams>, CreatableInstance<TParams, TEventData> {
|
|
9
|
-
}
|
package/src/module/asModule.ts
DELETED
package/src/module/index.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from './asModule.ts'
|
|
2
|
-
export * from './asModuleObject.ts'
|
|
3
|
-
export * from './isModule.ts'
|
|
4
|
-
export * from './IsModuleFactory.ts'
|
|
5
|
-
export * from './isModuleObject.ts'
|
|
6
|
-
export * from './Module.ts'
|
|
7
|
-
export * from './ModuleFields.ts'
|
|
8
|
-
export * from './ModuleQueryFunctions.ts'
|
package/src/module/isModule.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { TypeCheck } from '@xylabs/sdk-js'
|
|
2
|
-
import type { Schema } from '@xyo-network/payload-model'
|
|
3
|
-
|
|
4
|
-
import { ModuleStateQuerySchema } from '../Queries/index.ts'
|
|
5
|
-
import { IsModuleFactory } from './IsModuleFactory.ts'
|
|
6
|
-
import { isModuleObject } from './isModuleObject.ts'
|
|
7
|
-
import type { Module } from './Module.ts'
|
|
8
|
-
|
|
9
|
-
export const requiredModuleQueries: Schema[] = [ModuleStateQuerySchema]
|
|
10
|
-
|
|
11
|
-
// we do not use IsInstanceFactory here to prevent a cycle
|
|
12
|
-
const factory = new IsModuleFactory<Module>()
|
|
13
|
-
|
|
14
|
-
export const isModule: TypeCheck<Module> = factory.create(requiredModuleQueries, [isModuleObject])
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { ObjectTypeShape, TypeCheck } from '@xylabs/sdk-js'
|
|
2
|
-
import { IsObjectFactory } from '@xylabs/sdk-js'
|
|
3
|
-
|
|
4
|
-
import type { Module } from './Module.ts'
|
|
5
|
-
|
|
6
|
-
export const requiredModuleShape: ObjectTypeShape = {
|
|
7
|
-
address: 'string',
|
|
8
|
-
queries: 'array',
|
|
9
|
-
query: 'function',
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const factory = new IsObjectFactory<Module>()
|
|
13
|
-
|
|
14
|
-
export const isModuleObject: TypeCheck<Module> = factory.create(requiredModuleShape)
|