@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.
- package/dist/neutral/Diviner/Config.d.ts +4 -0
- package/dist/neutral/Diviner/Config.d.ts.map +1 -0
- package/dist/neutral/Diviner/Diviner.d.ts +15 -0
- package/dist/neutral/Diviner/Diviner.d.ts.map +1 -0
- package/dist/neutral/Diviner/Params.d.ts +5 -0
- package/dist/neutral/Diviner/Params.d.ts.map +1 -0
- package/dist/neutral/Diviner/Schema.d.ts +5 -0
- package/dist/neutral/Diviner/Schema.d.ts.map +1 -0
- package/dist/neutral/Diviner/index.d.ts +3 -0
- package/dist/neutral/Diviner/index.d.ts.map +1 -0
- package/dist/neutral/Diviner/lib/StringDataField.d.ts +16 -0
- package/dist/neutral/Diviner/lib/StringDataField.d.ts.map +1 -0
- package/dist/neutral/Diviner/lib/index.d.ts +3 -0
- package/dist/neutral/Diviner/lib/index.d.ts.map +1 -0
- package/dist/neutral/Diviner/lib/toXml.d.ts +9 -0
- package/dist/neutral/Diviner/lib/toXml.d.ts.map +1 -0
- package/dist/neutral/Payload.d.ts +22 -0
- package/dist/neutral/Payload.d.ts.map +1 -0
- package/dist/neutral/Schema.d.ts +5 -0
- package/dist/neutral/Schema.d.ts.map +1 -0
- package/dist/neutral/index.d.ts +4 -0
- package/dist/neutral/index.d.ts.map +1 -0
- package/dist/neutral/index.mjs +74 -0
- package/dist/neutral/index.mjs.map +1 -0
- package/package.json +9 -6
- package/src/Diviner/Config.ts +0 -10
- package/src/Diviner/Diviner.ts +0 -33
- package/src/Diviner/Params.ts +0 -7
- package/src/Diviner/Schema.ts +0 -4
- package/src/Diviner/index.ts +0 -2
- package/src/Diviner/lib/StringDataField.ts +0 -18
- package/src/Diviner/lib/index.ts +0 -2
- package/src/Diviner/lib/toXml.ts +0 -24
- package/src/Payload.ts +0 -27
- package/src/Schema.ts +0 -4
- package/src/index.ts +0 -3
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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.
|
|
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
|
-
"
|
|
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.
|
|
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": {
|
package/src/Diviner/Config.ts
DELETED
package/src/Diviner/Diviner.ts
DELETED
|
@@ -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
|
-
}
|
package/src/Diviner/Params.ts
DELETED
|
@@ -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>
|
package/src/Diviner/Schema.ts
DELETED
package/src/Diviner/index.ts
DELETED
|
@@ -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
|
-
}
|
package/src/Diviner/lib/index.ts
DELETED
package/src/Diviner/lib/toXml.ts
DELETED
|
@@ -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
package/src/index.ts
DELETED