@xyo-network/module-instance-payload-plugin 2.35.11
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/LICENSE +165 -0
- package/README.md +81 -0
- package/dist/cjs/Payload.d.ts +11 -0
- package/dist/cjs/Payload.d.ts.map +1 -0
- package/dist/cjs/Payload.js +3 -0
- package/dist/cjs/Payload.js.map +1 -0
- package/dist/cjs/Plugin.d.ts +32 -0
- package/dist/cjs/Plugin.d.ts.map +1 -0
- package/dist/cjs/Plugin.js +16 -0
- package/dist/cjs/Plugin.js.map +1 -0
- package/dist/cjs/Schema.d.ts +3 -0
- package/dist/cjs/Schema.d.ts.map +1 -0
- package/dist/cjs/Schema.js +5 -0
- package/dist/cjs/Schema.js.map +1 -0
- package/dist/cjs/Template.d.ts +3 -0
- package/dist/cjs/Template.d.ts.map +1 -0
- package/dist/cjs/Template.js +13 -0
- package/dist/cjs/Template.js.map +1 -0
- package/dist/cjs/Witness.d.ts +23 -0
- package/dist/cjs/Witness.d.ts.map +1 -0
- package/dist/cjs/Witness.js +26 -0
- package/dist/cjs/Witness.js.map +1 -0
- package/dist/cjs/index.d.ts +8 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +13 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/docs.json +5673 -0
- package/dist/esm/Payload.d.ts +11 -0
- package/dist/esm/Payload.d.ts.map +1 -0
- package/dist/esm/Payload.js +2 -0
- package/dist/esm/Payload.js.map +1 -0
- package/dist/esm/Plugin.d.ts +32 -0
- package/dist/esm/Plugin.d.ts.map +1 -0
- package/dist/esm/Plugin.js +16 -0
- package/dist/esm/Plugin.js.map +1 -0
- package/dist/esm/Schema.d.ts +3 -0
- package/dist/esm/Schema.d.ts.map +1 -0
- package/dist/esm/Schema.js +2 -0
- package/dist/esm/Schema.js.map +1 -0
- package/dist/esm/Template.d.ts +3 -0
- package/dist/esm/Template.d.ts.map +1 -0
- package/dist/esm/Template.js +9 -0
- package/dist/esm/Template.js.map +1 -0
- package/dist/esm/Witness.d.ts +23 -0
- package/dist/esm/Witness.d.ts.map +1 -0
- package/dist/esm/Witness.js +14 -0
- package/dist/esm/Witness.js.map +1 -0
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -0
- package/package.json +58 -0
- package/src/Payload.ts +13 -0
- package/src/Plugin.spec.ts +18 -0
- package/src/Plugin.ts +19 -0
- package/src/Schema.ts +2 -0
- package/src/Template.ts +10 -0
- package/src/Witness.spec.ts +16 -0
- package/src/Witness.ts +29 -0
- package/src/index.ts +11 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XyoPayload } from '@xyo-network/payload';
|
|
2
|
+
import { XyoModuleInstanceSchema } from './Schema';
|
|
3
|
+
export interface XyoModuleInstanceQueryConfig {
|
|
4
|
+
cost?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare type XyoModuleInstancePayload = XyoPayload<{
|
|
7
|
+
schema: XyoModuleInstanceSchema;
|
|
8
|
+
address: string;
|
|
9
|
+
queries?: Record<string, XyoModuleInstanceQueryConfig>;
|
|
10
|
+
}>;
|
|
11
|
+
//# sourceMappingURL=Payload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAElD,MAAM,WAAW,4BAA4B;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,oBAAY,wBAAwB,GAAG,UAAU,CAAC;IAChD,MAAM,EAAE,uBAAuB,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAA;CACvD,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Payload.js","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export declare const XyoModuleInstancePayloadPlugin: () => import("@xyo-network/payload-plugin").XyoPayloadPlugin<import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
|
|
2
|
+
schema: "network.xyo.module.instance";
|
|
3
|
+
address: string;
|
|
4
|
+
queries?: Record<string, import("./Payload").XyoModuleInstanceQueryConfig> | undefined;
|
|
5
|
+
}, import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
|
|
6
|
+
security?: {
|
|
7
|
+
allowed?: Record<string, string[][]> | undefined;
|
|
8
|
+
disallowed?: Record<string, string[]> | undefined;
|
|
9
|
+
} | undefined;
|
|
10
|
+
} & {
|
|
11
|
+
schema: "network.xyo.module.instance.config";
|
|
12
|
+
module?: import("@xyo-network/module").XyoModule<import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
|
|
13
|
+
security?: {
|
|
14
|
+
allowed?: Record<string, string[][]> | undefined;
|
|
15
|
+
disallowed?: Record<string, string[]> | undefined;
|
|
16
|
+
} | undefined;
|
|
17
|
+
} & {
|
|
18
|
+
schema: string;
|
|
19
|
+
}> | undefined;
|
|
20
|
+
} & {
|
|
21
|
+
targetSchema: "network.xyo.module.instance";
|
|
22
|
+
}, import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
|
|
23
|
+
security?: {
|
|
24
|
+
allowed?: Record<string, string[][]> | undefined;
|
|
25
|
+
disallowed?: Record<string, string[]> | undefined;
|
|
26
|
+
} | undefined;
|
|
27
|
+
} & {
|
|
28
|
+
schema: "network.xyo.module.instance";
|
|
29
|
+
address: string;
|
|
30
|
+
queries?: Record<string, import("./Payload").XyoModuleInstanceQueryConfig> | undefined;
|
|
31
|
+
}>;
|
|
32
|
+
//# sourceMappingURL=Plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWvC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createXyoPayloadPlugin } from '@xyo-network/payload-plugin';
|
|
2
|
+
import { XyoModuleInstanceSchema } from './Schema';
|
|
3
|
+
import { XyoModuleInstancePayloadTemplate } from './Template';
|
|
4
|
+
import { XyoModuleInstanceWitness, XyoModuleInstanceWitnessConfigSchema } from './Witness';
|
|
5
|
+
export const XyoModuleInstancePayloadPlugin = () => createXyoPayloadPlugin({
|
|
6
|
+
schema: XyoModuleInstanceSchema,
|
|
7
|
+
template: XyoModuleInstancePayloadTemplate,
|
|
8
|
+
witness: (config) => {
|
|
9
|
+
return new XyoModuleInstanceWitness({
|
|
10
|
+
...config,
|
|
11
|
+
schema: XyoModuleInstanceWitnessConfigSchema,
|
|
12
|
+
targetSchema: XyoModuleInstanceSchema,
|
|
13
|
+
});
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=Plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAGpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,wBAAwB,EAAkC,oCAAoC,EAAE,MAAM,WAAW,CAAA;AAE1H,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,EAAE,CACjD,sBAAsB,CAA2D;IAC/E,MAAM,EAAE,uBAAuB;IAC/B,QAAQ,EAAE,gCAAgC;IAC1C,OAAO,EAAE,CAAC,MAAM,EAA4B,EAAE;QAC5C,OAAO,IAAI,wBAAwB,CAAC;YAClC,GAAG,MAAM;YACT,MAAM,EAAE,oCAAoC;YAC5C,YAAY,EAAE,uBAAuB;SACtC,CAAC,CAAA;IACJ,CAAC;CACF,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA,oBAAY,uBAAuB,GAAG,6BAA6B,CAAA;AACnE,eAAO,MAAM,uBAAuB,EAAE,uBAAuD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,uBAAuB,GAA4B,6BAA6B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Template.d.ts","sourceRoot":"","sources":["../../src/Template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAGpD,eAAO,MAAM,gCAAgC,QAAO,QAAQ,wBAAwB,CAMnF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Template.js","sourceRoot":"","sources":["../../src/Template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAElD,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAsC,EAAE;IACtF,OAAO;QACL,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,uBAAuB;KAChC,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { XyoModule } from '@xyo-network/module';
|
|
2
|
+
import { XyoWitness, XyoWitnessConfig } from '@xyo-network/witness';
|
|
3
|
+
import { XyoModuleInstancePayload } from './Payload';
|
|
4
|
+
import { XyoModuleInstanceSchema } from './Schema';
|
|
5
|
+
export declare type XyoModuleInstanceWitnessConfigSchema = 'network.xyo.module.instance.config';
|
|
6
|
+
export declare const XyoModuleInstanceWitnessConfigSchema: XyoModuleInstanceWitnessConfigSchema;
|
|
7
|
+
export declare type XyoModuleInstanceWitnessConfig = XyoWitnessConfig<XyoModuleInstancePayload, {
|
|
8
|
+
schema: XyoModuleInstanceWitnessConfigSchema;
|
|
9
|
+
module?: XyoModule;
|
|
10
|
+
}>;
|
|
11
|
+
export declare class XyoModuleInstanceWitness extends XyoWitness<XyoModuleInstancePayload, XyoModuleInstanceWitnessConfig> {
|
|
12
|
+
protected get module(): XyoModule<import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
|
|
13
|
+
security?: {
|
|
14
|
+
allowed?: Record<string, string[][]> | undefined;
|
|
15
|
+
disallowed?: Record<string, string[]> | undefined;
|
|
16
|
+
} | undefined;
|
|
17
|
+
} & {
|
|
18
|
+
schema: string;
|
|
19
|
+
}> | undefined;
|
|
20
|
+
observe(fields?: Partial<XyoModuleInstancePayload>): Promise<XyoModuleInstancePayload>;
|
|
21
|
+
static schema: XyoModuleInstanceSchema;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=Witness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAGnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAElD,oBAAY,oCAAoC,GAAG,oCAAoC,CAAA;AACvF,eAAO,MAAM,oCAAoC,EAAE,oCAA2E,CAAA;AAE9H,oBAAY,8BAA8B,GAAG,gBAAgB,CAC3D,wBAAwB,EACxB;IACE,MAAM,EAAE,oCAAoC,CAAA;IAC5C,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB,CACF,CAAA;AAED,qBAAa,wBAAyB,SAAQ,UAAU,CAAC,wBAAwB,EAAE,8BAA8B,CAAC;IAChH,SAAS,KAAK,MAAM;;;;;;;mBAEnB;IAEc,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIrG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAA0B;CACjE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { XyoWitness } from '@xyo-network/witness';
|
|
2
|
+
import merge from 'lodash/merge';
|
|
3
|
+
import { XyoModuleInstanceSchema } from './Schema';
|
|
4
|
+
export const XyoModuleInstanceWitnessConfigSchema = 'network.xyo.module.instance.config';
|
|
5
|
+
export class XyoModuleInstanceWitness extends XyoWitness {
|
|
6
|
+
get module() {
|
|
7
|
+
return this.config?.module;
|
|
8
|
+
}
|
|
9
|
+
async observe(fields) {
|
|
10
|
+
return await super.observe(merge({ queries: this.module?.queries }, fields));
|
|
11
|
+
}
|
|
12
|
+
static schema = XyoModuleInstanceSchema;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=Witness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAoB,MAAM,sBAAsB,CAAA;AACnE,OAAO,KAAK,MAAM,cAAc,CAAA;AAGhC,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAGlD,MAAM,CAAC,MAAM,oCAAoC,GAAyC,oCAAoC,CAAA;AAU9H,MAAM,OAAO,wBAAyB,SAAQ,UAAoE;IAChH,IAAc,MAAM;QAClB,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,CAAA;IAC5B,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,MAA0C;QAC/D,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;IAC9E,CAAC;IAED,MAAM,CAAC,MAAM,GAA4B,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { XyoModuleInstancePayloadPlugin } from './Plugin';
|
|
2
|
+
export * from './Payload';
|
|
3
|
+
export * from './Schema';
|
|
4
|
+
export * from './Template';
|
|
5
|
+
export * from './Witness';
|
|
6
|
+
export { XyoModuleInstancePayloadPlugin };
|
|
7
|
+
export default XyoModuleInstancePayloadPlugin;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AAEzD,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,8BAA8B,EAAE,CAAA;AAGzC,eAAe,8BAA8B,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { XyoModuleInstancePayloadPlugin } from './Plugin';
|
|
2
|
+
export * from './Payload';
|
|
3
|
+
export * from './Schema';
|
|
4
|
+
export * from './Template';
|
|
5
|
+
export * from './Witness';
|
|
6
|
+
export { XyoModuleInstancePayloadPlugin };
|
|
7
|
+
// eslint-disable-next-line import/no-default-export
|
|
8
|
+
export default XyoModuleInstancePayloadPlugin;
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AAEzD,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,8BAA8B,EAAE,CAAA;AAEzC,oDAAoD;AACpD,eAAe,8BAA8B,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@xyo-network/module-instance-payload-plugin",
|
|
3
|
+
"author": {
|
|
4
|
+
"email": "support@xyo.network",
|
|
5
|
+
"name": "XYO Development Team",
|
|
6
|
+
"url": "https://xyo.network"
|
|
7
|
+
},
|
|
8
|
+
"bugs": {
|
|
9
|
+
"email": "support@xyo.network",
|
|
10
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@xyo-network/module": "^2.36.11",
|
|
14
|
+
"@xyo-network/payload": "^2.36.11",
|
|
15
|
+
"@xyo-network/payload-plugin": "^2.36.11",
|
|
16
|
+
"@xyo-network/witness": "^2.36.11",
|
|
17
|
+
"lodash": "^4.17.21",
|
|
18
|
+
"tslib": "^2.4.0"
|
|
19
|
+
},
|
|
20
|
+
"peerDependencies": {
|
|
21
|
+
"axios": "^0.27.2",
|
|
22
|
+
"pako": "^2.0.4"
|
|
23
|
+
},
|
|
24
|
+
"description": "Contains the information about a module instance",
|
|
25
|
+
"browser": "dist/esm/index.js",
|
|
26
|
+
"docs": "dist/docs.json",
|
|
27
|
+
"exports": {
|
|
28
|
+
".": {
|
|
29
|
+
"node": {
|
|
30
|
+
"import": "./dist/esm/index.js",
|
|
31
|
+
"require": "./dist/cjs/index.js"
|
|
32
|
+
},
|
|
33
|
+
"browser": {
|
|
34
|
+
"import": "./dist/esm/index.js",
|
|
35
|
+
"require": "./dist/cjs/index.js"
|
|
36
|
+
},
|
|
37
|
+
"default": "./dist/esm/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./dist/docs.json": {
|
|
40
|
+
"default": "./dist/docs.json"
|
|
41
|
+
},
|
|
42
|
+
"./package.json": "./package.json"
|
|
43
|
+
},
|
|
44
|
+
"main": "dist/cjs/index.js",
|
|
45
|
+
"module": "dist/esm/index.js",
|
|
46
|
+
"homepage": "https://xyo.network",
|
|
47
|
+
"license": "LGPL-3.0-only",
|
|
48
|
+
"publishConfig": {
|
|
49
|
+
"access": "public"
|
|
50
|
+
},
|
|
51
|
+
"repository": {
|
|
52
|
+
"type": "git",
|
|
53
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
54
|
+
},
|
|
55
|
+
"sideEffects": false,
|
|
56
|
+
"types": "dist/esm/index.d.ts",
|
|
57
|
+
"version": "2.35.11"
|
|
58
|
+
}
|
package/src/Payload.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { XyoPayload } from '@xyo-network/payload'
|
|
2
|
+
|
|
3
|
+
import { XyoModuleInstanceSchema } from './Schema'
|
|
4
|
+
|
|
5
|
+
export interface XyoModuleInstanceQueryConfig {
|
|
6
|
+
cost?: string
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export type XyoModuleInstancePayload = XyoPayload<{
|
|
10
|
+
schema: XyoModuleInstanceSchema
|
|
11
|
+
address: string
|
|
12
|
+
queries?: Record<string, XyoModuleInstanceQueryConfig>
|
|
13
|
+
}>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { XyoPayloadPluginResolver } from '@xyo-network/payload-plugin'
|
|
6
|
+
|
|
7
|
+
import { XyoModuleInstancePayloadPlugin } from './Plugin'
|
|
8
|
+
import { XyoModuleInstanceSchema } from './Schema'
|
|
9
|
+
|
|
10
|
+
describe('XyoModuleInstancePayloadPlugin', () => {
|
|
11
|
+
test('Add to Resolver', () => {
|
|
12
|
+
const resolver = new XyoPayloadPluginResolver().register(XyoModuleInstancePayloadPlugin(), {
|
|
13
|
+
witness: {},
|
|
14
|
+
})
|
|
15
|
+
expect(resolver.resolve({ schema: XyoModuleInstanceSchema })).toBeObject()
|
|
16
|
+
expect(resolver.witness(XyoModuleInstanceSchema)).toBeObject()
|
|
17
|
+
})
|
|
18
|
+
})
|
package/src/Plugin.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createXyoPayloadPlugin } from '@xyo-network/payload-plugin'
|
|
2
|
+
|
|
3
|
+
import { XyoModuleInstancePayload } from './Payload'
|
|
4
|
+
import { XyoModuleInstanceSchema } from './Schema'
|
|
5
|
+
import { XyoModuleInstancePayloadTemplate } from './Template'
|
|
6
|
+
import { XyoModuleInstanceWitness, XyoModuleInstanceWitnessConfig, XyoModuleInstanceWitnessConfigSchema } from './Witness'
|
|
7
|
+
|
|
8
|
+
export const XyoModuleInstancePayloadPlugin = () =>
|
|
9
|
+
createXyoPayloadPlugin<XyoModuleInstancePayload, XyoModuleInstanceWitnessConfig>({
|
|
10
|
+
schema: XyoModuleInstanceSchema,
|
|
11
|
+
template: XyoModuleInstancePayloadTemplate,
|
|
12
|
+
witness: (config): XyoModuleInstanceWitness => {
|
|
13
|
+
return new XyoModuleInstanceWitness({
|
|
14
|
+
...config,
|
|
15
|
+
schema: XyoModuleInstanceWitnessConfigSchema,
|
|
16
|
+
targetSchema: XyoModuleInstanceSchema,
|
|
17
|
+
})
|
|
18
|
+
},
|
|
19
|
+
})
|
package/src/Schema.ts
ADDED
package/src/Template.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { XyoModuleInstancePayload } from './Payload'
|
|
2
|
+
import { XyoModuleInstanceSchema } from './Schema'
|
|
3
|
+
|
|
4
|
+
export const XyoModuleInstancePayloadTemplate = (): Partial<XyoModuleInstancePayload> => {
|
|
5
|
+
return {
|
|
6
|
+
address: undefined,
|
|
7
|
+
queries: undefined,
|
|
8
|
+
schema: XyoModuleInstanceSchema,
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { XyoMemoryArchivist } from '@xyo-network/archivist'
|
|
2
|
+
|
|
3
|
+
import { XyoModuleInstanceSchema } from './Schema'
|
|
4
|
+
import { XyoModuleInstanceWitness, XyoModuleInstanceWitnessConfigSchema } from './Witness'
|
|
5
|
+
|
|
6
|
+
describe('XyoElevationWitness', () => {
|
|
7
|
+
test('Witnessing', async () => {
|
|
8
|
+
const module = new XyoMemoryArchivist()
|
|
9
|
+
const witness = new XyoModuleInstanceWitness({ module, schema: XyoModuleInstanceWitnessConfigSchema, targetSchema: XyoModuleInstanceSchema })
|
|
10
|
+
const result = await witness.observe()
|
|
11
|
+
|
|
12
|
+
console.log(`Module: ${JSON.stringify(result, null, 2)}`)
|
|
13
|
+
|
|
14
|
+
expect(result.queries?.length).toBe(2)
|
|
15
|
+
})
|
|
16
|
+
})
|
package/src/Witness.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { XyoModule } from '@xyo-network/module'
|
|
2
|
+
import { XyoWitness, XyoWitnessConfig } from '@xyo-network/witness'
|
|
3
|
+
import merge from 'lodash/merge'
|
|
4
|
+
|
|
5
|
+
import { XyoModuleInstancePayload } from './Payload'
|
|
6
|
+
import { XyoModuleInstanceSchema } from './Schema'
|
|
7
|
+
|
|
8
|
+
export type XyoModuleInstanceWitnessConfigSchema = 'network.xyo.module.instance.config'
|
|
9
|
+
export const XyoModuleInstanceWitnessConfigSchema: XyoModuleInstanceWitnessConfigSchema = 'network.xyo.module.instance.config'
|
|
10
|
+
|
|
11
|
+
export type XyoModuleInstanceWitnessConfig = XyoWitnessConfig<
|
|
12
|
+
XyoModuleInstancePayload,
|
|
13
|
+
{
|
|
14
|
+
schema: XyoModuleInstanceWitnessConfigSchema
|
|
15
|
+
module?: XyoModule
|
|
16
|
+
}
|
|
17
|
+
>
|
|
18
|
+
|
|
19
|
+
export class XyoModuleInstanceWitness extends XyoWitness<XyoModuleInstancePayload, XyoModuleInstanceWitnessConfig> {
|
|
20
|
+
protected get module() {
|
|
21
|
+
return this.config?.module
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
override async observe(fields?: Partial<XyoModuleInstancePayload>): Promise<XyoModuleInstancePayload> {
|
|
25
|
+
return await super.observe(merge({ queries: this.module?.queries }, fields))
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
static schema: XyoModuleInstanceSchema = XyoModuleInstanceSchema
|
|
29
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XyoModuleInstancePayloadPlugin } from './Plugin'
|
|
2
|
+
|
|
3
|
+
export * from './Payload'
|
|
4
|
+
export * from './Schema'
|
|
5
|
+
export * from './Template'
|
|
6
|
+
export * from './Witness'
|
|
7
|
+
|
|
8
|
+
export { XyoModuleInstancePayloadPlugin }
|
|
9
|
+
|
|
10
|
+
// eslint-disable-next-line import/no-default-export
|
|
11
|
+
export default XyoModuleInstancePayloadPlugin
|