@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.
- package/README.md +99 -0
- package/dist/browser.d.ts +14 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +18 -0
- package/dist/browser.js.map +1 -0
- package/dist/currency/crypto-symbols-data.d.ts +10 -0
- package/dist/currency/crypto-symbols-data.d.ts.map +1 -0
- package/dist/currency/crypto-symbols-data.js +13765 -0
- package/dist/currency/crypto-symbols-data.js.map +1 -0
- package/dist/currency/crypto-symbols.d.ts +20 -0
- package/dist/currency/crypto-symbols.d.ts.map +1 -0
- package/dist/currency/crypto-symbols.js +23 -0
- package/dist/currency/crypto-symbols.js.map +1 -0
- package/dist/currency/download-crypto-list.d.ts +10 -0
- package/dist/currency/download-crypto-list.d.ts.map +1 -0
- package/dist/currency/download-crypto-list.js +69 -0
- package/dist/currency/download-crypto-list.js.map +1 -0
- package/dist/currency/index.d.ts +84 -0
- package/dist/currency/index.d.ts.map +1 -0
- package/dist/currency/index.js +230 -0
- package/dist/currency/index.js.map +1 -0
- package/dist/dir.d.ts +40 -0
- package/dist/dir.d.ts.map +1 -0
- package/dist/dir.js +108 -0
- package/dist/dir.js.map +1 -0
- package/dist/file.d.ts +53 -0
- package/dist/file.d.ts.map +1 -0
- package/dist/file.js +211 -0
- package/dist/file.js.map +1 -0
- package/dist/format.d.ts +40 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +83 -0
- package/dist/format.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/kev.d.ts +149 -0
- package/dist/kev.d.ts.map +1 -0
- package/dist/kev.js +761 -0
- package/dist/kev.js.map +1 -0
- package/dist/log.d.ts +91 -0
- package/dist/log.d.ts.map +1 -0
- package/dist/log.js +300 -0
- package/dist/log.js.map +1 -0
- package/dist/logger.d.ts +91 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +269 -0
- package/dist/logger.js.map +1 -0
- package/dist/offensive.d.ts +73 -0
- package/dist/offensive.d.ts.map +1 -0
- package/dist/offensive.js +103 -0
- package/dist/offensive.js.map +1 -0
- package/dist/path.d.ts +67 -0
- package/dist/path.d.ts.map +1 -0
- package/dist/path.js +107 -0
- package/dist/path.js.map +1 -0
- package/dist/platform/dir.d.ts +40 -0
- package/dist/platform/dir.d.ts.map +1 -0
- package/dist/platform/dir.js +108 -0
- package/dist/platform/dir.js.map +1 -0
- package/dist/platform/file.d.ts +53 -0
- package/dist/platform/file.d.ts.map +1 -0
- package/dist/platform/file.js +211 -0
- package/dist/platform/file.js.map +1 -0
- package/dist/platform/kev.d.ts +149 -0
- package/dist/platform/kev.d.ts.map +1 -0
- package/dist/platform/kev.js +762 -0
- package/dist/platform/kev.js.map +1 -0
- package/dist/platform/path.d.ts +67 -0
- package/dist/platform/path.d.ts.map +1 -0
- package/dist/platform/path.js +108 -0
- package/dist/platform/path.js.map +1 -0
- package/dist/platform/project.d.ts +35 -0
- package/dist/platform/project.d.ts.map +1 -0
- package/dist/platform/project.js +155 -0
- package/dist/platform/project.js.map +1 -0
- package/dist/project.d.ts +35 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project.js +154 -0
- package/dist/project.js.map +1 -0
- package/dist/runtime.d.ts +65 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +193 -0
- package/dist/runtime.js.map +1 -0
- package/dist/universal/currency/crypto-symbols-data.d.ts +10 -0
- package/dist/universal/currency/crypto-symbols-data.d.ts.map +1 -0
- package/dist/universal/currency/crypto-symbols-data.js +13765 -0
- package/dist/universal/currency/crypto-symbols-data.js.map +1 -0
- package/dist/universal/currency/crypto-symbols.d.ts +20 -0
- package/dist/universal/currency/crypto-symbols.d.ts.map +1 -0
- package/dist/universal/currency/crypto-symbols.js +23 -0
- package/dist/universal/currency/crypto-symbols.js.map +1 -0
- package/dist/universal/currency/download-crypto-list.d.ts +10 -0
- package/dist/universal/currency/download-crypto-list.d.ts.map +1 -0
- package/dist/universal/currency/download-crypto-list.js +69 -0
- package/dist/universal/currency/download-crypto-list.js.map +1 -0
- package/dist/universal/currency/index.d.ts +90 -0
- package/dist/universal/currency/index.d.ts.map +1 -0
- package/dist/universal/currency/index.js +276 -0
- package/dist/universal/currency/index.js.map +1 -0
- package/dist/universal/format.d.ts +40 -0
- package/dist/universal/format.d.ts.map +1 -0
- package/dist/universal/format.js +83 -0
- package/dist/universal/format.js.map +1 -0
- package/dist/universal/log.d.ts +91 -0
- package/dist/universal/log.d.ts.map +1 -0
- package/dist/universal/log.js +309 -0
- package/dist/universal/log.js.map +1 -0
- package/package.json +75 -0
package/README.md
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# ts-utils
|
|
2
|
+
|
|
3
|
+
TypeScript utilities - logger, currency, offensive programming, file operations, environment management, and more.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Using JSR (recommended)
|
|
9
|
+
pnpm dlx jsr add @adriangalilea/utils
|
|
10
|
+
|
|
11
|
+
# or with npm
|
|
12
|
+
npx jsr add @adriangalilea/utils
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
### Logger
|
|
18
|
+
|
|
19
|
+
Next.js-style logger with colored output and Unicode symbols:
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
import { wait, error, warn, ready, info, success, event, trace, createLogger } from '@adriangalilea/utils'
|
|
23
|
+
|
|
24
|
+
// Basic logging
|
|
25
|
+
wait('Loading...')
|
|
26
|
+
error('Something went wrong')
|
|
27
|
+
warn('This is a warning')
|
|
28
|
+
ready('Server is ready')
|
|
29
|
+
info('Information message')
|
|
30
|
+
success('Operation successful')
|
|
31
|
+
event('Event occurred')
|
|
32
|
+
trace('Trace message')
|
|
33
|
+
|
|
34
|
+
// Warn once (won't repeat same message)
|
|
35
|
+
warnOnce('This warning appears only once')
|
|
36
|
+
|
|
37
|
+
// Timer functionality
|
|
38
|
+
time('operation')
|
|
39
|
+
// ... do something
|
|
40
|
+
timeEnd('operation') // outputs: operation: 123ms
|
|
41
|
+
|
|
42
|
+
// Create prefixed logger
|
|
43
|
+
const apiLogger = createLogger('API')
|
|
44
|
+
apiLogger.info('Request received') // [API] Request received
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Currency
|
|
48
|
+
|
|
49
|
+
Currency utilities with comprehensive crypto support (500+ symbols):
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
import { currency, isCrypto, isStablecoin, isFiat, getSymbol, getOptimalDecimals } from '@adriangalilea/utils'
|
|
53
|
+
|
|
54
|
+
// Check currency types
|
|
55
|
+
isCrypto('BTC') // true
|
|
56
|
+
isCrypto('XBT') // true (alternative for BTC)
|
|
57
|
+
isCrypto('WBTC') // true (wrapped tokens detected)
|
|
58
|
+
isStablecoin('USDT') // true
|
|
59
|
+
isFiat('USD') // true
|
|
60
|
+
|
|
61
|
+
// Get currency symbols
|
|
62
|
+
getSymbol('BTC') // '₿'
|
|
63
|
+
getSymbol('ETH') // 'Ξ'
|
|
64
|
+
getSymbol('USD') // '$'
|
|
65
|
+
|
|
66
|
+
// Get optimal decimal places based on value
|
|
67
|
+
getOptimalDecimals(0.00001234, 'BTC') // 10
|
|
68
|
+
getOptimalDecimals(1234.56, 'USD') // 2
|
|
69
|
+
getOptimalDecimals(0.123, 'ETH') // 6
|
|
70
|
+
|
|
71
|
+
// Percentage calculations
|
|
72
|
+
currency.percentageOf(25, 100) // 25
|
|
73
|
+
currency.percentageChange(100, 150) // 50
|
|
74
|
+
currency.percentageDiff(100, 150) // 40
|
|
75
|
+
|
|
76
|
+
// Basis points
|
|
77
|
+
currency.basisPointsToPercent(100) // 1
|
|
78
|
+
currency.percentToBasisPoints(1) // 100
|
|
79
|
+
currency.formatBasisPoints(50) // "50 bps"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Features
|
|
83
|
+
|
|
84
|
+
- **Logger**: Next.js-style colored console output with symbols
|
|
85
|
+
- **Currency**:
|
|
86
|
+
- 13,750+ crypto symbols from CoinGecko (auto-updatable)
|
|
87
|
+
- Alternative ticker support (XBT→BTC, wrapped tokens, etc.)
|
|
88
|
+
- Optimal decimal calculations
|
|
89
|
+
- Percentage and basis point utilities
|
|
90
|
+
- Fiat and stablecoin detection
|
|
91
|
+
- **Offensive Programming**: Assert, must, check, panic utilities
|
|
92
|
+
- **File Operations**: Read, write with automatic path resolution
|
|
93
|
+
- **Directory Operations**: Create, list, walk directories
|
|
94
|
+
- **KEV**: Redis-style environment variable management with monorepo support
|
|
95
|
+
- **Project Discovery**: Find project/monorepo roots, detect JS/TS projects
|
|
96
|
+
|
|
97
|
+
## License
|
|
98
|
+
|
|
99
|
+
MIT
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe exports for client-side usage.
|
|
3
|
+
* These utilities do not depend on Node.js APIs and can run in the browser.
|
|
4
|
+
*
|
|
5
|
+
* Usage in Next.js client components:
|
|
6
|
+
* import { log, format, currency } from '@adriangalilea/utils/browser'
|
|
7
|
+
*/
|
|
8
|
+
export { runtime } from './runtime.js';
|
|
9
|
+
export type { RuntimeCapabilities } from './runtime.js';
|
|
10
|
+
export * from './universal/log.js';
|
|
11
|
+
export * from './universal/format.js';
|
|
12
|
+
export * from './universal/currency/index.js';
|
|
13
|
+
export * from './offensive.js';
|
|
14
|
+
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;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"}
|
package/dist/browser.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe exports for client-side usage.
|
|
3
|
+
* These utilities do not depend on Node.js APIs and can run in the browser.
|
|
4
|
+
*
|
|
5
|
+
* Usage in Next.js client components:
|
|
6
|
+
* import { log, format, currency } from '@adriangalilea/utils/browser'
|
|
7
|
+
*/
|
|
8
|
+
// Export runtime for environment detection
|
|
9
|
+
export { runtime } from './runtime.js';
|
|
10
|
+
// Universal utilities that work in browser
|
|
11
|
+
export * from './universal/log.js';
|
|
12
|
+
export * from './universal/format.js';
|
|
13
|
+
export * from './universal/currency/index.js';
|
|
14
|
+
// Offensive programming - adapted for browser (throws instead of process.exit)
|
|
15
|
+
export * from './offensive.js';
|
|
16
|
+
// Note: file, dir, path, project, and kev are NOT exported here
|
|
17
|
+
// because they depend on Node.js file system APIs
|
|
18
|
+
//# sourceMappingURL=browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,2CAA2C;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,2CAA2C;AAC3C,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,+BAA+B,CAAA;AAE7C,+EAA+E;AAC/E,cAAc,gBAAgB,CAAA;AAE9B,gEAAgE;AAChE,kDAAkD"}
|
|
@@ -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/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"}
|