@spinajs/util 2.0.185 → 2.0.186

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 (43) hide show
  1. package/lib/cjs/args.d.ts +52 -0
  2. package/lib/cjs/args.d.ts.map +1 -0
  3. package/lib/cjs/args.js +354 -0
  4. package/lib/cjs/args.js.map +1 -0
  5. package/lib/cjs/fp.d.ts +47 -0
  6. package/lib/cjs/fp.d.ts.map +1 -0
  7. package/lib/cjs/fp.js +106 -0
  8. package/lib/cjs/fp.js.map +1 -0
  9. package/lib/cjs/index.d.ts +3 -0
  10. package/lib/cjs/index.d.ts.map +1 -1
  11. package/lib/cjs/index.js +3 -0
  12. package/lib/cjs/index.js.map +1 -1
  13. package/lib/cjs/string.d.ts +2 -0
  14. package/lib/cjs/string.d.ts.map +1 -0
  15. package/lib/cjs/string.js +14 -0
  16. package/lib/cjs/string.js.map +1 -0
  17. package/lib/cjs/thread.d.ts +4 -0
  18. package/lib/cjs/thread.d.ts.map +1 -1
  19. package/lib/cjs/thread.js +22 -1
  20. package/lib/cjs/thread.js.map +1 -1
  21. package/lib/mjs/args.d.ts +52 -0
  22. package/lib/mjs/args.d.ts.map +1 -0
  23. package/lib/mjs/args.js +315 -0
  24. package/lib/mjs/args.js.map +1 -0
  25. package/lib/mjs/fp.d.ts +47 -0
  26. package/lib/mjs/fp.d.ts.map +1 -0
  27. package/lib/mjs/fp.js +93 -0
  28. package/lib/mjs/fp.js.map +1 -0
  29. package/lib/mjs/index.d.ts +3 -0
  30. package/lib/mjs/index.d.ts.map +1 -1
  31. package/lib/mjs/index.js +3 -0
  32. package/lib/mjs/index.js.map +1 -1
  33. package/lib/mjs/string.d.ts +2 -0
  34. package/lib/mjs/string.d.ts.map +1 -0
  35. package/lib/mjs/string.js +10 -0
  36. package/lib/mjs/string.js.map +1 -0
  37. package/lib/mjs/thread.d.ts +4 -0
  38. package/lib/mjs/thread.d.ts.map +1 -1
  39. package/lib/mjs/thread.js +20 -0
  40. package/lib/mjs/thread.js.map +1 -1
  41. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  42. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  43. package/package.json +5 -1
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Helper function to validate arguments
3
+ *
4
+ * @param checks
5
+ * @returns validated argument
6
+ */
7
+ export declare function _check_arg(...checks: ((arg: any, name: string) => any)[]): (arg: any, name: string) => any;
8
+ /**
9
+ * Validate number, if not number throws InvalidArgument
10
+ *
11
+ * @param checks
12
+ * @returns validated number
13
+ */
14
+ export declare function _is_number(...checks: ((arg: number, name: string) => unknown)[]): (arg: unknown, name: string) => any;
15
+ export declare function _is_map<K, V>(...checks: ((arg: unknown, name: string) => unknown)[]): (arg: Map<K, V>, name: string) => Map<K, V>;
16
+ export declare function _contains_key<K, V>(key: K): (arg: unknown, name: string) => Map<K, V> | object;
17
+ export declare function _is_boolean(...checks: ((arg: unknown, name: string) => boolean)[]): (arg: unknown, name: string) => any;
18
+ /**
19
+ * Check if argument is string, if not throws InvalidArgument
20
+ *
21
+ * @param checks
22
+ * @returns
23
+ */
24
+ export declare function _is_string(...checks: ((arg: string, name: string) => unknown)[]): (arg: unknown, name: string) => any;
25
+ export declare function _is_array(...checks: ((arg: any[], name: string) => any[])[]): (arg: any[], name: string) => any;
26
+ export declare function _is_object(...checks: ((arg: object, name: string) => object)[]): (arg: object, name: string) => any;
27
+ export declare function _or(...checks: ((arg: any, name: string) => any)[]): (arg: any, name: string) => any;
28
+ export declare function _to_upper(): (arg: unknown, _name: string) => unknown;
29
+ export declare function _to_array(): (arg: unknown) => any[];
30
+ export declare function _to_lower(): (arg: unknown, _name: string) => unknown;
31
+ export declare function _trim(char?: string): (arg: unknown, _name: string) => unknown;
32
+ export declare function _between(min: number, max: number, error?: Error): (arg: string | number | any[], name: string) => string | number | any[];
33
+ export declare function _min_length(length: number, error?: Error): (arg: string, name: string) => string;
34
+ export declare function _max_length(length: number, error?: Error): (arg: string, name: string) => string;
35
+ export declare function _min(value: number, error?: Error): (arg: number, name: string) => number;
36
+ export declare function _max(value: number, error?: Error): (arg: number, name: string) => number;
37
+ export declare function _non_null(error?: Error): (arg: any, name: string) => any;
38
+ export declare function _non_undefined(error?: Error): (arg: any, name: string) => any;
39
+ export declare function _non_NaN(error?: Error): (arg: any, name: string) => any;
40
+ export declare function _non_nil(error?: Error): (arg: any, name: string) => any;
41
+ export declare function _non_empty(error?: Error): (arg: string | any[], name: string) => string | any[];
42
+ export declare function _default<T>(value: T | (() => T)): (arg: T, name: string) => T;
43
+ export declare function _contains<T>(values: unknown, error?: Error): (arg: T, name: string) => T;
44
+ export declare function _lt(value: number, error?: Error): (arg: unknown, name: string) => unknown;
45
+ export declare function _gt(value: number, error?: Error): (arg: unknown, name: string) => unknown;
46
+ export declare function _reg_match(reg: RegExp, error?: Error): (arg: unknown, name: string) => unknown;
47
+ export declare function _glob_match(glob: string, error?: Error): (arg: unknown, name: string) => unknown;
48
+ export declare function _is_email(): (arg: unknown, name: string) => unknown;
49
+ export declare function _is_uuid(): (arg: unknown, name: string) => unknown;
50
+ export declare function _to_int(error?: Error): (arg: string, name: string) => number;
51
+ export declare function _to_float(error?: Error): (arg: string, name: string) => number;
52
+ //# sourceMappingURL=args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,354 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports._to_float = exports._to_int = exports._is_uuid = exports._is_email = exports._glob_match = exports._reg_match = exports._gt = exports._lt = exports._contains = exports._default = exports._non_empty = exports._non_nil = exports._non_NaN = exports._non_undefined = exports._non_null = exports._max = exports._min = exports._max_length = exports._min_length = exports._between = exports._trim = exports._to_lower = exports._to_array = exports._to_upper = exports._or = exports._is_object = exports._is_array = exports._is_string = exports._is_boolean = exports._contains_key = exports._is_map = exports._is_number = exports._check_arg = void 0;
7
+ const exceptions_1 = require("@spinajs/exceptions");
8
+ const glob_to_regexp_1 = __importDefault(require("glob-to-regexp"));
9
+ const string_js_1 = require("./string.js");
10
+ /**
11
+ * Helper function to validate arguments
12
+ *
13
+ * @param checks
14
+ * @returns validated argument
15
+ */
16
+ function _check_arg(...checks) {
17
+ return function (arg, name) {
18
+ for (const check of checks) {
19
+ arg = check(arg, name);
20
+ }
21
+ return arg;
22
+ };
23
+ }
24
+ exports._check_arg = _check_arg;
25
+ /**
26
+ * Validate number, if not number throws InvalidArgument
27
+ *
28
+ * @param checks
29
+ * @returns validated number
30
+ */
31
+ function _is_number(...checks) {
32
+ return function (arg, name) {
33
+ if (typeof arg !== 'number') {
34
+ throw new exceptions_1.InvalidArgument(`${name} should be number`);
35
+ }
36
+ return _check_arg(...checks)(arg, name);
37
+ };
38
+ }
39
+ exports._is_number = _is_number;
40
+ function _is_map(...checks) {
41
+ return function (arg, name) {
42
+ if (!(arg instanceof Map)) {
43
+ throw new exceptions_1.InvalidArgument(`${name} should be Map`);
44
+ }
45
+ return _check_arg(...checks)(arg, name);
46
+ };
47
+ }
48
+ exports._is_map = _is_map;
49
+ function _contains_key(key) {
50
+ return function (arg, name) {
51
+ if (arg instanceof Map) {
52
+ if (!arg.has(key)) {
53
+ throw new exceptions_1.InvalidArgument(`${name} should contain key ${key}`);
54
+ }
55
+ }
56
+ else if (typeof arg === 'object' && !Object.keys(arg).includes(key.toString())) {
57
+ throw new exceptions_1.InvalidArgument(`${name} should contain key ${key}`);
58
+ }
59
+ return arg;
60
+ };
61
+ }
62
+ exports._contains_key = _contains_key;
63
+ function _is_boolean(...checks) {
64
+ return function (arg, name) {
65
+ if (typeof arg === 'number') {
66
+ if (arg !== 1 && arg !== 0) {
67
+ throw new exceptions_1.InvalidArgument(`${name} should be boolean`);
68
+ }
69
+ }
70
+ else if (typeof arg !== 'boolean') {
71
+ throw new exceptions_1.InvalidArgument(`${name} should be boolean`);
72
+ }
73
+ return _check_arg(...checks)(arg, name);
74
+ };
75
+ }
76
+ exports._is_boolean = _is_boolean;
77
+ /**
78
+ * Check if argument is string, if not throws InvalidArgument
79
+ *
80
+ * @param checks
81
+ * @returns
82
+ */
83
+ function _is_string(...checks) {
84
+ return function (arg, name) {
85
+ if (typeof arg !== 'string') {
86
+ throw new exceptions_1.InvalidArgument(`${name} should be string`);
87
+ }
88
+ return _check_arg(...checks)(arg, name);
89
+ };
90
+ }
91
+ exports._is_string = _is_string;
92
+ function _is_array(...checks) {
93
+ return function (arg, name) {
94
+ if (!Array.isArray(arg)) {
95
+ throw new exceptions_1.InvalidArgument(`${name} should be array`);
96
+ }
97
+ return _check_arg(...checks)(arg, name);
98
+ };
99
+ }
100
+ exports._is_array = _is_array;
101
+ function _is_object(...checks) {
102
+ return function (arg, name) {
103
+ if (typeof arg !== 'object' || arg === null || arg === undefined || Array.isArray(arg)) {
104
+ throw new exceptions_1.InvalidArgument(`${name} should be plain old object`);
105
+ }
106
+ return _check_arg(...checks)(arg, name);
107
+ };
108
+ }
109
+ exports._is_object = _is_object;
110
+ function _or(...checks) {
111
+ return function (arg, name) {
112
+ for (const check of checks) {
113
+ try {
114
+ return check(arg, name);
115
+ }
116
+ catch (e) {
117
+ // ignore
118
+ }
119
+ }
120
+ throw new exceptions_1.InvalidArgument(`${name} should pass at least one check: ${checks.map((c) => c.name).join(', ')}`);
121
+ };
122
+ }
123
+ exports._or = _or;
124
+ function _to_upper() {
125
+ return function (arg, _name) {
126
+ if (typeof arg !== 'string') {
127
+ return arg;
128
+ }
129
+ return arg.toUpperCase();
130
+ };
131
+ }
132
+ exports._to_upper = _to_upper;
133
+ function _to_array() {
134
+ return function (arg) {
135
+ if (Array.isArray(arg)) {
136
+ return arg;
137
+ }
138
+ return [arg];
139
+ };
140
+ }
141
+ exports._to_array = _to_array;
142
+ function _to_lower() {
143
+ return function (arg, _name) {
144
+ if (typeof arg !== 'string') {
145
+ return arg;
146
+ }
147
+ return arg.toLowerCase();
148
+ };
149
+ }
150
+ exports._to_lower = _to_lower;
151
+ function _trim(char) {
152
+ return function (arg, _name) {
153
+ if (typeof arg === 'string') {
154
+ return char ? (0, string_js_1.trimChar)(arg, char) : arg.trim();
155
+ }
156
+ return arg;
157
+ };
158
+ }
159
+ exports._trim = _trim;
160
+ function _between(min, max, error) {
161
+ return function (arg, name) {
162
+ if (Array.isArray(arg) || typeof arg === 'string') {
163
+ if (arg.length < min || arg.length > max) {
164
+ throw error ?? new exceptions_1.InvalidArgument(`${name} should be between ${min} and ${max}`);
165
+ }
166
+ }
167
+ else if (typeof arg === 'number') {
168
+ if (arg < min || arg > max) {
169
+ throw error ?? new exceptions_1.InvalidArgument(`${name} should be between ${min} and ${max}`);
170
+ }
171
+ }
172
+ return arg;
173
+ };
174
+ }
175
+ exports._between = _between;
176
+ function _min_length(length, error) {
177
+ return function (arg, name) {
178
+ if (arg.length < length) {
179
+ throw error ?? new exceptions_1.InvalidArgument(`${name} should be at least ${length} characters`);
180
+ }
181
+ return arg;
182
+ };
183
+ }
184
+ exports._min_length = _min_length;
185
+ function _max_length(length, error) {
186
+ return function (arg, name) {
187
+ if (arg.length > length) {
188
+ throw error ?? new exceptions_1.InvalidArgument(`${name} should be at most ${length} characters`);
189
+ }
190
+ return arg;
191
+ };
192
+ }
193
+ exports._max_length = _max_length;
194
+ function _min(value, error) {
195
+ return function (arg, name) {
196
+ if (arg < value) {
197
+ throw error ?? new exceptions_1.InvalidArgument(`${name} should be at least ${value}`);
198
+ }
199
+ return arg;
200
+ };
201
+ }
202
+ exports._min = _min;
203
+ function _max(value, error) {
204
+ return function (arg, name) {
205
+ if (arg > value) {
206
+ throw error ?? new exceptions_1.InvalidArgument(`${name} should be at most ${value}`);
207
+ }
208
+ return arg;
209
+ };
210
+ }
211
+ exports._max = _max;
212
+ function _non_null(error) {
213
+ return function (arg, name) {
214
+ if (arg === null) {
215
+ throw error ?? new exceptions_1.InvalidArgument(`${name} should not be null`);
216
+ }
217
+ return arg;
218
+ };
219
+ }
220
+ exports._non_null = _non_null;
221
+ function _non_undefined(error) {
222
+ return function (arg, name) {
223
+ if (arg === undefined) {
224
+ throw error ?? new exceptions_1.InvalidArgument(`${name} should not be undefined`);
225
+ }
226
+ return arg;
227
+ };
228
+ }
229
+ exports._non_undefined = _non_undefined;
230
+ function _non_NaN(error) {
231
+ return function (arg, name) {
232
+ if (isNaN(arg)) {
233
+ throw error ?? new exceptions_1.InvalidArgument(`${name} is NaN`);
234
+ }
235
+ return arg;
236
+ };
237
+ }
238
+ exports._non_NaN = _non_NaN;
239
+ function _non_nil(error) {
240
+ return function (arg, name) {
241
+ if (arg === null || arg === undefined || arg === '' || (Array.isArray(arg) && arg.length === 0) || (typeof arg === 'object' && Object.keys(arg).length === 0)) {
242
+ throw error ?? new exceptions_1.InvalidArgument(`${name} should not be null, undefined or empty`);
243
+ }
244
+ return arg;
245
+ };
246
+ }
247
+ exports._non_nil = _non_nil;
248
+ function _non_empty(error) {
249
+ return function (arg, name) {
250
+ if (arg.length === 0) {
251
+ throw error ?? new exceptions_1.InvalidArgument(`${name} should not be empty`);
252
+ }
253
+ return arg;
254
+ };
255
+ }
256
+ exports._non_empty = _non_empty;
257
+ function _default(value) {
258
+ return function (arg, _name) {
259
+ if (arg === null || arg === undefined || arg === '' || (Array.isArray(arg) && arg.length === 0) || (typeof arg === 'object' && Object.keys(arg).length === 0)) {
260
+ if (value instanceof Function) {
261
+ return value();
262
+ }
263
+ return value;
264
+ }
265
+ return arg;
266
+ };
267
+ }
268
+ exports._default = _default;
269
+ function _contains(values, error) {
270
+ return function (arg, name) {
271
+ if (!Array.isArray(values)) {
272
+ throw new exceptions_1.InvalidArgument(`${name} should be an array`);
273
+ }
274
+ if (!values.includes(arg)) {
275
+ throw error ?? new exceptions_1.InvalidArgument(`${name} should be one of ${values.join(', ')}`);
276
+ }
277
+ return arg;
278
+ };
279
+ }
280
+ exports._contains = _contains;
281
+ function _lt(value, error) {
282
+ return function (arg, name) {
283
+ if (typeof arg !== 'number') {
284
+ return arg;
285
+ }
286
+ if (arg >= value) {
287
+ throw error ?? new exceptions_1.InvalidArgument(`${name} should be less than ${value}`);
288
+ }
289
+ return arg;
290
+ };
291
+ }
292
+ exports._lt = _lt;
293
+ function _gt(value, error) {
294
+ return function (arg, name) {
295
+ if (typeof arg !== 'number') {
296
+ return arg;
297
+ }
298
+ if (arg <= value) {
299
+ throw error ?? new exceptions_1.InvalidArgument(`${name} should be greater than ${value}`);
300
+ }
301
+ return arg;
302
+ };
303
+ }
304
+ exports._gt = _gt;
305
+ function _reg_match(reg, error) {
306
+ return function (arg, name) {
307
+ if (typeof arg !== 'string') {
308
+ return arg;
309
+ }
310
+ if (!reg.test(arg)) {
311
+ throw error ?? new exceptions_1.InvalidArgument(`${name} should match ${reg}`);
312
+ }
313
+ return arg;
314
+ };
315
+ }
316
+ exports._reg_match = _reg_match;
317
+ function _glob_match(glob, error) {
318
+ return function (arg, name) {
319
+ if (typeof arg !== 'string') {
320
+ return arg;
321
+ }
322
+ return _reg_match((0, glob_to_regexp_1.default)(glob), error)(arg, name);
323
+ };
324
+ }
325
+ exports._glob_match = _glob_match;
326
+ function _is_email() {
327
+ return _reg_match(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/);
328
+ }
329
+ exports._is_email = _is_email;
330
+ function _is_uuid() {
331
+ return _reg_match(/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/);
332
+ }
333
+ exports._is_uuid = _is_uuid;
334
+ function _to_int(error) {
335
+ return function (arg, name) {
336
+ const res = parseInt(arg);
337
+ if (isNaN(res)) {
338
+ throw error ?? new exceptions_1.InvalidArgument(`${name} should be integer`);
339
+ }
340
+ return res;
341
+ };
342
+ }
343
+ exports._to_int = _to_int;
344
+ function _to_float(error) {
345
+ return function (arg, name) {
346
+ const res = parseFloat(arg);
347
+ if (isNaN(res)) {
348
+ throw error ?? new exceptions_1.InvalidArgument(`${name} should be float`);
349
+ }
350
+ return res;
351
+ };
352
+ }
353
+ exports._to_float = _to_float;
354
+ //# sourceMappingURL=args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ export type Constructor<T> = new (...args: any[]) => T;
2
+ /**
3
+ * Chains a list of functions together, passing the result of each function to the next.
4
+ *
5
+ * @param fns
6
+ * @returns
7
+ */
8
+ export declare function _chain<T>(...fns: (((arg?: any) => Promise<any>) | any | Promise<any>)[]): Promise<T>;
9
+ export declare function _zip(...fns: ((arg?: any) => Promise<any>)[]): (val: unknown) => Promise<any[]>;
10
+ export declare function _use(value: () => Promise<unknown>, name: string): (arg?: unknown) => Promise<{
11
+ [x: string]: unknown;
12
+ }>;
13
+ /**
14
+ *
15
+ * Catches errors from a promise and calls the provided error handler.
16
+ * If error occures, chained promise will be rejected with the error.
17
+ *
18
+ * It acts also like circuit breaker, if error occures, it will not call next promise in chain.
19
+ *
20
+ * @param promise
21
+ * @param onError
22
+ * @returns
23
+ */
24
+ export declare function _catch(promise: (...arg: unknown[]) => Promise<unknown>, onError: (err: Error, ...arg: unknown[]) => Promise<void>): (...arg: unknown[]) => Promise<unknown>;
25
+ /**
26
+ * Catch errors from a promise and call the provided error handler if the error matches the filter.
27
+ *
28
+ * @param promise
29
+ * @param onError
30
+ * @param filter
31
+ * @returns
32
+ */
33
+ export declare function _catchFilter(promise: (arg: unknown) => Promise<unknown>, onError: (err: Error) => void, filter: (err: Error) => boolean): (arg?: unknown) => Promise<unknown>;
34
+ export declare function _catchValue(promise: (arg: unknown) => Promise<unknown>, onError: (err: Error) => unknown, value: unknown): (arg?: unknown) => Promise<unknown>;
35
+ /**
36
+ * Cactches exception of specific type and calls provided error handler.
37
+ *
38
+ * @param promise
39
+ * @param onError
40
+ * @param exception
41
+ * @returns
42
+ */
43
+ export declare function _catchException(promise: (arg: unknown) => Promise<unknown>, onError: (err: Error) => void, exception: Constructor<Error>): (arg?: unknown) => Promise<unknown>;
44
+ export declare function _fallback(promise: (arg: unknown) => Promise<unknown>, fallback: (err: Error) => unknown): (arg?: unknown) => Promise<unknown>;
45
+ export declare function _tap(promise: ((arg: unknown) => Promise<unknown>) | Promise<unknown>): (arg?: unknown) => Promise<unknown>;
46
+ export declare function _either(cond: (arg: unknown) => Promise<unknown>, onFulfilled: () => Promise<unknown>, onRejected: () => Promise<unknown>): (arg?: unknown) => Promise<unknown>;
47
+ //# sourceMappingURL=fp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fp.d.ts","sourceRoot":"","sources":["../../src/fp.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAGvD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAUpG;AAED,wBAAgB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,SAC7C,OAAO,oBACrB;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,UAC1C,OAAO;;GAC5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,YAChH,OAAO,EAAE,sBAC1B;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,UACxH,OAAO,sBAQtB;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,EAAE,KAAK,EAAE,OAAO,UACzG,OAAO,sBACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,UACzH,OAAO,sBAQtB;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,UACxF,OAAO,sBACtB;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,UACrE,OAAO,sBAOtB;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,UACzH,OAAO,sBACtB"}
package/lib/cjs/fp.js ADDED
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._either = exports._tap = exports._fallback = exports._catchException = exports._catchValue = exports._catchFilter = exports._catch = exports._use = exports._zip = exports._chain = void 0;
4
+ /**
5
+ * Chains a list of functions together, passing the result of each function to the next.
6
+ *
7
+ * @param fns
8
+ * @returns
9
+ */
10
+ function _chain(...fns) {
11
+ return fns.reduce((prev, curr) => {
12
+ if (curr instanceof Promise) {
13
+ return prev.then(() => curr);
14
+ }
15
+ else if (typeof curr === 'function') {
16
+ return prev.then((res) => curr(res));
17
+ }
18
+ else {
19
+ return prev.then(() => Promise.resolve(curr));
20
+ }
21
+ }, Promise.resolve(null));
22
+ }
23
+ exports._chain = _chain;
24
+ function _zip(...fns) {
25
+ return (val) => Promise.all(fns.map((fn) => fn(val)));
26
+ }
27
+ exports._zip = _zip;
28
+ function _use(value, name) {
29
+ return async (arg) => Object.assign({}, arg, { [name]: await value() });
30
+ }
31
+ exports._use = _use;
32
+ /**
33
+ *
34
+ * Catches errors from a promise and calls the provided error handler.
35
+ * If error occures, chained promise will be rejected with the error.
36
+ *
37
+ * It acts also like circuit breaker, if error occures, it will not call next promise in chain.
38
+ *
39
+ * @param promise
40
+ * @param onError
41
+ * @returns
42
+ */
43
+ function _catch(promise, onError) {
44
+ return (...arg) => Promise.resolve(promise(...arg)).catch(async (err) => await onError(err, ...arg));
45
+ }
46
+ exports._catch = _catch;
47
+ /**
48
+ * Catch errors from a promise and call the provided error handler if the error matches the filter.
49
+ *
50
+ * @param promise
51
+ * @param onError
52
+ * @param filter
53
+ * @returns
54
+ */
55
+ function _catchFilter(promise, onError, filter) {
56
+ return (arg) => Promise.resolve(promise(arg)).catch((err) => {
57
+ if (filter(err)) {
58
+ return onError(err);
59
+ }
60
+ else {
61
+ throw err;
62
+ }
63
+ });
64
+ }
65
+ exports._catchFilter = _catchFilter;
66
+ function _catchValue(promise, onError, value) {
67
+ return (arg) => Promise.resolve(promise(arg)).catch((err) => (err === value ? onError(err) : Promise.reject(err)));
68
+ }
69
+ exports._catchValue = _catchValue;
70
+ /**
71
+ * Cactches exception of specific type and calls provided error handler.
72
+ *
73
+ * @param promise
74
+ * @param onError
75
+ * @param exception
76
+ * @returns
77
+ */
78
+ function _catchException(promise, onError, exception) {
79
+ return (arg) => Promise.resolve(promise(arg)).catch((err) => {
80
+ if (typeof err === 'object' && err instanceof exception) {
81
+ return onError(err);
82
+ }
83
+ else {
84
+ throw err;
85
+ }
86
+ });
87
+ }
88
+ exports._catchException = _catchException;
89
+ function _fallback(promise, fallback) {
90
+ return (arg) => promise(arg).catch(fallback);
91
+ }
92
+ exports._fallback = _fallback;
93
+ function _tap(promise) {
94
+ return (arg) => {
95
+ if (promise instanceof Promise) {
96
+ return promise.then(() => arg);
97
+ }
98
+ return promise(arg).then(() => arg);
99
+ };
100
+ }
101
+ exports._tap = _tap;
102
+ function _either(cond, onFulfilled, onRejected) {
103
+ return (arg) => cond(arg).then((res) => (res ? onFulfilled() : onRejected()));
104
+ }
105
+ exports._either = _either;
106
+ //# sourceMappingURL=fp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fp.js","sourceRoot":"","sources":["../../src/fp.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,7 @@ export * from "./array.js";
2
2
  export * from "./hash.js";
3
3
  export * from "./json.js";
4
4
  export * from "./thread.js";
5
+ export * from "./args.js";
6
+ export * from "./fp.js";
7
+ export * from "./string.js";
5
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
package/lib/cjs/index.js CHANGED
@@ -18,4 +18,7 @@ __exportStar(require("./array.js"), exports);
18
18
  __exportStar(require("./hash.js"), exports);
19
19
  __exportStar(require("./json.js"), exports);
20
20
  __exportStar(require("./thread.js"), exports);
21
+ __exportStar(require("./args.js"), exports);
22
+ __exportStar(require("./fp.js"), exports);
23
+ __exportStar(require("./string.js"), exports);
21
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,8CAA4B;AAC5B,4CAA0B;AAC1B,0CAAwB;AACxB,8CAA4B"}
@@ -0,0 +1,2 @@
1
+ export declare function trimChar(s: string, char: string): string;
2
+ //# sourceMappingURL=string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/string.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAS/C"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.trimChar = void 0;
4
+ function trimChar(s, char) {
5
+ var start = 0, end = s.length;
6
+ while (start < end && s[start] === char)
7
+ ++start;
8
+ while (end > start && s[end - 1] === char)
9
+ --end;
10
+ return start > 0 || end < s.length ? s.substring(start, end) : s;
11
+ }
12
+ exports.trimChar = trimChar;
13
+ ;
14
+ //# sourceMappingURL=string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/string.ts"],"names":[],"mappings":";;;AAAA,SAAgB,QAAQ,CAAC,CAAS,EAAE,IAAY;IAC9C,IAAI,KAAK,GAAG,CAAC,EACX,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;IAEjB,OAAO,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI;QAAE,EAAE,KAAK,CAAC;IAEjD,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI;QAAE,EAAE,GAAG,CAAC;IAEjD,OAAO,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AATD,4BASC;AAAA,CAAC"}
@@ -6,4 +6,8 @@
6
6
  * @returns
7
7
  */
8
8
  export declare const sleep: (duration: number) => Promise<void>;
9
+ /**
10
+ * Delay execution of a function for a given duration
11
+ */
12
+ export declare const delay: <T>(duration: number, callback: () => T) => Promise<T>;
9
13
  //# sourceMappingURL=thread.d.ts.map