@xyo-network/payload-plugin 2.74.5 → 2.75.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.
Files changed (92) hide show
  1. package/dist/browser/Plugin.cjs +19 -0
  2. package/dist/browser/Plugin.cjs.map +1 -0
  3. package/dist/browser/Plugin.d.cts.map +1 -0
  4. package/dist/browser/Plugin.d.mts.map +1 -0
  5. package/dist/browser/Plugin.d.ts +14 -0
  6. package/dist/browser/Plugin.d.ts.map +1 -0
  7. package/dist/browser/Plugin.js +1 -0
  8. package/dist/browser/Plugin.js.map +1 -0
  9. package/dist/browser/Resolver.cjs +95 -0
  10. package/dist/browser/Resolver.cjs.map +1 -0
  11. package/dist/browser/Resolver.d.cts.map +1 -0
  12. package/dist/browser/Resolver.d.mts.map +1 -0
  13. package/dist/browser/Resolver.d.ts +26 -0
  14. package/dist/browser/Resolver.d.ts.map +1 -0
  15. package/dist/browser/Resolver.js +46 -0
  16. package/dist/browser/Resolver.js.map +1 -0
  17. package/dist/browser/createPlugin.cjs +51 -0
  18. package/dist/browser/createPlugin.cjs.map +1 -0
  19. package/dist/browser/createPlugin.d.cts.map +1 -0
  20. package/dist/browser/createPlugin.d.mts.map +1 -0
  21. package/dist/browser/createPlugin.d.ts +10 -0
  22. package/dist/browser/createPlugin.d.ts.map +1 -0
  23. package/dist/browser/createPlugin.js +29 -0
  24. package/dist/browser/createPlugin.js.map +1 -0
  25. package/dist/{index.js → browser/index.cjs} +1 -7
  26. package/dist/browser/index.cjs.map +1 -0
  27. package/dist/browser/index.d.cts.map +1 -0
  28. package/dist/browser/index.d.mts.map +1 -0
  29. package/dist/browser/index.d.ts +4 -0
  30. package/dist/browser/index.d.ts.map +1 -0
  31. package/dist/browser/index.js +4 -0
  32. package/dist/browser/index.js.map +1 -0
  33. package/dist/docs.json +59 -59
  34. package/dist/node/Plugin.d.cts +14 -0
  35. package/dist/node/Plugin.d.cts.map +1 -0
  36. package/dist/node/Plugin.d.mts +14 -0
  37. package/dist/node/Plugin.d.mts.map +1 -0
  38. package/dist/node/Plugin.d.ts +14 -0
  39. package/dist/node/Plugin.d.ts.map +1 -0
  40. package/dist/node/Plugin.js +19 -0
  41. package/dist/node/Plugin.js.map +1 -0
  42. package/dist/node/Plugin.mjs +1 -0
  43. package/dist/node/Plugin.mjs.map +1 -0
  44. package/dist/node/Resolver.d.cts +26 -0
  45. package/dist/node/Resolver.d.cts.map +1 -0
  46. package/dist/node/Resolver.d.mts +26 -0
  47. package/dist/node/Resolver.d.mts.map +1 -0
  48. package/dist/node/Resolver.d.ts +26 -0
  49. package/dist/node/Resolver.d.ts.map +1 -0
  50. package/dist/node/Resolver.js +101 -0
  51. package/dist/node/Resolver.js.map +1 -0
  52. package/dist/node/Resolver.mjs +76 -0
  53. package/dist/node/Resolver.mjs.map +1 -0
  54. package/dist/node/createPlugin.d.cts +10 -0
  55. package/dist/node/createPlugin.d.cts.map +1 -0
  56. package/dist/node/createPlugin.d.mts +10 -0
  57. package/dist/node/createPlugin.d.mts.map +1 -0
  58. package/dist/node/createPlugin.d.ts +10 -0
  59. package/dist/node/createPlugin.d.ts.map +1 -0
  60. package/dist/node/createPlugin.js +56 -0
  61. package/dist/node/createPlugin.js.map +1 -0
  62. package/dist/node/createPlugin.mjs +30 -0
  63. package/dist/node/createPlugin.mjs.map +1 -0
  64. package/dist/node/index.d.cts +4 -0
  65. package/dist/node/index.d.cts.map +1 -0
  66. package/dist/node/index.d.mts +4 -0
  67. package/dist/node/index.d.mts.map +1 -0
  68. package/dist/node/index.d.ts +4 -0
  69. package/dist/node/index.d.ts.map +1 -0
  70. package/dist/node/index.js +105 -0
  71. package/dist/node/index.js.map +1 -0
  72. package/dist/{index.mjs → node/index.mjs} +5 -3
  73. package/dist/node/index.mjs.map +1 -0
  74. package/package.json +30 -27
  75. package/dist/Plugin.d.mts.map +0 -1
  76. package/dist/Plugin.d.ts.map +0 -1
  77. package/dist/Resolver.d.mts.map +0 -1
  78. package/dist/Resolver.d.ts.map +0 -1
  79. package/dist/createPlugin.d.mts.map +0 -1
  80. package/dist/createPlugin.d.ts.map +0 -1
  81. package/dist/index.d.mts.map +0 -1
  82. package/dist/index.d.ts.map +0 -1
  83. package/dist/index.js.map +0 -1
  84. package/dist/index.mjs.map +0 -1
  85. /package/dist/{Plugin.d.mts → browser/Plugin.d.cts} +0 -0
  86. /package/dist/{Plugin.d.ts → browser/Plugin.d.mts} +0 -0
  87. /package/dist/{Resolver.d.mts → browser/Resolver.d.cts} +0 -0
  88. /package/dist/{Resolver.d.ts → browser/Resolver.d.mts} +0 -0
  89. /package/dist/{createPlugin.d.mts → browser/createPlugin.d.cts} +0 -0
  90. /package/dist/{createPlugin.d.ts → browser/createPlugin.d.mts} +0 -0
  91. /package/dist/{index.d.mts → browser/index.d.cts} +0 -0
  92. /package/dist/{index.d.ts → browser/index.d.mts} +0 -0
package/package.json CHANGED
@@ -10,47 +10,50 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/assert": "^2.11.7",
14
- "@xyo-network/core": "~2.74.5",
15
- "@xyo-network/payload-builder": "~2.74.5",
16
- "@xyo-network/payload-model": "~2.74.5",
17
- "@xyo-network/payload-validator": "~2.74.5",
18
- "@xyo-network/payload-wrapper": "~2.74.5"
13
+ "@xylabs/assert": "^2.12.10",
14
+ "@xyo-network/core": "~2.75.1",
15
+ "@xyo-network/payload-builder": "~2.75.1",
16
+ "@xyo-network/payload-model": "~2.75.1",
17
+ "@xyo-network/payload-validator": "~2.75.1",
18
+ "@xyo-network/payload-wrapper": "~2.75.1"
19
19
  },
20
20
  "devDependencies": {
21
- "@xylabs/ts-scripts-yarn3": "^3.0.28",
22
- "@xylabs/tsconfig": "^3.0.28",
21
+ "@xylabs/ts-scripts-yarn3": "^3.0.77",
22
+ "@xylabs/tsconfig": "^3.0.77",
23
23
  "typescript": "^5.2.2"
24
24
  },
25
25
  "description": "Primary SDK for using XYO Protocol 2.0",
26
26
  "docs": "dist/docs.json",
27
27
  "exports": {
28
28
  ".": {
29
- "require": {
30
- "types": "./dist/index.d.ts",
31
- "default": "./dist/index.js"
29
+ "browser": {
30
+ "require": {
31
+ "types": "./dist/browser/index.d.cts",
32
+ "default": "./dist/browser/index.cjs"
33
+ },
34
+ "import": {
35
+ "types": "./dist/browser/index.d.mts",
36
+ "default": "./dist/browser/index.js"
37
+ }
32
38
  },
33
- "import": {
34
- "types": "./dist/index.d.mts",
35
- "default": "./dist/index.mjs"
39
+ "node": {
40
+ "require": {
41
+ "types": "./dist/node/index.d.ts",
42
+ "default": "./dist/node/index.js"
43
+ },
44
+ "import": {
45
+ "types": "./dist/node/index.d.mts",
46
+ "default": "./dist/node/index.mjs"
47
+ }
36
48
  }
37
49
  },
38
- "./dist/docs.json": {
39
- "default": "./dist/docs.json"
40
- },
41
- "./cjs": {
42
- "default": "./dist/index.js"
43
- },
44
50
  "./docs": {
45
51
  "default": "./dist/docs.json"
46
52
  },
47
- "./esm": {
48
- "default": "./dist/index.mjs"
49
- },
50
53
  "./package.json": "./package.json"
51
54
  },
52
- "main": "dist/index.js",
53
- "module": "dist/index.mjs",
55
+ "main": "dist/node/index.js",
56
+ "module": "dist/node/index.mjs",
54
57
  "homepage": "https://xyo.network",
55
58
  "license": "LGPL-3.0",
56
59
  "publishConfig": {
@@ -61,6 +64,6 @@
61
64
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
62
65
  },
63
66
  "sideEffects": false,
64
- "types": "dist/index.d.ts",
65
- "version": "2.74.5"
67
+ "types": "dist/node/index.d.ts",
68
+ "version": "2.75.1"
66
69
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,MAAM,MAAM,iBAAiB,CAAC,QAAQ,SAAS,OAAO,GAAG,OAAO,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAA;AAEjG,MAAM,MAAM,aAAa,CAAC,QAAQ,SAAS,OAAO,GAAG,OAAO,IAAI;IAC9D,KAAK,CAAC,EAAE,MAAM,cAAc,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS,CAAA;IAC1C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,cAAc,CAAA;CAC5C,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,MAAM,MAAM,iBAAiB,CAAC,QAAQ,SAAS,OAAO,GAAG,OAAO,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAA;AAEjG,MAAM,MAAM,aAAa,CAAC,QAAQ,SAAS,OAAO,GAAG,OAAO,IAAI;IAC9D,KAAK,CAAC,EAAE,MAAM,cAAc,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS,CAAA;IAC1C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,cAAc,CAAA;CAC5C,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Resolver.d.ts","sourceRoot":"","sources":["../src/Resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAiB,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,qBAAa,qBAAqB;IAChC,MAAM,wBAAgB;IAEtB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAK;IACtD,SAAS,CAAC,aAAa,EAAE,aAAa,CAAA;;IAGpC,gDAAgD;IAChD,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE;IAClC,iFAAiF;IACjF,aAAa;;2DAEX;IAMJ,4FAA4F;IAC5F,OAAO;IAQP,QAAQ,CAAC,OAAO,SAAS,aAAa,GAAG,aAAa,EAAE,MAAM,EAAE,OAAO;IAMvE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa;IACvC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa;IAKxC,2FAA2F;IAC3F,OAAO;IAQP,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS;IAI1D,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS;CAG5D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Resolver.d.ts","sourceRoot":"","sources":["../src/Resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAiB,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,qBAAa,qBAAqB;IAChC,MAAM,wBAAgB;IAEtB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAK;IACtD,SAAS,CAAC,aAAa,EAAE,aAAa,CAAA;;IAGpC,gDAAgD;IAChD,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE;IAClC,iFAAiF;IACjF,aAAa;;2DAEX;IAMJ,4FAA4F;IAC5F,OAAO;IAQP,QAAQ,CAAC,OAAO,SAAS,aAAa,GAAG,aAAa,EAAE,MAAM,EAAE,OAAO;IAMvE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa;IACvC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa;IAKxC,2FAA2F;IAC3F,OAAO;IAQP,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS;IAI1D,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS;CAG5D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createPlugin.d.ts","sourceRoot":"","sources":["../src/createPlugin.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,eAAO,MAAM,6BAA6B;;gEAA+B,MAAM,qBAa9E,CAAA;AAED,eAAO,MAAM,mBAAmB;;;;mHAK/B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createPlugin.d.ts","sourceRoot":"","sources":["../src/createPlugin.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,eAAO,MAAM,6BAA6B;;gEAA+B,MAAM,qBAa9E,CAAA;AAED,eAAO,MAAM,mBAAmB;;;;mHAK/B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts","../src/createPlugin.ts","../src/Resolver.ts"],"sourcesContent":["export * from './createPlugin'\nexport * from './Plugin'\nexport * from './Resolver'\n","import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadValidator } from '@xyo-network/payload-validator'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nimport { PayloadPlugin } from './Plugin'\n\nexport const defaultPayloadPluginFunctions = <T extends Payload>(schema: string): PayloadPlugin<T> => {\n return {\n build: (): PayloadBuilder<T> => {\n return new PayloadBuilder<T>({ schema })\n },\n schema,\n validate: (payload: Payload): PayloadValidator<T> => {\n return new PayloadValidator<T>(payload as T)\n },\n wrap: (payload: Payload): PayloadWrapper<T> => {\n return PayloadWrapper.wrap<T>(payload as T)\n },\n }\n}\n\nexport const createPayloadPlugin = <TPayload extends Payload = Payload>(plugin: PayloadPlugin<TPayload>): PayloadPlugin<TPayload> => {\n return {\n ...defaultPayloadPluginFunctions<TPayload>(assertEx(plugin.schema, 'schema field required to create plugin')),\n ...plugin,\n }\n}\n","import { Validator } from '@xyo-network/core'\nimport { Payload, PayloadSchema } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nimport { createPayloadPlugin } from './createPlugin'\nimport { PayloadPlugin } from './Plugin'\n\nexport class PayloadPluginResolver {\n schema = PayloadSchema\n\n protected _plugins: Record<string, PayloadPlugin> = {}\n protected defaultPlugin: PayloadPlugin\n\n constructor(\n /** @param plugins The initial set of plugins */\n plugins?: PayloadPlugin<Payload>[],\n /** @param defaultPlugin Specifies the plugin to be used if no plugins resolve */\n defaultPlugin = createPayloadPlugin<Payload>({\n schema: PayloadSchema,\n }),\n ) {\n plugins?.forEach((plugin) => this.register(plugin))\n this.defaultPlugin = defaultPlugin\n }\n\n /** @description Create list of plugins, optionally filtered by ability to witness/divine */\n plugins() {\n const result: PayloadPlugin[] = []\n Object.values(this._plugins).forEach((value) => {\n result.push(value)\n })\n return result\n }\n\n register<TPlugin extends PayloadPlugin = PayloadPlugin>(plugin: TPlugin) {\n this._plugins[plugin.schema] = plugin\n\n return this\n }\n\n resolve(schema?: string): PayloadPlugin\n resolve(payload: Payload): PayloadPlugin\n resolve(value: Payload | string | undefined): PayloadPlugin {\n return value ? this._plugins[typeof value === 'string' ? value : value.schema] ?? this.defaultPlugin : this.defaultPlugin\n }\n\n /** @description Create list of schema, optionally filtered by ability to witness/divine */\n schemas() {\n const result: string[] = []\n Object.values(this._plugins).forEach((value) => {\n result.push(value.schema)\n })\n return result\n }\n\n validate(payload: Payload): Validator<Payload> | undefined {\n return this.resolve(payload).validate?.(payload)\n }\n\n wrap(payload: Payload): PayloadWrapper<Payload> | undefined {\n return this.resolve(payload).wrap?.(payload)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAyB;AACzB,6BAA+B;AAE/B,+BAAiC;AACjC,6BAA+B;AAIxB,IAAM,gCAAgC,CAAoB,WAAqC;AACpG,SAAO;AAAA,IACL,OAAO,MAAyB;AAC9B,aAAO,IAAI,sCAAkB,EAAE,OAAO,CAAC;AAAA,IACzC;AAAA,IACA;AAAA,IACA,UAAU,CAAC,YAA0C;AACnD,aAAO,IAAI,0CAAoB,OAAY;AAAA,IAC7C;AAAA,IACA,MAAM,CAAC,YAAwC;AAC7C,aAAO,sCAAe,KAAQ,OAAY;AAAA,IAC5C;AAAA,EACF;AACF;AAEO,IAAM,sBAAsB,CAAqC,WAA6D;AACnI,SAAO;AAAA,IACL,GAAG,kCAAwC,wBAAS,OAAO,QAAQ,wCAAwC,CAAC;AAAA,IAC5G,GAAG;AAAA,EACL;AACF;;;AC3BA,2BAAuC;AAMhC,IAAM,wBAAN,MAA4B;AAAA,EACjC,SAAS;AAAA,EAEC,WAA0C,CAAC;AAAA,EAC3C;AAAA,EAEV,YAEE,SAEA,gBAAgB,oBAA6B;AAAA,IAC3C,QAAQ;AAAA,EACV,CAAC,GACD;AACA,aAAS,QAAQ,CAAC,WAAW,KAAK,SAAS,MAAM,CAAC;AAClD,SAAK,gBAAgB;AAAA,EACvB;AAAA;AAAA,EAGA,UAAU;AACR,UAAM,SAA0B,CAAC;AACjC,WAAO,OAAO,KAAK,QAAQ,EAAE,QAAQ,CAAC,UAAU;AAC9C,aAAO,KAAK,KAAK;AAAA,IACnB,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,SAAwD,QAAiB;AACvE,SAAK,SAAS,OAAO,MAAM,IAAI;AAE/B,WAAO;AAAA,EACT;AAAA,EAIA,QAAQ,OAAoD;AAC1D,WAAO,QAAQ,KAAK,SAAS,OAAO,UAAU,WAAW,QAAQ,MAAM,MAAM,KAAK,KAAK,gBAAgB,KAAK;AAAA,EAC9G;AAAA;AAAA,EAGA,UAAU;AACR,UAAM,SAAmB,CAAC;AAC1B,WAAO,OAAO,KAAK,QAAQ,EAAE,QAAQ,CAAC,UAAU;AAC9C,aAAO,KAAK,MAAM,MAAM;AAAA,IAC1B,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,SAAkD;AACzD,WAAO,KAAK,QAAQ,OAAO,EAAE,WAAW,OAAO;AAAA,EACjD;AAAA,EAEA,KAAK,SAAuD;AAC1D,WAAO,KAAK,QAAQ,OAAO,EAAE,OAAO,OAAO;AAAA,EAC7C;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/createPlugin.ts","../src/Resolver.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\nimport { PayloadValidator } from '@xyo-network/payload-validator'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nimport { PayloadPlugin } from './Plugin'\n\nexport const defaultPayloadPluginFunctions = <T extends Payload>(schema: string): PayloadPlugin<T> => {\n return {\n build: (): PayloadBuilder<T> => {\n return new PayloadBuilder<T>({ schema })\n },\n schema,\n validate: (payload: Payload): PayloadValidator<T> => {\n return new PayloadValidator<T>(payload as T)\n },\n wrap: (payload: Payload): PayloadWrapper<T> => {\n return PayloadWrapper.wrap<T>(payload as T)\n },\n }\n}\n\nexport const createPayloadPlugin = <TPayload extends Payload = Payload>(plugin: PayloadPlugin<TPayload>): PayloadPlugin<TPayload> => {\n return {\n ...defaultPayloadPluginFunctions<TPayload>(assertEx(plugin.schema, 'schema field required to create plugin')),\n ...plugin,\n }\n}\n","import { Validator } from '@xyo-network/core'\nimport { Payload, PayloadSchema } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nimport { createPayloadPlugin } from './createPlugin'\nimport { PayloadPlugin } from './Plugin'\n\nexport class PayloadPluginResolver {\n schema = PayloadSchema\n\n protected _plugins: Record<string, PayloadPlugin> = {}\n protected defaultPlugin: PayloadPlugin\n\n constructor(\n /** @param plugins The initial set of plugins */\n plugins?: PayloadPlugin<Payload>[],\n /** @param defaultPlugin Specifies the plugin to be used if no plugins resolve */\n defaultPlugin = createPayloadPlugin<Payload>({\n schema: PayloadSchema,\n }),\n ) {\n plugins?.forEach((plugin) => this.register(plugin))\n this.defaultPlugin = defaultPlugin\n }\n\n /** @description Create list of plugins, optionally filtered by ability to witness/divine */\n plugins() {\n const result: PayloadPlugin[] = []\n Object.values(this._plugins).forEach((value) => {\n result.push(value)\n })\n return result\n }\n\n register<TPlugin extends PayloadPlugin = PayloadPlugin>(plugin: TPlugin) {\n this._plugins[plugin.schema] = plugin\n\n return this\n }\n\n resolve(schema?: string): PayloadPlugin\n resolve(payload: Payload): PayloadPlugin\n resolve(value: Payload | string | undefined): PayloadPlugin {\n return value ? this._plugins[typeof value === 'string' ? value : value.schema] ?? this.defaultPlugin : this.defaultPlugin\n }\n\n /** @description Create list of schema, optionally filtered by ability to witness/divine */\n schemas() {\n const result: string[] = []\n Object.values(this._plugins).forEach((value) => {\n result.push(value.schema)\n })\n return result\n }\n\n validate(payload: Payload): Validator<Payload> | undefined {\n return this.resolve(payload).validate?.(payload)\n }\n\n wrap(payload: Payload): PayloadWrapper<Payload> | undefined {\n return this.resolve(payload).wrap?.(payload)\n }\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAE/B,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAIxB,IAAM,gCAAgC,CAAoB,WAAqC;AACpG,SAAO;AAAA,IACL,OAAO,MAAyB;AAC9B,aAAO,IAAI,eAAkB,EAAE,OAAO,CAAC;AAAA,IACzC;AAAA,IACA;AAAA,IACA,UAAU,CAAC,YAA0C;AACnD,aAAO,IAAI,iBAAoB,OAAY;AAAA,IAC7C;AAAA,IACA,MAAM,CAAC,YAAwC;AAC7C,aAAO,eAAe,KAAQ,OAAY;AAAA,IAC5C;AAAA,EACF;AACF;AAEO,IAAM,sBAAsB,CAAqC,WAA6D;AACnI,SAAO;AAAA,IACL,GAAG,8BAAwC,SAAS,OAAO,QAAQ,wCAAwC,CAAC;AAAA,IAC5G,GAAG;AAAA,EACL;AACF;;;AC3BA,SAAkB,qBAAqB;AAMhC,IAAM,wBAAN,MAA4B;AAAA,EACjC,SAAS;AAAA,EAEC,WAA0C,CAAC;AAAA,EAC3C;AAAA,EAEV,YAEE,SAEA,gBAAgB,oBAA6B;AAAA,IAC3C,QAAQ;AAAA,EACV,CAAC,GACD;AACA,aAAS,QAAQ,CAAC,WAAW,KAAK,SAAS,MAAM,CAAC;AAClD,SAAK,gBAAgB;AAAA,EACvB;AAAA;AAAA,EAGA,UAAU;AACR,UAAM,SAA0B,CAAC;AACjC,WAAO,OAAO,KAAK,QAAQ,EAAE,QAAQ,CAAC,UAAU;AAC9C,aAAO,KAAK,KAAK;AAAA,IACnB,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,SAAwD,QAAiB;AACvE,SAAK,SAAS,OAAO,MAAM,IAAI;AAE/B,WAAO;AAAA,EACT;AAAA,EAIA,QAAQ,OAAoD;AAC1D,WAAO,QAAQ,KAAK,SAAS,OAAO,UAAU,WAAW,QAAQ,MAAM,MAAM,KAAK,KAAK,gBAAgB,KAAK;AAAA,EAC9G;AAAA;AAAA,EAGA,UAAU;AACR,UAAM,SAAmB,CAAC;AAC1B,WAAO,OAAO,KAAK,QAAQ,EAAE,QAAQ,CAAC,UAAU;AAC9C,aAAO,KAAK,MAAM,MAAM;AAAA,IAC1B,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,SAAkD;AACzD,WAAO,KAAK,QAAQ,OAAO,EAAE,WAAW,OAAO;AAAA,EACjD;AAAA,EAEA,KAAK,SAAuD;AAC1D,WAAO,KAAK,QAAQ,OAAO,EAAE,OAAO,OAAO;AAAA,EAC7C;AACF;","names":[]}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes