@utilix-tech/sdk 0.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 (106) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +199 -0
  3. package/dist/api-8aZtWhSj.d.cts +308 -0
  4. package/dist/api-8aZtWhSj.d.ts +308 -0
  5. package/dist/chunk-2CJSLYWI.js +520 -0
  6. package/dist/chunk-3BAHSW4C.js +1385 -0
  7. package/dist/chunk-6YPV2AB5.js +1246 -0
  8. package/dist/chunk-BPVAB4P2.js +1126 -0
  9. package/dist/chunk-FL53T24A.js +257 -0
  10. package/dist/chunk-L6KCTHUW.js +1086 -0
  11. package/dist/chunk-MLKGABMK.js +7 -0
  12. package/dist/chunk-ROTPLW7T.js +265 -0
  13. package/dist/chunk-TSAGO3XP.js +1253 -0
  14. package/dist/chunk-UC656APA.js +1080 -0
  15. package/dist/chunk-W4UBLYFU.js +1219 -0
  16. package/dist/chunk-XST6X3HT.js +896 -0
  17. package/dist/chunk-XXYZLLHI.js +2227 -0
  18. package/dist/chunk-ZKL2VX2G.js +2215 -0
  19. package/dist/chunk-ZPQZEIXP.js +685 -0
  20. package/dist/code-QNrdLIR3.d.cts +327 -0
  21. package/dist/code-QNrdLIR3.d.ts +327 -0
  22. package/dist/color-tPwZCr9H.d.cts +229 -0
  23. package/dist/color-tPwZCr9H.d.ts +229 -0
  24. package/dist/css-Cf7AMGM-.d.cts +318 -0
  25. package/dist/css-Cf7AMGM-.d.ts +318 -0
  26. package/dist/data-rMjWNiOJ.d.cts +215 -0
  27. package/dist/data-rMjWNiOJ.d.ts +215 -0
  28. package/dist/encoding-7gmq-vkV.d.cts +108 -0
  29. package/dist/encoding-7gmq-vkV.d.ts +108 -0
  30. package/dist/generators-BGtRGpJZ.d.cts +118 -0
  31. package/dist/generators-BGtRGpJZ.d.ts +118 -0
  32. package/dist/hashing-CnetQFD_.d.cts +76 -0
  33. package/dist/hashing-CnetQFD_.d.ts +76 -0
  34. package/dist/index.cjs +15466 -0
  35. package/dist/index.d.cts +18 -0
  36. package/dist/index.d.ts +18 -0
  37. package/dist/index.js +20 -0
  38. package/dist/json-BjSoIS1h.d.cts +198 -0
  39. package/dist/json-BjSoIS1h.d.ts +198 -0
  40. package/dist/misc-DcVBManm.d.cts +201 -0
  41. package/dist/misc-DcVBManm.d.ts +201 -0
  42. package/dist/network-CNtmrDeN.d.cts +170 -0
  43. package/dist/network-CNtmrDeN.d.ts +170 -0
  44. package/dist/text-DqAjPtQ0.d.cts +319 -0
  45. package/dist/text-DqAjPtQ0.d.ts +319 -0
  46. package/dist/time-DbT8fjaF.d.cts +145 -0
  47. package/dist/time-DbT8fjaF.d.ts +145 -0
  48. package/dist/tools/api.cjs +1216 -0
  49. package/dist/tools/api.d.cts +1 -0
  50. package/dist/tools/api.d.ts +1 -0
  51. package/dist/tools/api.js +2 -0
  52. package/dist/tools/code.cjs +2212 -0
  53. package/dist/tools/code.d.cts +1 -0
  54. package/dist/tools/code.d.ts +1 -0
  55. package/dist/tools/code.js +2 -0
  56. package/dist/tools/color.cjs +1122 -0
  57. package/dist/tools/color.d.cts +1 -0
  58. package/dist/tools/color.d.ts +1 -0
  59. package/dist/tools/color.js +2 -0
  60. package/dist/tools/css.cjs +1242 -0
  61. package/dist/tools/css.d.cts +1 -0
  62. package/dist/tools/css.d.ts +1 -0
  63. package/dist/tools/css.js +2 -0
  64. package/dist/tools/data.cjs +1097 -0
  65. package/dist/tools/data.d.cts +1 -0
  66. package/dist/tools/data.d.ts +1 -0
  67. package/dist/tools/data.js +2 -0
  68. package/dist/tools/encoding.cjs +261 -0
  69. package/dist/tools/encoding.d.cts +1 -0
  70. package/dist/tools/encoding.d.ts +1 -0
  71. package/dist/tools/encoding.js +2 -0
  72. package/dist/tools/generators.cjs +521 -0
  73. package/dist/tools/generators.d.cts +1 -0
  74. package/dist/tools/generators.d.ts +1 -0
  75. package/dist/tools/generators.js +2 -0
  76. package/dist/tools/hashing.cjs +259 -0
  77. package/dist/tools/hashing.d.cts +1 -0
  78. package/dist/tools/hashing.d.ts +1 -0
  79. package/dist/tools/hashing.js +2 -0
  80. package/dist/tools/json.cjs +1270 -0
  81. package/dist/tools/json.d.cts +1 -0
  82. package/dist/tools/json.d.ts +1 -0
  83. package/dist/tools/json.js +2 -0
  84. package/dist/tools/misc.cjs +1082 -0
  85. package/dist/tools/misc.d.cts +1 -0
  86. package/dist/tools/misc.d.ts +1 -0
  87. package/dist/tools/misc.js +2 -0
  88. package/dist/tools/network.cjs +1381 -0
  89. package/dist/tools/network.d.cts +1 -0
  90. package/dist/tools/network.d.ts +1 -0
  91. package/dist/tools/network.js +2 -0
  92. package/dist/tools/text.cjs +2224 -0
  93. package/dist/tools/text.d.cts +1 -0
  94. package/dist/tools/text.d.ts +1 -0
  95. package/dist/tools/text.js +2 -0
  96. package/dist/tools/time.cjs +681 -0
  97. package/dist/tools/time.d.cts +1 -0
  98. package/dist/tools/time.d.ts +1 -0
  99. package/dist/tools/time.js +2 -0
  100. package/dist/tools/units.cjs +892 -0
  101. package/dist/tools/units.d.cts +1 -0
  102. package/dist/tools/units.d.ts +1 -0
  103. package/dist/tools/units.js +2 -0
  104. package/dist/units-6lwDYBvX.d.cts +302 -0
  105. package/dist/units-6lwDYBvX.d.ts +302 -0
  106. package/package.json +148 -0
@@ -0,0 +1,7 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ export { __export };
@@ -0,0 +1,265 @@
1
+ import { __export } from './chunk-MLKGABMK.js';
2
+
3
+ // src/tools/encoding.ts
4
+ var encoding_exports = {};
5
+ __export(encoding_exports, {
6
+ ALPHABETS: () => ALPHABETS,
7
+ base32Decode: () => base32Decode,
8
+ base32DecodeBytes: () => base32DecodeBytes,
9
+ base32Encode: () => base32Encode,
10
+ base32EncodeBytes: () => base32EncodeBytes,
11
+ decodeBase64: () => decodeBase64,
12
+ decodeHtmlEntities: () => decodeHtmlEntities,
13
+ decodeUrl: () => decodeUrl,
14
+ diffSegments: () => diffSegments,
15
+ encodeBase64: () => encodeBase64,
16
+ encodeHtmlEntities: () => encodeHtmlEntities,
17
+ encodeHtmlEntitiesAll: () => encodeHtmlEntitiesAll,
18
+ encodeUrl: () => encodeUrl,
19
+ isValidBase32: () => isValidBase32
20
+ });
21
+ function toUrlSafe(b64) {
22
+ return b64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
23
+ }
24
+ function fromUrlSafe(b64url) {
25
+ const base64 = b64url.replace(/-/g, "+").replace(/_/g, "/");
26
+ return base64 + "=".repeat((4 - base64.length % 4) % 4);
27
+ }
28
+ function encodeBase64(input, variant = "standard") {
29
+ if (!input) return { ok: false, error: "No input provided" };
30
+ try {
31
+ const bytes = Buffer.from(input, "utf8");
32
+ const b64 = bytes.toString("base64");
33
+ const output = variant === "urlsafe" ? toUrlSafe(b64) : b64;
34
+ return { ok: true, output, inputBytes: bytes.length, outputChars: output.length };
35
+ } catch (e) {
36
+ return { ok: false, error: e.message };
37
+ }
38
+ }
39
+ function decodeBase64(input, variant = "standard") {
40
+ const trimmed = input.trim();
41
+ if (!trimmed) return { ok: false, error: "No input provided" };
42
+ try {
43
+ const b64 = variant === "urlsafe" ? fromUrlSafe(trimmed) : trimmed;
44
+ const bytes = Buffer.from(b64, "base64");
45
+ const output = bytes.toString("utf8");
46
+ return { ok: true, output, outputBytes: bytes.length };
47
+ } catch {
48
+ return { ok: false, error: "Invalid Base64 \u2014 check the input and variant setting" };
49
+ }
50
+ }
51
+ function encodeUrl(input, mode = "component") {
52
+ if (!input) return { ok: false, error: "No input provided" };
53
+ try {
54
+ const output = mode === "component" ? encodeURIComponent(input) : encodeURI(input);
55
+ return { ok: true, output, changed: output !== input };
56
+ } catch (e) {
57
+ return { ok: false, error: e.message };
58
+ }
59
+ }
60
+ function decodeUrl(input, mode = "component") {
61
+ const trimmed = input.trim();
62
+ if (!trimmed) return { ok: false, error: "No input provided" };
63
+ try {
64
+ const output = mode === "component" ? decodeURIComponent(trimmed) : decodeURI(trimmed);
65
+ return { ok: true, output, changed: output !== trimmed };
66
+ } catch {
67
+ return { ok: false, error: "Invalid percent-encoding \u2014 check the input" };
68
+ }
69
+ }
70
+ function diffSegments(original, encoded) {
71
+ if (original === encoded) return [{ text: original, changed: false }];
72
+ const segments = [];
73
+ let i = 0;
74
+ let j = 0;
75
+ while (i < original.length && j < encoded.length) {
76
+ if (original[i] === encoded[j]) {
77
+ const start = j;
78
+ while (j < encoded.length && i < original.length && original[i] === encoded[j]) {
79
+ i++;
80
+ j++;
81
+ }
82
+ segments.push({ text: encoded.slice(start, j), changed: false });
83
+ } else {
84
+ const start = j;
85
+ while (j < encoded.length && (j === start || encoded[j] === "%" || /[0-9A-F]/i.test(encoded[j]))) {
86
+ if (encoded[j] === "%") {
87
+ j += 3;
88
+ i++;
89
+ } else {
90
+ break;
91
+ }
92
+ }
93
+ if (j === start) {
94
+ j++;
95
+ i++;
96
+ }
97
+ segments.push({ text: encoded.slice(start, j), changed: true });
98
+ }
99
+ }
100
+ if (j < encoded.length) segments.push({ text: encoded.slice(j), changed: true });
101
+ return segments;
102
+ }
103
+ var NAMED_ENTITIES = {
104
+ "&amp;": "&",
105
+ "&lt;": "<",
106
+ "&gt;": ">",
107
+ "&quot;": '"',
108
+ "&apos;": "'",
109
+ "&nbsp;": " ",
110
+ "&copy;": "\xA9",
111
+ "&reg;": "\xAE",
112
+ "&trade;": "\u2122",
113
+ "&mdash;": "\u2014",
114
+ "&ndash;": "\u2013",
115
+ "&hellip;": "\u2026"
116
+ };
117
+ function encodeHtmlEntities(input) {
118
+ return input.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;");
119
+ }
120
+ function decodeHtmlEntities(input) {
121
+ let result = input;
122
+ for (const [entity, char] of Object.entries(NAMED_ENTITIES)) {
123
+ result = result.split(entity).join(char);
124
+ }
125
+ result = result.replace(/&#(\d+);/g, (_match, dec) => {
126
+ return String.fromCodePoint(parseInt(dec, 10));
127
+ });
128
+ result = result.replace(/&#[xX]([0-9a-fA-F]+);/g, (_match, hex) => {
129
+ return String.fromCodePoint(parseInt(hex, 16));
130
+ });
131
+ return result;
132
+ }
133
+ function encodeHtmlEntitiesAll(input) {
134
+ let result = "";
135
+ for (const char of input) {
136
+ const code = char.codePointAt(0);
137
+ if (char === "&" || char === "<" || char === ">" || char === '"' || char === "'") {
138
+ result += `&#${code};`;
139
+ } else if (code > 127) {
140
+ result += `&#${code};`;
141
+ } else {
142
+ result += char;
143
+ }
144
+ }
145
+ return result;
146
+ }
147
+ var ALPHABETS = {
148
+ "standard": "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",
149
+ "hex": "0123456789ABCDEFGHIJKLMNOPQRSTUV",
150
+ "crockford": "0123456789ABCDEFGHJKMNPQRSTVWXYZ",
151
+ "z-base-32": "ybndrfg8ejkmcpqxot1uwisza345h769"
152
+ };
153
+ function stringToBytes(str) {
154
+ const bytes = [];
155
+ for (let i = 0; i < str.length; i++) {
156
+ const code = str.charCodeAt(i);
157
+ if (code < 128) {
158
+ bytes.push(code);
159
+ } else if (code < 2048) {
160
+ bytes.push(192 | code >> 6, 128 | code & 63);
161
+ } else {
162
+ bytes.push(224 | code >> 12, 128 | code >> 6 & 63, 128 | code & 63);
163
+ }
164
+ }
165
+ return new Uint8Array(bytes);
166
+ }
167
+ function bytesToString(bytes) {
168
+ let str = "";
169
+ let i = 0;
170
+ while (i < bytes.length) {
171
+ const byte = bytes[i];
172
+ if (byte < 128) {
173
+ str += String.fromCharCode(byte);
174
+ i++;
175
+ } else if ((byte & 224) === 192) {
176
+ str += String.fromCharCode((byte & 31) << 6 | bytes[i + 1] & 63);
177
+ i += 2;
178
+ } else {
179
+ str += String.fromCharCode((byte & 15) << 12 | (bytes[i + 1] & 63) << 6 | bytes[i + 2] & 63);
180
+ i += 3;
181
+ }
182
+ }
183
+ return str;
184
+ }
185
+ function base32EncodeBytes(bytes, alphabet = "standard") {
186
+ const alpha = ALPHABETS[alphabet];
187
+ let result = "";
188
+ let buffer = 0;
189
+ let bitsLeft = 0;
190
+ for (let i = 0; i < bytes.length; i++) {
191
+ buffer = buffer << 8 | bytes[i];
192
+ bitsLeft += 8;
193
+ while (bitsLeft >= 5) {
194
+ bitsLeft -= 5;
195
+ result += alpha[buffer >> bitsLeft & 31];
196
+ }
197
+ }
198
+ if (bitsLeft > 0) {
199
+ result += alpha[buffer << 5 - bitsLeft & 31];
200
+ }
201
+ while (result.length % 8 !== 0) {
202
+ result += "=";
203
+ }
204
+ return result;
205
+ }
206
+ function base32DecodeBytes(input, alphabet = "standard") {
207
+ const alpha = ALPHABETS[alphabet];
208
+ const stripped = input.toUpperCase().replace(/=+$/, "");
209
+ const normalizedInput = alphabet === "z-base-32" ? input.replace(/=+$/, "") : stripped;
210
+ const bytes = [];
211
+ let buffer = 0;
212
+ let bitsLeft = 0;
213
+ for (let i = 0; i < normalizedInput.length; i++) {
214
+ const char = normalizedInput[i];
215
+ const val = alpha.indexOf(char);
216
+ if (val === -1) {
217
+ return { error: `Invalid character '${char}' for ${alphabet} alphabet` };
218
+ }
219
+ buffer = buffer << 5 | val;
220
+ bitsLeft += 5;
221
+ if (bitsLeft >= 8) {
222
+ bitsLeft -= 8;
223
+ bytes.push(buffer >> bitsLeft & 255);
224
+ }
225
+ }
226
+ return new Uint8Array(bytes);
227
+ }
228
+ function base32Encode(input, alphabet = "standard") {
229
+ const bytes = stringToBytes(input);
230
+ return base32EncodeBytes(bytes, alphabet);
231
+ }
232
+ function base32Decode(input, alphabet = "standard") {
233
+ const result = base32DecodeBytes(input, alphabet);
234
+ if (typeof result === "object" && "error" in result) {
235
+ return result;
236
+ }
237
+ return bytesToString(result);
238
+ }
239
+ function isValidBase32(input, alphabet = "standard") {
240
+ if (input.length === 0) return true;
241
+ const alpha = ALPHABETS[alphabet];
242
+ const paddingIndex = input.indexOf("=");
243
+ let dataPart;
244
+ let paddingPart;
245
+ if (paddingIndex === -1) {
246
+ dataPart = input;
247
+ paddingPart = "";
248
+ } else {
249
+ dataPart = input.slice(0, paddingIndex);
250
+ paddingPart = input.slice(paddingIndex);
251
+ }
252
+ if (!/^=*$/.test(paddingPart)) return false;
253
+ for (let i = 0; i < dataPart.length; i++) {
254
+ const char = alphabet === "z-base-32" ? dataPart[i] : dataPart[i].toUpperCase();
255
+ if (alpha.indexOf(char) === -1) return false;
256
+ }
257
+ if (paddingPart.length > 0) {
258
+ if (input.length % 8 !== 0) return false;
259
+ }
260
+ const rem = dataPart.length % 8;
261
+ if (rem === 1 || rem === 3 || rem === 6) return false;
262
+ return true;
263
+ }
264
+
265
+ export { ALPHABETS, base32Decode, base32DecodeBytes, base32Encode, base32EncodeBytes, decodeBase64, decodeHtmlEntities, decodeUrl, diffSegments, encodeBase64, encodeHtmlEntities, encodeHtmlEntitiesAll, encodeUrl, encoding_exports, isValidBase32 };