@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.
Files changed (62) hide show
  1. package/README.md +60 -268
  2. package/dist/condition-expression-evaluator.d.ts +4 -0
  3. package/dist/condition-expression-evaluator.d.ts.map +1 -0
  4. package/dist/condition-expression-evaluator.js +63 -0
  5. package/dist/condition-expression-evaluator.js.map +1 -0
  6. package/dist/condition-expression-parser.d.ts +26 -0
  7. package/dist/condition-expression-parser.d.ts.map +1 -0
  8. package/dist/condition-expression-parser.js +191 -0
  9. package/dist/condition-expression-parser.js.map +1 -0
  10. package/dist/condition-expression-tokenizer.d.ts +3 -0
  11. package/dist/condition-expression-tokenizer.d.ts.map +1 -0
  12. package/dist/condition-expression-tokenizer.js +103 -0
  13. package/dist/condition-expression-tokenizer.js.map +1 -0
  14. package/dist/condition-expression-types.d.ts +29 -0
  15. package/dist/condition-expression-types.d.ts.map +1 -0
  16. package/dist/condition-expression-types.js +3 -0
  17. package/dist/condition-expression-types.js.map +1 -0
  18. package/dist/condition-expression.d.ts +9 -0
  19. package/dist/condition-expression.d.ts.map +1 -0
  20. package/dist/condition-expression.js +16 -0
  21. package/dist/condition-expression.js.map +1 -0
  22. package/dist/core-utils.d.ts +11 -0
  23. package/dist/core-utils.d.ts.map +1 -0
  24. package/dist/core-utils.js +126 -0
  25. package/dist/core-utils.js.map +1 -0
  26. package/dist/index.d.ts +5 -99
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +31 -729
  29. package/dist/index.js.map +1 -1
  30. package/dist/mapping-engine.d.ts +3 -0
  31. package/dist/mapping-engine.d.ts.map +1 -0
  32. package/dist/mapping-engine.js +18 -0
  33. package/dist/mapping-engine.js.map +1 -0
  34. package/dist/payload-converter.d.ts +7 -0
  35. package/dist/payload-converter.d.ts.map +1 -0
  36. package/dist/payload-converter.js +37 -0
  37. package/dist/payload-converter.js.map +1 -0
  38. package/dist/query-payload.d.ts +3 -0
  39. package/dist/query-payload.d.ts.map +1 -0
  40. package/dist/query-payload.js +183 -0
  41. package/dist/query-payload.js.map +1 -0
  42. package/dist/rule-executor.d.ts +3 -0
  43. package/dist/rule-executor.d.ts.map +1 -0
  44. package/dist/rule-executor.js +108 -0
  45. package/dist/rule-executor.js.map +1 -0
  46. package/dist/rules-normalizer.d.ts +3 -0
  47. package/dist/rules-normalizer.d.ts.map +1 -0
  48. package/dist/rules-normalizer.js +158 -0
  49. package/dist/rules-normalizer.js.map +1 -0
  50. package/dist/source-resolver.d.ts +4 -0
  51. package/dist/source-resolver.d.ts.map +1 -0
  52. package/dist/source-resolver.js +155 -0
  53. package/dist/source-resolver.js.map +1 -0
  54. package/dist/types.d.ts +97 -0
  55. package/dist/types.d.ts.map +1 -0
  56. package/dist/types.js +33 -0
  57. package/dist/types.js.map +1 -0
  58. package/dist/xml-payload.d.ts +3 -0
  59. package/dist/xml-payload.d.ts.map +1 -0
  60. package/dist/xml-payload.js +61 -0
  61. package/dist/xml-payload.js.map +1 -0
  62. 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":";;AAEA,kEAsFC;AAtFD,SAAgB,2BAA2B,CAAC,UAAkB;IAC5D,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC5D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACrE,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;YACzB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjH,MAAM,KAAK,GAAG,KAAK,CAAC;YACpB,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,KAAK,GAAG,UAAU,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpE,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACvF,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAClE,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAClE,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACnE,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACpE,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACrE,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACtE,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/D,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,KAAK,CAAC;YACpB,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,KAAK,GAAG,UAAU,CAAC,MAAM,IAAI,yBAAyB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjF,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3F,SAAS;QACX,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,iBAAiB,KAAK,GAAG,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa;IAC/C,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAa;IAC9C,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,yBAAyB,CAChC,UAAkB,EAClB,UAAkB;IAElB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC;IAE5B,OAAO,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACpB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,CAAC;QAED,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;YACvD,MAAM,IAAI,CAAC,CAAC;YACZ,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,IAAI,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QAED,MAAM,IAAI,OAAO,CAAC;QAClB,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,UAAU,GAAG,CAAC,CAAC;AAC5E,CAAC"}
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=condition-expression-types.js.map
@@ -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":";;AAAA,4BAEC;AAED,0CAiBC;AAED,wCAQC;AAED,4BAUC;AAED,wCA6BC;AAED,wCAgBC;AAED,gDAcC;AAED,sCAMC;AApHD,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAgB,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,cAAc,CAAC,KAAa;IAC1C,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC7D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,QAAQ,CAAC,KAAc;IACrC,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AACtD,CAAC;AAED,SAAgB,cAAc,CAAC,KAAc,EAAE,IAAY;IACzD,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAClD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YACzD,MAAM,IAAI,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAC9D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACpE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1D,OAAO,GAAI,OAAmC,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,cAAc,CAAC,MAA+B,EAAE,IAAY,EAAE,KAAc;IAC1F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,IAAI,OAAO,GAA4B,MAAM,CAAC;IAC9C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACtB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACrB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,IAAI,CAA4B,CAAC;IACrD,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,aAAa,CAAC,IAAuC;IACnE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;SAC/C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SAClD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SACvC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CACpD,CAAC,CAAC;AACL,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,102 +1,8 @@
1
- export declare enum DataFormat {
2
- Json = "json",
3
- Xml = "xml",
4
- Query = "query"
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;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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"}