@operato/data-mapper 9.0.1 → 9.0.5

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 (54) hide show
  1. package/CHANGELOG.md +17 -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 +35 -0
  9. package/dist/src/components/property-editor.js +78 -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 +2 -0
  42. package/dist/src/index.js +3 -0
  43. package/dist/src/index.js.map +1 -0
  44. package/dist/src/ox-data-mapper.d.ts +24 -0
  45. package/dist/src/ox-data-mapper.js +241 -0
  46. package/dist/src/ox-data-mapper.js.map +1 -0
  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/tsconfig.tsbuildinfo +1 -1
  54. package/package.json +6 -6
@@ -0,0 +1,215 @@
1
+ const MARKDOWN_HELP = `
2
+ # String Manipulation (문자열 조작)
3
+
4
+ String Manipulation 기능을 사용하면 **텍스트 데이터를 다루는 다양한 작업**을 수행할 수 있습니다.
5
+ 이 기능은 **문자열 변환, 트리밍(Trim), 치환(Replace), 결합(Concatenation) 등**을 지원하며,
6
+ 데이터를 보다 효과적으로 처리하고 변환할 수 있습니다.
7
+
8
+ ---
9
+
10
+ ## 🛠 사용 방법
11
+
12
+ 1. **입력값**: 조작할 텍스트 데이터 (예: 이름, 주소, 설명 등)
13
+ 2. **조작 방식 선택**: 제공되는 다양한 문자열 조작 기능 중 선택
14
+ 3. **출력값**: 변환된 문자열 반환
15
+
16
+ ---
17
+
18
+ ## 📌 지원되는 문자열 조작 기능
19
+
20
+ | 기능명 | 설명 |
21
+ |--------------|------|
22
+ | **Uppercase** | 모든 문자를 대문자로 변환 |
23
+ | **Lowercase** | 모든 문자를 소문자로 변환 |
24
+ | **Capitalize** | 첫 글자만 대문자로 변환 |
25
+ | **Trim** | 앞뒤 공백 제거 |
26
+ | **Replace** | 특정 문자열을 다른 문자열로 치환 |
27
+ | **Substring** | 문자열의 일부를 추출 |
28
+ | **Concat** | 여러 문자열을 연결 |
29
+ | **Pad Start** | 문자열을 지정된 길이만큼 앞에서 채우기 |
30
+ | **Pad End** | 문자열을 지정된 길이만큼 뒤에서 채우기 |
31
+ | **Split** | 문자열을 특정 구분자로 나누기 |
32
+ | **Join** | 배열로 나누어진 문자열을 특정 구분자로 결합 |
33
+
34
+ ---
35
+
36
+ ## 📌 예제 1: 대소문자 변환
37
+ ### 입력값:
38
+ \`\`\`json
39
+ "hello world"
40
+ \`\`\`
41
+
42
+ ### 변환 설정:
43
+ \`\`\`json
44
+ {
45
+ "operation": "uppercase"
46
+ }
47
+ \`\`\`
48
+
49
+ ### 결과:
50
+ \`\`\`json
51
+ "HELLO WORLD"
52
+ \`\`\`
53
+
54
+ ---
55
+
56
+ ## 📌 예제 2: 특정 문자열 치환
57
+ ### 입력값:
58
+ \`\`\`json
59
+ "Welcome to AI"
60
+ \`\`\`
61
+
62
+ ### 변환 설정:
63
+ \`\`\`json
64
+ {
65
+ "operation": "replace",
66
+ "find": "AI",
67
+ "replaceWith": "ChatGPT"
68
+ }
69
+ \`\`\`
70
+
71
+ ### 결과:
72
+ \`\`\`json
73
+ "Welcome to ChatGPT"
74
+ \`\`\`
75
+
76
+ ---
77
+
78
+ ## 📌 예제 3: 문자열 합치기
79
+ ### 입력값:
80
+ \`\`\`json
81
+ ["Hello", "World"]
82
+ \`\`\`
83
+
84
+ ### 변환 설정:
85
+ \`\`\`json
86
+ {
87
+ "operation": "concat",
88
+ "separator": " "
89
+ }
90
+ \`\`\`
91
+
92
+ ### 결과:
93
+ \`\`\`json
94
+ "Hello World"
95
+ \`\`\`
96
+
97
+ ---
98
+
99
+ ## 📌 예제 4: 문자열 자르기 (Substring)
100
+ ### 입력값:
101
+ \`\`\`json
102
+ "abcdefg"
103
+ \`\`\`
104
+
105
+ ### 변환 설정:
106
+ \`\`\`json
107
+ {
108
+ "operation": "substring",
109
+ "startIndex": 2,
110
+ "length": 3
111
+ }
112
+ \`\`\`
113
+
114
+ ### 결과:
115
+ \`\`\`json
116
+ "cde"
117
+ \`\`\`
118
+
119
+ ---
120
+
121
+ ## 📌 예제 5: 문자열 나누기 (Split)
122
+ ### 입력값:
123
+ \`\`\`json
124
+ "apple,banana,grape"
125
+ \`\`\`
126
+
127
+ ### 변환 설정:
128
+ \`\`\`json
129
+ {
130
+ "operation": "split",
131
+ "separator": ","
132
+ }
133
+ \`\`\`
134
+
135
+ ### 결과:
136
+ \`\`\`json
137
+ ["apple", "banana", "grape"]
138
+ \`\`\`
139
+
140
+ ---
141
+
142
+ ## ⚙ 설정 방법
143
+ 1. **변환할 문자열을 입력값으로 제공**합니다.
144
+ 2. **적절한 문자열 조작 방식을 선택**합니다.
145
+ 3. **필요한 추가 설정(예: 치환 문자열, 패딩 길이 등)을 입력**합니다.
146
+ 4. **변환된 결과를 확인합니다.**
147
+
148
+ ---
149
+
150
+ ## 🔍 주요 특징
151
+ - **다양한 문자열 조작 기능 제공** (대소문자 변환, 치환, 결합 등)
152
+ - **입력값을 정제하고 가공하는 데 유용**
153
+ - **체인(Chaining) 방식으로 여러 변환을 연속 적용 가능**
154
+ - **데이터 정규화 및 표준화 작업에 적합**
155
+
156
+ 💡 **String Manipulation을 사용하여 텍스트 데이터를 효율적으로 변환하세요!**
157
+ `;
158
+ export const StringManipulation = {
159
+ name: 'string-manipulation',
160
+ label: 'String Manipulation',
161
+ specifications: [
162
+ {
163
+ type: 'select',
164
+ name: 'operation',
165
+ label: 'Operation',
166
+ property: {
167
+ options: [
168
+ { value: 'uppercase', display: 'Uppercase' },
169
+ { value: 'lowercase', display: 'Lowercase' },
170
+ { value: 'capitalize', display: 'Capitalize' },
171
+ { value: 'trim', display: 'Trim' },
172
+ { value: 'replace', display: 'Replace' },
173
+ { value: 'substring', display: 'Substring' },
174
+ { value: 'concat', display: 'Concatenate' },
175
+ { value: 'padStart', display: 'Pad Start' },
176
+ { value: 'padEnd', display: 'Pad End' },
177
+ { value: 'split', display: 'Split' },
178
+ { value: 'join', display: 'Join' }
179
+ ]
180
+ }
181
+ },
182
+ {
183
+ type: 'text',
184
+ name: 'find',
185
+ label: 'Find (for Replace)',
186
+ showIf: { operation: 'replace' }
187
+ },
188
+ {
189
+ type: 'text',
190
+ name: 'replaceWith',
191
+ label: 'Replace With (for Replace)',
192
+ showIf: { operation: 'replace' }
193
+ },
194
+ {
195
+ type: 'number',
196
+ name: 'startIndex',
197
+ label: 'Start Index (for Substring)',
198
+ showIf: { operation: 'substring' }
199
+ },
200
+ {
201
+ type: 'number',
202
+ name: 'length',
203
+ label: 'Length (for Substring)',
204
+ showIf: { operation: 'substring' }
205
+ },
206
+ {
207
+ type: 'text',
208
+ name: 'separator',
209
+ label: 'Separator (for Split & Join)',
210
+ showIf: { operation: ['split', 'join'] }
211
+ }
212
+ ],
213
+ help: MARKDOWN_HELP
214
+ };
215
+ //# sourceMappingURL=string-manipulation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-manipulation.js","sourceRoot":"","sources":["../../../src/functions/string-manipulation.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4JrB,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,qBAAqB;IAC3B,KAAK,EAAE,qBAAqB;IAC5B,cAAc,EAAE;QACd;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE;gBACR,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE;oBAC5C,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE;oBAC5C,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE;oBAC9C,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;oBAClC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;oBACxC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE;oBAC5C,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE;oBAC3C,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE;oBAC3C,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;oBACvC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;oBACpC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;iBACnC;aACF;SACF;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,oBAAoB;YAC3B,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;SACjC;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,4BAA4B;YACnC,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;SACjC;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,6BAA6B;YACpC,MAAM,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;SACnC;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,wBAAwB;YAC/B,MAAM,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;SACnC;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,8BAA8B;YACrC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;SACzC;KACF;IACD,IAAI,EAAE,aAAa;CACpB,CAAA","sourcesContent":["const MARKDOWN_HELP = `\n# String Manipulation (문자열 조작)\n\nString Manipulation 기능을 사용하면 **텍스트 데이터를 다루는 다양한 작업**을 수행할 수 있습니다. \n이 기능은 **문자열 변환, 트리밍(Trim), 치환(Replace), 결합(Concatenation) 등**을 지원하며, \n데이터를 보다 효과적으로 처리하고 변환할 수 있습니다.\n\n---\n\n## 🛠 사용 방법\n\n1. **입력값**: 조작할 텍스트 데이터 (예: 이름, 주소, 설명 등)\n2. **조작 방식 선택**: 제공되는 다양한 문자열 조작 기능 중 선택\n3. **출력값**: 변환된 문자열 반환\n\n---\n\n## 📌 지원되는 문자열 조작 기능\n\n| 기능명 | 설명 |\n|--------------|------|\n| **Uppercase** | 모든 문자를 대문자로 변환 |\n| **Lowercase** | 모든 문자를 소문자로 변환 |\n| **Capitalize** | 첫 글자만 대문자로 변환 |\n| **Trim** | 앞뒤 공백 제거 |\n| **Replace** | 특정 문자열을 다른 문자열로 치환 |\n| **Substring** | 문자열의 일부를 추출 |\n| **Concat** | 여러 문자열을 연결 |\n| **Pad Start** | 문자열을 지정된 길이만큼 앞에서 채우기 |\n| **Pad End** | 문자열을 지정된 길이만큼 뒤에서 채우기 |\n| **Split** | 문자열을 특정 구분자로 나누기 |\n| **Join** | 배열로 나누어진 문자열을 특정 구분자로 결합 |\n\n---\n\n## 📌 예제 1: 대소문자 변환\n### 입력값:\n\\`\\`\\`json\n\"hello world\"\n\\`\\`\\`\n\n### 변환 설정:\n\\`\\`\\`json\n{\n \"operation\": \"uppercase\"\n}\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n\"HELLO WORLD\"\n\\`\\`\\`\n\n---\n\n## 📌 예제 2: 특정 문자열 치환\n### 입력값:\n\\`\\`\\`json\n\"Welcome to AI\"\n\\`\\`\\`\n\n### 변환 설정:\n\\`\\`\\`json\n{\n \"operation\": \"replace\",\n \"find\": \"AI\",\n \"replaceWith\": \"ChatGPT\"\n}\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n\"Welcome to ChatGPT\"\n\\`\\`\\`\n\n---\n\n## 📌 예제 3: 문자열 합치기\n### 입력값:\n\\`\\`\\`json\n[\"Hello\", \"World\"]\n\\`\\`\\`\n\n### 변환 설정:\n\\`\\`\\`json\n{\n \"operation\": \"concat\",\n \"separator\": \" \"\n}\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n\"Hello World\"\n\\`\\`\\`\n\n---\n\n## 📌 예제 4: 문자열 자르기 (Substring)\n### 입력값:\n\\`\\`\\`json\n\"abcdefg\"\n\\`\\`\\`\n\n### 변환 설정:\n\\`\\`\\`json\n{\n \"operation\": \"substring\",\n \"startIndex\": 2,\n \"length\": 3\n}\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n\"cde\"\n\\`\\`\\`\n\n---\n\n## 📌 예제 5: 문자열 나누기 (Split)\n### 입력값:\n\\`\\`\\`json\n\"apple,banana,grape\"\n\\`\\`\\`\n\n### 변환 설정:\n\\`\\`\\`json\n{\n \"operation\": \"split\",\n \"separator\": \",\"\n}\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n[\"apple\", \"banana\", \"grape\"]\n\\`\\`\\`\n\n---\n\n## ⚙ 설정 방법\n1. **변환할 문자열을 입력값으로 제공**합니다. \n2. **적절한 문자열 조작 방식을 선택**합니다. \n3. **필요한 추가 설정(예: 치환 문자열, 패딩 길이 등)을 입력**합니다. \n4. **변환된 결과를 확인합니다.**\n\n---\n\n## 🔍 주요 특징\n- **다양한 문자열 조작 기능 제공** (대소문자 변환, 치환, 결합 등)\n- **입력값을 정제하고 가공하는 데 유용**\n- **체인(Chaining) 방식으로 여러 변환을 연속 적용 가능**\n- **데이터 정규화 및 표준화 작업에 적합**\n\n💡 **String Manipulation을 사용하여 텍스트 데이터를 효율적으로 변환하세요!**\n`\n\nexport const StringManipulation = {\n name: 'string-manipulation',\n label: 'String Manipulation',\n specifications: [\n {\n type: 'select',\n name: 'operation',\n label: 'Operation',\n property: {\n options: [\n { value: 'uppercase', display: 'Uppercase' },\n { value: 'lowercase', display: 'Lowercase' },\n { value: 'capitalize', display: 'Capitalize' },\n { value: 'trim', display: 'Trim' },\n { value: 'replace', display: 'Replace' },\n { value: 'substring', display: 'Substring' },\n { value: 'concat', display: 'Concatenate' },\n { value: 'padStart', display: 'Pad Start' },\n { value: 'padEnd', display: 'Pad End' },\n { value: 'split', display: 'Split' },\n { value: 'join', display: 'Join' }\n ]\n }\n },\n {\n type: 'text',\n name: 'find',\n label: 'Find (for Replace)',\n showIf: { operation: 'replace' }\n },\n {\n type: 'text',\n name: 'replaceWith',\n label: 'Replace With (for Replace)',\n showIf: { operation: 'replace' }\n },\n {\n type: 'number',\n name: 'startIndex',\n label: 'Start Index (for Substring)',\n showIf: { operation: 'substring' }\n },\n {\n type: 'number',\n name: 'length',\n label: 'Length (for Substring)',\n showIf: { operation: 'substring' }\n },\n {\n type: 'text',\n name: 'separator',\n label: 'Separator (for Split & Join)',\n showIf: { operation: ['split', 'join'] }\n }\n ],\n help: MARKDOWN_HELP\n}\n"]}
@@ -0,0 +1,25 @@
1
+ export declare const TextTransform: {
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
+ help: string;
25
+ };
@@ -0,0 +1,167 @@
1
+ const MARKDOWN_HELP = `
2
+ # Text Transform (텍스트 변환)
3
+
4
+ Text Transform 기능을 사용하면 **문자열 데이터를 다양한 방식으로 변환**할 수 있습니다.
5
+ 이 기능은 **대소문자 변환, 트림(trim), 치환(replace) 등** 문자열을 다루는 다양한 작업을 수행할 수 있습니다.
6
+
7
+ ---
8
+
9
+ ## 🛠 사용 방법
10
+
11
+ 1. **입력값**: 변환할 텍스트 데이터 (예: 이름, 주소, 설명 등)
12
+ 2. **변환 방식 선택**: 여러 가지 텍스트 변환 옵션 중 선택
13
+ 3. **출력값**: 변환된 문자열 반환
14
+
15
+ ---
16
+
17
+ ## 📌 지원되는 변환 기능
18
+
19
+ | 기능명 | 설명 |
20
+ |--------------|------|
21
+ | **Uppercase** | 모든 문자를 대문자로 변환 |
22
+ | **Lowercase** | 모든 문자를 소문자로 변환 |
23
+ | **Capitalize** | 첫 글자만 대문자로 변환 |
24
+ | **Trim** | 앞뒤 공백 제거 |
25
+ | **Replace** | 특정 문자열을 다른 문자열로 치환 |
26
+ | **Substring** | 문자열의 일부를 추출 |
27
+ | **Concat** | 여러 문자열을 연결 |
28
+ | **Pad Start** | 문자열을 지정된 길이만큼 앞에서 채우기 |
29
+ | **Pad End** | 문자열을 지정된 길이만큼 뒤에서 채우기 |
30
+
31
+ ---
32
+
33
+ ## 📌 예제 1: 대소문자 변환
34
+ ### 입력값:
35
+ \`\`\`json
36
+ "hello world"
37
+ \`\`\`
38
+
39
+ ### 변환 설정:
40
+ \`\`\`json
41
+ {
42
+ "operation": "uppercase"
43
+ }
44
+ \`\`\`
45
+
46
+ ### 결과:
47
+ \`\`\`json
48
+ "HELLO WORLD"
49
+ \`\`\`
50
+
51
+ ---
52
+
53
+ ## 📌 예제 2: 특정 문자열 치환
54
+ ### 입력값:
55
+ \`\`\`json
56
+ "Welcome to AI"
57
+ \`\`\`
58
+
59
+ ### 변환 설정:
60
+ \`\`\`json
61
+ {
62
+ "operation": "replace",
63
+ "find": "AI",
64
+ "replaceWith": "ChatGPT"
65
+ }
66
+ \`\`\`
67
+
68
+ ### 결과:
69
+ \`\`\`json
70
+ "Welcome to ChatGPT"
71
+ \`\`\`
72
+
73
+ ---
74
+
75
+ ## 📌 예제 3: 문자열 합치기
76
+ ### 입력값:
77
+ \`\`\`json
78
+ ["Hello", "World"]
79
+ \`\`\`
80
+
81
+ ### 변환 설정:
82
+ \`\`\`json
83
+ {
84
+ "operation": "concat",
85
+ "separator": " "
86
+ }
87
+ \`\`\`
88
+
89
+ ### 결과:
90
+ \`\`\`json
91
+ "Hello World"
92
+ \`\`\`
93
+
94
+ ---
95
+
96
+ ## ⚙ 설정 방법
97
+ 1. **변환할 문자열을 입력값으로 제공**합니다.
98
+ 2. **적절한 변환 방식을 선택**합니다.
99
+ 3. **필요한 추가 설정(예: 치환 문자열, 패딩 길이 등)을 입력**합니다.
100
+ 4. **변환된 결과를 확인합니다.**
101
+
102
+ ---
103
+
104
+ ## 🔍 주요 특징
105
+ - **다양한 텍스트 변환 옵션 제공** (대소문자, 치환, 합치기 등)
106
+ - **입력값을 정제하고 가공하는 데 유용**
107
+ - **체인(Chaining) 방식으로 여러 변환을 연속 적용 가능**
108
+ - **데이터 정규화 및 표준화 작업에 적합**
109
+
110
+ 💡 **Text Transform을 사용하여 데이터를 쉽게 정리하고 변환하세요!**
111
+ `;
112
+ export const TextTransform = {
113
+ name: 'text-transform',
114
+ label: 'Text Transform',
115
+ specifications: [
116
+ {
117
+ type: 'select',
118
+ name: 'operation',
119
+ label: 'Operation',
120
+ property: {
121
+ options: [
122
+ { value: 'uppercase', display: 'Uppercase' },
123
+ { value: 'lowercase', display: 'Lowercase' },
124
+ { value: 'capitalize', display: 'Capitalize' },
125
+ { value: 'trim', display: 'Trim' },
126
+ { value: 'replace', display: 'Replace' },
127
+ { value: 'substring', display: 'Substring' },
128
+ { value: 'concat', display: 'Concatenate' },
129
+ { value: 'padStart', display: 'Pad Start' },
130
+ { value: 'padEnd', display: 'Pad End' }
131
+ ]
132
+ }
133
+ },
134
+ {
135
+ type: 'text',
136
+ name: 'find',
137
+ label: 'Find (for Replace)',
138
+ showIf: { operation: 'replace' }
139
+ },
140
+ {
141
+ type: 'text',
142
+ name: 'replaceWith',
143
+ label: 'Replace With (for Replace)',
144
+ showIf: { operation: 'replace' }
145
+ },
146
+ {
147
+ type: 'number',
148
+ name: 'startIndex',
149
+ label: 'Start Index (for Substring)',
150
+ showIf: { operation: 'substring' }
151
+ },
152
+ {
153
+ type: 'number',
154
+ name: 'length',
155
+ label: 'Length (for Substring)',
156
+ showIf: { operation: 'substring' }
157
+ },
158
+ {
159
+ type: 'text',
160
+ name: 'separator',
161
+ label: 'Separator (for Concatenation)',
162
+ showIf: { operation: 'concat' }
163
+ }
164
+ ],
165
+ help: MARKDOWN_HELP
166
+ };
167
+ //# sourceMappingURL=text-transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-transform.js","sourceRoot":"","sources":["../../../src/functions/text-transform.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8GrB,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,gBAAgB;IACvB,cAAc,EAAE;QACd;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE;gBACR,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE;oBAC5C,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE;oBAC5C,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE;oBAC9C,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;oBAClC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;oBACxC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE;oBAC5C,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE;oBAC3C,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE;oBAC3C,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;iBACxC;aACF;SACF;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,oBAAoB;YAC3B,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;SACjC;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,4BAA4B;YACnC,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;SACjC;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,6BAA6B;YACpC,MAAM,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;SACnC;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,wBAAwB;YAC/B,MAAM,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;SACnC;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,+BAA+B;YACtC,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;SAChC;KACF;IACD,IAAI,EAAE,aAAa;CACpB,CAAA","sourcesContent":["const MARKDOWN_HELP = `\n# Text Transform (텍스트 변환)\n\nText Transform 기능을 사용하면 **문자열 데이터를 다양한 방식으로 변환**할 수 있습니다. \n이 기능은 **대소문자 변환, 트림(trim), 치환(replace) 등** 문자열을 다루는 다양한 작업을 수행할 수 있습니다.\n\n---\n\n## 🛠 사용 방법\n\n1. **입력값**: 변환할 텍스트 데이터 (예: 이름, 주소, 설명 등)\n2. **변환 방식 선택**: 여러 가지 텍스트 변환 옵션 중 선택\n3. **출력값**: 변환된 문자열 반환\n\n---\n\n## 📌 지원되는 변환 기능\n\n| 기능명 | 설명 |\n|--------------|------|\n| **Uppercase** | 모든 문자를 대문자로 변환 |\n| **Lowercase** | 모든 문자를 소문자로 변환 |\n| **Capitalize** | 첫 글자만 대문자로 변환 |\n| **Trim** | 앞뒤 공백 제거 |\n| **Replace** | 특정 문자열을 다른 문자열로 치환 |\n| **Substring** | 문자열의 일부를 추출 |\n| **Concat** | 여러 문자열을 연결 |\n| **Pad Start** | 문자열을 지정된 길이만큼 앞에서 채우기 |\n| **Pad End** | 문자열을 지정된 길이만큼 뒤에서 채우기 |\n\n---\n\n## 📌 예제 1: 대소문자 변환\n### 입력값:\n\\`\\`\\`json\n\"hello world\"\n\\`\\`\\`\n\n### 변환 설정:\n\\`\\`\\`json\n{\n \"operation\": \"uppercase\"\n}\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n\"HELLO WORLD\"\n\\`\\`\\`\n\n---\n\n## 📌 예제 2: 특정 문자열 치환\n### 입력값:\n\\`\\`\\`json\n\"Welcome to AI\"\n\\`\\`\\`\n\n### 변환 설정:\n\\`\\`\\`json\n{\n \"operation\": \"replace\",\n \"find\": \"AI\",\n \"replaceWith\": \"ChatGPT\"\n}\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n\"Welcome to ChatGPT\"\n\\`\\`\\`\n\n---\n\n## 📌 예제 3: 문자열 합치기\n### 입력값:\n\\`\\`\\`json\n[\"Hello\", \"World\"]\n\\`\\`\\`\n\n### 변환 설정:\n\\`\\`\\`json\n{\n \"operation\": \"concat\",\n \"separator\": \" \"\n}\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n\"Hello World\"\n\\`\\`\\`\n\n---\n\n## ⚙ 설정 방법\n1. **변환할 문자열을 입력값으로 제공**합니다. \n2. **적절한 변환 방식을 선택**합니다. \n3. **필요한 추가 설정(예: 치환 문자열, 패딩 길이 등)을 입력**합니다. \n4. **변환된 결과를 확인합니다.**\n\n---\n\n## 🔍 주요 특징\n- **다양한 텍스트 변환 옵션 제공** (대소문자, 치환, 합치기 등)\n- **입력값을 정제하고 가공하는 데 유용**\n- **체인(Chaining) 방식으로 여러 변환을 연속 적용 가능**\n- **데이터 정규화 및 표준화 작업에 적합**\n\n💡 **Text Transform을 사용하여 데이터를 쉽게 정리하고 변환하세요!**\n`\n\nexport const TextTransform = {\n name: 'text-transform',\n label: 'Text Transform',\n specifications: [\n {\n type: 'select',\n name: 'operation',\n label: 'Operation',\n property: {\n options: [\n { value: 'uppercase', display: 'Uppercase' },\n { value: 'lowercase', display: 'Lowercase' },\n { value: 'capitalize', display: 'Capitalize' },\n { value: 'trim', display: 'Trim' },\n { value: 'replace', display: 'Replace' },\n { value: 'substring', display: 'Substring' },\n { value: 'concat', display: 'Concatenate' },\n { value: 'padStart', display: 'Pad Start' },\n { value: 'padEnd', display: 'Pad End' }\n ]\n }\n },\n {\n type: 'text',\n name: 'find',\n label: 'Find (for Replace)',\n showIf: { operation: 'replace' }\n },\n {\n type: 'text',\n name: 'replaceWith',\n label: 'Replace With (for Replace)',\n showIf: { operation: 'replace' }\n },\n {\n type: 'number',\n name: 'startIndex',\n label: 'Start Index (for Substring)',\n showIf: { operation: 'substring' }\n },\n {\n type: 'number',\n name: 'length',\n label: 'Length (for Substring)',\n showIf: { operation: 'substring' }\n },\n {\n type: 'text',\n name: 'separator',\n label: 'Separator (for Concatenation)',\n showIf: { operation: 'concat' }\n }\n ],\n help: MARKDOWN_HELP\n}\n"]}
@@ -0,0 +1,10 @@
1
+ export declare const ValueMapping: {
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,109 @@
1
+ const MARKDOWN_HELP = `
2
+ # Value Mapping (값 매핑)
3
+
4
+ Value Mapping 기능을 사용하면 **특정 입력값을 미리 정의된 출력값으로 변환**할 수 있습니다.
5
+ 이 기능은 **데이터 변환, 코드 변환, 명칭 변환 등** 다양한 용도로 활용할 수 있습니다.
6
+
7
+ ---
8
+
9
+ ## 🛠 사용 방법
10
+
11
+ 1. **입력값**: 변환할 값 (예: 코드 값, 키워드, 상태 등)
12
+ 2. **매핑 테이블**: 입력값과 출력값의 1:1 대응 관계 설정
13
+ 3. **출력값**: 입력값에 해당하는 변환 결과 반환
14
+
15
+ ---
16
+
17
+ ## 📌 예제 1: 상태 코드 변환
18
+ ### 매핑 설정:
19
+ | 입력 값 | 출력 값 |
20
+ |----------|--------------|
21
+ | "NEW" | "신규" |
22
+ | "IN_PROGRESS" | "진행 중" |
23
+ | "COMPLETED" | "완료됨" |
24
+ | "CANCELLED" | "취소됨" |
25
+
26
+ ### 입력값:
27
+ \`\`\`json
28
+ "IN_PROGRESS"
29
+ \`\`\`
30
+
31
+ ### 결과:
32
+ \`\`\`json
33
+ "진행 중"
34
+ \`\`\`
35
+
36
+ ---
37
+
38
+ ## 📌 예제 2: 국가 코드 변환
39
+ ### 매핑 설정:
40
+ | 입력 값 | 출력 값 |
41
+ |---------|---------|
42
+ | "US" | "United States" |
43
+ | "KR" | "South Korea" |
44
+ | "JP" | "Japan" |
45
+ | "CN" | "China" |
46
+
47
+ ### 입력값:
48
+ \`\`\`json
49
+ "KR"
50
+ \`\`\`
51
+
52
+ ### 결과:
53
+ \`\`\`json
54
+ "South Korea"
55
+ \`\`\`
56
+
57
+ ---
58
+
59
+ ## 📌 예제 3: 고객 등급 변환
60
+ ### 매핑 설정:
61
+ | 입력 값 | 출력 값 |
62
+ |---------|---------|
63
+ | "1" | "VIP" |
64
+ | "2" | "Gold" |
65
+ | "3" | "Silver" |
66
+ | "4" | "Bronze" |
67
+
68
+ ### 입력값:
69
+ \`\`\`json
70
+ "3"
71
+ \`\`\`
72
+
73
+ ### 결과:
74
+ \`\`\`json
75
+ "Silver"
76
+ \`\`\`
77
+
78
+ ---
79
+
80
+ ## ⚙ 설정 방법
81
+ 1. **입력 값과 출력 값을 1:1로 매핑**합니다.
82
+ - 예: \`"NEW" → "신규"\`, \`"IN_PROGRESS" → "진행 중"\`
83
+ 2. **입력값이 매핑 테이블에 존재하는지 확인**합니다.
84
+ 3. **일치하는 값이 있으면 해당하는 출력값을 반환**합니다.
85
+ 4. **일치하는 값이 없을 경우 기본값을 설정할 수도 있습니다.** (예: "Unknown")
86
+
87
+ ---
88
+
89
+ ## 🔍 주요 특징
90
+ - **명확한 1:1 매핑 가능** (예: 코드 변환, 명칭 변환)
91
+ - **데이터 정규화 및 표준화 용이**
92
+ - **미리 정의된 값만 처리 가능 (예외 처리가 필요할 수 있음)**
93
+ - **일치하는 값이 없을 경우 기본값 설정 가능**
94
+
95
+ 💡 **Value Mapping을 사용하여 데이터를 쉽고 직관적으로 변환하세요!**
96
+ `;
97
+ export const ValueMapping = {
98
+ name: 'value-mapping',
99
+ label: 'Value Mapping',
100
+ specifications: [
101
+ {
102
+ type: 'map',
103
+ name: 'valueMappings',
104
+ label: 'Value Mappings'
105
+ }
106
+ ],
107
+ help: MARKDOWN_HELP
108
+ };
109
+ //# sourceMappingURL=value-mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-mapping.js","sourceRoot":"","sources":["../../../src/functions/value-mapping.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+FrB,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,eAAe;IACtB,cAAc,EAAE;QACd;YACE,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,gBAAgB;SACxB;KACF;IACD,IAAI,EAAE,aAAa;CACpB,CAAA","sourcesContent":["const MARKDOWN_HELP = `\n# Value Mapping (값 매핑)\n\nValue Mapping 기능을 사용하면 **특정 입력값을 미리 정의된 출력값으로 변환**할 수 있습니다. \n이 기능은 **데이터 변환, 코드 변환, 명칭 변환 등** 다양한 용도로 활용할 수 있습니다.\n\n---\n\n## 🛠 사용 방법\n\n1. **입력값**: 변환할 값 (예: 코드 값, 키워드, 상태 등)\n2. **매핑 테이블**: 입력값과 출력값의 1:1 대응 관계 설정\n3. **출력값**: 입력값에 해당하는 변환 결과 반환\n\n---\n\n## 📌 예제 1: 상태 코드 변환\n### 매핑 설정:\n| 입력 값 | 출력 값 |\n|----------|--------------|\n| \"NEW\" | \"신규\" |\n| \"IN_PROGRESS\" | \"진행 중\" |\n| \"COMPLETED\" | \"완료됨\" |\n| \"CANCELLED\" | \"취소됨\" |\n\n### 입력값:\n\\`\\`\\`json\n\"IN_PROGRESS\"\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n\"진행 중\"\n\\`\\`\\`\n\n---\n\n## 📌 예제 2: 국가 코드 변환\n### 매핑 설정:\n| 입력 값 | 출력 값 |\n|---------|---------|\n| \"US\" | \"United States\" |\n| \"KR\" | \"South Korea\" |\n| \"JP\" | \"Japan\" |\n| \"CN\" | \"China\" |\n\n### 입력값:\n\\`\\`\\`json\n\"KR\"\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n\"South Korea\"\n\\`\\`\\`\n\n---\n\n## 📌 예제 3: 고객 등급 변환\n### 매핑 설정:\n| 입력 값 | 출력 값 |\n|---------|---------|\n| \"1\" | \"VIP\" |\n| \"2\" | \"Gold\" |\n| \"3\" | \"Silver\" |\n| \"4\" | \"Bronze\" |\n\n### 입력값:\n\\`\\`\\`json\n\"3\"\n\\`\\`\\`\n\n### 결과:\n\\`\\`\\`json\n\"Silver\"\n\\`\\`\\`\n\n---\n\n## ⚙ 설정 방법\n1. **입력 값과 출력 값을 1:1로 매핑**합니다. \n - 예: \\`\"NEW\" → \"신규\"\\`, \\`\"IN_PROGRESS\" → \"진행 중\"\\` \n2. **입력값이 매핑 테이블에 존재하는지 확인**합니다. \n3. **일치하는 값이 있으면 해당하는 출력값을 반환**합니다. \n4. **일치하는 값이 없을 경우 기본값을 설정할 수도 있습니다.** (예: \"Unknown\")\n\n---\n\n## 🔍 주요 특징\n- **명확한 1:1 매핑 가능** (예: 코드 변환, 명칭 변환)\n- **데이터 정규화 및 표준화 용이**\n- **미리 정의된 값만 처리 가능 (예외 처리가 필요할 수 있음)**\n- **일치하는 값이 없을 경우 기본값 설정 가능**\n\n💡 **Value Mapping을 사용하여 데이터를 쉽고 직관적으로 변환하세요!**\n`\n\nexport const ValueMapping = {\n name: 'value-mapping',\n label: 'Value Mapping',\n specifications: [\n {\n type: 'map',\n name: 'valueMappings',\n label: 'Value Mappings'\n }\n ],\n help: MARKDOWN_HELP\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './types.js';
2
+ export * from './ox-data-mapper.js';
@@ -0,0 +1,3 @@
1
+ export * from './types.js';
2
+ export * from './ox-data-mapper.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,qBAAqB,CAAA","sourcesContent":["export * from './types.js'\nexport * from './ox-data-mapper.js'\n"]}
@@ -0,0 +1,24 @@
1
+ import '@operato/data-tree/ox-tree.js';
2
+ import './ox-mapping-area.js';
3
+ import { LitElement } from 'lit';
4
+ import { TreeNode, Mapping } from './types.js';
5
+ export declare class OxDataMapper extends LitElement {
6
+ static styles: import("lit").CSSResult;
7
+ sourceSchema: TreeNode;
8
+ targetSchema: TreeNode;
9
+ mappings: Mapping[];
10
+ private selected;
11
+ private sourceTree;
12
+ private targetTree;
13
+ private mappingsArea;
14
+ private dataMapperContext;
15
+ private dragStartElement;
16
+ render(): import("lit-html").TemplateResult<1>;
17
+ getNodePosition(nodeId: string, source: boolean): {
18
+ x: number;
19
+ y: number;
20
+ } | undefined;
21
+ onDragStart(e: DragEvent): void;
22
+ onDragOver(e: DragEvent): void;
23
+ onDrop(e: DragEvent): void;
24
+ }