@talosjs/utils 1.0.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 (64) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +507 -0
  3. package/dist/shared/chunk-0cyfbpyn.js +12 -0
  4. package/dist/shared/chunk-0cyfbpyn.js.map +10 -0
  5. package/dist/shared/chunk-1bb2xts4.js +41 -0
  6. package/dist/shared/chunk-1bb2xts4.js.map +10 -0
  7. package/dist/shared/chunk-8vzcyn6r.js +6 -0
  8. package/dist/shared/chunk-8vzcyn6r.js.map +10 -0
  9. package/dist/shared/chunk-bxbywxsz.js +17 -0
  10. package/dist/shared/chunk-bxbywxsz.js.map +10 -0
  11. package/dist/shared/chunk-m001sqs5.js +15 -0
  12. package/dist/shared/chunk-m001sqs5.js.map +10 -0
  13. package/dist/src/capitalize.d.ts +2 -0
  14. package/dist/src/capitalize.js +8 -0
  15. package/dist/src/capitalize.js.map +9 -0
  16. package/dist/src/dataURLtoFile.d.ts +2 -0
  17. package/dist/src/dataURLtoFile.js +18 -0
  18. package/dist/src/dataURLtoFile.js.map +10 -0
  19. package/dist/src/formatRelativeNumber.d.ts +6 -0
  20. package/dist/src/formatRelativeNumber.js +18 -0
  21. package/dist/src/formatRelativeNumber.js.map +10 -0
  22. package/dist/src/millisecondsToHMS.d.ts +2 -0
  23. package/dist/src/millisecondsToHMS.js +19 -0
  24. package/dist/src/millisecondsToHMS.js.map +10 -0
  25. package/dist/src/parseEnvVars.d.ts +2 -0
  26. package/dist/src/parseEnvVars.js +25 -0
  27. package/dist/src/parseEnvVars.js.map +10 -0
  28. package/dist/src/parseString.d.ts +2 -0
  29. package/dist/src/parseString.js +9 -0
  30. package/dist/src/parseString.js.map +9 -0
  31. package/dist/src/random.d.ts +7 -0
  32. package/dist/src/random.js +21 -0
  33. package/dist/src/random.js.map +10 -0
  34. package/dist/src/secondsToHMS.d.ts +2 -0
  35. package/dist/src/secondsToHMS.js +19 -0
  36. package/dist/src/secondsToHMS.js.map +10 -0
  37. package/dist/src/secondsToMS.d.ts +2 -0
  38. package/dist/src/secondsToMS.js +11 -0
  39. package/dist/src/secondsToMS.js.map +10 -0
  40. package/dist/src/sleep.d.ts +2 -0
  41. package/dist/src/sleep.js +7 -0
  42. package/dist/src/sleep.js.map +10 -0
  43. package/dist/src/splitToWords.d.ts +2 -0
  44. package/dist/src/splitToWords.js +8 -0
  45. package/dist/src/splitToWords.js.map +9 -0
  46. package/dist/src/toCamelCase.d.ts +2 -0
  47. package/dist/src/toCamelCase.js +10 -0
  48. package/dist/src/toCamelCase.js.map +9 -0
  49. package/dist/src/toKebabCase.d.ts +2 -0
  50. package/dist/src/toKebabCase.js +14 -0
  51. package/dist/src/toKebabCase.js.map +10 -0
  52. package/dist/src/toPascalCase.d.ts +2 -0
  53. package/dist/src/toPascalCase.js +17 -0
  54. package/dist/src/toPascalCase.js.map +10 -0
  55. package/dist/src/toSnakeCase.d.ts +2 -0
  56. package/dist/src/toSnakeCase.js +15 -0
  57. package/dist/src/toSnakeCase.js.map +10 -0
  58. package/dist/src/trans.d.ts +21 -0
  59. package/dist/src/trans.js +55 -0
  60. package/dist/src/trans.js.map +10 -0
  61. package/dist/src/trim.d.ts +2 -0
  62. package/dist/src/trim.js +8 -0
  63. package/dist/src/trim.js.map +9 -0
  64. package/package.json +138 -0
@@ -0,0 +1,8 @@
1
+ import {
2
+ capitalize
3
+ } from "../shared/chunk-8vzcyn6r.js";
4
+ export {
5
+ capitalize
6
+ };
7
+
8
+ //# debugId=E42B9FA6EC40384264756E2164756E21
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "E42B9FA6EC40384264756E2164756E21",
8
+ "names": []
9
+ }
@@ -0,0 +1,2 @@
1
+ declare const dataURLtoFile: (dataUrl: string, filename: string) => File;
2
+ export { dataURLtoFile };
@@ -0,0 +1,18 @@
1
+ // src/dataURLtoFile.ts
2
+ var dataURLtoFile = (dataUrl, filename) => {
3
+ const arr = dataUrl.split(",");
4
+ const mimeMatch = arr[0]?.match(/:(.*?);/);
5
+ const mime = mimeMatch?.[1] || "";
6
+ const bstr = atob(arr[1]);
7
+ let n = bstr.length;
8
+ const u8arr = new Uint8Array(n);
9
+ while (n--) {
10
+ u8arr[n] = bstr.charCodeAt(n);
11
+ }
12
+ return new File([u8arr], filename, { type: mime });
13
+ };
14
+ export {
15
+ dataURLtoFile
16
+ };
17
+
18
+ //# debugId=59E7DDC2B59245A564756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/dataURLtoFile.ts"],
4
+ "sourcesContent": [
5
+ "export const dataURLtoFile = (dataUrl: string, filename: string): File => {\n const arr = dataUrl.split(\",\");\n const mimeMatch = arr[0]?.match(/:(.*?);/);\n const mime = mimeMatch?.[1] || \"\";\n const bstr = atob(arr[1] as string);\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n return new File([u8arr], filename, { type: mime });\n};\n"
6
+ ],
7
+ "mappings": ";AAAO,IAAM,gBAAgB,CAAC,SAAiB,aAA2B;AAAA,EACxE,MAAM,MAAM,QAAQ,MAAM,GAAG;AAAA,EAC7B,MAAM,YAAY,IAAI,IAAI,MAAM,SAAS;AAAA,EACzC,MAAM,OAAO,YAAY,MAAM;AAAA,EAC/B,MAAM,OAAO,KAAK,IAAI,EAAY;AAAA,EAClC,IAAI,IAAI,KAAK;AAAA,EACb,MAAM,QAAQ,IAAI,WAAW,CAAC;AAAA,EAC9B,OAAO,KAAK;AAAA,IACV,MAAM,KAAK,KAAK,WAAW,CAAC;AAAA,EAC9B;AAAA,EACA,OAAO,IAAI,KAAK,CAAC,KAAK,GAAG,UAAU,EAAE,MAAM,KAAK,CAAC;AAAA;",
8
+ "debugId": "59E7DDC2B59245A564756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,6 @@
1
+ type FormatRelativeNumberConfigType = {
2
+ precision?: number;
3
+ lang?: string;
4
+ };
5
+ declare const formatRelativeNumber: (num: number, config?: FormatRelativeNumberConfigType) => string;
6
+ export { formatRelativeNumber };
@@ -0,0 +1,18 @@
1
+ // src/formatRelativeNumber.ts
2
+ var defaultLang = "en-GB";
3
+ var isEnglishLocale = (lang) => /^en(?:-|$)/i.test(lang);
4
+ var normalizeEnglishCompactSuffix = (value) => value.replace(/tn$/, "T").replace(/bn$/, "B").replace(/k$/, "K").replace(/m$/, "M");
5
+ var formatRelativeNumber = (num, config) => {
6
+ const lang = config?.lang ?? defaultLang;
7
+ const value = new Intl.NumberFormat(lang, {
8
+ notation: "compact",
9
+ compactDisplay: "short",
10
+ maximumFractionDigits: config?.precision ?? 1
11
+ }).format(num);
12
+ return isEnglishLocale(lang) ? normalizeEnglishCompactSuffix(value) : value;
13
+ };
14
+ export {
15
+ formatRelativeNumber
16
+ };
17
+
18
+ //# debugId=4484CEB01A34EA0264756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/formatRelativeNumber.ts"],
4
+ "sourcesContent": [
5
+ "type FormatRelativeNumberConfigType = {\n precision?: number;\n lang?: string;\n};\n\nconst defaultLang = \"en-GB\";\n\nconst isEnglishLocale = (lang: string): boolean => /^en(?:-|$)/i.test(lang);\n\nconst normalizeEnglishCompactSuffix = (value: string): string =>\n value.replace(/tn$/, \"T\").replace(/bn$/, \"B\").replace(/k$/, \"K\").replace(/m$/, \"M\");\n\nexport const formatRelativeNumber = (num: number, config?: FormatRelativeNumberConfigType): string => {\n const lang = config?.lang ?? defaultLang;\n const value = new Intl.NumberFormat(lang, {\n notation: \"compact\",\n compactDisplay: \"short\",\n maximumFractionDigits: config?.precision ?? 1,\n }).format(num);\n\n return isEnglishLocale(lang) ? normalizeEnglishCompactSuffix(value) : value;\n};\n"
6
+ ],
7
+ "mappings": ";AAKA,IAAM,cAAc;AAEpB,IAAM,kBAAkB,CAAC,SAA0B,cAAc,KAAK,IAAI;AAE1E,IAAM,gCAAgC,CAAC,UACrC,MAAM,QAAQ,OAAO,GAAG,EAAE,QAAQ,OAAO,GAAG,EAAE,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,GAAG;AAE7E,IAAM,uBAAuB,CAAC,KAAa,WAAoD;AAAA,EACpG,MAAM,OAAO,QAAQ,QAAQ;AAAA,EAC7B,MAAM,QAAQ,IAAI,KAAK,aAAa,MAAM;AAAA,IACxC,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,uBAAuB,QAAQ,aAAa;AAAA,EAC9C,CAAC,EAAE,OAAO,GAAG;AAAA,EAEb,OAAO,gBAAgB,IAAI,IAAI,8BAA8B,KAAK,IAAI;AAAA;",
8
+ "debugId": "4484CEB01A34EA0264756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,2 @@
1
+ declare const millisecondsToHMS: (ms: number) => string;
2
+ export { millisecondsToHMS };
@@ -0,0 +1,19 @@
1
+ // src/millisecondsToHMS.ts
2
+ var millisecondsToHMS = (ms) => {
3
+ const totalSeconds = Math.floor(ms / 1000);
4
+ const hours = Math.floor(totalSeconds / 3600);
5
+ const minutes = Math.floor(totalSeconds % 3600 / 60);
6
+ const seconds = totalSeconds % 60;
7
+ if (hours > 0) {
8
+ return `${hours}:${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}`;
9
+ }
10
+ if (minutes > 0) {
11
+ return `${minutes}:${seconds.toString().padStart(2, "0")}`;
12
+ }
13
+ return seconds.toString();
14
+ };
15
+ export {
16
+ millisecondsToHMS
17
+ };
18
+
19
+ //# debugId=7E038BF615CD031064756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/millisecondsToHMS.ts"],
4
+ "sourcesContent": [
5
+ "export const millisecondsToHMS = (ms: number): string => {\n const totalSeconds = Math.floor(ms / 1000);\n const hours = Math.floor(totalSeconds / 3600);\n const minutes = Math.floor((totalSeconds % 3600) / 60);\n const seconds = totalSeconds % 60;\n\n if (hours > 0) {\n return `${hours}:${minutes.toString().padStart(2, \"0\")}:${seconds.toString().padStart(2, \"0\")}`;\n }\n\n if (minutes > 0) {\n return `${minutes}:${seconds.toString().padStart(2, \"0\")}`;\n }\n\n return seconds.toString();\n};\n"
6
+ ],
7
+ "mappings": ";AAAO,IAAM,oBAAoB,CAAC,OAAuB;AAAA,EACvD,MAAM,eAAe,KAAK,MAAM,KAAK,IAAI;AAAA,EACzC,MAAM,QAAQ,KAAK,MAAM,eAAe,IAAI;AAAA,EAC5C,MAAM,UAAU,KAAK,MAAO,eAAe,OAAQ,EAAE;AAAA,EACrD,MAAM,UAAU,eAAe;AAAA,EAE/B,IAAI,QAAQ,GAAG;AAAA,IACb,OAAO,GAAG,SAAS,QAAQ,SAAS,EAAE,SAAS,GAAG,GAAG,KAAK,QAAQ,SAAS,EAAE,SAAS,GAAG,GAAG;AAAA,EAC9F;AAAA,EAEA,IAAI,UAAU,GAAG;AAAA,IACf,OAAO,GAAG,WAAW,QAAQ,SAAS,EAAE,SAAS,GAAG,GAAG;AAAA,EACzD;AAAA,EAEA,OAAO,QAAQ,SAAS;AAAA;",
8
+ "debugId": "7E038BF615CD031064756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,2 @@
1
+ declare const parseEnvVars: <T = Record<string, string>>(envs: Record<string, string>) => T;
2
+ export { parseEnvVars };
@@ -0,0 +1,25 @@
1
+ import {
2
+ toCamelCase
3
+ } from "../shared/chunk-bxbywxsz.js";
4
+ import"../shared/chunk-m001sqs5.js";
5
+ import"../shared/chunk-8vzcyn6r.js";
6
+ import {
7
+ parseString
8
+ } from "../shared/chunk-1bb2xts4.js";
9
+ import"../shared/chunk-0cyfbpyn.js";
10
+
11
+ // src/parseEnvVars.ts
12
+ var parseEnvVars = (envs) => {
13
+ const vars = {};
14
+ for (const key in envs) {
15
+ const k = toCamelCase(key);
16
+ const value = parseString(envs[key]);
17
+ vars[k] = value;
18
+ }
19
+ return vars;
20
+ };
21
+ export {
22
+ parseEnvVars
23
+ };
24
+
25
+ //# debugId=11044E86879063CA64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/parseEnvVars.ts"],
4
+ "sourcesContent": [
5
+ "import { parseString } from \"./parseString\";\nimport { toCamelCase } from \"./toCamelCase\";\n\nexport const parseEnvVars = <T = Record<string, string>>(envs: Record<string, string>): T => {\n const vars: Record<string, string> = {};\n\n for (const key in envs) {\n const k = toCamelCase(key);\n const value = parseString(envs[key] as string) as string;\n vars[k] = value;\n }\n\n return vars as T;\n};\n"
6
+ ],
7
+ "mappings": ";;;;;;;;;;;AAGO,IAAM,eAAe,CAA6B,SAAoC;AAAA,EAC3F,MAAM,OAA+B,CAAC;AAAA,EAEtC,WAAW,OAAO,MAAM;AAAA,IACtB,MAAM,IAAI,YAAY,GAAG;AAAA,IACzB,MAAM,QAAQ,YAAY,KAAK,IAAc;AAAA,IAC7C,KAAK,KAAK;AAAA,EACZ;AAAA,EAEA,OAAO;AAAA;",
8
+ "debugId": "11044E86879063CA64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,2 @@
1
+ declare const parseString: <T = unknown>(text: string) => T;
2
+ export { parseString };
@@ -0,0 +1,9 @@
1
+ import {
2
+ parseString
3
+ } from "../shared/chunk-1bb2xts4.js";
4
+ import"../shared/chunk-0cyfbpyn.js";
5
+ export {
6
+ parseString
7
+ };
8
+
9
+ //# debugId=FD702FA4D068606164756E2164756E21
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "FD702FA4D068606164756E2164756E21",
8
+ "names": []
9
+ }
@@ -0,0 +1,7 @@
1
+ declare const random: {
2
+ id(): string;
3
+ nanoid(size?: number): string;
4
+ stringInt(size?: number): string;
5
+ nanoidFactory(size?: number): (size?: number) => string;
6
+ };
7
+ export { random };
@@ -0,0 +1,21 @@
1
+ // src/random.ts
2
+ import { customAlphabet } from "nanoid";
3
+ var random = {
4
+ id() {
5
+ return customAlphabet("1234567890abcdef", 20)();
6
+ },
7
+ nanoid(size) {
8
+ return customAlphabet("1234567890abcdef", size ?? 10)();
9
+ },
10
+ stringInt(size) {
11
+ return customAlphabet("1234567890", size ?? 10)();
12
+ },
13
+ nanoidFactory(size) {
14
+ return customAlphabet("1234567890abcdef", size ?? 10);
15
+ }
16
+ };
17
+ export {
18
+ random
19
+ };
20
+
21
+ //# debugId=B9F0ECE1FAE8D9B964756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/random.ts"],
4
+ "sourcesContent": [
5
+ "import { customAlphabet } from \"nanoid\";\n\nexport const random = {\n id(): string {\n return customAlphabet(\"1234567890abcdef\", 20)();\n },\n nanoid(size?: number): string {\n return customAlphabet(\"1234567890abcdef\", size ?? 10)();\n },\n stringInt(size?: number): string {\n return customAlphabet(\"1234567890\", size ?? 10)();\n },\n nanoidFactory(size?: number): (size?: number) => string {\n return customAlphabet(\"1234567890abcdef\", size ?? 10);\n },\n};\n"
6
+ ],
7
+ "mappings": ";AAAA;AAEO,IAAM,SAAS;AAAA,EACpB,EAAE,GAAW;AAAA,IACX,OAAO,eAAe,oBAAoB,EAAE,EAAE;AAAA;AAAA,EAEhD,MAAM,CAAC,MAAuB;AAAA,IAC5B,OAAO,eAAe,oBAAoB,QAAQ,EAAE,EAAE;AAAA;AAAA,EAExD,SAAS,CAAC,MAAuB;AAAA,IAC/B,OAAO,eAAe,cAAc,QAAQ,EAAE,EAAE;AAAA;AAAA,EAElD,aAAa,CAAC,MAA0C;AAAA,IACtD,OAAO,eAAe,oBAAoB,QAAQ,EAAE;AAAA;AAExD;",
8
+ "debugId": "B9F0ECE1FAE8D9B964756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,2 @@
1
+ declare const secondsToHMS: (seconds: number) => string;
2
+ export { secondsToHMS };
@@ -0,0 +1,19 @@
1
+ // src/secondsToHMS.ts
2
+ var secondsToHMS = (seconds) => {
3
+ const totalSeconds = Math.floor(seconds);
4
+ const hours = Math.floor(totalSeconds / 3600);
5
+ const minutes = Math.floor(totalSeconds % 3600 / 60);
6
+ const remainingSeconds = totalSeconds % 60;
7
+ if (hours > 0) {
8
+ return `${hours}:${minutes.toString().padStart(2, "0")}:${remainingSeconds.toString().padStart(2, "0")}`;
9
+ }
10
+ if (minutes > 0) {
11
+ return `${minutes}:${remainingSeconds.toString().padStart(2, "0")}`;
12
+ }
13
+ return remainingSeconds.toString();
14
+ };
15
+ export {
16
+ secondsToHMS
17
+ };
18
+
19
+ //# debugId=EEA206F6CAD1001264756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/secondsToHMS.ts"],
4
+ "sourcesContent": [
5
+ "export const secondsToHMS = (seconds: number): string => {\n const totalSeconds = Math.floor(seconds);\n const hours = Math.floor(totalSeconds / 3600);\n const minutes = Math.floor((totalSeconds % 3600) / 60);\n const remainingSeconds = totalSeconds % 60;\n\n if (hours > 0) {\n return `${hours}:${minutes.toString().padStart(2, \"0\")}:${remainingSeconds.toString().padStart(2, \"0\")}`;\n }\n\n if (minutes > 0) {\n return `${minutes}:${remainingSeconds.toString().padStart(2, \"0\")}`;\n }\n\n return remainingSeconds.toString();\n};\n"
6
+ ],
7
+ "mappings": ";AAAO,IAAM,eAAe,CAAC,YAA4B;AAAA,EACvD,MAAM,eAAe,KAAK,MAAM,OAAO;AAAA,EACvC,MAAM,QAAQ,KAAK,MAAM,eAAe,IAAI;AAAA,EAC5C,MAAM,UAAU,KAAK,MAAO,eAAe,OAAQ,EAAE;AAAA,EACrD,MAAM,mBAAmB,eAAe;AAAA,EAExC,IAAI,QAAQ,GAAG;AAAA,IACb,OAAO,GAAG,SAAS,QAAQ,SAAS,EAAE,SAAS,GAAG,GAAG,KAAK,iBAAiB,SAAS,EAAE,SAAS,GAAG,GAAG;AAAA,EACvG;AAAA,EAEA,IAAI,UAAU,GAAG;AAAA,IACf,OAAO,GAAG,WAAW,iBAAiB,SAAS,EAAE,SAAS,GAAG,GAAG;AAAA,EAClE;AAAA,EAEA,OAAO,iBAAiB,SAAS;AAAA;",
8
+ "debugId": "EEA206F6CAD1001264756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,2 @@
1
+ declare const secondsToMS: (seconds: number) => string;
2
+ export { secondsToMS };
@@ -0,0 +1,11 @@
1
+ // src/secondsToMS.ts
2
+ var secondsToMS = (seconds) => {
3
+ const minutes = Math.floor(seconds / 60);
4
+ const remainingSeconds = seconds % 60;
5
+ return `${minutes}:${remainingSeconds.toString().padStart(2, "0")}`;
6
+ };
7
+ export {
8
+ secondsToMS
9
+ };
10
+
11
+ //# debugId=F1DF7202034CDF9864756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/secondsToMS.ts"],
4
+ "sourcesContent": [
5
+ "export const secondsToMS = (seconds: number): string => {\n const minutes = Math.floor(seconds / 60);\n const remainingSeconds = seconds % 60;\n return `${minutes}:${remainingSeconds.toString().padStart(2, \"0\")}`;\n};\n"
6
+ ],
7
+ "mappings": ";AAAO,IAAM,cAAc,CAAC,YAA4B;AAAA,EACtD,MAAM,UAAU,KAAK,MAAM,UAAU,EAAE;AAAA,EACvC,MAAM,mBAAmB,UAAU;AAAA,EACnC,OAAO,GAAG,WAAW,iBAAiB,SAAS,EAAE,SAAS,GAAG,GAAG;AAAA;",
8
+ "debugId": "F1DF7202034CDF9864756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,2 @@
1
+ declare const sleep: (ms: number) => Promise<void>;
2
+ export { sleep };
@@ -0,0 +1,7 @@
1
+ // src/sleep.ts
2
+ var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
3
+ export {
4
+ sleep
5
+ };
6
+
7
+ //# debugId=F383B0B189A5418A64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/sleep.ts"],
4
+ "sourcesContent": [
5
+ "export const sleep = (ms: number): Promise<void> => new Promise((resolve) => setTimeout(resolve, ms));\n"
6
+ ],
7
+ "mappings": ";AAAO,IAAM,QAAQ,CAAC,OAA8B,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;",
8
+ "debugId": "F383B0B189A5418A64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,2 @@
1
+ declare const splitToWords: (input: string) => string[];
2
+ export { splitToWords };
@@ -0,0 +1,8 @@
1
+ import {
2
+ splitToWords
3
+ } from "../shared/chunk-m001sqs5.js";
4
+ export {
5
+ splitToWords
6
+ };
7
+
8
+ //# debugId=691F13EB833ECFF764756E2164756E21
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "691F13EB833ECFF764756E2164756E21",
8
+ "names": []
9
+ }
@@ -0,0 +1,2 @@
1
+ declare const toCamelCase: (input: string) => string;
2
+ export { toCamelCase };
@@ -0,0 +1,10 @@
1
+ import {
2
+ toCamelCase
3
+ } from "../shared/chunk-bxbywxsz.js";
4
+ import"../shared/chunk-m001sqs5.js";
5
+ import"../shared/chunk-8vzcyn6r.js";
6
+ export {
7
+ toCamelCase
8
+ };
9
+
10
+ //# debugId=54F9D6C69D9A1DD764756E2164756E21
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "54F9D6C69D9A1DD764756E2164756E21",
8
+ "names": []
9
+ }
@@ -0,0 +1,2 @@
1
+ declare const toKebabCase: (input: string) => string;
2
+ export { toKebabCase };
@@ -0,0 +1,14 @@
1
+ import {
2
+ splitToWords
3
+ } from "../shared/chunk-m001sqs5.js";
4
+
5
+ // src/toKebabCase.ts
6
+ var toKebabCase = (input) => {
7
+ input = input.trim();
8
+ return splitToWords(input).join("-").toLowerCase();
9
+ };
10
+ export {
11
+ toKebabCase
12
+ };
13
+
14
+ //# debugId=9ACFDA45427BF37E64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/toKebabCase.ts"],
4
+ "sourcesContent": [
5
+ "import { splitToWords } from \"./splitToWords\";\n\nexport const toKebabCase = (input: string): string => {\n input = input.trim();\n return splitToWords(input).join(\"-\").toLowerCase();\n};\n"
6
+ ],
7
+ "mappings": ";;;;;AAEO,IAAM,cAAc,CAAC,UAA0B;AAAA,EACpD,QAAQ,MAAM,KAAK;AAAA,EACnB,OAAO,aAAa,KAAK,EAAE,KAAK,GAAG,EAAE,YAAY;AAAA;",
8
+ "debugId": "9ACFDA45427BF37E64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,2 @@
1
+ declare const toPascalCase: (input: string) => string;
2
+ export { toPascalCase };
@@ -0,0 +1,17 @@
1
+ import {
2
+ splitToWords
3
+ } from "../shared/chunk-m001sqs5.js";
4
+ import {
5
+ capitalize
6
+ } from "../shared/chunk-8vzcyn6r.js";
7
+
8
+ // src/toPascalCase.ts
9
+ var toPascalCase = (input) => {
10
+ input = input.trim();
11
+ return splitToWords(input).map(capitalize).join("");
12
+ };
13
+ export {
14
+ toPascalCase
15
+ };
16
+
17
+ //# debugId=AF47D9A76FEE136E64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/toPascalCase.ts"],
4
+ "sourcesContent": [
5
+ "import { capitalize } from \"./capitalize\";\nimport { splitToWords } from \"./splitToWords\";\n\nexport const toPascalCase = (input: string): string => {\n input = input.trim();\n return splitToWords(input).map(capitalize).join(\"\");\n};\n"
6
+ ],
7
+ "mappings": ";;;;;;;;AAGO,IAAM,eAAe,CAAC,UAA0B;AAAA,EACrD,QAAQ,MAAM,KAAK;AAAA,EACnB,OAAO,aAAa,KAAK,EAAE,IAAI,UAAU,EAAE,KAAK,EAAE;AAAA;",
8
+ "debugId": "AF47D9A76FEE136E64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,2 @@
1
+ declare const toSnakeCase: (input: string) => string;
2
+ export { toSnakeCase };
@@ -0,0 +1,15 @@
1
+ import {
2
+ splitToWords
3
+ } from "../shared/chunk-m001sqs5.js";
4
+
5
+ // src/toSnakeCase.ts
6
+ var toSnakeCase = (input) => {
7
+ input = input.trim();
8
+ const words = splitToWords(input);
9
+ return words.map((word) => word.toLowerCase()).join("_");
10
+ };
11
+ export {
12
+ toSnakeCase
13
+ };
14
+
15
+ //# debugId=6635F4B49F81805C64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/toSnakeCase.ts"],
4
+ "sourcesContent": [
5
+ "import { splitToWords } from \"./splitToWords\";\n\nexport const toSnakeCase = (input: string): string => {\n input = input.trim();\n const words = splitToWords(input);\n return words.map((word) => word.toLowerCase()).join(\"_\");\n};\n"
6
+ ],
7
+ "mappings": ";;;;;AAEO,IAAM,cAAc,CAAC,UAA0B;AAAA,EACpD,QAAQ,MAAM,KAAK;AAAA,EACnB,MAAM,QAAQ,aAAa,KAAK;AAAA,EAChC,OAAO,MAAM,IAAI,CAAC,SAAS,KAAK,YAAY,CAAC,EAAE,KAAK,GAAG;AAAA;",
8
+ "debugId": "6635F4B49F81805C64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,21 @@
1
+ type TransParamsType = Record<string, boolean | number | bigint | string>;
2
+ type TransLeafType = Partial<Record<string, string>>;
3
+ type TransDictType = {
4
+ [key: string]: TransDictType | TransLeafType;
5
+ };
6
+ type TransConfigType = {
7
+ lang?: string | undefined;
8
+ fallbackLang?: string | undefined;
9
+ params?: TransParamsType | undefined;
10
+ count?: number | undefined;
11
+ };
12
+ type TransResultType = {
13
+ found: true;
14
+ value: string;
15
+ } | {
16
+ found: false;
17
+ reason: "key" | "locale";
18
+ };
19
+ declare const has: (dict: TransDictType, key: string) => boolean;
20
+ declare const trans: (dict: TransDictType, key: string, config?: TransConfigType) => TransResultType;
21
+ export { trans, has, TransResultType, TransParamsType, TransLeafType, TransDictType, TransConfigType };
@@ -0,0 +1,55 @@
1
+ // src/trans.ts
2
+ var DEFAULT_FALLBACK_LOCALE = "en";
3
+ var INTERPOLATION_PATTERN = /\{\{\s*(\w+)\s*\}\}/g;
4
+ var resolve = (dict, key) => {
5
+ let current = dict;
6
+ for (const segment of key.split(".")) {
7
+ if (current === null || typeof current !== "object") {
8
+ return;
9
+ }
10
+ current = current[segment];
11
+ }
12
+ if (current === null || typeof current !== "object") {
13
+ return;
14
+ }
15
+ return current;
16
+ };
17
+ var select = (dict, key, count) => {
18
+ if (count === undefined || count === 1) {
19
+ return resolve(dict, key);
20
+ }
21
+ if (count === 0) {
22
+ return resolve(dict, `${key}_zero`) ?? resolve(dict, `${key}_plural`) ?? resolve(dict, key);
23
+ }
24
+ return resolve(dict, `${key}_plural`) ?? resolve(dict, key);
25
+ };
26
+ var interpolate = (template, params, count) => {
27
+ const values = { ...params };
28
+ if (count !== undefined && values.count === undefined) {
29
+ values.count = count;
30
+ }
31
+ return template.replace(INTERPOLATION_PATTERN, (match, name) => {
32
+ const value = values[name];
33
+ return value === undefined ? match : String(value);
34
+ });
35
+ };
36
+ var has = (dict, key) => resolve(dict, key) !== undefined;
37
+ var trans = (dict, key, config = {}) => {
38
+ const fallbackLang = config.fallbackLang ?? DEFAULT_FALLBACK_LOCALE;
39
+ const lang = config.lang ?? fallbackLang;
40
+ const leaf = select(dict, key, config.count);
41
+ if (!leaf) {
42
+ return { found: false, reason: "key" };
43
+ }
44
+ const template = leaf[lang] ?? leaf[fallbackLang];
45
+ if (template === undefined) {
46
+ return { found: false, reason: "locale" };
47
+ }
48
+ return { found: true, value: interpolate(template, config.params, config.count) };
49
+ };
50
+ export {
51
+ trans,
52
+ has
53
+ };
54
+
55
+ //# debugId=06078B4D8E22A20864756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/trans.ts"],
4
+ "sourcesContent": [
5
+ "export type TransParamsType = Record<string, boolean | number | bigint | string>;\n\nexport type TransLeafType = Partial<Record<string, string>>;\n\nexport type TransDictType = {\n [key: string]: TransDictType | TransLeafType;\n};\n\nexport type TransConfigType = {\n lang?: string | undefined;\n fallbackLang?: string | undefined;\n params?: TransParamsType | undefined;\n count?: number | undefined;\n};\n\nexport type TransResultType = { found: true; value: string } | { found: false; reason: \"key\" | \"locale\" };\n\nconst DEFAULT_FALLBACK_LOCALE = \"en\";\nconst INTERPOLATION_PATTERN = /\\{\\{\\s*(\\w+)\\s*\\}\\}/g;\n\nconst resolve = (dict: TransDictType, key: string): TransLeafType | undefined => {\n let current: unknown = dict;\n\n for (const segment of key.split(\".\")) {\n if (current === null || typeof current !== \"object\") {\n return undefined;\n }\n\n current = (current as Record<string, unknown>)[segment];\n }\n\n if (current === null || typeof current !== \"object\") {\n return undefined;\n }\n\n return current as TransLeafType;\n};\n\nconst select = (dict: TransDictType, key: string, count?: number): TransLeafType | undefined => {\n if (count === undefined || count === 1) {\n return resolve(dict, key);\n }\n\n if (count === 0) {\n return resolve(dict, `${key}_zero`) ?? resolve(dict, `${key}_plural`) ?? resolve(dict, key);\n }\n\n return resolve(dict, `${key}_plural`) ?? resolve(dict, key);\n};\n\nconst interpolate = (template: string, params?: TransParamsType, count?: number): string => {\n const values: TransParamsType = { ...params };\n\n if (count !== undefined && values.count === undefined) {\n values.count = count;\n }\n\n return template.replace(INTERPOLATION_PATTERN, (match, name: string) => {\n const value = values[name];\n return value === undefined ? match : String(value);\n });\n};\n\nexport const has = (dict: TransDictType, key: string): boolean => resolve(dict, key) !== undefined;\n\nexport const trans = (dict: TransDictType, key: string, config: TransConfigType = {}): TransResultType => {\n const fallbackLang = config.fallbackLang ?? DEFAULT_FALLBACK_LOCALE;\n const lang = config.lang ?? fallbackLang;\n const leaf = select(dict, key, config.count);\n\n if (!leaf) {\n return { found: false, reason: \"key\" };\n }\n\n const template = leaf[lang] ?? leaf[fallbackLang];\n\n if (template === undefined) {\n return { found: false, reason: \"locale\" };\n }\n\n return { found: true, value: interpolate(template, config.params, config.count) };\n};\n"
6
+ ],
7
+ "mappings": ";AAiBA,IAAM,0BAA0B;AAChC,IAAM,wBAAwB;AAE9B,IAAM,UAAU,CAAC,MAAqB,QAA2C;AAAA,EAC/E,IAAI,UAAmB;AAAA,EAEvB,WAAW,WAAW,IAAI,MAAM,GAAG,GAAG;AAAA,IACpC,IAAI,YAAY,QAAQ,OAAO,YAAY,UAAU;AAAA,MACnD;AAAA,IACF;AAAA,IAEA,UAAW,QAAoC;AAAA,EACjD;AAAA,EAEA,IAAI,YAAY,QAAQ,OAAO,YAAY,UAAU;AAAA,IACnD;AAAA,EACF;AAAA,EAEA,OAAO;AAAA;AAGT,IAAM,SAAS,CAAC,MAAqB,KAAa,UAA8C;AAAA,EAC9F,IAAI,UAAU,aAAa,UAAU,GAAG;AAAA,IACtC,OAAO,QAAQ,MAAM,GAAG;AAAA,EAC1B;AAAA,EAEA,IAAI,UAAU,GAAG;AAAA,IACf,OAAO,QAAQ,MAAM,GAAG,UAAU,KAAK,QAAQ,MAAM,GAAG,YAAY,KAAK,QAAQ,MAAM,GAAG;AAAA,EAC5F;AAAA,EAEA,OAAO,QAAQ,MAAM,GAAG,YAAY,KAAK,QAAQ,MAAM,GAAG;AAAA;AAG5D,IAAM,cAAc,CAAC,UAAkB,QAA0B,UAA2B;AAAA,EAC1F,MAAM,SAA0B,KAAK,OAAO;AAAA,EAE5C,IAAI,UAAU,aAAa,OAAO,UAAU,WAAW;AAAA,IACrD,OAAO,QAAQ;AAAA,EACjB;AAAA,EAEA,OAAO,SAAS,QAAQ,uBAAuB,CAAC,OAAO,SAAiB;AAAA,IACtE,MAAM,QAAQ,OAAO;AAAA,IACrB,OAAO,UAAU,YAAY,QAAQ,OAAO,KAAK;AAAA,GAClD;AAAA;AAGI,IAAM,MAAM,CAAC,MAAqB,QAAyB,QAAQ,MAAM,GAAG,MAAM;AAElF,IAAM,QAAQ,CAAC,MAAqB,KAAa,SAA0B,CAAC,MAAuB;AAAA,EACxG,MAAM,eAAe,OAAO,gBAAgB;AAAA,EAC5C,MAAM,OAAO,OAAO,QAAQ;AAAA,EAC5B,MAAM,OAAO,OAAO,MAAM,KAAK,OAAO,KAAK;AAAA,EAE3C,IAAI,CAAC,MAAM;AAAA,IACT,OAAO,EAAE,OAAO,OAAO,QAAQ,MAAM;AAAA,EACvC;AAAA,EAEA,MAAM,WAAW,KAAK,SAAS,KAAK;AAAA,EAEpC,IAAI,aAAa,WAAW;AAAA,IAC1B,OAAO,EAAE,OAAO,OAAO,QAAQ,SAAS;AAAA,EAC1C;AAAA,EAEA,OAAO,EAAE,OAAO,MAAM,OAAO,YAAY,UAAU,OAAO,QAAQ,OAAO,KAAK,EAAE;AAAA;",
8
+ "debugId": "06078B4D8E22A20864756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,2 @@
1
+ declare const trim: (text: string, char?: string) => string;
2
+ export { trim };
@@ -0,0 +1,8 @@
1
+ import {
2
+ trim
3
+ } from "../shared/chunk-0cyfbpyn.js";
4
+ export {
5
+ trim
6
+ };
7
+
8
+ //# debugId=FECAAE550E71927064756E2164756E21
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "FECAAE550E71927064756E2164756E21",
8
+ "names": []
9
+ }