@operato/data-mapper 9.0.0-beta.50 → 9.0.0-beta.52

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/CHANGELOG.md +16 -0
  2. package/dist/src/components/function-box-options-builder.d.ts +18 -0
  3. package/dist/src/components/function-box-options-builder.js +145 -0
  4. package/dist/src/components/function-box-options-builder.js.map +1 -0
  5. package/dist/src/components/function-box-popup.d.ts +15 -0
  6. package/dist/src/components/function-box-popup.js +236 -0
  7. package/dist/src/components/function-box-popup.js.map +1 -0
  8. package/dist/src/components/property-editor.d.ts +34 -0
  9. package/dist/src/components/property-editor.js +76 -0
  10. package/dist/src/components/property-editor.js.map +1 -0
  11. package/dist/src/context/data-mapper-context.d.ts +12 -0
  12. package/dist/src/context/data-mapper-context.js +3 -0
  13. package/dist/src/context/data-mapper-context.js.map +1 -0
  14. package/dist/src/functions/custom-script.d.ts +10 -0
  15. package/dist/src/functions/custom-script.js +49 -0
  16. package/dist/src/functions/custom-script.js.map +1 -0
  17. package/dist/src/functions/date-formatting.d.ts +10 -0
  18. package/dist/src/functions/date-formatting.js +59 -0
  19. package/dist/src/functions/date-formatting.js.map +1 -0
  20. package/dist/src/functions/index.d.ts +10 -0
  21. package/dist/src/functions/index.js +19 -0
  22. package/dist/src/functions/index.js.map +1 -0
  23. package/dist/src/functions/json-query.d.ts +10 -0
  24. package/dist/src/functions/json-query.js +116 -0
  25. package/dist/src/functions/json-query.js.map +1 -0
  26. package/dist/src/functions/passthrough.d.ts +6 -0
  27. package/dist/src/functions/passthrough.js +38 -0
  28. package/dist/src/functions/passthrough.js.map +1 -0
  29. package/dist/src/functions/range-mapping.d.ts +10 -0
  30. package/dist/src/functions/range-mapping.js +106 -0
  31. package/dist/src/functions/range-mapping.js.map +1 -0
  32. package/dist/src/functions/string-manipulation.d.ts +33 -0
  33. package/dist/src/functions/string-manipulation.js +215 -0
  34. package/dist/src/functions/string-manipulation.js.map +1 -0
  35. package/dist/src/functions/text-transform.d.ts +25 -0
  36. package/dist/src/functions/text-transform.js +167 -0
  37. package/dist/src/functions/text-transform.js.map +1 -0
  38. package/dist/src/functions/value-mapping.d.ts +10 -0
  39. package/dist/src/functions/value-mapping.js +109 -0
  40. package/dist/src/functions/value-mapping.js.map +1 -0
  41. package/dist/src/index.d.ts +1 -0
  42. package/dist/src/index.js +1 -0
  43. package/dist/src/index.js.map +1 -1
  44. package/dist/src/ox-data-mapper.d.ts +12 -13
  45. package/dist/src/ox-data-mapper.js +159 -118
  46. package/dist/src/ox-data-mapper.js.map +1 -1
  47. package/dist/src/ox-mapping-area.d.ts +36 -0
  48. package/dist/src/ox-mapping-area.js +382 -0
  49. package/dist/src/ox-mapping-area.js.map +1 -0
  50. package/dist/src/types.d.ts +19 -0
  51. package/dist/src/types.js +2 -0
  52. package/dist/src/types.js.map +1 -0
  53. package/dist/stories/ox-data-mapper.stories.d.ts +4 -4
  54. package/dist/stories/ox-data-mapper.stories.js +39 -17
  55. package/dist/stories/ox-data-mapper.stories.js.map +1 -1
  56. package/dist/tsconfig.tsbuildinfo +1 -1
  57. package/package.json +7 -3
  58. package/translations/en.json +3 -0
  59. package/translations/ja.json +3 -0
  60. package/translations/ko.json +3 -0
  61. package/translations/ms.json +3 -0
  62. package/translations/zh.json +3 -0
@@ -0,0 +1,49 @@
1
+ const MARKDOWN_HELP = `
2
+ # Custom Script (Sandbox)
3
+
4
+ Custom Script 기능을 사용하면 **JavaScript를 이용하여 데이터 변환 및 처리**를 수행할 수 있습니다.
5
+ 이 기능은 샌드박스 환경에서 실행되므로, 외부 네트워크 요청이나 제한된 API 접근은 허용되지 않습니다.
6
+
7
+ ## 🛠 사용 방법
8
+
9
+ 1. **스크립트 입력**: JavaScript 코드를 작성하여 입력 데이터를 변환할 수 있습니다.
10
+ 2. **입력값 활용**: \`input\` 변수로 전달된 데이터를 가공할 수 있습니다.
11
+ 3. **결과 반환**: 변환된 데이터를 반드시 \`return\`을 사용하여 반환해야 합니다.
12
+
13
+ ## 📌 예제 1: 대문자로 변환
14
+ \`\`\`javascript
15
+ return input.toUpperCase();
16
+ \`\`\`
17
+
18
+ ## 📌 예제 2: 날짜 포맷 변경
19
+ \`\`\`javascript
20
+ const date = new Date(input);
21
+ return date.toISOString().split('T')[0];
22
+ \`\`\`
23
+
24
+ ## 📌 예제 3: JSON 데이터 변환
25
+ \`\`\`javascript
26
+ const obj = JSON.parse(input);
27
+ return obj.name + " - " + obj.value;
28
+ \`\`\`
29
+
30
+ ## ⚠ 주의 사항
31
+ - 외부 네트워크 요청 (\`fetch\`, \`XMLHttpRequest\`)은 사용할 수 없습니다.
32
+ - 무한 루프 또는 과도한 연산을 수행하면 실행이 제한될 수 있습니다.
33
+ - 샌드박스 환경에서 실행되므로 일부 JS API가 제한될 수 있습니다.
34
+
35
+ 💡 **자신만의 변환 로직을 직접 작성하여 유연하게 데이터를 가공하세요!**
36
+ `;
37
+ export const CustomScript = {
38
+ name: 'custom-script',
39
+ label: 'Custom Script (Sandbox)',
40
+ specifications: [
41
+ {
42
+ type: 'script',
43
+ name: 'script',
44
+ label: 'script'
45
+ }
46
+ ],
47
+ help: MARKDOWN_HELP
48
+ };
49
+ //# sourceMappingURL=custom-script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-script.js","sourceRoot":"","sources":["../../../src/functions/custom-script.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCrB,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,yBAAyB;IAChC,cAAc,EAAE;QACd;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;SAChB;KACF;IACD,IAAI,EAAE,aAAa;CACpB,CAAA","sourcesContent":["const MARKDOWN_HELP = `\n# Custom Script (Sandbox)\n\nCustom Script 기능을 사용하면 **JavaScript를 이용하여 데이터 변환 및 처리**를 수행할 수 있습니다. \n이 기능은 샌드박스 환경에서 실행되므로, 외부 네트워크 요청이나 제한된 API 접근은 허용되지 않습니다.\n\n## 🛠 사용 방법\n\n1. **스크립트 입력**: JavaScript 코드를 작성하여 입력 데이터를 변환할 수 있습니다.\n2. **입력값 활용**: \\`input\\` 변수로 전달된 데이터를 가공할 수 있습니다.\n3. **결과 반환**: 변환된 데이터를 반드시 \\`return\\`을 사용하여 반환해야 합니다.\n\n## 📌 예제 1: 대문자로 변환\n\\`\\`\\`javascript\nreturn input.toUpperCase();\n\\`\\`\\`\n\n## 📌 예제 2: 날짜 포맷 변경\n\\`\\`\\`javascript\nconst date = new Date(input);\nreturn date.toISOString().split('T')[0];\n\\`\\`\\`\n\n## 📌 예제 3: JSON 데이터 변환\n\\`\\`\\`javascript\nconst obj = JSON.parse(input);\nreturn obj.name + \" - \" + obj.value;\n\\`\\`\\`\n\n## ⚠ 주의 사항\n- 외부 네트워크 요청 (\\`fetch\\`, \\`XMLHttpRequest\\`)은 사용할 수 없습니다.\n- 무한 루프 또는 과도한 연산을 수행하면 실행이 제한될 수 있습니다.\n- 샌드박스 환경에서 실행되므로 일부 JS API가 제한될 수 있습니다.\n\n💡 **자신만의 변환 로직을 직접 작성하여 유연하게 데이터를 가공하세요!**\n`\n\nexport const CustomScript = {\n name: 'custom-script',\n label: 'Custom Script (Sandbox)',\n specifications: [\n {\n type: 'script',\n name: 'script',\n label: 'script'\n }\n ],\n help: MARKDOWN_HELP\n}\n"]}
@@ -0,0 +1,10 @@
1
+ export declare const DateFormatting: {
2
+ name: string;
3
+ label: string;
4
+ specifications: {
5
+ type: string;
6
+ name: string;
7
+ label: string;
8
+ }[];
9
+ help: string;
10
+ };
@@ -0,0 +1,59 @@
1
+ const MARKDOWN_HELP = `
2
+ # Date Formatting
3
+
4
+ Date Formatting 기능을 사용하면 **날짜 데이터를 다양한 형식으로 변환**할 수 있습니다.
5
+ ISO 날짜, 로컬 형식, 특정 포맷을 적용하여 데이터를 변환할 수 있습니다.
6
+
7
+ ## 🛠 사용 방법
8
+
9
+ 1. **입력값**: 입력 데이터는 일반적으로 날짜 형식(ISO 8601, 타임스탬프 등)이어야 합니다.
10
+ 2. **포맷 옵션 선택**: 다양한 포맷 옵션을 적용하여 원하는 형태로 변환할 수 있습니다.
11
+ 3. **결과 반환**: 변환된 날짜 문자열이 출력됩니다.
12
+
13
+ ## 📌 예제 1: ISO 형식으로 변환
14
+ \`\`\`javascript
15
+ return new Date(input).toISOString();
16
+ \`\`\`
17
+
18
+ ## 📌 예제 2: YYYY-MM-DD 형식으로 변환
19
+ \`\`\`javascript
20
+ const date = new Date(input);
21
+ return date.getFullYear() + "-" + (date.getMonth() + 1).toString().padStart(2, '0') + "-" + date.getDate().toString().padStart(2, '0');
22
+ \`\`\`
23
+
24
+ ## 📌 예제 3: 로컬 날짜 형식으로 변환
25
+ \`\`\`javascript
26
+ return new Date(input).toLocaleDateString();
27
+ \`\`\`
28
+
29
+ ## 📌 예제 4: UNIX 타임스탬프 변환
30
+ \`\`\`javascript
31
+ return Math.floor(new Date(input).getTime() / 1000);
32
+ \`\`\`
33
+
34
+ ## 📌 지원하는 날짜 형식
35
+ - **ISO 8601** (예: \`2023-12-25T14:30:00Z\`)
36
+ - **Unix Timestamp** (예: \`1703704200\`)
37
+ - **YYYY-MM-DD** (예: \`2023-12-25\`)
38
+ - **MM/DD/YYYY** (예: \`12/25/2023\`)
39
+
40
+ ## ⚠ 주의 사항
41
+ - 입력값이 유효한 날짜 형식이어야 합니다.
42
+ - 월(Month)은 **0부터 시작**하므로, 변환 시 +1을 해주어야 합니다.
43
+ - 브라우저 환경에 따라 \`toLocaleDateString()\` 결과가 다를 수 있습니다.
44
+
45
+ 💡 **다양한 날짜 변환 기능을 활용하여 원하는 포맷으로 변환하세요!**
46
+ `;
47
+ export const DateFormatting = {
48
+ name: 'date-format',
49
+ label: 'Date Formatting',
50
+ specifications: [
51
+ {
52
+ type: 'text',
53
+ name: 'format',
54
+ label: 'Date Format'
55
+ }
56
+ ],
57
+ help: MARKDOWN_HELP
58
+ };
59
+ //# sourceMappingURL=date-formatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-formatting.js","sourceRoot":"","sources":["../../../src/functions/date-formatting.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CrB,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,iBAAiB;IACxB,cAAc,EAAE;QACd;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,aAAa;SACrB;KACF;IACD,IAAI,EAAE,aAAa;CACpB,CAAA","sourcesContent":["const MARKDOWN_HELP = `\n# Date Formatting\n\nDate Formatting 기능을 사용하면 **날짜 데이터를 다양한 형식으로 변환**할 수 있습니다. \nISO 날짜, 로컬 형식, 특정 포맷을 적용하여 데이터를 변환할 수 있습니다.\n\n## 🛠 사용 방법\n\n1. **입력값**: 입력 데이터는 일반적으로 날짜 형식(ISO 8601, 타임스탬프 등)이어야 합니다.\n2. **포맷 옵션 선택**: 다양한 포맷 옵션을 적용하여 원하는 형태로 변환할 수 있습니다.\n3. **결과 반환**: 변환된 날짜 문자열이 출력됩니다.\n\n## 📌 예제 1: ISO 형식으로 변환\n\\`\\`\\`javascript\nreturn new Date(input).toISOString();\n\\`\\`\\`\n\n## 📌 예제 2: YYYY-MM-DD 형식으로 변환\n\\`\\`\\`javascript\nconst date = new Date(input);\nreturn date.getFullYear() + \"-\" + (date.getMonth() + 1).toString().padStart(2, '0') + \"-\" + date.getDate().toString().padStart(2, '0');\n\\`\\`\\`\n\n## 📌 예제 3: 로컬 날짜 형식으로 변환\n\\`\\`\\`javascript\nreturn new Date(input).toLocaleDateString();\n\\`\\`\\`\n\n## 📌 예제 4: UNIX 타임스탬프 변환\n\\`\\`\\`javascript\nreturn Math.floor(new Date(input).getTime() / 1000);\n\\`\\`\\`\n\n## 📌 지원하는 날짜 형식\n- **ISO 8601** (예: \\`2023-12-25T14:30:00Z\\`)\n- **Unix Timestamp** (예: \\`1703704200\\`)\n- **YYYY-MM-DD** (예: \\`2023-12-25\\`)\n- **MM/DD/YYYY** (예: \\`12/25/2023\\`)\n\n## ⚠ 주의 사항\n- 입력값이 유효한 날짜 형식이어야 합니다.\n- 월(Month)은 **0부터 시작**하므로, 변환 시 +1을 해주어야 합니다.\n- 브라우저 환경에 따라 \\`toLocaleDateString()\\` 결과가 다를 수 있습니다.\n\n💡 **다양한 날짜 변환 기능을 활용하여 원하는 포맷으로 변환하세요!**\n`\n\nexport const DateFormatting = {\n name: 'date-format',\n label: 'Date Formatting',\n specifications: [\n {\n type: 'text',\n name: 'format',\n label: 'Date Format'\n }\n ],\n help: MARKDOWN_HELP\n}\n"]}
@@ -0,0 +1,10 @@
1
+ export declare const FunctionList: {
2
+ name: string;
3
+ label: string;
4
+ specifications: {
5
+ type: string;
6
+ name: string;
7
+ label: string;
8
+ }[];
9
+ help: string;
10
+ }[];
@@ -0,0 +1,19 @@
1
+ import { CustomScript } from './custom-script.js';
2
+ import { DateFormatting } from './date-formatting.js';
3
+ import { JsonQuery } from './json-query.js';
4
+ import { RangeMapping } from './range-mapping.js';
5
+ import { ValueMapping } from './value-mapping.js';
6
+ import { TextTransform } from './text-transform.js';
7
+ import { StringManipulation } from './string-manipulation.js';
8
+ import { Passthrough } from './passthrough.js';
9
+ export const FunctionList = [
10
+ Passthrough,
11
+ CustomScript,
12
+ DateFormatting,
13
+ JsonQuery,
14
+ TextTransform,
15
+ StringManipulation,
16
+ ValueMapping,
17
+ RangeMapping
18
+ ];
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,WAAW;IACX,YAAY;IACZ,cAAc;IACd,SAAS;IACT,aAAa;IACb,kBAAkB;IAClB,YAAY;IACZ,YAAY;CACb,CAAA","sourcesContent":["import { CustomScript } from './custom-script.js'\nimport { DateFormatting } from './date-formatting.js'\nimport { JsonQuery } from './json-query.js'\nimport { RangeMapping } from './range-mapping.js'\nimport { ValueMapping } from './value-mapping.js'\nimport { TextTransform } from './text-transform.js'\nimport { StringManipulation } from './string-manipulation.js'\nimport { Passthrough } from './passthrough.js'\n\nexport const FunctionList = [\n Passthrough,\n CustomScript,\n DateFormatting,\n JsonQuery,\n TextTransform,\n StringManipulation,\n ValueMapping,\n RangeMapping\n]\n"]}
@@ -0,0 +1,10 @@
1
+ export declare const JsonQuery: {
2
+ name: string;
3
+ label: string;
4
+ specifications: {
5
+ type: string;
6
+ name: string;
7
+ label: string;
8
+ }[];
9
+ help: string;
10
+ };
@@ -0,0 +1,116 @@
1
+ const MARKDOWN_HELP = `
2
+ # JSON Query
3
+
4
+ JSON Query 기능을 사용하면 **JSON 데이터를 필터링, 변환 및 조회**할 수 있습니다.
5
+ 이 기능은 **JSON 구조화된 데이터에서 특정 정보를 추출**하는 데 유용합니다.
6
+
7
+ ## 🛠 사용 방법
8
+
9
+ 1. **입력값**: JSON 형식의 데이터
10
+ 2. **쿼리**: 특정 필드 선택, 데이터 필터링, 배열 변환 등을 수행할 수 있는 쿼리 문자열
11
+ 3. **결과 반환**: 쿼리 결과를 반환
12
+
13
+ ## 📌 예제 1: JSON 객체에서 특정 필드 추출
14
+ ### 입력 데이터:
15
+ \`\`\`json
16
+ {
17
+ "name": "Alice",
18
+ "age": 25,
19
+ "email": "alice@example.com"
20
+ }
21
+ \`\`\`
22
+
23
+ ### 쿼리:
24
+ \`\`\`json
25
+ "name"
26
+ \`\`\`
27
+
28
+ ### 결과:
29
+ \`\`\`json
30
+ "Alice"
31
+ \`\`\`
32
+
33
+ ---
34
+
35
+ ## 📌 예제 2: 배열 필터링
36
+ ### 입력 데이터:
37
+ \`\`\`json
38
+ {
39
+ "users": [
40
+ { "name": "Alice", "age": 25 },
41
+ { "name": "Bob", "age": 30 },
42
+ { "name": "Charlie", "age": 28 }
43
+ ]
44
+ }
45
+ \`\`\`
46
+
47
+ ### 쿼리:
48
+ \`\`\`json
49
+ "users[?(@.age > 25)]"
50
+ \`\`\`
51
+
52
+ ### 결과:
53
+ \`\`\`json
54
+ [
55
+ { "name": "Bob", "age": 30 },
56
+ { "name": "Charlie", "age": 28 }
57
+ ]
58
+ \`\`\`
59
+
60
+ ---
61
+
62
+ ## 📌 예제 3: 특정 키 값을 가진 데이터 추출
63
+ ### 입력 데이터:
64
+ \`\`\`json
65
+ {
66
+ "orders": [
67
+ { "id": 1, "status": "pending" },
68
+ { "id": 2, "status": "shipped" },
69
+ { "id": 3, "status": "delivered" }
70
+ ]
71
+ }
72
+ \`\`\`
73
+
74
+ ### 쿼리:
75
+ \`\`\`json
76
+ "orders[?(@.status == 'shipped')]"
77
+ \`\`\`
78
+
79
+ ### 결과:
80
+ \`\`\`json
81
+ [
82
+ { "id": 2, "status": "shipped" }
83
+ ]
84
+ \`\`\`
85
+
86
+ ---
87
+
88
+ ## 📌 지원하는 연산자
89
+ - 필드 접근: \`field\`
90
+ - 배열 필터링: \`array[?(@.field <operator> value)]\`
91
+ - 연산자:
92
+ - \`==\` (같음)
93
+ - \`!=\` (다름)
94
+ - \`>\`, \`>=\` (크거나 같음)
95
+ - \`<\`, \`<=\` (작거나 같음)
96
+
97
+ ## ⚠ 주의 사항
98
+ - 입력 데이터는 반드시 **유효한 JSON 형식**이어야 합니다.
99
+ - 쿼리 문법이 올바르지 않으면 **에러가 발생할 수 있습니다.**
100
+ - 대소문자를 구별할 수 있습니다.
101
+
102
+ 💡 **JSON 데이터를 손쉽게 쿼리하여 원하는 정보를 빠르게 추출하세요!**
103
+ `;
104
+ export const JsonQuery = {
105
+ name: 'json-query',
106
+ label: 'JSON Query',
107
+ specifications: [
108
+ {
109
+ type: 'text',
110
+ name: 'query',
111
+ label: 'JSON Query Expression'
112
+ }
113
+ ],
114
+ help: MARKDOWN_HELP
115
+ };
116
+ //# sourceMappingURL=json-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-query.js","sourceRoot":"","sources":["../../../src/functions/json-query.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGrB,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,YAAY;IACnB,cAAc,EAAE;QACd;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,uBAAuB;SAC/B;KACF;IACD,IAAI,EAAE,aAAa;CACpB,CAAA","sourcesContent":["const MARKDOWN_HELP = `\n# JSON Query\n\nJSON Query 기능을 사용하면 **JSON 데이터를 필터링, 변환 및 조회**할 수 있습니다. \n이 기능은 **JSON 구조화된 데이터에서 특정 정보를 추출**하는 데 유용합니다.\n\n## 🛠 사용 방법\n\n1. **입력값**: JSON 형식의 데이터\n2. **쿼리**: 특정 필드 선택, 데이터 필터링, 배열 변환 등을 수행할 수 있는 쿼리 문자열\n3. **결과 반환**: 쿼리 결과를 반환\n\n## 📌 예제 1: JSON 객체에서 특정 필드 추출\n### 입력 데이터:\n\\`\\`\\`json\n{\n \"name\": \"Alice\",\n \"age\": 25,\n \"email\": \"alice@example.com\"\n}\n\\`\\`\\`\n\n### 쿼리:\n\\`\\`\\`json\n\"name\"\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n\"Alice\"\n\\`\\`\\`\n\n---\n\n## 📌 예제 2: 배열 필터링\n### 입력 데이터:\n\\`\\`\\`json\n{\n \"users\": [\n { \"name\": \"Alice\", \"age\": 25 },\n { \"name\": \"Bob\", \"age\": 30 },\n { \"name\": \"Charlie\", \"age\": 28 }\n ]\n}\n\\`\\`\\`\n\n### 쿼리:\n\\`\\`\\`json\n\"users[?(@.age > 25)]\"\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n[\n { \"name\": \"Bob\", \"age\": 30 },\n { \"name\": \"Charlie\", \"age\": 28 }\n]\n\\`\\`\\`\n\n---\n\n## 📌 예제 3: 특정 키 값을 가진 데이터 추출\n### 입력 데이터:\n\\`\\`\\`json\n{\n \"orders\": [\n { \"id\": 1, \"status\": \"pending\" },\n { \"id\": 2, \"status\": \"shipped\" },\n { \"id\": 3, \"status\": \"delivered\" }\n ]\n}\n\\`\\`\\`\n\n### 쿼리:\n\\`\\`\\`json\n\"orders[?(@.status == 'shipped')]\"\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n[\n { \"id\": 2, \"status\": \"shipped\" }\n]\n\\`\\`\\`\n\n---\n\n## 📌 지원하는 연산자\n- 필드 접근: \\`field\\`\n- 배열 필터링: \\`array[?(@.field <operator> value)]\\`\n- 연산자:\n - \\`==\\` (같음)\n - \\`!=\\` (다름)\n - \\`>\\`, \\`>=\\` (크거나 같음)\n - \\`<\\`, \\`<=\\` (작거나 같음)\n\n## ⚠ 주의 사항\n- 입력 데이터는 반드시 **유효한 JSON 형식**이어야 합니다.\n- 쿼리 문법이 올바르지 않으면 **에러가 발생할 수 있습니다.**\n- 대소문자를 구별할 수 있습니다.\n\n💡 **JSON 데이터를 손쉽게 쿼리하여 원하는 정보를 빠르게 추출하세요!**\n`\n\nexport const JsonQuery = {\n name: 'json-query',\n label: 'JSON Query',\n specifications: [\n {\n type: 'text',\n name: 'query',\n label: 'JSON Query Expression'\n }\n ],\n help: MARKDOWN_HELP\n}\n"]}
@@ -0,0 +1,6 @@
1
+ export declare const Passthrough: {
2
+ name: string;
3
+ label: string;
4
+ specifications: never[];
5
+ help: string;
6
+ };
@@ -0,0 +1,38 @@
1
+ const MARKDOWN_HELP = `
2
+ # 🔄 Passthrough (입력값 그대로 전달)
3
+
4
+ **Passthrough** 기능은 입력값을 변형 없이 그대로 출력하는 기능입니다.
5
+ 데이터를 변형하지 않고 원본 그대로 유지해야 할 경우 유용하게 사용할 수 있습니다.
6
+
7
+ ---
8
+
9
+ ## 🛠️ 사용 방법
10
+ Passthrough는 입력을 그대로 반환하므로 **추가적인 설정이 필요 없습니다**.
11
+
12
+ ### 📌 예제:
13
+ 입력값이 \`"Hello, World!"\`일 때:
14
+
15
+ \`\`\`js
16
+ "Hello, World!" // 그대로 출력됨
17
+ \`\`\`
18
+
19
+ ---
20
+
21
+ ## ✅ 언제 사용하면 좋을까요?
22
+ ✔ **임시로 변형을 적용하지 않고 싶을 때**
23
+ ✔ **디버깅용으로 원본 데이터를 유지하고 싶을 때**
24
+ ✔ **기본 값 설정을 위해 사용하고 싶을 때**
25
+
26
+ ---
27
+
28
+ ## ⚠️ 주의사항
29
+ ⚡ **Passthrough 기능은 입력을 수정하지 않고 그대로 반환**합니다.
30
+ ⚡ **추가적인 연산이나 변형이 필요할 경우 다른 변환 기능을 사용하세요.**
31
+ `;
32
+ export const Passthrough = {
33
+ name: 'passthrough',
34
+ label: 'Passthrough',
35
+ specifications: [],
36
+ help: MARKDOWN_HELP
37
+ };
38
+ //# sourceMappingURL=passthrough.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passthrough.js","sourceRoot":"","sources":["../../../src/functions/passthrough.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BrB,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,aAAa;IACpB,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE,aAAa;CACpB,CAAA","sourcesContent":["const MARKDOWN_HELP = `\n# 🔄 Passthrough (입력값 그대로 전달)\n\n**Passthrough** 기능은 입력값을 변형 없이 그대로 출력하는 기능입니다. \n데이터를 변형하지 않고 원본 그대로 유지해야 할 경우 유용하게 사용할 수 있습니다.\n\n---\n\n## 🛠️ 사용 방법\nPassthrough는 입력을 그대로 반환하므로 **추가적인 설정이 필요 없습니다**.\n\n### 📌 예제:\n입력값이 \\`\"Hello, World!\"\\`일 때:\n\n\\`\\`\\`js\n\"Hello, World!\" // 그대로 출력됨\n\\`\\`\\`\n\n---\n\n## ✅ 언제 사용하면 좋을까요?\n✔ **임시로 변형을 적용하지 않고 싶을 때** \n✔ **디버깅용으로 원본 데이터를 유지하고 싶을 때** \n✔ **기본 값 설정을 위해 사용하고 싶을 때** \n\n---\n\n## ⚠️ 주의사항\n⚡ **Passthrough 기능은 입력을 수정하지 않고 그대로 반환**합니다. \n⚡ **추가적인 연산이나 변형이 필요할 경우 다른 변환 기능을 사용하세요.** \n`\n\nexport const Passthrough = {\n name: 'passthrough',\n label: 'Passthrough',\n specifications: [],\n help: MARKDOWN_HELP\n}\n"]}
@@ -0,0 +1,10 @@
1
+ export declare const RangeMapping: {
2
+ name: string;
3
+ label: string;
4
+ specifications: {
5
+ type: string;
6
+ name: string;
7
+ label: string;
8
+ }[];
9
+ help: string;
10
+ };
@@ -0,0 +1,106 @@
1
+ const MARKDOWN_HELP = `
2
+ # Range Mapping (값 범위 매핑)
3
+
4
+ Range Mapping 기능을 사용하면 **입력 값이 특정 범위에 속할 경우 해당하는 출력 값을 반환**할 수 있습니다.
5
+ 이 기능은 **숫자 범위를 기준으로 데이터를 변환하거나 분류**하는 데 유용합니다.
6
+
7
+ ## 🛠 사용 방법
8
+
9
+ 1. **입력값**: 숫자 값 (예: 점수, 가격, 온도 등)
10
+ 2. **범위 매핑**: 특정 범위 내의 값에 대응하는 결과 값을 설정
11
+ 3. **출력값**: 입력값이 속한 범위의 매핑 결과를 반환
12
+
13
+ ---
14
+
15
+ ## 📌 예제 1: 점수에 따른 등급 부여
16
+ ### 매핑 설정:
17
+ | 입력 범위 | 출력 값 |
18
+ |-----------|---------|
19
+ | 0 - 59 | "F" |
20
+ | 60 - 69 | "D" |
21
+ | 70 - 79 | "C" |
22
+ | 80 - 89 | "B" |
23
+ | 90 - 100 | "A" |
24
+
25
+ ### 입력값:
26
+ \`\`\`json
27
+ 75
28
+ \`\`\`
29
+
30
+ ### 결과:
31
+ \`\`\`json
32
+ "C"
33
+ \`\`\`
34
+
35
+ ---
36
+
37
+ ## 📌 예제 2: 온도에 따른 상태 분류
38
+ ### 매핑 설정:
39
+ | 입력 범위 | 출력 값 |
40
+ |------------|---------|
41
+ | -∞ - 0°C | "Cold" |
42
+ | 1°C - 20°C | "Cool" |
43
+ | 21°C - 30°C | "Warm" |
44
+ | 31°C - ∞ | "Hot" |
45
+
46
+ ### 입력값:
47
+ \`\`\`json
48
+ 25
49
+ \`\`\`
50
+
51
+ ### 결과:
52
+ \`\`\`json
53
+ "Warm"
54
+ \`\`\`
55
+
56
+ ---
57
+
58
+ ## 📌 예제 3: 급여 구간에 따른 세금율 적용
59
+ ### 매핑 설정:
60
+ | 급여 범위 | 세율 (%) |
61
+ |------------------|---------|
62
+ | 0 - 20,000 | 5% |
63
+ | 20,001 - 50,000 | 10% |
64
+ | 50,001 - 100,000| 20% |
65
+ | 100,001 이상 | 30% |
66
+
67
+ ### 입력값:
68
+ \`\`\`json
69
+ 45000
70
+ \`\`\`
71
+
72
+ ### 결과:
73
+ \`\`\`json
74
+ "10%"
75
+ \`\`\`
76
+
77
+ ---
78
+
79
+ ## ⚙ 설정 방법
80
+ 1. **범위 기준**을 설정합니다.
81
+ - 예: \`0 - 59 → "F"\`, \`60 - 69 → "D"\`
82
+ 2. **입력값이 해당 범위 내에 있는지 검사**합니다.
83
+ 3. **일치하는 범위의 출력 값을 반환**합니다.
84
+
85
+ ---
86
+
87
+ ## 🔍 주요 특징
88
+ - **숫자 범위 기반 데이터 변환** (예: 등급 부여, 상태 분류, 세율 적용 등)
89
+ - **범위는 연속적이며 겹치지 않도록 설정**해야 합니다.
90
+ - **오름차순으로 설정**해야 정확한 매핑이 가능합니다.
91
+
92
+ 💡 **Range Mapping을 사용하여 데이터를 쉽고 직관적으로 변환하세요!**
93
+ `;
94
+ export const RangeMapping = {
95
+ name: 'range-mapping',
96
+ label: 'Range Mapping',
97
+ specifications: [
98
+ {
99
+ type: 'range',
100
+ name: 'ranges',
101
+ label: 'Value Ranges'
102
+ }
103
+ ],
104
+ help: MARKDOWN_HELP
105
+ };
106
+ //# sourceMappingURL=range-mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-mapping.js","sourceRoot":"","sources":["../../../src/functions/range-mapping.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4FrB,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,eAAe;IACtB,cAAc,EAAE;QACd;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,cAAc;SACtB;KACF;IACD,IAAI,EAAE,aAAa;CACpB,CAAA","sourcesContent":["const MARKDOWN_HELP = `\n# Range Mapping (값 범위 매핑)\n\nRange Mapping 기능을 사용하면 **입력 값이 특정 범위에 속할 경우 해당하는 출력 값을 반환**할 수 있습니다. \n이 기능은 **숫자 범위를 기준으로 데이터를 변환하거나 분류**하는 데 유용합니다.\n\n## 🛠 사용 방법\n\n1. **입력값**: 숫자 값 (예: 점수, 가격, 온도 등)\n2. **범위 매핑**: 특정 범위 내의 값에 대응하는 결과 값을 설정\n3. **출력값**: 입력값이 속한 범위의 매핑 결과를 반환\n\n---\n\n## 📌 예제 1: 점수에 따른 등급 부여\n### 매핑 설정:\n| 입력 범위 | 출력 값 |\n|-----------|---------|\n| 0 - 59 | \"F\" |\n| 60 - 69 | \"D\" |\n| 70 - 79 | \"C\" |\n| 80 - 89 | \"B\" |\n| 90 - 100 | \"A\" |\n\n### 입력값: \n\\`\\`\\`json\n75\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n\"C\"\n\\`\\`\\`\n\n---\n\n## 📌 예제 2: 온도에 따른 상태 분류\n### 매핑 설정:\n| 입력 범위 | 출력 값 |\n|------------|---------|\n| -∞ - 0°C | \"Cold\" |\n| 1°C - 20°C | \"Cool\" |\n| 21°C - 30°C | \"Warm\" |\n| 31°C - ∞ | \"Hot\" |\n\n### 입력값: \n\\`\\`\\`json\n25\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n\"Warm\"\n\\`\\`\\`\n\n---\n\n## 📌 예제 3: 급여 구간에 따른 세금율 적용\n### 매핑 설정:\n| 급여 범위 | 세율 (%) |\n|------------------|---------|\n| 0 - 20,000 | 5% |\n| 20,001 - 50,000 | 10% |\n| 50,001 - 100,000| 20% |\n| 100,001 이상 | 30% |\n\n### 입력값: \n\\`\\`\\`json\n45000\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n\"10%\"\n\\`\\`\\`\n\n---\n\n## ⚙ 설정 방법\n1. **범위 기준**을 설정합니다. \n - 예: \\`0 - 59 → \"F\"\\`, \\`60 - 69 → \"D\"\\` \n2. **입력값이 해당 범위 내에 있는지 검사**합니다. \n3. **일치하는 범위의 출력 값을 반환**합니다. \n\n---\n\n## 🔍 주요 특징\n- **숫자 범위 기반 데이터 변환** (예: 등급 부여, 상태 분류, 세율 적용 등)\n- **범위는 연속적이며 겹치지 않도록 설정**해야 합니다.\n- **오름차순으로 설정**해야 정확한 매핑이 가능합니다.\n\n💡 **Range Mapping을 사용하여 데이터를 쉽고 직관적으로 변환하세요!**\n`\n\nexport const RangeMapping = {\n name: 'range-mapping',\n label: 'Range Mapping',\n specifications: [\n {\n type: 'range',\n name: 'ranges',\n label: 'Value Ranges'\n }\n ],\n help: MARKDOWN_HELP\n}\n"]}
@@ -0,0 +1,33 @@
1
+ export declare const StringManipulation: {
2
+ name: string;
3
+ label: string;
4
+ specifications: ({
5
+ type: string;
6
+ name: string;
7
+ label: string;
8
+ property: {
9
+ options: {
10
+ value: string;
11
+ display: string;
12
+ }[];
13
+ };
14
+ showIf?: undefined;
15
+ } | {
16
+ type: string;
17
+ name: string;
18
+ label: string;
19
+ showIf: {
20
+ operation: string;
21
+ };
22
+ property?: undefined;
23
+ } | {
24
+ type: string;
25
+ name: string;
26
+ label: string;
27
+ showIf: {
28
+ operation: string[];
29
+ };
30
+ property?: undefined;
31
+ })[];
32
+ help: string;
33
+ };