@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,40 @@
1
+ /**
2
+ * Format utilities for numbers and currencies
3
+ */
4
+ declare class FormatOps {
5
+ /**
6
+ * Format a number with specified decimal places
7
+ */
8
+ number(value: number, decimals: number): string;
9
+ /**
10
+ * Format a value as USD with optimal decimals
11
+ */
12
+ usd(value: number): string;
13
+ /**
14
+ * Format a value as Bitcoin with optimal decimals
15
+ */
16
+ btc(value: number): string;
17
+ /**
18
+ * Format a value as Ethereum with optimal decimals
19
+ */
20
+ eth(value: number): string;
21
+ /**
22
+ * Auto format a value with the appropriate currency symbol and decimals
23
+ */
24
+ auto(value: number, currencyCode: string): string;
25
+ /**
26
+ * Format a percentage with smart decimal places
27
+ */
28
+ percentage(value: number): string;
29
+ /**
30
+ * Format a value with thousands separators
31
+ */
32
+ withCommas(value: number, decimals?: number): string;
33
+ /**
34
+ * Format a value in compact notation (1.2K, 3.4M, etc)
35
+ */
36
+ compact(value: number): string;
37
+ }
38
+ export declare const format: FormatOps;
39
+ export {};
40
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,cAAM,SAAS;IACb;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI/C;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAM1B;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAK1B;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAK1B;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAajD;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAUjC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAOpD;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAO/B;AAED,eAAO,MAAM,MAAM,WAAkB,CAAA"}
package/dist/format.js ADDED
@@ -0,0 +1,83 @@
1
+ import { getOptimalDecimals, getSymbol, isFiat, isStablecoin } from './currency/index.js';
2
+ /**
3
+ * Format utilities for numbers and currencies
4
+ */
5
+ class FormatOps {
6
+ /**
7
+ * Format a number with specified decimal places
8
+ */
9
+ number(value, decimals) {
10
+ return value.toFixed(decimals);
11
+ }
12
+ /**
13
+ * Format a value as USD with optimal decimals
14
+ */
15
+ usd(value) {
16
+ const decimals = getOptimalDecimals(value, 'USD');
17
+ const formatted = Math.abs(value).toFixed(decimals);
18
+ return value < 0 ? `-$${formatted}` : `$${formatted}`;
19
+ }
20
+ /**
21
+ * Format a value as Bitcoin with optimal decimals
22
+ */
23
+ btc(value) {
24
+ const decimals = getOptimalDecimals(value, 'BTC');
25
+ return `${value.toFixed(decimals)} ₿`;
26
+ }
27
+ /**
28
+ * Format a value as Ethereum with optimal decimals
29
+ */
30
+ eth(value) {
31
+ const decimals = getOptimalDecimals(value, 'ETH');
32
+ return `${value.toFixed(decimals)} Ξ`;
33
+ }
34
+ /**
35
+ * Auto format a value with the appropriate currency symbol and decimals
36
+ */
37
+ auto(value, currencyCode) {
38
+ const decimals = getOptimalDecimals(value, currencyCode);
39
+ const symbol = getSymbol(currencyCode);
40
+ const formatted = Math.abs(value).toFixed(decimals);
41
+ // Put symbol before for fiat/stablecoins, after for crypto
42
+ if (isFiat(currencyCode) || isStablecoin(currencyCode)) {
43
+ return value < 0 ? `-${symbol}${formatted}` : `${symbol}${formatted}`;
44
+ }
45
+ else {
46
+ return value < 0 ? `-${formatted} ${symbol}` : `${formatted} ${symbol}`;
47
+ }
48
+ }
49
+ /**
50
+ * Format a percentage with smart decimal places
51
+ */
52
+ percentage(value) {
53
+ let decimals = 1;
54
+ if (Math.abs(value) < 0.1) {
55
+ decimals = 2;
56
+ }
57
+ else if (Math.abs(value) >= 100) {
58
+ decimals = 0;
59
+ }
60
+ return `${value.toFixed(decimals)}%`;
61
+ }
62
+ /**
63
+ * Format a value with thousands separators
64
+ */
65
+ withCommas(value, decimals) {
66
+ const fixed = decimals !== undefined ? value.toFixed(decimals) : value.toString();
67
+ const parts = fixed.split('.');
68
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
69
+ return parts.join('.');
70
+ }
71
+ /**
72
+ * Format a value in compact notation (1.2K, 3.4M, etc)
73
+ */
74
+ compact(value) {
75
+ const formatter = new Intl.NumberFormat('en', {
76
+ notation: 'compact',
77
+ maximumFractionDigits: 1
78
+ });
79
+ return formatter.format(value);
80
+ }
81
+ }
82
+ export const format = new FormatOps();
83
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Main entry point for @adriangalilea/utils
3
+ * Exports all utilities
4
+ */
5
+ export { runtime } from './runtime.js';
6
+ export type { RuntimeCapabilities } from './runtime.js';
7
+ export * from './universal/log.js';
8
+ export * from './universal/format.js';
9
+ export * from './universal/currency/index.js';
10
+ export * from './offensive.js';
11
+ export * from './platform/file.js';
12
+ export * from './platform/dir.js';
13
+ export * from './platform/path.js';
14
+ export * from './platform/project.js';
15
+ export * from './platform/kev.js';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAGvD,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,+BAA+B,CAAA;AAG7C,cAAc,gBAAgB,CAAA;AAI9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Main entry point for @adriangalilea/utils
3
+ * Exports all utilities
4
+ */
5
+ // Always export runtime - it's the foundation
6
+ export { runtime } from './runtime.js';
7
+ // Universal utilities - work everywhere
8
+ export * from './universal/log.js';
9
+ export * from './universal/format.js';
10
+ export * from './universal/currency/index.js';
11
+ // Offensive programming - uses runtime.exit() so it adapts to environment
12
+ export * from './offensive.js';
13
+ // Platform-specific utilities
14
+ // These will throw helpful errors in browser environment when used
15
+ export * from './platform/file.js';
16
+ export * from './platform/dir.js';
17
+ export * from './platform/path.js';
18
+ export * from './platform/project.js';
19
+ export * from './platform/kev.js';
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8CAA8C;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,wCAAwC;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,+BAA+B,CAAA;AAE7C,0EAA0E;AAC1E,cAAc,gBAAgB,CAAA;AAE9B,8BAA8B;AAC9B,mEAAmE;AACnE,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA"}
package/dist/kev.d.ts ADDED
@@ -0,0 +1,149 @@
1
+ /**
2
+ * KEV - A Redis-style KV store for environment variables
3
+ *
4
+ * DEFAULT USAGE (no namespaces needed!):
5
+ * apiKey = KEV.mustGet("API_KEY") // Panics if not found (required config)
6
+ * apiKey = KEV.get("API_KEY") // Returns "" if not found
7
+ * apiKey = KEV.get("API_KEY", "dev") // Returns "dev" if not found
8
+ * port = KEV.int("PORT", 8080) // With type conversion
9
+ * KEV.set("DEBUG", "true") // Sets in memory (fast)
10
+ *
11
+ * KEV.get("DATABASE_URL") // memory → process.env → .env → cache result
12
+ * KEV.get("DATABASE_URL") // memory (cached!) ✓
13
+ *
14
+ * CUSTOMIZE THE SEARCH ORDER:
15
+ * KEV.source.remove("os") // Ignore OS env (perfect for tests!)
16
+ * KEV.source.add(".env.local") // Add more fallbacks
17
+ * KEV.source.set(".env.test") // Or replace entirely
18
+ *
19
+ * REDIS-STYLE NAMESPACING (when you need control):
20
+ * KEV.get("os:PATH") // ONLY from OS, no fallback
21
+ * KEV.get(".env:API_KEY") // ONLY from .env file
22
+ * KEV.set("os:DEBUG", "true") // Write directly to OS
23
+ * KEV.set(".env:API_KEY", "secret") // Update .env file
24
+ *
25
+ * // Pattern matching
26
+ * KEV.keys("API_*") // Find all API_ keys
27
+ * KEV.all("os:*") // Get all OS vars
28
+ * KEV.clear("TEMP_*") // Clean up temp vars
29
+ *
30
+ * SOURCE TRACKING & OBSERVABILITY:
31
+ * const [value, source] = KEV.getWithSource("API_KEY") // Returns value + where it came from
32
+ * source = KEV.sourceOf("API_KEY") // "/path/to/project/.env"
33
+ * KEV.debug = true // Shows lookup chain
34
+ * KEV.export("backup.env") // Includes # from: comments
35
+ */
36
+ interface MemEntry {
37
+ value: string;
38
+ source: string;
39
+ }
40
+ declare class SourceOps {
41
+ private kev;
42
+ constructor(kev: KevOps);
43
+ /**
44
+ * Replace all sources
45
+ */
46
+ set(...sources: string[]): void;
47
+ /**
48
+ * Add sources to the search list
49
+ */
50
+ add(...sources: string[]): void;
51
+ /**
52
+ * Remove specific sources
53
+ */
54
+ remove(...sources: string[]): void;
55
+ /**
56
+ * List current sources
57
+ */
58
+ list(): string[];
59
+ /**
60
+ * Clear all sources
61
+ */
62
+ clear(): void;
63
+ }
64
+ export declare class KevOps {
65
+ memory: Map<string, MemEntry>;
66
+ sources: string[];
67
+ source: SourceOps;
68
+ debug: boolean;
69
+ constructor();
70
+ initializeSmartDefaults(): void;
71
+ parseKey(key: string): [string, string];
72
+ /**
73
+ * Get environment variable with optional default.
74
+ */
75
+ get(key: string, defaultValue?: string): string;
76
+ /**
77
+ * Get environment variable or panic if not found
78
+ */
79
+ mustGet(key: string): string;
80
+ /**
81
+ * Get where a cached key came from
82
+ */
83
+ sourceOf(key: string): string;
84
+ /**
85
+ * Get both value and its source
86
+ */
87
+ getWithSource(key: string, defaultValue?: string): [string, string];
88
+ getFromNamespace(namespace: string, key: string): string;
89
+ getFromFile(filePath: string, key: string): string;
90
+ /**
91
+ * Set environment variable
92
+ */
93
+ set(key: string, value: string): void;
94
+ setToNamespace(namespace: string, key: string, value: string): void;
95
+ setToFile(path: string, key: string, value: string): void;
96
+ /**
97
+ * Check if key exists
98
+ */
99
+ has(key: string): boolean;
100
+ hasInNamespace(namespace: string, key: string): boolean;
101
+ /**
102
+ * Get all keys matching pattern
103
+ */
104
+ keys(pattern?: string): string[];
105
+ keysFromNamespace(namespace: string, pattern: string): string[];
106
+ getNamespaceData(namespace: string, pattern: string, keysOnly: boolean): Record<string, string>;
107
+ parseEnvFile(path: string, pattern: string, result: Record<string, string>, keysOnly: boolean): void;
108
+ matchPattern(key: string, pattern: string): boolean;
109
+ /**
110
+ * Get all variables matching patterns
111
+ */
112
+ all(pattern?: string | string[]): Record<string, Record<string, string>>;
113
+ getAllFromNamespace(namespace: string, pattern: string): Record<string, string>;
114
+ /**
115
+ * Clear variables from memory
116
+ */
117
+ clear(...patterns: string[]): void;
118
+ /**
119
+ * Clear from namespaces (dangerous!)
120
+ */
121
+ clearUnsafe(...patterns: string[]): void;
122
+ /**
123
+ * Remove specific keys
124
+ */
125
+ unset(...keys: string[]): void;
126
+ /**
127
+ * Get as integer with default
128
+ */
129
+ int(key: string, defaultValue: number): number;
130
+ /**
131
+ * Get as boolean with default
132
+ */
133
+ bool(key: string, defaultValue: boolean): boolean;
134
+ /**
135
+ * Get as float with default
136
+ */
137
+ float(key: string, defaultValue: number): number;
138
+ /**
139
+ * Export all memory variables to a file
140
+ */
141
+ export(path: string): void;
142
+ /**
143
+ * Print all environment variables (masks sensitive keys)
144
+ */
145
+ dump(): void;
146
+ }
147
+ export declare const kev: KevOps;
148
+ export {};
149
+ //# sourceMappingURL=kev.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kev.d.ts","sourceRoot":"","sources":["../src/kev.ts"],"names":[],"mappings":"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"}