@xyo-network/diviner-transform 6.1.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,22 @@
1
+ import { zodAsFactory, zodIsFactory, zodToFactory } from '@xylabs/sdk-js';
1
2
  import type { DivinerConfig } from '@xyo-network/diviner-model';
3
+ import { DivinerConfigZod } from '@xyo-network/diviner-model';
4
+ import * as z from 'zod/mini';
2
5
  import type { TransformDictionary } from './Transform.ts';
3
6
  export declare const TransformDivinerConfigSchema: string & {
4
7
  readonly __schema: true;
5
8
  };
6
9
  export type TransformDivinerConfigSchema = typeof TransformDivinerConfigSchema;
10
+ export declare const TransformDivinerConfigZod: z.ZodMiniObject<Omit<(typeof DivinerConfigZod)['shape'], 'schema'> & {
11
+ schema: z.ZodMiniLiteral<TransformDivinerConfigSchema>;
12
+ transform: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>;
13
+ }, z.core.$strip>;
7
14
  export type TransformDivinerConfig = DivinerConfig<{
8
15
  transform?: TransformDictionary;
9
16
  } & {
10
17
  schema: TransformDivinerConfigSchema;
11
18
  }>;
19
+ export declare const isTransformDivinerConfig: ReturnType<typeof zodIsFactory<TransformDivinerConfig>>;
20
+ export declare const asTransformDivinerConfig: ReturnType<typeof zodAsFactory<TransformDivinerConfig>>;
21
+ export declare const toTransformDivinerConfig: ReturnType<typeof zodToFactory<TransformDivinerConfig>>;
12
22
  //# sourceMappingURL=Config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAI/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEzD,eAAO,MAAM,4BAA4B,EAAE,MAAM,GAAG;IAClD,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAC6B,CAAA;AACtD,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAA;AAE9E,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC;IAAE,SAAS,CAAC,EAAE,mBAAmB,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,4BAA4B,CAAA;CAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAAE,YAAY,EAAE,YAAY,EACzC,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE7D,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAG7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEzD,eAAO,MAAM,4BAA4B,EAAE,MAAM,GAAG;IAClD,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAC6B,CAAA;AACtD,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAA;AAE9E,eAAO,MAAM,yBAAyB,EAAE,CAAC,CAAC,aAAa,CACrD,IAAI,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG;IACnD,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAA;IACtD,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CAChG,EACD,CAAC,CAAC,IAAI,CAAC,MAAM,CAIb,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC;IAAE,SAAS,CAAC,EAAE,mBAAmB,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,4BAA4B,CAAA;CAAE,CAAC,CAAA;AAElI,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,sBAAsB,CAAC,CAA2C,CAAA;AACxI,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,sBAAsB,CAAC,CAAuE,CAAA;AACpK,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,sBAAsB,CAAC,CAAuE,CAAA"}
@@ -1,11 +1,17 @@
1
- import { type Payload, type Query } from '@xyo-network/sdk-protocol-js';
2
- import type { TransformSettings } from './TransformSettings.ts';
1
+ import { zodAsFactory, zodIsFactory, zodToFactory } from '@xylabs/sdk-js';
2
+ import { QueryFieldsZod } from '@xyo-network/sdk-protocol-js';
3
+ import * as z from 'zod/mini';
3
4
  export declare const TransformDivinerQuerySchema: string & {
4
5
  readonly __schema: true;
5
6
  };
6
7
  export type TransformDivinerQuerySchema = typeof TransformDivinerQuerySchema;
7
- export type TransformDivinerQueryPayload = Query<{
8
- schema: TransformDivinerQuerySchema;
9
- } & Partial<TransformSettings>>;
10
- export declare const isTransformDivinerQueryPayload: (x?: Payload | null) => x is TransformDivinerQueryPayload;
8
+ export declare const TransformDivinerQueryPayloadZod: z.ZodMiniObject<{
9
+ schema: z.ZodMiniLiteral<TransformDivinerQuerySchema>;
10
+ } & (typeof QueryFieldsZod)['shape'] & {
11
+ transformMethod: z.ZodMiniOptional<z.ZodMiniString<string>>;
12
+ }, z.core.$strip>;
13
+ export type TransformDivinerQueryPayload = z.infer<typeof TransformDivinerQueryPayloadZod>;
14
+ export declare const isTransformDivinerQueryPayload: ReturnType<typeof zodIsFactory<TransformDivinerQueryPayload>>;
15
+ export declare const asTransformDivinerQueryPayload: ReturnType<typeof zodAsFactory<TransformDivinerQueryPayload>>;
16
+ export declare const toTransformDivinerQueryPayload: ReturnType<typeof zodToFactory<TransformDivinerQueryPayload>>;
11
17
  //# sourceMappingURL=Query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../src/Query.ts"],"names":[],"mappings":"AAAA,OAAO,EACK,KAAK,OAAO,EAAE,KAAK,KAAK,EACnC,MAAM,8BAA8B,CAAA;AAGrC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,eAAO,MAAM,2BAA2B,EAAE,MAAM,GAAG;IACjD,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAC4B,CAAA;AACrD,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAA;AAE5E,MAAM,MAAM,4BAA4B,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,2BAA2B,CAAA;CAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAA;AACtH,eAAO,MAAM,8BAA8B,GAAI,IAAI,OAAO,GAAG,IAAI,KAAG,CAAC,IAAI,4BAAyE,CAAA"}
1
+ {"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../src/Query.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAAE,YAAY,EAAE,YAAY,EACzC,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACyB,cAAc,EAC7C,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAI7B,eAAO,MAAM,2BAA2B,EAAE,MAAM,GAAG;IACjD,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAC4B,CAAA;AACrD,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAA;AAE5E,eAAO,MAAM,+BAA+B,EAAE,CAAC,CAAC,aAAa,CACzD;IAAE,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAA;CAAE,GACzD,CAAC,OAAO,cAAc,CAAC,CAAC,OAAO,CAAC,GAChC;IAAE,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,EACjE,CAAC,CAAC,IAAI,CAAC,MAAM,CAIb,CAAA;AAEF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE1F,eAAO,MAAM,8BAA8B,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,4BAA4B,CAAC,CAAiD,CAAA;AAC1J,eAAO,MAAM,8BAA8B,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,4BAA4B,CAAC,CAAmF,CAAA;AAC5L,eAAO,MAAM,8BAA8B,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,4BAA4B,CAAC,CAAmF,CAAA"}
@@ -1,7 +1,13 @@
1
- import type { Payload } from '@xyo-network/sdk-protocol-js';
2
- import type { TransformDivinerSchema } from './Schema.ts';
1
+ import { zodAsFactory, zodIsFactory, zodToFactory } from '@xylabs/sdk-js';
2
+ import * as z from 'zod/mini';
3
+ import { TransformDivinerSchema } from './Schema.ts';
3
4
  export type TransformDictionary = Record<string, string>;
4
- export type Transform = Payload<{
5
- transform: TransformDictionary;
6
- }, TransformDivinerSchema>;
5
+ export declare const TransformZod: z.ZodMiniObject<{
6
+ schema: z.ZodMiniLiteral<TransformDivinerSchema>;
7
+ transform: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
8
+ }, z.core.$strip>;
9
+ export type Transform = z.infer<typeof TransformZod>;
10
+ export declare const isTransform: ReturnType<typeof zodIsFactory<Transform>>;
11
+ export declare const asTransform: ReturnType<typeof zodAsFactory<Transform>>;
12
+ export declare const toTransform: ReturnType<typeof zodToFactory<Transform>>;
7
13
  //# sourceMappingURL=Transform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Transform.d.ts","sourceRoot":"","sources":["../../src/Transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAExD,MAAM,MAAM,SAAS,GAAG,OAAO,CAC7B;IAIE,SAAS,EAAE,mBAAmB,CAAA;CAC/B,EACD,sBAAsB,CACvB,CAAA"}
1
+ {"version":3,"file":"Transform.d.ts","sourceRoot":"","sources":["../../src/Transform.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAAE,YAAY,EAAE,YAAY,EACzC,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEpD,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAExD,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,aAAa,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAA;IAChD,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;CAC7E,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAKd,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAEpD,eAAO,MAAM,WAAW,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAA8B,CAAA;AACjG,eAAO,MAAM,WAAW,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAA6C,CAAA;AAChH,eAAO,MAAM,WAAW,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAA6C,CAAA"}
@@ -2,7 +2,14 @@
2
2
  import { AbstractDiviner } from "@xyo-network/diviner-abstract";
3
3
 
4
4
  // src/Config.ts
5
+ import {
6
+ zodAsFactory,
7
+ zodIsFactory,
8
+ zodToFactory
9
+ } from "@xylabs/sdk-js";
10
+ import { DivinerConfigZod } from "@xyo-network/diviner-model";
5
11
  import { asSchema as asSchema2 } from "@xyo-network/sdk-protocol-js";
12
+ import * as z from "zod/mini";
6
13
 
7
14
  // src/Schema.ts
8
15
  import { asSchema } from "@xyo-network/sdk-protocol-js";
@@ -10,6 +17,13 @@ var TransformDivinerSchema = asSchema("network.xyo.diviner.transform", true);
10
17
 
11
18
  // src/Config.ts
12
19
  var TransformDivinerConfigSchema = asSchema2(`${TransformDivinerSchema}.config`, true);
20
+ var TransformDivinerConfigZod = z.extend(DivinerConfigZod, {
21
+ schema: z.literal(TransformDivinerConfigSchema),
22
+ transform: z.optional(z.record(z.string(), z.string()))
23
+ });
24
+ var isTransformDivinerConfig = zodIsFactory(TransformDivinerConfigZod);
25
+ var asTransformDivinerConfig = zodAsFactory(TransformDivinerConfigZod, "asTransformDivinerConfig");
26
+ var toTransformDivinerConfig = zodToFactory(TransformDivinerConfigZod, "toTransformDivinerConfig");
13
27
 
14
28
  // src/AbstractTransformDiviner.ts
15
29
  var AbstractTransformDiviner = class extends AbstractDiviner {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/AbstractTransformDiviner.ts", "../../src/Config.ts", "../../src/Schema.ts"],
4
- "sourcesContent": ["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type {\n DivinerInstance, DivinerModuleEventData, DivinerParams,\n} from '@xyo-network/diviner-model'\nimport type { AnyConfigSchema } from '@xyo-network/module-model'\nimport type { Payload, Schema } from '@xyo-network/sdk-protocol-js'\n\nimport type { TransformDivinerConfig } from './Config.ts'\nimport { TransformDivinerConfigSchema } from './Config.ts'\nimport type { PayloadTransformer } from './PayloadValueTransformer.ts'\nimport { TransformDivinerSchema } from './Schema.ts'\nimport type { Transform } from './Transform.ts'\n\nexport type TransformDivinerParams = DivinerParams<AnyConfigSchema<TransformDivinerConfig>>\n\nexport abstract class AbstractTransformDiviner<\n TParams extends TransformDivinerParams = TransformDivinerParams,\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, TransformDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TransformDivinerConfigSchema\n\n protected override divineHandler(payloads?: TIn[]): TOut[] {\n const transforms: Transform[] = []\n if (this.config.transform) {\n transforms.push({ schema: TransformDivinerSchema, transform: this.config.transform })\n }\n return transforms.flatMap(transform => payloads?.map(this.transformer(transform)) ?? [])\n }\n\n protected abstract transformer(transform: Transform): PayloadTransformer<TIn, TOut>\n}\n", "import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema } from '@xyo-network/sdk-protocol-js'\n\nimport { TransformDivinerSchema } from './Schema.ts'\nimport type { TransformDictionary } from './Transform.ts'\n\nexport const TransformDivinerConfigSchema: string & {\n readonly __schema: true\n} = asSchema(`${TransformDivinerSchema}.config`, true)\nexport type TransformDivinerConfigSchema = typeof TransformDivinerConfigSchema\n\nexport type TransformDivinerConfig = DivinerConfig<{ transform?: TransformDictionary } & { schema: TransformDivinerConfigSchema }>\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const TransformDivinerSchema: 'network.xyo.diviner.transform' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.transform', true)\nexport type TransformDivinerSchema = typeof TransformDivinerSchema\n"],
5
- "mappings": ";AAAA,SAAS,uBAAuB;;;ACChC,SAAS,YAAAA,iBAAgB;;;ACDzB,SAAS,gBAAgB;AAElB,IAAM,yBAET,SAAS,iCAAiC,IAAI;;;ADE3C,IAAM,+BAETC,UAAS,GAAG,sBAAsB,WAAW,IAAI;;;ADO9C,IAAe,2BAAf,cASG,gBAAgD;AAAA,EACxD,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,4BAA4B;AAAA,EACxG,OAAyB,sBAA8B;AAAA,EAEpC,cAAc,UAA0B;AACzD,UAAM,aAA0B,CAAC;AACjC,QAAI,KAAK,OAAO,WAAW;AACzB,iBAAW,KAAK,EAAE,QAAQ,wBAAwB,WAAW,KAAK,OAAO,UAAU,CAAC;AAAA,IACtF;AACA,WAAO,WAAW,QAAQ,eAAa,UAAU,IAAI,KAAK,YAAY,SAAS,CAAC,KAAK,CAAC,CAAC;AAAA,EACzF;AAGF;",
4
+ "sourcesContent": ["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type {\n DivinerInstance, DivinerModuleEventData, DivinerParams,\n} from '@xyo-network/diviner-model'\nimport type { AnyConfigSchema } from '@xyo-network/module-model'\nimport type { Payload, Schema } from '@xyo-network/sdk-protocol-js'\n\nimport type { TransformDivinerConfig } from './Config.ts'\nimport { TransformDivinerConfigSchema } from './Config.ts'\nimport type { PayloadTransformer } from './PayloadValueTransformer.ts'\nimport { TransformDivinerSchema } from './Schema.ts'\nimport type { Transform } from './Transform.ts'\n\nexport type TransformDivinerParams = DivinerParams<AnyConfigSchema<TransformDivinerConfig>>\n\nexport abstract class AbstractTransformDiviner<\n TParams extends TransformDivinerParams = TransformDivinerParams,\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, TransformDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TransformDivinerConfigSchema\n\n protected override divineHandler(payloads?: TIn[]): TOut[] {\n const transforms: Transform[] = []\n if (this.config.transform) {\n transforms.push({ schema: TransformDivinerSchema, transform: this.config.transform })\n }\n return transforms.flatMap(transform => payloads?.map(this.transformer(transform)) ?? [])\n }\n\n protected abstract transformer(transform: Transform): PayloadTransformer<TIn, TOut>\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { DivinerConfigZod } from '@xyo-network/diviner-model'\nimport { asSchema } from '@xyo-network/sdk-protocol-js'\nimport * as z from 'zod/mini'\n\nimport { TransformDivinerSchema } from './Schema.ts'\nimport type { TransformDictionary } from './Transform.ts'\n\nexport const TransformDivinerConfigSchema: string & {\n readonly __schema: true\n} = asSchema(`${TransformDivinerSchema}.config`, true)\nexport type TransformDivinerConfigSchema = typeof TransformDivinerConfigSchema\n\nexport const TransformDivinerConfigZod: z.ZodMiniObject<\n Omit<(typeof DivinerConfigZod)['shape'], 'schema'> & {\n schema: z.ZodMiniLiteral<TransformDivinerConfigSchema>\n transform: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>\n },\n z.core.$strip\n> = z.extend(DivinerConfigZod, {\n schema: z.literal(TransformDivinerConfigSchema),\n transform: z.optional(z.record(z.string(), z.string())),\n})\n\nexport type TransformDivinerConfig = DivinerConfig<{ transform?: TransformDictionary } & { schema: TransformDivinerConfigSchema }>\n\nexport const isTransformDivinerConfig: ReturnType<typeof zodIsFactory<TransformDivinerConfig>> = zodIsFactory(TransformDivinerConfigZod)\nexport const asTransformDivinerConfig: ReturnType<typeof zodAsFactory<TransformDivinerConfig>> = zodAsFactory(TransformDivinerConfigZod, 'asTransformDivinerConfig')\nexport const toTransformDivinerConfig: ReturnType<typeof zodToFactory<TransformDivinerConfig>> = zodToFactory(TransformDivinerConfigZod, 'toTransformDivinerConfig')\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const TransformDivinerSchema: 'network.xyo.diviner.transform' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.transform', true)\nexport type TransformDivinerSchema = typeof TransformDivinerSchema\n"],
5
+ "mappings": ";AAAA,SAAS,uBAAuB;;;ACAhC;AAAA,EACE;AAAA,EAAc;AAAA,EAAc;AAAA,OACvB;AAEP,SAAS,wBAAwB;AACjC,SAAS,YAAAA,iBAAgB;AACzB,YAAY,OAAO;;;ACNnB,SAAS,gBAAgB;AAElB,IAAM,yBAET,SAAS,iCAAiC,IAAI;;;ADO3C,IAAM,+BAETC,UAAS,GAAG,sBAAsB,WAAW,IAAI;AAG9C,IAAM,4BAMP,SAAO,kBAAkB;AAAA,EAC7B,QAAU,UAAQ,4BAA4B;AAAA,EAC9C,WAAa,WAAW,SAAS,SAAO,GAAK,SAAO,CAAC,CAAC;AACxD,CAAC;AAIM,IAAM,2BAAoF,aAAa,yBAAyB;AAChI,IAAM,2BAAoF,aAAa,2BAA2B,0BAA0B;AAC5J,IAAM,2BAAoF,aAAa,2BAA2B,0BAA0B;;;ADhB5J,IAAe,2BAAf,cASG,gBAAgD;AAAA,EACxD,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,4BAA4B;AAAA,EACxG,OAAyB,sBAA8B;AAAA,EAEpC,cAAc,UAA0B;AACzD,UAAM,aAA0B,CAAC;AACjC,QAAI,KAAK,OAAO,WAAW;AACzB,iBAAW,KAAK,EAAE,QAAQ,wBAAwB,WAAW,KAAK,OAAO,UAAU,CAAC;AAAA,IACtF;AACA,WAAO,WAAW,QAAQ,eAAa,UAAU,IAAI,KAAK,YAAY,SAAS,CAAC,KAAK,CAAC,CAAC;AAAA,EACzF;AAGF;",
6
6
  "names": ["asSchema", "asSchema"]
7
7
  }
@@ -2,7 +2,14 @@
2
2
  import { AbstractDiviner } from "@xyo-network/diviner-abstract";
3
3
 
4
4
  // src/Config.ts
5
+ import {
6
+ zodAsFactory,
7
+ zodIsFactory,
8
+ zodToFactory
9
+ } from "@xylabs/sdk-js";
10
+ import { DivinerConfigZod } from "@xyo-network/diviner-model";
5
11
  import { asSchema as asSchema2 } from "@xyo-network/sdk-protocol-js";
12
+ import * as z from "zod/mini";
6
13
 
7
14
  // src/Schema.ts
8
15
  import { asSchema } from "@xyo-network/sdk-protocol-js";
@@ -10,6 +17,13 @@ var TransformDivinerSchema = asSchema("network.xyo.diviner.transform", true);
10
17
 
11
18
  // src/Config.ts
12
19
  var TransformDivinerConfigSchema = asSchema2(`${TransformDivinerSchema}.config`, true);
20
+ var TransformDivinerConfigZod = z.extend(DivinerConfigZod, {
21
+ schema: z.literal(TransformDivinerConfigSchema),
22
+ transform: z.optional(z.record(z.string(), z.string()))
23
+ });
24
+ var isTransformDivinerConfig = zodIsFactory(TransformDivinerConfigZod);
25
+ var asTransformDivinerConfig = zodAsFactory(TransformDivinerConfigZod, "asTransformDivinerConfig");
26
+ var toTransformDivinerConfig = zodToFactory(TransformDivinerConfigZod, "toTransformDivinerConfig");
13
27
 
14
28
  // src/AbstractTransformDiviner.ts
15
29
  var AbstractTransformDiviner = class extends AbstractDiviner {
@@ -49,16 +63,59 @@ var MemoryTransformDiviner = class extends AbstractTransformDiviner {
49
63
 
50
64
  // src/Query.ts
51
65
  import {
52
- asSchema as asSchema3
66
+ zodAsFactory as zodAsFactory2,
67
+ zodIsFactory as zodIsFactory2,
68
+ zodToFactory as zodToFactory2
69
+ } from "@xylabs/sdk-js";
70
+ import {
71
+ asSchema as asSchema3,
72
+ PayloadZodOfSchema,
73
+ QueryFieldsZod
53
74
  } from "@xyo-network/sdk-protocol-js";
75
+ import * as z2 from "zod/mini";
54
76
  var TransformDivinerQuerySchema = asSchema3(`${TransformDivinerSchema}.query`, true);
55
- var isTransformDivinerQueryPayload = (x) => x?.schema === TransformDivinerQuerySchema;
77
+ var TransformDivinerQueryPayloadZod = z2.extend(PayloadZodOfSchema(TransformDivinerQuerySchema), {
78
+ ...QueryFieldsZod.shape,
79
+ transformMethod: z2.optional(z2.string())
80
+ });
81
+ var isTransformDivinerQueryPayload = zodIsFactory2(TransformDivinerQueryPayloadZod);
82
+ var asTransformDivinerQueryPayload = zodAsFactory2(TransformDivinerQueryPayloadZod, "asTransformDivinerQueryPayload");
83
+ var toTransformDivinerQueryPayload = zodToFactory2(TransformDivinerQueryPayloadZod, "toTransformDivinerQueryPayload");
84
+
85
+ // src/Transform.ts
86
+ import {
87
+ zodAsFactory as zodAsFactory3,
88
+ zodIsFactory as zodIsFactory3,
89
+ zodToFactory as zodToFactory3
90
+ } from "@xylabs/sdk-js";
91
+ import { PayloadZodOfSchema as PayloadZodOfSchema2 } from "@xyo-network/sdk-protocol-js";
92
+ import * as z3 from "zod/mini";
93
+ var TransformZod = z3.extend(PayloadZodOfSchema2(TransformDivinerSchema), {
94
+ // TODO: Allow dest schema?
95
+ // destinationSchema: string
96
+ // TODO: Make Plural?
97
+ transform: z3.record(z3.string(), z3.string())
98
+ });
99
+ var isTransform = zodIsFactory3(TransformZod);
100
+ var asTransform = zodAsFactory3(TransformZod, "asTransform");
101
+ var toTransform = zodToFactory3(TransformZod, "toTransform");
56
102
  export {
57
103
  AbstractTransformDiviner,
58
104
  MemoryTransformDiviner,
59
105
  TransformDivinerConfigSchema,
106
+ TransformDivinerConfigZod,
107
+ TransformDivinerQueryPayloadZod,
60
108
  TransformDivinerQuerySchema,
61
109
  TransformDivinerSchema,
62
- isTransformDivinerQueryPayload
110
+ TransformZod,
111
+ asTransform,
112
+ asTransformDivinerConfig,
113
+ asTransformDivinerQueryPayload,
114
+ isTransform,
115
+ isTransformDivinerConfig,
116
+ isTransformDivinerQueryPayload,
117
+ toTransform,
118
+ toTransformDivinerConfig,
119
+ toTransformDivinerQueryPayload
63
120
  };
64
121
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/AbstractTransformDiviner.ts", "../../src/Config.ts", "../../src/Schema.ts", "../../src/MemoryTransformDiviner.ts", "../../src/Query.ts"],
4
- "sourcesContent": ["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type {\n DivinerInstance, DivinerModuleEventData, DivinerParams,\n} from '@xyo-network/diviner-model'\nimport type { AnyConfigSchema } from '@xyo-network/module-model'\nimport type { Payload, Schema } from '@xyo-network/sdk-protocol-js'\n\nimport type { TransformDivinerConfig } from './Config.ts'\nimport { TransformDivinerConfigSchema } from './Config.ts'\nimport type { PayloadTransformer } from './PayloadValueTransformer.ts'\nimport { TransformDivinerSchema } from './Schema.ts'\nimport type { Transform } from './Transform.ts'\n\nexport type TransformDivinerParams = DivinerParams<AnyConfigSchema<TransformDivinerConfig>>\n\nexport abstract class AbstractTransformDiviner<\n TParams extends TransformDivinerParams = TransformDivinerParams,\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, TransformDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TransformDivinerConfigSchema\n\n protected override divineHandler(payloads?: TIn[]): TOut[] {\n const transforms: Transform[] = []\n if (this.config.transform) {\n transforms.push({ schema: TransformDivinerSchema, transform: this.config.transform })\n }\n return transforms.flatMap(transform => payloads?.map(this.transformer(transform)) ?? [])\n }\n\n protected abstract transformer(transform: Transform): PayloadTransformer<TIn, TOut>\n}\n", "import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema } from '@xyo-network/sdk-protocol-js'\n\nimport { TransformDivinerSchema } from './Schema.ts'\nimport type { TransformDictionary } from './Transform.ts'\n\nexport const TransformDivinerConfigSchema: string & {\n readonly __schema: true\n} = asSchema(`${TransformDivinerSchema}.config`, true)\nexport type TransformDivinerConfigSchema = typeof TransformDivinerConfigSchema\n\nexport type TransformDivinerConfig = DivinerConfig<{ transform?: TransformDictionary } & { schema: TransformDivinerConfigSchema }>\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const TransformDivinerSchema: 'network.xyo.diviner.transform' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.transform', true)\nexport type TransformDivinerSchema = typeof TransformDivinerSchema\n", "import type { Payload, Schema } from '@xyo-network/sdk-protocol-js'\nimport { ValueSchema } from '@xyo-network/sdk-protocol-js'\nimport { JSONPath } from 'jsonpath-plus'\n\nimport type { TransformDivinerParams } from './AbstractTransformDiviner.ts'\nimport { AbstractTransformDiviner } from './AbstractTransformDiviner.ts'\nimport { TransformDivinerConfigSchema } from './Config.ts'\nimport type { PayloadTransformer } from './PayloadValueTransformer.ts'\nimport type { Transform } from './Transform.ts'\n\nconst getJsonPathTransformer = <TSource extends Payload = Payload, TDestination extends Payload = Payload>(\n transform: Transform,\n): PayloadTransformer<TSource, TDestination> => {\n const transformer: PayloadTransformer<TSource, TDestination> = (source: TSource) => {\n const value = Object.fromEntries(\n Object.entries(transform.transform).map(([key, pathExpression]) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const value = JSONPath({ path: pathExpression, json: source })[0]\n return [key, value]\n }),\n )\n // TODO: Render this cast unnecessary\n return { schema: ValueSchema, value } as unknown as TDestination\n }\n return transformer\n}\n\nexport class MemoryTransformDiviner<\n TParams extends TransformDivinerParams = TransformDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n> extends AbstractTransformDiviner<TParams, TIn, TOut> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TransformDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TransformDivinerConfigSchema\n\n protected override transformer(transform: Transform): PayloadTransformer<TIn, TOut> {\n return getJsonPathTransformer<TIn, TOut>(transform)\n }\n}\n", "import {\n asSchema, type Payload, type Query,\n} from '@xyo-network/sdk-protocol-js'\n\nimport { TransformDivinerSchema } from './Schema.ts'\nimport type { TransformSettings } from './TransformSettings.ts'\n\nexport const TransformDivinerQuerySchema: string & {\n readonly __schema: true\n} = asSchema(`${TransformDivinerSchema}.query`, true)\nexport type TransformDivinerQuerySchema = typeof TransformDivinerQuerySchema\n\nexport type TransformDivinerQueryPayload = Query<{ schema: TransformDivinerQuerySchema } & Partial<TransformSettings>>\nexport const isTransformDivinerQueryPayload = (x?: Payload | null): x is TransformDivinerQueryPayload => x?.schema === TransformDivinerQuerySchema\n"],
5
- "mappings": ";AAAA,SAAS,uBAAuB;;;ACChC,SAAS,YAAAA,iBAAgB;;;ACDzB,SAAS,gBAAgB;AAElB,IAAM,yBAET,SAAS,iCAAiC,IAAI;;;ADE3C,IAAM,+BAETC,UAAS,GAAG,sBAAsB,WAAW,IAAI;;;ADO9C,IAAe,2BAAf,cASG,gBAAgD;AAAA,EACxD,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,4BAA4B;AAAA,EACxG,OAAyB,sBAA8B;AAAA,EAEpC,cAAc,UAA0B;AACzD,UAAM,aAA0B,CAAC;AACjC,QAAI,KAAK,OAAO,WAAW;AACzB,iBAAW,KAAK,EAAE,QAAQ,wBAAwB,WAAW,KAAK,OAAO,UAAU,CAAC;AAAA,IACtF;AACA,WAAO,WAAW,QAAQ,eAAa,UAAU,IAAI,KAAK,YAAY,SAAS,CAAC,KAAK,CAAC,CAAC;AAAA,EACzF;AAGF;;;AGpCA,SAAS,mBAAmB;AAC5B,SAAS,gBAAgB;AAQzB,IAAM,yBAAyB,CAC7B,cAC8C;AAC9C,QAAM,cAAyD,CAAC,WAAoB;AAClF,UAAM,QAAQ,OAAO;AAAA,MACnB,OAAO,QAAQ,UAAU,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,cAAc,MAAM;AAEjE,cAAMC,SAAQ,SAAS,EAAE,MAAM,gBAAgB,MAAM,OAAO,CAAC,EAAE,CAAC;AAChE,eAAO,CAAC,KAAKA,MAAK;AAAA,MACpB,CAAC;AAAA,IACH;AAEA,WAAO,EAAE,QAAQ,aAAa,MAAM;AAAA,EACtC;AACA,SAAO;AACT;AAEO,IAAM,yBAAN,cAIG,yBAA6C;AAAA,EACrD,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,4BAA4B;AAAA,EACxG,OAAyB,sBAA8B;AAAA,EAEpC,YAAY,WAAqD;AAClF,WAAO,uBAAkC,SAAS;AAAA,EACpD;AACF;;;ACtCA;AAAA,EACE,YAAAC;AAAA,OACK;AAKA,IAAM,8BAETC,UAAS,GAAG,sBAAsB,UAAU,IAAI;AAI7C,IAAM,iCAAiC,CAAC,MAA0D,GAAG,WAAW;",
6
- "names": ["asSchema", "asSchema", "value", "asSchema", "asSchema"]
3
+ "sources": ["../../src/AbstractTransformDiviner.ts", "../../src/Config.ts", "../../src/Schema.ts", "../../src/MemoryTransformDiviner.ts", "../../src/Query.ts", "../../src/Transform.ts"],
4
+ "sourcesContent": ["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type {\n DivinerInstance, DivinerModuleEventData, DivinerParams,\n} from '@xyo-network/diviner-model'\nimport type { AnyConfigSchema } from '@xyo-network/module-model'\nimport type { Payload, Schema } from '@xyo-network/sdk-protocol-js'\n\nimport type { TransformDivinerConfig } from './Config.ts'\nimport { TransformDivinerConfigSchema } from './Config.ts'\nimport type { PayloadTransformer } from './PayloadValueTransformer.ts'\nimport { TransformDivinerSchema } from './Schema.ts'\nimport type { Transform } from './Transform.ts'\n\nexport type TransformDivinerParams = DivinerParams<AnyConfigSchema<TransformDivinerConfig>>\n\nexport abstract class AbstractTransformDiviner<\n TParams extends TransformDivinerParams = TransformDivinerParams,\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, TransformDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TransformDivinerConfigSchema\n\n protected override divineHandler(payloads?: TIn[]): TOut[] {\n const transforms: Transform[] = []\n if (this.config.transform) {\n transforms.push({ schema: TransformDivinerSchema, transform: this.config.transform })\n }\n return transforms.flatMap(transform => payloads?.map(this.transformer(transform)) ?? [])\n }\n\n protected abstract transformer(transform: Transform): PayloadTransformer<TIn, TOut>\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { DivinerConfigZod } from '@xyo-network/diviner-model'\nimport { asSchema } from '@xyo-network/sdk-protocol-js'\nimport * as z from 'zod/mini'\n\nimport { TransformDivinerSchema } from './Schema.ts'\nimport type { TransformDictionary } from './Transform.ts'\n\nexport const TransformDivinerConfigSchema: string & {\n readonly __schema: true\n} = asSchema(`${TransformDivinerSchema}.config`, true)\nexport type TransformDivinerConfigSchema = typeof TransformDivinerConfigSchema\n\nexport const TransformDivinerConfigZod: z.ZodMiniObject<\n Omit<(typeof DivinerConfigZod)['shape'], 'schema'> & {\n schema: z.ZodMiniLiteral<TransformDivinerConfigSchema>\n transform: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>\n },\n z.core.$strip\n> = z.extend(DivinerConfigZod, {\n schema: z.literal(TransformDivinerConfigSchema),\n transform: z.optional(z.record(z.string(), z.string())),\n})\n\nexport type TransformDivinerConfig = DivinerConfig<{ transform?: TransformDictionary } & { schema: TransformDivinerConfigSchema }>\n\nexport const isTransformDivinerConfig: ReturnType<typeof zodIsFactory<TransformDivinerConfig>> = zodIsFactory(TransformDivinerConfigZod)\nexport const asTransformDivinerConfig: ReturnType<typeof zodAsFactory<TransformDivinerConfig>> = zodAsFactory(TransformDivinerConfigZod, 'asTransformDivinerConfig')\nexport const toTransformDivinerConfig: ReturnType<typeof zodToFactory<TransformDivinerConfig>> = zodToFactory(TransformDivinerConfigZod, 'toTransformDivinerConfig')\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const TransformDivinerSchema: 'network.xyo.diviner.transform' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.transform', true)\nexport type TransformDivinerSchema = typeof TransformDivinerSchema\n", "import type { Payload, Schema } from '@xyo-network/sdk-protocol-js'\nimport { ValueSchema } from '@xyo-network/sdk-protocol-js'\nimport { JSONPath } from 'jsonpath-plus'\n\nimport type { TransformDivinerParams } from './AbstractTransformDiviner.ts'\nimport { AbstractTransformDiviner } from './AbstractTransformDiviner.ts'\nimport { TransformDivinerConfigSchema } from './Config.ts'\nimport type { PayloadTransformer } from './PayloadValueTransformer.ts'\nimport type { Transform } from './Transform.ts'\n\nconst getJsonPathTransformer = <TSource extends Payload = Payload, TDestination extends Payload = Payload>(\n transform: Transform,\n): PayloadTransformer<TSource, TDestination> => {\n const transformer: PayloadTransformer<TSource, TDestination> = (source: TSource) => {\n const value = Object.fromEntries(\n Object.entries(transform.transform).map(([key, pathExpression]) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const value = JSONPath({ path: pathExpression, json: source })[0]\n return [key, value]\n }),\n )\n // TODO: Render this cast unnecessary\n return { schema: ValueSchema, value } as unknown as TDestination\n }\n return transformer\n}\n\nexport class MemoryTransformDiviner<\n TParams extends TransformDivinerParams = TransformDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n> extends AbstractTransformDiviner<TParams, TIn, TOut> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TransformDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TransformDivinerConfigSchema\n\n protected override transformer(transform: Transform): PayloadTransformer<TIn, TOut> {\n return getJsonPathTransformer<TIn, TOut>(transform)\n }\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol-js'\nimport * as z from 'zod/mini'\n\nimport { TransformDivinerSchema } from './Schema.ts'\n\nexport const TransformDivinerQuerySchema: string & {\n readonly __schema: true\n} = asSchema(`${TransformDivinerSchema}.query`, true)\nexport type TransformDivinerQuerySchema = typeof TransformDivinerQuerySchema\n\nexport const TransformDivinerQueryPayloadZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<TransformDivinerQuerySchema> }\n & (typeof QueryFieldsZod)['shape']\n & { transformMethod: z.ZodMiniOptional<z.ZodMiniString<string>> },\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(TransformDivinerQuerySchema), {\n ...QueryFieldsZod.shape,\n transformMethod: z.optional(z.string()),\n})\n\nexport type TransformDivinerQueryPayload = z.infer<typeof TransformDivinerQueryPayloadZod>\n\nexport const isTransformDivinerQueryPayload: ReturnType<typeof zodIsFactory<TransformDivinerQueryPayload>> = zodIsFactory(TransformDivinerQueryPayloadZod)\nexport const asTransformDivinerQueryPayload: ReturnType<typeof zodAsFactory<TransformDivinerQueryPayload>> = zodAsFactory(TransformDivinerQueryPayloadZod, 'asTransformDivinerQueryPayload')\nexport const toTransformDivinerQueryPayload: ReturnType<typeof zodToFactory<TransformDivinerQueryPayload>> = zodToFactory(TransformDivinerQueryPayloadZod, 'toTransformDivinerQueryPayload')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport { PayloadZodOfSchema } from '@xyo-network/sdk-protocol-js'\nimport * as z from 'zod/mini'\n\nimport { TransformDivinerSchema } from './Schema.ts'\n\nexport type TransformDictionary = Record<string, string>\n\nexport const TransformZod: z.ZodMiniObject<{\n schema: z.ZodMiniLiteral<TransformDivinerSchema>\n transform: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>\n}, z.core.$strip> = z.extend(PayloadZodOfSchema(TransformDivinerSchema), {\n // TODO: Allow dest schema?\n // destinationSchema: string\n // TODO: Make Plural?\n transform: z.record(z.string(), z.string()),\n})\n\nexport type Transform = z.infer<typeof TransformZod>\n\nexport const isTransform: ReturnType<typeof zodIsFactory<Transform>> = zodIsFactory(TransformZod)\nexport const asTransform: ReturnType<typeof zodAsFactory<Transform>> = zodAsFactory(TransformZod, 'asTransform')\nexport const toTransform: ReturnType<typeof zodToFactory<Transform>> = zodToFactory(TransformZod, 'toTransform')\n"],
5
+ "mappings": ";AAAA,SAAS,uBAAuB;;;ACAhC;AAAA,EACE;AAAA,EAAc;AAAA,EAAc;AAAA,OACvB;AAEP,SAAS,wBAAwB;AACjC,SAAS,YAAAA,iBAAgB;AACzB,YAAY,OAAO;;;ACNnB,SAAS,gBAAgB;AAElB,IAAM,yBAET,SAAS,iCAAiC,IAAI;;;ADO3C,IAAM,+BAETC,UAAS,GAAG,sBAAsB,WAAW,IAAI;AAG9C,IAAM,4BAMP,SAAO,kBAAkB;AAAA,EAC7B,QAAU,UAAQ,4BAA4B;AAAA,EAC9C,WAAa,WAAW,SAAS,SAAO,GAAK,SAAO,CAAC,CAAC;AACxD,CAAC;AAIM,IAAM,2BAAoF,aAAa,yBAAyB;AAChI,IAAM,2BAAoF,aAAa,2BAA2B,0BAA0B;AAC5J,IAAM,2BAAoF,aAAa,2BAA2B,0BAA0B;;;ADhB5J,IAAe,2BAAf,cASG,gBAAgD;AAAA,EACxD,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,4BAA4B;AAAA,EACxG,OAAyB,sBAA8B;AAAA,EAEpC,cAAc,UAA0B;AACzD,UAAM,aAA0B,CAAC;AACjC,QAAI,KAAK,OAAO,WAAW;AACzB,iBAAW,KAAK,EAAE,QAAQ,wBAAwB,WAAW,KAAK,OAAO,UAAU,CAAC;AAAA,IACtF;AACA,WAAO,WAAW,QAAQ,eAAa,UAAU,IAAI,KAAK,YAAY,SAAS,CAAC,KAAK,CAAC,CAAC;AAAA,EACzF;AAGF;;;AGpCA,SAAS,mBAAmB;AAC5B,SAAS,gBAAgB;AAQzB,IAAM,yBAAyB,CAC7B,cAC8C;AAC9C,QAAM,cAAyD,CAAC,WAAoB;AAClF,UAAM,QAAQ,OAAO;AAAA,MACnB,OAAO,QAAQ,UAAU,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,cAAc,MAAM;AAEjE,cAAMC,SAAQ,SAAS,EAAE,MAAM,gBAAgB,MAAM,OAAO,CAAC,EAAE,CAAC;AAChE,eAAO,CAAC,KAAKA,MAAK;AAAA,MACpB,CAAC;AAAA,IACH;AAEA,WAAO,EAAE,QAAQ,aAAa,MAAM;AAAA,EACtC;AACA,SAAO;AACT;AAEO,IAAM,yBAAN,cAIG,yBAA6C;AAAA,EACrD,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,4BAA4B;AAAA,EACxG,OAAyB,sBAA8B;AAAA,EAEpC,YAAY,WAAqD;AAClF,WAAO,uBAAkC,SAAS;AAAA,EACpD;AACF;;;ACtCA;AAAA,EACE,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACvB;AACP;AAAA,EACE,YAAAC;AAAA,EAAU;AAAA,EAAoB;AAAA,OACzB;AACP,YAAYC,QAAO;AAIZ,IAAM,8BAETC,UAAS,GAAG,sBAAsB,UAAU,IAAI;AAG7C,IAAM,kCAKP,UAAO,mBAAmB,2BAA2B,GAAG;AAAA,EAC5D,GAAG,eAAe;AAAA,EAClB,iBAAmB,YAAW,UAAO,CAAC;AACxC,CAAC;AAIM,IAAM,iCAAgGC,cAAa,+BAA+B;AAClJ,IAAM,iCAAgGC,cAAa,iCAAiC,gCAAgC;AACpL,IAAM,iCAAgGC,cAAa,iCAAiC,gCAAgC;;;AC7B3L;AAAA,EACE,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACvB;AACP,SAAS,sBAAAC,2BAA0B;AACnC,YAAYC,QAAO;AAMZ,IAAM,eAGS,UAAOC,oBAAmB,sBAAsB,GAAG;AAAA;AAAA;AAAA;AAAA,EAIvE,WAAa,UAAS,UAAO,GAAK,UAAO,CAAC;AAC5C,CAAC;AAIM,IAAM,cAA0DC,cAAa,YAAY;AACzF,IAAM,cAA0DC,cAAa,cAAc,aAAa;AACxG,IAAM,cAA0DC,cAAa,cAAc,aAAa;",
6
+ "names": ["asSchema", "asSchema", "value", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "z", "asSchema", "zodIsFactory", "zodAsFactory", "zodToFactory", "zodAsFactory", "zodIsFactory", "zodToFactory", "PayloadZodOfSchema", "z", "PayloadZodOfSchema", "zodIsFactory", "zodAsFactory", "zodToFactory"]
7
7
  }
@@ -6,7 +6,14 @@ import { JSONPath } from "jsonpath-plus";
6
6
  import { AbstractDiviner } from "@xyo-network/diviner-abstract";
7
7
 
8
8
  // src/Config.ts
9
+ import {
10
+ zodAsFactory,
11
+ zodIsFactory,
12
+ zodToFactory
13
+ } from "@xylabs/sdk-js";
14
+ import { DivinerConfigZod } from "@xyo-network/diviner-model";
9
15
  import { asSchema as asSchema2 } from "@xyo-network/sdk-protocol-js";
16
+ import * as z from "zod/mini";
10
17
 
11
18
  // src/Schema.ts
12
19
  import { asSchema } from "@xyo-network/sdk-protocol-js";
@@ -14,6 +21,13 @@ var TransformDivinerSchema = asSchema("network.xyo.diviner.transform", true);
14
21
 
15
22
  // src/Config.ts
16
23
  var TransformDivinerConfigSchema = asSchema2(`${TransformDivinerSchema}.config`, true);
24
+ var TransformDivinerConfigZod = z.extend(DivinerConfigZod, {
25
+ schema: z.literal(TransformDivinerConfigSchema),
26
+ transform: z.optional(z.record(z.string(), z.string()))
27
+ });
28
+ var isTransformDivinerConfig = zodIsFactory(TransformDivinerConfigZod);
29
+ var asTransformDivinerConfig = zodAsFactory(TransformDivinerConfigZod, "asTransformDivinerConfig");
30
+ var toTransformDivinerConfig = zodToFactory(TransformDivinerConfigZod, "toTransformDivinerConfig");
17
31
 
18
32
  // src/AbstractTransformDiviner.ts
19
33
  var AbstractTransformDiviner = class extends AbstractDiviner {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/MemoryTransformDiviner.ts", "../../src/AbstractTransformDiviner.ts", "../../src/Config.ts", "../../src/Schema.ts"],
4
- "sourcesContent": ["import type { Payload, Schema } from '@xyo-network/sdk-protocol-js'\nimport { ValueSchema } from '@xyo-network/sdk-protocol-js'\nimport { JSONPath } from 'jsonpath-plus'\n\nimport type { TransformDivinerParams } from './AbstractTransformDiviner.ts'\nimport { AbstractTransformDiviner } from './AbstractTransformDiviner.ts'\nimport { TransformDivinerConfigSchema } from './Config.ts'\nimport type { PayloadTransformer } from './PayloadValueTransformer.ts'\nimport type { Transform } from './Transform.ts'\n\nconst getJsonPathTransformer = <TSource extends Payload = Payload, TDestination extends Payload = Payload>(\n transform: Transform,\n): PayloadTransformer<TSource, TDestination> => {\n const transformer: PayloadTransformer<TSource, TDestination> = (source: TSource) => {\n const value = Object.fromEntries(\n Object.entries(transform.transform).map(([key, pathExpression]) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const value = JSONPath({ path: pathExpression, json: source })[0]\n return [key, value]\n }),\n )\n // TODO: Render this cast unnecessary\n return { schema: ValueSchema, value } as unknown as TDestination\n }\n return transformer\n}\n\nexport class MemoryTransformDiviner<\n TParams extends TransformDivinerParams = TransformDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n> extends AbstractTransformDiviner<TParams, TIn, TOut> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TransformDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TransformDivinerConfigSchema\n\n protected override transformer(transform: Transform): PayloadTransformer<TIn, TOut> {\n return getJsonPathTransformer<TIn, TOut>(transform)\n }\n}\n", "import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type {\n DivinerInstance, DivinerModuleEventData, DivinerParams,\n} from '@xyo-network/diviner-model'\nimport type { AnyConfigSchema } from '@xyo-network/module-model'\nimport type { Payload, Schema } from '@xyo-network/sdk-protocol-js'\n\nimport type { TransformDivinerConfig } from './Config.ts'\nimport { TransformDivinerConfigSchema } from './Config.ts'\nimport type { PayloadTransformer } from './PayloadValueTransformer.ts'\nimport { TransformDivinerSchema } from './Schema.ts'\nimport type { Transform } from './Transform.ts'\n\nexport type TransformDivinerParams = DivinerParams<AnyConfigSchema<TransformDivinerConfig>>\n\nexport abstract class AbstractTransformDiviner<\n TParams extends TransformDivinerParams = TransformDivinerParams,\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, TransformDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TransformDivinerConfigSchema\n\n protected override divineHandler(payloads?: TIn[]): TOut[] {\n const transforms: Transform[] = []\n if (this.config.transform) {\n transforms.push({ schema: TransformDivinerSchema, transform: this.config.transform })\n }\n return transforms.flatMap(transform => payloads?.map(this.transformer(transform)) ?? [])\n }\n\n protected abstract transformer(transform: Transform): PayloadTransformer<TIn, TOut>\n}\n", "import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema } from '@xyo-network/sdk-protocol-js'\n\nimport { TransformDivinerSchema } from './Schema.ts'\nimport type { TransformDictionary } from './Transform.ts'\n\nexport const TransformDivinerConfigSchema: string & {\n readonly __schema: true\n} = asSchema(`${TransformDivinerSchema}.config`, true)\nexport type TransformDivinerConfigSchema = typeof TransformDivinerConfigSchema\n\nexport type TransformDivinerConfig = DivinerConfig<{ transform?: TransformDictionary } & { schema: TransformDivinerConfigSchema }>\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const TransformDivinerSchema: 'network.xyo.diviner.transform' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.transform', true)\nexport type TransformDivinerSchema = typeof TransformDivinerSchema\n"],
5
- "mappings": ";AACA,SAAS,mBAAmB;AAC5B,SAAS,gBAAgB;;;ACFzB,SAAS,uBAAuB;;;ACChC,SAAS,YAAAA,iBAAgB;;;ACDzB,SAAS,gBAAgB;AAElB,IAAM,yBAET,SAAS,iCAAiC,IAAI;;;ADE3C,IAAM,+BAETC,UAAS,GAAG,sBAAsB,WAAW,IAAI;;;ADO9C,IAAe,2BAAf,cASG,gBAAgD;AAAA,EACxD,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,4BAA4B;AAAA,EACxG,OAAyB,sBAA8B;AAAA,EAEpC,cAAc,UAA0B;AACzD,UAAM,aAA0B,CAAC;AACjC,QAAI,KAAK,OAAO,WAAW;AACzB,iBAAW,KAAK,EAAE,QAAQ,wBAAwB,WAAW,KAAK,OAAO,UAAU,CAAC;AAAA,IACtF;AACA,WAAO,WAAW,QAAQ,eAAa,UAAU,IAAI,KAAK,YAAY,SAAS,CAAC,KAAK,CAAC,CAAC;AAAA,EACzF;AAGF;;;AD3BA,IAAM,yBAAyB,CAC7B,cAC8C;AAC9C,QAAM,cAAyD,CAAC,WAAoB;AAClF,UAAM,QAAQ,OAAO;AAAA,MACnB,OAAO,QAAQ,UAAU,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,cAAc,MAAM;AAEjE,cAAMC,SAAQ,SAAS,EAAE,MAAM,gBAAgB,MAAM,OAAO,CAAC,EAAE,CAAC;AAChE,eAAO,CAAC,KAAKA,MAAK;AAAA,MACpB,CAAC;AAAA,IACH;AAEA,WAAO,EAAE,QAAQ,aAAa,MAAM;AAAA,EACtC;AACA,SAAO;AACT;AAEO,IAAM,yBAAN,cAIG,yBAA6C;AAAA,EACrD,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,4BAA4B;AAAA,EACxG,OAAyB,sBAA8B;AAAA,EAEpC,YAAY,WAAqD;AAClF,WAAO,uBAAkC,SAAS;AAAA,EACpD;AACF;",
4
+ "sourcesContent": ["import type { Payload, Schema } from '@xyo-network/sdk-protocol-js'\nimport { ValueSchema } from '@xyo-network/sdk-protocol-js'\nimport { JSONPath } from 'jsonpath-plus'\n\nimport type { TransformDivinerParams } from './AbstractTransformDiviner.ts'\nimport { AbstractTransformDiviner } from './AbstractTransformDiviner.ts'\nimport { TransformDivinerConfigSchema } from './Config.ts'\nimport type { PayloadTransformer } from './PayloadValueTransformer.ts'\nimport type { Transform } from './Transform.ts'\n\nconst getJsonPathTransformer = <TSource extends Payload = Payload, TDestination extends Payload = Payload>(\n transform: Transform,\n): PayloadTransformer<TSource, TDestination> => {\n const transformer: PayloadTransformer<TSource, TDestination> = (source: TSource) => {\n const value = Object.fromEntries(\n Object.entries(transform.transform).map(([key, pathExpression]) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const value = JSONPath({ path: pathExpression, json: source })[0]\n return [key, value]\n }),\n )\n // TODO: Render this cast unnecessary\n return { schema: ValueSchema, value } as unknown as TDestination\n }\n return transformer\n}\n\nexport class MemoryTransformDiviner<\n TParams extends TransformDivinerParams = TransformDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n> extends AbstractTransformDiviner<TParams, TIn, TOut> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TransformDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TransformDivinerConfigSchema\n\n protected override transformer(transform: Transform): PayloadTransformer<TIn, TOut> {\n return getJsonPathTransformer<TIn, TOut>(transform)\n }\n}\n", "import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type {\n DivinerInstance, DivinerModuleEventData, DivinerParams,\n} from '@xyo-network/diviner-model'\nimport type { AnyConfigSchema } from '@xyo-network/module-model'\nimport type { Payload, Schema } from '@xyo-network/sdk-protocol-js'\n\nimport type { TransformDivinerConfig } from './Config.ts'\nimport { TransformDivinerConfigSchema } from './Config.ts'\nimport type { PayloadTransformer } from './PayloadValueTransformer.ts'\nimport { TransformDivinerSchema } from './Schema.ts'\nimport type { Transform } from './Transform.ts'\n\nexport type TransformDivinerParams = DivinerParams<AnyConfigSchema<TransformDivinerConfig>>\n\nexport abstract class AbstractTransformDiviner<\n TParams extends TransformDivinerParams = TransformDivinerParams,\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, TransformDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TransformDivinerConfigSchema\n\n protected override divineHandler(payloads?: TIn[]): TOut[] {\n const transforms: Transform[] = []\n if (this.config.transform) {\n transforms.push({ schema: TransformDivinerSchema, transform: this.config.transform })\n }\n return transforms.flatMap(transform => payloads?.map(this.transformer(transform)) ?? [])\n }\n\n protected abstract transformer(transform: Transform): PayloadTransformer<TIn, TOut>\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { DivinerConfigZod } from '@xyo-network/diviner-model'\nimport { asSchema } from '@xyo-network/sdk-protocol-js'\nimport * as z from 'zod/mini'\n\nimport { TransformDivinerSchema } from './Schema.ts'\nimport type { TransformDictionary } from './Transform.ts'\n\nexport const TransformDivinerConfigSchema: string & {\n readonly __schema: true\n} = asSchema(`${TransformDivinerSchema}.config`, true)\nexport type TransformDivinerConfigSchema = typeof TransformDivinerConfigSchema\n\nexport const TransformDivinerConfigZod: z.ZodMiniObject<\n Omit<(typeof DivinerConfigZod)['shape'], 'schema'> & {\n schema: z.ZodMiniLiteral<TransformDivinerConfigSchema>\n transform: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>\n },\n z.core.$strip\n> = z.extend(DivinerConfigZod, {\n schema: z.literal(TransformDivinerConfigSchema),\n transform: z.optional(z.record(z.string(), z.string())),\n})\n\nexport type TransformDivinerConfig = DivinerConfig<{ transform?: TransformDictionary } & { schema: TransformDivinerConfigSchema }>\n\nexport const isTransformDivinerConfig: ReturnType<typeof zodIsFactory<TransformDivinerConfig>> = zodIsFactory(TransformDivinerConfigZod)\nexport const asTransformDivinerConfig: ReturnType<typeof zodAsFactory<TransformDivinerConfig>> = zodAsFactory(TransformDivinerConfigZod, 'asTransformDivinerConfig')\nexport const toTransformDivinerConfig: ReturnType<typeof zodToFactory<TransformDivinerConfig>> = zodToFactory(TransformDivinerConfigZod, 'toTransformDivinerConfig')\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const TransformDivinerSchema: 'network.xyo.diviner.transform' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.transform', true)\nexport type TransformDivinerSchema = typeof TransformDivinerSchema\n"],
5
+ "mappings": ";AACA,SAAS,mBAAmB;AAC5B,SAAS,gBAAgB;;;ACFzB,SAAS,uBAAuB;;;ACAhC;AAAA,EACE;AAAA,EAAc;AAAA,EAAc;AAAA,OACvB;AAEP,SAAS,wBAAwB;AACjC,SAAS,YAAAA,iBAAgB;AACzB,YAAY,OAAO;;;ACNnB,SAAS,gBAAgB;AAElB,IAAM,yBAET,SAAS,iCAAiC,IAAI;;;ADO3C,IAAM,+BAETC,UAAS,GAAG,sBAAsB,WAAW,IAAI;AAG9C,IAAM,4BAMP,SAAO,kBAAkB;AAAA,EAC7B,QAAU,UAAQ,4BAA4B;AAAA,EAC9C,WAAa,WAAW,SAAS,SAAO,GAAK,SAAO,CAAC,CAAC;AACxD,CAAC;AAIM,IAAM,2BAAoF,aAAa,yBAAyB;AAChI,IAAM,2BAAoF,aAAa,2BAA2B,0BAA0B;AAC5J,IAAM,2BAAoF,aAAa,2BAA2B,0BAA0B;;;ADhB5J,IAAe,2BAAf,cASG,gBAAgD;AAAA,EACxD,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,4BAA4B;AAAA,EACxG,OAAyB,sBAA8B;AAAA,EAEpC,cAAc,UAA0B;AACzD,UAAM,aAA0B,CAAC;AACjC,QAAI,KAAK,OAAO,WAAW;AACzB,iBAAW,KAAK,EAAE,QAAQ,wBAAwB,WAAW,KAAK,OAAO,UAAU,CAAC;AAAA,IACtF;AACA,WAAO,WAAW,QAAQ,eAAa,UAAU,IAAI,KAAK,YAAY,SAAS,CAAC,KAAK,CAAC,CAAC;AAAA,EACzF;AAGF;;;AD3BA,IAAM,yBAAyB,CAC7B,cAC8C;AAC9C,QAAM,cAAyD,CAAC,WAAoB;AAClF,UAAM,QAAQ,OAAO;AAAA,MACnB,OAAO,QAAQ,UAAU,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,cAAc,MAAM;AAEjE,cAAMC,SAAQ,SAAS,EAAE,MAAM,gBAAgB,MAAM,OAAO,CAAC,EAAE,CAAC;AAChE,eAAO,CAAC,KAAKA,MAAK;AAAA,MACpB,CAAC;AAAA,IACH;AAEA,WAAO,EAAE,QAAQ,aAAa,MAAM;AAAA,EACtC;AACA,SAAO;AACT;AAEO,IAAM,yBAAN,cAIG,yBAA6C;AAAA,EACrD,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,4BAA4B;AAAA,EACxG,OAAyB,sBAA8B;AAAA,EAEpC,YAAY,WAAqD;AAClF,WAAO,uBAAkC,SAAS;AAAA,EACpD;AACF;",
6
6
  "names": ["asSchema", "asSchema", "value"]
7
7
  }
@@ -1,5 +1,12 @@
1
1
  // src/Config.ts
2
+ import {
3
+ zodAsFactory,
4
+ zodIsFactory,
5
+ zodToFactory
6
+ } from "@xylabs/sdk-js";
7
+ import { DivinerConfigZod } from "@xyo-network/diviner-model";
2
8
  import { asSchema as asSchema2 } from "@xyo-network/sdk-protocol-js";
9
+ import * as z from "zod/mini";
3
10
 
4
11
  // src/Schema.ts
5
12
  import { asSchema } from "@xyo-network/sdk-protocol-js";
@@ -7,17 +14,67 @@ var TransformDivinerSchema = asSchema("network.xyo.diviner.transform", true);
7
14
 
8
15
  // src/Config.ts
9
16
  var TransformDivinerConfigSchema = asSchema2(`${TransformDivinerSchema}.config`, true);
17
+ var TransformDivinerConfigZod = z.extend(DivinerConfigZod, {
18
+ schema: z.literal(TransformDivinerConfigSchema),
19
+ transform: z.optional(z.record(z.string(), z.string()))
20
+ });
21
+ var isTransformDivinerConfig = zodIsFactory(TransformDivinerConfigZod);
22
+ var asTransformDivinerConfig = zodAsFactory(TransformDivinerConfigZod, "asTransformDivinerConfig");
23
+ var toTransformDivinerConfig = zodToFactory(TransformDivinerConfigZod, "toTransformDivinerConfig");
10
24
 
11
25
  // src/Query.ts
12
26
  import {
13
- asSchema as asSchema3
27
+ zodAsFactory as zodAsFactory2,
28
+ zodIsFactory as zodIsFactory2,
29
+ zodToFactory as zodToFactory2
30
+ } from "@xylabs/sdk-js";
31
+ import {
32
+ asSchema as asSchema3,
33
+ PayloadZodOfSchema,
34
+ QueryFieldsZod
14
35
  } from "@xyo-network/sdk-protocol-js";
36
+ import * as z2 from "zod/mini";
15
37
  var TransformDivinerQuerySchema = asSchema3(`${TransformDivinerSchema}.query`, true);
16
- var isTransformDivinerQueryPayload = (x) => x?.schema === TransformDivinerQuerySchema;
38
+ var TransformDivinerQueryPayloadZod = z2.extend(PayloadZodOfSchema(TransformDivinerQuerySchema), {
39
+ ...QueryFieldsZod.shape,
40
+ transformMethod: z2.optional(z2.string())
41
+ });
42
+ var isTransformDivinerQueryPayload = zodIsFactory2(TransformDivinerQueryPayloadZod);
43
+ var asTransformDivinerQueryPayload = zodAsFactory2(TransformDivinerQueryPayloadZod, "asTransformDivinerQueryPayload");
44
+ var toTransformDivinerQueryPayload = zodToFactory2(TransformDivinerQueryPayloadZod, "toTransformDivinerQueryPayload");
45
+
46
+ // src/Transform.ts
47
+ import {
48
+ zodAsFactory as zodAsFactory3,
49
+ zodIsFactory as zodIsFactory3,
50
+ zodToFactory as zodToFactory3
51
+ } from "@xylabs/sdk-js";
52
+ import { PayloadZodOfSchema as PayloadZodOfSchema2 } from "@xyo-network/sdk-protocol-js";
53
+ import * as z3 from "zod/mini";
54
+ var TransformZod = z3.extend(PayloadZodOfSchema2(TransformDivinerSchema), {
55
+ // TODO: Allow dest schema?
56
+ // destinationSchema: string
57
+ // TODO: Make Plural?
58
+ transform: z3.record(z3.string(), z3.string())
59
+ });
60
+ var isTransform = zodIsFactory3(TransformZod);
61
+ var asTransform = zodAsFactory3(TransformZod, "asTransform");
62
+ var toTransform = zodToFactory3(TransformZod, "toTransform");
17
63
  export {
18
64
  TransformDivinerConfigSchema,
65
+ TransformDivinerConfigZod,
66
+ TransformDivinerQueryPayloadZod,
19
67
  TransformDivinerQuerySchema,
20
68
  TransformDivinerSchema,
21
- isTransformDivinerQueryPayload
69
+ TransformZod,
70
+ asTransform,
71
+ asTransformDivinerConfig,
72
+ asTransformDivinerQueryPayload,
73
+ isTransform,
74
+ isTransformDivinerConfig,
75
+ isTransformDivinerQueryPayload,
76
+ toTransform,
77
+ toTransformDivinerConfig,
78
+ toTransformDivinerQueryPayload
22
79
  };
23
80
  //# sourceMappingURL=model.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/Config.ts", "../../src/Schema.ts", "../../src/Query.ts"],
4
- "sourcesContent": ["import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema } from '@xyo-network/sdk-protocol-js'\n\nimport { TransformDivinerSchema } from './Schema.ts'\nimport type { TransformDictionary } from './Transform.ts'\n\nexport const TransformDivinerConfigSchema: string & {\n readonly __schema: true\n} = asSchema(`${TransformDivinerSchema}.config`, true)\nexport type TransformDivinerConfigSchema = typeof TransformDivinerConfigSchema\n\nexport type TransformDivinerConfig = DivinerConfig<{ transform?: TransformDictionary } & { schema: TransformDivinerConfigSchema }>\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const TransformDivinerSchema: 'network.xyo.diviner.transform' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.transform', true)\nexport type TransformDivinerSchema = typeof TransformDivinerSchema\n", "import {\n asSchema, type Payload, type Query,\n} from '@xyo-network/sdk-protocol-js'\n\nimport { TransformDivinerSchema } from './Schema.ts'\nimport type { TransformSettings } from './TransformSettings.ts'\n\nexport const TransformDivinerQuerySchema: string & {\n readonly __schema: true\n} = asSchema(`${TransformDivinerSchema}.query`, true)\nexport type TransformDivinerQuerySchema = typeof TransformDivinerQuerySchema\n\nexport type TransformDivinerQueryPayload = Query<{ schema: TransformDivinerQuerySchema } & Partial<TransformSettings>>\nexport const isTransformDivinerQueryPayload = (x?: Payload | null): x is TransformDivinerQueryPayload => x?.schema === TransformDivinerQuerySchema\n"],
5
- "mappings": ";AACA,SAAS,YAAAA,iBAAgB;;;ACDzB,SAAS,gBAAgB;AAElB,IAAM,yBAET,SAAS,iCAAiC,IAAI;;;ADE3C,IAAM,+BAETC,UAAS,GAAG,sBAAsB,WAAW,IAAI;;;AERrD;AAAA,EACE,YAAAC;AAAA,OACK;AAKA,IAAM,8BAETC,UAAS,GAAG,sBAAsB,UAAU,IAAI;AAI7C,IAAM,iCAAiC,CAAC,MAA0D,GAAG,WAAW;",
6
- "names": ["asSchema", "asSchema", "asSchema", "asSchema"]
3
+ "sources": ["../../src/Config.ts", "../../src/Schema.ts", "../../src/Query.ts", "../../src/Transform.ts"],
4
+ "sourcesContent": ["import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { DivinerConfigZod } from '@xyo-network/diviner-model'\nimport { asSchema } from '@xyo-network/sdk-protocol-js'\nimport * as z from 'zod/mini'\n\nimport { TransformDivinerSchema } from './Schema.ts'\nimport type { TransformDictionary } from './Transform.ts'\n\nexport const TransformDivinerConfigSchema: string & {\n readonly __schema: true\n} = asSchema(`${TransformDivinerSchema}.config`, true)\nexport type TransformDivinerConfigSchema = typeof TransformDivinerConfigSchema\n\nexport const TransformDivinerConfigZod: z.ZodMiniObject<\n Omit<(typeof DivinerConfigZod)['shape'], 'schema'> & {\n schema: z.ZodMiniLiteral<TransformDivinerConfigSchema>\n transform: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>>\n },\n z.core.$strip\n> = z.extend(DivinerConfigZod, {\n schema: z.literal(TransformDivinerConfigSchema),\n transform: z.optional(z.record(z.string(), z.string())),\n})\n\nexport type TransformDivinerConfig = DivinerConfig<{ transform?: TransformDictionary } & { schema: TransformDivinerConfigSchema }>\n\nexport const isTransformDivinerConfig: ReturnType<typeof zodIsFactory<TransformDivinerConfig>> = zodIsFactory(TransformDivinerConfigZod)\nexport const asTransformDivinerConfig: ReturnType<typeof zodAsFactory<TransformDivinerConfig>> = zodAsFactory(TransformDivinerConfigZod, 'asTransformDivinerConfig')\nexport const toTransformDivinerConfig: ReturnType<typeof zodToFactory<TransformDivinerConfig>> = zodToFactory(TransformDivinerConfigZod, 'toTransformDivinerConfig')\n", "import { asSchema } from '@xyo-network/sdk-protocol-js'\n\nexport const TransformDivinerSchema: 'network.xyo.diviner.transform' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.transform', true)\nexport type TransformDivinerSchema = typeof TransformDivinerSchema\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport {\n asSchema, PayloadZodOfSchema, QueryFieldsZod,\n} from '@xyo-network/sdk-protocol-js'\nimport * as z from 'zod/mini'\n\nimport { TransformDivinerSchema } from './Schema.ts'\n\nexport const TransformDivinerQuerySchema: string & {\n readonly __schema: true\n} = asSchema(`${TransformDivinerSchema}.query`, true)\nexport type TransformDivinerQuerySchema = typeof TransformDivinerQuerySchema\n\nexport const TransformDivinerQueryPayloadZod: z.ZodMiniObject<\n & { schema: z.ZodMiniLiteral<TransformDivinerQuerySchema> }\n & (typeof QueryFieldsZod)['shape']\n & { transformMethod: z.ZodMiniOptional<z.ZodMiniString<string>> },\n z.core.$strip\n> = z.extend(PayloadZodOfSchema(TransformDivinerQuerySchema), {\n ...QueryFieldsZod.shape,\n transformMethod: z.optional(z.string()),\n})\n\nexport type TransformDivinerQueryPayload = z.infer<typeof TransformDivinerQueryPayloadZod>\n\nexport const isTransformDivinerQueryPayload: ReturnType<typeof zodIsFactory<TransformDivinerQueryPayload>> = zodIsFactory(TransformDivinerQueryPayloadZod)\nexport const asTransformDivinerQueryPayload: ReturnType<typeof zodAsFactory<TransformDivinerQueryPayload>> = zodAsFactory(TransformDivinerQueryPayloadZod, 'asTransformDivinerQueryPayload')\nexport const toTransformDivinerQueryPayload: ReturnType<typeof zodToFactory<TransformDivinerQueryPayload>> = zodToFactory(TransformDivinerQueryPayloadZod, 'toTransformDivinerQueryPayload')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport { PayloadZodOfSchema } from '@xyo-network/sdk-protocol-js'\nimport * as z from 'zod/mini'\n\nimport { TransformDivinerSchema } from './Schema.ts'\n\nexport type TransformDictionary = Record<string, string>\n\nexport const TransformZod: z.ZodMiniObject<{\n schema: z.ZodMiniLiteral<TransformDivinerSchema>\n transform: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>\n}, z.core.$strip> = z.extend(PayloadZodOfSchema(TransformDivinerSchema), {\n // TODO: Allow dest schema?\n // destinationSchema: string\n // TODO: Make Plural?\n transform: z.record(z.string(), z.string()),\n})\n\nexport type Transform = z.infer<typeof TransformZod>\n\nexport const isTransform: ReturnType<typeof zodIsFactory<Transform>> = zodIsFactory(TransformZod)\nexport const asTransform: ReturnType<typeof zodAsFactory<Transform>> = zodAsFactory(TransformZod, 'asTransform')\nexport const toTransform: ReturnType<typeof zodToFactory<Transform>> = zodToFactory(TransformZod, 'toTransform')\n"],
5
+ "mappings": ";AAAA;AAAA,EACE;AAAA,EAAc;AAAA,EAAc;AAAA,OACvB;AAEP,SAAS,wBAAwB;AACjC,SAAS,YAAAA,iBAAgB;AACzB,YAAY,OAAO;;;ACNnB,SAAS,gBAAgB;AAElB,IAAM,yBAET,SAAS,iCAAiC,IAAI;;;ADO3C,IAAM,+BAETC,UAAS,GAAG,sBAAsB,WAAW,IAAI;AAG9C,IAAM,4BAMP,SAAO,kBAAkB;AAAA,EAC7B,QAAU,UAAQ,4BAA4B;AAAA,EAC9C,WAAa,WAAW,SAAS,SAAO,GAAK,SAAO,CAAC,CAAC;AACxD,CAAC;AAIM,IAAM,2BAAoF,aAAa,yBAAyB;AAChI,IAAM,2BAAoF,aAAa,2BAA2B,0BAA0B;AAC5J,IAAM,2BAAoF,aAAa,2BAA2B,0BAA0B;;;AE/BnK;AAAA,EACE,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACvB;AACP;AAAA,EACE,YAAAC;AAAA,EAAU;AAAA,EAAoB;AAAA,OACzB;AACP,YAAYC,QAAO;AAIZ,IAAM,8BAETC,UAAS,GAAG,sBAAsB,UAAU,IAAI;AAG7C,IAAM,kCAKP,UAAO,mBAAmB,2BAA2B,GAAG;AAAA,EAC5D,GAAG,eAAe;AAAA,EAClB,iBAAmB,YAAW,UAAO,CAAC;AACxC,CAAC;AAIM,IAAM,iCAAgGC,cAAa,+BAA+B;AAClJ,IAAM,iCAAgGC,cAAa,iCAAiC,gCAAgC;AACpL,IAAM,iCAAgGC,cAAa,iCAAiC,gCAAgC;;;AC7B3L;AAAA,EACE,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACvB;AACP,SAAS,sBAAAC,2BAA0B;AACnC,YAAYC,QAAO;AAMZ,IAAM,eAGS,UAAOC,oBAAmB,sBAAsB,GAAG;AAAA;AAAA;AAAA;AAAA,EAIvE,WAAa,UAAS,UAAO,GAAK,UAAO,CAAC;AAC5C,CAAC;AAIM,IAAM,cAA0DC,cAAa,YAAY;AACzF,IAAM,cAA0DC,cAAa,cAAc,aAAa;AACxG,IAAM,cAA0DC,cAAa,cAAc,aAAa;",
6
+ "names": ["asSchema", "asSchema", "zodAsFactory", "zodIsFactory", "zodToFactory", "asSchema", "z", "asSchema", "zodIsFactory", "zodAsFactory", "zodToFactory", "zodAsFactory", "zodIsFactory", "zodToFactory", "PayloadZodOfSchema", "z", "PayloadZodOfSchema", "zodIsFactory", "zodAsFactory", "zodToFactory"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/diviner-transform",
3
- "version": "6.1.0",
3
+ "version": "7.0.0",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -46,29 +46,29 @@
46
46
  "README.md"
47
47
  ],
48
48
  "dependencies": {
49
- "@xyo-network/diviner-abstract": "~6.1.0",
50
- "@xyo-network/module-model": "~6.1.0",
51
- "@xyo-network/diviner-model": "~6.1.0"
49
+ "@xyo-network/diviner-abstract": "~7.0.0",
50
+ "@xyo-network/diviner-model": "~7.0.0",
51
+ "@xyo-network/module-model": "~7.0.0"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@bitauth/libauth": "~3.0.0",
55
55
  "@metamask/providers": "^22.1.1",
56
56
  "@noble/post-quantum": "~0.6.1",
57
57
  "@opentelemetry/api": "^1.9.1",
58
- "@opentelemetry/sdk-trace-base": "^2.7.1",
58
+ "@opentelemetry/sdk-trace-base": "^2.8.0",
59
59
  "@scure/base": "~2.2.0",
60
60
  "@scure/bip39": "~2.2.0",
61
- "@xylabs/geo": "^6.1.0",
62
- "@xylabs/sdk-js": "^6.1.0",
63
- "@xylabs/threads": "^6.1.0",
61
+ "@xylabs/geo": "^6.1.1",
62
+ "@xylabs/sdk-js": "^6.1.1",
63
+ "@xylabs/threads": "^6.1.1",
64
64
  "@xylabs/toolchain": "^8.1.20",
65
65
  "@xylabs/tsconfig": "^8.1.20",
66
- "@xylabs/vitest-extended": "^6.1.0",
67
- "@xyo-network/sdk-protocol-js": "^6.1.0",
66
+ "@xylabs/vitest-extended": "^6.1.1",
67
+ "@xyo-network/sdk-protocol-js": "~7.0",
68
68
  "ajv": "^8.20.0",
69
69
  "async-mutex": "^0.5.0",
70
70
  "debug": "~4.4.3",
71
- "eslint": "^10.4.1",
71
+ "eslint": "^10.5.0",
72
72
  "ethers": "^6.16.0",
73
73
  "hash-wasm": "~4.12.0",
74
74
  "idb": "^8.0.3",
@@ -92,7 +92,7 @@
92
92
  "@xylabs/geo": "^6.0",
93
93
  "@xylabs/sdk-js": "^6.0",
94
94
  "@xylabs/threads": "^6.0",
95
- "@xyo-network/sdk-protocol-js": "^6.1",
95
+ "@xyo-network/sdk-protocol-js": "^7.0",
96
96
  "ajv": "^8.20",
97
97
  "async-mutex": "^0.5",
98
98
  "debug": "~4.4",