@bizone-ai/json-transform 1.15.0 → 1.16.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.
- package/README.md +1 -1
- package/dist/__tests__/JsonTransformer.test.js +1 -1
- package/dist/functions/TransformerFunctionXml.d.ts.map +1 -1
- package/dist/functions/TransformerFunctionXml.js +14 -27
- package/dist/functions/TransformerFunctionXml.js.map +1 -1
- package/dist/functions/TransformerFunctionXmlParse.d.ts.map +1 -1
- package/dist/functions/TransformerFunctionXmlParse.js +29 -16
- package/dist/functions/TransformerFunctionXmlParse.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -342,7 +342,7 @@ const FunctionHelpers_1 = require("../functions/common/FunctionHelpers");
|
|
|
342
342
|
first_name: "John",
|
|
343
343
|
last_name: "Doe",
|
|
344
344
|
date_of_birth: "1980-01-01",
|
|
345
|
-
}, "$$math('$$math(\\'$$date(EPOCH):#now\\',-,\\'$$date(EPOCH):$.date_of_birth\\')',//,'$$math(365,*,\\'$$math(24,*,3600)\\')')",
|
|
345
|
+
}, "$$math('$$math(\\'$$date(EPOCH):#now\\',-,\\'$$date(EPOCH):$.date_of_birth\\')',//,'$$math(365,*,\\'$$math(24,*,3600)\\')')", 46);
|
|
346
346
|
});
|
|
347
347
|
});
|
|
348
348
|
//# sourceMappingURL=JsonTransformer.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransformerFunctionXml.d.ts","sourceRoot":"","sources":["../../src/functions/TransformerFunctionXml.ts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,eAAe,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"TransformerFunctionXml.d.ts","sourceRoot":"","sources":["../../src/functions/TransformerFunctionXml.ts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,eAAe,MAAM,0BAA0B,CAAC;AAGvD,cAAM,sBAAuB,SAAQ,mBAAmB;;IAYvC,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;CAsB7D;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -3,17 +3,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
6
|
+
const fast_xml_builder_1 = __importDefault(require("fast-xml-builder"));
|
|
7
7
|
const TransformerFunction_1 = __importDefault(require("./common/TransformerFunction"));
|
|
8
8
|
const ArgType_1 = require("./common/ArgType");
|
|
9
|
-
const DUMMY_ROOT = "R__O__O__T";
|
|
10
9
|
class TransformerFunctionXml extends TransformerFunction_1.default {
|
|
11
10
|
constructor() {
|
|
12
11
|
super({
|
|
13
12
|
argsSet: [
|
|
14
13
|
{ name: "root", type: ArgType_1.ArgType.String },
|
|
15
|
-
{ name: "xslt", type: ArgType_1.ArgType.String },
|
|
16
14
|
{ name: "indent", type: ArgType_1.ArgType.Boolean, defaultValue: false },
|
|
15
|
+
{ name: "attr_prefix", type: ArgType_1.ArgType.String, defaultValue: "@" },
|
|
16
|
+
{ name: "cdata_prop_name", type: ArgType_1.ArgType.String, defaultValue: "#text" },
|
|
17
17
|
],
|
|
18
18
|
});
|
|
19
19
|
}
|
|
@@ -22,32 +22,19 @@ class TransformerFunctionXml extends TransformerFunction_1.default {
|
|
|
22
22
|
if (obj == null)
|
|
23
23
|
return null;
|
|
24
24
|
try {
|
|
25
|
-
const rootName = (await context.getString("root")) ??
|
|
25
|
+
const rootName = (await context.getString("root")) ?? undefined;
|
|
26
26
|
const indent = (await context.getBoolean("indent")) ?? undefined;
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
},
|
|
27
|
+
const attrPrefix = (await context.getString("attr_prefix")) ?? undefined;
|
|
28
|
+
const cDataPropName = (await context.getString("cdata_prop_name")) ?? undefined;
|
|
29
|
+
const builder = new fast_xml_builder_1.default({
|
|
30
|
+
arrayNodeName: rootName,
|
|
31
|
+
attributeNamePrefix: attrPrefix,
|
|
32
|
+
ignoreAttributes: false,
|
|
33
|
+
cdataPropName: cDataPropName,
|
|
34
|
+
format: indent,
|
|
35
|
+
suppressEmptyNode: true,
|
|
37
36
|
});
|
|
38
|
-
|
|
39
|
-
if (rootName === DUMMY_ROOT) {
|
|
40
|
-
xml = xml.slice(DUMMY_ROOT.length + 2, -DUMMY_ROOT.length - 3);
|
|
41
|
-
}
|
|
42
|
-
if (indent) {
|
|
43
|
-
// remove new line after xmldec
|
|
44
|
-
xml = xml.replace("?>\n", "?>") + "\n";
|
|
45
|
-
}
|
|
46
|
-
const xslt = await context.getString("xslt");
|
|
47
|
-
if (xslt != null && xslt !== "") {
|
|
48
|
-
throw new Error("XSLT not supported"); // TODO: add XSLT support
|
|
49
|
-
}
|
|
50
|
-
return xml;
|
|
37
|
+
return builder.build(rootName ? [obj] : obj);
|
|
51
38
|
}
|
|
52
39
|
catch (e) {
|
|
53
40
|
console.warn(context.getAlias() + " failed", e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransformerFunctionXml.js","sourceRoot":"","sources":["../../src/functions/TransformerFunctionXml.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"TransformerFunctionXml.js","sourceRoot":"","sources":["../../src/functions/TransformerFunctionXml.ts"],"names":[],"mappings":";;;;;AAAA,wEAA0C;AAC1C,uFAA+D;AAE/D,8CAA2C;AAE3C,MAAM,sBAAuB,SAAQ,6BAAmB;IACtD;QACE,KAAK,CAAC;YACJ,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAO,CAAC,MAAM,EAAE;gBACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAO,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE;gBAC9D,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAO,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE;gBAChE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAO,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE;aACzE;SACF,CAAC,CAAC;IACL,CAAC;IAEQ,KAAK,CAAC,KAAK,CAAC,OAAwB;QAC3C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,SAAS,CAAC;YAChE,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,SAAS,CAAC;YACjE,MAAM,UAAU,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,IAAI,SAAS,CAAC;YACzE,MAAM,aAAa,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,IAAI,SAAS,CAAC;YAChF,MAAM,OAAO,GAAG,IAAI,0BAAU,CAAC;gBAC7B,aAAa,EAAE,QAAQ;gBACvB,mBAAmB,EAAE,UAAU;gBAC/B,gBAAgB,EAAE,KAAK;gBACvB,aAAa,EAAE,aAAa;gBAC5B,MAAM,EAAE,MAAM;gBACd,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAED,kBAAe,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransformerFunctionXmlParse.d.ts","sourceRoot":"","sources":["../../src/functions/TransformerFunctionXmlParse.ts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,eAAe,MAAM,0BAA0B,CAAC;AAGvD,cAAM,2BAA4B,SAAQ,mBAAmB;;IAY5C,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"TransformerFunctionXmlParse.d.ts","sourceRoot":"","sources":["../../src/functions/TransformerFunctionXmlParse.ts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,eAAe,MAAM,0BAA0B,CAAC;AAGvD,cAAM,2BAA4B,SAAQ,mBAAmB;;IAY5C,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;CAqC7D;AAED,eAAe,2BAA2B,CAAC"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
6
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
7
7
|
const TransformerFunction_1 = __importDefault(require("./common/TransformerFunction"));
|
|
8
8
|
const ArgType_1 = require("./common/ArgType");
|
|
9
9
|
class TransformerFunctionXmlParse extends TransformerFunction_1.default {
|
|
@@ -11,9 +11,9 @@ class TransformerFunctionXmlParse extends TransformerFunction_1.default {
|
|
|
11
11
|
super({
|
|
12
12
|
argsSet: [
|
|
13
13
|
{ name: "keep_strings", type: ArgType_1.ArgType.Boolean, defaultValue: false },
|
|
14
|
-
{ name: "
|
|
15
|
-
{ name: "
|
|
16
|
-
{ name: "
|
|
14
|
+
{ name: "attr_prefix", type: ArgType_1.ArgType.String, defaultValue: "@" },
|
|
15
|
+
{ name: "cdata_prop_name", type: ArgType_1.ArgType.String, defaultValue: "#text" },
|
|
16
|
+
{ name: "array_tags", type: ArgType_1.ArgType.Array },
|
|
17
17
|
],
|
|
18
18
|
});
|
|
19
19
|
}
|
|
@@ -23,18 +23,31 @@ class TransformerFunctionXmlParse extends TransformerFunction_1.default {
|
|
|
23
23
|
return null;
|
|
24
24
|
try {
|
|
25
25
|
const keepStrings = (await context.getBoolean("keep_strings")) ?? undefined;
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
26
|
+
const attrPrefix = (await context.getString("attr_prefix")) ?? undefined;
|
|
27
|
+
const cDataTagName = (await context.getString("cdata_prop_name")) ?? undefined;
|
|
28
|
+
const arrayTags = (await context.getJsonArray("array_tags")) ?? undefined;
|
|
29
|
+
const options = {
|
|
30
|
+
attributeNamePrefix: attrPrefix,
|
|
31
|
+
allowBooleanAttributes: true,
|
|
32
|
+
ignoreAttributes: false,
|
|
33
|
+
textNodeName: cDataTagName,
|
|
34
|
+
parseTagValue: !keepStrings,
|
|
35
|
+
parseAttributeValue: !keepStrings,
|
|
36
|
+
maxNestedTags: 256,
|
|
37
|
+
};
|
|
38
|
+
if (arrayTags?.length) {
|
|
39
|
+
const tagsSet = new Set(arrayTags);
|
|
40
|
+
options.isArray = x => tagsSet.has(x);
|
|
41
|
+
}
|
|
42
|
+
// if (!keepStrings) {
|
|
43
|
+
// options.attributeValueProcessor = (_attrName, attrValue) => {
|
|
44
|
+
// console.log("attrValue", attrValue);
|
|
45
|
+
// if (attrValue === "true") return true;
|
|
46
|
+
// if (attrValue === "false") return false;
|
|
47
|
+
// return attrValue;
|
|
48
|
+
// };
|
|
49
|
+
// }
|
|
50
|
+
return new fast_xml_parser_1.XMLParser(options).parse(xml);
|
|
38
51
|
}
|
|
39
52
|
catch (e) {
|
|
40
53
|
console.warn(context.getAlias() + " failed", e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransformerFunctionXmlParse.js","sourceRoot":"","sources":["../../src/functions/TransformerFunctionXmlParse.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"TransformerFunctionXmlParse.js","sourceRoot":"","sources":["../../src/functions/TransformerFunctionXmlParse.ts"],"names":[],"mappings":";;;;;AAAA,qDAAwD;AACxD,uFAA+D;AAE/D,8CAA2C;AAE3C,MAAM,2BAA4B,SAAQ,6BAAmB;IAC3D;QACE,KAAK,CAAC;YACJ,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAO,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE;gBACpE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAO,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE;gBAChE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAO,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE;gBACxE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAO,CAAC,KAAK,EAAE;aAC5C;SACF,CAAC,CAAC;IACL,CAAC;IAEQ,KAAK,CAAC,KAAK,CAAC,OAAwB;QAC3C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,IAAI,SAAS,CAAC;YAC5E,MAAM,UAAU,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,IAAI,SAAS,CAAC;YACzE,MAAM,YAAY,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,IAAI,SAAS,CAAC;YAC/E,MAAM,SAAS,GAAG,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,SAAS,CAAC;YAE1E,MAAM,OAAO,GAAG;gBACd,mBAAmB,EAAE,UAAU;gBAC/B,sBAAsB,EAAE,IAAI;gBAC5B,gBAAgB,EAAE,KAAK;gBACvB,YAAY,EAAE,YAAY;gBAC1B,aAAa,EAAE,CAAC,WAAW;gBAC3B,mBAAmB,EAAE,CAAC,WAAW;gBACjC,aAAa,EAAE,GAAG;aACL,CAAC;YAChB,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;gBACnC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,sBAAsB;YACtB,kEAAkE;YAClE,2CAA2C;YAC3C,6CAA6C;YAC7C,+CAA+C;YAC/C,wBAAwB;YACxB,OAAO;YACP,IAAI;YAEJ,OAAO,IAAI,2BAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAED,kBAAe,2BAA2B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bizone-ai/json-transform",
|
|
3
3
|
"description": "JSON transformers JavaScript implementation",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.16.0",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"source": "src/index.ts",
|
|
7
7
|
"exports": "./dist/index.js",
|
|
@@ -47,10 +47,10 @@
|
|
|
47
47
|
"@date-fns/tz": "^1.2.0",
|
|
48
48
|
"date-fns": "^4.1.0",
|
|
49
49
|
"fast-json-patch": "^3.1.1",
|
|
50
|
+
"fast-xml-parser": ">=6",
|
|
50
51
|
"js-yaml": "^4.1.0",
|
|
51
52
|
"json-pointer": "^0.6.2",
|
|
52
|
-
"uuid": ">=8"
|
|
53
|
-
"xml2js": "^0.6.2"
|
|
53
|
+
"uuid": ">=8"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@bizone-ai/json-schema-utils": "^1.1.0",
|
|
@@ -67,6 +67,7 @@
|
|
|
67
67
|
"date-fns": "^4.1.0",
|
|
68
68
|
"fast-json-patch": "^3.1.1",
|
|
69
69
|
"fast-json-stable-stringify": "^2.1.0",
|
|
70
|
+
"fast-xml-parser": "^5.5.5",
|
|
70
71
|
"js-yaml": "^4.1.1",
|
|
71
72
|
"json-pointer": "^0.6.2",
|
|
72
73
|
"lossless-json": "^4.0.2",
|
|
@@ -75,7 +76,6 @@
|
|
|
75
76
|
"ts-node": "^10.9.2",
|
|
76
77
|
"typescript": "^5.3.3",
|
|
77
78
|
"uuid": "^13.0.0",
|
|
78
|
-
"vitest": "3.0.5"
|
|
79
|
-
"xml2js": "^0.6.2"
|
|
79
|
+
"vitest": "3.0.5"
|
|
80
80
|
}
|
|
81
81
|
}
|