@adriangalilea/utils 0.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 (110) hide show
  1. package/README.md +99 -0
  2. package/dist/browser.d.ts +14 -0
  3. package/dist/browser.d.ts.map +1 -0
  4. package/dist/browser.js +18 -0
  5. package/dist/browser.js.map +1 -0
  6. package/dist/currency/crypto-symbols-data.d.ts +10 -0
  7. package/dist/currency/crypto-symbols-data.d.ts.map +1 -0
  8. package/dist/currency/crypto-symbols-data.js +13765 -0
  9. package/dist/currency/crypto-symbols-data.js.map +1 -0
  10. package/dist/currency/crypto-symbols.d.ts +20 -0
  11. package/dist/currency/crypto-symbols.d.ts.map +1 -0
  12. package/dist/currency/crypto-symbols.js +23 -0
  13. package/dist/currency/crypto-symbols.js.map +1 -0
  14. package/dist/currency/download-crypto-list.d.ts +10 -0
  15. package/dist/currency/download-crypto-list.d.ts.map +1 -0
  16. package/dist/currency/download-crypto-list.js +69 -0
  17. package/dist/currency/download-crypto-list.js.map +1 -0
  18. package/dist/currency/index.d.ts +84 -0
  19. package/dist/currency/index.d.ts.map +1 -0
  20. package/dist/currency/index.js +230 -0
  21. package/dist/currency/index.js.map +1 -0
  22. package/dist/dir.d.ts +40 -0
  23. package/dist/dir.d.ts.map +1 -0
  24. package/dist/dir.js +108 -0
  25. package/dist/dir.js.map +1 -0
  26. package/dist/file.d.ts +53 -0
  27. package/dist/file.d.ts.map +1 -0
  28. package/dist/file.js +211 -0
  29. package/dist/file.js.map +1 -0
  30. package/dist/format.d.ts +40 -0
  31. package/dist/format.d.ts.map +1 -0
  32. package/dist/format.js +83 -0
  33. package/dist/format.js.map +1 -0
  34. package/dist/index.d.ts +16 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +20 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/kev.d.ts +149 -0
  39. package/dist/kev.d.ts.map +1 -0
  40. package/dist/kev.js +761 -0
  41. package/dist/kev.js.map +1 -0
  42. package/dist/log.d.ts +91 -0
  43. package/dist/log.d.ts.map +1 -0
  44. package/dist/log.js +300 -0
  45. package/dist/log.js.map +1 -0
  46. package/dist/logger.d.ts +91 -0
  47. package/dist/logger.d.ts.map +1 -0
  48. package/dist/logger.js +269 -0
  49. package/dist/logger.js.map +1 -0
  50. package/dist/offensive.d.ts +73 -0
  51. package/dist/offensive.d.ts.map +1 -0
  52. package/dist/offensive.js +103 -0
  53. package/dist/offensive.js.map +1 -0
  54. package/dist/path.d.ts +67 -0
  55. package/dist/path.d.ts.map +1 -0
  56. package/dist/path.js +107 -0
  57. package/dist/path.js.map +1 -0
  58. package/dist/platform/dir.d.ts +40 -0
  59. package/dist/platform/dir.d.ts.map +1 -0
  60. package/dist/platform/dir.js +108 -0
  61. package/dist/platform/dir.js.map +1 -0
  62. package/dist/platform/file.d.ts +53 -0
  63. package/dist/platform/file.d.ts.map +1 -0
  64. package/dist/platform/file.js +211 -0
  65. package/dist/platform/file.js.map +1 -0
  66. package/dist/platform/kev.d.ts +149 -0
  67. package/dist/platform/kev.d.ts.map +1 -0
  68. package/dist/platform/kev.js +762 -0
  69. package/dist/platform/kev.js.map +1 -0
  70. package/dist/platform/path.d.ts +67 -0
  71. package/dist/platform/path.d.ts.map +1 -0
  72. package/dist/platform/path.js +108 -0
  73. package/dist/platform/path.js.map +1 -0
  74. package/dist/platform/project.d.ts +35 -0
  75. package/dist/platform/project.d.ts.map +1 -0
  76. package/dist/platform/project.js +155 -0
  77. package/dist/platform/project.js.map +1 -0
  78. package/dist/project.d.ts +35 -0
  79. package/dist/project.d.ts.map +1 -0
  80. package/dist/project.js +154 -0
  81. package/dist/project.js.map +1 -0
  82. package/dist/runtime.d.ts +65 -0
  83. package/dist/runtime.d.ts.map +1 -0
  84. package/dist/runtime.js +193 -0
  85. package/dist/runtime.js.map +1 -0
  86. package/dist/universal/currency/crypto-symbols-data.d.ts +10 -0
  87. package/dist/universal/currency/crypto-symbols-data.d.ts.map +1 -0
  88. package/dist/universal/currency/crypto-symbols-data.js +13765 -0
  89. package/dist/universal/currency/crypto-symbols-data.js.map +1 -0
  90. package/dist/universal/currency/crypto-symbols.d.ts +20 -0
  91. package/dist/universal/currency/crypto-symbols.d.ts.map +1 -0
  92. package/dist/universal/currency/crypto-symbols.js +23 -0
  93. package/dist/universal/currency/crypto-symbols.js.map +1 -0
  94. package/dist/universal/currency/download-crypto-list.d.ts +10 -0
  95. package/dist/universal/currency/download-crypto-list.d.ts.map +1 -0
  96. package/dist/universal/currency/download-crypto-list.js +69 -0
  97. package/dist/universal/currency/download-crypto-list.js.map +1 -0
  98. package/dist/universal/currency/index.d.ts +90 -0
  99. package/dist/universal/currency/index.d.ts.map +1 -0
  100. package/dist/universal/currency/index.js +276 -0
  101. package/dist/universal/currency/index.js.map +1 -0
  102. package/dist/universal/format.d.ts +40 -0
  103. package/dist/universal/format.d.ts.map +1 -0
  104. package/dist/universal/format.js +83 -0
  105. package/dist/universal/format.js.map +1 -0
  106. package/dist/universal/log.d.ts +91 -0
  107. package/dist/universal/log.d.ts.map +1 -0
  108. package/dist/universal/log.js +309 -0
  109. package/dist/universal/log.js.map +1 -0
  110. package/package.json +75 -0
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Runtime detection and capability checking primitive.
3
+ * This is the foundation for all environment-specific behavior.
4
+ *
5
+ * All utilities should use this module instead of directly checking
6
+ * for process, window, Deno, etc.
7
+ */
8
+ interface RuntimeCapabilities {
9
+ readonly isBrowser: boolean;
10
+ readonly isNode: boolean;
11
+ readonly isDeno: boolean;
12
+ readonly isBun: boolean;
13
+ canExit(): boolean;
14
+ canReadEnv(): boolean;
15
+ canWriteEnv(): boolean;
16
+ canFileSystem(): boolean;
17
+ canNetwork(): boolean;
18
+ canCrypto(): boolean;
19
+ exit(code: number): never;
20
+ env(key: string): string | undefined;
21
+ setEnv(key: string, value: string): void;
22
+ deleteEnv(key: string): void;
23
+ hasEnv(key: string): boolean;
24
+ allEnv(): Record<string, string>;
25
+ cwd(): string;
26
+ stdout: {
27
+ write(message: string): void;
28
+ isTTY: boolean;
29
+ };
30
+ stderr: {
31
+ write(message: string): void;
32
+ isTTY: boolean;
33
+ };
34
+ }
35
+ declare class RuntimeOps implements RuntimeCapabilities {
36
+ readonly isBrowser: boolean;
37
+ readonly isNode: boolean;
38
+ readonly isDeno: boolean;
39
+ readonly isBun: boolean;
40
+ canExit(): boolean;
41
+ canReadEnv(): boolean;
42
+ canWriteEnv(): boolean;
43
+ canFileSystem(): boolean;
44
+ canNetwork(): boolean;
45
+ canCrypto(): boolean;
46
+ exit(code: number): never;
47
+ env(key: string): string | undefined;
48
+ setEnv(key: string, value: string): void;
49
+ deleteEnv(key: string): void;
50
+ hasEnv(key: string): boolean;
51
+ allEnv(): Record<string, string>;
52
+ cwd(): string;
53
+ get stdout(): {
54
+ write: (message: string) => void;
55
+ isTTY: any;
56
+ };
57
+ get stderr(): {
58
+ write: (message: string) => void;
59
+ isTTY: any;
60
+ };
61
+ }
62
+ export declare const runtime: RuntimeOps;
63
+ export type { RuntimeCapabilities };
64
+ export declare function requireCapability(capability: keyof RuntimeCapabilities, operation: string): void;
65
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,UAAU,mBAAmB;IAE3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IAGvB,OAAO,IAAI,OAAO,CAAA;IAClB,UAAU,IAAI,OAAO,CAAA;IACrB,WAAW,IAAI,OAAO,CAAA;IACtB,aAAa,IAAI,OAAO,CAAA;IACxB,UAAU,IAAI,OAAO,CAAA;IACrB,SAAS,IAAI,OAAO,CAAA;IAGpB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAA;IACzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACpC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5B,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,GAAG,IAAI,MAAM,CAAA;IACb,MAAM,EAAE;QACN,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,KAAK,EAAE,OAAO,CAAA;KACf,CAAA;IACD,MAAM,EAAE;QACN,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,KAAK,EAAE,OAAO,CAAA;KACf,CAAA;CACF;AAED,cAAM,UAAW,YAAW,mBAAmB;IAE7C,QAAQ,CAAC,SAAS,UAA0F;IAC5G,QAAQ,CAAC,MAAM,UAAyE;IACxF,QAAQ,CAAC,MAAM,UAAkD;IACjE,QAAQ,CAAC,KAAK,UAAiD;IAG/D,OAAO,IAAI,OAAO;IAIlB,UAAU,IAAI,OAAO;IAIrB,WAAW,IAAI,OAAO;IAItB,aAAa,IAAI,OAAO;IAIxB,UAAU,IAAI,OAAO;IAIrB,SAAS,IAAI,OAAO;IAKpB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAczB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAgBpC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAiBxC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAc5B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAe5B,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAehC,GAAG,IAAI,MAAM;IAUb,IAAI,MAAM;yBAEW,MAAM;;MAa1B;IAED,IAAI,MAAM;yBAEW,MAAM;;MAa1B;CACF;AAGD,eAAO,MAAM,OAAO,YAAmB,CAAA;AAGvC,YAAY,EAAE,mBAAmB,EAAE,CAAA;AAGnC,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAShG"}
@@ -0,0 +1,193 @@
1
+ /**
2
+ * Runtime detection and capability checking primitive.
3
+ * This is the foundation for all environment-specific behavior.
4
+ *
5
+ * All utilities should use this module instead of directly checking
6
+ * for process, window, Deno, etc.
7
+ */
8
+ class RuntimeOps {
9
+ // Environment detection - evaluated once
10
+ isBrowser = typeof globalThis !== 'undefined' && 'window' in globalThis && 'document' in globalThis;
11
+ isNode = typeof process !== 'undefined' && process.versions?.node !== undefined;
12
+ isDeno = typeof globalThis.Deno !== 'undefined';
13
+ isBun = typeof globalThis.Bun !== 'undefined';
14
+ // Capability checking
15
+ canExit() {
16
+ return this.isNode || this.isDeno || this.isBun;
17
+ }
18
+ canReadEnv() {
19
+ return this.isNode || this.isDeno || this.isBun;
20
+ }
21
+ canWriteEnv() {
22
+ return this.isNode || this.isDeno || this.isBun;
23
+ }
24
+ canFileSystem() {
25
+ return this.isNode || this.isDeno || this.isBun;
26
+ }
27
+ canNetwork() {
28
+ return true; // All environments can do network requests
29
+ }
30
+ canCrypto() {
31
+ return typeof crypto !== 'undefined';
32
+ }
33
+ // Platform-agnostic operations
34
+ exit(code) {
35
+ if (this.isNode) {
36
+ process.exit(code);
37
+ }
38
+ else if (this.isDeno) {
39
+ globalThis.Deno.exit(code);
40
+ }
41
+ else if (this.isBun) {
42
+ process.exit(code);
43
+ }
44
+ // In browser, we can't exit but we can throw
45
+ const error = new Error(`Process exited with code ${code}`);
46
+ error.exitCode = code;
47
+ throw error;
48
+ }
49
+ env(key) {
50
+ if (this.isNode || this.isBun) {
51
+ return process.env[key];
52
+ }
53
+ else if (this.isDeno) {
54
+ return globalThis.Deno.env.get(key);
55
+ }
56
+ else if (this.isBrowser) {
57
+ // In browser, check if env was injected by bundler
58
+ if (typeof globalThis !== 'undefined' && 'window' in globalThis) {
59
+ const win = globalThis.window;
60
+ const injected = win.__ENV__ || win.process?.env;
61
+ return injected?.[key];
62
+ }
63
+ }
64
+ return undefined;
65
+ }
66
+ setEnv(key, value) {
67
+ if (this.isNode || this.isBun) {
68
+ process.env[key] = value;
69
+ }
70
+ else if (this.isDeno) {
71
+ globalThis.Deno.env.set(key, value);
72
+ }
73
+ else if (this.isBrowser) {
74
+ // In browser, set on injected env object if available
75
+ if (typeof globalThis !== 'undefined' && 'window' in globalThis) {
76
+ const win = globalThis.window;
77
+ if (!win.__ENV__) {
78
+ win.__ENV__ = {};
79
+ }
80
+ win.__ENV__[key] = value;
81
+ }
82
+ }
83
+ }
84
+ deleteEnv(key) {
85
+ if (this.isNode || this.isBun) {
86
+ delete process.env[key];
87
+ }
88
+ else if (this.isDeno) {
89
+ globalThis.Deno.env.delete(key);
90
+ }
91
+ else if (this.isBrowser) {
92
+ if (typeof globalThis !== 'undefined' && 'window' in globalThis) {
93
+ const win = globalThis.window;
94
+ const injected = win.__ENV__ || win.process?.env;
95
+ if (injected)
96
+ delete injected[key];
97
+ }
98
+ }
99
+ }
100
+ hasEnv(key) {
101
+ if (this.isNode || this.isBun) {
102
+ return key in process.env;
103
+ }
104
+ else if (this.isDeno) {
105
+ return globalThis.Deno.env.has(key);
106
+ }
107
+ else if (this.isBrowser) {
108
+ if (typeof globalThis !== 'undefined' && 'window' in globalThis) {
109
+ const win = globalThis.window;
110
+ const injected = win.__ENV__ || win.process?.env;
111
+ return injected ? key in injected : false;
112
+ }
113
+ }
114
+ return false;
115
+ }
116
+ allEnv() {
117
+ if (this.isNode || this.isBun) {
118
+ return { ...process.env };
119
+ }
120
+ else if (this.isDeno) {
121
+ return { ...globalThis.Deno.env.toObject() };
122
+ }
123
+ else if (this.isBrowser) {
124
+ if (typeof globalThis !== 'undefined' && 'window' in globalThis) {
125
+ const win = globalThis.window;
126
+ const injected = win.__ENV__ || win.process?.env;
127
+ return injected ? { ...injected } : {};
128
+ }
129
+ }
130
+ return {};
131
+ }
132
+ cwd() {
133
+ if (this.isNode || this.isBun) {
134
+ return process.cwd();
135
+ }
136
+ else if (this.isDeno) {
137
+ return globalThis.Deno.cwd();
138
+ }
139
+ else {
140
+ return '/'; // Default for browser
141
+ }
142
+ }
143
+ get stdout() {
144
+ return {
145
+ write: (message) => {
146
+ if (this.isNode || this.isBun) {
147
+ process.stdout.write(message);
148
+ }
149
+ else if (this.isDeno) {
150
+ globalThis.Deno.stdout.writeSync(new TextEncoder().encode(message));
151
+ }
152
+ else {
153
+ console.log(message);
154
+ }
155
+ },
156
+ isTTY: this.isNode ? Boolean(process.stdout?.isTTY) :
157
+ this.isDeno ? globalThis.Deno.isatty?.(1) ?? false :
158
+ false
159
+ };
160
+ }
161
+ get stderr() {
162
+ return {
163
+ write: (message) => {
164
+ if (this.isNode || this.isBun) {
165
+ process.stderr.write(message);
166
+ }
167
+ else if (this.isDeno) {
168
+ globalThis.Deno.stderr.writeSync(new TextEncoder().encode(message));
169
+ }
170
+ else {
171
+ console.error(message);
172
+ }
173
+ },
174
+ isTTY: this.isNode ? Boolean(process.stderr?.isTTY) :
175
+ this.isDeno ? globalThis.Deno.isatty?.(2) ?? false :
176
+ false
177
+ };
178
+ }
179
+ }
180
+ // Export singleton instance
181
+ export const runtime = new RuntimeOps();
182
+ // Helper to assert capability with helpful error
183
+ export function requireCapability(capability, operation) {
184
+ const can = typeof runtime[capability] === 'function' ? runtime[capability]() : runtime[capability];
185
+ if (!can) {
186
+ const env = runtime.isBrowser ? 'browser' :
187
+ runtime.isNode ? 'Node.js' :
188
+ runtime.isDeno ? 'Deno' :
189
+ runtime.isBun ? 'Bun' : 'unknown';
190
+ throw new Error(`${operation} is not available in ${env} environment`);
191
+ }
192
+ }
193
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Generated on 2025-08-17T10:11:21.771Z
3
+ * 13,754 cryptocurrency symbols from CoinGecko API
4
+ *
5
+ * Run 'npm run update-crypto' to refresh this list
6
+ */
7
+ export declare const cryptoSymbolsData: readonly string[];
8
+ export declare const lastUpdated = "2025-08-17T10:11:21.771Z";
9
+ export declare const symbolCount = 13754;
10
+ //# sourceMappingURL=crypto-symbols-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto-symbols-data.d.ts","sourceRoot":"","sources":["../../../src/universal/currency/crypto-symbols-data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EA27a9C,CAAA;AAED,eAAO,MAAM,WAAW,6BAA6B,CAAA;AACrD,eAAO,MAAM,WAAW,QAAQ,CAAA"}