@apiconvert/core 0.2.0 → 1.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.
- package/README.md +60 -268
- package/dist/condition-expression-evaluator.d.ts +4 -0
- package/dist/condition-expression-evaluator.d.ts.map +1 -0
- package/dist/condition-expression-evaluator.js +63 -0
- package/dist/condition-expression-evaluator.js.map +1 -0
- package/dist/condition-expression-parser.d.ts +26 -0
- package/dist/condition-expression-parser.d.ts.map +1 -0
- package/dist/condition-expression-parser.js +191 -0
- package/dist/condition-expression-parser.js.map +1 -0
- package/dist/condition-expression-tokenizer.d.ts +3 -0
- package/dist/condition-expression-tokenizer.d.ts.map +1 -0
- package/dist/condition-expression-tokenizer.js +103 -0
- package/dist/condition-expression-tokenizer.js.map +1 -0
- package/dist/condition-expression-types.d.ts +29 -0
- package/dist/condition-expression-types.d.ts.map +1 -0
- package/dist/condition-expression-types.js +3 -0
- package/dist/condition-expression-types.js.map +1 -0
- package/dist/condition-expression.d.ts +9 -0
- package/dist/condition-expression.d.ts.map +1 -0
- package/dist/condition-expression.js +16 -0
- package/dist/condition-expression.js.map +1 -0
- package/dist/core-utils.d.ts +11 -0
- package/dist/core-utils.d.ts.map +1 -0
- package/dist/core-utils.js +126 -0
- package/dist/core-utils.js.map +1 -0
- package/dist/index.d.ts +5 -99
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +31 -729
- package/dist/index.js.map +1 -1
- package/dist/mapping-engine.d.ts +3 -0
- package/dist/mapping-engine.d.ts.map +1 -0
- package/dist/mapping-engine.js +18 -0
- package/dist/mapping-engine.js.map +1 -0
- package/dist/payload-converter.d.ts +7 -0
- package/dist/payload-converter.d.ts.map +1 -0
- package/dist/payload-converter.js +37 -0
- package/dist/payload-converter.js.map +1 -0
- package/dist/query-payload.d.ts +3 -0
- package/dist/query-payload.d.ts.map +1 -0
- package/dist/query-payload.js +183 -0
- package/dist/query-payload.js.map +1 -0
- package/dist/rule-executor.d.ts +3 -0
- package/dist/rule-executor.d.ts.map +1 -0
- package/dist/rule-executor.js +108 -0
- package/dist/rule-executor.js.map +1 -0
- package/dist/rules-normalizer.d.ts +3 -0
- package/dist/rules-normalizer.d.ts.map +1 -0
- package/dist/rules-normalizer.js +158 -0
- package/dist/rules-normalizer.js.map +1 -0
- package/dist/source-resolver.d.ts +4 -0
- package/dist/source-resolver.d.ts.map +1 -0
- package/dist/source-resolver.js +155 -0
- package/dist/source-resolver.js.map +1 -0
- package/dist/types.d.ts +97 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +33 -0
- package/dist/types.js.map +1 -0
- package/dist/xml-payload.d.ts +3 -0
- package/dist/xml-payload.d.ts.map +1 -0
- package/dist/xml-payload.js +61 -0
- package/dist/xml-payload.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tokenizeConditionExpression = tokenizeConditionExpression;
|
|
4
|
+
function tokenizeConditionExpression(expression) {
|
|
5
|
+
const tokens = [];
|
|
6
|
+
let index = 0;
|
|
7
|
+
while (index < expression.length) {
|
|
8
|
+
const current = expression[index];
|
|
9
|
+
if (/\s/.test(current)) {
|
|
10
|
+
index += 1;
|
|
11
|
+
continue;
|
|
12
|
+
}
|
|
13
|
+
if (current === "'") {
|
|
14
|
+
const parsed = readQuotedConditionString(expression, index);
|
|
15
|
+
tokens.push({ type: "string", text: parsed.value, position: index });
|
|
16
|
+
index = parsed.nextIndex;
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
if (/\d/.test(current) || (current === "." && index + 1 < expression.length && /\d/.test(expression[index + 1]))) {
|
|
20
|
+
const start = index;
|
|
21
|
+
index += 1;
|
|
22
|
+
while (index < expression.length && /[\d.]/.test(expression[index])) {
|
|
23
|
+
index += 1;
|
|
24
|
+
}
|
|
25
|
+
tokens.push({ type: "number", text: expression.slice(start, index), position: start });
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
const twoChar = expression.slice(index, index + 2);
|
|
29
|
+
if (["&&", "||", "==", "!=", ">=", "<="].includes(twoChar)) {
|
|
30
|
+
tokens.push({ type: "operator", text: twoChar, position: index });
|
|
31
|
+
index += 2;
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (["!", ">", "<"].includes(current)) {
|
|
35
|
+
tokens.push({ type: "operator", text: current, position: index });
|
|
36
|
+
index += 1;
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
if (current === "(") {
|
|
40
|
+
tokens.push({ type: "leftParen", text: current, position: index });
|
|
41
|
+
index += 1;
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
if (current === ")") {
|
|
45
|
+
tokens.push({ type: "rightParen", text: current, position: index });
|
|
46
|
+
index += 1;
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
if (current === "[") {
|
|
50
|
+
tokens.push({ type: "leftBracket", text: current, position: index });
|
|
51
|
+
index += 1;
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (current === "]") {
|
|
55
|
+
tokens.push({ type: "rightBracket", text: current, position: index });
|
|
56
|
+
index += 1;
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if (current === ",") {
|
|
60
|
+
tokens.push({ type: "comma", text: current, position: index });
|
|
61
|
+
index += 1;
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (isConditionIdentifierStart(current)) {
|
|
65
|
+
const start = index;
|
|
66
|
+
index += 1;
|
|
67
|
+
while (index < expression.length && isConditionIdentifierPart(expression[index])) {
|
|
68
|
+
index += 1;
|
|
69
|
+
}
|
|
70
|
+
tokens.push({ type: "identifier", text: expression.slice(start, index), position: start });
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
throw new Error(`Unexpected character '${current}' at position ${index}.`);
|
|
74
|
+
}
|
|
75
|
+
tokens.push({ type: "end", text: "", position: expression.length });
|
|
76
|
+
return tokens;
|
|
77
|
+
}
|
|
78
|
+
function isConditionIdentifierStart(value) {
|
|
79
|
+
return /[A-Za-z_$]/.test(value);
|
|
80
|
+
}
|
|
81
|
+
function isConditionIdentifierPart(value) {
|
|
82
|
+
return /[A-Za-z0-9_.$[\]]/.test(value);
|
|
83
|
+
}
|
|
84
|
+
function readQuotedConditionString(expression, startIndex) {
|
|
85
|
+
let output = "";
|
|
86
|
+
let cursor = startIndex + 1;
|
|
87
|
+
while (cursor < expression.length) {
|
|
88
|
+
const current = expression[cursor];
|
|
89
|
+
if (current === "'") {
|
|
90
|
+
return { value: output, nextIndex: cursor + 1 };
|
|
91
|
+
}
|
|
92
|
+
if (current === "\\" && cursor + 1 < expression.length) {
|
|
93
|
+
cursor += 1;
|
|
94
|
+
output += expression[cursor];
|
|
95
|
+
cursor += 1;
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
output += current;
|
|
99
|
+
cursor += 1;
|
|
100
|
+
}
|
|
101
|
+
throw new Error(`Unterminated string literal at position ${startIndex}.`);
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=condition-expression-tokenizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition-expression-tokenizer.js","sourceRoot":"","sources":["../src/condition-expression-tokenizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type ConditionExpressionNode = {
|
|
2
|
+
kind: "literal";
|
|
3
|
+
value: unknown;
|
|
4
|
+
} | {
|
|
5
|
+
kind: "path";
|
|
6
|
+
path: string;
|
|
7
|
+
} | {
|
|
8
|
+
kind: "array";
|
|
9
|
+
items: ConditionExpressionNode[];
|
|
10
|
+
} | {
|
|
11
|
+
kind: "exists";
|
|
12
|
+
argument: ConditionExpressionNode;
|
|
13
|
+
} | {
|
|
14
|
+
kind: "unary";
|
|
15
|
+
operand: ConditionExpressionNode;
|
|
16
|
+
} | {
|
|
17
|
+
kind: "binary";
|
|
18
|
+
operator: "==" | "!=" | ">" | ">=" | "<" | "<=" | "in" | "&&" | "||";
|
|
19
|
+
left: ConditionExpressionNode;
|
|
20
|
+
right: ConditionExpressionNode;
|
|
21
|
+
};
|
|
22
|
+
export type ConditionTokenType = "identifier" | "number" | "string" | "operator" | "leftParen" | "rightParen" | "leftBracket" | "rightBracket" | "comma" | "end";
|
|
23
|
+
export interface ConditionToken {
|
|
24
|
+
type: ConditionTokenType;
|
|
25
|
+
text: string;
|
|
26
|
+
position: number;
|
|
27
|
+
}
|
|
28
|
+
export type ResolvePath = (path: string) => unknown;
|
|
29
|
+
//# sourceMappingURL=condition-expression-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition-expression-types.d.ts","sourceRoot":"","sources":["../src/condition-expression-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,uBAAuB,EAAE,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,uBAAuB,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,uBAAuB,CAAA;CAAE,GACnD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACrE,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,uBAAuB,CAAC;CAChC,CAAC;AAEN,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,WAAW,GACX,YAAY,GACZ,aAAa,GACb,cAAc,GACd,OAAO,GACP,KAAK,CAAC;AAEV,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition-expression-types.js","sourceRoot":"","sources":["../src/condition-expression-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ResolvePath } from "./condition-expression-types";
|
|
2
|
+
export declare function tryEvaluateConditionExpression(expression: string, resolvePath: ResolvePath): {
|
|
3
|
+
ok: true;
|
|
4
|
+
value: boolean;
|
|
5
|
+
} | {
|
|
6
|
+
ok: false;
|
|
7
|
+
error: string;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=condition-expression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition-expression.d.ts","sourceRoot":"","sources":["../src/condition-expression.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,WAAW,GACvB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAQ7D"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tryEvaluateConditionExpression = tryEvaluateConditionExpression;
|
|
4
|
+
const condition_expression_evaluator_1 = require("./condition-expression-evaluator");
|
|
5
|
+
const condition_expression_parser_1 = require("./condition-expression-parser");
|
|
6
|
+
function tryEvaluateConditionExpression(expression, resolvePath) {
|
|
7
|
+
try {
|
|
8
|
+
const parser = new condition_expression_parser_1.ConditionExpressionParser(expression);
|
|
9
|
+
const ast = parser.parse();
|
|
10
|
+
return { ok: true, value: (0, condition_expression_evaluator_1.toBoolean)((0, condition_expression_evaluator_1.evaluateConditionExpression)(ast, resolvePath)) };
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
return { ok: false, error: error instanceof Error ? error.message : String(error) };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=condition-expression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition-expression.js","sourceRoot":"","sources":["../src/condition-expression.ts"],"names":[],"mappings":";;AAIA,wEAWC;AAfD,qFAA0F;AAC1F,+EAA0E;AAG1E,SAAgB,8BAA8B,CAC5C,UAAkB,EAClB,WAAwB;IAExB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,uDAAyB,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAA,0CAAS,EAAC,IAAA,4DAA2B,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;IACvF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACtF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
2
|
+
export declare function sanitizeForJson(value: unknown): unknown;
|
|
3
|
+
export declare function parsePrimitive(value: string): unknown;
|
|
4
|
+
export declare function toNumber(value: unknown): number;
|
|
5
|
+
export declare function getValueByPath(input: unknown, path: string): unknown;
|
|
6
|
+
export declare function setValueByPath(target: Record<string, unknown>, path: string, value: unknown): void;
|
|
7
|
+
export declare function normalizeWritePath(path: string): string;
|
|
8
|
+
export declare function getWritePaths(rule: {
|
|
9
|
+
outputPaths?: string[] | null;
|
|
10
|
+
}): string[];
|
|
11
|
+
//# sourceMappingURL=core-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-utils.d.ts","sourceRoot":"","sources":["../src/core-utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAiBvD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQrD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAU/C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CA6BpE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAgBlG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAcvD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;CAAE,GAAG,MAAM,EAAE,CAM/E"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isRecord = isRecord;
|
|
4
|
+
exports.sanitizeForJson = sanitizeForJson;
|
|
5
|
+
exports.parsePrimitive = parsePrimitive;
|
|
6
|
+
exports.toNumber = toNumber;
|
|
7
|
+
exports.getValueByPath = getValueByPath;
|
|
8
|
+
exports.setValueByPath = setValueByPath;
|
|
9
|
+
exports.normalizeWritePath = normalizeWritePath;
|
|
10
|
+
exports.getWritePaths = getWritePaths;
|
|
11
|
+
function isRecord(value) {
|
|
12
|
+
return !!value && typeof value === "object" && !Array.isArray(value);
|
|
13
|
+
}
|
|
14
|
+
function sanitizeForJson(value) {
|
|
15
|
+
if (Array.isArray(value)) {
|
|
16
|
+
return value.map((item) => sanitizeForJson(item));
|
|
17
|
+
}
|
|
18
|
+
if (isRecord(value)) {
|
|
19
|
+
const result = {};
|
|
20
|
+
Object.entries(value).forEach(([key, child]) => {
|
|
21
|
+
if (child === null) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
result[key] = sanitizeForJson(child);
|
|
25
|
+
});
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
function parsePrimitive(value) {
|
|
31
|
+
if (value === "true")
|
|
32
|
+
return true;
|
|
33
|
+
if (value === "false")
|
|
34
|
+
return false;
|
|
35
|
+
if (value === "null")
|
|
36
|
+
return null;
|
|
37
|
+
if (value === "undefined")
|
|
38
|
+
return null;
|
|
39
|
+
const parsed = Number.parseFloat(value);
|
|
40
|
+
if (!Number.isNaN(parsed) && isFinite(parsed))
|
|
41
|
+
return parsed;
|
|
42
|
+
return value;
|
|
43
|
+
}
|
|
44
|
+
function toNumber(value) {
|
|
45
|
+
if (value == null)
|
|
46
|
+
return Number.NaN;
|
|
47
|
+
if (typeof value === "number")
|
|
48
|
+
return value;
|
|
49
|
+
if (typeof value === "string") {
|
|
50
|
+
const parsed = Number.parseFloat(value);
|
|
51
|
+
return Number.isNaN(parsed) ? Number.NaN : parsed;
|
|
52
|
+
}
|
|
53
|
+
if (typeof value === "boolean")
|
|
54
|
+
return value ? 1 : 0;
|
|
55
|
+
const coerced = Number(value);
|
|
56
|
+
return Number.isNaN(coerced) ? Number.NaN : coerced;
|
|
57
|
+
}
|
|
58
|
+
function getValueByPath(input, path) {
|
|
59
|
+
if (input == null || !path || path.trim().length === 0)
|
|
60
|
+
return null;
|
|
61
|
+
const parts = path.split(".").map((part) => part.trim());
|
|
62
|
+
let current = input;
|
|
63
|
+
for (const part of parts) {
|
|
64
|
+
if (current == null)
|
|
65
|
+
return null;
|
|
66
|
+
const arrayMatch = part.match(/^(\w+)\[(\d+)\]$/);
|
|
67
|
+
if (arrayMatch) {
|
|
68
|
+
const key = arrayMatch[1];
|
|
69
|
+
const index = Number.parseInt(arrayMatch[2], 10);
|
|
70
|
+
if (!isRecord(current) || !(key in current))
|
|
71
|
+
return null;
|
|
72
|
+
const next = current[key];
|
|
73
|
+
if (!Array.isArray(next) || index >= next.length)
|
|
74
|
+
return null;
|
|
75
|
+
current = next[index];
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
if (/^\d+$/.test(part)) {
|
|
79
|
+
const index = Number.parseInt(part, 10);
|
|
80
|
+
if (!Array.isArray(current) || index >= current.length)
|
|
81
|
+
return null;
|
|
82
|
+
current = current[index];
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
if (!isRecord(current) || !(part in current))
|
|
86
|
+
return null;
|
|
87
|
+
current = current[part];
|
|
88
|
+
}
|
|
89
|
+
return current;
|
|
90
|
+
}
|
|
91
|
+
function setValueByPath(target, path, value) {
|
|
92
|
+
const parts = path.split(".").map((part) => part.trim());
|
|
93
|
+
let current = target;
|
|
94
|
+
for (let index = 0; index < parts.length; index += 1) {
|
|
95
|
+
const part = parts[index];
|
|
96
|
+
const isLast = index === parts.length - 1;
|
|
97
|
+
if (isLast) {
|
|
98
|
+
current[part] = value;
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const next = current[part];
|
|
102
|
+
if (!isRecord(next)) {
|
|
103
|
+
current[part] = {};
|
|
104
|
+
}
|
|
105
|
+
current = current[part];
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
function normalizeWritePath(path) {
|
|
109
|
+
if (!path || path.trim().length === 0) {
|
|
110
|
+
return path;
|
|
111
|
+
}
|
|
112
|
+
if (path.startsWith("$.", 0)) {
|
|
113
|
+
return path.slice(2);
|
|
114
|
+
}
|
|
115
|
+
if (path === "$") {
|
|
116
|
+
return "";
|
|
117
|
+
}
|
|
118
|
+
return path;
|
|
119
|
+
}
|
|
120
|
+
function getWritePaths(rule) {
|
|
121
|
+
return Array.from(new Set((rule.outputPaths ?? [])
|
|
122
|
+
.filter((path) => !!path && path.trim().length > 0)
|
|
123
|
+
.map((path) => normalizeWritePath(path))
|
|
124
|
+
.filter((path) => !!path && path.trim().length > 0)));
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=core-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-utils.js","sourceRoot":"","sources":["../src/core-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,102 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
export declare enum TransformType {
|
|
7
|
-
ToLowerCase = "toLowerCase",
|
|
8
|
-
ToUpperCase = "toUpperCase",
|
|
9
|
-
Number = "number",
|
|
10
|
-
Boolean = "boolean",
|
|
11
|
-
Concat = "concat",
|
|
12
|
-
Split = "split"
|
|
13
|
-
}
|
|
14
|
-
export declare enum MergeMode {
|
|
15
|
-
Concat = "concat",
|
|
16
|
-
FirstNonEmpty = "firstNonEmpty",
|
|
17
|
-
Array = "array"
|
|
18
|
-
}
|
|
19
|
-
export declare enum ConditionOperator {
|
|
20
|
-
Exists = "exists",
|
|
21
|
-
Equals = "equals",
|
|
22
|
-
NotEquals = "notEquals",
|
|
23
|
-
Includes = "includes",
|
|
24
|
-
Gt = "gt",
|
|
25
|
-
Lt = "lt"
|
|
26
|
-
}
|
|
27
|
-
export interface ConditionRule {
|
|
28
|
-
path: string;
|
|
29
|
-
operator: ConditionOperator;
|
|
30
|
-
value?: string | null;
|
|
31
|
-
}
|
|
32
|
-
export interface ValueSource {
|
|
33
|
-
type: string;
|
|
34
|
-
path?: string | null;
|
|
35
|
-
paths?: string[] | null;
|
|
36
|
-
value?: string | null;
|
|
37
|
-
transform?: TransformType | null;
|
|
38
|
-
condition?: ConditionRule | null;
|
|
39
|
-
trueValue?: string | null;
|
|
40
|
-
falseValue?: string | null;
|
|
41
|
-
mergeMode?: MergeMode | null;
|
|
42
|
-
separator?: string | null;
|
|
43
|
-
tokenIndex?: number | null;
|
|
44
|
-
trimAfterSplit?: boolean | null;
|
|
45
|
-
}
|
|
46
|
-
export interface FieldRule {
|
|
47
|
-
outputPath?: string;
|
|
48
|
-
outputPaths?: string[] | null;
|
|
49
|
-
source: ValueSource;
|
|
50
|
-
defaultValue?: string | null;
|
|
51
|
-
}
|
|
52
|
-
export interface ArrayRule {
|
|
53
|
-
inputPath: string;
|
|
54
|
-
outputPath: string;
|
|
55
|
-
itemMappings: FieldRule[];
|
|
56
|
-
coerceSingle?: boolean;
|
|
57
|
-
}
|
|
58
|
-
export interface ConversionRules {
|
|
59
|
-
version?: number;
|
|
60
|
-
inputFormat?: DataFormat;
|
|
61
|
-
outputFormat?: DataFormat;
|
|
62
|
-
fieldMappings?: FieldRule[];
|
|
63
|
-
arrayMappings?: ArrayRule[];
|
|
64
|
-
}
|
|
65
|
-
export interface LegacyMappingRow {
|
|
66
|
-
outputPath: string;
|
|
67
|
-
sourceType?: string | null;
|
|
68
|
-
sourceValue?: string | null;
|
|
69
|
-
transformType?: TransformType | null;
|
|
70
|
-
defaultValue?: string | null;
|
|
71
|
-
}
|
|
72
|
-
export interface LegacyMappingConfig {
|
|
73
|
-
version?: number;
|
|
74
|
-
rows: LegacyMappingRow[];
|
|
75
|
-
}
|
|
76
|
-
export interface ConversionResult {
|
|
77
|
-
output?: unknown;
|
|
78
|
-
errors: string[];
|
|
79
|
-
}
|
|
80
|
-
export interface ConversionRulesGenerationRequest {
|
|
81
|
-
inputFormat: DataFormat;
|
|
82
|
-
outputFormat: DataFormat;
|
|
83
|
-
inputSample: string;
|
|
84
|
-
outputSample: string;
|
|
85
|
-
model?: string | null;
|
|
86
|
-
}
|
|
87
|
-
export interface ConversionRulesGenerator {
|
|
88
|
-
generate(request: ConversionRulesGenerationRequest, options?: {
|
|
89
|
-
signal?: AbortSignal;
|
|
90
|
-
}): Promise<ConversionRules>;
|
|
91
|
-
}
|
|
92
|
-
export declare const rulesSchemaPath = "/schemas/rules/rules.schema.json";
|
|
93
|
-
export declare function normalizeConversionRules(raw: unknown): ConversionRules;
|
|
94
|
-
export declare function applyConversion(input: unknown, rawRules: unknown): ConversionResult;
|
|
95
|
-
export declare function parsePayload(text: string, format: DataFormat): {
|
|
96
|
-
value: unknown;
|
|
97
|
-
error?: string;
|
|
98
|
-
};
|
|
99
|
-
export declare function formatPayload(value: unknown, format: DataFormat, pretty: boolean): string;
|
|
1
|
+
import { applyConversion } from "./mapping-engine";
|
|
2
|
+
import { formatPayload, parsePayload } from "./payload-converter";
|
|
3
|
+
import { normalizeConversionRules } from "./rules-normalizer";
|
|
4
|
+
export * from "./types";
|
|
5
|
+
export { applyConversion, formatPayload, normalizeConversionRules, parsePayload };
|
|
100
6
|
export declare function runConversionCase(args: {
|
|
101
7
|
rulesText: string;
|
|
102
8
|
inputText: string;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,wBAAwB,EAAE,YAAY,EAAE,CAAC;AAElF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBlB"}
|