@h3ravel/support 0.15.0 → 0.15.2
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.cjs
CHANGED
|
@@ -30,7 +30,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
30
30
|
|
|
31
31
|
//#endregion
|
|
32
32
|
let crypto = require("crypto");
|
|
33
|
-
crypto = __toESM(crypto);
|
|
34
33
|
let process = require("process");
|
|
35
34
|
process = __toESM(process);
|
|
36
35
|
let util = require("util");
|
package/dist/index.d.cts
CHANGED
|
@@ -35,10 +35,10 @@ interface Function {
|
|
|
35
35
|
* Convert CamelCased Object keys to snake_case
|
|
36
36
|
*/
|
|
37
37
|
type KeysToSnakeCase<T$1> = { [K in keyof T$1 as CamelToSnakeCase<string & K>]: T$1[K] };
|
|
38
|
-
type TGeneric<V
|
|
39
|
-
type XGeneric<V
|
|
38
|
+
type TGeneric<V = any, K$1 extends string = string> = Record<K$1, V>;
|
|
39
|
+
type XGeneric<V = TGeneric, T$1 = any> = {
|
|
40
40
|
[key: string]: T$1;
|
|
41
|
-
} & V
|
|
41
|
+
} & V;
|
|
42
42
|
type DotPath<T$1> = T$1 extends object ? { [K in keyof T$1 & (string | number)]: T$1[K] extends object ? `${K}` | `${K}.${DotPath<T$1[K]>}` : `${K}` }[keyof T$1 & (string | number)] : never;
|
|
43
43
|
//#endregion
|
|
44
44
|
//#region src/Contracts/TypeCast.d.ts
|
|
@@ -263,7 +263,7 @@ declare namespace Obj_d_exports {
|
|
|
263
263
|
* @param obj - The nested object to flatten
|
|
264
264
|
* @returns A flattened object with dotted keys and inferred types
|
|
265
265
|
*/
|
|
266
|
-
declare const dot: <T extends Record<string, any>>(obj: T) => DotFlatten<T>;
|
|
266
|
+
declare const dot: <T$1 extends Record<string, any>>(obj: T$1) => DotFlatten<T$1>;
|
|
267
267
|
/**
|
|
268
268
|
* Extracts a subset of properties from an object.
|
|
269
269
|
*
|
|
@@ -273,7 +273,7 @@ declare const dot: <T extends Record<string, any>>(obj: T) => DotFlatten<T>;
|
|
|
273
273
|
* @param keys - Array of keys to extract
|
|
274
274
|
* @returns A new object with only the specified keys
|
|
275
275
|
*/
|
|
276
|
-
declare const extractProperties: <T extends object, K extends keyof T>(obj: T, keys?: readonly K[]) => Pick<T, K>;
|
|
276
|
+
declare const extractProperties: <T$1 extends object, K$1 extends keyof T$1>(obj: T$1, keys?: readonly K$1[]) => Pick<T$1, K$1>;
|
|
277
277
|
/**
|
|
278
278
|
* Safely retrieves a value from an object by key or nested keys.
|
|
279
279
|
*
|
|
@@ -282,7 +282,7 @@ declare const extractProperties: <T extends object, K extends keyof T>(obj: T, k
|
|
|
282
282
|
* @param item - The source object
|
|
283
283
|
* @returns The found value as a string or the key itself if not found
|
|
284
284
|
*/
|
|
285
|
-
declare const getValue: <T extends Record<string, any>>(key: string | [keyof T, keyof T[string]], item: T) => string;
|
|
285
|
+
declare const getValue: <T$1 extends Record<string, any>>(key: string | [keyof T$1, keyof T$1[string]], item: T$1) => string;
|
|
286
286
|
/**
|
|
287
287
|
* Maps over an object's entries and returns a new object
|
|
288
288
|
* with transformed keys and/or values.
|
|
@@ -293,7 +293,7 @@ declare const getValue: <T extends Record<string, any>>(key: string | [keyof T,
|
|
|
293
293
|
* @param callback - Function that receives [key, value] and returns [newKey, newValue]
|
|
294
294
|
* @returns A new object with transformed entries
|
|
295
295
|
*/
|
|
296
|
-
declare const modObj: <T extends object, R>(obj: T, callback: (_entry: [keyof T & string, T[keyof T]]) => [string, R]) => Record<string, R>;
|
|
296
|
+
declare const modObj: <T$1 extends object, R>(obj: T$1, callback: (_entry: [keyof T$1 & string, T$1[keyof T$1]]) => [string, R]) => Record<string, R>;
|
|
297
297
|
declare function safeDot<T$1 extends Record<string, any>>(_data: T$1): T$1;
|
|
298
298
|
declare function safeDot<T$1 extends Record<string, any>, K$1 extends DotNestedKeys<T$1>>(_data: T$1, _key?: K$1): DotNestedValue<T$1, K$1>;
|
|
299
299
|
/**
|
|
@@ -319,7 +319,7 @@ declare const setNested: (obj: Record<string, any>, key: string, value: any) =>
|
|
|
319
319
|
* @param separator - Separator for slugified keys (default: "_")
|
|
320
320
|
* @returns A new object with slugified keys
|
|
321
321
|
*/
|
|
322
|
-
declare const slugifyKeys: <T extends object>(obj: T, only?: string[], separator?: string) => KeysToSnakeCase<T>;
|
|
322
|
+
declare const slugifyKeys: <T$1 extends object>(obj: T$1, only?: string[], separator?: string) => KeysToSnakeCase<T$1>;
|
|
323
323
|
/**
|
|
324
324
|
* toCssClasses
|
|
325
325
|
*
|
|
@@ -350,13 +350,13 @@ declare function undot(obj: Record<string, any>): Record<string, any>;
|
|
|
350
350
|
*
|
|
351
351
|
* Get a value from an object using dot notation.
|
|
352
352
|
*/
|
|
353
|
-
declare function data_get<T$1 extends object, P
|
|
353
|
+
declare function data_get<T$1 extends object, P extends DotPath<T$1> | DotPath<T$1>[], D = undefined>(obj: T$1, path: P, defaultValue?: D): T$1 | any;
|
|
354
354
|
/**
|
|
355
355
|
* data_set
|
|
356
356
|
*
|
|
357
357
|
* Set a value in an object using dot notation. Mutates the object.
|
|
358
358
|
*/
|
|
359
|
-
declare function data_set<T$1 extends Record<string, any>, P
|
|
359
|
+
declare function data_set<T$1 extends Record<string, any>, P extends string | string[], V>(obj: T$1, path: P, value: V): asserts obj is T$1 & Record<P extends string ? P : P[0], V>;
|
|
360
360
|
/**
|
|
361
361
|
* data_fill
|
|
362
362
|
*
|
|
@@ -386,7 +386,7 @@ declare class Obj {
|
|
|
386
386
|
*
|
|
387
387
|
* Returns a new object (does not mutate original).
|
|
388
388
|
*/
|
|
389
|
-
static add<T extends Record<string, any>, K extends string, V>(obj: T, key: K, value: V): T & Record<K, V>;
|
|
389
|
+
static add<T$1 extends Record<string, any>, K$1 extends string, V>(obj: T$1, key: K$1, value: V): T$1 & Record<K$1, V>;
|
|
390
390
|
/**
|
|
391
391
|
* Deeply merges two or more objects.
|
|
392
392
|
* - Arrays are replaced (not concatenated)
|
|
@@ -396,26 +396,26 @@ declare class Obj {
|
|
|
396
396
|
* @param objects
|
|
397
397
|
* @returns
|
|
398
398
|
*/
|
|
399
|
-
static deepMerge<T extends Record<string, any>>(...objects: (Partial<T> | undefined | null)[]): T;
|
|
399
|
+
static deepMerge<T$1 extends Record<string, any>>(...objects: (Partial<T$1> | undefined | null)[]): T$1;
|
|
400
400
|
/**
|
|
401
401
|
* Split object into [keys, values]
|
|
402
402
|
*/
|
|
403
|
-
static divide<T extends Record<string, any>>(obj: T): [string[], any[]];
|
|
403
|
+
static divide<T$1 extends Record<string, any>>(obj: T$1): [string[], any[]];
|
|
404
404
|
/**
|
|
405
405
|
* Check if a key exists in the object.
|
|
406
406
|
*/
|
|
407
|
-
static exists<T extends Record<string, any>>(obj: T, key: string | number): boolean;
|
|
407
|
+
static exists<T$1 extends Record<string, any>>(obj: T$1, key: string | number): boolean;
|
|
408
408
|
/**
|
|
409
409
|
* Get a value from an object using dot notation.
|
|
410
410
|
*
|
|
411
411
|
* Example:
|
|
412
412
|
* Obj.get({a:{b:1}}, 'a.b') -> 1
|
|
413
413
|
*/
|
|
414
|
-
static get<T extends object, P extends DotPath<T>, D = undefined>(obj: T, path: P, defaultValue?: D): any;
|
|
414
|
+
static get<T$1 extends object, P extends DotPath<T$1>, D = undefined>(obj: T$1, path: P, defaultValue?: D): any;
|
|
415
415
|
/**
|
|
416
416
|
* Check if the object has a given key or keys (dot notation supported).
|
|
417
417
|
*/
|
|
418
|
-
static has<T extends object, P extends DotPath<T>>(obj: T, keys: P | P[]): boolean;
|
|
418
|
+
static has<T$1 extends object, P extends DotPath<T$1>>(obj: T$1, keys: P | P[]): boolean;
|
|
419
419
|
/**
|
|
420
420
|
* Check if an object is associative (has at least one non-numeric key).
|
|
421
421
|
*/
|
|
@@ -423,7 +423,7 @@ declare class Obj {
|
|
|
423
423
|
/**
|
|
424
424
|
* Add a prefix to all keys of the object.
|
|
425
425
|
*/
|
|
426
|
-
static prependKeysWith<T extends Record<string, any>>(obj: T, prefix: string): Record<string, any>;
|
|
426
|
+
static prependKeysWith<T$1 extends Record<string, any>>(obj: T$1, prefix: string): Record<string, any>;
|
|
427
427
|
/**
|
|
428
428
|
* Convert an object into a URL query string.
|
|
429
429
|
*
|
|
@@ -498,7 +498,7 @@ declare class Arr {
|
|
|
498
498
|
/**
|
|
499
499
|
* Checks if all elements satisfy the predicate
|
|
500
500
|
*/
|
|
501
|
-
static every<T>(array: T[], predicate: (item: T) => boolean): boolean;
|
|
501
|
+
static every<T$1>(array: T$1[], predicate: (item: T$1) => boolean): boolean;
|
|
502
502
|
/**
|
|
503
503
|
* Remove items by keys/indices from an array or properties from an object.
|
|
504
504
|
*
|
|
@@ -553,11 +553,11 @@ declare class Arr {
|
|
|
553
553
|
* Converts various input types into a plain array
|
|
554
554
|
* Supports Arrays, Objects, Iterables, Map, WeakMap, and custom toArray/toJSON/jsonSerialize methods
|
|
555
555
|
*/
|
|
556
|
-
static from<T>(value: T | Iterable<T> | Arrayable | Jsonable | JsonSerializable | null | undefined): any[];
|
|
556
|
+
static from<T$1>(value: T$1 | Iterable<T$1> | Arrayable | Jsonable | JsonSerializable | null | undefined): any[];
|
|
557
557
|
/**
|
|
558
558
|
* Checks if an object has all the specified keys
|
|
559
559
|
*/
|
|
560
|
-
static hasAll<T extends object>(obj: T, keys: (keyof T)[]): boolean;
|
|
560
|
+
static hasAll<T$1 extends object>(obj: T$1, keys: (keyof T$1)[]): boolean;
|
|
561
561
|
/**
|
|
562
562
|
* For arrays: check if the array contains any of the provided values.
|
|
563
563
|
*
|
|
@@ -594,7 +594,7 @@ declare class Arr {
|
|
|
594
594
|
* Example:
|
|
595
595
|
* Arr.keyBy([{id:1},{id:2}], 'id') -> { '1': {id:1}, '2': {id:2} }
|
|
596
596
|
*/
|
|
597
|
-
static keyBy<T>(array: T[], key: keyof T | ((item: T) => string | number)): Record<string, T>;
|
|
597
|
+
static keyBy<T$1>(array: T$1[], key: keyof T$1 | ((item: T$1) => string | number)): Record<string, T$1>;
|
|
598
598
|
/**
|
|
599
599
|
* Get the last element of an array, optionally matching a predicate,
|
|
600
600
|
* or the last element if no predicate is provided, otherwise the defaultValue.
|
|
@@ -609,15 +609,15 @@ declare class Arr {
|
|
|
609
609
|
*
|
|
610
610
|
* @returns
|
|
611
611
|
*/
|
|
612
|
-
static last<T, P extends ((item: T) => boolean) | true>(array: T[], predicate?: P | T, defaultValue?: T): P extends true ? [T, T[]] : T | undefined;
|
|
612
|
+
static last<T$1, P extends ((item: T$1) => boolean) | true>(array: T$1[], predicate?: P | T$1, defaultValue?: T$1): P extends true ? [T$1, T$1[]] : T$1 | undefined;
|
|
613
613
|
/**
|
|
614
614
|
* Transform each element in an array using a callback.
|
|
615
615
|
*/
|
|
616
|
-
static map<T, U>(array: T[], callback: (item: T, index: number) => U): U[];
|
|
616
|
+
static map<T$1, U$1>(array: T$1[], callback: (item: T$1, index: number) => U$1): U$1[];
|
|
617
617
|
/**
|
|
618
618
|
* Maps a multi-dimensional array with a spread callback
|
|
619
619
|
*/
|
|
620
|
-
static mapSpread<T extends any[], U>(array: T[], callback: (...items: T) => U): U[];
|
|
620
|
+
static mapSpread<T$1 extends any[], U$1>(array: T$1[], callback: (...items: T$1) => U$1): U$1[];
|
|
621
621
|
/**
|
|
622
622
|
* Map each element to a key-value pair.
|
|
623
623
|
*
|
|
@@ -625,25 +625,25 @@ declare class Arr {
|
|
|
625
625
|
* Arr.mapWithKeys([{id:1, name:'A'}], x => [x.id, x.name])
|
|
626
626
|
* -> { '1': 'A' }
|
|
627
627
|
*/
|
|
628
|
-
static mapWithKeys<T, K extends string | number, V>(array: T[], callback: (item: T, index: number) => [K, V]): Record<string, V>;
|
|
628
|
+
static mapWithKeys<T$1, K$1 extends string | number, V>(array: T$1[], callback: (item: T$1, index: number) => [K$1, V]): Record<string, V>;
|
|
629
629
|
/**
|
|
630
630
|
* Return only elements at the given indices.
|
|
631
631
|
*
|
|
632
632
|
* Example:
|
|
633
633
|
* Arr.only([10,20,30], [0,2]) -> [10,30]
|
|
634
634
|
*/
|
|
635
|
-
static only<T>(array: T[], keys: number | number[]): T[];
|
|
635
|
+
static only<T$1>(array: T$1[], keys: number | number[]): T$1[];
|
|
636
636
|
/**
|
|
637
637
|
* Split an array into two arrays based on a predicate
|
|
638
638
|
*/
|
|
639
|
-
static partition<T>(array: T[], predicate: (item: T) => boolean): [T[], T[]];
|
|
639
|
+
static partition<T$1>(array: T$1[], predicate: (item: T$1) => boolean): [T$1[], T$1[]];
|
|
640
640
|
/**
|
|
641
641
|
* Extract a property from each element in an array of objects.
|
|
642
642
|
*
|
|
643
643
|
* Example:
|
|
644
644
|
* Arr.pluck([{name:'A'},{name:'B'}], 'name') -> ['A','B']
|
|
645
645
|
*/
|
|
646
|
-
static pluck<T, K extends keyof T>(array: T[], key: K): T[K][];
|
|
646
|
+
static pluck<T$1, K$1 extends keyof T$1>(array: T$1[], key: K$1): T$1[K$1][];
|
|
647
647
|
/**
|
|
648
648
|
* Add elements to the beginning of an array and return a new array.
|
|
649
649
|
*
|
|
@@ -651,56 +651,56 @@ declare class Arr {
|
|
|
651
651
|
* @param value
|
|
652
652
|
* @returns
|
|
653
653
|
*/
|
|
654
|
-
static prepend<T>(array: T[], ...value: T[]): T[];
|
|
654
|
+
static prepend<T$1>(array: T$1[], ...value: T$1[]): T$1[];
|
|
655
655
|
/**
|
|
656
656
|
* Remove a value from an array by index and return it.
|
|
657
657
|
* Returns a tuple: [newArray, removedValue]
|
|
658
658
|
*/
|
|
659
|
-
static pull<T>(array: T[], key: number): [T[], T | undefined];
|
|
659
|
+
static pull<T$1>(array: T$1[], key: number): [T$1[], T$1 | undefined];
|
|
660
660
|
/**
|
|
661
661
|
* Append values to an array (mutable)
|
|
662
662
|
*/
|
|
663
|
-
static push<T>(array: T[], ...values: T[]): T[];
|
|
663
|
+
static push<T$1>(array: T$1[], ...values: T$1[]): T$1[];
|
|
664
664
|
/**
|
|
665
665
|
* Pick one or more random elements from an array.
|
|
666
666
|
*/
|
|
667
|
-
static random<T>(array: T[], count?: number): T | T[] | undefined;
|
|
667
|
+
static random<T$1>(array: T$1[], count?: number): T$1 | T$1[] | undefined;
|
|
668
668
|
/**
|
|
669
669
|
* Returns array elements that do NOT satisfy the predicate
|
|
670
670
|
*/
|
|
671
|
-
static reject<T>(array: T[], predicate: (item: T) => boolean): T[];
|
|
671
|
+
static reject<T$1>(array: T$1[], predicate: (item: T$1) => boolean): T$1[];
|
|
672
672
|
/**
|
|
673
673
|
* Pick keys from an array of objects or an object
|
|
674
674
|
*/
|
|
675
|
-
static select<T extends object, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
|
|
675
|
+
static select<T$1 extends object, K$1 extends keyof T$1>(obj: T$1, keys: K$1[]): Pick<T$1, K$1>;
|
|
676
676
|
/**
|
|
677
677
|
* Returns the only element that passes a callback, throws if none or multiple
|
|
678
678
|
*/
|
|
679
|
-
static sole<T>(array: T[], predicate: (item: T) => boolean): T;
|
|
679
|
+
static sole<T$1>(array: T$1[], predicate: (item: T$1) => boolean): T$1;
|
|
680
680
|
/**
|
|
681
681
|
* Checks if at least one element satisfies the predicate
|
|
682
682
|
*/
|
|
683
|
-
static some<T>(array: T[], predicate: (item: T) => boolean): boolean;
|
|
683
|
+
static some<T$1>(array: T$1[], predicate: (item: T$1) => boolean): boolean;
|
|
684
684
|
/**
|
|
685
685
|
* Randomly shuffle an array and return a new array.
|
|
686
686
|
*/
|
|
687
|
-
static shuffle<T>(array: T[]): T[];
|
|
687
|
+
static shuffle<T$1>(array: T$1[]): T$1[];
|
|
688
688
|
/**
|
|
689
689
|
* Sort an array ascending using optional comparator.
|
|
690
690
|
*/
|
|
691
|
-
static sort<T>(array: T[], comparator?: (a: T, b: T) => number): T[];
|
|
691
|
+
static sort<T$1>(array: T$1[], comparator?: (a: T$1, b: T$1) => number): T$1[];
|
|
692
692
|
/**
|
|
693
693
|
* Sort an array descending using optional comparator.
|
|
694
694
|
*/
|
|
695
|
-
static sortDesc<T>(array: T[], comparator?: (a: T, b: T) => number): T[];
|
|
695
|
+
static sortDesc<T$1>(array: T$1[], comparator?: (a: T$1, b: T$1) => number): T$1[];
|
|
696
696
|
/**
|
|
697
697
|
* Recursively sort arrays inside an array.
|
|
698
698
|
*/
|
|
699
|
-
static sortRecursive<T>(array: T[]): T[];
|
|
699
|
+
static sortRecursive<T$1>(array: T$1[]): T$1[];
|
|
700
700
|
/**
|
|
701
701
|
* Recursively sort arrays inside an array descending.
|
|
702
702
|
*/
|
|
703
|
-
static sortRecursiveDesc<T>(array: T[]): T[];
|
|
703
|
+
static sortRecursiveDesc<T$1>(array: T$1[]): T$1[];
|
|
704
704
|
/**
|
|
705
705
|
* Retrieve a value using dot notation
|
|
706
706
|
* Throws if value is not a string
|
|
@@ -713,15 +713,15 @@ declare class Arr {
|
|
|
713
713
|
* @param count
|
|
714
714
|
* @returns
|
|
715
715
|
*/
|
|
716
|
-
static take<T>(array: T[], count: number): T[];
|
|
716
|
+
static take<T$1>(array: T$1[], count: number): T$1[];
|
|
717
717
|
/**
|
|
718
718
|
* Filter an array based on a predicate function or key-value match.
|
|
719
719
|
*/
|
|
720
|
-
static where<T>(array: T[], predicate: ((item: T) => boolean) | Partial<T>): T[];
|
|
720
|
+
static where<T$1>(array: T$1[], predicate: ((item: T$1) => boolean) | Partial<T$1>): T$1[];
|
|
721
721
|
/**
|
|
722
722
|
* Filter an array of objects, keeping elements where the given key is not null/undefined.
|
|
723
723
|
*/
|
|
724
|
-
static whereNotNull<T>(array: T[], key: keyof T): T[];
|
|
724
|
+
static whereNotNull<T$1>(array: T$1[], key: keyof T$1): T$1[];
|
|
725
725
|
/**
|
|
726
726
|
* If the given value is not an array and not null, wrap it in one.
|
|
727
727
|
*
|
|
@@ -730,11 +730,11 @@ declare class Arr {
|
|
|
730
730
|
* @param value
|
|
731
731
|
* @returns
|
|
732
732
|
*/
|
|
733
|
-
static wrap<T>(value: T | T[] | null | undefined): T[];
|
|
733
|
+
static wrap<T$1>(value: T$1 | T$1[] | null | undefined): T$1[];
|
|
734
734
|
/**
|
|
735
735
|
* Return the first element of an array, undefined if empty.
|
|
736
736
|
*/
|
|
737
|
-
static head<T>(array: T[]): T | undefined;
|
|
737
|
+
static head<T$1>(array: T$1[]): T$1 | undefined;
|
|
738
738
|
/**
|
|
739
739
|
* Splits an array into chunks of a specified size.
|
|
740
740
|
*
|
|
@@ -743,7 +743,7 @@ declare class Arr {
|
|
|
743
743
|
* @param size - Size of each chunk (default: 2)
|
|
744
744
|
* @returns An array of chunks (arrays)
|
|
745
745
|
*/
|
|
746
|
-
static chunk: <T>(arr: T[], size?: number) => T[][];
|
|
746
|
+
static chunk: <T$1>(arr: T$1[], size?: number) => T$1[][];
|
|
747
747
|
/**
|
|
748
748
|
* Alternates between two arrays, creating a zipped result.
|
|
749
749
|
*
|
|
@@ -751,7 +751,7 @@ declare class Arr {
|
|
|
751
751
|
* @param b
|
|
752
752
|
* @returns
|
|
753
753
|
*/
|
|
754
|
-
static alternate<T>(a: T[], b: T[]): T[];
|
|
754
|
+
static alternate<T$1>(a: T$1[], b: T$1[]): T$1[];
|
|
755
755
|
/**
|
|
756
756
|
* Combine arrays and sum their values element by element.
|
|
757
757
|
*
|
|
@@ -766,35 +766,35 @@ declare class Arr {
|
|
|
766
766
|
* @param arr
|
|
767
767
|
* @returns
|
|
768
768
|
*/
|
|
769
|
-
static find<T>(key: T, arr: T[]): T | null;
|
|
769
|
+
static find<T$1>(key: T$1, arr: T$1[]): T$1 | null;
|
|
770
770
|
/**
|
|
771
771
|
* Check if array is empty.
|
|
772
772
|
*
|
|
773
773
|
* @param arr
|
|
774
774
|
* @returns
|
|
775
775
|
*/
|
|
776
|
-
static isEmpty<T>(arr: T[]): boolean;
|
|
776
|
+
static isEmpty<T$1>(arr: T$1[]): boolean;
|
|
777
777
|
/**
|
|
778
778
|
* Check if array is empty.
|
|
779
779
|
*
|
|
780
780
|
* @param arr
|
|
781
781
|
* @returns
|
|
782
782
|
*/
|
|
783
|
-
static isNotEmpty<T>(arr: T[]): boolean;
|
|
783
|
+
static isNotEmpty<T$1>(arr: T$1[]): boolean;
|
|
784
784
|
/**
|
|
785
785
|
* Pop the element off the end of array.
|
|
786
786
|
*
|
|
787
787
|
* @param arr
|
|
788
788
|
* @returns
|
|
789
789
|
*/
|
|
790
|
-
static pop<T>(arr: T[]): T[];
|
|
790
|
+
static pop<T$1>(arr: T$1[]): T$1[];
|
|
791
791
|
/**
|
|
792
792
|
* Create a new array in reverse order.
|
|
793
793
|
*
|
|
794
794
|
* @param arr
|
|
795
795
|
* @returns
|
|
796
796
|
*/
|
|
797
|
-
static reverse<T>(arr: T[]): T[];
|
|
797
|
+
static reverse<T$1>(arr: T$1[]): T$1[];
|
|
798
798
|
/**
|
|
799
799
|
* Return the first element of an array that satisfies the predicate,
|
|
800
800
|
* or the first element if no predicate is provided, otherwise the defaultValue.
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/// <reference path="./app.globals.d.ts" />
|
|
2
|
-
import { t as __export } from "./chunk-Bop6jNiL.js";
|
|
3
2
|
import dayjs, { ConfigType, Dayjs, OpUnitType } from "dayjs";
|
|
4
3
|
import { DotFlatten, DotNestedKeys, DotNestedValue } from "@h3ravel/shared";
|
|
5
4
|
|
|
@@ -33,10 +32,10 @@ interface Function {
|
|
|
33
32
|
* Convert CamelCased Object keys to snake_case
|
|
34
33
|
*/
|
|
35
34
|
type KeysToSnakeCase<T$1> = { [K in keyof T$1 as CamelToSnakeCase<string & K>]: T$1[K] };
|
|
36
|
-
type TGeneric<V
|
|
37
|
-
type XGeneric<V
|
|
35
|
+
type TGeneric<V = any, K$1 extends string = string> = Record<K$1, V>;
|
|
36
|
+
type XGeneric<V = TGeneric, T$1 = any> = {
|
|
38
37
|
[key: string]: T$1;
|
|
39
|
-
} & V
|
|
38
|
+
} & V;
|
|
40
39
|
type DotPath<T$1> = T$1 extends object ? { [K in keyof T$1 & (string | number)]: T$1[K] extends object ? `${K}` | `${K}.${DotPath<T$1[K]>}` : `${K}` }[keyof T$1 & (string | number)] : never;
|
|
41
40
|
//#endregion
|
|
42
41
|
//#region src/Contracts/TypeCast.d.ts
|
|
@@ -261,7 +260,7 @@ declare namespace Obj_d_exports {
|
|
|
261
260
|
* @param obj - The nested object to flatten
|
|
262
261
|
* @returns A flattened object with dotted keys and inferred types
|
|
263
262
|
*/
|
|
264
|
-
declare const dot: <T extends Record<string, any>>(obj: T) => DotFlatten<T>;
|
|
263
|
+
declare const dot: <T$1 extends Record<string, any>>(obj: T$1) => DotFlatten<T$1>;
|
|
265
264
|
/**
|
|
266
265
|
* Extracts a subset of properties from an object.
|
|
267
266
|
*
|
|
@@ -271,7 +270,7 @@ declare const dot: <T extends Record<string, any>>(obj: T) => DotFlatten<T>;
|
|
|
271
270
|
* @param keys - Array of keys to extract
|
|
272
271
|
* @returns A new object with only the specified keys
|
|
273
272
|
*/
|
|
274
|
-
declare const extractProperties: <T extends object, K extends keyof T>(obj: T, keys?: readonly K[]) => Pick<T, K>;
|
|
273
|
+
declare const extractProperties: <T$1 extends object, K$1 extends keyof T$1>(obj: T$1, keys?: readonly K$1[]) => Pick<T$1, K$1>;
|
|
275
274
|
/**
|
|
276
275
|
* Safely retrieves a value from an object by key or nested keys.
|
|
277
276
|
*
|
|
@@ -280,7 +279,7 @@ declare const extractProperties: <T extends object, K extends keyof T>(obj: T, k
|
|
|
280
279
|
* @param item - The source object
|
|
281
280
|
* @returns The found value as a string or the key itself if not found
|
|
282
281
|
*/
|
|
283
|
-
declare const getValue: <T extends Record<string, any>>(key: string | [keyof T, keyof T[string]], item: T) => string;
|
|
282
|
+
declare const getValue: <T$1 extends Record<string, any>>(key: string | [keyof T$1, keyof T$1[string]], item: T$1) => string;
|
|
284
283
|
/**
|
|
285
284
|
* Maps over an object's entries and returns a new object
|
|
286
285
|
* with transformed keys and/or values.
|
|
@@ -291,7 +290,7 @@ declare const getValue: <T extends Record<string, any>>(key: string | [keyof T,
|
|
|
291
290
|
* @param callback - Function that receives [key, value] and returns [newKey, newValue]
|
|
292
291
|
* @returns A new object with transformed entries
|
|
293
292
|
*/
|
|
294
|
-
declare const modObj: <T extends object, R>(obj: T, callback: (_entry: [keyof T & string, T[keyof T]]) => [string, R]) => Record<string, R>;
|
|
293
|
+
declare const modObj: <T$1 extends object, R>(obj: T$1, callback: (_entry: [keyof T$1 & string, T$1[keyof T$1]]) => [string, R]) => Record<string, R>;
|
|
295
294
|
declare function safeDot<T$1 extends Record<string, any>>(_data: T$1): T$1;
|
|
296
295
|
declare function safeDot<T$1 extends Record<string, any>, K$1 extends DotNestedKeys<T$1>>(_data: T$1, _key?: K$1): DotNestedValue<T$1, K$1>;
|
|
297
296
|
/**
|
|
@@ -317,7 +316,7 @@ declare const setNested: (obj: Record<string, any>, key: string, value: any) =>
|
|
|
317
316
|
* @param separator - Separator for slugified keys (default: "_")
|
|
318
317
|
* @returns A new object with slugified keys
|
|
319
318
|
*/
|
|
320
|
-
declare const slugifyKeys: <T extends object>(obj: T, only?: string[], separator?: string) => KeysToSnakeCase<T>;
|
|
319
|
+
declare const slugifyKeys: <T$1 extends object>(obj: T$1, only?: string[], separator?: string) => KeysToSnakeCase<T$1>;
|
|
321
320
|
/**
|
|
322
321
|
* toCssClasses
|
|
323
322
|
*
|
|
@@ -348,13 +347,13 @@ declare function undot(obj: Record<string, any>): Record<string, any>;
|
|
|
348
347
|
*
|
|
349
348
|
* Get a value from an object using dot notation.
|
|
350
349
|
*/
|
|
351
|
-
declare function data_get<T$1 extends object, P
|
|
350
|
+
declare function data_get<T$1 extends object, P extends DotPath<T$1> | DotPath<T$1>[], D = undefined>(obj: T$1, path: P, defaultValue?: D): T$1 | any;
|
|
352
351
|
/**
|
|
353
352
|
* data_set
|
|
354
353
|
*
|
|
355
354
|
* Set a value in an object using dot notation. Mutates the object.
|
|
356
355
|
*/
|
|
357
|
-
declare function data_set<T$1 extends Record<string, any>, P
|
|
356
|
+
declare function data_set<T$1 extends Record<string, any>, P extends string | string[], V>(obj: T$1, path: P, value: V): asserts obj is T$1 & Record<P extends string ? P : P[0], V>;
|
|
358
357
|
/**
|
|
359
358
|
* data_fill
|
|
360
359
|
*
|
|
@@ -384,7 +383,7 @@ declare class Obj {
|
|
|
384
383
|
*
|
|
385
384
|
* Returns a new object (does not mutate original).
|
|
386
385
|
*/
|
|
387
|
-
static add<T extends Record<string, any>, K extends string, V>(obj: T, key: K, value: V): T & Record<K, V>;
|
|
386
|
+
static add<T$1 extends Record<string, any>, K$1 extends string, V>(obj: T$1, key: K$1, value: V): T$1 & Record<K$1, V>;
|
|
388
387
|
/**
|
|
389
388
|
* Deeply merges two or more objects.
|
|
390
389
|
* - Arrays are replaced (not concatenated)
|
|
@@ -394,26 +393,26 @@ declare class Obj {
|
|
|
394
393
|
* @param objects
|
|
395
394
|
* @returns
|
|
396
395
|
*/
|
|
397
|
-
static deepMerge<T extends Record<string, any>>(...objects: (Partial<T> | undefined | null)[]): T;
|
|
396
|
+
static deepMerge<T$1 extends Record<string, any>>(...objects: (Partial<T$1> | undefined | null)[]): T$1;
|
|
398
397
|
/**
|
|
399
398
|
* Split object into [keys, values]
|
|
400
399
|
*/
|
|
401
|
-
static divide<T extends Record<string, any>>(obj: T): [string[], any[]];
|
|
400
|
+
static divide<T$1 extends Record<string, any>>(obj: T$1): [string[], any[]];
|
|
402
401
|
/**
|
|
403
402
|
* Check if a key exists in the object.
|
|
404
403
|
*/
|
|
405
|
-
static exists<T extends Record<string, any>>(obj: T, key: string | number): boolean;
|
|
404
|
+
static exists<T$1 extends Record<string, any>>(obj: T$1, key: string | number): boolean;
|
|
406
405
|
/**
|
|
407
406
|
* Get a value from an object using dot notation.
|
|
408
407
|
*
|
|
409
408
|
* Example:
|
|
410
409
|
* Obj.get({a:{b:1}}, 'a.b') -> 1
|
|
411
410
|
*/
|
|
412
|
-
static get<T extends object, P extends DotPath<T>, D = undefined>(obj: T, path: P, defaultValue?: D): any;
|
|
411
|
+
static get<T$1 extends object, P extends DotPath<T$1>, D = undefined>(obj: T$1, path: P, defaultValue?: D): any;
|
|
413
412
|
/**
|
|
414
413
|
* Check if the object has a given key or keys (dot notation supported).
|
|
415
414
|
*/
|
|
416
|
-
static has<T extends object, P extends DotPath<T>>(obj: T, keys: P | P[]): boolean;
|
|
415
|
+
static has<T$1 extends object, P extends DotPath<T$1>>(obj: T$1, keys: P | P[]): boolean;
|
|
417
416
|
/**
|
|
418
417
|
* Check if an object is associative (has at least one non-numeric key).
|
|
419
418
|
*/
|
|
@@ -421,7 +420,7 @@ declare class Obj {
|
|
|
421
420
|
/**
|
|
422
421
|
* Add a prefix to all keys of the object.
|
|
423
422
|
*/
|
|
424
|
-
static prependKeysWith<T extends Record<string, any>>(obj: T, prefix: string): Record<string, any>;
|
|
423
|
+
static prependKeysWith<T$1 extends Record<string, any>>(obj: T$1, prefix: string): Record<string, any>;
|
|
425
424
|
/**
|
|
426
425
|
* Convert an object into a URL query string.
|
|
427
426
|
*
|
|
@@ -496,7 +495,7 @@ declare class Arr {
|
|
|
496
495
|
/**
|
|
497
496
|
* Checks if all elements satisfy the predicate
|
|
498
497
|
*/
|
|
499
|
-
static every<T>(array: T[], predicate: (item: T) => boolean): boolean;
|
|
498
|
+
static every<T$1>(array: T$1[], predicate: (item: T$1) => boolean): boolean;
|
|
500
499
|
/**
|
|
501
500
|
* Remove items by keys/indices from an array or properties from an object.
|
|
502
501
|
*
|
|
@@ -551,11 +550,11 @@ declare class Arr {
|
|
|
551
550
|
* Converts various input types into a plain array
|
|
552
551
|
* Supports Arrays, Objects, Iterables, Map, WeakMap, and custom toArray/toJSON/jsonSerialize methods
|
|
553
552
|
*/
|
|
554
|
-
static from<T>(value: T | Iterable<T> | Arrayable | Jsonable | JsonSerializable | null | undefined): any[];
|
|
553
|
+
static from<T$1>(value: T$1 | Iterable<T$1> | Arrayable | Jsonable | JsonSerializable | null | undefined): any[];
|
|
555
554
|
/**
|
|
556
555
|
* Checks if an object has all the specified keys
|
|
557
556
|
*/
|
|
558
|
-
static hasAll<T extends object>(obj: T, keys: (keyof T)[]): boolean;
|
|
557
|
+
static hasAll<T$1 extends object>(obj: T$1, keys: (keyof T$1)[]): boolean;
|
|
559
558
|
/**
|
|
560
559
|
* For arrays: check if the array contains any of the provided values.
|
|
561
560
|
*
|
|
@@ -592,7 +591,7 @@ declare class Arr {
|
|
|
592
591
|
* Example:
|
|
593
592
|
* Arr.keyBy([{id:1},{id:2}], 'id') -> { '1': {id:1}, '2': {id:2} }
|
|
594
593
|
*/
|
|
595
|
-
static keyBy<T>(array: T[], key: keyof T | ((item: T) => string | number)): Record<string, T>;
|
|
594
|
+
static keyBy<T$1>(array: T$1[], key: keyof T$1 | ((item: T$1) => string | number)): Record<string, T$1>;
|
|
596
595
|
/**
|
|
597
596
|
* Get the last element of an array, optionally matching a predicate,
|
|
598
597
|
* or the last element if no predicate is provided, otherwise the defaultValue.
|
|
@@ -607,15 +606,15 @@ declare class Arr {
|
|
|
607
606
|
*
|
|
608
607
|
* @returns
|
|
609
608
|
*/
|
|
610
|
-
static last<T, P extends ((item: T) => boolean) | true>(array: T[], predicate?: P | T, defaultValue?: T): P extends true ? [T, T[]] : T | undefined;
|
|
609
|
+
static last<T$1, P extends ((item: T$1) => boolean) | true>(array: T$1[], predicate?: P | T$1, defaultValue?: T$1): P extends true ? [T$1, T$1[]] : T$1 | undefined;
|
|
611
610
|
/**
|
|
612
611
|
* Transform each element in an array using a callback.
|
|
613
612
|
*/
|
|
614
|
-
static map<T, U>(array: T[], callback: (item: T, index: number) => U): U[];
|
|
613
|
+
static map<T$1, U$1>(array: T$1[], callback: (item: T$1, index: number) => U$1): U$1[];
|
|
615
614
|
/**
|
|
616
615
|
* Maps a multi-dimensional array with a spread callback
|
|
617
616
|
*/
|
|
618
|
-
static mapSpread<T extends any[], U>(array: T[], callback: (...items: T) => U): U[];
|
|
617
|
+
static mapSpread<T$1 extends any[], U$1>(array: T$1[], callback: (...items: T$1) => U$1): U$1[];
|
|
619
618
|
/**
|
|
620
619
|
* Map each element to a key-value pair.
|
|
621
620
|
*
|
|
@@ -623,25 +622,25 @@ declare class Arr {
|
|
|
623
622
|
* Arr.mapWithKeys([{id:1, name:'A'}], x => [x.id, x.name])
|
|
624
623
|
* -> { '1': 'A' }
|
|
625
624
|
*/
|
|
626
|
-
static mapWithKeys<T, K extends string | number, V>(array: T[], callback: (item: T, index: number) => [K, V]): Record<string, V>;
|
|
625
|
+
static mapWithKeys<T$1, K$1 extends string | number, V>(array: T$1[], callback: (item: T$1, index: number) => [K$1, V]): Record<string, V>;
|
|
627
626
|
/**
|
|
628
627
|
* Return only elements at the given indices.
|
|
629
628
|
*
|
|
630
629
|
* Example:
|
|
631
630
|
* Arr.only([10,20,30], [0,2]) -> [10,30]
|
|
632
631
|
*/
|
|
633
|
-
static only<T>(array: T[], keys: number | number[]): T[];
|
|
632
|
+
static only<T$1>(array: T$1[], keys: number | number[]): T$1[];
|
|
634
633
|
/**
|
|
635
634
|
* Split an array into two arrays based on a predicate
|
|
636
635
|
*/
|
|
637
|
-
static partition<T>(array: T[], predicate: (item: T) => boolean): [T[], T[]];
|
|
636
|
+
static partition<T$1>(array: T$1[], predicate: (item: T$1) => boolean): [T$1[], T$1[]];
|
|
638
637
|
/**
|
|
639
638
|
* Extract a property from each element in an array of objects.
|
|
640
639
|
*
|
|
641
640
|
* Example:
|
|
642
641
|
* Arr.pluck([{name:'A'},{name:'B'}], 'name') -> ['A','B']
|
|
643
642
|
*/
|
|
644
|
-
static pluck<T, K extends keyof T>(array: T[], key: K): T[K][];
|
|
643
|
+
static pluck<T$1, K$1 extends keyof T$1>(array: T$1[], key: K$1): T$1[K$1][];
|
|
645
644
|
/**
|
|
646
645
|
* Add elements to the beginning of an array and return a new array.
|
|
647
646
|
*
|
|
@@ -649,56 +648,56 @@ declare class Arr {
|
|
|
649
648
|
* @param value
|
|
650
649
|
* @returns
|
|
651
650
|
*/
|
|
652
|
-
static prepend<T>(array: T[], ...value: T[]): T[];
|
|
651
|
+
static prepend<T$1>(array: T$1[], ...value: T$1[]): T$1[];
|
|
653
652
|
/**
|
|
654
653
|
* Remove a value from an array by index and return it.
|
|
655
654
|
* Returns a tuple: [newArray, removedValue]
|
|
656
655
|
*/
|
|
657
|
-
static pull<T>(array: T[], key: number): [T[], T | undefined];
|
|
656
|
+
static pull<T$1>(array: T$1[], key: number): [T$1[], T$1 | undefined];
|
|
658
657
|
/**
|
|
659
658
|
* Append values to an array (mutable)
|
|
660
659
|
*/
|
|
661
|
-
static push<T>(array: T[], ...values: T[]): T[];
|
|
660
|
+
static push<T$1>(array: T$1[], ...values: T$1[]): T$1[];
|
|
662
661
|
/**
|
|
663
662
|
* Pick one or more random elements from an array.
|
|
664
663
|
*/
|
|
665
|
-
static random<T>(array: T[], count?: number): T | T[] | undefined;
|
|
664
|
+
static random<T$1>(array: T$1[], count?: number): T$1 | T$1[] | undefined;
|
|
666
665
|
/**
|
|
667
666
|
* Returns array elements that do NOT satisfy the predicate
|
|
668
667
|
*/
|
|
669
|
-
static reject<T>(array: T[], predicate: (item: T) => boolean): T[];
|
|
668
|
+
static reject<T$1>(array: T$1[], predicate: (item: T$1) => boolean): T$1[];
|
|
670
669
|
/**
|
|
671
670
|
* Pick keys from an array of objects or an object
|
|
672
671
|
*/
|
|
673
|
-
static select<T extends object, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
|
|
672
|
+
static select<T$1 extends object, K$1 extends keyof T$1>(obj: T$1, keys: K$1[]): Pick<T$1, K$1>;
|
|
674
673
|
/**
|
|
675
674
|
* Returns the only element that passes a callback, throws if none or multiple
|
|
676
675
|
*/
|
|
677
|
-
static sole<T>(array: T[], predicate: (item: T) => boolean): T;
|
|
676
|
+
static sole<T$1>(array: T$1[], predicate: (item: T$1) => boolean): T$1;
|
|
678
677
|
/**
|
|
679
678
|
* Checks if at least one element satisfies the predicate
|
|
680
679
|
*/
|
|
681
|
-
static some<T>(array: T[], predicate: (item: T) => boolean): boolean;
|
|
680
|
+
static some<T$1>(array: T$1[], predicate: (item: T$1) => boolean): boolean;
|
|
682
681
|
/**
|
|
683
682
|
* Randomly shuffle an array and return a new array.
|
|
684
683
|
*/
|
|
685
|
-
static shuffle<T>(array: T[]): T[];
|
|
684
|
+
static shuffle<T$1>(array: T$1[]): T$1[];
|
|
686
685
|
/**
|
|
687
686
|
* Sort an array ascending using optional comparator.
|
|
688
687
|
*/
|
|
689
|
-
static sort<T>(array: T[], comparator?: (a: T, b: T) => number): T[];
|
|
688
|
+
static sort<T$1>(array: T$1[], comparator?: (a: T$1, b: T$1) => number): T$1[];
|
|
690
689
|
/**
|
|
691
690
|
* Sort an array descending using optional comparator.
|
|
692
691
|
*/
|
|
693
|
-
static sortDesc<T>(array: T[], comparator?: (a: T, b: T) => number): T[];
|
|
692
|
+
static sortDesc<T$1>(array: T$1[], comparator?: (a: T$1, b: T$1) => number): T$1[];
|
|
694
693
|
/**
|
|
695
694
|
* Recursively sort arrays inside an array.
|
|
696
695
|
*/
|
|
697
|
-
static sortRecursive<T>(array: T[]): T[];
|
|
696
|
+
static sortRecursive<T$1>(array: T$1[]): T$1[];
|
|
698
697
|
/**
|
|
699
698
|
* Recursively sort arrays inside an array descending.
|
|
700
699
|
*/
|
|
701
|
-
static sortRecursiveDesc<T>(array: T[]): T[];
|
|
700
|
+
static sortRecursiveDesc<T$1>(array: T$1[]): T$1[];
|
|
702
701
|
/**
|
|
703
702
|
* Retrieve a value using dot notation
|
|
704
703
|
* Throws if value is not a string
|
|
@@ -711,15 +710,15 @@ declare class Arr {
|
|
|
711
710
|
* @param count
|
|
712
711
|
* @returns
|
|
713
712
|
*/
|
|
714
|
-
static take<T>(array: T[], count: number): T[];
|
|
713
|
+
static take<T$1>(array: T$1[], count: number): T$1[];
|
|
715
714
|
/**
|
|
716
715
|
* Filter an array based on a predicate function or key-value match.
|
|
717
716
|
*/
|
|
718
|
-
static where<T>(array: T[], predicate: ((item: T) => boolean) | Partial<T>): T[];
|
|
717
|
+
static where<T$1>(array: T$1[], predicate: ((item: T$1) => boolean) | Partial<T$1>): T$1[];
|
|
719
718
|
/**
|
|
720
719
|
* Filter an array of objects, keeping elements where the given key is not null/undefined.
|
|
721
720
|
*/
|
|
722
|
-
static whereNotNull<T>(array: T[], key: keyof T): T[];
|
|
721
|
+
static whereNotNull<T$1>(array: T$1[], key: keyof T$1): T$1[];
|
|
723
722
|
/**
|
|
724
723
|
* If the given value is not an array and not null, wrap it in one.
|
|
725
724
|
*
|
|
@@ -728,11 +727,11 @@ declare class Arr {
|
|
|
728
727
|
* @param value
|
|
729
728
|
* @returns
|
|
730
729
|
*/
|
|
731
|
-
static wrap<T>(value: T | T[] | null | undefined): T[];
|
|
730
|
+
static wrap<T$1>(value: T$1 | T$1[] | null | undefined): T$1[];
|
|
732
731
|
/**
|
|
733
732
|
* Return the first element of an array, undefined if empty.
|
|
734
733
|
*/
|
|
735
|
-
static head<T>(array: T[]): T | undefined;
|
|
734
|
+
static head<T$1>(array: T$1[]): T$1 | undefined;
|
|
736
735
|
/**
|
|
737
736
|
* Splits an array into chunks of a specified size.
|
|
738
737
|
*
|
|
@@ -741,7 +740,7 @@ declare class Arr {
|
|
|
741
740
|
* @param size - Size of each chunk (default: 2)
|
|
742
741
|
* @returns An array of chunks (arrays)
|
|
743
742
|
*/
|
|
744
|
-
static chunk: <T>(arr: T[], size?: number) => T[][];
|
|
743
|
+
static chunk: <T$1>(arr: T$1[], size?: number) => T$1[][];
|
|
745
744
|
/**
|
|
746
745
|
* Alternates between two arrays, creating a zipped result.
|
|
747
746
|
*
|
|
@@ -749,7 +748,7 @@ declare class Arr {
|
|
|
749
748
|
* @param b
|
|
750
749
|
* @returns
|
|
751
750
|
*/
|
|
752
|
-
static alternate<T>(a: T[], b: T[]): T[];
|
|
751
|
+
static alternate<T$1>(a: T$1[], b: T$1[]): T$1[];
|
|
753
752
|
/**
|
|
754
753
|
* Combine arrays and sum their values element by element.
|
|
755
754
|
*
|
|
@@ -764,35 +763,35 @@ declare class Arr {
|
|
|
764
763
|
* @param arr
|
|
765
764
|
* @returns
|
|
766
765
|
*/
|
|
767
|
-
static find<T>(key: T, arr: T[]): T | null;
|
|
766
|
+
static find<T$1>(key: T$1, arr: T$1[]): T$1 | null;
|
|
768
767
|
/**
|
|
769
768
|
* Check if array is empty.
|
|
770
769
|
*
|
|
771
770
|
* @param arr
|
|
772
771
|
* @returns
|
|
773
772
|
*/
|
|
774
|
-
static isEmpty<T>(arr: T[]): boolean;
|
|
773
|
+
static isEmpty<T$1>(arr: T$1[]): boolean;
|
|
775
774
|
/**
|
|
776
775
|
* Check if array is empty.
|
|
777
776
|
*
|
|
778
777
|
* @param arr
|
|
779
778
|
* @returns
|
|
780
779
|
*/
|
|
781
|
-
static isNotEmpty<T>(arr: T[]): boolean;
|
|
780
|
+
static isNotEmpty<T$1>(arr: T$1[]): boolean;
|
|
782
781
|
/**
|
|
783
782
|
* Pop the element off the end of array.
|
|
784
783
|
*
|
|
785
784
|
* @param arr
|
|
786
785
|
* @returns
|
|
787
786
|
*/
|
|
788
|
-
static pop<T>(arr: T[]): T[];
|
|
787
|
+
static pop<T$1>(arr: T$1[]): T$1[];
|
|
789
788
|
/**
|
|
790
789
|
* Create a new array in reverse order.
|
|
791
790
|
*
|
|
792
791
|
* @param arr
|
|
793
792
|
* @returns
|
|
794
793
|
*/
|
|
795
|
-
static reverse<T>(arr: T[]): T[];
|
|
794
|
+
static reverse<T$1>(arr: T$1[]): T$1[];
|
|
796
795
|
/**
|
|
797
796
|
* Return the first element of an array that satisfies the predicate,
|
|
798
797
|
* or the first element if no predicate is provided, otherwise the defaultValue.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@h3ravel/support",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.2",
|
|
4
4
|
"description": "Shared helpers, facades and utilities for H3ravel.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -38,14 +38,13 @@
|
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/luxon": "^3.7.1",
|
|
40
40
|
"typescript": "^5.4.0",
|
|
41
|
-
"@h3ravel/shared": "^0.27.
|
|
41
|
+
"@h3ravel/shared": "^0.27.2"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"dayjs": "^1.11.18",
|
|
45
45
|
"luxon": "^3.7.2"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
|
-
"barrel": "barrelsby --directory src --delete --singleQuotes",
|
|
49
48
|
"build": "tsdown --config-loader unconfig",
|
|
50
49
|
"dev": "tsx watch src/index.ts",
|
|
51
50
|
"start": "node dist/index.js",
|
|
File without changes
|