@xyo-network/module-model 2.90.23 → 2.91.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/browser/Config.d.cts +4 -4
- package/dist/browser/Config.d.cts.map +1 -1
- package/dist/browser/Config.d.mts +4 -4
- package/dist/browser/Config.d.mts.map +1 -1
- package/dist/browser/Config.d.ts +4 -4
- package/dist/browser/Config.d.ts.map +1 -1
- package/dist/browser/CreatableModule/LabeledCreatableModuleFactory.d.cts +4 -4
- package/dist/browser/CreatableModule/LabeledCreatableModuleFactory.d.mts +4 -4
- package/dist/browser/CreatableModule/LabeledCreatableModuleFactory.d.ts +4 -4
- package/dist/browser/EventsModels/ModuleEventArgs.d.cts.map +1 -1
- package/dist/browser/EventsModels/ModuleEventArgs.d.mts.map +1 -1
- package/dist/browser/EventsModels/ModuleEventArgs.d.ts.map +1 -1
- package/dist/browser/ModuleDescription.d.cts +4 -2
- package/dist/browser/ModuleDescription.d.cts.map +1 -1
- package/dist/browser/ModuleDescription.d.mts +4 -2
- package/dist/browser/ModuleDescription.d.mts.map +1 -1
- package/dist/browser/ModuleDescription.d.ts +4 -2
- package/dist/browser/ModuleDescription.d.ts.map +1 -1
- package/dist/browser/Queries/ModuleAddress/Payload.d.cts +2 -1
- package/dist/browser/Queries/ModuleAddress/Payload.d.cts.map +1 -1
- package/dist/browser/Queries/ModuleAddress/Payload.d.mts +2 -1
- package/dist/browser/Queries/ModuleAddress/Payload.d.mts.map +1 -1
- package/dist/browser/Queries/ModuleAddress/Payload.d.ts +2 -1
- package/dist/browser/Queries/ModuleAddress/Payload.d.ts.map +1 -1
- package/dist/browser/Queries/State.d.cts +5 -0
- package/dist/browser/Queries/State.d.cts.map +1 -0
- package/dist/browser/Queries/State.d.mts +5 -0
- package/dist/browser/Queries/State.d.mts.map +1 -0
- package/dist/browser/Queries/State.d.ts +5 -0
- package/dist/browser/Queries/State.d.ts.map +1 -0
- package/dist/browser/Queries/Subscribe.d.cts +2 -1
- package/dist/browser/Queries/Subscribe.d.cts.map +1 -1
- package/dist/browser/Queries/Subscribe.d.mts +2 -1
- package/dist/browser/Queries/Subscribe.d.mts.map +1 -1
- package/dist/browser/Queries/Subscribe.d.ts +2 -1
- package/dist/browser/Queries/Subscribe.d.ts.map +1 -1
- package/dist/browser/Queries/index.d.cts +3 -3
- package/dist/browser/Queries/index.d.cts.map +1 -1
- package/dist/browser/Queries/index.d.mts +3 -3
- package/dist/browser/Queries/index.d.mts.map +1 -1
- package/dist/browser/Queries/index.d.ts +3 -3
- package/dist/browser/Queries/index.d.ts.map +1 -1
- package/dist/browser/index.cjs +85 -5
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +85 -5
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/instance/Instance.d.cts +15 -0
- package/dist/browser/instance/Instance.d.cts.map +1 -0
- package/dist/browser/instance/Instance.d.mts +15 -0
- package/dist/browser/instance/Instance.d.mts.map +1 -0
- package/dist/browser/instance/Instance.d.ts +15 -0
- package/dist/browser/instance/Instance.d.ts.map +1 -0
- package/dist/browser/instance/ModuleFilter.d.cts +133 -0
- package/dist/browser/instance/ModuleFilter.d.cts.map +1 -0
- package/dist/browser/instance/ModuleFilter.d.mts +133 -0
- package/dist/browser/instance/ModuleFilter.d.mts.map +1 -0
- package/dist/browser/instance/ModuleFilter.d.ts +133 -0
- package/dist/browser/instance/ModuleFilter.d.ts.map +1 -0
- package/dist/browser/instance/ModuleIdentifier.d.cts +42 -0
- package/dist/browser/instance/ModuleIdentifier.d.cts.map +1 -0
- package/dist/browser/instance/ModuleIdentifier.d.mts +42 -0
- package/dist/browser/instance/ModuleIdentifier.d.mts.map +1 -0
- package/dist/browser/instance/ModuleIdentifier.d.ts +42 -0
- package/dist/browser/instance/ModuleIdentifier.d.ts.map +1 -0
- package/dist/browser/instance/ModuleRepository.d.cts +8 -7
- package/dist/browser/instance/ModuleRepository.d.cts.map +1 -1
- package/dist/browser/instance/ModuleRepository.d.mts +8 -7
- package/dist/browser/instance/ModuleRepository.d.mts.map +1 -1
- package/dist/browser/instance/ModuleRepository.d.ts +8 -7
- package/dist/browser/instance/ModuleRepository.d.ts.map +1 -1
- package/dist/browser/instance/ModuleResolver.d.cts +50 -0
- package/dist/browser/instance/ModuleResolver.d.cts.map +1 -0
- package/dist/browser/instance/ModuleResolver.d.mts +50 -0
- package/dist/browser/instance/ModuleResolver.d.mts.map +1 -0
- package/dist/browser/instance/ModuleResolver.d.ts +50 -0
- package/dist/browser/instance/ModuleResolver.d.ts.map +1 -0
- package/dist/browser/instance/ObjectFilter.d.cts +26 -0
- package/dist/browser/instance/ObjectFilter.d.cts.map +1 -0
- package/dist/browser/instance/ObjectFilter.d.mts +26 -0
- package/dist/browser/instance/ObjectFilter.d.mts.map +1 -0
- package/dist/browser/instance/ObjectFilter.d.ts +26 -0
- package/dist/browser/instance/ObjectFilter.d.ts.map +1 -0
- package/dist/browser/instance/ObjectResolver.d.cts +15 -0
- package/dist/browser/instance/ObjectResolver.d.cts.map +1 -0
- package/dist/browser/instance/ObjectResolver.d.mts +15 -0
- package/dist/browser/instance/ObjectResolver.d.mts.map +1 -0
- package/dist/browser/instance/ObjectResolver.d.ts +15 -0
- package/dist/browser/instance/ObjectResolver.d.ts.map +1 -0
- package/dist/browser/instance/asModuleInstance.d.cts +10 -10
- package/dist/browser/instance/asModuleInstance.d.mts +10 -10
- package/dist/browser/instance/asModuleInstance.d.ts +10 -10
- package/dist/browser/instance/index.d.cts +6 -1
- package/dist/browser/instance/index.d.cts.map +1 -1
- package/dist/browser/instance/index.d.mts +6 -1
- package/dist/browser/instance/index.d.mts.map +1 -1
- package/dist/browser/instance/index.d.ts +6 -1
- package/dist/browser/instance/index.d.ts.map +1 -1
- package/dist/browser/instance/isModuleInstance.d.cts +1 -1
- package/dist/browser/instance/isModuleInstance.d.cts.map +1 -1
- package/dist/browser/instance/isModuleInstance.d.mts +1 -1
- package/dist/browser/instance/isModuleInstance.d.mts.map +1 -1
- package/dist/browser/instance/isModuleInstance.d.ts +1 -1
- package/dist/browser/instance/isModuleInstance.d.ts.map +1 -1
- package/dist/browser/lib/duplicateModules.d.cts +4 -4
- package/dist/browser/lib/duplicateModules.d.mts +4 -4
- package/dist/browser/lib/duplicateModules.d.ts +4 -4
- package/dist/browser/module/ModuleFields.d.cts +2 -1
- package/dist/browser/module/ModuleFields.d.cts.map +1 -1
- package/dist/browser/module/ModuleFields.d.mts +2 -1
- package/dist/browser/module/ModuleFields.d.mts.map +1 -1
- package/dist/browser/module/ModuleFields.d.ts +2 -1
- package/dist/browser/module/ModuleFields.d.ts.map +1 -1
- package/dist/browser/module/ModuleQueryFunctions.d.cts +1 -0
- package/dist/browser/module/ModuleQueryFunctions.d.cts.map +1 -1
- package/dist/browser/module/ModuleQueryFunctions.d.mts +1 -0
- package/dist/browser/module/ModuleQueryFunctions.d.mts.map +1 -1
- package/dist/browser/module/ModuleQueryFunctions.d.ts +1 -0
- package/dist/browser/module/ModuleQueryFunctions.d.ts.map +1 -1
- package/dist/browser/module/asModule.d.cts +8 -8
- package/dist/browser/module/asModule.d.mts +8 -8
- package/dist/browser/module/asModule.d.ts +8 -8
- package/dist/browser/module/asModuleObject.d.cts +8 -8
- package/dist/browser/module/asModuleObject.d.mts +8 -8
- package/dist/browser/module/asModuleObject.d.ts +8 -8
- package/dist/browser/module/isModuleObject.d.cts +4 -4
- package/dist/browser/module/isModuleObject.d.mts +4 -4
- package/dist/browser/module/isModuleObject.d.ts +4 -4
- package/dist/browser/withModule.d.cts +8 -8
- package/dist/browser/withModule.d.mts +8 -8
- package/dist/browser/withModule.d.ts +8 -8
- package/dist/node/Config.d.cts +4 -4
- package/dist/node/Config.d.cts.map +1 -1
- package/dist/node/Config.d.mts +4 -4
- package/dist/node/Config.d.mts.map +1 -1
- package/dist/node/Config.d.ts +4 -4
- package/dist/node/Config.d.ts.map +1 -1
- package/dist/node/CreatableModule/LabeledCreatableModuleFactory.d.cts +4 -4
- package/dist/node/CreatableModule/LabeledCreatableModuleFactory.d.mts +4 -4
- package/dist/node/CreatableModule/LabeledCreatableModuleFactory.d.ts +4 -4
- package/dist/node/EventsModels/ModuleEventArgs.d.cts.map +1 -1
- package/dist/node/EventsModels/ModuleEventArgs.d.mts.map +1 -1
- package/dist/node/EventsModels/ModuleEventArgs.d.ts.map +1 -1
- package/dist/node/ModuleDescription.d.cts +4 -2
- package/dist/node/ModuleDescription.d.cts.map +1 -1
- package/dist/node/ModuleDescription.d.mts +4 -2
- package/dist/node/ModuleDescription.d.mts.map +1 -1
- package/dist/node/ModuleDescription.d.ts +4 -2
- package/dist/node/ModuleDescription.d.ts.map +1 -1
- package/dist/node/Queries/ModuleAddress/Payload.d.cts +2 -1
- package/dist/node/Queries/ModuleAddress/Payload.d.cts.map +1 -1
- package/dist/node/Queries/ModuleAddress/Payload.d.mts +2 -1
- package/dist/node/Queries/ModuleAddress/Payload.d.mts.map +1 -1
- package/dist/node/Queries/ModuleAddress/Payload.d.ts +2 -1
- package/dist/node/Queries/ModuleAddress/Payload.d.ts.map +1 -1
- package/dist/node/Queries/State.d.cts +5 -0
- package/dist/node/Queries/State.d.cts.map +1 -0
- package/dist/node/Queries/State.d.mts +5 -0
- package/dist/node/Queries/State.d.mts.map +1 -0
- package/dist/node/Queries/State.d.ts +5 -0
- package/dist/node/Queries/State.d.ts.map +1 -0
- package/dist/node/Queries/Subscribe.d.cts +2 -1
- package/dist/node/Queries/Subscribe.d.cts.map +1 -1
- package/dist/node/Queries/Subscribe.d.mts +2 -1
- package/dist/node/Queries/Subscribe.d.mts.map +1 -1
- package/dist/node/Queries/Subscribe.d.ts +2 -1
- package/dist/node/Queries/Subscribe.d.ts.map +1 -1
- package/dist/node/Queries/index.d.cts +3 -3
- package/dist/node/Queries/index.d.cts.map +1 -1
- package/dist/node/Queries/index.d.mts +3 -3
- package/dist/node/Queries/index.d.mts.map +1 -1
- package/dist/node/Queries/index.d.ts +3 -3
- package/dist/node/Queries/index.d.ts.map +1 -1
- package/dist/node/index.cjs +98 -5
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +85 -5
- package/dist/node/index.js.map +1 -1
- package/dist/node/instance/Instance.d.cts +15 -0
- package/dist/node/instance/Instance.d.cts.map +1 -0
- package/dist/node/instance/Instance.d.mts +15 -0
- package/dist/node/instance/Instance.d.mts.map +1 -0
- package/dist/node/instance/Instance.d.ts +15 -0
- package/dist/node/instance/Instance.d.ts.map +1 -0
- package/dist/node/instance/ModuleFilter.d.cts +133 -0
- package/dist/node/instance/ModuleFilter.d.cts.map +1 -0
- package/dist/node/instance/ModuleFilter.d.mts +133 -0
- package/dist/node/instance/ModuleFilter.d.mts.map +1 -0
- package/dist/node/instance/ModuleFilter.d.ts +133 -0
- package/dist/node/instance/ModuleFilter.d.ts.map +1 -0
- package/dist/node/instance/ModuleIdentifier.d.cts +42 -0
- package/dist/node/instance/ModuleIdentifier.d.cts.map +1 -0
- package/dist/node/instance/ModuleIdentifier.d.mts +42 -0
- package/dist/node/instance/ModuleIdentifier.d.mts.map +1 -0
- package/dist/node/instance/ModuleIdentifier.d.ts +42 -0
- package/dist/node/instance/ModuleIdentifier.d.ts.map +1 -0
- package/dist/node/instance/ModuleRepository.d.cts +8 -7
- package/dist/node/instance/ModuleRepository.d.cts.map +1 -1
- package/dist/node/instance/ModuleRepository.d.mts +8 -7
- package/dist/node/instance/ModuleRepository.d.mts.map +1 -1
- package/dist/node/instance/ModuleRepository.d.ts +8 -7
- package/dist/node/instance/ModuleRepository.d.ts.map +1 -1
- package/dist/node/instance/ModuleResolver.d.cts +50 -0
- package/dist/node/instance/ModuleResolver.d.cts.map +1 -0
- package/dist/node/instance/ModuleResolver.d.mts +50 -0
- package/dist/node/instance/ModuleResolver.d.mts.map +1 -0
- package/dist/node/instance/ModuleResolver.d.ts +50 -0
- package/dist/node/instance/ModuleResolver.d.ts.map +1 -0
- package/dist/node/instance/ObjectFilter.d.cts +26 -0
- package/dist/node/instance/ObjectFilter.d.cts.map +1 -0
- package/dist/node/instance/ObjectFilter.d.mts +26 -0
- package/dist/node/instance/ObjectFilter.d.mts.map +1 -0
- package/dist/node/instance/ObjectFilter.d.ts +26 -0
- package/dist/node/instance/ObjectFilter.d.ts.map +1 -0
- package/dist/node/instance/ObjectResolver.d.cts +15 -0
- package/dist/node/instance/ObjectResolver.d.cts.map +1 -0
- package/dist/node/instance/ObjectResolver.d.mts +15 -0
- package/dist/node/instance/ObjectResolver.d.mts.map +1 -0
- package/dist/node/instance/ObjectResolver.d.ts +15 -0
- package/dist/node/instance/ObjectResolver.d.ts.map +1 -0
- package/dist/node/instance/asModuleInstance.d.cts +10 -10
- package/dist/node/instance/asModuleInstance.d.mts +10 -10
- package/dist/node/instance/asModuleInstance.d.ts +10 -10
- package/dist/node/instance/index.d.cts +6 -1
- package/dist/node/instance/index.d.cts.map +1 -1
- package/dist/node/instance/index.d.mts +6 -1
- package/dist/node/instance/index.d.mts.map +1 -1
- package/dist/node/instance/index.d.ts +6 -1
- package/dist/node/instance/index.d.ts.map +1 -1
- package/dist/node/instance/isModuleInstance.d.cts +1 -1
- package/dist/node/instance/isModuleInstance.d.cts.map +1 -1
- package/dist/node/instance/isModuleInstance.d.mts +1 -1
- package/dist/node/instance/isModuleInstance.d.mts.map +1 -1
- package/dist/node/instance/isModuleInstance.d.ts +1 -1
- package/dist/node/instance/isModuleInstance.d.ts.map +1 -1
- package/dist/node/lib/duplicateModules.d.cts +4 -4
- package/dist/node/lib/duplicateModules.d.mts +4 -4
- package/dist/node/lib/duplicateModules.d.ts +4 -4
- package/dist/node/module/ModuleFields.d.cts +2 -1
- package/dist/node/module/ModuleFields.d.cts.map +1 -1
- package/dist/node/module/ModuleFields.d.mts +2 -1
- package/dist/node/module/ModuleFields.d.mts.map +1 -1
- package/dist/node/module/ModuleFields.d.ts +2 -1
- package/dist/node/module/ModuleFields.d.ts.map +1 -1
- package/dist/node/module/ModuleQueryFunctions.d.cts +1 -0
- package/dist/node/module/ModuleQueryFunctions.d.cts.map +1 -1
- package/dist/node/module/ModuleQueryFunctions.d.mts +1 -0
- package/dist/node/module/ModuleQueryFunctions.d.mts.map +1 -1
- package/dist/node/module/ModuleQueryFunctions.d.ts +1 -0
- package/dist/node/module/ModuleQueryFunctions.d.ts.map +1 -1
- package/dist/node/module/asModule.d.cts +8 -8
- package/dist/node/module/asModule.d.mts +8 -8
- package/dist/node/module/asModule.d.ts +8 -8
- package/dist/node/module/asModuleObject.d.cts +8 -8
- package/dist/node/module/asModuleObject.d.mts +8 -8
- package/dist/node/module/asModuleObject.d.ts +8 -8
- package/dist/node/module/isModuleObject.d.cts +4 -4
- package/dist/node/module/isModuleObject.d.mts +4 -4
- package/dist/node/module/isModuleObject.d.ts +4 -4
- package/dist/node/withModule.d.cts +8 -8
- package/dist/node/withModule.d.mts +8 -8
- package/dist/node/withModule.d.ts +8 -8
- package/package.json +16 -16
- package/src/Config.ts +4 -4
- package/src/CreatableModule/ModuleFactoryLocator.ts +2 -2
- package/src/EventsModels/ModuleEventArgs.ts +3 -2
- package/src/ModuleDescription.ts +5 -2
- package/src/Queries/ModuleAddress/Payload.ts +2 -1
- package/src/Queries/State.ts +6 -0
- package/src/Queries/Subscribe.ts +2 -1
- package/src/Queries/index.ts +9 -5
- package/src/instance/Instance.ts +26 -0
- package/src/instance/ModuleFilter.ts +30 -0
- package/src/instance/ModuleIdentifier.ts +65 -0
- package/src/instance/ModuleRepository.ts +9 -7
- package/src/instance/ModuleResolver.ts +11 -0
- package/src/instance/ObjectFilter.ts +41 -0
- package/src/instance/ObjectResolver.ts +23 -0
- package/src/instance/index.ts +6 -1
- package/src/instance/isModuleInstance.ts +1 -1
- package/src/module/ModuleFields.ts +2 -1
- package/src/module/ModuleQueryFunctions.ts +1 -0
- package/dist/browser/instance/ModuleInstance.d.cts +0 -42
- package/dist/browser/instance/ModuleInstance.d.cts.map +0 -1
- package/dist/browser/instance/ModuleInstance.d.mts +0 -42
- package/dist/browser/instance/ModuleInstance.d.mts.map +0 -1
- package/dist/browser/instance/ModuleInstance.d.ts +0 -42
- package/dist/browser/instance/ModuleInstance.d.ts.map +0 -1
- package/dist/node/instance/ModuleInstance.d.cts +0 -42
- package/dist/node/instance/ModuleInstance.d.cts.map +0 -1
- package/dist/node/instance/ModuleInstance.d.mts +0 -42
- package/dist/node/instance/ModuleInstance.d.mts.map +0 -1
- package/dist/node/instance/ModuleInstance.d.ts +0 -42
- package/dist/node/instance/ModuleInstance.d.ts.map +0 -1
- package/src/instance/ModuleInstance.ts +0 -73
|
@@ -15,8 +15,8 @@ export declare const withModule: <R>(module: any, closure: (module: import("./mo
|
|
|
15
15
|
schema: "network.xyo.module.config";
|
|
16
16
|
readonly security?: {
|
|
17
17
|
readonly allowAnonymous?: boolean | undefined;
|
|
18
|
-
readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
19
|
-
readonly disallowed?: Record<string, string[]> | undefined;
|
|
18
|
+
readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
19
|
+
readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
|
|
20
20
|
} | undefined;
|
|
21
21
|
readonly sign?: boolean | undefined;
|
|
22
22
|
readonly storeQueries?: boolean | undefined;
|
|
@@ -32,8 +32,8 @@ export declare const withModule: <R>(module: any, closure: (module: import("./mo
|
|
|
32
32
|
schema: "network.xyo.module.config";
|
|
33
33
|
readonly security?: {
|
|
34
34
|
readonly allowAnonymous?: boolean | undefined;
|
|
35
|
-
readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
36
|
-
readonly disallowed?: Record<string, string[]> | undefined;
|
|
35
|
+
readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
36
|
+
readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
|
|
37
37
|
} | undefined;
|
|
38
38
|
readonly sign?: boolean | undefined;
|
|
39
39
|
readonly storeQueries?: boolean | undefined;
|
|
@@ -56,8 +56,8 @@ export declare const withModuleInstance: <R>(module: any, closure: (module: impo
|
|
|
56
56
|
schema: "network.xyo.module.config";
|
|
57
57
|
readonly security?: {
|
|
58
58
|
readonly allowAnonymous?: boolean | undefined;
|
|
59
|
-
readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
60
|
-
readonly disallowed?: Record<string, string[]> | undefined;
|
|
59
|
+
readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
60
|
+
readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
|
|
61
61
|
} | undefined;
|
|
62
62
|
readonly sign?: boolean | undefined;
|
|
63
63
|
readonly storeQueries?: boolean | undefined;
|
|
@@ -73,8 +73,8 @@ export declare const withModuleInstance: <R>(module: any, closure: (module: impo
|
|
|
73
73
|
schema: "network.xyo.module.config";
|
|
74
74
|
readonly security?: {
|
|
75
75
|
readonly allowAnonymous?: boolean | undefined;
|
|
76
|
-
readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
77
|
-
readonly disallowed?: Record<string, string[]> | undefined;
|
|
76
|
+
readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
77
|
+
readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
|
|
78
78
|
} | undefined;
|
|
79
79
|
readonly sign?: boolean | undefined;
|
|
80
80
|
readonly storeQueries?: boolean | undefined;
|
|
@@ -15,8 +15,8 @@ export declare const withModule: <R>(module: any, closure: (module: import("./mo
|
|
|
15
15
|
schema: "network.xyo.module.config";
|
|
16
16
|
readonly security?: {
|
|
17
17
|
readonly allowAnonymous?: boolean | undefined;
|
|
18
|
-
readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
19
|
-
readonly disallowed?: Record<string, string[]> | undefined;
|
|
18
|
+
readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
19
|
+
readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
|
|
20
20
|
} | undefined;
|
|
21
21
|
readonly sign?: boolean | undefined;
|
|
22
22
|
readonly storeQueries?: boolean | undefined;
|
|
@@ -32,8 +32,8 @@ export declare const withModule: <R>(module: any, closure: (module: import("./mo
|
|
|
32
32
|
schema: "network.xyo.module.config";
|
|
33
33
|
readonly security?: {
|
|
34
34
|
readonly allowAnonymous?: boolean | undefined;
|
|
35
|
-
readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
36
|
-
readonly disallowed?: Record<string, string[]> | undefined;
|
|
35
|
+
readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
36
|
+
readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
|
|
37
37
|
} | undefined;
|
|
38
38
|
readonly sign?: boolean | undefined;
|
|
39
39
|
readonly storeQueries?: boolean | undefined;
|
|
@@ -56,8 +56,8 @@ export declare const withModuleInstance: <R>(module: any, closure: (module: impo
|
|
|
56
56
|
schema: "network.xyo.module.config";
|
|
57
57
|
readonly security?: {
|
|
58
58
|
readonly allowAnonymous?: boolean | undefined;
|
|
59
|
-
readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
60
|
-
readonly disallowed?: Record<string, string[]> | undefined;
|
|
59
|
+
readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
60
|
+
readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
|
|
61
61
|
} | undefined;
|
|
62
62
|
readonly sign?: boolean | undefined;
|
|
63
63
|
readonly storeQueries?: boolean | undefined;
|
|
@@ -73,8 +73,8 @@ export declare const withModuleInstance: <R>(module: any, closure: (module: impo
|
|
|
73
73
|
schema: "network.xyo.module.config";
|
|
74
74
|
readonly security?: {
|
|
75
75
|
readonly allowAnonymous?: boolean | undefined;
|
|
76
|
-
readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
77
|
-
readonly disallowed?: Record<string, string[]> | undefined;
|
|
76
|
+
readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
77
|
+
readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
|
|
78
78
|
} | undefined;
|
|
79
79
|
readonly sign?: boolean | undefined;
|
|
80
80
|
readonly storeQueries?: boolean | undefined;
|
|
@@ -15,8 +15,8 @@ export declare const withModule: <R>(module: any, closure: (module: import("./mo
|
|
|
15
15
|
schema: "network.xyo.module.config";
|
|
16
16
|
readonly security?: {
|
|
17
17
|
readonly allowAnonymous?: boolean | undefined;
|
|
18
|
-
readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
19
|
-
readonly disallowed?: Record<string, string[]> | undefined;
|
|
18
|
+
readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
19
|
+
readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
|
|
20
20
|
} | undefined;
|
|
21
21
|
readonly sign?: boolean | undefined;
|
|
22
22
|
readonly storeQueries?: boolean | undefined;
|
|
@@ -32,8 +32,8 @@ export declare const withModule: <R>(module: any, closure: (module: import("./mo
|
|
|
32
32
|
schema: "network.xyo.module.config";
|
|
33
33
|
readonly security?: {
|
|
34
34
|
readonly allowAnonymous?: boolean | undefined;
|
|
35
|
-
readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
36
|
-
readonly disallowed?: Record<string, string[]> | undefined;
|
|
35
|
+
readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
36
|
+
readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
|
|
37
37
|
} | undefined;
|
|
38
38
|
readonly sign?: boolean | undefined;
|
|
39
39
|
readonly storeQueries?: boolean | undefined;
|
|
@@ -56,8 +56,8 @@ export declare const withModuleInstance: <R>(module: any, closure: (module: impo
|
|
|
56
56
|
schema: "network.xyo.module.config";
|
|
57
57
|
readonly security?: {
|
|
58
58
|
readonly allowAnonymous?: boolean | undefined;
|
|
59
|
-
readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
60
|
-
readonly disallowed?: Record<string, string[]> | undefined;
|
|
59
|
+
readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
60
|
+
readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
|
|
61
61
|
} | undefined;
|
|
62
62
|
readonly sign?: boolean | undefined;
|
|
63
63
|
readonly storeQueries?: boolean | undefined;
|
|
@@ -73,8 +73,8 @@ export declare const withModuleInstance: <R>(module: any, closure: (module: impo
|
|
|
73
73
|
schema: "network.xyo.module.config";
|
|
74
74
|
readonly security?: {
|
|
75
75
|
readonly allowAnonymous?: boolean | undefined;
|
|
76
|
-
readonly allowed?: Record<string, (string | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
77
|
-
readonly disallowed?: Record<string, string[]> | undefined;
|
|
76
|
+
readonly allowed?: Record<string, (Lowercase<string> | import("./Config").CosigningAddressSet)[]> | undefined;
|
|
77
|
+
readonly disallowed?: Record<string, Lowercase<string>[]> | undefined;
|
|
78
78
|
} | undefined;
|
|
79
79
|
readonly sign?: boolean | undefined;
|
|
80
80
|
readonly storeQueries?: boolean | undefined;
|
package/package.json
CHANGED
|
@@ -10,23 +10,23 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xylabs/assert": "^
|
|
14
|
-
"@xylabs/hex": "^
|
|
15
|
-
"@xylabs/lodash": "^
|
|
16
|
-
"@xylabs/logger": "^
|
|
17
|
-
"@xylabs/object": "^
|
|
18
|
-
"@xylabs/promise": "^
|
|
19
|
-
"@xylabs/retry": "^
|
|
20
|
-
"@xyo-network/account-model": "~2.
|
|
21
|
-
"@xyo-network/address-payload-plugin": "~2.
|
|
22
|
-
"@xyo-network/boundwitness-model": "~2.
|
|
23
|
-
"@xyo-network/manifest-model": "~2.
|
|
24
|
-
"@xyo-network/module-events": "~2.
|
|
25
|
-
"@xyo-network/payload-model": "~2.
|
|
13
|
+
"@xylabs/assert": "^3.0.2",
|
|
14
|
+
"@xylabs/hex": "^3.0.2",
|
|
15
|
+
"@xylabs/lodash": "^3.0.2",
|
|
16
|
+
"@xylabs/logger": "^3.0.2",
|
|
17
|
+
"@xylabs/object": "^3.0.2",
|
|
18
|
+
"@xylabs/promise": "^3.0.2",
|
|
19
|
+
"@xylabs/retry": "^3.0.2",
|
|
20
|
+
"@xyo-network/account-model": "~2.91.1",
|
|
21
|
+
"@xyo-network/address-payload-plugin": "~2.91.1",
|
|
22
|
+
"@xyo-network/boundwitness-model": "~2.91.1",
|
|
23
|
+
"@xyo-network/manifest-model": "~2.91.1",
|
|
24
|
+
"@xyo-network/module-events": "~2.91.1",
|
|
25
|
+
"@xyo-network/payload-model": "~2.91.1"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@xylabs/ts-scripts-yarn3": "^3.
|
|
29
|
-
"@xylabs/tsconfig": "^3.
|
|
28
|
+
"@xylabs/ts-scripts-yarn3": "^3.4.1",
|
|
29
|
+
"@xylabs/tsconfig": "^3.4.1",
|
|
30
30
|
"typescript": "^5.3.3"
|
|
31
31
|
},
|
|
32
32
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -68,6 +68,6 @@
|
|
|
68
68
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
69
69
|
},
|
|
70
70
|
"sideEffects": false,
|
|
71
|
-
"version": "2.
|
|
71
|
+
"version": "2.91.1",
|
|
72
72
|
"type": "module"
|
|
73
73
|
}
|
package/src/Config.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { EmptyObject, WithAdditional } from '@xylabs/object'
|
|
|
3
3
|
import { RetryConfig } from '@xylabs/retry'
|
|
4
4
|
import { Payload, Schema } from '@xyo-network/payload-model'
|
|
5
5
|
|
|
6
|
+
import { ModuleIdentifier, ModuleName } from './instance'
|
|
6
7
|
import { Labels } from './Labels'
|
|
7
8
|
|
|
8
9
|
export type ModuleConfigSchema = 'network.xyo.module.config'
|
|
@@ -10,12 +11,11 @@ export const ModuleConfigSchema: ModuleConfigSchema = 'network.xyo.module.config
|
|
|
10
11
|
|
|
11
12
|
export type CosigningAddressSet = string[]
|
|
12
13
|
export type SchemaString = string
|
|
13
|
-
export type ModuleName = string
|
|
14
14
|
export type NameOrAddress = Address | ModuleName
|
|
15
15
|
|
|
16
16
|
export interface ArchivingModuleConfig {
|
|
17
17
|
readonly archiving?: {
|
|
18
|
-
readonly archivists?:
|
|
18
|
+
readonly archivists?: ModuleIdentifier[]
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
|
@@ -23,7 +23,7 @@ export type ModuleConfig<TConfig extends EmptyObject | Payload | void = void, TS
|
|
|
23
23
|
WithAdditional<
|
|
24
24
|
{
|
|
25
25
|
/** @field The name/address of the Archivist to use for this module */
|
|
26
|
-
readonly archivist?:
|
|
26
|
+
readonly archivist?: ModuleIdentifier
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* @field The labels used for this module. If a label is specified, then the
|
|
@@ -33,7 +33,7 @@ export type ModuleConfig<TConfig extends EmptyObject | Payload | void = void, TS
|
|
|
33
33
|
readonly labels?: Labels
|
|
34
34
|
|
|
35
35
|
/** @field Friendly name of module (not collision resistent). Can be used to resolve module when registered/attached to Node. */
|
|
36
|
-
readonly name?:
|
|
36
|
+
readonly name?: ModuleName
|
|
37
37
|
|
|
38
38
|
/** @field paging settings for queries */
|
|
39
39
|
readonly paging?: Record<string, { size?: number }>
|
|
@@ -75,8 +75,8 @@ export class ModuleFactoryLocator {
|
|
|
75
75
|
*/
|
|
76
76
|
tryLocate(schema: string, labels?: Labels): CreatableModuleFactory | LabeledCreatableModuleFactory | undefined {
|
|
77
77
|
// If labels were provided
|
|
78
|
-
return labels
|
|
79
|
-
|
|
78
|
+
return labels ?
|
|
79
|
+
// Find the first factory that has labels and has all the labels provided
|
|
80
80
|
this._registry[schema]?.filter(hasLabels).find((factory) => hasAllLabels(factory?.labels, labels))
|
|
81
81
|
: // Otherwise, return the first factory
|
|
82
82
|
this._registry[schema]?.[0]
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { EventArgs } from '@xyo-network/module-events'
|
|
2
2
|
|
|
3
|
-
export type ModuleEventArgs<TModule extends object = object, TArgs extends EventArgs | undefined = undefined> =
|
|
4
|
-
?
|
|
3
|
+
export type ModuleEventArgs<TModule extends object = object, TArgs extends EventArgs | undefined = undefined> =
|
|
4
|
+
TArgs extends EventArgs ?
|
|
5
|
+
{
|
|
5
6
|
module: TModule
|
|
6
7
|
} & TArgs
|
|
7
8
|
: {
|
package/src/ModuleDescription.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Address } from '@xylabs/hex'
|
|
1
2
|
import { AddressSchema } from '@xyo-network/address-payload-plugin'
|
|
2
3
|
import { Payload } from '@xyo-network/payload-model'
|
|
3
4
|
|
|
@@ -5,7 +6,7 @@ export const AddressPreviousHashSchema = `${AddressSchema}.hash.previous`
|
|
|
5
6
|
export type AddressPreviousHashSchema = typeof AddressPreviousHashSchema
|
|
6
7
|
|
|
7
8
|
export type AddressPreviousHashPayload = Payload<{
|
|
8
|
-
address:
|
|
9
|
+
address: Address
|
|
9
10
|
previousHash?: string
|
|
10
11
|
schema: AddressPreviousHashSchema
|
|
11
12
|
}>
|
package/src/Queries/Subscribe.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Address } from '@xylabs/hex'
|
|
1
2
|
import { Query } from '@xyo-network/payload-model'
|
|
2
3
|
|
|
3
4
|
export type ModuleSubscribeQuerySchema = 'network.xyo.query.module.subscribe'
|
|
@@ -11,7 +12,7 @@ export interface ModuleSubscribeFilter {
|
|
|
11
12
|
//requests notification when a boundwitness is added to the modules chain that meets the filter criteria
|
|
12
13
|
export type ModuleSubscribeQuery = Query<{
|
|
13
14
|
/** @field The address that will receive notifications */
|
|
14
|
-
address:
|
|
15
|
+
address: Address
|
|
15
16
|
/** @field A subscribe with a null for filter is an unsubscribe */
|
|
16
17
|
filter?: ModuleSubscribeFilter | null
|
|
17
18
|
/** @field The maximum events queued per send [may increase frequency] */
|
package/src/Queries/index.ts
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
import { Query } from '@xyo-network/payload-model'
|
|
2
|
-
|
|
3
1
|
import { ModuleDescribeQuery } from './Describe'
|
|
4
2
|
import { ModuleDiscoverQuery } from './Discover'
|
|
5
3
|
import { ModuleManifestQuery } from './Manifest'
|
|
6
4
|
import { ModuleAddressQuery } from './ModuleAddress'
|
|
5
|
+
import { ModuleStateQuery } from './State'
|
|
7
6
|
import { ModuleSubscribeQuery } from './Subscribe'
|
|
8
7
|
|
|
9
8
|
export * from './Describe'
|
|
10
9
|
export * from './Discover'
|
|
11
10
|
export * from './Manifest'
|
|
12
11
|
export * from './ModuleAddress'
|
|
12
|
+
export * from './State'
|
|
13
13
|
export * from './Subscribe'
|
|
14
14
|
|
|
15
|
-
export type
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
export type ModuleQueries =
|
|
16
|
+
| ModuleDiscoverQuery
|
|
17
|
+
| ModuleAddressQuery
|
|
18
|
+
| ModuleSubscribeQuery
|
|
19
|
+
| ModuleDescribeQuery
|
|
20
|
+
| ModuleManifestQuery
|
|
21
|
+
| ModuleStateQuery
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { IsObjectFactory, TypeCheck } from '@xylabs/object'
|
|
2
|
+
|
|
3
|
+
import { ModuleEventData } from '../EventsModels'
|
|
4
|
+
import { Module, ModuleQueryFunctions } from '../module'
|
|
5
|
+
import { ModuleParams } from '../ModuleParams'
|
|
6
|
+
import { ObjectResolver, ObjectResolverInstance } from './ObjectResolver'
|
|
7
|
+
|
|
8
|
+
export type ModulePipeLine = Lowercase<'one-to-one' | 'one-to-many' | 'many-to-one' | 'many-to-many'>
|
|
9
|
+
|
|
10
|
+
export interface ModuleInstance<TParams extends ModuleParams = ModuleParams, TEventData extends ModuleEventData = ModuleEventData>
|
|
11
|
+
extends Module<TParams, TEventData>,
|
|
12
|
+
ObjectResolver<ModuleInstance>,
|
|
13
|
+
ModuleQueryFunctions {
|
|
14
|
+
/* The resolver is a 'down' resolver. It can resolve the module or any children (if it is a node for example), that are in the module*/
|
|
15
|
+
readonly downResolver: Omit<ObjectResolverInstance<ModuleInstance>, 'resolve'>
|
|
16
|
+
|
|
17
|
+
readonly pipeline?: ModulePipeLine
|
|
18
|
+
|
|
19
|
+
/* The resolver is a 'up' resolver. It can resolve the parent or any children of the parent*/
|
|
20
|
+
/* This is set by a NodeModule when attaching to the module */
|
|
21
|
+
readonly upResolver: Omit<ObjectResolverInstance<ModuleInstance>, 'resolve'>
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export type InstanceTypeCheck<T extends ModuleInstance = ModuleInstance> = TypeCheck<T>
|
|
25
|
+
|
|
26
|
+
export class IsInstanceFactory<T extends ModuleInstance = ModuleInstance> extends IsObjectFactory<T> {}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ModuleInstance } from './Instance'
|
|
2
|
+
import {
|
|
3
|
+
AddressObjectFilter,
|
|
4
|
+
AnyObjectFilter,
|
|
5
|
+
isAddressObjectFilter,
|
|
6
|
+
isNameObjectFilter,
|
|
7
|
+
isQueryObjectFilter,
|
|
8
|
+
NameObjectFilter,
|
|
9
|
+
ObjectFilter,
|
|
10
|
+
ObjectFilterOptions,
|
|
11
|
+
QueryObjectFilter,
|
|
12
|
+
} from './ObjectFilter'
|
|
13
|
+
|
|
14
|
+
export interface ModuleFilterOptions<T extends ModuleInstance = ModuleInstance> extends ObjectFilterOptions<T> {}
|
|
15
|
+
|
|
16
|
+
export const isAddressModuleFilter = isAddressObjectFilter<ModuleInstance>
|
|
17
|
+
|
|
18
|
+
export const isNameModuleFilter = isNameObjectFilter<ModuleInstance>
|
|
19
|
+
|
|
20
|
+
export const isQueryModuleFilter = isQueryObjectFilter<ModuleInstance>
|
|
21
|
+
|
|
22
|
+
export type AnyModuleFilter<T extends ModuleInstance = ModuleInstance> = AnyObjectFilter<T>
|
|
23
|
+
|
|
24
|
+
export type AddressModuleFilter<T extends ModuleInstance = ModuleInstance> = AddressObjectFilter<T>
|
|
25
|
+
|
|
26
|
+
export type NameModuleFilter<T extends ModuleInstance = ModuleInstance> = NameObjectFilter<T>
|
|
27
|
+
|
|
28
|
+
export type QueryModuleFilter<T extends ModuleInstance = ModuleInstance> = QueryObjectFilter<T>
|
|
29
|
+
|
|
30
|
+
export type ModuleFilter<T extends ModuleInstance = ModuleInstance> = ObjectFilter<T>
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Address, isAddress } from '@xylabs/hex'
|
|
2
|
+
|
|
3
|
+
export const DisallowedModuleIdentifierCharacters = {
|
|
4
|
+
' ': true,
|
|
5
|
+
'!': true,
|
|
6
|
+
'"': true,
|
|
7
|
+
'#': true,
|
|
8
|
+
$: true,
|
|
9
|
+
'%': true,
|
|
10
|
+
'&': true,
|
|
11
|
+
"'": true,
|
|
12
|
+
'(': true,
|
|
13
|
+
')': true,
|
|
14
|
+
'*': true,
|
|
15
|
+
',': true,
|
|
16
|
+
'.': true,
|
|
17
|
+
'/': true,
|
|
18
|
+
':': true,
|
|
19
|
+
';': true,
|
|
20
|
+
'<': true,
|
|
21
|
+
'=': true,
|
|
22
|
+
'>': true,
|
|
23
|
+
'?': true,
|
|
24
|
+
'@': true,
|
|
25
|
+
'[': true,
|
|
26
|
+
']': true,
|
|
27
|
+
'^': true,
|
|
28
|
+
_: true,
|
|
29
|
+
'{': true,
|
|
30
|
+
'|': true,
|
|
31
|
+
'}': true,
|
|
32
|
+
'~': true,
|
|
33
|
+
}
|
|
34
|
+
export type ReservedModuleIdentifierCharacter = keyof typeof DisallowedModuleIdentifierCharacters
|
|
35
|
+
export const ReservedModuleIdentifierCharacters = new Set<ReservedModuleIdentifierCharacter>(
|
|
36
|
+
Object.keys(DisallowedModuleIdentifierCharacters) as ReservedModuleIdentifierCharacter[],
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
//using Exclude to make this type not allowed to take a naked string
|
|
40
|
+
export type ModuleName = Exclude<string, 'reserved-module-name-56487634'>
|
|
41
|
+
|
|
42
|
+
export type ModuleIdentifier =
|
|
43
|
+
| ColonPair<ModuleIdentifierPart>
|
|
44
|
+
| ColonPair<ColonPair<ModuleIdentifierPart>>
|
|
45
|
+
| ColonPair<ColonPair<ColonPair<ModuleIdentifierPart>>>
|
|
46
|
+
| ColonPair<ColonPair<ColonPair<ColonPair<ModuleIdentifierPart>>>>
|
|
47
|
+
| ColonPair<ColonPair<ColonPair<ColonPair<ColonPair<ModuleIdentifierPart>>>>>
|
|
48
|
+
| ColonPair<ColonPair<ColonPair<ColonPair<ColonPair<ColonPair<ModuleIdentifierPart>>>>>>
|
|
49
|
+
| ColonPair<ColonPair<ColonPair<ColonPair<ColonPair<ColonPair<ColonPair<ModuleIdentifierPart>>>>>>>
|
|
50
|
+
|
|
51
|
+
export type ColonPair<T extends string> = `${T}:${T}` | T
|
|
52
|
+
|
|
53
|
+
export type ModuleIdentifierPart = Address | ModuleName
|
|
54
|
+
|
|
55
|
+
export const isModuleName = (value: unknown): value is ModuleName => {
|
|
56
|
+
return typeof value === 'string' && !isAddress(value) && !includesReservedModuleIdentifierCharacter(value)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export const includesReservedModuleIdentifierCharacter = (value: unknown): boolean => {
|
|
60
|
+
return typeof value === 'string' && [...value].some((char) => ReservedModuleIdentifierCharacters.has(char as ReservedModuleIdentifierCharacter))
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export const isModuleIdentifierPart = (value: unknown): value is ModuleIdentifierPart => {
|
|
64
|
+
return isModuleName(value) || isAddress(value)
|
|
65
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ModuleResolverInstance } from './ModuleInstance'
|
|
1
|
+
import { Address } from '@xylabs/hex'
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
add(module: Module[]): this
|
|
7
|
-
add(module: Module | Module[]): this
|
|
3
|
+
import { ModuleInstance } from './Instance'
|
|
4
|
+
import { ModuleResolverInstance } from './ModuleResolver'
|
|
8
5
|
|
|
9
|
-
|
|
6
|
+
export interface ModuleRepository<T extends ModuleInstance = ModuleInstance> extends ModuleResolverInstance<T> {
|
|
7
|
+
add(module: T): this
|
|
8
|
+
add(module: T[]): this
|
|
9
|
+
add(module: T | T[]): this
|
|
10
|
+
|
|
11
|
+
remove(address: Address | string[]): this
|
|
10
12
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ModuleInstance } from './Instance'
|
|
2
|
+
import { isObjectResolver, ObjectResolver } from './ObjectResolver'
|
|
3
|
+
|
|
4
|
+
export const isModuleResolver = isObjectResolver<ModuleInstance>
|
|
5
|
+
|
|
6
|
+
export interface ModuleResolver<TResult extends ModuleInstance = ModuleInstance> extends ObjectResolver<TResult> {}
|
|
7
|
+
|
|
8
|
+
export interface ModuleResolverInstance<TResult extends ModuleInstance = ModuleInstance> extends ModuleResolver<TResult> {
|
|
9
|
+
addResolver: (resolver: ModuleResolverInstance<TResult>) => this
|
|
10
|
+
removeResolver: (resolver: ModuleResolverInstance<TResult>) => this
|
|
11
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Address } from '@xylabs/hex'
|
|
2
|
+
import { AnyObject, EmptyObject, TypeCheck } from '@xylabs/object'
|
|
3
|
+
|
|
4
|
+
import { ModuleName } from './ModuleIdentifier'
|
|
5
|
+
|
|
6
|
+
export type Direction = 'up' | 'down' | 'all'
|
|
7
|
+
export type Visibility = 'public' | 'private' | 'all'
|
|
8
|
+
|
|
9
|
+
export interface ObjectFilterOptions<T extends EmptyObject = AnyObject> {
|
|
10
|
+
direction?: Direction
|
|
11
|
+
identity?: TypeCheck<T>
|
|
12
|
+
maxDepth?: number
|
|
13
|
+
visibility?: Visibility
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface AddressObjectFilter<T extends EmptyObject = AnyObject> extends ObjectFilterOptions<T> {
|
|
17
|
+
address: Address[]
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const isAddressObjectFilter = <T extends EmptyObject = AnyObject>(value: unknown): value is AddressObjectFilter<T> =>
|
|
21
|
+
(value as AddressObjectFilter<T>).address !== undefined
|
|
22
|
+
|
|
23
|
+
export interface NameObjectFilter<T extends EmptyObject = AnyObject> extends ObjectFilterOptions<T> {
|
|
24
|
+
name: ModuleName[]
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const isNameObjectFilter = <T extends EmptyObject = AnyObject>(value: unknown): value is NameObjectFilter<T> =>
|
|
28
|
+
(value as NameObjectFilter<T>).name !== undefined
|
|
29
|
+
|
|
30
|
+
export interface QueryObjectFilter<T extends EmptyObject = AnyObject> extends ObjectFilterOptions<T> {
|
|
31
|
+
query: string[][]
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export const isQueryObjectFilter = <T extends EmptyObject = AnyObject>(value: unknown): value is QueryObjectFilter<T> =>
|
|
35
|
+
(value as QueryObjectFilter<T>).query !== undefined
|
|
36
|
+
|
|
37
|
+
export type AnyObjectFilter<T extends EmptyObject = AnyObject> = Partial<AddressObjectFilter<T>> &
|
|
38
|
+
Partial<NameObjectFilter<T>> &
|
|
39
|
+
Partial<QueryObjectFilter<T>>
|
|
40
|
+
|
|
41
|
+
export type ObjectFilter<T extends EmptyObject> = ObjectFilterOptions<T> | AddressObjectFilter<T> | NameObjectFilter<T> | QueryObjectFilter<T>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AnyObject, EmptyObject } from '@xylabs/object'
|
|
2
|
+
import { Promisable } from '@xylabs/promise'
|
|
3
|
+
|
|
4
|
+
import { ModuleIdentifier } from './ModuleIdentifier'
|
|
5
|
+
import { ObjectFilter, ObjectFilterOptions } from './ObjectFilter'
|
|
6
|
+
|
|
7
|
+
export const isObjectResolver = <T extends EmptyObject = AnyObject>(value?: unknown): value is ObjectResolver<T> => {
|
|
8
|
+
return typeof (value as Partial<ObjectResolver<T>>).resolve === 'function'
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface ObjectResolver<TResult extends EmptyObject> {
|
|
12
|
+
resolve<T extends TResult = TResult>(filter?: ObjectFilter<T>, options?: ObjectFilterOptions<T>): Promisable<T[]>
|
|
13
|
+
resolve<T extends TResult = TResult>(nameOrAddress: ModuleIdentifier, options?: ObjectFilterOptions<T>): Promisable<T | undefined>
|
|
14
|
+
resolve<T extends TResult = TResult>(
|
|
15
|
+
nameOrAddressOrFilter?: ObjectFilter<T> | ModuleIdentifier,
|
|
16
|
+
options?: ObjectFilterOptions<T>,
|
|
17
|
+
): Promisable<T | T[] | undefined>
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface ObjectResolverInstance<TResult extends EmptyObject> extends ObjectResolver<TResult> {
|
|
21
|
+
addResolver: (resolver: ObjectResolverInstance<TResult>) => this
|
|
22
|
+
removeResolver: (resolver: ObjectResolverInstance<TResult>) => this
|
|
23
|
+
}
|
package/src/instance/index.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export * from './asModuleInstance'
|
|
2
|
+
export * from './Instance'
|
|
2
3
|
export * from './isModuleInstance'
|
|
3
|
-
export * from './
|
|
4
|
+
export * from './ModuleFilter'
|
|
5
|
+
export * from './ModuleIdentifier'
|
|
4
6
|
export * from './ModuleRepository'
|
|
7
|
+
export * from './ModuleResolver'
|
|
8
|
+
export * from './ObjectFilter'
|
|
9
|
+
export * from './ObjectResolver'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IsObjectFactory, ObjectTypeShape, TypeCheck } from '@xylabs/object'
|
|
2
2
|
|
|
3
3
|
import { isModule } from '../module'
|
|
4
|
-
import { ModuleInstance } from './
|
|
4
|
+
import { ModuleInstance } from './Instance'
|
|
5
5
|
|
|
6
6
|
export const requiredModuleInstanceFunctions: ObjectTypeShape = {
|
|
7
7
|
describe: 'function',
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Address } from '@xylabs/hex'
|
|
1
2
|
import { Promisable } from '@xylabs/promise'
|
|
2
3
|
import { QueryBoundWitness } from '@xyo-network/boundwitness-model'
|
|
3
4
|
import { Payload } from '@xyo-network/payload-model'
|
|
@@ -7,7 +8,7 @@ import { ModuleParams } from '../ModuleParams'
|
|
|
7
8
|
import { ModuleQueryResult } from '../ModuleQueryResult'
|
|
8
9
|
|
|
9
10
|
export type ModuleFields<TParams extends ModuleParams = ModuleParams> = {
|
|
10
|
-
address:
|
|
11
|
+
address: Address
|
|
11
12
|
config: TParams['config']
|
|
12
13
|
|
|
13
14
|
/** The name (if specified) or address of the module */
|
|
@@ -10,4 +10,5 @@ export type ModuleQueryFunctions = {
|
|
|
10
10
|
discover: () => Promisable<Payload[]>
|
|
11
11
|
manifest: (maxDepth?: number, ignoreAddresses?: string[]) => Promisable<ModuleManifestPayload>
|
|
12
12
|
moduleAddress: () => Promisable<AddressPreviousHashPayload[]>
|
|
13
|
+
state: () => Promisable<Payload[]>
|
|
13
14
|
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { IsObjectFactory, TypeCheck } from '@xylabs/object';
|
|
2
|
-
import { Promisable } from '@xylabs/promise';
|
|
3
|
-
import { ModuleEventData } from '../EventsModels';
|
|
4
|
-
import { Module, ModuleQueryFunctions } from '../module';
|
|
5
|
-
import { ModuleParams } from '../ModuleParams';
|
|
6
|
-
export type ModulePipeLine = 'one-to-one' | 'one-to-many' | 'many-to-one' | 'many-to-many';
|
|
7
|
-
export declare const isModuleResolver: (value?: unknown) => value is ModuleResolver;
|
|
8
|
-
export interface ModuleResolver {
|
|
9
|
-
resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promisable<T[]>;
|
|
10
|
-
resolve<T extends ModuleInstance = ModuleInstance>(nameOrAddress: string, options?: ModuleFilterOptions<T>): Promisable<T | undefined>;
|
|
11
|
-
resolve<T extends ModuleInstance = ModuleInstance>(nameOrAddressOrFilter?: ModuleFilter<T> | string, options?: ModuleFilterOptions<T>): Promisable<T | T[] | undefined>;
|
|
12
|
-
}
|
|
13
|
-
export interface ModuleResolverInstance extends ModuleResolver {
|
|
14
|
-
addResolver: (resolver: ModuleResolverInstance) => this;
|
|
15
|
-
removeResolver: (resolver: ModuleResolverInstance) => this;
|
|
16
|
-
}
|
|
17
|
-
export interface ModuleInstance<TParams extends ModuleParams = ModuleParams, TEventData extends ModuleEventData = ModuleEventData> extends Module<TParams, TEventData>, ModuleResolver, ModuleQueryFunctions {
|
|
18
|
-
readonly downResolver: Omit<ModuleResolverInstance, 'resolve'>;
|
|
19
|
-
readonly pipeline?: ModulePipeLine;
|
|
20
|
-
readonly upResolver: Omit<ModuleResolverInstance, 'resolve'>;
|
|
21
|
-
}
|
|
22
|
-
export type InstanceTypeCheck<T extends ModuleInstance = ModuleInstance> = TypeCheck<T>;
|
|
23
|
-
export declare class IsInstanceFactory<T extends ModuleInstance = ModuleInstance> extends IsObjectFactory<T> {
|
|
24
|
-
}
|
|
25
|
-
export interface ModuleFilterOptions<T extends ModuleInstance = ModuleInstance> {
|
|
26
|
-
direction?: 'up' | 'down' | 'all';
|
|
27
|
-
identity?: InstanceTypeCheck<T>;
|
|
28
|
-
maxDepth?: number;
|
|
29
|
-
visibility?: 'public' | 'private' | 'all';
|
|
30
|
-
}
|
|
31
|
-
export interface AddressModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {
|
|
32
|
-
address: string[];
|
|
33
|
-
}
|
|
34
|
-
export interface NameModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {
|
|
35
|
-
name: string[];
|
|
36
|
-
}
|
|
37
|
-
export interface QueryModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {
|
|
38
|
-
query: string[][];
|
|
39
|
-
}
|
|
40
|
-
export type AnyModuleFilter<T extends ModuleInstance = ModuleInstance> = Partial<AddressModuleFilter<T>> & Partial<NameModuleFilter<T>> & Partial<QueryModuleFilter<T>>;
|
|
41
|
-
export type ModuleFilter<T extends ModuleInstance = ModuleInstance> = ModuleFilterOptions<T> | AddressModuleFilter<T> | NameModuleFilter<T> | QueryModuleFilter<T>;
|
|
42
|
-
//# sourceMappingURL=ModuleInstance.d.ts.map
|