@xyo-network/diviner-jsonpath-memory 2.107.1 → 2.107.4

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.
@@ -1,2 +1,104 @@
1
- "use strict";var w=Object.create;var n=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var a=(r,t)=>n(r,"name",{value:t,configurable:!0});var j=(r,t)=>{for(var s in t)n(r,s,{get:t[s],enumerable:!0})},p=(r,t,s,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of _(t))!v.call(r,o)&&o!==s&&n(r,o,{get:()=>t[o],enumerable:!(e=y(t,o))||e.enumerable});return r};var C=(r,t,s)=>(s=r!=null?w(b(r)):{},p(t||!r||!r.__esModule?n(s,"default",{value:r,enumerable:!0}):s,r)),E=r=>p(n({},"__esModule",{value:!0}),r);var H={};j(H,{JsonPathDiviner:()=>u,toPayloadTransformer:()=>f});module.exports=E(H);var S=require("@xylabs/assert"),x=require("@xyo-network/diviner-abstract"),c=require("@xyo-network/diviner-jsonpath-model"),d=require("@xyo-network/payload-builder"),P=require("@xyo-network/payload-model");var g=C(require("jsonpath"),1);var f=a(r=>{let{defaultValue:t,destinationField:s,sourcePathExpression:e}=r;return a(m=>{let i=g.default.value(m,e),h={},l=i===void 0?t:i;return l!==void 0&&(h[s]=l),h},"transformer")},"toPayloadTransformer");var u=class extends x.AbstractDiviner{static{a(this,"JsonPathDiviner")}static configSchemas=[...super.configSchemas,c.JsonPathDivinerConfigSchema];static defaultConfigSchema=c.JsonPathDivinerConfigSchema;_transforms;get destinationSchema(){return this.config.destinationSchema??P.PayloadSchema}get transforms(){if(!this._transforms){let t=(0,S.assertEx)(this.config.transforms,()=>"config.transforms is not defined");this._transforms=t.map(f)}return this._transforms}async divineHandler(t){return t?await Promise.all(t.map(async e=>{let o=this.transforms.map(i=>i(e)),m=await d.PayloadBuilder.dataHashes([e]);return await new d.PayloadBuilder({schema:this.destinationSchema}).fields(Object.assign({sources:m},...o)).build()})):[]}};
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+
31
+ // src/index.ts
32
+ var src_exports = {};
33
+ __export(src_exports, {
34
+ JsonPathDiviner: () => JsonPathDiviner,
35
+ toPayloadTransformer: () => toPayloadTransformer
36
+ });
37
+ module.exports = __toCommonJS(src_exports);
38
+
39
+ // src/Diviner.ts
40
+ var import_assert = require("@xylabs/assert");
41
+ var import_diviner_abstract = require("@xyo-network/diviner-abstract");
42
+ var import_diviner_jsonpath_model = require("@xyo-network/diviner-jsonpath-model");
43
+ var import_payload_builder = require("@xyo-network/payload-builder");
44
+ var import_payload_model = require("@xyo-network/payload-model");
45
+
46
+ // src/jsonpath/toPayloadTransformer.ts
47
+ var import_jsonpath = __toESM(require("jsonpath"), 1);
48
+ var toPayloadTransformer = /* @__PURE__ */ __name((transformExpression) => {
49
+ const { defaultValue, destinationField, sourcePathExpression } = transformExpression;
50
+ const transformer = /* @__PURE__ */ __name((x) => {
51
+ const source = import_jsonpath.default.value(x, sourcePathExpression);
52
+ const transformed = {};
53
+ const destinationValue = source === void 0 ? defaultValue : source;
54
+ if (destinationValue !== void 0) transformed[destinationField] = destinationValue;
55
+ return transformed;
56
+ }, "transformer");
57
+ return transformer;
58
+ }, "toPayloadTransformer");
59
+
60
+ // src/Diviner.ts
61
+ var JsonPathDiviner = class extends import_diviner_abstract.AbstractDiviner {
62
+ static {
63
+ __name(this, "JsonPathDiviner");
64
+ }
65
+ static configSchemas = [
66
+ ...super.configSchemas,
67
+ import_diviner_jsonpath_model.JsonPathDivinerConfigSchema
68
+ ];
69
+ static defaultConfigSchema = import_diviner_jsonpath_model.JsonPathDivinerConfigSchema;
70
+ _transforms;
71
+ /**
72
+ * The schema to use for the destination payloads
73
+ */
74
+ get destinationSchema() {
75
+ return this.config.destinationSchema ?? import_payload_model.PayloadSchema;
76
+ }
77
+ /**
78
+ * Dictionary of schemas to payload transformers for creating indexes
79
+ * from the payloads within a Bound Witness
80
+ */
81
+ get transforms() {
82
+ if (!this._transforms) {
83
+ const transforms = (0, import_assert.assertEx)(this.config.transforms, () => "config.transforms is not defined");
84
+ this._transforms = transforms.map(toPayloadTransformer);
85
+ }
86
+ return this._transforms;
87
+ }
88
+ async divineHandler(payloads) {
89
+ if (!payloads) return [];
90
+ const results = await Promise.all(payloads.map(async (payload) => {
91
+ const fields = this.transforms.map((transform) => transform(payload));
92
+ const sources = await import_payload_builder.PayloadBuilder.dataHashes([
93
+ payload
94
+ ]);
95
+ return await new import_payload_builder.PayloadBuilder({
96
+ schema: this.destinationSchema
97
+ }).fields(Object.assign({
98
+ sources
99
+ }, ...fields)).build();
100
+ }));
101
+ return results;
102
+ }
103
+ };
2
104
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Diviner.ts","../../src/jsonpath/toPayloadTransformer.ts"],"sourcesContent":["export * from './Diviner'\nexport * from './jsonpath'\n","import { assertEx } from '@xylabs/assert'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { JsonPathDivinerConfigSchema, JsonPathDivinerParams, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { PayloadBuilder, WithoutSchema } from '@xyo-network/payload-builder'\nimport { Payload, PayloadSchema, Schema } from '@xyo-network/payload-model'\n\nimport { toPayloadTransformer } from './jsonpath'\n\nexport class JsonPathDiviner<\n TParams extends JsonPathDivinerParams = JsonPathDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, JsonPathDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = JsonPathDivinerConfigSchema\n\n protected _transforms: PayloadTransformer[] | undefined\n\n /**\n * The schema to use for the destination payloads\n */\n protected get destinationSchema(): string {\n return this.config.destinationSchema ?? PayloadSchema\n }\n /**\n * Dictionary of schemas to payload transformers for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get transforms(): PayloadTransformer[] {\n if (!this._transforms) {\n const transforms = assertEx(this.config.transforms, () => 'config.transforms is not defined')\n this._transforms = transforms.map(toPayloadTransformer)\n }\n return this._transforms\n }\n\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n if (!payloads) return []\n // Create the indexes from the tuples\n const results = await Promise.all(\n payloads.map<Promise<TOut>>(async (payload) => {\n // Use the payload transformers to convert the fields from the source payloads to the destination fields\n const fields = this.transforms.map((transform) => transform(payload)) as WithoutSchema<TOut>[]\n // Include all the sources for reference\n const sources = await PayloadBuilder.dataHashes([payload])\n // Build and return the index\n return await new PayloadBuilder<TOut>({ schema: this.destinationSchema }).fields(Object.assign({ sources }, ...fields)).build()\n }),\n )\n return results\n }\n}\n","import { JsonPathTransformExpression, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport jsonpath from 'jsonpath'\n\n/**\n * Converts a JSON Path transform expression to a payload transformer\n * @param transformExpression The transform expression to convert\n * @returns The payload transformer for the JSON Path transform expression\n */\nexport const toPayloadTransformer = (transformExpression: JsonPathTransformExpression) => {\n const { defaultValue, destinationField, sourcePathExpression } = transformExpression\n const transformer: PayloadTransformer = (x: Payload) => {\n const source = jsonpath.value(x, sourcePathExpression)\n const transformed: Record<string, unknown> = {}\n // Assign the source value to the destination field or the default value if the source is undefined\n const destinationValue = source === undefined ? defaultValue : source\n if (destinationValue !== undefined) transformed[destinationField] = destinationValue\n return transformed\n }\n return transformer\n}\n"],"mappings":"6mBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,EAAA,yBAAAC,IAAA,eAAAC,EAAAJ,GCAA,IAAAK,EAAyB,0BACzBC,EAAgC,yCAChCC,EAAuF,+CAEvFC,EAA8C,wCAC9CC,EAA+C,sCCH/C,IAAAC,EAAqB,yBAOd,IAAMC,EAAuBC,EAACC,GAAAA,CACnC,GAAM,CAAEC,aAAAA,EAAcC,iBAAAA,EAAkBC,qBAAAA,CAAoB,EAAKH,EASjE,OARwCD,EAACK,GAAAA,CACvC,IAAMC,EAASC,EAAAA,QAASC,MAAMH,EAAGD,CAAAA,EAC3BK,EAAuC,CAAC,EAExCC,EAAmBJ,IAAWK,OAAYT,EAAeI,EAC/D,OAAII,IAAqBC,SAAWF,EAAYN,CAAAA,EAAoBO,GAC7DD,CACT,EAPwC,cAS1C,EAXoC,wBDA7B,IAAMG,EAAN,cASGC,iBAAAA,CAlBV,MAkBUA,CAAAA,EAAAA,wBACR,OAAyBC,cAA0B,IAAI,MAAMA,cAAeC,+BAC5E,OAAyBC,oBAA8BD,8BAE7CE,YAKV,IAAcC,mBAA4B,CACxC,OAAO,KAAKC,OAAOD,mBAAqBE,eAC1C,CAKA,IAAcC,YAAmC,CAC/C,GAAI,CAAC,KAAKJ,YAAa,CACrB,IAAMI,KAAaC,YAAS,KAAKH,OAAOE,WAAY,IAAM,kCAAA,EAC1D,KAAKJ,YAAcI,EAAWE,IAAIC,CAAAA,CACpC,CACA,OAAO,KAAKP,WACd,CAEA,MAAyBQ,cAAcC,EAAmC,CACxE,OAAKA,EAEW,MAAMC,QAAQC,IAC5BF,EAASH,IAAmB,MAAOM,GAAAA,CAEjC,IAAMC,EAAS,KAAKT,WAAWE,IAAKQ,GAAcA,EAAUF,CAAAA,CAAAA,EAEtDG,EAAU,MAAMC,iBAAeC,WAAW,CAACL,EAAQ,EAEzD,OAAO,MAAM,IAAII,iBAAqB,CAAEE,OAAQ,KAAKjB,iBAAkB,CAAA,EAAGY,OAAOM,OAAOC,OAAO,CAAEL,QAAAA,CAAQ,EAAA,GAAMF,CAAAA,CAAAA,EAASQ,MAAK,CAC/H,CAAA,CAAA,EAVoB,CAAA,CAaxB,CACF","names":["src_exports","__export","JsonPathDiviner","toPayloadTransformer","__toCommonJS","import_assert","import_diviner_abstract","import_diviner_jsonpath_model","import_payload_builder","import_payload_model","import_jsonpath","toPayloadTransformer","__name","transformExpression","defaultValue","destinationField","sourcePathExpression","x","source","jsonpath","value","transformed","destinationValue","undefined","JsonPathDiviner","AbstractDiviner","configSchemas","JsonPathDivinerConfigSchema","defaultConfigSchema","_transforms","destinationSchema","config","PayloadSchema","transforms","assertEx","map","toPayloadTransformer","divineHandler","payloads","Promise","all","payload","fields","transform","sources","PayloadBuilder","dataHashes","schema","Object","assign","build"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Diviner.ts","../../src/jsonpath/toPayloadTransformer.ts"],"sourcesContent":["export * from './Diviner'\nexport * from './jsonpath'\n","import { assertEx } from '@xylabs/assert'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { JsonPathDivinerConfigSchema, JsonPathDivinerParams, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { PayloadBuilder, WithoutSchema } from '@xyo-network/payload-builder'\nimport { Payload, PayloadSchema, Schema } from '@xyo-network/payload-model'\n\nimport { toPayloadTransformer } from './jsonpath'\n\nexport class JsonPathDiviner<\n TParams extends JsonPathDivinerParams = JsonPathDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, JsonPathDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = JsonPathDivinerConfigSchema\n\n protected _transforms: PayloadTransformer[] | undefined\n\n /**\n * The schema to use for the destination payloads\n */\n protected get destinationSchema(): string {\n return this.config.destinationSchema ?? PayloadSchema\n }\n /**\n * Dictionary of schemas to payload transformers for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get transforms(): PayloadTransformer[] {\n if (!this._transforms) {\n const transforms = assertEx(this.config.transforms, () => 'config.transforms is not defined')\n this._transforms = transforms.map(toPayloadTransformer)\n }\n return this._transforms\n }\n\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n if (!payloads) return []\n // Create the indexes from the tuples\n const results = await Promise.all(\n payloads.map<Promise<TOut>>(async (payload) => {\n // Use the payload transformers to convert the fields from the source payloads to the destination fields\n const fields = this.transforms.map((transform) => transform(payload)) as WithoutSchema<TOut>[]\n // Include all the sources for reference\n const sources = await PayloadBuilder.dataHashes([payload])\n // Build and return the index\n return await new PayloadBuilder<TOut>({ schema: this.destinationSchema }).fields(Object.assign({ sources }, ...fields)).build()\n }),\n )\n return results\n }\n}\n","import { JsonPathTransformExpression, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport jsonpath from 'jsonpath'\n\n/**\n * Converts a JSON Path transform expression to a payload transformer\n * @param transformExpression The transform expression to convert\n * @returns The payload transformer for the JSON Path transform expression\n */\nexport const toPayloadTransformer = (transformExpression: JsonPathTransformExpression) => {\n const { defaultValue, destinationField, sourcePathExpression } = transformExpression\n const transformer: PayloadTransformer = (x: Payload) => {\n const source = jsonpath.value(x, sourcePathExpression)\n const transformed: Record<string, unknown> = {}\n // Assign the source value to the destination field or the default value if the source is undefined\n const destinationValue = source === undefined ? defaultValue : source\n if (destinationValue !== undefined) transformed[destinationField] = destinationValue\n return transformed\n }\n return transformer\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;ACAA,oBAAyB;AACzB,8BAAgC;AAChC,oCAAuF;AAEvF,6BAA8C;AAC9C,2BAA+C;;;ACH/C,sBAAqB;AAOd,IAAMA,uBAAuB,wBAACC,wBAAAA;AACnC,QAAM,EAAEC,cAAcC,kBAAkBC,qBAAoB,IAAKH;AACjE,QAAMI,cAAkC,wBAACC,MAAAA;AACvC,UAAMC,SAASC,gBAAAA,QAASC,MAAMH,GAAGF,oBAAAA;AACjC,UAAMM,cAAuC,CAAC;AAE9C,UAAMC,mBAAmBJ,WAAWK,SAAYV,eAAeK;AAC/D,QAAII,qBAAqBC,OAAWF,aAAYP,gBAAAA,IAAoBQ;AACpE,WAAOD;EACT,GAPwC;AAQxC,SAAOL;AACT,GAXoC;;;ADA7B,IAAMQ,kBAAN,cASGC,wCAAAA;EAlBV,OAkBUA;;;EACR,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EAE7CE;;;;EAKV,IAAcC,oBAA4B;AACxC,WAAO,KAAKC,OAAOD,qBAAqBE;EAC1C;;;;;EAKA,IAAcC,aAAmC;AAC/C,QAAI,CAAC,KAAKJ,aAAa;AACrB,YAAMI,iBAAaC,wBAAS,KAAKH,OAAOE,YAAY,MAAM,kCAAA;AAC1D,WAAKJ,cAAcI,WAAWE,IAAIC,oBAAAA;IACpC;AACA,WAAO,KAAKP;EACd;EAEA,MAAyBQ,cAAcC,UAAmC;AACxE,QAAI,CAACA,SAAU,QAAO,CAAA;AAEtB,UAAMC,UAAU,MAAMC,QAAQC,IAC5BH,SAASH,IAAmB,OAAOO,YAAAA;AAEjC,YAAMC,SAAS,KAAKV,WAAWE,IAAI,CAACS,cAAcA,UAAUF,OAAAA,CAAAA;AAE5D,YAAMG,UAAU,MAAMC,sCAAeC,WAAW;QAACL;OAAQ;AAEzD,aAAO,MAAM,IAAII,sCAAqB;QAAEE,QAAQ,KAAKlB;MAAkB,CAAA,EAAGa,OAAOM,OAAOC,OAAO;QAAEL;MAAQ,GAAA,GAAMF,MAAAA,CAAAA,EAASQ,MAAK;IAC/H,CAAA,CAAA;AAEF,WAAOZ;EACT;AACF;","names":["toPayloadTransformer","transformExpression","defaultValue","destinationField","sourcePathExpression","transformer","x","source","jsonpath","value","transformed","destinationValue","undefined","JsonPathDiviner","AbstractDiviner","configSchemas","JsonPathDivinerConfigSchema","defaultConfigSchema","_transforms","destinationSchema","config","PayloadSchema","transforms","assertEx","map","toPayloadTransformer","divineHandler","payloads","results","Promise","all","payload","fields","transform","sources","PayloadBuilder","dataHashes","schema","Object","assign","build"]}
@@ -1,2 +1,73 @@
1
- var l=Object.defineProperty;var r=(s,t)=>l(s,"name",{value:t,configurable:!0});import{assertEx as g}from"@xylabs/assert";import{AbstractDiviner as S}from"@xyo-network/diviner-abstract";import{JsonPathDivinerConfigSchema as d}from"@xyo-network/diviner-jsonpath-model";import{PayloadBuilder as u}from"@xyo-network/payload-builder";import{PayloadSchema as x}from"@xyo-network/payload-model";import p from"jsonpath";var c=r(s=>{let{defaultValue:t,destinationField:a,sourcePathExpression:o}=s;return r(n=>{let e=p.value(n,o),m={},f=e===void 0?t:e;return f!==void 0&&(m[a]=f),m},"transformer")},"toPayloadTransformer");var h=class extends S{static{r(this,"JsonPathDiviner")}static configSchemas=[...super.configSchemas,d];static defaultConfigSchema=d;_transforms;get destinationSchema(){return this.config.destinationSchema??x}get transforms(){if(!this._transforms){let t=g(this.config.transforms,()=>"config.transforms is not defined");this._transforms=t.map(c)}return this._transforms}async divineHandler(t){return t?await Promise.all(t.map(async o=>{let i=this.transforms.map(e=>e(o)),n=await u.dataHashes([o]);return await new u({schema:this.destinationSchema}).fields(Object.assign({sources:n},...i)).build()})):[]}};export{h as JsonPathDiviner,c as toPayloadTransformer};
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ // src/Diviner.ts
5
+ import { assertEx } from "@xylabs/assert";
6
+ import { AbstractDiviner } from "@xyo-network/diviner-abstract";
7
+ import { JsonPathDivinerConfigSchema } from "@xyo-network/diviner-jsonpath-model";
8
+ import { PayloadBuilder } from "@xyo-network/payload-builder";
9
+ import { PayloadSchema } from "@xyo-network/payload-model";
10
+
11
+ // src/jsonpath/toPayloadTransformer.ts
12
+ import jsonpath from "jsonpath";
13
+ var toPayloadTransformer = /* @__PURE__ */ __name((transformExpression) => {
14
+ const { defaultValue, destinationField, sourcePathExpression } = transformExpression;
15
+ const transformer = /* @__PURE__ */ __name((x) => {
16
+ const source = jsonpath.value(x, sourcePathExpression);
17
+ const transformed = {};
18
+ const destinationValue = source === void 0 ? defaultValue : source;
19
+ if (destinationValue !== void 0) transformed[destinationField] = destinationValue;
20
+ return transformed;
21
+ }, "transformer");
22
+ return transformer;
23
+ }, "toPayloadTransformer");
24
+
25
+ // src/Diviner.ts
26
+ var JsonPathDiviner = class extends AbstractDiviner {
27
+ static {
28
+ __name(this, "JsonPathDiviner");
29
+ }
30
+ static configSchemas = [
31
+ ...super.configSchemas,
32
+ JsonPathDivinerConfigSchema
33
+ ];
34
+ static defaultConfigSchema = JsonPathDivinerConfigSchema;
35
+ _transforms;
36
+ /**
37
+ * The schema to use for the destination payloads
38
+ */
39
+ get destinationSchema() {
40
+ return this.config.destinationSchema ?? PayloadSchema;
41
+ }
42
+ /**
43
+ * Dictionary of schemas to payload transformers for creating indexes
44
+ * from the payloads within a Bound Witness
45
+ */
46
+ get transforms() {
47
+ if (!this._transforms) {
48
+ const transforms = assertEx(this.config.transforms, () => "config.transforms is not defined");
49
+ this._transforms = transforms.map(toPayloadTransformer);
50
+ }
51
+ return this._transforms;
52
+ }
53
+ async divineHandler(payloads) {
54
+ if (!payloads) return [];
55
+ const results = await Promise.all(payloads.map(async (payload) => {
56
+ const fields = this.transforms.map((transform) => transform(payload));
57
+ const sources = await PayloadBuilder.dataHashes([
58
+ payload
59
+ ]);
60
+ return await new PayloadBuilder({
61
+ schema: this.destinationSchema
62
+ }).fields(Object.assign({
63
+ sources
64
+ }, ...fields)).build();
65
+ }));
66
+ return results;
67
+ }
68
+ };
69
+ export {
70
+ JsonPathDiviner,
71
+ toPayloadTransformer
72
+ };
2
73
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Diviner.ts","../../src/jsonpath/toPayloadTransformer.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { JsonPathDivinerConfigSchema, JsonPathDivinerParams, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { PayloadBuilder, WithoutSchema } from '@xyo-network/payload-builder'\nimport { Payload, PayloadSchema, Schema } from '@xyo-network/payload-model'\n\nimport { toPayloadTransformer } from './jsonpath'\n\nexport class JsonPathDiviner<\n TParams extends JsonPathDivinerParams = JsonPathDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, JsonPathDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = JsonPathDivinerConfigSchema\n\n protected _transforms: PayloadTransformer[] | undefined\n\n /**\n * The schema to use for the destination payloads\n */\n protected get destinationSchema(): string {\n return this.config.destinationSchema ?? PayloadSchema\n }\n /**\n * Dictionary of schemas to payload transformers for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get transforms(): PayloadTransformer[] {\n if (!this._transforms) {\n const transforms = assertEx(this.config.transforms, () => 'config.transforms is not defined')\n this._transforms = transforms.map(toPayloadTransformer)\n }\n return this._transforms\n }\n\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n if (!payloads) return []\n // Create the indexes from the tuples\n const results = await Promise.all(\n payloads.map<Promise<TOut>>(async (payload) => {\n // Use the payload transformers to convert the fields from the source payloads to the destination fields\n const fields = this.transforms.map((transform) => transform(payload)) as WithoutSchema<TOut>[]\n // Include all the sources for reference\n const sources = await PayloadBuilder.dataHashes([payload])\n // Build and return the index\n return await new PayloadBuilder<TOut>({ schema: this.destinationSchema }).fields(Object.assign({ sources }, ...fields)).build()\n }),\n )\n return results\n }\n}\n","import { JsonPathTransformExpression, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport jsonpath from 'jsonpath'\n\n/**\n * Converts a JSON Path transform expression to a payload transformer\n * @param transformExpression The transform expression to convert\n * @returns The payload transformer for the JSON Path transform expression\n */\nexport const toPayloadTransformer = (transformExpression: JsonPathTransformExpression) => {\n const { defaultValue, destinationField, sourcePathExpression } = transformExpression\n const transformer: PayloadTransformer = (x: Payload) => {\n const source = jsonpath.value(x, sourcePathExpression)\n const transformed: Record<string, unknown> = {}\n // Assign the source value to the destination field or the default value if the source is undefined\n const destinationValue = source === undefined ? defaultValue : source\n if (destinationValue !== undefined) transformed[destinationField] = destinationValue\n return transformed\n }\n return transformer\n}\n"],"mappings":"+EAAA,OAASA,YAAAA,MAAgB,iBACzB,OAASC,mBAAAA,MAAuB,gCAChC,OAASC,+BAAAA,MAA8E,sCAEvF,OAASC,kBAAAA,MAAqC,+BAC9C,OAAkBC,iBAAAA,MAA6B,6BCH/C,OAAOC,MAAc,WAOd,IAAMC,EAAuBC,EAACC,GAAAA,CACnC,GAAM,CAAEC,aAAAA,EAAcC,iBAAAA,EAAkBC,qBAAAA,CAAoB,EAAKH,EASjE,OARwCD,EAACK,GAAAA,CACvC,IAAMC,EAASC,EAASC,MAAMH,EAAGD,CAAAA,EAC3BK,EAAuC,CAAC,EAExCC,EAAmBJ,IAAWK,OAAYT,EAAeI,EAC/D,OAAII,IAAqBC,SAAWF,EAAYN,CAAAA,EAAoBO,GAC7DD,CACT,EAPwC,cAS1C,EAXoC,wBDA7B,IAAMG,EAAN,cASGC,CAAAA,CAlBV,MAkBUA,CAAAA,EAAAA,wBACR,OAAyBC,cAA0B,IAAI,MAAMA,cAAeC,GAC5E,OAAyBC,oBAA8BD,EAE7CE,YAKV,IAAcC,mBAA4B,CACxC,OAAO,KAAKC,OAAOD,mBAAqBE,CAC1C,CAKA,IAAcC,YAAmC,CAC/C,GAAI,CAAC,KAAKJ,YAAa,CACrB,IAAMI,EAAaC,EAAS,KAAKH,OAAOE,WAAY,IAAM,kCAAA,EAC1D,KAAKJ,YAAcI,EAAWE,IAAIC,CAAAA,CACpC,CACA,OAAO,KAAKP,WACd,CAEA,MAAyBQ,cAAcC,EAAmC,CACxE,OAAKA,EAEW,MAAMC,QAAQC,IAC5BF,EAASH,IAAmB,MAAOM,GAAAA,CAEjC,IAAMC,EAAS,KAAKT,WAAWE,IAAKQ,GAAcA,EAAUF,CAAAA,CAAAA,EAEtDG,EAAU,MAAMC,EAAeC,WAAW,CAACL,EAAQ,EAEzD,OAAO,MAAM,IAAII,EAAqB,CAAEE,OAAQ,KAAKjB,iBAAkB,CAAA,EAAGY,OAAOM,OAAOC,OAAO,CAAEL,QAAAA,CAAQ,EAAA,GAAMF,CAAAA,CAAAA,EAASQ,MAAK,CAC/H,CAAA,CAAA,EAVoB,CAAA,CAaxB,CACF","names":["assertEx","AbstractDiviner","JsonPathDivinerConfigSchema","PayloadBuilder","PayloadSchema","jsonpath","toPayloadTransformer","__name","transformExpression","defaultValue","destinationField","sourcePathExpression","x","source","jsonpath","value","transformed","destinationValue","undefined","JsonPathDiviner","AbstractDiviner","configSchemas","JsonPathDivinerConfigSchema","defaultConfigSchema","_transforms","destinationSchema","config","PayloadSchema","transforms","assertEx","map","toPayloadTransformer","divineHandler","payloads","Promise","all","payload","fields","transform","sources","PayloadBuilder","dataHashes","schema","Object","assign","build"]}
1
+ {"version":3,"sources":["../../src/Diviner.ts","../../src/jsonpath/toPayloadTransformer.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { JsonPathDivinerConfigSchema, JsonPathDivinerParams, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { PayloadBuilder, WithoutSchema } from '@xyo-network/payload-builder'\nimport { Payload, PayloadSchema, Schema } from '@xyo-network/payload-model'\n\nimport { toPayloadTransformer } from './jsonpath'\n\nexport class JsonPathDiviner<\n TParams extends JsonPathDivinerParams = JsonPathDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, JsonPathDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = JsonPathDivinerConfigSchema\n\n protected _transforms: PayloadTransformer[] | undefined\n\n /**\n * The schema to use for the destination payloads\n */\n protected get destinationSchema(): string {\n return this.config.destinationSchema ?? PayloadSchema\n }\n /**\n * Dictionary of schemas to payload transformers for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get transforms(): PayloadTransformer[] {\n if (!this._transforms) {\n const transforms = assertEx(this.config.transforms, () => 'config.transforms is not defined')\n this._transforms = transforms.map(toPayloadTransformer)\n }\n return this._transforms\n }\n\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n if (!payloads) return []\n // Create the indexes from the tuples\n const results = await Promise.all(\n payloads.map<Promise<TOut>>(async (payload) => {\n // Use the payload transformers to convert the fields from the source payloads to the destination fields\n const fields = this.transforms.map((transform) => transform(payload)) as WithoutSchema<TOut>[]\n // Include all the sources for reference\n const sources = await PayloadBuilder.dataHashes([payload])\n // Build and return the index\n return await new PayloadBuilder<TOut>({ schema: this.destinationSchema }).fields(Object.assign({ sources }, ...fields)).build()\n }),\n )\n return results\n }\n}\n","import { JsonPathTransformExpression, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport jsonpath from 'jsonpath'\n\n/**\n * Converts a JSON Path transform expression to a payload transformer\n * @param transformExpression The transform expression to convert\n * @returns The payload transformer for the JSON Path transform expression\n */\nexport const toPayloadTransformer = (transformExpression: JsonPathTransformExpression) => {\n const { defaultValue, destinationField, sourcePathExpression } = transformExpression\n const transformer: PayloadTransformer = (x: Payload) => {\n const source = jsonpath.value(x, sourcePathExpression)\n const transformed: Record<string, unknown> = {}\n // Assign the source value to the destination field or the default value if the source is undefined\n const destinationValue = source === undefined ? defaultValue : source\n if (destinationValue !== undefined) transformed[destinationField] = destinationValue\n return transformed\n }\n return transformer\n}\n"],"mappings":";;;;AAAA,SAASA,gBAAgB;AACzB,SAASC,uBAAuB;AAChC,SAASC,mCAA8E;AAEvF,SAASC,sBAAqC;AAC9C,SAAkBC,qBAA6B;;;ACH/C,OAAOC,cAAc;AAOd,IAAMC,uBAAuB,wBAACC,wBAAAA;AACnC,QAAM,EAAEC,cAAcC,kBAAkBC,qBAAoB,IAAKH;AACjE,QAAMI,cAAkC,wBAACC,MAAAA;AACvC,UAAMC,SAASC,SAASC,MAAMH,GAAGF,oBAAAA;AACjC,UAAMM,cAAuC,CAAC;AAE9C,UAAMC,mBAAmBJ,WAAWK,SAAYV,eAAeK;AAC/D,QAAII,qBAAqBC,OAAWF,aAAYP,gBAAAA,IAAoBQ;AACpE,WAAOD;EACT,GAPwC;AAQxC,SAAOL;AACT,GAXoC;;;ADA7B,IAAMQ,kBAAN,cASGC,gBAAAA;EAlBV,OAkBUA;;;EACR,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EAE7CE;;;;EAKV,IAAcC,oBAA4B;AACxC,WAAO,KAAKC,OAAOD,qBAAqBE;EAC1C;;;;;EAKA,IAAcC,aAAmC;AAC/C,QAAI,CAAC,KAAKJ,aAAa;AACrB,YAAMI,aAAaC,SAAS,KAAKH,OAAOE,YAAY,MAAM,kCAAA;AAC1D,WAAKJ,cAAcI,WAAWE,IAAIC,oBAAAA;IACpC;AACA,WAAO,KAAKP;EACd;EAEA,MAAyBQ,cAAcC,UAAmC;AACxE,QAAI,CAACA,SAAU,QAAO,CAAA;AAEtB,UAAMC,UAAU,MAAMC,QAAQC,IAC5BH,SAASH,IAAmB,OAAOO,YAAAA;AAEjC,YAAMC,SAAS,KAAKV,WAAWE,IAAI,CAACS,cAAcA,UAAUF,OAAAA,CAAAA;AAE5D,YAAMG,UAAU,MAAMC,eAAeC,WAAW;QAACL;OAAQ;AAEzD,aAAO,MAAM,IAAII,eAAqB;QAAEE,QAAQ,KAAKlB;MAAkB,CAAA,EAAGa,OAAOM,OAAOC,OAAO;QAAEL;MAAQ,GAAA,GAAMF,MAAAA,CAAAA,EAASQ,MAAK;IAC/H,CAAA,CAAA;AAEF,WAAOZ;EACT;AACF;","names":["assertEx","AbstractDiviner","JsonPathDivinerConfigSchema","PayloadBuilder","PayloadSchema","jsonpath","toPayloadTransformer","transformExpression","defaultValue","destinationField","sourcePathExpression","transformer","x","source","jsonpath","value","transformed","destinationValue","undefined","JsonPathDiviner","AbstractDiviner","configSchemas","JsonPathDivinerConfigSchema","defaultConfigSchema","_transforms","destinationSchema","config","PayloadSchema","transforms","assertEx","map","toPayloadTransformer","divineHandler","payloads","results","Promise","all","payload","fields","transform","sources","PayloadBuilder","dataHashes","schema","Object","assign","build"]}
@@ -1,2 +1,104 @@
1
- "use strict";var w=Object.create;var n=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var a=(r,t)=>n(r,"name",{value:t,configurable:!0});var j=(r,t)=>{for(var s in t)n(r,s,{get:t[s],enumerable:!0})},p=(r,t,s,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of _(t))!v.call(r,o)&&o!==s&&n(r,o,{get:()=>t[o],enumerable:!(e=y(t,o))||e.enumerable});return r};var C=(r,t,s)=>(s=r!=null?w(b(r)):{},p(t||!r||!r.__esModule?n(s,"default",{value:r,enumerable:!0}):s,r)),E=r=>p(n({},"__esModule",{value:!0}),r);var H={};j(H,{JsonPathDiviner:()=>u,toPayloadTransformer:()=>f});module.exports=E(H);var S=require("@xylabs/assert"),x=require("@xyo-network/diviner-abstract"),c=require("@xyo-network/diviner-jsonpath-model"),d=require("@xyo-network/payload-builder"),P=require("@xyo-network/payload-model");var g=C(require("jsonpath"),1);var f=a(r=>{let{defaultValue:t,destinationField:s,sourcePathExpression:e}=r;return a(m=>{let i=g.default.value(m,e),h={},l=i===void 0?t:i;return l!==void 0&&(h[s]=l),h},"transformer")},"toPayloadTransformer");var u=class extends x.AbstractDiviner{static{a(this,"JsonPathDiviner")}static configSchemas=[...super.configSchemas,c.JsonPathDivinerConfigSchema];static defaultConfigSchema=c.JsonPathDivinerConfigSchema;_transforms;get destinationSchema(){return this.config.destinationSchema??P.PayloadSchema}get transforms(){if(!this._transforms){let t=(0,S.assertEx)(this.config.transforms,()=>"config.transforms is not defined");this._transforms=t.map(f)}return this._transforms}async divineHandler(t){return t?await Promise.all(t.map(async e=>{let o=this.transforms.map(i=>i(e)),m=await d.PayloadBuilder.dataHashes([e]);return await new d.PayloadBuilder({schema:this.destinationSchema}).fields(Object.assign({sources:m},...o)).build()})):[]}};
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+
31
+ // src/index.ts
32
+ var src_exports = {};
33
+ __export(src_exports, {
34
+ JsonPathDiviner: () => JsonPathDiviner,
35
+ toPayloadTransformer: () => toPayloadTransformer
36
+ });
37
+ module.exports = __toCommonJS(src_exports);
38
+
39
+ // src/Diviner.ts
40
+ var import_assert = require("@xylabs/assert");
41
+ var import_diviner_abstract = require("@xyo-network/diviner-abstract");
42
+ var import_diviner_jsonpath_model = require("@xyo-network/diviner-jsonpath-model");
43
+ var import_payload_builder = require("@xyo-network/payload-builder");
44
+ var import_payload_model = require("@xyo-network/payload-model");
45
+
46
+ // src/jsonpath/toPayloadTransformer.ts
47
+ var import_jsonpath = __toESM(require("jsonpath"), 1);
48
+ var toPayloadTransformer = /* @__PURE__ */ __name((transformExpression) => {
49
+ const { defaultValue, destinationField, sourcePathExpression } = transformExpression;
50
+ const transformer = /* @__PURE__ */ __name((x) => {
51
+ const source = import_jsonpath.default.value(x, sourcePathExpression);
52
+ const transformed = {};
53
+ const destinationValue = source === void 0 ? defaultValue : source;
54
+ if (destinationValue !== void 0) transformed[destinationField] = destinationValue;
55
+ return transformed;
56
+ }, "transformer");
57
+ return transformer;
58
+ }, "toPayloadTransformer");
59
+
60
+ // src/Diviner.ts
61
+ var JsonPathDiviner = class extends import_diviner_abstract.AbstractDiviner {
62
+ static {
63
+ __name(this, "JsonPathDiviner");
64
+ }
65
+ static configSchemas = [
66
+ ...super.configSchemas,
67
+ import_diviner_jsonpath_model.JsonPathDivinerConfigSchema
68
+ ];
69
+ static defaultConfigSchema = import_diviner_jsonpath_model.JsonPathDivinerConfigSchema;
70
+ _transforms;
71
+ /**
72
+ * The schema to use for the destination payloads
73
+ */
74
+ get destinationSchema() {
75
+ return this.config.destinationSchema ?? import_payload_model.PayloadSchema;
76
+ }
77
+ /**
78
+ * Dictionary of schemas to payload transformers for creating indexes
79
+ * from the payloads within a Bound Witness
80
+ */
81
+ get transforms() {
82
+ if (!this._transforms) {
83
+ const transforms = (0, import_assert.assertEx)(this.config.transforms, () => "config.transforms is not defined");
84
+ this._transforms = transforms.map(toPayloadTransformer);
85
+ }
86
+ return this._transforms;
87
+ }
88
+ async divineHandler(payloads) {
89
+ if (!payloads) return [];
90
+ const results = await Promise.all(payloads.map(async (payload) => {
91
+ const fields = this.transforms.map((transform) => transform(payload));
92
+ const sources = await import_payload_builder.PayloadBuilder.dataHashes([
93
+ payload
94
+ ]);
95
+ return await new import_payload_builder.PayloadBuilder({
96
+ schema: this.destinationSchema
97
+ }).fields(Object.assign({
98
+ sources
99
+ }, ...fields)).build();
100
+ }));
101
+ return results;
102
+ }
103
+ };
2
104
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Diviner.ts","../../src/jsonpath/toPayloadTransformer.ts"],"sourcesContent":["export * from './Diviner'\nexport * from './jsonpath'\n","import { assertEx } from '@xylabs/assert'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { JsonPathDivinerConfigSchema, JsonPathDivinerParams, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { PayloadBuilder, WithoutSchema } from '@xyo-network/payload-builder'\nimport { Payload, PayloadSchema, Schema } from '@xyo-network/payload-model'\n\nimport { toPayloadTransformer } from './jsonpath'\n\nexport class JsonPathDiviner<\n TParams extends JsonPathDivinerParams = JsonPathDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, JsonPathDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = JsonPathDivinerConfigSchema\n\n protected _transforms: PayloadTransformer[] | undefined\n\n /**\n * The schema to use for the destination payloads\n */\n protected get destinationSchema(): string {\n return this.config.destinationSchema ?? PayloadSchema\n }\n /**\n * Dictionary of schemas to payload transformers for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get transforms(): PayloadTransformer[] {\n if (!this._transforms) {\n const transforms = assertEx(this.config.transforms, () => 'config.transforms is not defined')\n this._transforms = transforms.map(toPayloadTransformer)\n }\n return this._transforms\n }\n\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n if (!payloads) return []\n // Create the indexes from the tuples\n const results = await Promise.all(\n payloads.map<Promise<TOut>>(async (payload) => {\n // Use the payload transformers to convert the fields from the source payloads to the destination fields\n const fields = this.transforms.map((transform) => transform(payload)) as WithoutSchema<TOut>[]\n // Include all the sources for reference\n const sources = await PayloadBuilder.dataHashes([payload])\n // Build and return the index\n return await new PayloadBuilder<TOut>({ schema: this.destinationSchema }).fields(Object.assign({ sources }, ...fields)).build()\n }),\n )\n return results\n }\n}\n","import { JsonPathTransformExpression, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport jsonpath from 'jsonpath'\n\n/**\n * Converts a JSON Path transform expression to a payload transformer\n * @param transformExpression The transform expression to convert\n * @returns The payload transformer for the JSON Path transform expression\n */\nexport const toPayloadTransformer = (transformExpression: JsonPathTransformExpression) => {\n const { defaultValue, destinationField, sourcePathExpression } = transformExpression\n const transformer: PayloadTransformer = (x: Payload) => {\n const source = jsonpath.value(x, sourcePathExpression)\n const transformed: Record<string, unknown> = {}\n // Assign the source value to the destination field or the default value if the source is undefined\n const destinationValue = source === undefined ? defaultValue : source\n if (destinationValue !== undefined) transformed[destinationField] = destinationValue\n return transformed\n }\n return transformer\n}\n"],"mappings":"6mBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,EAAA,yBAAAC,IAAA,eAAAC,EAAAJ,GCAA,IAAAK,EAAyB,0BACzBC,EAAgC,yCAChCC,EAAuF,+CAEvFC,EAA8C,wCAC9CC,EAA+C,sCCH/C,IAAAC,EAAqB,yBAOd,IAAMC,EAAuBC,EAACC,GAAAA,CACnC,GAAM,CAAEC,aAAAA,EAAcC,iBAAAA,EAAkBC,qBAAAA,CAAoB,EAAKH,EASjE,OARwCD,EAACK,GAAAA,CACvC,IAAMC,EAASC,EAAAA,QAASC,MAAMH,EAAGD,CAAAA,EAC3BK,EAAuC,CAAC,EAExCC,EAAmBJ,IAAWK,OAAYT,EAAeI,EAC/D,OAAII,IAAqBC,SAAWF,EAAYN,CAAAA,EAAoBO,GAC7DD,CACT,EAPwC,cAS1C,EAXoC,wBDA7B,IAAMG,EAAN,cASGC,iBAAAA,CAlBV,MAkBUA,CAAAA,EAAAA,wBACR,OAAyBC,cAA0B,IAAI,MAAMA,cAAeC,+BAC5E,OAAyBC,oBAA8BD,8BAE7CE,YAKV,IAAcC,mBAA4B,CACxC,OAAO,KAAKC,OAAOD,mBAAqBE,eAC1C,CAKA,IAAcC,YAAmC,CAC/C,GAAI,CAAC,KAAKJ,YAAa,CACrB,IAAMI,KAAaC,YAAS,KAAKH,OAAOE,WAAY,IAAM,kCAAA,EAC1D,KAAKJ,YAAcI,EAAWE,IAAIC,CAAAA,CACpC,CACA,OAAO,KAAKP,WACd,CAEA,MAAyBQ,cAAcC,EAAmC,CACxE,OAAKA,EAEW,MAAMC,QAAQC,IAC5BF,EAASH,IAAmB,MAAOM,GAAAA,CAEjC,IAAMC,EAAS,KAAKT,WAAWE,IAAKQ,GAAcA,EAAUF,CAAAA,CAAAA,EAEtDG,EAAU,MAAMC,iBAAeC,WAAW,CAACL,EAAQ,EAEzD,OAAO,MAAM,IAAII,iBAAqB,CAAEE,OAAQ,KAAKjB,iBAAkB,CAAA,EAAGY,OAAOM,OAAOC,OAAO,CAAEL,QAAAA,CAAQ,EAAA,GAAMF,CAAAA,CAAAA,EAASQ,MAAK,CAC/H,CAAA,CAAA,EAVoB,CAAA,CAaxB,CACF","names":["src_exports","__export","JsonPathDiviner","toPayloadTransformer","__toCommonJS","import_assert","import_diviner_abstract","import_diviner_jsonpath_model","import_payload_builder","import_payload_model","import_jsonpath","toPayloadTransformer","__name","transformExpression","defaultValue","destinationField","sourcePathExpression","x","source","jsonpath","value","transformed","destinationValue","undefined","JsonPathDiviner","AbstractDiviner","configSchemas","JsonPathDivinerConfigSchema","defaultConfigSchema","_transforms","destinationSchema","config","PayloadSchema","transforms","assertEx","map","toPayloadTransformer","divineHandler","payloads","Promise","all","payload","fields","transform","sources","PayloadBuilder","dataHashes","schema","Object","assign","build"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Diviner.ts","../../src/jsonpath/toPayloadTransformer.ts"],"sourcesContent":["export * from './Diviner'\nexport * from './jsonpath'\n","import { assertEx } from '@xylabs/assert'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { JsonPathDivinerConfigSchema, JsonPathDivinerParams, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { PayloadBuilder, WithoutSchema } from '@xyo-network/payload-builder'\nimport { Payload, PayloadSchema, Schema } from '@xyo-network/payload-model'\n\nimport { toPayloadTransformer } from './jsonpath'\n\nexport class JsonPathDiviner<\n TParams extends JsonPathDivinerParams = JsonPathDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, JsonPathDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = JsonPathDivinerConfigSchema\n\n protected _transforms: PayloadTransformer[] | undefined\n\n /**\n * The schema to use for the destination payloads\n */\n protected get destinationSchema(): string {\n return this.config.destinationSchema ?? PayloadSchema\n }\n /**\n * Dictionary of schemas to payload transformers for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get transforms(): PayloadTransformer[] {\n if (!this._transforms) {\n const transforms = assertEx(this.config.transforms, () => 'config.transforms is not defined')\n this._transforms = transforms.map(toPayloadTransformer)\n }\n return this._transforms\n }\n\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n if (!payloads) return []\n // Create the indexes from the tuples\n const results = await Promise.all(\n payloads.map<Promise<TOut>>(async (payload) => {\n // Use the payload transformers to convert the fields from the source payloads to the destination fields\n const fields = this.transforms.map((transform) => transform(payload)) as WithoutSchema<TOut>[]\n // Include all the sources for reference\n const sources = await PayloadBuilder.dataHashes([payload])\n // Build and return the index\n return await new PayloadBuilder<TOut>({ schema: this.destinationSchema }).fields(Object.assign({ sources }, ...fields)).build()\n }),\n )\n return results\n }\n}\n","import { JsonPathTransformExpression, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport jsonpath from 'jsonpath'\n\n/**\n * Converts a JSON Path transform expression to a payload transformer\n * @param transformExpression The transform expression to convert\n * @returns The payload transformer for the JSON Path transform expression\n */\nexport const toPayloadTransformer = (transformExpression: JsonPathTransformExpression) => {\n const { defaultValue, destinationField, sourcePathExpression } = transformExpression\n const transformer: PayloadTransformer = (x: Payload) => {\n const source = jsonpath.value(x, sourcePathExpression)\n const transformed: Record<string, unknown> = {}\n // Assign the source value to the destination field or the default value if the source is undefined\n const destinationValue = source === undefined ? defaultValue : source\n if (destinationValue !== undefined) transformed[destinationField] = destinationValue\n return transformed\n }\n return transformer\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;ACAA,oBAAyB;AACzB,8BAAgC;AAChC,oCAAuF;AAEvF,6BAA8C;AAC9C,2BAA+C;;;ACH/C,sBAAqB;AAOd,IAAMA,uBAAuB,wBAACC,wBAAAA;AACnC,QAAM,EAAEC,cAAcC,kBAAkBC,qBAAoB,IAAKH;AACjE,QAAMI,cAAkC,wBAACC,MAAAA;AACvC,UAAMC,SAASC,gBAAAA,QAASC,MAAMH,GAAGF,oBAAAA;AACjC,UAAMM,cAAuC,CAAC;AAE9C,UAAMC,mBAAmBJ,WAAWK,SAAYV,eAAeK;AAC/D,QAAII,qBAAqBC,OAAWF,aAAYP,gBAAAA,IAAoBQ;AACpE,WAAOD;EACT,GAPwC;AAQxC,SAAOL;AACT,GAXoC;;;ADA7B,IAAMQ,kBAAN,cASGC,wCAAAA;EAlBV,OAkBUA;;;EACR,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EAE7CE;;;;EAKV,IAAcC,oBAA4B;AACxC,WAAO,KAAKC,OAAOD,qBAAqBE;EAC1C;;;;;EAKA,IAAcC,aAAmC;AAC/C,QAAI,CAAC,KAAKJ,aAAa;AACrB,YAAMI,iBAAaC,wBAAS,KAAKH,OAAOE,YAAY,MAAM,kCAAA;AAC1D,WAAKJ,cAAcI,WAAWE,IAAIC,oBAAAA;IACpC;AACA,WAAO,KAAKP;EACd;EAEA,MAAyBQ,cAAcC,UAAmC;AACxE,QAAI,CAACA,SAAU,QAAO,CAAA;AAEtB,UAAMC,UAAU,MAAMC,QAAQC,IAC5BH,SAASH,IAAmB,OAAOO,YAAAA;AAEjC,YAAMC,SAAS,KAAKV,WAAWE,IAAI,CAACS,cAAcA,UAAUF,OAAAA,CAAAA;AAE5D,YAAMG,UAAU,MAAMC,sCAAeC,WAAW;QAACL;OAAQ;AAEzD,aAAO,MAAM,IAAII,sCAAqB;QAAEE,QAAQ,KAAKlB;MAAkB,CAAA,EAAGa,OAAOM,OAAOC,OAAO;QAAEL;MAAQ,GAAA,GAAMF,MAAAA,CAAAA,EAASQ,MAAK;IAC/H,CAAA,CAAA;AAEF,WAAOZ;EACT;AACF;","names":["toPayloadTransformer","transformExpression","defaultValue","destinationField","sourcePathExpression","transformer","x","source","jsonpath","value","transformed","destinationValue","undefined","JsonPathDiviner","AbstractDiviner","configSchemas","JsonPathDivinerConfigSchema","defaultConfigSchema","_transforms","destinationSchema","config","PayloadSchema","transforms","assertEx","map","toPayloadTransformer","divineHandler","payloads","results","Promise","all","payload","fields","transform","sources","PayloadBuilder","dataHashes","schema","Object","assign","build"]}
@@ -1,2 +1,73 @@
1
- var l=Object.defineProperty;var r=(s,t)=>l(s,"name",{value:t,configurable:!0});import{assertEx as g}from"@xylabs/assert";import{AbstractDiviner as S}from"@xyo-network/diviner-abstract";import{JsonPathDivinerConfigSchema as d}from"@xyo-network/diviner-jsonpath-model";import{PayloadBuilder as u}from"@xyo-network/payload-builder";import{PayloadSchema as x}from"@xyo-network/payload-model";import p from"jsonpath";var c=r(s=>{let{defaultValue:t,destinationField:a,sourcePathExpression:o}=s;return r(n=>{let e=p.value(n,o),m={},f=e===void 0?t:e;return f!==void 0&&(m[a]=f),m},"transformer")},"toPayloadTransformer");var h=class extends S{static{r(this,"JsonPathDiviner")}static configSchemas=[...super.configSchemas,d];static defaultConfigSchema=d;_transforms;get destinationSchema(){return this.config.destinationSchema??x}get transforms(){if(!this._transforms){let t=g(this.config.transforms,()=>"config.transforms is not defined");this._transforms=t.map(c)}return this._transforms}async divineHandler(t){return t?await Promise.all(t.map(async o=>{let i=this.transforms.map(e=>e(o)),n=await u.dataHashes([o]);return await new u({schema:this.destinationSchema}).fields(Object.assign({sources:n},...i)).build()})):[]}};export{h as JsonPathDiviner,c as toPayloadTransformer};
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ // src/Diviner.ts
5
+ import { assertEx } from "@xylabs/assert";
6
+ import { AbstractDiviner } from "@xyo-network/diviner-abstract";
7
+ import { JsonPathDivinerConfigSchema } from "@xyo-network/diviner-jsonpath-model";
8
+ import { PayloadBuilder } from "@xyo-network/payload-builder";
9
+ import { PayloadSchema } from "@xyo-network/payload-model";
10
+
11
+ // src/jsonpath/toPayloadTransformer.ts
12
+ import jsonpath from "jsonpath";
13
+ var toPayloadTransformer = /* @__PURE__ */ __name((transformExpression) => {
14
+ const { defaultValue, destinationField, sourcePathExpression } = transformExpression;
15
+ const transformer = /* @__PURE__ */ __name((x) => {
16
+ const source = jsonpath.value(x, sourcePathExpression);
17
+ const transformed = {};
18
+ const destinationValue = source === void 0 ? defaultValue : source;
19
+ if (destinationValue !== void 0) transformed[destinationField] = destinationValue;
20
+ return transformed;
21
+ }, "transformer");
22
+ return transformer;
23
+ }, "toPayloadTransformer");
24
+
25
+ // src/Diviner.ts
26
+ var JsonPathDiviner = class extends AbstractDiviner {
27
+ static {
28
+ __name(this, "JsonPathDiviner");
29
+ }
30
+ static configSchemas = [
31
+ ...super.configSchemas,
32
+ JsonPathDivinerConfigSchema
33
+ ];
34
+ static defaultConfigSchema = JsonPathDivinerConfigSchema;
35
+ _transforms;
36
+ /**
37
+ * The schema to use for the destination payloads
38
+ */
39
+ get destinationSchema() {
40
+ return this.config.destinationSchema ?? PayloadSchema;
41
+ }
42
+ /**
43
+ * Dictionary of schemas to payload transformers for creating indexes
44
+ * from the payloads within a Bound Witness
45
+ */
46
+ get transforms() {
47
+ if (!this._transforms) {
48
+ const transforms = assertEx(this.config.transforms, () => "config.transforms is not defined");
49
+ this._transforms = transforms.map(toPayloadTransformer);
50
+ }
51
+ return this._transforms;
52
+ }
53
+ async divineHandler(payloads) {
54
+ if (!payloads) return [];
55
+ const results = await Promise.all(payloads.map(async (payload) => {
56
+ const fields = this.transforms.map((transform) => transform(payload));
57
+ const sources = await PayloadBuilder.dataHashes([
58
+ payload
59
+ ]);
60
+ return await new PayloadBuilder({
61
+ schema: this.destinationSchema
62
+ }).fields(Object.assign({
63
+ sources
64
+ }, ...fields)).build();
65
+ }));
66
+ return results;
67
+ }
68
+ };
69
+ export {
70
+ JsonPathDiviner,
71
+ toPayloadTransformer
72
+ };
2
73
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Diviner.ts","../../src/jsonpath/toPayloadTransformer.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { JsonPathDivinerConfigSchema, JsonPathDivinerParams, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { PayloadBuilder, WithoutSchema } from '@xyo-network/payload-builder'\nimport { Payload, PayloadSchema, Schema } from '@xyo-network/payload-model'\n\nimport { toPayloadTransformer } from './jsonpath'\n\nexport class JsonPathDiviner<\n TParams extends JsonPathDivinerParams = JsonPathDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, JsonPathDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = JsonPathDivinerConfigSchema\n\n protected _transforms: PayloadTransformer[] | undefined\n\n /**\n * The schema to use for the destination payloads\n */\n protected get destinationSchema(): string {\n return this.config.destinationSchema ?? PayloadSchema\n }\n /**\n * Dictionary of schemas to payload transformers for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get transforms(): PayloadTransformer[] {\n if (!this._transforms) {\n const transforms = assertEx(this.config.transforms, () => 'config.transforms is not defined')\n this._transforms = transforms.map(toPayloadTransformer)\n }\n return this._transforms\n }\n\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n if (!payloads) return []\n // Create the indexes from the tuples\n const results = await Promise.all(\n payloads.map<Promise<TOut>>(async (payload) => {\n // Use the payload transformers to convert the fields from the source payloads to the destination fields\n const fields = this.transforms.map((transform) => transform(payload)) as WithoutSchema<TOut>[]\n // Include all the sources for reference\n const sources = await PayloadBuilder.dataHashes([payload])\n // Build and return the index\n return await new PayloadBuilder<TOut>({ schema: this.destinationSchema }).fields(Object.assign({ sources }, ...fields)).build()\n }),\n )\n return results\n }\n}\n","import { JsonPathTransformExpression, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport jsonpath from 'jsonpath'\n\n/**\n * Converts a JSON Path transform expression to a payload transformer\n * @param transformExpression The transform expression to convert\n * @returns The payload transformer for the JSON Path transform expression\n */\nexport const toPayloadTransformer = (transformExpression: JsonPathTransformExpression) => {\n const { defaultValue, destinationField, sourcePathExpression } = transformExpression\n const transformer: PayloadTransformer = (x: Payload) => {\n const source = jsonpath.value(x, sourcePathExpression)\n const transformed: Record<string, unknown> = {}\n // Assign the source value to the destination field or the default value if the source is undefined\n const destinationValue = source === undefined ? defaultValue : source\n if (destinationValue !== undefined) transformed[destinationField] = destinationValue\n return transformed\n }\n return transformer\n}\n"],"mappings":"+EAAA,OAASA,YAAAA,MAAgB,iBACzB,OAASC,mBAAAA,MAAuB,gCAChC,OAASC,+BAAAA,MAA8E,sCAEvF,OAASC,kBAAAA,MAAqC,+BAC9C,OAAkBC,iBAAAA,MAA6B,6BCH/C,OAAOC,MAAc,WAOd,IAAMC,EAAuBC,EAACC,GAAAA,CACnC,GAAM,CAAEC,aAAAA,EAAcC,iBAAAA,EAAkBC,qBAAAA,CAAoB,EAAKH,EASjE,OARwCD,EAACK,GAAAA,CACvC,IAAMC,EAASC,EAASC,MAAMH,EAAGD,CAAAA,EAC3BK,EAAuC,CAAC,EAExCC,EAAmBJ,IAAWK,OAAYT,EAAeI,EAC/D,OAAII,IAAqBC,SAAWF,EAAYN,CAAAA,EAAoBO,GAC7DD,CACT,EAPwC,cAS1C,EAXoC,wBDA7B,IAAMG,EAAN,cASGC,CAAAA,CAlBV,MAkBUA,CAAAA,EAAAA,wBACR,OAAyBC,cAA0B,IAAI,MAAMA,cAAeC,GAC5E,OAAyBC,oBAA8BD,EAE7CE,YAKV,IAAcC,mBAA4B,CACxC,OAAO,KAAKC,OAAOD,mBAAqBE,CAC1C,CAKA,IAAcC,YAAmC,CAC/C,GAAI,CAAC,KAAKJ,YAAa,CACrB,IAAMI,EAAaC,EAAS,KAAKH,OAAOE,WAAY,IAAM,kCAAA,EAC1D,KAAKJ,YAAcI,EAAWE,IAAIC,CAAAA,CACpC,CACA,OAAO,KAAKP,WACd,CAEA,MAAyBQ,cAAcC,EAAmC,CACxE,OAAKA,EAEW,MAAMC,QAAQC,IAC5BF,EAASH,IAAmB,MAAOM,GAAAA,CAEjC,IAAMC,EAAS,KAAKT,WAAWE,IAAKQ,GAAcA,EAAUF,CAAAA,CAAAA,EAEtDG,EAAU,MAAMC,EAAeC,WAAW,CAACL,EAAQ,EAEzD,OAAO,MAAM,IAAII,EAAqB,CAAEE,OAAQ,KAAKjB,iBAAkB,CAAA,EAAGY,OAAOM,OAAOC,OAAO,CAAEL,QAAAA,CAAQ,EAAA,GAAMF,CAAAA,CAAAA,EAASQ,MAAK,CAC/H,CAAA,CAAA,EAVoB,CAAA,CAaxB,CACF","names":["assertEx","AbstractDiviner","JsonPathDivinerConfigSchema","PayloadBuilder","PayloadSchema","jsonpath","toPayloadTransformer","__name","transformExpression","defaultValue","destinationField","sourcePathExpression","x","source","jsonpath","value","transformed","destinationValue","undefined","JsonPathDiviner","AbstractDiviner","configSchemas","JsonPathDivinerConfigSchema","defaultConfigSchema","_transforms","destinationSchema","config","PayloadSchema","transforms","assertEx","map","toPayloadTransformer","divineHandler","payloads","Promise","all","payload","fields","transform","sources","PayloadBuilder","dataHashes","schema","Object","assign","build"]}
1
+ {"version":3,"sources":["../../src/Diviner.ts","../../src/jsonpath/toPayloadTransformer.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { JsonPathDivinerConfigSchema, JsonPathDivinerParams, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { PayloadBuilder, WithoutSchema } from '@xyo-network/payload-builder'\nimport { Payload, PayloadSchema, Schema } from '@xyo-network/payload-model'\n\nimport { toPayloadTransformer } from './jsonpath'\n\nexport class JsonPathDiviner<\n TParams extends JsonPathDivinerParams = JsonPathDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, JsonPathDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = JsonPathDivinerConfigSchema\n\n protected _transforms: PayloadTransformer[] | undefined\n\n /**\n * The schema to use for the destination payloads\n */\n protected get destinationSchema(): string {\n return this.config.destinationSchema ?? PayloadSchema\n }\n /**\n * Dictionary of schemas to payload transformers for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get transforms(): PayloadTransformer[] {\n if (!this._transforms) {\n const transforms = assertEx(this.config.transforms, () => 'config.transforms is not defined')\n this._transforms = transforms.map(toPayloadTransformer)\n }\n return this._transforms\n }\n\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n if (!payloads) return []\n // Create the indexes from the tuples\n const results = await Promise.all(\n payloads.map<Promise<TOut>>(async (payload) => {\n // Use the payload transformers to convert the fields from the source payloads to the destination fields\n const fields = this.transforms.map((transform) => transform(payload)) as WithoutSchema<TOut>[]\n // Include all the sources for reference\n const sources = await PayloadBuilder.dataHashes([payload])\n // Build and return the index\n return await new PayloadBuilder<TOut>({ schema: this.destinationSchema }).fields(Object.assign({ sources }, ...fields)).build()\n }),\n )\n return results\n }\n}\n","import { JsonPathTransformExpression, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport jsonpath from 'jsonpath'\n\n/**\n * Converts a JSON Path transform expression to a payload transformer\n * @param transformExpression The transform expression to convert\n * @returns The payload transformer for the JSON Path transform expression\n */\nexport const toPayloadTransformer = (transformExpression: JsonPathTransformExpression) => {\n const { defaultValue, destinationField, sourcePathExpression } = transformExpression\n const transformer: PayloadTransformer = (x: Payload) => {\n const source = jsonpath.value(x, sourcePathExpression)\n const transformed: Record<string, unknown> = {}\n // Assign the source value to the destination field or the default value if the source is undefined\n const destinationValue = source === undefined ? defaultValue : source\n if (destinationValue !== undefined) transformed[destinationField] = destinationValue\n return transformed\n }\n return transformer\n}\n"],"mappings":";;;;AAAA,SAASA,gBAAgB;AACzB,SAASC,uBAAuB;AAChC,SAASC,mCAA8E;AAEvF,SAASC,sBAAqC;AAC9C,SAAkBC,qBAA6B;;;ACH/C,OAAOC,cAAc;AAOd,IAAMC,uBAAuB,wBAACC,wBAAAA;AACnC,QAAM,EAAEC,cAAcC,kBAAkBC,qBAAoB,IAAKH;AACjE,QAAMI,cAAkC,wBAACC,MAAAA;AACvC,UAAMC,SAASC,SAASC,MAAMH,GAAGF,oBAAAA;AACjC,UAAMM,cAAuC,CAAC;AAE9C,UAAMC,mBAAmBJ,WAAWK,SAAYV,eAAeK;AAC/D,QAAII,qBAAqBC,OAAWF,aAAYP,gBAAAA,IAAoBQ;AACpE,WAAOD;EACT,GAPwC;AAQxC,SAAOL;AACT,GAXoC;;;ADA7B,IAAMQ,kBAAN,cASGC,gBAAAA;EAlBV,OAkBUA;;;EACR,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EAE7CE;;;;EAKV,IAAcC,oBAA4B;AACxC,WAAO,KAAKC,OAAOD,qBAAqBE;EAC1C;;;;;EAKA,IAAcC,aAAmC;AAC/C,QAAI,CAAC,KAAKJ,aAAa;AACrB,YAAMI,aAAaC,SAAS,KAAKH,OAAOE,YAAY,MAAM,kCAAA;AAC1D,WAAKJ,cAAcI,WAAWE,IAAIC,oBAAAA;IACpC;AACA,WAAO,KAAKP;EACd;EAEA,MAAyBQ,cAAcC,UAAmC;AACxE,QAAI,CAACA,SAAU,QAAO,CAAA;AAEtB,UAAMC,UAAU,MAAMC,QAAQC,IAC5BH,SAASH,IAAmB,OAAOO,YAAAA;AAEjC,YAAMC,SAAS,KAAKV,WAAWE,IAAI,CAACS,cAAcA,UAAUF,OAAAA,CAAAA;AAE5D,YAAMG,UAAU,MAAMC,eAAeC,WAAW;QAACL;OAAQ;AAEzD,aAAO,MAAM,IAAII,eAAqB;QAAEE,QAAQ,KAAKlB;MAAkB,CAAA,EAAGa,OAAOM,OAAOC,OAAO;QAAEL;MAAQ,GAAA,GAAMF,MAAAA,CAAAA,EAASQ,MAAK;IAC/H,CAAA,CAAA;AAEF,WAAOZ;EACT;AACF;","names":["assertEx","AbstractDiviner","JsonPathDivinerConfigSchema","PayloadBuilder","PayloadSchema","jsonpath","toPayloadTransformer","transformExpression","defaultValue","destinationField","sourcePathExpression","transformer","x","source","jsonpath","value","transformed","destinationValue","undefined","JsonPathDiviner","AbstractDiviner","configSchemas","JsonPathDivinerConfigSchema","defaultConfigSchema","_transforms","destinationSchema","config","PayloadSchema","transforms","assertEx","map","toPayloadTransformer","divineHandler","payloads","results","Promise","all","payload","fields","transform","sources","PayloadBuilder","dataHashes","schema","Object","assign","build"]}
@@ -1,2 +1,112 @@
1
- "use strict";var E=Object.create;var n=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var S=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty;var A=Reflect.get;var B=(r,t,s)=>t in r?n(r,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[t]=s;var i=(r,t)=>n(r,"name",{value:t,configurable:!0});var F=(r,t)=>{for(var s in t)n(r,s,{get:t[s],enumerable:!0})},x=(r,t,s,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of T(t))!V.call(r,o)&&o!==s&&n(r,o,{get:()=>t[o],enumerable:!(e=H(t,o))||e.enumerable});return r};var O=(r,t,s)=>(s=r!=null?E(S(r)):{},x(t||!r||!r.__esModule?n(s,"default",{value:r,enumerable:!0}):s,r)),P=r=>x(n({},"__esModule",{value:!0}),r);var c=(r,t,s)=>B(r,typeof t!="symbol"?t+"":t,s);var w=(r,t,s)=>A(S(r),s,t);var k={};F(k,{JsonPathDiviner:()=>p,toPayloadTransformer:()=>d});module.exports=P(k);var b=require("@xylabs/assert"),j=require("@xyo-network/diviner-abstract"),u=require("@xyo-network/diviner-jsonpath-model"),l=require("@xyo-network/payload-builder"),C=require("@xyo-network/payload-model");var y=O(require("jsonpath"),1);var d=i(r=>{let{defaultValue:t,destinationField:s,sourcePathExpression:e}=r;return i(f=>{let m=y.default.value(f,e),h={},g=m===void 0?t:m;return g!==void 0&&(h[s]=g),h},"transformer")},"toPayloadTransformer");var a=class a extends j.AbstractDiviner{_transforms;get destinationSchema(){return this.config.destinationSchema??C.PayloadSchema}get transforms(){if(!this._transforms){let t=(0,b.assertEx)(this.config.transforms,()=>"config.transforms is not defined");this._transforms=t.map(d)}return this._transforms}async divineHandler(t){return t?await Promise.all(t.map(async e=>{let o=this.transforms.map(m=>m(e)),f=await l.PayloadBuilder.dataHashes([e]);return await new l.PayloadBuilder({schema:this.destinationSchema}).fields(Object.assign({sources:f},...o)).build()})):[]}};i(a,"JsonPathDiviner"),c(a,"configSchemas",[...w(a,a,"configSchemas"),u.JsonPathDivinerConfigSchema]),c(a,"defaultConfigSchema",u.JsonPathDivinerConfigSchema);var p=a;0&&(module.exports={JsonPathDiviner,toPayloadTransformer});
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __reflectGet = Reflect.get;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
11
+ var __export = (target, all) => {
12
+ for (var name in all)
13
+ __defProp(target, name, { get: all[name], enumerable: true });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from))
18
+ if (!__hasOwnProp.call(to, key) && key !== except)
19
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
20
+ }
21
+ return to;
22
+ };
23
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
24
+ // If the importer is in node compatibility mode or this is not an ESM
25
+ // file that has been converted to a CommonJS file using a Babel-
26
+ // compatible transform (i.e. "__esModule" has not been set), then set
27
+ // "default" to the CommonJS "module.exports" for node compatibility.
28
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
29
+ mod
30
+ ));
31
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
33
+ var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
34
+
35
+ // src/index.ts
36
+ var src_exports = {};
37
+ __export(src_exports, {
38
+ JsonPathDiviner: () => JsonPathDiviner,
39
+ toPayloadTransformer: () => toPayloadTransformer
40
+ });
41
+ module.exports = __toCommonJS(src_exports);
42
+
43
+ // src/Diviner.ts
44
+ var import_assert = require("@xylabs/assert");
45
+ var import_diviner_abstract = require("@xyo-network/diviner-abstract");
46
+ var import_diviner_jsonpath_model = require("@xyo-network/diviner-jsonpath-model");
47
+ var import_payload_builder = require("@xyo-network/payload-builder");
48
+ var import_payload_model = require("@xyo-network/payload-model");
49
+
50
+ // src/jsonpath/toPayloadTransformer.ts
51
+ var import_jsonpath = __toESM(require("jsonpath"), 1);
52
+ var toPayloadTransformer = /* @__PURE__ */ __name((transformExpression) => {
53
+ const { defaultValue, destinationField, sourcePathExpression } = transformExpression;
54
+ const transformer = /* @__PURE__ */ __name((x) => {
55
+ const source = import_jsonpath.default.value(x, sourcePathExpression);
56
+ const transformed = {};
57
+ const destinationValue = source === void 0 ? defaultValue : source;
58
+ if (destinationValue !== void 0) transformed[destinationField] = destinationValue;
59
+ return transformed;
60
+ }, "transformer");
61
+ return transformer;
62
+ }, "toPayloadTransformer");
63
+
64
+ // src/Diviner.ts
65
+ var _JsonPathDiviner = class _JsonPathDiviner extends import_diviner_abstract.AbstractDiviner {
66
+ _transforms;
67
+ /**
68
+ * The schema to use for the destination payloads
69
+ */
70
+ get destinationSchema() {
71
+ return this.config.destinationSchema ?? import_payload_model.PayloadSchema;
72
+ }
73
+ /**
74
+ * Dictionary of schemas to payload transformers for creating indexes
75
+ * from the payloads within a Bound Witness
76
+ */
77
+ get transforms() {
78
+ if (!this._transforms) {
79
+ const transforms = (0, import_assert.assertEx)(this.config.transforms, () => "config.transforms is not defined");
80
+ this._transforms = transforms.map(toPayloadTransformer);
81
+ }
82
+ return this._transforms;
83
+ }
84
+ async divineHandler(payloads) {
85
+ if (!payloads) return [];
86
+ const results = await Promise.all(payloads.map(async (payload) => {
87
+ const fields = this.transforms.map((transform) => transform(payload));
88
+ const sources = await import_payload_builder.PayloadBuilder.dataHashes([
89
+ payload
90
+ ]);
91
+ return await new import_payload_builder.PayloadBuilder({
92
+ schema: this.destinationSchema
93
+ }).fields(Object.assign({
94
+ sources
95
+ }, ...fields)).build();
96
+ }));
97
+ return results;
98
+ }
99
+ };
100
+ __name(_JsonPathDiviner, "JsonPathDiviner");
101
+ __publicField(_JsonPathDiviner, "configSchemas", [
102
+ ...__superGet(_JsonPathDiviner, _JsonPathDiviner, "configSchemas"),
103
+ import_diviner_jsonpath_model.JsonPathDivinerConfigSchema
104
+ ]);
105
+ __publicField(_JsonPathDiviner, "defaultConfigSchema", import_diviner_jsonpath_model.JsonPathDivinerConfigSchema);
106
+ var JsonPathDiviner = _JsonPathDiviner;
107
+ // Annotate the CommonJS export names for ESM import in node:
108
+ 0 && (module.exports = {
109
+ JsonPathDiviner,
110
+ toPayloadTransformer
111
+ });
2
112
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Diviner.ts","../../src/jsonpath/toPayloadTransformer.ts"],"sourcesContent":["export * from './Diviner'\nexport * from './jsonpath'\n","import { assertEx } from '@xylabs/assert'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { JsonPathDivinerConfigSchema, JsonPathDivinerParams, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { PayloadBuilder, WithoutSchema } from '@xyo-network/payload-builder'\nimport { Payload, PayloadSchema, Schema } from '@xyo-network/payload-model'\n\nimport { toPayloadTransformer } from './jsonpath'\n\nexport class JsonPathDiviner<\n TParams extends JsonPathDivinerParams = JsonPathDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, JsonPathDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = JsonPathDivinerConfigSchema\n\n protected _transforms: PayloadTransformer[] | undefined\n\n /**\n * The schema to use for the destination payloads\n */\n protected get destinationSchema(): string {\n return this.config.destinationSchema ?? PayloadSchema\n }\n /**\n * Dictionary of schemas to payload transformers for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get transforms(): PayloadTransformer[] {\n if (!this._transforms) {\n const transforms = assertEx(this.config.transforms, () => 'config.transforms is not defined')\n this._transforms = transforms.map(toPayloadTransformer)\n }\n return this._transforms\n }\n\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n if (!payloads) return []\n // Create the indexes from the tuples\n const results = await Promise.all(\n payloads.map<Promise<TOut>>(async (payload) => {\n // Use the payload transformers to convert the fields from the source payloads to the destination fields\n const fields = this.transforms.map((transform) => transform(payload)) as WithoutSchema<TOut>[]\n // Include all the sources for reference\n const sources = await PayloadBuilder.dataHashes([payload])\n // Build and return the index\n return await new PayloadBuilder<TOut>({ schema: this.destinationSchema }).fields(Object.assign({ sources }, ...fields)).build()\n }),\n )\n return results\n }\n}\n","import { JsonPathTransformExpression, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport jsonpath from 'jsonpath'\n\n/**\n * Converts a JSON Path transform expression to a payload transformer\n * @param transformExpression The transform expression to convert\n * @returns The payload transformer for the JSON Path transform expression\n */\nexport const toPayloadTransformer = (transformExpression: JsonPathTransformExpression) => {\n const { defaultValue, destinationField, sourcePathExpression } = transformExpression\n const transformer: PayloadTransformer = (x: Payload) => {\n const source = jsonpath.value(x, sourcePathExpression)\n const transformed: Record<string, unknown> = {}\n // Assign the source value to the destination field or the default value if the source is undefined\n const destinationValue = source === undefined ? defaultValue : source\n if (destinationValue !== undefined) transformed[destinationField] = destinationValue\n return transformed\n }\n return transformer\n}\n"],"mappings":"kyBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,EAAA,yBAAAC,IAAA,eAAAC,EAAAJ,GCAA,IAAAK,EAAyB,0BACzBC,EAAgC,yCAChCC,EAAuF,+CAEvFC,EAA8C,wCAC9CC,EAA+C,sCCH/C,IAAAC,EAAqB,yBAOd,IAAMC,EAAuBC,EAACC,GAAAA,CACnC,GAAM,CAAEC,aAAAA,EAAcC,iBAAAA,EAAkBC,qBAAAA,CAAoB,EAAKH,EASjE,OARwCD,EAACK,GAAAA,CACvC,IAAMC,EAASC,EAAAA,QAASC,MAAMH,EAAGD,CAAAA,EAC3BK,EAAuC,CAAC,EAExCC,EAAmBJ,IAAWK,OAAYT,EAAeI,EAC/D,OAAII,IAAqBC,SAAWF,EAAYN,CAAAA,EAAoBO,GAC7DD,CACT,EAPwC,cAS1C,EAXoC,wBDA7B,IAAMG,EAAN,MAAMA,UASHC,iBAAAA,CAIEC,YAKV,IAAcC,mBAA4B,CACxC,OAAO,KAAKC,OAAOD,mBAAqBE,eAC1C,CAKA,IAAcC,YAAmC,CAC/C,GAAI,CAAC,KAAKJ,YAAa,CACrB,IAAMI,KAAaC,YAAS,KAAKH,OAAOE,WAAY,IAAM,kCAAA,EAC1D,KAAKJ,YAAcI,EAAWE,IAAIC,CAAAA,CACpC,CACA,OAAO,KAAKP,WACd,CAEA,MAAyBQ,cAAcC,EAAmC,CACxE,OAAKA,EAEW,MAAMC,QAAQC,IAC5BF,EAASH,IAAmB,MAAOM,GAAAA,CAEjC,IAAMC,EAAS,KAAKT,WAAWE,IAAKQ,GAAcA,EAAUF,CAAAA,CAAAA,EAEtDG,EAAU,MAAMC,iBAAeC,WAAW,CAACL,EAAQ,EAEzD,OAAO,MAAM,IAAII,iBAAqB,CAAEE,OAAQ,KAAKjB,iBAAkB,CAAA,EAAGY,OAAOM,OAAOC,OAAO,CAAEL,QAAAA,CAAQ,EAAA,GAAMF,CAAAA,CAAAA,EAASQ,MAAK,CAC/H,CAAA,CAAA,EAVoB,CAAA,CAaxB,CACF,EAvCUtB,EAAAA,EAAAA,mBACRuB,EAVWxB,EAUcyB,gBAA0B,IAAIC,EAAAC,IAAMF,iBAAeG,gCAC5EJ,EAXWxB,EAWc6B,sBAA8BD,+BAXlD,IAAM5B,EAAN2B","names":["src_exports","__export","JsonPathDiviner","toPayloadTransformer","__toCommonJS","import_assert","import_diviner_abstract","import_diviner_jsonpath_model","import_payload_builder","import_payload_model","import_jsonpath","toPayloadTransformer","__name","transformExpression","defaultValue","destinationField","sourcePathExpression","x","source","jsonpath","value","transformed","destinationValue","undefined","JsonPathDiviner","AbstractDiviner","_transforms","destinationSchema","config","PayloadSchema","transforms","assertEx","map","toPayloadTransformer","divineHandler","payloads","Promise","all","payload","fields","transform","sources","PayloadBuilder","dataHashes","schema","Object","assign","build","__publicField","configSchemas","__superGet","_JsonPathDiviner","JsonPathDivinerConfigSchema","defaultConfigSchema"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Diviner.ts","../../src/jsonpath/toPayloadTransformer.ts"],"sourcesContent":["export * from './Diviner'\nexport * from './jsonpath'\n","import { assertEx } from '@xylabs/assert'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { JsonPathDivinerConfigSchema, JsonPathDivinerParams, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { PayloadBuilder, WithoutSchema } from '@xyo-network/payload-builder'\nimport { Payload, PayloadSchema, Schema } from '@xyo-network/payload-model'\n\nimport { toPayloadTransformer } from './jsonpath'\n\nexport class JsonPathDiviner<\n TParams extends JsonPathDivinerParams = JsonPathDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, JsonPathDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = JsonPathDivinerConfigSchema\n\n protected _transforms: PayloadTransformer[] | undefined\n\n /**\n * The schema to use for the destination payloads\n */\n protected get destinationSchema(): string {\n return this.config.destinationSchema ?? PayloadSchema\n }\n /**\n * Dictionary of schemas to payload transformers for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get transforms(): PayloadTransformer[] {\n if (!this._transforms) {\n const transforms = assertEx(this.config.transforms, () => 'config.transforms is not defined')\n this._transforms = transforms.map(toPayloadTransformer)\n }\n return this._transforms\n }\n\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n if (!payloads) return []\n // Create the indexes from the tuples\n const results = await Promise.all(\n payloads.map<Promise<TOut>>(async (payload) => {\n // Use the payload transformers to convert the fields from the source payloads to the destination fields\n const fields = this.transforms.map((transform) => transform(payload)) as WithoutSchema<TOut>[]\n // Include all the sources for reference\n const sources = await PayloadBuilder.dataHashes([payload])\n // Build and return the index\n return await new PayloadBuilder<TOut>({ schema: this.destinationSchema }).fields(Object.assign({ sources }, ...fields)).build()\n }),\n )\n return results\n }\n}\n","import { JsonPathTransformExpression, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport jsonpath from 'jsonpath'\n\n/**\n * Converts a JSON Path transform expression to a payload transformer\n * @param transformExpression The transform expression to convert\n * @returns The payload transformer for the JSON Path transform expression\n */\nexport const toPayloadTransformer = (transformExpression: JsonPathTransformExpression) => {\n const { defaultValue, destinationField, sourcePathExpression } = transformExpression\n const transformer: PayloadTransformer = (x: Payload) => {\n const source = jsonpath.value(x, sourcePathExpression)\n const transformed: Record<string, unknown> = {}\n // Assign the source value to the destination field or the default value if the source is undefined\n const destinationValue = source === undefined ? defaultValue : source\n if (destinationValue !== undefined) transformed[destinationField] = destinationValue\n return transformed\n }\n return transformer\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;ACAA,oBAAyB;AACzB,8BAAgC;AAChC,oCAAuF;AAEvF,6BAA8C;AAC9C,2BAA+C;;;ACH/C,sBAAqB;AAOd,IAAMA,uBAAuB,wBAACC,wBAAAA;AACnC,QAAM,EAAEC,cAAcC,kBAAkBC,qBAAoB,IAAKH;AACjE,QAAMI,cAAkC,wBAACC,MAAAA;AACvC,UAAMC,SAASC,gBAAAA,QAASC,MAAMH,GAAGF,oBAAAA;AACjC,UAAMM,cAAuC,CAAC;AAE9C,UAAMC,mBAAmBJ,WAAWK,SAAYV,eAAeK;AAC/D,QAAII,qBAAqBC,OAAWF,aAAYP,gBAAAA,IAAoBQ;AACpE,WAAOD;EACT,GAPwC;AAQxC,SAAOL;AACT,GAXoC;;;ADA7B,IAAMQ,mBAAN,MAAMA,yBASHC,wCAAAA;EAIEC;;;;EAKV,IAAcC,oBAA4B;AACxC,WAAO,KAAKC,OAAOD,qBAAqBE;EAC1C;;;;;EAKA,IAAcC,aAAmC;AAC/C,QAAI,CAAC,KAAKJ,aAAa;AACrB,YAAMI,iBAAaC,wBAAS,KAAKH,OAAOE,YAAY,MAAM,kCAAA;AAC1D,WAAKJ,cAAcI,WAAWE,IAAIC,oBAAAA;IACpC;AACA,WAAO,KAAKP;EACd;EAEA,MAAyBQ,cAAcC,UAAmC;AACxE,QAAI,CAACA,SAAU,QAAO,CAAA;AAEtB,UAAMC,UAAU,MAAMC,QAAQC,IAC5BH,SAASH,IAAmB,OAAOO,YAAAA;AAEjC,YAAMC,SAAS,KAAKV,WAAWE,IAAI,CAACS,cAAcA,UAAUF,OAAAA,CAAAA;AAE5D,YAAMG,UAAU,MAAMC,sCAAeC,WAAW;QAACL;OAAQ;AAEzD,aAAO,MAAM,IAAII,sCAAqB;QAAEE,QAAQ,KAAKlB;MAAkB,CAAA,EAAGa,OAAOM,OAAOC,OAAO;QAAEL;MAAQ,GAAA,GAAMF,MAAAA,CAAAA,EAASQ,MAAK;IAC/H,CAAA,CAAA;AAEF,WAAOZ;EACT;AACF;AAvCUX;AACR,cAVWD,kBAUcyB,iBAA0B;KAAI,+CAAMA;EAAeC;;AAC5E,cAXW1B,kBAWc2B,uBAA8BD;AAXlD,IAAM1B,kBAAN;","names":["toPayloadTransformer","transformExpression","defaultValue","destinationField","sourcePathExpression","transformer","x","source","jsonpath","value","transformed","destinationValue","undefined","JsonPathDiviner","AbstractDiviner","_transforms","destinationSchema","config","PayloadSchema","transforms","assertEx","map","toPayloadTransformer","divineHandler","payloads","results","Promise","all","payload","fields","transform","sources","PayloadBuilder","dataHashes","schema","Object","assign","build","configSchemas","JsonPathDivinerConfigSchema","defaultConfigSchema"]}
@@ -1,2 +1,77 @@
1
- var u=Object.defineProperty;var x=Object.getPrototypeOf;var w=Reflect.get;var y=(r,t,s)=>t in r?u(r,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[t]=s;var e=(r,t)=>u(r,"name",{value:t,configurable:!0});var m=(r,t,s)=>y(r,typeof t!="symbol"?t+"":t,s);var l=(r,t,s)=>w(x(r),s,t);import{assertEx as j}from"@xylabs/assert";import{AbstractDiviner as C}from"@xyo-network/diviner-abstract";import{JsonPathDivinerConfigSchema as h}from"@xyo-network/diviner-jsonpath-model";import{PayloadBuilder as g}from"@xyo-network/payload-builder";import{PayloadSchema as E}from"@xyo-network/payload-model";import b from"jsonpath";var p=e(r=>{let{defaultValue:t,destinationField:s,sourcePathExpression:a}=r;return e(i=>{let n=b.value(i,a),c={},d=n===void 0?t:n;return d!==void 0&&(c[s]=d),c},"transformer")},"toPayloadTransformer");var o=class o extends C{_transforms;get destinationSchema(){return this.config.destinationSchema??E}get transforms(){if(!this._transforms){let t=j(this.config.transforms,()=>"config.transforms is not defined");this._transforms=t.map(p)}return this._transforms}async divineHandler(t){return t?await Promise.all(t.map(async a=>{let f=this.transforms.map(n=>n(a)),i=await g.dataHashes([a]);return await new g({schema:this.destinationSchema}).fields(Object.assign({sources:i},...f)).build()})):[]}};e(o,"JsonPathDiviner"),m(o,"configSchemas",[...l(o,o,"configSchemas"),h]),m(o,"defaultConfigSchema",h);var S=o;export{S as JsonPathDiviner,p as toPayloadTransformer};
1
+ var __defProp = Object.defineProperty;
2
+ var __getProtoOf = Object.getPrototypeOf;
3
+ var __reflectGet = Reflect.get;
4
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
+ var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
8
+
9
+ // src/Diviner.ts
10
+ import { assertEx } from "@xylabs/assert";
11
+ import { AbstractDiviner } from "@xyo-network/diviner-abstract";
12
+ import { JsonPathDivinerConfigSchema } from "@xyo-network/diviner-jsonpath-model";
13
+ import { PayloadBuilder } from "@xyo-network/payload-builder";
14
+ import { PayloadSchema } from "@xyo-network/payload-model";
15
+
16
+ // src/jsonpath/toPayloadTransformer.ts
17
+ import jsonpath from "jsonpath";
18
+ var toPayloadTransformer = /* @__PURE__ */ __name((transformExpression) => {
19
+ const { defaultValue, destinationField, sourcePathExpression } = transformExpression;
20
+ const transformer = /* @__PURE__ */ __name((x) => {
21
+ const source = jsonpath.value(x, sourcePathExpression);
22
+ const transformed = {};
23
+ const destinationValue = source === void 0 ? defaultValue : source;
24
+ if (destinationValue !== void 0) transformed[destinationField] = destinationValue;
25
+ return transformed;
26
+ }, "transformer");
27
+ return transformer;
28
+ }, "toPayloadTransformer");
29
+
30
+ // src/Diviner.ts
31
+ var _JsonPathDiviner = class _JsonPathDiviner extends AbstractDiviner {
32
+ _transforms;
33
+ /**
34
+ * The schema to use for the destination payloads
35
+ */
36
+ get destinationSchema() {
37
+ return this.config.destinationSchema ?? PayloadSchema;
38
+ }
39
+ /**
40
+ * Dictionary of schemas to payload transformers for creating indexes
41
+ * from the payloads within a Bound Witness
42
+ */
43
+ get transforms() {
44
+ if (!this._transforms) {
45
+ const transforms = assertEx(this.config.transforms, () => "config.transforms is not defined");
46
+ this._transforms = transforms.map(toPayloadTransformer);
47
+ }
48
+ return this._transforms;
49
+ }
50
+ async divineHandler(payloads) {
51
+ if (!payloads) return [];
52
+ const results = await Promise.all(payloads.map(async (payload) => {
53
+ const fields = this.transforms.map((transform) => transform(payload));
54
+ const sources = await PayloadBuilder.dataHashes([
55
+ payload
56
+ ]);
57
+ return await new PayloadBuilder({
58
+ schema: this.destinationSchema
59
+ }).fields(Object.assign({
60
+ sources
61
+ }, ...fields)).build();
62
+ }));
63
+ return results;
64
+ }
65
+ };
66
+ __name(_JsonPathDiviner, "JsonPathDiviner");
67
+ __publicField(_JsonPathDiviner, "configSchemas", [
68
+ ...__superGet(_JsonPathDiviner, _JsonPathDiviner, "configSchemas"),
69
+ JsonPathDivinerConfigSchema
70
+ ]);
71
+ __publicField(_JsonPathDiviner, "defaultConfigSchema", JsonPathDivinerConfigSchema);
72
+ var JsonPathDiviner = _JsonPathDiviner;
73
+ export {
74
+ JsonPathDiviner,
75
+ toPayloadTransformer
76
+ };
2
77
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Diviner.ts","../../src/jsonpath/toPayloadTransformer.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { JsonPathDivinerConfigSchema, JsonPathDivinerParams, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { PayloadBuilder, WithoutSchema } from '@xyo-network/payload-builder'\nimport { Payload, PayloadSchema, Schema } from '@xyo-network/payload-model'\n\nimport { toPayloadTransformer } from './jsonpath'\n\nexport class JsonPathDiviner<\n TParams extends JsonPathDivinerParams = JsonPathDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, JsonPathDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = JsonPathDivinerConfigSchema\n\n protected _transforms: PayloadTransformer[] | undefined\n\n /**\n * The schema to use for the destination payloads\n */\n protected get destinationSchema(): string {\n return this.config.destinationSchema ?? PayloadSchema\n }\n /**\n * Dictionary of schemas to payload transformers for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get transforms(): PayloadTransformer[] {\n if (!this._transforms) {\n const transforms = assertEx(this.config.transforms, () => 'config.transforms is not defined')\n this._transforms = transforms.map(toPayloadTransformer)\n }\n return this._transforms\n }\n\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n if (!payloads) return []\n // Create the indexes from the tuples\n const results = await Promise.all(\n payloads.map<Promise<TOut>>(async (payload) => {\n // Use the payload transformers to convert the fields from the source payloads to the destination fields\n const fields = this.transforms.map((transform) => transform(payload)) as WithoutSchema<TOut>[]\n // Include all the sources for reference\n const sources = await PayloadBuilder.dataHashes([payload])\n // Build and return the index\n return await new PayloadBuilder<TOut>({ schema: this.destinationSchema }).fields(Object.assign({ sources }, ...fields)).build()\n }),\n )\n return results\n }\n}\n","import { JsonPathTransformExpression, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport jsonpath from 'jsonpath'\n\n/**\n * Converts a JSON Path transform expression to a payload transformer\n * @param transformExpression The transform expression to convert\n * @returns The payload transformer for the JSON Path transform expression\n */\nexport const toPayloadTransformer = (transformExpression: JsonPathTransformExpression) => {\n const { defaultValue, destinationField, sourcePathExpression } = transformExpression\n const transformer: PayloadTransformer = (x: Payload) => {\n const source = jsonpath.value(x, sourcePathExpression)\n const transformed: Record<string, unknown> = {}\n // Assign the source value to the destination field or the default value if the source is undefined\n const destinationValue = source === undefined ? defaultValue : source\n if (destinationValue !== undefined) transformed[destinationField] = destinationValue\n return transformed\n }\n return transformer\n}\n"],"mappings":"gSAAA,OAASA,YAAAA,MAAgB,iBACzB,OAASC,mBAAAA,MAAuB,gCAChC,OAASC,+BAAAA,MAA8E,sCAEvF,OAASC,kBAAAA,MAAqC,+BAC9C,OAAkBC,iBAAAA,MAA6B,6BCH/C,OAAOC,MAAc,WAOd,IAAMC,EAAuBC,EAACC,GAAAA,CACnC,GAAM,CAAEC,aAAAA,EAAcC,iBAAAA,EAAkBC,qBAAAA,CAAoB,EAAKH,EASjE,OARwCD,EAACK,GAAAA,CACvC,IAAMC,EAASC,EAASC,MAAMH,EAAGD,CAAAA,EAC3BK,EAAuC,CAAC,EAExCC,EAAmBJ,IAAWK,OAAYT,EAAeI,EAC/D,OAAII,IAAqBC,SAAWF,EAAYN,CAAAA,EAAoBO,GAC7DD,CACT,EAPwC,cAS1C,EAXoC,wBDA7B,IAAMG,EAAN,MAAMA,UASHC,CAAAA,CAIEC,YAKV,IAAcC,mBAA4B,CACxC,OAAO,KAAKC,OAAOD,mBAAqBE,CAC1C,CAKA,IAAcC,YAAmC,CAC/C,GAAI,CAAC,KAAKJ,YAAa,CACrB,IAAMI,EAAaC,EAAS,KAAKH,OAAOE,WAAY,IAAM,kCAAA,EAC1D,KAAKJ,YAAcI,EAAWE,IAAIC,CAAAA,CACpC,CACA,OAAO,KAAKP,WACd,CAEA,MAAyBQ,cAAcC,EAAmC,CACxE,OAAKA,EAEW,MAAMC,QAAQC,IAC5BF,EAASH,IAAmB,MAAOM,GAAAA,CAEjC,IAAMC,EAAS,KAAKT,WAAWE,IAAKQ,GAAcA,EAAUF,CAAAA,CAAAA,EAEtDG,EAAU,MAAMC,EAAeC,WAAW,CAACL,EAAQ,EAEzD,OAAO,MAAM,IAAII,EAAqB,CAAEE,OAAQ,KAAKjB,iBAAkB,CAAA,EAAGY,OAAOM,OAAOC,OAAO,CAAEL,QAAAA,CAAQ,EAAA,GAAMF,CAAAA,CAAAA,EAASQ,MAAK,CAC/H,CAAA,CAAA,EAVoB,CAAA,CAaxB,CACF,EAvCUtB,EAAAA,EAAAA,mBACRuB,EAVWxB,EAUcyB,gBAA0B,IAAIC,EAAAC,IAAMF,iBAAeG,IAC5EJ,EAXWxB,EAWc6B,sBAA8BD,GAXlD,IAAM5B,EAAN2B","names":["assertEx","AbstractDiviner","JsonPathDivinerConfigSchema","PayloadBuilder","PayloadSchema","jsonpath","toPayloadTransformer","__name","transformExpression","defaultValue","destinationField","sourcePathExpression","x","source","jsonpath","value","transformed","destinationValue","undefined","JsonPathDiviner","AbstractDiviner","_transforms","destinationSchema","config","PayloadSchema","transforms","assertEx","map","toPayloadTransformer","divineHandler","payloads","Promise","all","payload","fields","transform","sources","PayloadBuilder","dataHashes","schema","Object","assign","build","__publicField","configSchemas","__superGet","_JsonPathDiviner","JsonPathDivinerConfigSchema","defaultConfigSchema"]}
1
+ {"version":3,"sources":["../../src/Diviner.ts","../../src/jsonpath/toPayloadTransformer.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { JsonPathDivinerConfigSchema, JsonPathDivinerParams, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { PayloadBuilder, WithoutSchema } from '@xyo-network/payload-builder'\nimport { Payload, PayloadSchema, Schema } from '@xyo-network/payload-model'\n\nimport { toPayloadTransformer } from './jsonpath'\n\nexport class JsonPathDiviner<\n TParams extends JsonPathDivinerParams = JsonPathDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, JsonPathDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = JsonPathDivinerConfigSchema\n\n protected _transforms: PayloadTransformer[] | undefined\n\n /**\n * The schema to use for the destination payloads\n */\n protected get destinationSchema(): string {\n return this.config.destinationSchema ?? PayloadSchema\n }\n /**\n * Dictionary of schemas to payload transformers for creating indexes\n * from the payloads within a Bound Witness\n */\n protected get transforms(): PayloadTransformer[] {\n if (!this._transforms) {\n const transforms = assertEx(this.config.transforms, () => 'config.transforms is not defined')\n this._transforms = transforms.map(toPayloadTransformer)\n }\n return this._transforms\n }\n\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n if (!payloads) return []\n // Create the indexes from the tuples\n const results = await Promise.all(\n payloads.map<Promise<TOut>>(async (payload) => {\n // Use the payload transformers to convert the fields from the source payloads to the destination fields\n const fields = this.transforms.map((transform) => transform(payload)) as WithoutSchema<TOut>[]\n // Include all the sources for reference\n const sources = await PayloadBuilder.dataHashes([payload])\n // Build and return the index\n return await new PayloadBuilder<TOut>({ schema: this.destinationSchema }).fields(Object.assign({ sources }, ...fields)).build()\n }),\n )\n return results\n }\n}\n","import { JsonPathTransformExpression, PayloadTransformer } from '@xyo-network/diviner-jsonpath-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport jsonpath from 'jsonpath'\n\n/**\n * Converts a JSON Path transform expression to a payload transformer\n * @param transformExpression The transform expression to convert\n * @returns The payload transformer for the JSON Path transform expression\n */\nexport const toPayloadTransformer = (transformExpression: JsonPathTransformExpression) => {\n const { defaultValue, destinationField, sourcePathExpression } = transformExpression\n const transformer: PayloadTransformer = (x: Payload) => {\n const source = jsonpath.value(x, sourcePathExpression)\n const transformed: Record<string, unknown> = {}\n // Assign the source value to the destination field or the default value if the source is undefined\n const destinationValue = source === undefined ? defaultValue : source\n if (destinationValue !== undefined) transformed[destinationField] = destinationValue\n return transformed\n }\n return transformer\n}\n"],"mappings":";;;;;;;;;AAAA,SAASA,gBAAgB;AACzB,SAASC,uBAAuB;AAChC,SAASC,mCAA8E;AAEvF,SAASC,sBAAqC;AAC9C,SAAkBC,qBAA6B;;;ACH/C,OAAOC,cAAc;AAOd,IAAMC,uBAAuB,wBAACC,wBAAAA;AACnC,QAAM,EAAEC,cAAcC,kBAAkBC,qBAAoB,IAAKH;AACjE,QAAMI,cAAkC,wBAACC,MAAAA;AACvC,UAAMC,SAASC,SAASC,MAAMH,GAAGF,oBAAAA;AACjC,UAAMM,cAAuC,CAAC;AAE9C,UAAMC,mBAAmBJ,WAAWK,SAAYV,eAAeK;AAC/D,QAAII,qBAAqBC,OAAWF,aAAYP,gBAAAA,IAAoBQ;AACpE,WAAOD;EACT,GAPwC;AAQxC,SAAOL;AACT,GAXoC;;;ADA7B,IAAMQ,mBAAN,MAAMA,yBASHC,gBAAAA;EAIEC;;;;EAKV,IAAcC,oBAA4B;AACxC,WAAO,KAAKC,OAAOD,qBAAqBE;EAC1C;;;;;EAKA,IAAcC,aAAmC;AAC/C,QAAI,CAAC,KAAKJ,aAAa;AACrB,YAAMI,aAAaC,SAAS,KAAKH,OAAOE,YAAY,MAAM,kCAAA;AAC1D,WAAKJ,cAAcI,WAAWE,IAAIC,oBAAAA;IACpC;AACA,WAAO,KAAKP;EACd;EAEA,MAAyBQ,cAAcC,UAAmC;AACxE,QAAI,CAACA,SAAU,QAAO,CAAA;AAEtB,UAAMC,UAAU,MAAMC,QAAQC,IAC5BH,SAASH,IAAmB,OAAOO,YAAAA;AAEjC,YAAMC,SAAS,KAAKV,WAAWE,IAAI,CAACS,cAAcA,UAAUF,OAAAA,CAAAA;AAE5D,YAAMG,UAAU,MAAMC,eAAeC,WAAW;QAACL;OAAQ;AAEzD,aAAO,MAAM,IAAII,eAAqB;QAAEE,QAAQ,KAAKlB;MAAkB,CAAA,EAAGa,OAAOM,OAAOC,OAAO;QAAEL;MAAQ,GAAA,GAAMF,MAAAA,CAAAA,EAASQ,MAAK;IAC/H,CAAA,CAAA;AAEF,WAAOZ;EACT;AACF;AAvCUX;AACR,cAVWD,kBAUcyB,iBAA0B;KAAI,+CAAMA;EAAeC;;AAC5E,cAXW1B,kBAWc2B,uBAA8BD;AAXlD,IAAM1B,kBAAN;","names":["assertEx","AbstractDiviner","JsonPathDivinerConfigSchema","PayloadBuilder","PayloadSchema","jsonpath","toPayloadTransformer","transformExpression","defaultValue","destinationField","sourcePathExpression","transformer","x","source","jsonpath","value","transformed","destinationValue","undefined","JsonPathDiviner","AbstractDiviner","_transforms","destinationSchema","config","PayloadSchema","transforms","assertEx","map","toPayloadTransformer","divineHandler","payloads","results","Promise","all","payload","fields","transform","sources","PayloadBuilder","dataHashes","schema","Object","assign","build","configSchemas","JsonPathDivinerConfigSchema","defaultConfigSchema"]}
package/package.json CHANGED
@@ -11,18 +11,18 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^3.5.1",
14
- "@xyo-network/diviner-abstract": "~2.107.1",
15
- "@xyo-network/diviner-jsonpath-model": "~2.107.1",
16
- "@xyo-network/diviner-model": "~2.107.1",
17
- "@xyo-network/payload-builder": "~2.107.1",
18
- "@xyo-network/payload-model": "~2.107.1",
14
+ "@xyo-network/diviner-abstract": "~2.107.4",
15
+ "@xyo-network/diviner-jsonpath-model": "~2.107.4",
16
+ "@xyo-network/diviner-model": "~2.107.4",
17
+ "@xyo-network/payload-builder": "~2.107.4",
18
+ "@xyo-network/payload-model": "~2.107.4",
19
19
  "jsonpath": "^1.1.1"
20
20
  },
21
21
  "devDependencies": {
22
- "@xylabs/ts-scripts-yarn3": "^3.11.9",
23
- "@xylabs/tsconfig": "^3.11.9",
24
- "@xyo-network/account": "~2.107.1",
25
- "@xyo-network/wallet-model": "~2.107.1",
22
+ "@xylabs/ts-scripts-yarn3": "^3.11.10",
23
+ "@xylabs/tsconfig": "^3.11.10",
24
+ "@xyo-network/account": "~2.107.4",
25
+ "@xyo-network/wallet-model": "~2.107.4",
26
26
  "typescript": "^5.5.2"
27
27
  },
28
28
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -64,6 +64,6 @@
64
64
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
65
65
  },
66
66
  "sideEffects": false,
67
- "version": "2.107.1",
67
+ "version": "2.107.4",
68
68
  "type": "module"
69
69
  }