@hairy/utils 1.45.0 → 1.46.0

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/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { clone, cloneDeep, cloneDeepWith, cloneWith, concat, debounce, find, get, groupBy, isArguments, isArray, isArrayBuffer, isArrayLike, isArrayLikeObject, isBoolean, isBuffer, isDate, isElement, isEmpty, isEqual, isEqualWith, isError, isFunction, isInteger, isMap, isMatch, isMatchWith, isNaN, isNative, isNull, isNumber, isObject, isObjectLike, isPlainObject, isRegExp as isRegexp, isSet, isString, isSymbol, isUndefined, isWeakMap, isWeakSet, join, keyBy, keys, merge, mergeWith, set, truncate, uniq, uniqBy, uniqWith, values } from 'lodash-es';
1
+ export { chunk, clone, cloneDeep, cloneDeepWith, cloneWith, concat, debounce, find, get, groupBy, isArguments, isArray, isArrayBuffer, isArrayLike, isArrayLikeObject, isBoolean, isBuffer, isDate, isElement, isEmpty, isEqual, isEqualWith, isError, isFunction, isInteger, isMap, isMatch, isMatchWith, isNaN, isNative, isNull, isNumber, isObject, isObjectLike, isPlainObject, isRegExp as isRegexp, isSet, isString, isSymbol, isUndefined, isWeakMap, isWeakSet, join, keyBy, keys, max, maxBy, merge, mergeWith, min, minBy, omit, omitBy, once, pick, pickBy, range, set, truncate, uniq, uniqBy, uniqWith, values } from 'lodash-es';
2
2
  import _Bignumber from 'bignumber.js';
3
3
 
4
4
  interface OpenFilePickerOptions {
@@ -14,7 +14,9 @@ interface OpenFilePickerOptions {
14
14
  /**
15
15
  * Select multiple files
16
16
  */
17
- declare function showOpenFilePicker(option?: OpenFilePickerOptions): Promise<File[]>;
17
+ declare function openFilePicker(option?: OpenFilePickerOptions): Promise<File[]>;
18
+ /** @deprecated use openFilePicker */
19
+ declare const showOpenFilePicker: typeof openFilePicker;
18
20
  interface OpenImagePickerOptions {
19
21
  /**
20
22
  * select multiple images
@@ -24,9 +26,10 @@ interface OpenImagePickerOptions {
24
26
  /**
25
27
  * Select multiple images
26
28
  */
27
- declare function showOpenImagePicker(options?: OpenImagePickerOptions): Promise<File[]>;
28
- /** @deprecated use chooseFile */
29
- declare const selectImages: typeof showOpenImagePicker;
29
+ declare function openImagePicker(options?: OpenImagePickerOptions): Promise<File[]>;
30
+ /** @deprecated use openImagePicker */
31
+ declare const selectImages: typeof openImagePicker;
32
+ declare const showOpenImagePicker: typeof openImagePicker;
30
33
  /**
31
34
  * Generate Blob | string file and download it
32
35
  * @param data Blob data, or string
@@ -38,7 +41,9 @@ declare function downloadBlobFile(data: Blob | string, name: string): void;
38
41
  * @param url Download link
39
42
  * @param name file name
40
43
  */
41
- declare function downloadNetworkFile(url: string, name?: string): void;
44
+ declare function downloadUrlFile(url: string, name?: string): void;
45
+ /** @deprecated use downloadUrlFile */
46
+ declare const downloadNetworkFile: typeof downloadUrlFile;
42
47
  type ReaderType = 'readAsArrayBuffer' | 'readAsBinaryString' | 'readAsDataURL' | 'readAsText';
43
48
  /**
44
49
  * Read File file
@@ -48,6 +53,9 @@ type ReaderType = 'readAsArrayBuffer' | 'readAsBinaryString' | 'readAsDataURL' |
48
53
  declare function readFileReader<T extends ReaderType>(formType: T, file: File): Promise<T extends "readAsArrayBuffer" ? ArrayBuffer : string>;
49
54
 
50
55
  type Numeric = string | number | bigint;
56
+ type Numberish = Numeric | {
57
+ toString: (...args: any[]) => string;
58
+ } | undefined | null;
51
59
  interface DynamicObject {
52
60
  [key: string]: any;
53
61
  }
@@ -67,32 +75,9 @@ type Key = string | number | symbol;
67
75
  type BooleanLike = any;
68
76
  type Noop = (...args: any[]) => any;
69
77
 
70
- type DeepReadonly<T> = {
71
- readonly [P in keyof T]: T[P] extends object ? DeepReadonly<T[P]> : T[P];
72
- };
73
- type DeepRequired<T> = {
74
- [P in keyof T]-?: T[P] extends object ? DeepRequired<T[P]> : T[P];
75
- };
76
- type DeepPartial<T> = {
77
- [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
78
- };
79
- type DeepReplace<T, K = unknown, V = unknown> = {
80
- [P in keyof T]: K extends P ? V : DeepReplace<T[P], K, V>;
81
- };
82
- type DeepKeyof<T> = T extends object ? keyof T | DeepKeyof<T[keyof T]> : never;
83
- type MergeInsertions<T> = T extends object ? {
84
- [K in keyof T]: MergeInsertions<T[K]>;
85
- } : T;
86
- type DeepMerge<F, S> = MergeInsertions<{
87
- [K in keyof F | keyof S]: K extends keyof S & keyof F ? DeepMerge<F[K], S[K]> : K extends keyof S ? S[K] : K extends keyof F ? F[K] : never;
88
- }>;
89
-
90
78
  /**
91
79
  * Any type that can be used where a big number is needed.
92
80
  */
93
- type Numberish = Numeric | {
94
- toString: (...args: any[]) => string;
95
- } | undefined | null;
96
81
  type Awaitable<T> = T | PromiseLike<T>;
97
82
  type Arrayable<T> = T | T[];
98
83
  type Promisify<T> = Promise<Awaited<T>>;
@@ -105,7 +90,7 @@ type IfAny<T, Y, N> = 0 extends 1 & T ? Y : N;
105
90
  type IsAny<T> = IfAny<T, true, false>;
106
91
  type ConstructorType<T = void> = new (...args: any[]) => T;
107
92
  type ArgumentsType<T> = T extends ((...args: infer A) => any) ? A : never;
108
- declare type PromiseType<P extends PromiseLike<any>> = P extends PromiseLike<infer T> ? T : never;
93
+ type PromiseType<P extends PromiseLike<any>> = P extends PromiseLike<infer T> ? T : never;
109
94
  type BrowserNativeObject = Date | FileList | File;
110
95
  type Option<L extends Key = 'label', V extends Key = 'value', C extends Key = 'children'> = {
111
96
  [P in L]?: string;
@@ -123,8 +108,28 @@ type PickBy<T, U> = {
123
108
  type Overwrite<T, U> = Pick<T, Exclude<keyof T, keyof U>> & U;
124
109
  type Assign<T, U> = Omit<T, keyof U> & U;
125
110
  type NonUndefined<T> = T extends undefined ? never : T;
126
- type DeepMap<T, V> = IsAny<T> extends true ? any : T extends BrowserNativeObject ? V : T extends object ? {
127
- [K in keyof T]: DeepMap<NonUndefined<T[K]>, V>;
111
+
112
+ type DeepReadonly<T> = {
113
+ readonly [P in keyof T]: T[P] extends object ? DeepReadonly<T[P]> : T[P];
114
+ };
115
+ type DeepRequired<T> = {
116
+ [P in keyof T]-?: T[P] extends object ? DeepRequired<T[P]> : T[P];
117
+ };
118
+ type DeepPartial<T> = {
119
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
120
+ };
121
+ type DeepReplace<T, K = unknown, V = unknown> = {
122
+ [P in keyof T]: K extends P ? V : DeepReplace<T[P], K, V>;
123
+ };
124
+ type DeepKeyof<T> = T extends object ? keyof T | DeepKeyof<T[keyof T]> : never;
125
+ type MergeInsertions<T> = T extends object ? {
126
+ [K in keyof T]: MergeInsertions<T[K]>;
127
+ } : T;
128
+ type DeepMerge<F, S> = MergeInsertions<{
129
+ [K in keyof F | keyof S]: K extends keyof S & keyof F ? DeepMerge<F[K], S[K]> : K extends keyof S ? S[K] : K extends keyof F ? F[K] : never;
130
+ }>;
131
+ type DeepMap<T, V, ST = BrowserNativeObject> = IsAny<T> extends true ? any : T extends ST ? V : T extends object ? {
132
+ [K in keyof T]: DeepMap<NonUndefined<T[K]>, V, ST>;
128
133
  } : V;
129
134
 
130
135
  declare function redirectTo(url: string, target?: string): void;
@@ -322,16 +327,6 @@ declare function parseNumeric(num: Numberish, delimiters?: Delimiter[]): {
322
327
  */
323
328
  declare function formatNumeric(value?: Numberish, options?: FormatNumericOptions): string;
324
329
 
325
- type Dimension = Numeric | [Numeric, Numeric] | {
326
- width: Numeric;
327
- height: Numeric;
328
- };
329
- declare function formatUnit(value: Numeric, unit?: string): string;
330
- declare function formatSize(dimension: Dimension, unit?: string): {
331
- width: string;
332
- height: string;
333
- };
334
-
335
330
  /**
336
331
  * Intercept front and back characters, hide middle characters
337
332
  * @param value
@@ -402,19 +397,6 @@ declare function template(str: string, ...args: (string | number | bigint | unde
402
397
  */
403
398
  declare function unindent(str: TemplateStringsArray | string): string;
404
399
 
405
- type Typeof = 'string' | 'number' | 'bigint' | 'boolean' | 'symbol' | 'undefined' | 'object' | 'function' | 'null' | 'regexp';
406
- /**
407
- * obtain data type
408
- * @param target Detection object
409
- */
410
- declare function getTypeof(target: any): Typeof;
411
- /**
412
- * Detecting data types
413
- * @param target Detection object
414
- * @param type Data type
415
- */
416
- declare function isTypeof(target: any, type: Typeof): boolean;
417
-
418
400
  type UF$1<VT, RT> = (value: VT) => RT | PromiseLike<RT>;
419
401
  type Composed<VT, RT> = (value?: VT) => Promise<RT>;
420
402
  /**
@@ -495,52 +477,69 @@ declare namespace compose {
495
477
  }
496
478
 
497
479
  /**
498
- * formData to object
499
- * @param formData
500
- */
501
- declare function formdataToObject(formData: FormData): Record<string, string>;
502
- /**
503
- * Object to formData
504
- * @param object
505
- */
506
- declare function objectToFormdata(object: Record<string, string | File>): FormData;
507
- /**
508
- * Check if a value is not NaN.
509
- * @param value - The value to check.
510
- * @returns The value if it is not NaN, otherwise undefined.
511
- */
512
- declare function nonnanable<T>(value: T): T | undefined;
513
- /**
514
- * Convert a value to a number.
515
- * @param value - The value to convert to a number.
516
- * @returns The number value.
517
- */
518
- declare function numberify(value: any): number;
519
- /**
520
- * Convert a value to a string.
521
- * @param value - The value to convert to a string.
522
- * @returns The string value.
523
- */
524
- declare function stringify(value: any): string;
525
- /**
526
- * Convert a value to a numberish value.
527
- * @param value - The value to convert to a numberish value.
528
- * @returns The numberish value.
480
+ * A deferred promise.
481
+ * @param T - The type of the value.
482
+ * @returns The deferred promise.
483
+ * @example
484
+ * ```ts
485
+ * const deferred = new Deferred()
486
+ * deferred.resolve('value')
529
487
  */
530
- declare function numberish(value: Numberish): string;
531
-
532
488
  declare class Deferred<T> extends Promise<T> {
533
489
  resolve: (value?: T) => Deferred<T>;
534
490
  reject: (reason?: any) => Deferred<T>;
535
491
  constructor(executor?: (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void);
536
492
  }
537
493
 
494
+ /**
495
+ * Delay for a given number of milliseconds.
496
+ * @param ms - The number of milliseconds to delay.
497
+ * @returns A promise that resolves after the given number of milliseconds.
498
+ * @example
499
+ * ```ts
500
+ * delay(1000).then(() => { console.log('1 second') })
501
+ */
538
502
  declare function delay(ms: number): Promise<void>;
539
503
 
540
- declare function jsonTryParse(text: string | undefined | null): any;
504
+ declare function tryParseJson<T = any>(text: string | undefined | null): T | undefined;
541
505
 
506
+ /**
507
+ * A function that performs a loop operation with delay control.
508
+ * @template T - The return type of the loop function (defaults to void)
509
+ * @param next - A function that schedules the next iteration after a delay (in milliseconds)
510
+ * @returns A promise that resolves with the result of type T
511
+ */
542
512
  type Looper<T = void> = (next: (ms: number) => Promise<T>) => Promise<T>;
543
513
  declare function loop_return<T = void>(fn: Looper<T>): Promise<T>;
514
+ /**
515
+ * Creates a cancellable loop that executes repeatedly with delays.
516
+ * Returns a cancel function that can be called to stop the loop.
517
+ * The loop will not execute further iterations after cancellation.
518
+ *
519
+ * @param fn - The loop function that receives a `next` callback to schedule the next iteration
520
+ * @returns A cancel function that stops the loop when called
521
+ *
522
+ * @example loop
523
+ * ```ts
524
+ * const cancel = loop(async (next) => {
525
+ * console.log('tick')
526
+ * await next(1000) // Wait 1 second before next iteration
527
+ * })
528
+ *
529
+ * // Stop the loop after 5 seconds
530
+ * setTimeout(cancel, 5000)
531
+ *```
532
+ * @example loop.return
533
+ * ```ts
534
+ * const result = await loop.return(async (next) => {
535
+ * if (condition) {
536
+ * return 'done'
537
+ * }
538
+ * await next(1000)
539
+ * })
540
+ * console.log(result)
541
+ * ```
542
+ */
544
543
  declare function loop(fn: Looper<void>): Fn$1;
545
544
  declare namespace loop {
546
545
  var _a: typeof loop_return;
@@ -585,7 +584,8 @@ declare function pPipe<VT, R1, R2, R3, R4, R5, R6, R7, R8, RT>(f1: UF<VT, R1>, f
585
584
  * TypeScript, because it doesn't support **Variadic Kinds** and we explicitly
586
585
  * have to define the type of all the possible usages as method overloads.
587
586
  *
588
- * @example
587
+ * @example pipe
588
+ *
589
589
  * const normalizeWhiteSpaces = text => name.replace(/\s+/g, ' ').trim();
590
590
  *
591
591
  * const getInitials = pipe(
@@ -600,7 +600,7 @@ declare function pPipe<VT, R1, R2, R3, R4, R5, R6, R7, R8, RT>(f1: UF<VT, R1>, f
600
600
  * @param fn - An arity N function. Its result is the argument of next one.
601
601
  * @param fns - Functions of arity 1. Each one's result is next's argument.
602
602
  *
603
- * @example
603
+ * @example pipe.promise
604
604
  *
605
605
  * const addUnicorn = async string => `${string} Unicorn`;
606
606
  * const addRainbow = async string => `${string} Rainbow`;
@@ -626,26 +626,184 @@ declare namespace pipe {
626
626
  var promise: typeof pPipe;
627
627
  }
628
628
 
629
- declare function proxy<T extends object>(initObject?: T): {
630
- proxy: T;
631
- update: (object?: T) => void;
629
+ type Proxyed<T extends object> = T & {
630
+ proxy: {
631
+ update: (object?: T) => void;
632
+ original: () => T | undefined;
633
+ };
632
634
  };
633
- declare namespace proxy {
634
- var resolve: <T extends object>(target: T) => T | undefined;
635
- }
635
+ /**
636
+ * Creates a proxy object that updates the original object when the proxy is updated.
637
+ * @param initObject - The initial object to proxy.
638
+ * @returns The proxy object.
639
+ *
640
+ * @example
641
+ * ```ts
642
+ * const obj = proxy({ name: 'John' })
643
+ * console.log(obj.name) // John
644
+ *
645
+ * proxy.update({ name: 'Jane' })
646
+ * console.log(obj.name) // Jane
647
+ *
648
+ * const obj2 = proxy()
649
+ *
650
+ * obj2.any // Error: Proxy not updated. Call object.proxy.update() to update the proxy.
651
+ *
652
+ * proxy.original(obj2) // undefined
653
+ * obj2.update({ name: 'John' })
654
+ *
655
+ * // get the original object
656
+ * proxy.original(obj2) // { name: 'John' }
657
+ * ```
658
+ */
659
+ declare function proxy<T extends object>(initObject?: T): Proxyed<T>;
636
660
 
637
- declare function randomArray<T>(array: T[]): T;
661
+ /**
662
+ * Get a random item from an array.
663
+ * @param array - The array to get a random item from.
664
+ * @returns The random item.
665
+ * @example
666
+ * ```ts
667
+ * randomItem(['a', 'b', 'c']) // 'a' | 'b' | 'c'
668
+ */
669
+ declare function randomItem<T>(array: T[]): T;
670
+ /**
671
+ * Get a random number between a minimum and maximum value.
672
+ * @param min - The minimum value.
673
+ * @param max - The maximum value.
674
+ * @returns The random number.
675
+ * @example
676
+ * ```ts
677
+ * randomNumber(0, 100) // 0-100
678
+ */
638
679
  declare function randomNumber(min: number, max: number): number;
639
- declare function randomString(size: number, chars?: string): string;
680
+ /**
681
+ * Get a random string of a given size.
682
+ * @param size - The size of the string.
683
+ * @param chars - The characters to use in the string.
684
+ * @returns The random string.
685
+ * @example
686
+ * ```ts
687
+ * randomString() // 10 characters long
688
+ * randomString(20) // 20 characters long
689
+ * randomString(20, 'abcdefghijklmnopqrstuvwxyz') // 20 characters long
690
+ */
691
+ declare function randomString(size?: number, chars?: string): string;
692
+
693
+ /**
694
+ * formData to object
695
+ * @param formData
696
+ */
697
+ declare function formdataToObject(formData: FormData): Record<string, string>;
698
+ /**
699
+ * Object to formData
700
+ * @param object
701
+ */
702
+ declare function objectToFormdata(object: Record<string, string | File>): FormData;
703
+ /**
704
+ * Check if a value is not NaN.
705
+ * @param value - The value to check.
706
+ * @returns The value if it is not NaN, otherwise undefined.
707
+ */
708
+ declare function nonnanable<T>(value: T): T | undefined;
709
+ /**
710
+ * Convert a value to a number.
711
+ * @param value - The value to convert to a number.
712
+ * @returns The number value.
713
+ */
714
+ declare function numberify(value: any): number;
715
+ /**
716
+ * Convert a value to a string.
717
+ * @param value - The value to convert to a string.
718
+ * @returns The string value.
719
+ */
720
+ declare function stringify(value: any): string;
721
+ /**
722
+ * Convert a value to a numberish value.
723
+ * @param value - The value to convert to a numberish value.
724
+ * @returns The numberish value.
725
+ */
726
+ declare function numberish(value: Numberish): string;
640
727
 
728
+ /**
729
+ * Convert a promise to a tuple of [error, data].
730
+ * @param promise - The promise to convert.
731
+ * @param error - The error to return if the promise fails.
732
+ * @returns The tuple of [error, data].
733
+ * @example
734
+ * ```ts
735
+ * to(Promise.resolve('data')) // Promise<[null, 'data']>
736
+ * to(Promise.reject(new Error('error'))) // Promise<[Error, undefined]>
737
+ */
641
738
  declare function to<T, U = Error>(promise: Promise<T> | (() => Promise<T>), error?: object): Promise<[U, undefined] | [null, T]>;
642
739
 
643
- declare function toArray<T>(value?: T | T[]): T[] | undefined;
740
+ /**
741
+ * Convert a value to an array.
742
+ * @param value - The value to convert.
743
+ * @param required - Whether the array is required.
744
+ * @returns The array.
745
+ * @example
746
+ * ```ts
747
+ * toArray(arrorOrItemOrUndefined) // item[] | undefined
748
+ * toArray(arrayOrItemOrUndefined, true) // item[]
749
+ */
750
+ declare function toArray<T, R extends boolean>(value?: T | T[], required?: R): R extends true ? T[] : T[] | undefined;
644
751
 
645
- declare function arange(x1: number, x2?: number, stp?: number, z?: number[], z0?: number): number[];
646
- declare function riposte<T>(...args: [cond: boolean, value: T][]): T;
752
+ type Dimension = Numeric | [Numeric, Numeric] | {
753
+ width: Numeric;
754
+ height: Numeric;
755
+ };
756
+ declare function unit(value: Numeric, unit?: string): string;
757
+ declare function size(dimension: Dimension, unit?: string): {
758
+ width: string;
759
+ height: string;
760
+ };
761
+
762
+ /** @deprecated Use range instead */
763
+ declare const arange: {
764
+ (start: number, end?: number, step?: number): number[];
765
+ (end: number, index: string | number, guard: object): number[];
766
+ };
767
+ /**
768
+ * Select a value based on a condition.
769
+ * @param args - The arguments to select from.
770
+ * @returns The selected value.
771
+ * @example
772
+ * ```ts
773
+ * select(
774
+ * [condition1, value],
775
+ * [condition2, value2],
776
+ * // default value
777
+ * [true, value3],
778
+ * ...
779
+ * ) // value
780
+ * ```
781
+ */
782
+ declare function select<T>(...args: [cond: boolean, value: T][]): T;
783
+ /**
784
+ * @deprecated Use select instead
785
+ */
786
+ declare const riposte: typeof select;
787
+ /**
788
+ * Unwrap a value or a function that returns a value.
789
+ * @param value - The value or function to unwrap.
790
+ * @returns The unwrapped value.
791
+ * @example
792
+ * ```ts
793
+ * unwrap({ name: 'John' }) // { name: 'John' }
794
+ * unwrap(() => { return { name: 'John' } }) // { name: 'John' }
795
+ */
647
796
  declare function unwrap<T extends object>(value: T | (() => T)): T;
797
+ /**
798
+ * Call a callback if a value is not null or undefined.
799
+ * @param value - The value to check.
800
+ * @param callback - The callback to call.
801
+ * @returns The result of the callback.
802
+ * @example
803
+ * ```ts
804
+ * whenever(value, (value) => { return 'value' }) // value
805
+ */
648
806
  declare function whenever<T, C extends (value: Exclude<T, null | undefined>) => any>(value: T, callback: C): ReturnType<C> | undefined;
649
807
  declare function call<T extends Fn$1<any>>(fn: T, ...args: Parameters<T>): ReturnType<T>;
650
808
 
651
- export { type AnyFn, type ArgumentsType, type Arrayable, type Assign, type Awaitable, BIG_INTS, Bignumber, type BooleanLike, type BrowserNativeObject, type ConstructorType, DEFAULT_BIGNUM_CONFIG, type DecimalOptions, type DeepKeyof, type DeepMap, type DeepMerge, type DeepPartial, type DeepReadonly, type DeepReplace, type DeepRequired, Deferred, type Delimiter, type Dimension, type DynamicObject, type ElementOf, type Fn$1 as Fn, type FormatGroupOptions, type FormatNumericOptions, type IfAny, type IsAny, type Key, type Looper, type MergeInsertions, type NonUndefined, type Noop, type Nullable, type NumberObject, type Numberish, type Numeric, type NumericObject, type OmitBy, type OpenFilePickerOptions, type OpenImagePickerOptions, type Option, type Overwrite, type PickBy, type PromiseFn, type PromiseType, type Promisify, type ReaderType, type StringObject, type SymbolObject, type Typeof, arange, average, bignumber, call, camelCase, capitalCase, compose, constantCase, cover, decimal, delay, dialsPhone, divide, dotCase, downloadBlobFile, downloadNetworkFile, ensurePrefix, ensureSuffix, formatNumeric, formatSize, formatUnit, formdataToObject, getTypeof, gt, gte, integer, isAndroid, isBrowser, isChrome, isEdge, isFF, isFormData, isIE, isIE11, isIE9, isIOS, isMobile, isPhantomJS, isTruthy, isTypeof, isWeex, isWindow, jsonTryParse, kebabCase, loop, lt, lte, multiply, noCase, nonnanable, noop, numberify, numberish, objectToFormdata, off, on, parseNumeric, pascalCase, pascalSnakeCase, pathCase, percentage, pipe, plus, proxy, randomArray, randomNumber, randomString, readFileReader, redirectTo, riposte, selectImages, sentenceCase, showOpenFilePicker, showOpenImagePicker, slash, snakeCase, stringify, template, to, toArray, trainCase, unindent, unwrap, whenever, zeroRemove, zerofill };
809
+ export { type AnyFn, type ArgumentsType, type Arrayable, type Assign, type Awaitable, BIG_INTS, Bignumber, type BooleanLike, type BrowserNativeObject, type ConstructorType, DEFAULT_BIGNUM_CONFIG, type DecimalOptions, type DeepKeyof, type DeepMap, type DeepMerge, type DeepPartial, type DeepReadonly, type DeepReplace, type DeepRequired, Deferred, type Delimiter, type Dimension, type DynamicObject, type ElementOf, type Fn$1 as Fn, type FormatGroupOptions, type FormatNumericOptions, type IfAny, type IsAny, type Key, type Looper, type MergeInsertions, type NonUndefined, type Noop, type Nullable, type NumberObject, type Numberish, type Numeric, type NumericObject, type OmitBy, type OpenFilePickerOptions, type OpenImagePickerOptions, type Option, type Overwrite, type PickBy, type PromiseFn, type PromiseType, type Promisify, type Proxyed, type ReaderType, type StringObject, type SymbolObject, arange, average, bignumber, call, camelCase, capitalCase, compose, constantCase, cover, decimal, delay, dialsPhone, divide, dotCase, downloadBlobFile, downloadNetworkFile, downloadUrlFile, ensurePrefix, ensureSuffix, formatNumeric, formdataToObject, gt, gte, integer, isAndroid, isBrowser, isChrome, isEdge, isFF, isFormData, isIE, isIE11, isIE9, isIOS, isMobile, isPhantomJS, isTruthy, isWeex, isWindow, kebabCase, loop, lt, lte, multiply, noCase, nonnanable, noop, numberify, numberish, objectToFormdata, off, on, openFilePicker, openImagePicker, parseNumeric, pascalCase, pascalSnakeCase, pathCase, percentage, pipe, plus, proxy, randomItem, randomNumber, randomString, readFileReader, redirectTo, riposte, select, selectImages, sentenceCase, showOpenFilePicker, showOpenImagePicker, size, slash, snakeCase, stringify, template, to, toArray, trainCase, tryParseJson, unindent, unit, unwrap, whenever, zeroRemove, zerofill };