@alibarbar/common 1.0.8 → 1.0.10

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 (176) hide show
  1. package/dist/{chunk-O3O67R4I.js → algorithm.cjs} +0 -2
  2. package/dist/algorithm.js +130 -44
  3. package/dist/{chunk-LOAZSPGQ.js → array.cjs} +0 -2
  4. package/dist/array.js +135 -84
  5. package/dist/{chunk-Y364QIQH.js → color.cjs} +0 -2
  6. package/dist/color.js +127 -40
  7. package/dist/{chunk-DYBSRI7V.js → crypto.cjs} +0 -2
  8. package/dist/crypto.js +172 -60
  9. package/dist/{chunk-BHCRFURU.js → data-structure.cjs} +0 -2
  10. package/dist/data-structure.js +481 -32
  11. package/dist/{chunk-I3L42475.js → date.cjs} +0 -2
  12. package/dist/date.js +125 -72
  13. package/dist/{chunk-JK2SE3I2.js → dom.cjs} +0 -2
  14. package/dist/dom.js +84 -56
  15. package/dist/{chunk-7V5UQXIO.js → file.cjs} +0 -2
  16. package/dist/file.js +79 -32
  17. package/dist/{chunk-OX5PLOWB.js → i18n.cjs} +0 -2
  18. package/dist/i18n.js +78 -40
  19. package/dist/index.cjs +4132 -0
  20. package/dist/index.d.mts +3 -159
  21. package/dist/index.d.ts +3 -159
  22. package/dist/index.js +3364 -17427
  23. package/dist/{chunk-4RGXV4SJ.js → network.cjs} +0 -2
  24. package/dist/network.js +97 -28
  25. package/dist/{chunk-3FRYJPHG.js → number.cjs} +0 -2
  26. package/dist/number.js +77 -56
  27. package/dist/{chunk-27UDDVLZ.js → object.cjs} +0 -2
  28. package/dist/object.js +237 -80
  29. package/dist/{chunk-JQZBPAPO.js → performance.cjs} +0 -2
  30. package/dist/performance.js +145 -40
  31. package/dist/services.cjs +291 -0
  32. package/dist/services.d.mts +161 -0
  33. package/dist/services.d.ts +161 -0
  34. package/dist/services.js +281 -0
  35. package/dist/{chunk-WZDOPUJW.js → storage.cjs} +216 -17
  36. package/dist/storage.js +550 -31
  37. package/dist/{chunk-D7CS5EKF.js → string.cjs} +0 -2
  38. package/dist/string.js +91 -68
  39. package/dist/{chunk-56W6YECK.js → tracking.cjs} +0 -2
  40. package/dist/tracking.js +359 -52
  41. package/dist/{chunk-ZDMFMUDR.js → transform.cjs} +0 -2
  42. package/dist/transform.js +299 -32
  43. package/dist/{chunk-NJARVI6X.mjs → upload.cjs} +41 -14
  44. package/dist/upload.js +402 -20
  45. package/dist/{chunk-KGFTD255.js → url.cjs} +0 -2
  46. package/dist/url.js +91 -44
  47. package/dist/{chunk-TQN37HIN.js → validation.cjs} +0 -2
  48. package/dist/validation.js +77 -60
  49. package/package.json +12 -2
  50. package/dist/algorithm.js.map +0 -1
  51. package/dist/algorithm.mjs +0 -4
  52. package/dist/algorithm.mjs.map +0 -1
  53. package/dist/array.js.map +0 -1
  54. package/dist/array.mjs +0 -4
  55. package/dist/array.mjs.map +0 -1
  56. package/dist/chunk-27UDDVLZ.js.map +0 -1
  57. package/dist/chunk-2R2QWFJC.mjs +0 -138
  58. package/dist/chunk-2R2QWFJC.mjs.map +0 -1
  59. package/dist/chunk-3FRYJPHG.js.map +0 -1
  60. package/dist/chunk-4RGXV4SJ.js.map +0 -1
  61. package/dist/chunk-56W6YECK.js.map +0 -1
  62. package/dist/chunk-5BGSUGTI.mjs +0 -128
  63. package/dist/chunk-5BGSUGTI.mjs.map +0 -1
  64. package/dist/chunk-7E6GELHJ.mjs +0 -302
  65. package/dist/chunk-7E6GELHJ.mjs.map +0 -1
  66. package/dist/chunk-7V5UQXIO.js.map +0 -1
  67. package/dist/chunk-A4SWQXX7.mjs +0 -484
  68. package/dist/chunk-A4SWQXX7.mjs.map +0 -1
  69. package/dist/chunk-BHCRFURU.js.map +0 -1
  70. package/dist/chunk-CDSGEAOK.mjs +0 -80
  71. package/dist/chunk-CDSGEAOK.mjs.map +0 -1
  72. package/dist/chunk-D7CS5EKF.js.map +0 -1
  73. package/dist/chunk-DYBSRI7V.js.map +0 -1
  74. package/dist/chunk-FEBKPX5A.js +0 -386
  75. package/dist/chunk-FEBKPX5A.js.map +0 -1
  76. package/dist/chunk-FJ6ZGZIA.mjs +0 -39
  77. package/dist/chunk-FJ6ZGZIA.mjs.map +0 -1
  78. package/dist/chunk-HLDFI7R2.mjs +0 -175
  79. package/dist/chunk-HLDFI7R2.mjs.map +0 -1
  80. package/dist/chunk-I3L42475.js.map +0 -1
  81. package/dist/chunk-JBLX27WD.mjs +0 -240
  82. package/dist/chunk-JBLX27WD.mjs.map +0 -1
  83. package/dist/chunk-JHZ7M2MR.mjs +0 -133
  84. package/dist/chunk-JHZ7M2MR.mjs.map +0 -1
  85. package/dist/chunk-JK2SE3I2.js.map +0 -1
  86. package/dist/chunk-JQZBPAPO.js.map +0 -1
  87. package/dist/chunk-JXYGC2C5.mjs +0 -100
  88. package/dist/chunk-JXYGC2C5.mjs.map +0 -1
  89. package/dist/chunk-KGFTD255.js.map +0 -1
  90. package/dist/chunk-LBHBNPNJ.mjs +0 -148
  91. package/dist/chunk-LBHBNPNJ.mjs.map +0 -1
  92. package/dist/chunk-LF4CILQS.mjs +0 -87
  93. package/dist/chunk-LF4CILQS.mjs.map +0 -1
  94. package/dist/chunk-LOAZSPGQ.js.map +0 -1
  95. package/dist/chunk-NJARVI6X.mjs.map +0 -1
  96. package/dist/chunk-NSSDYX2U.mjs +0 -80
  97. package/dist/chunk-NSSDYX2U.mjs.map +0 -1
  98. package/dist/chunk-O3O67R4I.js.map +0 -1
  99. package/dist/chunk-OIXQ3E6W.mjs +0 -354
  100. package/dist/chunk-OIXQ3E6W.mjs.map +0 -1
  101. package/dist/chunk-OX5PLOWB.js.map +0 -1
  102. package/dist/chunk-PJ7UCTX4.mjs +0 -362
  103. package/dist/chunk-PJ7UCTX4.mjs.map +0 -1
  104. package/dist/chunk-PR4QN5HX.js +0 -44
  105. package/dist/chunk-PR4QN5HX.js.map +0 -1
  106. package/dist/chunk-QIBE7GVN.mjs +0 -81
  107. package/dist/chunk-QIBE7GVN.mjs.map +0 -1
  108. package/dist/chunk-QIOC54LQ.mjs +0 -130
  109. package/dist/chunk-QIOC54LQ.mjs.map +0 -1
  110. package/dist/chunk-TQN37HIN.js.map +0 -1
  111. package/dist/chunk-WZDOPUJW.js.map +0 -1
  112. package/dist/chunk-XJTZDXSR.mjs +0 -94
  113. package/dist/chunk-XJTZDXSR.mjs.map +0 -1
  114. package/dist/chunk-Y364QIQH.js.map +0 -1
  115. package/dist/chunk-YXM6Q4JS.mjs +0 -94
  116. package/dist/chunk-YXM6Q4JS.mjs.map +0 -1
  117. package/dist/chunk-ZDMFMUDR.js.map +0 -1
  118. package/dist/chunk-ZVJ6NQUM.mjs +0 -82
  119. package/dist/chunk-ZVJ6NQUM.mjs.map +0 -1
  120. package/dist/color.js.map +0 -1
  121. package/dist/color.mjs +0 -4
  122. package/dist/color.mjs.map +0 -1
  123. package/dist/crypto.js.map +0 -1
  124. package/dist/crypto.mjs +0 -4
  125. package/dist/crypto.mjs.map +0 -1
  126. package/dist/data-structure.js.map +0 -1
  127. package/dist/data-structure.mjs +0 -4
  128. package/dist/data-structure.mjs.map +0 -1
  129. package/dist/date.js.map +0 -1
  130. package/dist/date.mjs +0 -4
  131. package/dist/date.mjs.map +0 -1
  132. package/dist/dom.js.map +0 -1
  133. package/dist/dom.mjs +0 -4
  134. package/dist/dom.mjs.map +0 -1
  135. package/dist/file.js.map +0 -1
  136. package/dist/file.mjs +0 -4
  137. package/dist/file.mjs.map +0 -1
  138. package/dist/i18n.js.map +0 -1
  139. package/dist/i18n.mjs +0 -4
  140. package/dist/i18n.mjs.map +0 -1
  141. package/dist/index.js.map +0 -1
  142. package/dist/index.mjs +0 -17155
  143. package/dist/index.mjs.map +0 -1
  144. package/dist/network.js.map +0 -1
  145. package/dist/network.mjs +0 -4
  146. package/dist/network.mjs.map +0 -1
  147. package/dist/number.js.map +0 -1
  148. package/dist/number.mjs +0 -4
  149. package/dist/number.mjs.map +0 -1
  150. package/dist/object.js.map +0 -1
  151. package/dist/object.mjs +0 -4
  152. package/dist/object.mjs.map +0 -1
  153. package/dist/performance.js.map +0 -1
  154. package/dist/performance.mjs +0 -4
  155. package/dist/performance.mjs.map +0 -1
  156. package/dist/storage.js.map +0 -1
  157. package/dist/storage.mjs +0 -5
  158. package/dist/storage.mjs.map +0 -1
  159. package/dist/string.js.map +0 -1
  160. package/dist/string.mjs +0 -4
  161. package/dist/string.mjs.map +0 -1
  162. package/dist/tracking.js.map +0 -1
  163. package/dist/tracking.mjs +0 -4
  164. package/dist/tracking.mjs.map +0 -1
  165. package/dist/transform.js.map +0 -1
  166. package/dist/transform.mjs +0 -4
  167. package/dist/transform.mjs.map +0 -1
  168. package/dist/upload.js.map +0 -1
  169. package/dist/upload.mjs +0 -5
  170. package/dist/upload.mjs.map +0 -1
  171. package/dist/url.js.map +0 -1
  172. package/dist/url.mjs +0 -4
  173. package/dist/url.mjs.map +0 -1
  174. package/dist/validation.js.map +0 -1
  175. package/dist/validation.mjs +0 -4
  176. package/dist/validation.mjs.map +0 -1
package/dist/crypto.js CHANGED
@@ -1,61 +1,173 @@
1
- 'use strict';
1
+ // src/helper/crypto.ts
2
+ async function sha256(data) {
3
+ const buffer = typeof data === "string" ? new TextEncoder().encode(data) : data;
4
+ const hashBuffer = await crypto.subtle.digest("SHA-256", buffer);
5
+ const hashArray = Array.from(new Uint8Array(hashBuffer));
6
+ return hashArray.map((b) => b.toString(16).padStart(2, "0")).join("");
7
+ }
8
+ function base64Encode(data) {
9
+ if (typeof data === "string") {
10
+ return btoa(unescape(encodeURIComponent(data)));
11
+ }
12
+ const bytes = new Uint8Array(data);
13
+ let binary = "";
14
+ for (let i = 0; i < bytes.length; i++) {
15
+ binary += String.fromCharCode(bytes[i]);
16
+ }
17
+ return btoa(binary);
18
+ }
19
+ function base64Decode(data) {
20
+ try {
21
+ return decodeURIComponent(escape(atob(data)));
22
+ } catch {
23
+ throw new Error("Invalid Base64 string");
24
+ }
25
+ }
26
+ function generateUUID() {
27
+ if (typeof crypto !== "undefined" && crypto.randomUUID) {
28
+ return crypto.randomUUID();
29
+ }
30
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
31
+ const r = Math.random() * 16 | 0;
32
+ const v = c === "x" ? r : r & 3 | 8;
33
+ return v.toString(16);
34
+ });
35
+ }
36
+ function generateRandomString(length, charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") {
37
+ let result = "";
38
+ for (let i = 0; i < length; i++) {
39
+ result += charset.charAt(Math.floor(Math.random() * charset.length));
40
+ }
41
+ return result;
42
+ }
43
+ function hash(data) {
44
+ let hashValue = 0;
45
+ for (let i = 0; i < data.length; i++) {
46
+ const char = data.charCodeAt(i);
47
+ hashValue = (hashValue << 5) - hashValue + char;
48
+ hashValue = hashValue & hashValue;
49
+ }
50
+ return Math.abs(hashValue);
51
+ }
52
+ async function generateRSAKeyPair(modulusLength = 2048) {
53
+ if (typeof crypto === "undefined" || !crypto.subtle) {
54
+ throw new Error("Web Crypto API is not available");
55
+ }
56
+ const keyPair = await crypto.subtle.generateKey(
57
+ {
58
+ name: "RSA-OAEP",
59
+ modulusLength,
60
+ publicExponent: new Uint8Array([1, 0, 1]),
61
+ hash: "SHA-256"
62
+ },
63
+ true,
64
+ ["encrypt", "decrypt"]
65
+ );
66
+ return {
67
+ publicKey: keyPair.publicKey,
68
+ privateKey: keyPair.privateKey
69
+ };
70
+ }
71
+ async function rsaEncrypt(data, publicKey) {
72
+ if (typeof crypto === "undefined" || !crypto.subtle) {
73
+ throw new Error("Web Crypto API is not available");
74
+ }
75
+ const encoder = new TextEncoder();
76
+ const dataBuffer = encoder.encode(data);
77
+ const maxChunkSize = 245;
78
+ const chunks = [];
79
+ for (let i = 0; i < dataBuffer.length; i += maxChunkSize) {
80
+ const chunk = dataBuffer.slice(i, i + maxChunkSize);
81
+ const encrypted = await crypto.subtle.encrypt(
82
+ {
83
+ name: "RSA-OAEP"
84
+ },
85
+ publicKey,
86
+ chunk
87
+ );
88
+ chunks.push(encrypted);
89
+ }
90
+ const totalLength = chunks.reduce((sum, chunk) => sum + chunk.byteLength, 0);
91
+ const merged = new Uint8Array(totalLength);
92
+ let offset = 0;
93
+ for (const chunk of chunks) {
94
+ merged.set(new Uint8Array(chunk), offset);
95
+ offset += chunk.byteLength;
96
+ }
97
+ return base64Encode(merged.buffer);
98
+ }
99
+ async function rsaDecrypt(encryptedData, privateKey) {
100
+ if (typeof crypto === "undefined" || !crypto.subtle) {
101
+ throw new Error("Web Crypto API is not available");
102
+ }
103
+ const binaryString = atob(encryptedData);
104
+ const encryptedArray = new Uint8Array(binaryString.length);
105
+ for (let i = 0; i < binaryString.length; i++) {
106
+ encryptedArray[i] = binaryString.charCodeAt(i);
107
+ }
108
+ const chunkSize = 256;
109
+ const chunks = [];
110
+ for (let i = 0; i < encryptedArray.length; i += chunkSize) {
111
+ const chunk = encryptedArray.slice(i, i + chunkSize);
112
+ const decrypted = await crypto.subtle.decrypt(
113
+ {
114
+ name: "RSA-OAEP"
115
+ },
116
+ privateKey,
117
+ chunk
118
+ );
119
+ const decoder = new TextDecoder();
120
+ chunks.push(decoder.decode(decrypted));
121
+ }
122
+ return chunks.join("");
123
+ }
124
+ async function exportPublicKey(publicKey) {
125
+ if (typeof crypto === "undefined" || !crypto.subtle) {
126
+ throw new Error("Web Crypto API is not available");
127
+ }
128
+ const exported = await crypto.subtle.exportKey("spki", publicKey);
129
+ return base64Encode(exported);
130
+ }
131
+ async function exportPrivateKey(privateKey) {
132
+ if (typeof crypto === "undefined" || !crypto.subtle) {
133
+ throw new Error("Web Crypto API is not available");
134
+ }
135
+ const exported = await crypto.subtle.exportKey("pkcs8", privateKey);
136
+ return base64Encode(exported);
137
+ }
138
+ async function importPublicKey(keyData) {
139
+ if (typeof crypto === "undefined" || !crypto.subtle) {
140
+ throw new Error("Web Crypto API is not available");
141
+ }
142
+ const keyBuffer = base64Decode(keyData);
143
+ const keyArray = new Uint8Array(keyBuffer.split("").map((char) => char.charCodeAt(0)));
144
+ return crypto.subtle.importKey(
145
+ "spki",
146
+ keyArray.buffer,
147
+ {
148
+ name: "RSA-OAEP",
149
+ hash: "SHA-256"
150
+ },
151
+ true,
152
+ ["encrypt"]
153
+ );
154
+ }
155
+ async function importPrivateKey(keyData) {
156
+ if (typeof crypto === "undefined" || !crypto.subtle) {
157
+ throw new Error("Web Crypto API is not available");
158
+ }
159
+ const keyBuffer = base64Decode(keyData);
160
+ const keyArray = new Uint8Array(keyBuffer.split("").map((char) => char.charCodeAt(0)));
161
+ return crypto.subtle.importKey(
162
+ "pkcs8",
163
+ keyArray.buffer,
164
+ {
165
+ name: "RSA-OAEP",
166
+ hash: "SHA-256"
167
+ },
168
+ true,
169
+ ["decrypt"]
170
+ );
171
+ }
2
172
 
3
- var chunkDYBSRI7V_js = require('./chunk-DYBSRI7V.js');
4
- require('./chunk-PR4QN5HX.js');
5
-
6
-
7
-
8
- Object.defineProperty(exports, "base64Decode", {
9
- enumerable: true,
10
- get: function () { return chunkDYBSRI7V_js.base64Decode; }
11
- });
12
- Object.defineProperty(exports, "base64Encode", {
13
- enumerable: true,
14
- get: function () { return chunkDYBSRI7V_js.base64Encode; }
15
- });
16
- Object.defineProperty(exports, "exportPrivateKey", {
17
- enumerable: true,
18
- get: function () { return chunkDYBSRI7V_js.exportPrivateKey; }
19
- });
20
- Object.defineProperty(exports, "exportPublicKey", {
21
- enumerable: true,
22
- get: function () { return chunkDYBSRI7V_js.exportPublicKey; }
23
- });
24
- Object.defineProperty(exports, "generateRSAKeyPair", {
25
- enumerable: true,
26
- get: function () { return chunkDYBSRI7V_js.generateRSAKeyPair; }
27
- });
28
- Object.defineProperty(exports, "generateRandomString", {
29
- enumerable: true,
30
- get: function () { return chunkDYBSRI7V_js.generateRandomString; }
31
- });
32
- Object.defineProperty(exports, "generateUUID", {
33
- enumerable: true,
34
- get: function () { return chunkDYBSRI7V_js.generateUUID; }
35
- });
36
- Object.defineProperty(exports, "hash", {
37
- enumerable: true,
38
- get: function () { return chunkDYBSRI7V_js.hash; }
39
- });
40
- Object.defineProperty(exports, "importPrivateKey", {
41
- enumerable: true,
42
- get: function () { return chunkDYBSRI7V_js.importPrivateKey; }
43
- });
44
- Object.defineProperty(exports, "importPublicKey", {
45
- enumerable: true,
46
- get: function () { return chunkDYBSRI7V_js.importPublicKey; }
47
- });
48
- Object.defineProperty(exports, "rsaDecrypt", {
49
- enumerable: true,
50
- get: function () { return chunkDYBSRI7V_js.rsaDecrypt; }
51
- });
52
- Object.defineProperty(exports, "rsaEncrypt", {
53
- enumerable: true,
54
- get: function () { return chunkDYBSRI7V_js.rsaEncrypt; }
55
- });
56
- Object.defineProperty(exports, "sha256", {
57
- enumerable: true,
58
- get: function () { return chunkDYBSRI7V_js.sha256; }
59
- });
60
- //# sourceMappingURL=crypto.js.map
61
- //# sourceMappingURL=crypto.js.map
173
+ export { base64Decode, base64Encode, exportPrivateKey, exportPublicKey, generateRSAKeyPair, generateRandomString, generateUUID, hash, importPrivateKey, importPublicKey, rsaDecrypt, rsaEncrypt, sha256 };
@@ -487,5 +487,3 @@ exports.Graph = Graph;
487
487
  exports.LRUCache = LRUCache;
488
488
  exports.LinkedList = LinkedList;
489
489
  exports.Stack = Stack;
490
- //# sourceMappingURL=chunk-BHCRFURU.js.map
491
- //# sourceMappingURL=chunk-BHCRFURU.js.map