@alibarbar/common 1.0.9 → 1.1.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 (185) hide show
  1. package/dist/{chunk-O3O67R4I.js → algorithm.cjs} +1 -3
  2. package/dist/algorithm.js +130 -44
  3. package/dist/{chunk-LOAZSPGQ.js → array.cjs} +1 -3
  4. package/dist/array.js +135 -84
  5. package/dist/{chunk-Y364QIQH.js → color.cjs} +1 -3
  6. package/dist/color.js +127 -40
  7. package/dist/{chunk-DYBSRI7V.js → crypto.cjs} +109 -3
  8. package/dist/crypto.d.mts +48 -1
  9. package/dist/crypto.d.ts +48 -1
  10. package/dist/crypto.js +274 -60
  11. package/dist/{chunk-BHCRFURU.js → data-structure.cjs} +1 -3
  12. package/dist/data-structure.js +481 -32
  13. package/dist/{chunk-I3L42475.js → date.cjs} +1 -3
  14. package/dist/date.js +125 -72
  15. package/dist/{chunk-JK2SE3I2.js → dom.cjs} +1 -3
  16. package/dist/dom.js +84 -56
  17. package/dist/{chunk-7V5UQXIO.js → file.cjs} +1 -3
  18. package/dist/file.js +79 -32
  19. package/dist/{chunk-OX5PLOWB.js → i18n.cjs} +1 -3
  20. package/dist/i18n.js +78 -40
  21. package/dist/index.cjs +4543 -0
  22. package/dist/index.d.mts +6 -162
  23. package/dist/index.d.ts +6 -162
  24. package/dist/index.js +3712 -17374
  25. package/dist/{chunk-4RGXV4SJ.js → network.cjs} +1 -3
  26. package/dist/network.js +97 -28
  27. package/dist/{chunk-3FRYJPHG.js → number.cjs} +1 -3
  28. package/dist/number.js +77 -56
  29. package/dist/{chunk-27UDDVLZ.js → object.cjs} +1 -3
  30. package/dist/object.js +237 -80
  31. package/dist/{chunk-JQZBPAPO.js → performance.cjs} +1 -3
  32. package/dist/performance.js +145 -40
  33. package/dist/services.cjs +291 -0
  34. package/dist/services.d.mts +161 -0
  35. package/dist/services.d.ts +161 -0
  36. package/dist/services.js +281 -0
  37. package/dist/storage.cjs +943 -0
  38. package/dist/storage.d.mts +46 -1
  39. package/dist/storage.d.ts +46 -1
  40. package/dist/storage.js +930 -32
  41. package/dist/{chunk-D7CS5EKF.js → string.cjs} +1 -3
  42. package/dist/string.js +91 -68
  43. package/dist/{chunk-56W6YECK.js → tracking.cjs} +1 -3
  44. package/dist/tracking.js +359 -52
  45. package/dist/{chunk-ZDMFMUDR.js → transform.cjs} +1 -3
  46. package/dist/transform.js +299 -32
  47. package/dist/{chunk-NJARVI6X.mjs → upload.cjs} +42 -15
  48. package/dist/upload.d.mts +1 -1
  49. package/dist/upload.d.ts +1 -1
  50. package/dist/upload.js +402 -20
  51. package/dist/{chunk-KGFTD255.js → url.cjs} +1 -3
  52. package/dist/url.js +91 -44
  53. package/dist/{chunk-TQN37HIN.js → validation.cjs} +1 -3
  54. package/dist/validation.js +77 -60
  55. package/package.json +7 -2
  56. package/dist/algorithm.js.map +0 -1
  57. package/dist/algorithm.mjs +0 -4
  58. package/dist/algorithm.mjs.map +0 -1
  59. package/dist/array.js.map +0 -1
  60. package/dist/array.mjs +0 -4
  61. package/dist/array.mjs.map +0 -1
  62. package/dist/chunk-27UDDVLZ.js.map +0 -1
  63. package/dist/chunk-2R2QWFJC.mjs +0 -138
  64. package/dist/chunk-2R2QWFJC.mjs.map +0 -1
  65. package/dist/chunk-3FRYJPHG.js.map +0 -1
  66. package/dist/chunk-4RGXV4SJ.js.map +0 -1
  67. package/dist/chunk-56W6YECK.js.map +0 -1
  68. package/dist/chunk-5BGSUGTI.mjs +0 -128
  69. package/dist/chunk-5BGSUGTI.mjs.map +0 -1
  70. package/dist/chunk-7E6GELHJ.mjs +0 -302
  71. package/dist/chunk-7E6GELHJ.mjs.map +0 -1
  72. package/dist/chunk-7V5UQXIO.js.map +0 -1
  73. package/dist/chunk-A4SWQXX7.mjs +0 -484
  74. package/dist/chunk-A4SWQXX7.mjs.map +0 -1
  75. package/dist/chunk-BHCRFURU.js.map +0 -1
  76. package/dist/chunk-CDSGEAOK.mjs +0 -80
  77. package/dist/chunk-CDSGEAOK.mjs.map +0 -1
  78. package/dist/chunk-D7CS5EKF.js.map +0 -1
  79. package/dist/chunk-DYBSRI7V.js.map +0 -1
  80. package/dist/chunk-FEBKPX5A.js +0 -386
  81. package/dist/chunk-FEBKPX5A.js.map +0 -1
  82. package/dist/chunk-FJ6ZGZIA.mjs +0 -39
  83. package/dist/chunk-FJ6ZGZIA.mjs.map +0 -1
  84. package/dist/chunk-HLDFI7R2.mjs +0 -175
  85. package/dist/chunk-HLDFI7R2.mjs.map +0 -1
  86. package/dist/chunk-I3L42475.js.map +0 -1
  87. package/dist/chunk-JBLX27WD.mjs +0 -240
  88. package/dist/chunk-JBLX27WD.mjs.map +0 -1
  89. package/dist/chunk-JHZ7M2MR.mjs +0 -133
  90. package/dist/chunk-JHZ7M2MR.mjs.map +0 -1
  91. package/dist/chunk-JK2SE3I2.js.map +0 -1
  92. package/dist/chunk-JQZBPAPO.js.map +0 -1
  93. package/dist/chunk-JXYGC2C5.mjs +0 -100
  94. package/dist/chunk-JXYGC2C5.mjs.map +0 -1
  95. package/dist/chunk-KGFTD255.js.map +0 -1
  96. package/dist/chunk-LBHBNPNJ.mjs +0 -148
  97. package/dist/chunk-LBHBNPNJ.mjs.map +0 -1
  98. package/dist/chunk-LF4CILQS.mjs +0 -87
  99. package/dist/chunk-LF4CILQS.mjs.map +0 -1
  100. package/dist/chunk-LOAZSPGQ.js.map +0 -1
  101. package/dist/chunk-NJARVI6X.mjs.map +0 -1
  102. package/dist/chunk-NSSDYX2U.mjs +0 -80
  103. package/dist/chunk-NSSDYX2U.mjs.map +0 -1
  104. package/dist/chunk-O3O67R4I.js.map +0 -1
  105. package/dist/chunk-OIXQ3E6W.mjs +0 -354
  106. package/dist/chunk-OIXQ3E6W.mjs.map +0 -1
  107. package/dist/chunk-OX5PLOWB.js.map +0 -1
  108. package/dist/chunk-PJ7UCTX4.mjs +0 -362
  109. package/dist/chunk-PJ7UCTX4.mjs.map +0 -1
  110. package/dist/chunk-PR4QN5HX.js +0 -44
  111. package/dist/chunk-PR4QN5HX.js.map +0 -1
  112. package/dist/chunk-QIBE7GVN.mjs +0 -81
  113. package/dist/chunk-QIBE7GVN.mjs.map +0 -1
  114. package/dist/chunk-QIOC54LQ.mjs +0 -130
  115. package/dist/chunk-QIOC54LQ.mjs.map +0 -1
  116. package/dist/chunk-TQN37HIN.js.map +0 -1
  117. package/dist/chunk-WZDOPUJW.js +0 -361
  118. package/dist/chunk-WZDOPUJW.js.map +0 -1
  119. package/dist/chunk-XJTZDXSR.mjs +0 -94
  120. package/dist/chunk-XJTZDXSR.mjs.map +0 -1
  121. package/dist/chunk-Y364QIQH.js.map +0 -1
  122. package/dist/chunk-YXM6Q4JS.mjs +0 -94
  123. package/dist/chunk-YXM6Q4JS.mjs.map +0 -1
  124. package/dist/chunk-ZDMFMUDR.js.map +0 -1
  125. package/dist/chunk-ZVJ6NQUM.mjs +0 -82
  126. package/dist/chunk-ZVJ6NQUM.mjs.map +0 -1
  127. package/dist/color.js.map +0 -1
  128. package/dist/color.mjs +0 -4
  129. package/dist/color.mjs.map +0 -1
  130. package/dist/crypto.js.map +0 -1
  131. package/dist/crypto.mjs +0 -4
  132. package/dist/crypto.mjs.map +0 -1
  133. package/dist/data-structure.js.map +0 -1
  134. package/dist/data-structure.mjs +0 -4
  135. package/dist/data-structure.mjs.map +0 -1
  136. package/dist/date.js.map +0 -1
  137. package/dist/date.mjs +0 -4
  138. package/dist/date.mjs.map +0 -1
  139. package/dist/dom.js.map +0 -1
  140. package/dist/dom.mjs +0 -4
  141. package/dist/dom.mjs.map +0 -1
  142. package/dist/file.js.map +0 -1
  143. package/dist/file.mjs +0 -4
  144. package/dist/file.mjs.map +0 -1
  145. package/dist/i18n.js.map +0 -1
  146. package/dist/i18n.mjs +0 -4
  147. package/dist/i18n.mjs.map +0 -1
  148. package/dist/index.js.map +0 -1
  149. package/dist/index.mjs +0 -17155
  150. package/dist/index.mjs.map +0 -1
  151. package/dist/network.js.map +0 -1
  152. package/dist/network.mjs +0 -4
  153. package/dist/network.mjs.map +0 -1
  154. package/dist/number.js.map +0 -1
  155. package/dist/number.mjs +0 -4
  156. package/dist/number.mjs.map +0 -1
  157. package/dist/object.js.map +0 -1
  158. package/dist/object.mjs +0 -4
  159. package/dist/object.mjs.map +0 -1
  160. package/dist/performance.js.map +0 -1
  161. package/dist/performance.mjs +0 -4
  162. package/dist/performance.mjs.map +0 -1
  163. package/dist/storage.js.map +0 -1
  164. package/dist/storage.mjs +0 -5
  165. package/dist/storage.mjs.map +0 -1
  166. package/dist/string.js.map +0 -1
  167. package/dist/string.mjs +0 -4
  168. package/dist/string.mjs.map +0 -1
  169. package/dist/tracking.js.map +0 -1
  170. package/dist/tracking.mjs +0 -4
  171. package/dist/tracking.mjs.map +0 -1
  172. package/dist/transform.js.map +0 -1
  173. package/dist/transform.mjs +0 -4
  174. package/dist/transform.mjs.map +0 -1
  175. package/dist/upload.js.map +0 -1
  176. package/dist/upload.mjs +0 -5
  177. package/dist/upload.mjs.map +0 -1
  178. package/dist/url.js.map +0 -1
  179. package/dist/url.mjs +0 -4
  180. package/dist/url.mjs.map +0 -1
  181. package/dist/validation.js.map +0 -1
  182. package/dist/validation.mjs +0 -4
  183. package/dist/validation.mjs.map +0 -1
  184. /package/dist/{upload-DchqyDBQ.d.mts → index-DchqyDBQ.d.mts} +0 -0
  185. /package/dist/{upload-DchqyDBQ.d.ts → index-DchqyDBQ.d.ts} +0 -0
package/dist/transform.js CHANGED
@@ -1,33 +1,300 @@
1
- 'use strict';
1
+ // src/data/transform/index.ts
2
+ function csvToJson(csv, options = {}) {
3
+ const { delimiter = ",", headers, skipEmptyLines = true } = options;
4
+ const lines = csv.split(/\r?\n/).filter((line) => {
5
+ if (skipEmptyLines) {
6
+ return line.trim().length > 0;
7
+ }
8
+ return true;
9
+ });
10
+ if (lines.length === 0) return [];
11
+ const headerRow = headers || lines[0].split(delimiter).map((h) => h.trim());
12
+ const dataLines = headers ? lines : lines.slice(1);
13
+ return dataLines.map((line) => {
14
+ const values = parseCsvLine(line, delimiter);
15
+ const obj = {};
16
+ headerRow.forEach((header, index) => {
17
+ const val = values[index];
18
+ obj[header] = val !== void 0 ? val : "";
19
+ });
20
+ return obj;
21
+ });
22
+ }
23
+ function parseCsvLine(line, delimiter) {
24
+ const result = [];
25
+ let current = "";
26
+ let inQuotes = false;
27
+ for (let i = 0; i < line.length; i++) {
28
+ const char = line[i];
29
+ const nextChar = line[i + 1];
30
+ if (char === '"') {
31
+ if (inQuotes && nextChar === '"') {
32
+ current += '"';
33
+ i++;
34
+ } else {
35
+ inQuotes = !inQuotes;
36
+ }
37
+ } else if (char === delimiter && !inQuotes) {
38
+ result.push(current.trim());
39
+ current = "";
40
+ } else {
41
+ current += char;
42
+ }
43
+ }
44
+ result.push(current.trim());
45
+ return result;
46
+ }
47
+ function jsonToCsv(data, options = {}) {
48
+ const { delimiter = ",", headers, includeHeaders = true } = options;
49
+ if (data.length === 0) return "";
50
+ const headerRow = headers || Object.keys(data[0]);
51
+ const lines = [];
52
+ if (includeHeaders) {
53
+ lines.push(headerRow.map(escapeCsvValue).join(delimiter));
54
+ }
55
+ data.forEach((item) => {
56
+ const values = headerRow.map((header) => {
57
+ const value = item[header];
58
+ return escapeCsvValue(value != null ? String(value) : "");
59
+ });
60
+ lines.push(values.join(delimiter));
61
+ });
62
+ return lines.join("\n");
63
+ }
64
+ function escapeCsvValue(value) {
65
+ if (value.includes(",") || value.includes('"') || value.includes("\n")) {
66
+ return `"${value.replace(/"/g, '""')}"`;
67
+ }
68
+ return value;
69
+ }
70
+ function xmlToJson(xml) {
71
+ const parser = new DOMParser();
72
+ const doc = parser.parseFromString(xml, "text/xml");
73
+ const parseError = doc.querySelector("parsererror");
74
+ if (parseError) {
75
+ throw new Error("Invalid XML: " + parseError.textContent);
76
+ }
77
+ const result = xmlNodeToJson(doc.documentElement);
78
+ if (typeof result === "object" && result !== null && !Array.isArray(result)) {
79
+ return result;
80
+ }
81
+ return { value: result };
82
+ }
83
+ function xmlNodeToJson(node) {
84
+ if (node.nodeType === Node.TEXT_NODE) {
85
+ const text = node.textContent?.trim();
86
+ return text || null;
87
+ }
88
+ if (node.nodeType === Node.ELEMENT_NODE) {
89
+ const element = node;
90
+ const result = {};
91
+ if (element.attributes.length > 0) {
92
+ const attrs = {};
93
+ for (let i = 0; i < element.attributes.length; i++) {
94
+ const attr = element.attributes[i];
95
+ attrs[attr.name] = attr.value;
96
+ }
97
+ result["@attributes"] = attrs;
98
+ }
99
+ const children = {};
100
+ let hasText = false;
101
+ let textContent = "";
102
+ for (let i = 0; i < element.childNodes.length; i++) {
103
+ const child = element.childNodes[i];
104
+ if (child.nodeType === Node.TEXT_NODE) {
105
+ const text = child.textContent?.trim();
106
+ if (text) {
107
+ textContent += text;
108
+ hasText = true;
109
+ }
110
+ } else if (child.nodeType === Node.ELEMENT_NODE) {
111
+ const childElement = child;
112
+ const childName = childElement.tagName;
113
+ const childValue = xmlNodeToJson(childElement);
114
+ if (!children[childName]) {
115
+ children[childName] = [];
116
+ }
117
+ children[childName].push(childValue);
118
+ }
119
+ }
120
+ if (hasText && Object.keys(children).length === 0) {
121
+ return textContent;
122
+ }
123
+ Object.keys(children).forEach((key) => {
124
+ result[key] = children[key].length === 1 ? children[key][0] : children[key];
125
+ });
126
+ if (hasText) {
127
+ result["#text"] = textContent;
128
+ }
129
+ return result;
130
+ }
131
+ return null;
132
+ }
133
+ function jsonToXml(json, rootTag = "root") {
134
+ return jsonToXmlElement(json, rootTag);
135
+ }
136
+ function jsonToXmlElement(obj, tagName) {
137
+ if (obj === null || obj === void 0) {
138
+ return `<${tagName}></${tagName}>`;
139
+ }
140
+ if (typeof obj === "string" || typeof obj === "number" || typeof obj === "boolean") {
141
+ return `<${tagName}>${escapeXml(String(obj))}</${tagName}>`;
142
+ }
143
+ if (Array.isArray(obj)) {
144
+ return obj.map((item) => jsonToXmlElement(item, tagName)).join("");
145
+ }
146
+ if (typeof obj === "object") {
147
+ const record = obj;
148
+ let xml = `<${tagName}`;
149
+ if (record["@attributes"]) {
150
+ const attrs = record["@attributes"];
151
+ Object.keys(attrs).forEach((key) => {
152
+ xml += ` ${key}="${escapeXml(String(attrs[key]))}"`;
153
+ });
154
+ }
155
+ xml += ">";
156
+ if (record["#text"]) {
157
+ xml += escapeXml(String(record["#text"]));
158
+ }
159
+ Object.keys(record).forEach((key) => {
160
+ if (key !== "@attributes" && key !== "#text") {
161
+ const value = record[key];
162
+ if (Array.isArray(value)) {
163
+ value.forEach((item) => {
164
+ xml += jsonToXmlElement(item, key);
165
+ });
166
+ } else {
167
+ xml += jsonToXmlElement(value, key);
168
+ }
169
+ }
170
+ });
171
+ xml += `</${tagName}>`;
172
+ return xml;
173
+ }
174
+ return `<${tagName}></${tagName}>`;
175
+ }
176
+ function escapeXml(str) {
177
+ return str.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;");
178
+ }
179
+ function yamlToJson(yaml) {
180
+ const lines = yaml.split(/\r?\n/);
181
+ const result = {};
182
+ const stack = [
183
+ { obj: result, indent: -1 }
184
+ ];
185
+ for (let i = 0; i < lines.length; i++) {
186
+ const line = lines[i];
187
+ const trimmed = line.trim();
188
+ if (!trimmed || trimmed.startsWith("#")) continue;
189
+ const indent = line.length - line.trimStart().length;
190
+ const current = stack[stack.length - 1];
191
+ while (stack.length > 1 && indent <= current.indent) {
192
+ stack.pop();
193
+ }
194
+ const match = trimmed.match(/^([^:]+):\s*(.*)$/);
195
+ if (match) {
196
+ const key = match[1].trim();
197
+ const valueStr = match[2].trim();
198
+ let parsedValue;
199
+ if (valueStr === "") {
200
+ parsedValue = {};
201
+ } else if (valueStr === "[]") {
202
+ parsedValue = [];
203
+ } else if (valueStr.startsWith("[") && valueStr.endsWith("]")) {
204
+ parsedValue = parseYamlArray(valueStr);
205
+ } else if (valueStr === "true" || valueStr === "True") {
206
+ parsedValue = true;
207
+ } else if (valueStr === "false" || valueStr === "False") {
208
+ parsedValue = false;
209
+ } else if (valueStr === "null" || valueStr === "Null" || valueStr === "~") {
210
+ parsedValue = null;
211
+ } else if (/^-?\d+$/.test(valueStr)) {
212
+ parsedValue = parseInt(valueStr, 10);
213
+ } else if (/^-?\d+\.\d+$/.test(valueStr)) {
214
+ parsedValue = parseFloat(valueStr);
215
+ } else if (valueStr.startsWith('"') && valueStr.endsWith('"')) {
216
+ parsedValue = valueStr.slice(1, -1).replace(/\\"/g, '"');
217
+ } else if (valueStr.startsWith("'") && valueStr.endsWith("'")) {
218
+ parsedValue = valueStr.slice(1, -1);
219
+ } else {
220
+ parsedValue = valueStr;
221
+ }
222
+ const currentObj = stack[stack.length - 1].obj;
223
+ if (typeof parsedValue === "object" && parsedValue !== null && !Array.isArray(parsedValue)) {
224
+ stack.push({ obj: parsedValue, indent });
225
+ }
226
+ currentObj[key] = parsedValue;
227
+ }
228
+ }
229
+ return result;
230
+ }
231
+ function parseYamlArray(str) {
232
+ const content = str.slice(1, -1).trim();
233
+ if (!content) return [];
234
+ const items = [];
235
+ const parts = content.split(",").map((s) => s.trim());
236
+ parts.forEach((part) => {
237
+ if (part.startsWith('"') && part.endsWith('"')) {
238
+ items.push(part.slice(1, -1).replace(/\\"/g, '"'));
239
+ } else if (part.startsWith("'") && part.endsWith("'")) {
240
+ items.push(part.slice(1, -1));
241
+ } else if (part === "true" || part === "True") {
242
+ items.push(true);
243
+ } else if (part === "false" || part === "False") {
244
+ items.push(false);
245
+ } else if (part === "null" || part === "Null") {
246
+ items.push(null);
247
+ } else if (/^-?\d+$/.test(part)) {
248
+ items.push(parseInt(part, 10));
249
+ } else if (/^-?\d+\.\d+$/.test(part)) {
250
+ items.push(parseFloat(part));
251
+ } else {
252
+ items.push(part);
253
+ }
254
+ });
255
+ return items;
256
+ }
257
+ function jsonToYaml(json, indent = 2) {
258
+ return jsonToYamlValue(json, 0, indent);
259
+ }
260
+ function jsonToYamlValue(value, level, indent) {
261
+ const spaces = " ".repeat(level * indent);
262
+ if (value === null) {
263
+ return "null";
264
+ }
265
+ if (typeof value === "string") {
266
+ if (value.includes(":") || value.includes("\n") || value.includes('"')) {
267
+ return `"${value.replace(/"/g, '\\"')}"`;
268
+ }
269
+ return value;
270
+ }
271
+ if (typeof value === "number" || typeof value === "boolean") {
272
+ return String(value);
273
+ }
274
+ if (Array.isArray(value)) {
275
+ if (value.length === 0) {
276
+ return "[]";
277
+ }
278
+ return value.map((item) => `${spaces}- ${jsonToYamlValue(item, level + 1, indent)}`).join("\n");
279
+ }
280
+ if (typeof value === "object") {
281
+ const obj = value;
282
+ const keys = Object.keys(obj);
283
+ if (keys.length === 0) {
284
+ return "{}";
285
+ }
286
+ return keys.map((key) => {
287
+ const val = obj[key];
288
+ const keyStr = /^[a-zA-Z_][a-zA-Z0-9_]*$/.test(key) ? key : `"${key}"`;
289
+ const valStr = jsonToYamlValue(val, level + 1, indent);
290
+ if (typeof val === "object" && val !== null) {
291
+ return `${spaces}${keyStr}:
292
+ ${valStr}`;
293
+ }
294
+ return `${spaces}${keyStr}: ${valStr}`;
295
+ }).join("\n");
296
+ }
297
+ return String(value);
298
+ }
2
299
 
3
- var chunkZDMFMUDR_js = require('./chunk-ZDMFMUDR.js');
4
- require('./chunk-PR4QN5HX.js');
5
-
6
-
7
-
8
- Object.defineProperty(exports, "csvToJson", {
9
- enumerable: true,
10
- get: function () { return chunkZDMFMUDR_js.csvToJson; }
11
- });
12
- Object.defineProperty(exports, "jsonToCsv", {
13
- enumerable: true,
14
- get: function () { return chunkZDMFMUDR_js.jsonToCsv; }
15
- });
16
- Object.defineProperty(exports, "jsonToXml", {
17
- enumerable: true,
18
- get: function () { return chunkZDMFMUDR_js.jsonToXml; }
19
- });
20
- Object.defineProperty(exports, "jsonToYaml", {
21
- enumerable: true,
22
- get: function () { return chunkZDMFMUDR_js.jsonToYaml; }
23
- });
24
- Object.defineProperty(exports, "xmlToJson", {
25
- enumerable: true,
26
- get: function () { return chunkZDMFMUDR_js.xmlToJson; }
27
- });
28
- Object.defineProperty(exports, "yamlToJson", {
29
- enumerable: true,
30
- get: function () { return chunkZDMFMUDR_js.yamlToJson; }
31
- });
32
- //# sourceMappingURL=transform.js.map
33
- //# sourceMappingURL=transform.js.map
300
+ export { csvToJson, jsonToCsv, jsonToXml, jsonToYaml, xmlToJson, yamlToJson };
@@ -1,17 +1,44 @@
1
- import { splitFileIntoChunks, calculateBlobMD5 } from './chunk-ZVJ6NQUM.mjs';
1
+ 'use strict';
2
2
 
3
- // src/types/upload.ts
4
- var UploadStatus = /* @__PURE__ */ ((UploadStatus2) => {
5
- UploadStatus2["PENDING"] = "pending";
6
- UploadStatus2["UPLOADING"] = "uploading";
7
- UploadStatus2["PAUSED"] = "paused";
8
- UploadStatus2["COMPLETED"] = "completed";
9
- UploadStatus2["FAILED"] = "failed";
10
- UploadStatus2["CANCELLED"] = "cancelled";
11
- return UploadStatus2;
12
- })(UploadStatus || {});
3
+ // src/browser/file/index.ts
4
+ async function calculateBlobMD5(blob) {
5
+ return new Promise((resolve, reject) => {
6
+ if (typeof FileReader === "undefined") {
7
+ reject(new Error("FileReader is not supported in this environment"));
8
+ return;
9
+ }
10
+ const reader = new FileReader();
11
+ reader.onload = async (e) => {
12
+ try {
13
+ const arrayBuffer = e.target?.result;
14
+ if (!arrayBuffer) {
15
+ reject(new Error("Failed to read blob"));
16
+ return;
17
+ }
18
+ const hashBuffer = await crypto.subtle.digest("SHA-256", arrayBuffer);
19
+ const hashArray = Array.from(new Uint8Array(hashBuffer));
20
+ const hashHex = hashArray.map((b) => b.toString(16).padStart(2, "0")).join("");
21
+ resolve(hashHex);
22
+ } catch (error) {
23
+ reject(error);
24
+ }
25
+ };
26
+ reader.onerror = reject;
27
+ reader.readAsArrayBuffer(blob);
28
+ });
29
+ }
30
+ function splitFileIntoChunks(file, chunkSize) {
31
+ const chunks = [];
32
+ let start = 0;
33
+ while (start < file.size) {
34
+ const end = Math.min(start + chunkSize, file.size);
35
+ chunks.push(file.slice(start, end));
36
+ start = end;
37
+ }
38
+ return chunks;
39
+ }
13
40
 
14
- // src/browser/upload.ts
41
+ // src/browser/upload/index.ts
15
42
  var ChunkUploader = class {
16
43
  constructor(file, options = {}) {
17
44
  this.taskId = null;
@@ -376,6 +403,6 @@ async function uploadFile(file, options) {
376
403
  return uploader.upload();
377
404
  }
378
405
 
379
- export { ChunkUploader, UploadStatus, createUploader, uploadFile };
380
- //# sourceMappingURL=chunk-NJARVI6X.mjs.map
381
- //# sourceMappingURL=chunk-NJARVI6X.mjs.map
406
+ exports.ChunkUploader = ChunkUploader;
407
+ exports.createUploader = createUploader;
408
+ exports.uploadFile = uploadFile;
package/dist/upload.d.mts CHANGED
@@ -1 +1 @@
1
- export { C as ChunkUploader, c as createUploader, u as uploadFile } from './upload-DchqyDBQ.mjs';
1
+ export { C as ChunkUploader, c as createUploader, u as uploadFile } from './index-DchqyDBQ.mjs';
package/dist/upload.d.ts CHANGED
@@ -1 +1 @@
1
- export { C as ChunkUploader, c as createUploader, u as uploadFile } from './upload-DchqyDBQ.js';
1
+ export { C as ChunkUploader, c as createUploader, u as uploadFile } from './index-DchqyDBQ.js';