@xyo-network/xml-plugin 5.3.2 → 5.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/neutral/Diviner/Config.d.ts +4 -0
  2. package/dist/neutral/Diviner/Config.d.ts.map +1 -0
  3. package/dist/neutral/Diviner/Diviner.d.ts +15 -0
  4. package/dist/neutral/Diviner/Diviner.d.ts.map +1 -0
  5. package/dist/neutral/Diviner/Params.d.ts +5 -0
  6. package/dist/neutral/Diviner/Params.d.ts.map +1 -0
  7. package/dist/neutral/Diviner/Schema.d.ts +5 -0
  8. package/dist/neutral/Diviner/Schema.d.ts.map +1 -0
  9. package/dist/neutral/Diviner/index.d.ts +3 -0
  10. package/dist/neutral/Diviner/index.d.ts.map +1 -0
  11. package/dist/neutral/Diviner/lib/StringDataField.d.ts +16 -0
  12. package/dist/neutral/Diviner/lib/StringDataField.d.ts.map +1 -0
  13. package/dist/neutral/Diviner/lib/index.d.ts +3 -0
  14. package/dist/neutral/Diviner/lib/index.d.ts.map +1 -0
  15. package/dist/neutral/Diviner/lib/toXml.d.ts +9 -0
  16. package/dist/neutral/Diviner/lib/toXml.d.ts.map +1 -0
  17. package/dist/neutral/Payload.d.ts +22 -0
  18. package/dist/neutral/Payload.d.ts.map +1 -0
  19. package/dist/neutral/Schema.d.ts +5 -0
  20. package/dist/neutral/Schema.d.ts.map +1 -0
  21. package/dist/neutral/index.d.ts +4 -0
  22. package/dist/neutral/index.d.ts.map +1 -0
  23. package/dist/neutral/index.mjs +74 -0
  24. package/dist/neutral/index.mjs.map +1 -0
  25. package/package.json +9 -6
  26. package/src/Diviner/Config.ts +0 -10
  27. package/src/Diviner/Diviner.ts +0 -33
  28. package/src/Diviner/Params.ts +0 -7
  29. package/src/Diviner/Schema.ts +0 -4
  30. package/src/Diviner/index.ts +0 -2
  31. package/src/Diviner/lib/StringDataField.ts +0 -18
  32. package/src/Diviner/lib/index.ts +0 -2
  33. package/src/Diviner/lib/toXml.ts +0 -24
  34. package/src/Payload.ts +0 -27
  35. package/src/Schema.ts +0 -4
  36. package/src/index.ts +0 -3
@@ -0,0 +1,4 @@
1
+ import type { DivinerConfig } from '@xyo-network/diviner-model';
2
+ import type { XmlParsingDivinerConfigSchema } from './Schema.ts';
3
+ export type XmlParsingDivinerConfig = DivinerConfig<{}, XmlParsingDivinerConfigSchema>;
4
+ //# sourceMappingURL=Config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAEhE,MAAM,MAAM,uBAAuB,GAAG,aAAa,CACjD,EAEC,EACD,6BAA6B,CAC9B,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
+ import { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model';
3
+ import { Payload, Schema } from '@xyo-network/payload-model';
4
+ import { Xml } from '../Payload.ts';
5
+ import { StringDataField } from './lib/index.ts';
6
+ import { XmlParsingDivinerParams } from './Params.ts';
7
+ export declare class XmlParsingDiviner<TParams extends XmlParsingDivinerParams = XmlParsingDivinerParams, TIn extends Payload<StringDataField> = Payload<StringDataField>, TOut extends Xml | Payload = Xml | Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {
8
+ static readonly configSchemas: Schema[];
9
+ static readonly defaultConfigSchema: Schema;
10
+ static readonly targetSchema: "network.xyo.xml" & {
11
+ readonly __schema: true;
12
+ };
13
+ protected divineHandler(payloads?: TIn[]): Promise<TOut[]>;
14
+ }
15
+ //# sourceMappingURL=Diviner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAEpF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAEnC,OAAO,EACe,eAAe,EACpC,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAGrD,qBACa,iBAAiB,CAC5B,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,EACjE,GAAG,SAAS,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,EAC/D,IAAI,SAAS,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,OAAO,EAC1C,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACvD,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA0D;IAC1G,gBAAyB,mBAAmB,EAAE,MAAM,CAAgC;IACpF,gBAAyB,YAAY;;MAAY;cAExB,aAAa,CAAC,QAAQ,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;CAI9E"}
@@ -0,0 +1,5 @@
1
+ import type { DivinerParams } from '@xyo-network/diviner-model';
2
+ import type { AnyConfigSchema } from '@xyo-network/module-model';
3
+ import type { XmlParsingDivinerConfig } from './Config.ts';
4
+ export type XmlParsingDivinerParams<TConfig extends AnyConfigSchema<XmlParsingDivinerConfig> = AnyConfigSchema<XmlParsingDivinerConfig>> = DivinerParams<TConfig>;
5
+ //# sourceMappingURL=Params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAEhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,MAAM,uBAAuB,CAAC,OAAO,SAAS,eAAe,CAAC,uBAAuB,CAAC,GAAG,eAAe,CAAC,uBAAuB,CAAC,IACnI,aAAa,CAAC,OAAO,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare const XmlParsingDivinerConfigSchema: "network.xyo.diviner.xml.config" & {
2
+ readonly __schema: true;
3
+ };
4
+ export type XmlParsingDivinerConfigSchema = typeof XmlParsingDivinerConfigSchema;
5
+ //# sourceMappingURL=Schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,6BAA6B;;CAAmD,CAAA;AAC7F,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './Config.ts';
2
+ export * from './Diviner.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Diviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Interface representing an object with a string data field
3
+ */
4
+ export interface StringDataField {
5
+ /**
6
+ * The string data
7
+ */
8
+ data: string;
9
+ }
10
+ /**
11
+ * Identity for StringDataField
12
+ * @param obj The input object
13
+ * @returns True if the object is a StringDataField, false otherwise
14
+ */
15
+ export declare const hasStringDataField: (obj?: unknown) => obj is StringDataField;
16
+ //# sourceMappingURL=StringDataField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringDataField.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/lib/StringDataField.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,OAAO,KAAG,GAAG,IAAI,eAEzD,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './StringDataField.ts';
2
+ export * from './toXml.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,YAAY,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { Xml } from '../../Payload.ts';
2
+ import type { StringDataField } from './StringDataField.ts';
3
+ /**
4
+ * Takes a string data field containing xml and converts it to an XML object
5
+ * @param obj The input object which contains the stringified xml data
6
+ * @returns A promise that resolves to an XML payload
7
+ */
8
+ export declare const toXml: (obj: StringDataField) => Promise<Xml>;
9
+ //# sourceMappingURL=toXml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toXml.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/lib/toXml.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,KAAK,eAAe,KAAG,OAAO,CAAC,GAAG,CAYvD,CAAA"}
@@ -0,0 +1,22 @@
1
+ import type { JsonObject } from '@xylabs/sdk-js';
2
+ import type { Payload } from '@xyo-network/payload-model';
3
+ import { XmlSchema } from './Schema.ts';
4
+ /**
5
+ * The fields of an Xml Payload
6
+ */
7
+ export interface XmlFields {
8
+ xml: JsonObject;
9
+ }
10
+ /**
11
+ * An Xml Payload
12
+ */
13
+ export type Xml = Payload<XmlFields, XmlSchema>;
14
+ /**
15
+ * Identity function for determine if an object is an Xml Payload
16
+ */
17
+ export declare const isXml: (x?: unknown | null) => x is Xml;
18
+ /**
19
+ * Identity function for determine if an object is an Xml Payload with sources
20
+ */
21
+ export declare const isXmlWithSources: (x?: unknown | null) => x is import("@xyo-network/payload-model").WithSources<Xml>;
22
+ //# sourceMappingURL=Payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,UAAU,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,KAAK,kCAAwC,CAAA;AAE1D;;GAEG;AACH,eAAO,MAAM,gBAAgB,oFAAmD,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare const XmlSchema: "network.xyo.xml" & {
2
+ readonly __schema: true;
3
+ };
4
+ export type XmlSchema = typeof XmlSchema;
5
+ //# sourceMappingURL=Schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;CAAoC,CAAA;AAC1D,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './Diviner/index.ts';
2
+ export * from './Payload.ts';
3
+ export * from './Schema.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
@@ -0,0 +1,74 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __reflectGet = Reflect.get;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __decorateClass = (decorators, target, key, kind) => {
7
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
8
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
9
+ if (decorator = decorators[i])
10
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
11
+ if (kind && result) __defProp(target, key, result);
12
+ return result;
13
+ };
14
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
15
+ var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
16
+
17
+ // src/Diviner/Diviner.ts
18
+ import { AbstractDiviner } from "@xyo-network/diviner-abstract";
19
+ import { creatableModule } from "@xyo-network/module-model";
20
+
21
+ // src/Schema.ts
22
+ import { asSchema } from "@xyo-network/payload-model";
23
+ var XmlSchema = asSchema("network.xyo.xml", true);
24
+
25
+ // src/Diviner/lib/StringDataField.ts
26
+ var hasStringDataField = (obj) => {
27
+ return typeof obj === "object" && obj !== null && "data" in obj && typeof obj?.data === "string";
28
+ };
29
+
30
+ // src/Diviner/lib/toXml.ts
31
+ import { Parser } from "xml2js";
32
+ var toXml = (obj) => {
33
+ const parser = new Parser();
34
+ return new Promise((resolve, reject) => {
35
+ parser.parseString(obj.data, (err, result) => {
36
+ if (err) {
37
+ reject(err);
38
+ } else {
39
+ const xml = { schema: XmlSchema, xml: result };
40
+ resolve(xml);
41
+ }
42
+ });
43
+ });
44
+ };
45
+
46
+ // src/Diviner/Schema.ts
47
+ import { asSchema as asSchema2 } from "@xyo-network/payload-model";
48
+ var XmlParsingDivinerConfigSchema = asSchema2("network.xyo.diviner.xml.config", true);
49
+
50
+ // src/Diviner/Diviner.ts
51
+ var XmlParsingDiviner = class extends AbstractDiviner {
52
+ async divineHandler(payloads = []) {
53
+ const results = await Promise.all(payloads.filter(hasStringDataField).map(toXml));
54
+ return results;
55
+ }
56
+ };
57
+ __publicField(XmlParsingDiviner, "configSchemas", [...__superGet(XmlParsingDiviner, XmlParsingDiviner, "configSchemas"), XmlParsingDivinerConfigSchema]);
58
+ __publicField(XmlParsingDiviner, "defaultConfigSchema", XmlParsingDivinerConfigSchema);
59
+ __publicField(XmlParsingDiviner, "targetSchema", XmlSchema);
60
+ XmlParsingDiviner = __decorateClass([
61
+ creatableModule()
62
+ ], XmlParsingDiviner);
63
+
64
+ // src/Payload.ts
65
+ import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithSources } from "@xyo-network/payload-model";
66
+ var isXml = isPayloadOfSchemaType(XmlSchema);
67
+ var isXmlWithSources = isPayloadOfSchemaTypeWithSources(XmlSchema);
68
+ export {
69
+ XmlParsingDiviner,
70
+ XmlSchema,
71
+ isXml,
72
+ isXmlWithSources
73
+ };
74
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Diviner/Diviner.ts","../../src/Schema.ts","../../src/Diviner/lib/StringDataField.ts","../../src/Diviner/lib/toXml.ts","../../src/Diviner/Schema.ts","../../src/Payload.ts"],"sourcesContent":["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { creatableModule } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nimport { Xml } from '../Payload.ts'\nimport { XmlSchema } from '../Schema.ts'\nimport {\n hasStringDataField, StringDataField, toXml,\n} from './lib/index.ts'\nimport { XmlParsingDivinerParams } from './Params.ts'\nimport { XmlParsingDivinerConfigSchema } from './Schema.ts'\n\n@creatableModule()\nexport class XmlParsingDiviner<\n TParams extends XmlParsingDivinerParams = XmlParsingDivinerParams,\n TIn extends Payload<StringDataField> = Payload<StringDataField>,\n TOut extends Xml | Payload = Xml | 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, XmlParsingDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = XmlParsingDivinerConfigSchema\n static override readonly targetSchema = XmlSchema\n\n protected override async divineHandler(payloads: TIn[] = []): Promise<TOut[]> {\n const results = await Promise.all(payloads.filter(hasStringDataField).map(toXml))\n return results as TOut[]\n }\n}\n","import { asSchema } from '@xyo-network/payload-model'\n\nexport const XmlSchema = asSchema('network.xyo.xml', true)\nexport type XmlSchema = typeof XmlSchema\n","/**\n * Interface representing an object with a string data field\n */\nexport interface StringDataField {\n /**\n * The string data\n */\n data: string\n}\n\n/**\n * Identity for StringDataField\n * @param obj The input object\n * @returns True if the object is a StringDataField, false otherwise\n */\nexport const hasStringDataField = (obj?: unknown): obj is StringDataField => {\n return typeof obj === 'object' && obj !== null && 'data' in obj && typeof (obj as StringDataField)?.data === 'string'\n}\n","import { Parser } from 'xml2js'\n\nimport type { Xml } from '../../Payload.ts'\nimport { XmlSchema } from '../../Schema.ts'\nimport type { StringDataField } from './StringDataField.ts'\n\n/**\n * Takes a string data field containing xml and converts it to an XML object\n * @param obj The input object which contains the stringified xml data\n * @returns A promise that resolves to an XML payload\n */\nexport const toXml = (obj: StringDataField): Promise<Xml> => {\n const parser = new Parser()\n return new Promise<Xml>((resolve, reject) => {\n parser.parseString(obj.data, (err, result) => {\n if (err) {\n reject(err)\n } else {\n const xml = { schema: XmlSchema, xml: result } as const\n resolve(xml)\n }\n })\n })\n}\n","import { asSchema } from '@xyo-network/payload-model'\n\nexport const XmlParsingDivinerConfigSchema = asSchema('network.xyo.diviner.xml.config', true)\nexport type XmlParsingDivinerConfigSchema = typeof XmlParsingDivinerConfigSchema\n","import type { JsonObject } from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithSources } from '@xyo-network/payload-model'\n\nimport { XmlSchema } from './Schema.ts'\n\n/**\n * The fields of an Xml Payload\n */\nexport interface XmlFields {\n xml: JsonObject\n}\n\n/**\n * An Xml Payload\n */\nexport type Xml = Payload<XmlFields, XmlSchema>\n\n/**\n * Identity function for determine if an object is an Xml Payload\n */\nexport const isXml = isPayloadOfSchemaType<Xml>(XmlSchema)\n\n/**\n * Identity function for determine if an object is an Xml Payload with sources\n */\nexport const isXmlWithSources = isPayloadOfSchemaTypeWithSources<Xml>(XmlSchema)\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,SAAS,uBAAuB;AAEhC,SAAS,uBAAuB;;;ACFhC,SAAS,gBAAgB;AAElB,IAAM,YAAY,SAAS,mBAAmB,IAAI;;;ACalD,IAAM,qBAAqB,CAAC,QAA0C;AAC3E,SAAO,OAAO,QAAQ,YAAY,QAAQ,QAAQ,UAAU,OAAO,OAAQ,KAAyB,SAAS;AAC/G;;;ACjBA,SAAS,cAAc;AAWhB,IAAM,QAAQ,CAAC,QAAuC;AAC3D,QAAM,SAAS,IAAI,OAAO;AAC1B,SAAO,IAAI,QAAa,CAAC,SAAS,WAAW;AAC3C,WAAO,YAAY,IAAI,MAAM,CAAC,KAAK,WAAW;AAC5C,UAAI,KAAK;AACP,eAAO,GAAG;AAAA,MACZ,OAAO;AACL,cAAM,MAAM,EAAE,QAAQ,WAAW,KAAK,OAAO;AAC7C,gBAAQ,GAAG;AAAA,MACb;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;;;ACvBA,SAAS,YAAAA,iBAAgB;AAElB,IAAM,gCAAgCA,UAAS,kCAAkC,IAAI;;;AJYrF,IAAM,oBAAN,cASG,gBAAgD;AAAA,EAKxD,MAAyB,cAAc,WAAkB,CAAC,GAAoB;AAC5E,UAAM,UAAU,MAAM,QAAQ,IAAI,SAAS,OAAO,kBAAkB,EAAE,IAAI,KAAK,CAAC;AAChF,WAAO;AAAA,EACT;AACF;AARE,cAVW,mBAUc,iBAA0B,CAAC,GAAG,iDAAM,kBAAe,6BAA6B;AACzG,cAXW,mBAWc,uBAA8B;AACvD,cAZW,mBAYc,gBAAe;AAZ7B,oBAAN;AAAA,EADN,gBAAgB;AAAA,GACJ;;;AKZb,SAAS,uBAAuB,wCAAwC;AAmBjE,IAAM,QAAQ,sBAA2B,SAAS;AAKlD,IAAM,mBAAmB,iCAAsC,SAAS;","names":["asSchema"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/xml-plugin",
3
- "version": "5.3.2",
3
+ "version": "5.3.3",
4
4
  "description": "Typescript/Javascript Plugins for XYO Platform",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -30,19 +30,17 @@
30
30
  "types": "dist/neutral/index.d.ts",
31
31
  "files": [
32
32
  "dist",
33
- "src",
34
- "!**/*.bench.*",
35
- "!**/*.spec.*",
36
- "!**/*.test.*"
33
+ "README.md"
37
34
  ],
38
35
  "devDependencies": {
39
36
  "@types/xml2js": "~0.4.14",
40
37
  "@xylabs/sdk-js": "^5.0.90",
38
+ "@xylabs/ts-scripts-common": "~7.5.10",
41
39
  "@xylabs/ts-scripts-yarn3": "~7.5.10",
42
40
  "@xylabs/tsconfig": "~7.5.10",
43
41
  "@xylabs/vitest-extended": "~5.0.90",
44
42
  "@xylabs/vitest-matchers": "~5.0.90",
45
- "@xyo-network/api-call-witness": "5.3.2",
43
+ "@xyo-network/api-call-witness": "5.3.3",
46
44
  "@xyo-network/diviner-abstract": "~5.3.5",
47
45
  "@xyo-network/diviner-model": "~5.3.5",
48
46
  "@xyo-network/module-model": "~5.3.5",
@@ -54,6 +52,11 @@
54
52
  },
55
53
  "peerDependencies": {
56
54
  "@xylabs/sdk-js": "^5",
55
+ "@xyo-network/diviner-abstract": "^5",
56
+ "@xyo-network/diviner-model": "^5",
57
+ "@xyo-network/module-model": "^5",
58
+ "@xyo-network/payload-model": "^5",
59
+ "xml2js": "^0",
57
60
  "zod": "^4"
58
61
  },
59
62
  "publishConfig": {
@@ -1,10 +0,0 @@
1
- import type { DivinerConfig } from '@xyo-network/diviner-model'
2
-
3
- import type { XmlParsingDivinerConfigSchema } from './Schema.ts'
4
-
5
- export type XmlParsingDivinerConfig = DivinerConfig<
6
- {
7
- //
8
- },
9
- XmlParsingDivinerConfigSchema
10
- >
@@ -1,33 +0,0 @@
1
- import { AbstractDiviner } from '@xyo-network/diviner-abstract'
2
- import { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'
3
- import { creatableModule } from '@xyo-network/module-model'
4
- import { Payload, Schema } from '@xyo-network/payload-model'
5
-
6
- import { Xml } from '../Payload.ts'
7
- import { XmlSchema } from '../Schema.ts'
8
- import {
9
- hasStringDataField, StringDataField, toXml,
10
- } from './lib/index.ts'
11
- import { XmlParsingDivinerParams } from './Params.ts'
12
- import { XmlParsingDivinerConfigSchema } from './Schema.ts'
13
-
14
- @creatableModule()
15
- export class XmlParsingDiviner<
16
- TParams extends XmlParsingDivinerParams = XmlParsingDivinerParams,
17
- TIn extends Payload<StringDataField> = Payload<StringDataField>,
18
- TOut extends Xml | Payload = Xml | Payload,
19
- TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<
20
- DivinerInstance<TParams, TIn, TOut>,
21
- TIn,
22
- TOut
23
- >,
24
- > extends AbstractDiviner<TParams, TIn, TOut, TEventData> {
25
- static override readonly configSchemas: Schema[] = [...super.configSchemas, XmlParsingDivinerConfigSchema]
26
- static override readonly defaultConfigSchema: Schema = XmlParsingDivinerConfigSchema
27
- static override readonly targetSchema = XmlSchema
28
-
29
- protected override async divineHandler(payloads: TIn[] = []): Promise<TOut[]> {
30
- const results = await Promise.all(payloads.filter(hasStringDataField).map(toXml))
31
- return results as TOut[]
32
- }
33
- }
@@ -1,7 +0,0 @@
1
- import type { DivinerParams } from '@xyo-network/diviner-model'
2
- import type { AnyConfigSchema } from '@xyo-network/module-model'
3
-
4
- import type { XmlParsingDivinerConfig } from './Config.ts'
5
-
6
- export type XmlParsingDivinerParams<TConfig extends AnyConfigSchema<XmlParsingDivinerConfig> = AnyConfigSchema<XmlParsingDivinerConfig>>
7
- = DivinerParams<TConfig>
@@ -1,4 +0,0 @@
1
- import { asSchema } from '@xyo-network/payload-model'
2
-
3
- export const XmlParsingDivinerConfigSchema = asSchema('network.xyo.diviner.xml.config', true)
4
- export type XmlParsingDivinerConfigSchema = typeof XmlParsingDivinerConfigSchema
@@ -1,2 +0,0 @@
1
- export * from './Config.ts'
2
- export * from './Diviner.ts'
@@ -1,18 +0,0 @@
1
- /**
2
- * Interface representing an object with a string data field
3
- */
4
- export interface StringDataField {
5
- /**
6
- * The string data
7
- */
8
- data: string
9
- }
10
-
11
- /**
12
- * Identity for StringDataField
13
- * @param obj The input object
14
- * @returns True if the object is a StringDataField, false otherwise
15
- */
16
- export const hasStringDataField = (obj?: unknown): obj is StringDataField => {
17
- return typeof obj === 'object' && obj !== null && 'data' in obj && typeof (obj as StringDataField)?.data === 'string'
18
- }
@@ -1,2 +0,0 @@
1
- export * from './StringDataField.ts'
2
- export * from './toXml.ts'
@@ -1,24 +0,0 @@
1
- import { Parser } from 'xml2js'
2
-
3
- import type { Xml } from '../../Payload.ts'
4
- import { XmlSchema } from '../../Schema.ts'
5
- import type { StringDataField } from './StringDataField.ts'
6
-
7
- /**
8
- * Takes a string data field containing xml and converts it to an XML object
9
- * @param obj The input object which contains the stringified xml data
10
- * @returns A promise that resolves to an XML payload
11
- */
12
- export const toXml = (obj: StringDataField): Promise<Xml> => {
13
- const parser = new Parser()
14
- return new Promise<Xml>((resolve, reject) => {
15
- parser.parseString(obj.data, (err, result) => {
16
- if (err) {
17
- reject(err)
18
- } else {
19
- const xml = { schema: XmlSchema, xml: result } as const
20
- resolve(xml)
21
- }
22
- })
23
- })
24
- }
package/src/Payload.ts DELETED
@@ -1,27 +0,0 @@
1
- import type { JsonObject } from '@xylabs/sdk-js'
2
- import type { Payload } from '@xyo-network/payload-model'
3
- import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithSources } from '@xyo-network/payload-model'
4
-
5
- import { XmlSchema } from './Schema.ts'
6
-
7
- /**
8
- * The fields of an Xml Payload
9
- */
10
- export interface XmlFields {
11
- xml: JsonObject
12
- }
13
-
14
- /**
15
- * An Xml Payload
16
- */
17
- export type Xml = Payload<XmlFields, XmlSchema>
18
-
19
- /**
20
- * Identity function for determine if an object is an Xml Payload
21
- */
22
- export const isXml = isPayloadOfSchemaType<Xml>(XmlSchema)
23
-
24
- /**
25
- * Identity function for determine if an object is an Xml Payload with sources
26
- */
27
- export const isXmlWithSources = isPayloadOfSchemaTypeWithSources<Xml>(XmlSchema)
package/src/Schema.ts DELETED
@@ -1,4 +0,0 @@
1
- import { asSchema } from '@xyo-network/payload-model'
2
-
3
- export const XmlSchema = asSchema('network.xyo.xml', true)
4
- export type XmlSchema = typeof XmlSchema
package/src/index.ts DELETED
@@ -1,3 +0,0 @@
1
- export * from './Diviner/index.ts'
2
- export * from './Payload.ts'
3
- export * from './Schema.ts'