@lowentry/utils 2.0.4 → 2.0.6

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/dist/LeTypes.js DELETED
@@ -1,235 +0,0 @@
1
- /**
2
- * LeTypes - Type validation and conversion utilities
3
- */
4
- /**
5
- * Checks if a value is set (not null and not undefined).
6
- */
7
- export function ISSET(value) {
8
- return (value !== null) && (typeof value !== 'undefined');
9
- }
10
- /**
11
- * Converts value to string. Returns empty string if not set.
12
- */
13
- export function STRING(value) {
14
- if (!ISSET(value)) {
15
- return '';
16
- }
17
- if (typeof value === 'string') {
18
- return value;
19
- }
20
- if (typeof value === 'number' || typeof value === 'boolean') {
21
- return String(value);
22
- }
23
- if (typeof value === 'symbol') {
24
- return value.description ?? '';
25
- }
26
- if (typeof value === 'bigint') {
27
- return value.toString();
28
- }
29
- try {
30
- if (typeof value === 'object' && value !== null) {
31
- if (Object.getPrototypeOf(value) === null) {
32
- // Type guard: check if toString exists and is a function
33
- if ('toString' in value && typeof value.toString === 'function' && value.toString !== Object.prototype.toString) {
34
- try {
35
- const result = value.toString();
36
- if (typeof result === 'string') {
37
- return result;
38
- }
39
- }
40
- catch {
41
- // Ignore error
42
- }
43
- }
44
- return '';
45
- }
46
- return String(value);
47
- }
48
- return String(value);
49
- }
50
- catch {
51
- return '';
52
- }
53
- }
54
- /**
55
- * Checks if value is an array.
56
- */
57
- export function IS_ARRAY(value) {
58
- return Array.isArray(value);
59
- }
60
- /**
61
- * Ensures value is an array. Wraps in array if not already one.
62
- */
63
- export function ARRAY(value) {
64
- if (Array.isArray(value)) {
65
- return value;
66
- }
67
- if (typeof value === 'undefined') {
68
- return [];
69
- }
70
- return [value];
71
- }
72
- /**
73
- * Checks if value is an object (and not an array).
74
- */
75
- export function IS_OBJECT(value) {
76
- return (typeof value === 'object') && (value !== null) && !Array.isArray(value);
77
- }
78
- /**
79
- * Ensures value is an object. Returns empty object if not set.
80
- */
81
- export function OBJECT(value) {
82
- if (IS_OBJECT(value)) {
83
- return value;
84
- }
85
- return {};
86
- }
87
- /**
88
- * Converts value to number. Returns 0 if NaN.
89
- */
90
- export function FLOAT(value) {
91
- if (typeof value === 'symbol') {
92
- const v = Number(value.description ?? '');
93
- return isNaN(v) ? 0 : v;
94
- }
95
- if (typeof value === 'bigint') {
96
- if (value > BigInt(Number.MAX_SAFE_INTEGER)) {
97
- return Number.MAX_SAFE_INTEGER;
98
- }
99
- if (value < BigInt(Number.MIN_SAFE_INTEGER)) {
100
- return Number.MIN_SAFE_INTEGER;
101
- }
102
- return Number(value);
103
- }
104
- const v = Number(value);
105
- if (!isNaN(v)) {
106
- return v;
107
- }
108
- return 0;
109
- }
110
- /**
111
- * Converts value to integer. Returns 0 if NaN.
112
- */
113
- export function INT(value) {
114
- return Math.round(FLOAT(value));
115
- }
116
- /**
117
- * Returns first set string among arguments.
118
- */
119
- export function STRING_ANY(...values) {
120
- for (const value of values) {
121
- if (ISSET(value)) {
122
- return STRING(value);
123
- }
124
- }
125
- return '';
126
- }
127
- /**
128
- * Returns first set float among arguments.
129
- */
130
- export function FLOAT_ANY(...values) {
131
- for (const value of values) {
132
- if (ISSET(value)) {
133
- const v = FLOAT(value);
134
- if (v !== 0 || value === 0 || value === '0') {
135
- return v;
136
- }
137
- }
138
- }
139
- return 0;
140
- }
141
- /**
142
- * Returns first set integer among arguments.
143
- */
144
- export function INT_ANY(...values) {
145
- return Math.round(FLOAT_ANY(...values));
146
- }
147
- /**
148
- * Converts value to boolean.
149
- * Matches strings "true", "1", "yes", "on" (case-insensitive).
150
- */
151
- export function BOOL(value) {
152
- return BOOL_ANY(value);
153
- }
154
- /**
155
- * Returns the first non-null non-undefined boolean-castable value as a boolean.
156
- */
157
- export function BOOL_ANY(...values) {
158
- for (const value of values) {
159
- if (!ISSET(value)) {
160
- continue;
161
- }
162
- if (typeof value === 'boolean') {
163
- return value;
164
- }
165
- if (typeof value === 'number') {
166
- if (!isNaN(value)) {
167
- return value !== 0;
168
- }
169
- return false;
170
- }
171
- if (typeof value === 'string') {
172
- const s = value.toLowerCase().trim();
173
- if ((s === '') || (s === 'false') || (s === 'no') || (s === 'off') || (s === '0')) {
174
- return false;
175
- }
176
- if ((s === 'true') || (s === 'yes') || (s === 'on') || (s === '1')) {
177
- return true;
178
- }
179
- const float = Number(s);
180
- if (!isNaN(float)) {
181
- return float !== 0;
182
- }
183
- continue;
184
- }
185
- if (Array.isArray(value) || (typeof value === 'object' && value !== null)) {
186
- return true;
187
- }
188
- }
189
- return false;
190
- }
191
- const REGEX_ALL_NON_FLOAT_CHARACTERS = /[^0-9.-]/g;
192
- /**
193
- * Lax float conversion. Strips non-numeric characters.
194
- */
195
- export function FLOAT_LAX(value) {
196
- if (typeof value === 'number') {
197
- return isNaN(value) ? 0 : value;
198
- }
199
- const s = STRING(value).replace(REGEX_ALL_NON_FLOAT_CHARACTERS, '');
200
- if (s === '') {
201
- return 0;
202
- }
203
- const v = parseFloat(s);
204
- if (!isNaN(v)) {
205
- return v;
206
- }
207
- return 0;
208
- }
209
- /**
210
- * Lax integer conversion.
211
- */
212
- export function INT_LAX(value) {
213
- return Math.round(FLOAT_LAX(value));
214
- }
215
- /**
216
- * Returns first set lax float.
217
- */
218
- export function FLOAT_LAX_ANY(...values) {
219
- for (const value of values) {
220
- if (ISSET(value)) {
221
- const v = FLOAT_LAX(value);
222
- if (v !== 0 || value === 0 || value === '0') {
223
- return v;
224
- }
225
- }
226
- }
227
- return 0;
228
- }
229
- /**
230
- * Returns first set lax integer.
231
- */
232
- export function INT_LAX_ANY(...values) {
233
- return Math.round(FLOAT_LAX_ANY(...values));
234
- }
235
- //# sourceMappingURL=LeTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LeTypes.js","sourceRoot":"","sources":["../src/LeTypes.ts"],"names":[],"mappings":"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"}