@xyo-network/module-instance-plugin 2.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,23 @@
1
+ import { XyoModuleParams } from '@xyo-network/module';
2
+ import { PayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin';
3
+ export declare const XyoModuleInstancePlugin: () => PayloadSetWitnessPlugin<XyoModuleParams<import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
4
+ security?: {
5
+ allowed?: Record<string, string[][]> | undefined;
6
+ disallowed?: Record<string, string[]> | undefined;
7
+ } | undefined;
8
+ } & {
9
+ module?: import("@xyo-network/module").XyoModule<import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
10
+ security?: {
11
+ allowed?: Record<string, string[][]> | undefined;
12
+ disallowed?: Record<string, string[]> | undefined;
13
+ } | undefined;
14
+ } & {
15
+ schema: string;
16
+ }> | undefined;
17
+ schema: "network.xyo.module.instance.config";
18
+ } & {
19
+ targetSet?: (import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & import("@xyo-network/payload").PayloadSet & {
20
+ schema: "network.xyo.payload.set";
21
+ }) | undefined;
22
+ }>>;
23
+ //# sourceMappingURL=Plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGrD,OAAO,EAA0B,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAIhG,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;GASjC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { XyoModuleInstanceSchema } from '@xyo-network/module-instance-payload-plugin';
2
+ import { PayloadSetSchema } from '@xyo-network/payload';
3
+ import { createPayloadSetPlugin } from '@xyo-network/payloadset-plugin';
4
+ import { XyoModuleInstanceWitness } from './Witness';
5
+ export const XyoModuleInstancePlugin = () => createPayloadSetPlugin({ required: { [XyoModuleInstanceSchema]: 1 }, schema: PayloadSetSchema }, {
6
+ witness: async (params) => {
7
+ const result = await XyoModuleInstanceWitness.create(params);
8
+ return result;
9
+ },
10
+ });
11
+ //# sourceMappingURL=Plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAA2B,MAAM,gCAAgC,CAAA;AAEhG,OAAO,EAAE,wBAAwB,EAAkC,MAAM,WAAW,CAAA;AAEpF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAC1C,sBAAsB,CACpB,EAAE,QAAQ,EAAE,EAAE,CAAC,uBAAuB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EACxE;IACE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC5D,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CACF,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { XyoModule, XyoModuleParams } from '@xyo-network/module';
2
+ import { XyoPayload } from '@xyo-network/payload';
3
+ import { AbstractWitness, XyoWitnessConfig } from '@xyo-network/witness';
4
+ export type XyoModuleInstanceWitnessConfigSchema = 'network.xyo.module.instance.config';
5
+ export declare const XyoModuleInstanceWitnessConfigSchema: XyoModuleInstanceWitnessConfigSchema;
6
+ export type XyoModuleInstanceWitnessConfig = XyoWitnessConfig<{
7
+ module?: XyoModule;
8
+ schema: XyoModuleInstanceWitnessConfigSchema;
9
+ }>;
10
+ export declare class XyoModuleInstanceWitness extends AbstractWitness<XyoModuleInstanceWitnessConfig> {
11
+ static configSchema: "network.xyo.module.instance.config";
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
+ static create(params?: XyoModuleParams<XyoModuleInstanceWitnessConfig>): Promise<XyoModuleInstanceWitness>;
21
+ observe(payloads?: Partial<XyoPayload>[]): Promise<XyoPayload[]>;
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,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAGxE,MAAM,MAAM,oCAAoC,GAAG,oCAAoC,CAAA;AACvF,eAAO,MAAM,oCAAoC,EAAE,oCAA2E,CAAA;AAE9H,MAAM,MAAM,8BAA8B,GAAG,gBAAgB,CAAC;IAC5D,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,MAAM,EAAE,oCAAoC,CAAA;CAC7C,CAAC,CAAA;AAEF,qBAAa,wBAAyB,SAAQ,eAAe,CAAC,8BAA8B,CAAC;IAC3F,OAAgB,YAAY,uCAAuC;IAEnE,SAAS,KAAK,MAAM;;;;;;;mBAEnB;WAEqB,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,8BAA8B,CAAC,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAI1G,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAGhF"}
@@ -0,0 +1,17 @@
1
+ import { XyoModuleInstanceSchema } from '@xyo-network/module-instance-payload-plugin';
2
+ import { AbstractWitness } from '@xyo-network/witness';
3
+ import merge from 'lodash/merge';
4
+ export const XyoModuleInstanceWitnessConfigSchema = 'network.xyo.module.instance.config';
5
+ export class XyoModuleInstanceWitness extends AbstractWitness {
6
+ static configSchema = XyoModuleInstanceWitnessConfigSchema;
7
+ get module() {
8
+ return this.config?.module;
9
+ }
10
+ static async create(params) {
11
+ return (await super.create(params));
12
+ }
13
+ async observe(payloads) {
14
+ return await super.observe([merge({ queries: this.module?.queries }, payloads?.[0], { schema: XyoModuleInstanceSchema })]);
15
+ }
16
+ }
17
+ //# sourceMappingURL=Witness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;AAErF,OAAO,EAAE,eAAe,EAAoB,MAAM,sBAAsB,CAAA;AACxE,OAAO,KAAK,MAAM,cAAc,CAAA;AAGhC,MAAM,CAAC,MAAM,oCAAoC,GAAyC,oCAAoC,CAAA;AAO9H,MAAM,OAAO,wBAAyB,SAAQ,eAA+C;IAC3F,MAAM,CAAU,YAAY,GAAG,oCAAoC,CAAA;IAEnE,IAAc,MAAM;QAClB,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,CAAA;IAC5B,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,MAAM,CAAC,MAAwD;QACnF,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAA6B,CAAA;IACjE,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,QAAgC;QACrD,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,CAAA;IAC5H,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { XyoModuleInstancePlugin } from './Plugin';
2
+ export * from './Witness';
3
+ export { XyoModuleInstancePlugin };
4
+ export default XyoModuleInstancePlugin;
5
+ //# 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,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAElD,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAGlC,eAAe,uBAAuB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { XyoModuleInstancePlugin } from './Plugin';
2
+ export * from './Witness';
3
+ export { XyoModuleInstancePlugin };
4
+ // eslint-disable-next-line import/no-default-export
5
+ export default XyoModuleInstancePlugin;
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAElD,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAElC,oDAAoD;AACpD,eAAe,uBAAuB,CAAA"}
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "@xyo-network/module-instance-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.42.0",
14
+ "@xyo-network/module-instance-payload-plugin": "^2.42.0",
15
+ "@xyo-network/payload": "^2.42.0",
16
+ "@xyo-network/payloadset-plugin": "^2.42.0",
17
+ "@xyo-network/witness": "^2.42.0",
18
+ "lodash": "^4.17.21",
19
+ "tslib": "^2.4.1"
20
+ },
21
+ "devDependencies": {
22
+ "axios": "~1.2.1",
23
+ "pako": "^2.1.0"
24
+ },
25
+ "peerDependencies": {
26
+ "axios": "~1.2.1",
27
+ "pako": "^2.1.0"
28
+ },
29
+ "description": "Contains the information about a module instance",
30
+ "browser": "dist/esm/index.js",
31
+ "docs": "dist/docs.json",
32
+ "exports": {
33
+ ".": {
34
+ "node": {
35
+ "import": "./dist/esm/index.js",
36
+ "require": "./dist/cjs/index.js"
37
+ },
38
+ "browser": {
39
+ "import": "./dist/esm/index.js",
40
+ "require": "./dist/cjs/index.js"
41
+ },
42
+ "default": "./dist/esm/index.js"
43
+ },
44
+ "./dist/docs.json": {
45
+ "default": "./dist/docs.json"
46
+ },
47
+ "./package.json": "./package.json"
48
+ },
49
+ "main": "dist/cjs/index.js",
50
+ "module": "dist/esm/index.js",
51
+ "homepage": "https://xyo.network",
52
+ "license": "LGPL-3.0-only",
53
+ "publishConfig": {
54
+ "access": "public"
55
+ },
56
+ "repository": {
57
+ "type": "git",
58
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
59
+ },
60
+ "sideEffects": false,
61
+ "types": "dist/esm/index.d.ts",
62
+ "version": "2.42.0"
63
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @jest-environment jsdom
3
+ */
4
+
5
+ import { XyoModuleInstanceSchema } from '@xyo-network/module-instance-payload-plugin'
6
+ import { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'
7
+
8
+ import { XyoModuleInstancePlugin } from './Plugin'
9
+ import { XyoModuleInstanceWitnessConfigSchema } from './Witness'
10
+
11
+ describe('XyoModuleInstancePlugin', () => {
12
+ test('Add to Resolver', () => {
13
+ const plugin = XyoModuleInstancePlugin()
14
+ const resolver = new PayloadSetPluginResolver().register(plugin, {
15
+ witness: {
16
+ config: { schema: XyoModuleInstanceWitnessConfigSchema, targetSchema: XyoModuleInstanceSchema },
17
+ },
18
+ })
19
+ expect(resolver.resolve(plugin.set)).toBeObject()
20
+ expect(resolver.witness(XyoModuleInstanceSchema)).toBeObject()
21
+ })
22
+ })
package/src/Plugin.ts ADDED
@@ -0,0 +1,17 @@
1
+ import { XyoModuleParams } from '@xyo-network/module'
2
+ import { XyoModuleInstanceSchema } from '@xyo-network/module-instance-payload-plugin'
3
+ import { PayloadSetSchema } from '@xyo-network/payload'
4
+ import { createPayloadSetPlugin, PayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'
5
+
6
+ import { XyoModuleInstanceWitness, XyoModuleInstanceWitnessConfig } from './Witness'
7
+
8
+ export const XyoModuleInstancePlugin = () =>
9
+ createPayloadSetPlugin<PayloadSetWitnessPlugin<XyoModuleParams<XyoModuleInstanceWitnessConfig>>>(
10
+ { required: { [XyoModuleInstanceSchema]: 1 }, schema: PayloadSetSchema },
11
+ {
12
+ witness: async (params) => {
13
+ const result = await XyoModuleInstanceWitness.create(params)
14
+ return result
15
+ },
16
+ },
17
+ )
@@ -0,0 +1,21 @@
1
+ import { MemoryArchivist } from '@xyo-network/archivist'
2
+ import { PayloadWrapper } from '@xyo-network/payload'
3
+
4
+ import { XyoModuleInstanceWitness, XyoModuleInstanceWitnessConfigSchema } from './Witness'
5
+
6
+ describe('XyoModuleInstanceWitness', () => {
7
+ test('Witnessing', async () => {
8
+ const module = await MemoryArchivist.create()
9
+ const witness = await XyoModuleInstanceWitness.create({
10
+ config: { module, schema: XyoModuleInstanceWitnessConfigSchema },
11
+ })
12
+ const [result] = await witness.observe()
13
+ expect(new PayloadWrapper(result).valid).toBe(true)
14
+ })
15
+
16
+ test('Witnessing [no config]', async () => {
17
+ const witness = await XyoModuleInstanceWitness.create()
18
+ const [result] = await witness.observe()
19
+ expect(new PayloadWrapper(result).valid).toBe(true)
20
+ })
21
+ })
package/src/Witness.ts ADDED
@@ -0,0 +1,29 @@
1
+ import { XyoModule, XyoModuleParams } from '@xyo-network/module'
2
+ import { XyoModuleInstanceSchema } from '@xyo-network/module-instance-payload-plugin'
3
+ import { XyoPayload } from '@xyo-network/payload'
4
+ import { AbstractWitness, XyoWitnessConfig } from '@xyo-network/witness'
5
+ import merge from 'lodash/merge'
6
+
7
+ export type XyoModuleInstanceWitnessConfigSchema = 'network.xyo.module.instance.config'
8
+ export const XyoModuleInstanceWitnessConfigSchema: XyoModuleInstanceWitnessConfigSchema = 'network.xyo.module.instance.config'
9
+
10
+ export type XyoModuleInstanceWitnessConfig = XyoWitnessConfig<{
11
+ module?: XyoModule
12
+ schema: XyoModuleInstanceWitnessConfigSchema
13
+ }>
14
+
15
+ export class XyoModuleInstanceWitness extends AbstractWitness<XyoModuleInstanceWitnessConfig> {
16
+ static override configSchema = XyoModuleInstanceWitnessConfigSchema
17
+
18
+ protected get module() {
19
+ return this.config?.module
20
+ }
21
+
22
+ static override async create(params?: XyoModuleParams<XyoModuleInstanceWitnessConfig>): Promise<XyoModuleInstanceWitness> {
23
+ return (await super.create(params)) as XyoModuleInstanceWitness
24
+ }
25
+
26
+ override async observe(payloads?: Partial<XyoPayload>[]): Promise<XyoPayload[]> {
27
+ return await super.observe([merge({ queries: this.module?.queries }, payloads?.[0], { schema: XyoModuleInstanceSchema })])
28
+ }
29
+ }
package/src/index.ts ADDED
@@ -0,0 +1,8 @@
1
+ import { XyoModuleInstancePlugin } from './Plugin'
2
+
3
+ export * from './Witness'
4
+
5
+ export { XyoModuleInstancePlugin }
6
+
7
+ // eslint-disable-next-line import/no-default-export
8
+ export default XyoModuleInstancePlugin