@kato-lee/utilities 1.0.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 ejdao
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # KatoLee Ng Utilities
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.3.1.
4
+
5
+ ## Peer dependencies
6
+
7
+ `@angular/common@latest`
8
+
9
+ `@angular/core@latest`
package/_either.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ interface EitherResolver<L, R, V> {
2
+ left?: (_: L) => V | undefined;
3
+ right?: (_: R) => V | undefined;
4
+ }
5
+ export declare class Either<L, R> {
6
+ private value;
7
+ private constructor();
8
+ fold<V>(resolver: EitherResolver<L, R, V>): V | undefined;
9
+ static left<L>(value: any, isErr?: boolean): Either<L, any>;
10
+ static right<R>(value: R): Either<any, R>;
11
+ }
12
+ export {};
@@ -0,0 +1,6 @@
1
+ export interface TakGrouped<T> {
2
+ key: any;
3
+ name: any;
4
+ rows: T[];
5
+ }
6
+ export declare function groupByKey<T>(data: Array<T>, columnWithKey: string, columnWithName?: string): TakGrouped<T>[];
package/_lodash.d.ts ADDED
@@ -0,0 +1,71 @@
1
+ type List<T> = ArrayLike<T>;
2
+ type Many<T> = T | ReadonlyArray<T>;
3
+ type ListIterator<T, TResult> = (value: T, index: number, collection: List<T>) => TResult;
4
+ type PartialShallow<T> = {
5
+ [P in keyof T]?: T[P] extends object ? object : T[P];
6
+ };
7
+ type PropertyName = string | number | symbol;
8
+ type IterateeShorthand<T> = PropertyName | [PropertyName, any] | PartialShallow<T>;
9
+ type ListIteratee<T> = ListIterator<T, unknown> | IterateeShorthand<T>;
10
+ /**
11
+ * This method is like _.clone except that it recursively clones value.
12
+ *
13
+ * @param value The value to recursively clone.
14
+ * @return Returns the deep cloned value.
15
+ */
16
+ export declare function cloneDeep<T>(value: T): T;
17
+ /**
18
+ * Creates a shallow clone of value.
19
+ *
20
+ * @param value The value to clone.
21
+ * @return Returns the cloned value.
22
+ */
23
+ export declare function clone<T>(value: T): T | Array<T> | Date;
24
+ /**
25
+ * Creates an array of elements, sorted in ascending / descending order by
26
+ * the results of running each element in a collection through each iteratee.
27
+ * This method performs a stable sort, that is, it preserves the original
28
+ * sort order of equal elements. The iteratees are invoked with one argument:
29
+ * (value).
30
+ *
31
+ * @category Collection
32
+ * @param collection The collection to iterate over.
33
+ * @param [iteratees=[_.identity]] The iteratees to sort by.
34
+ * @param [orders] The sort orders of `iteratees`.
35
+ * @param- {Object} [guard] Enables use as an iteratee for functions like `_.reduce`.
36
+ * @returns Returns the new sorted array.
37
+ * @example
38
+ *
39
+ * const users = [
40
+ * { 'user': 'fred', 'age': 48 },
41
+ * { 'user': 'barney', 'age': 34 },
42
+ * { 'user': 'fred', 'age': 42 },
43
+ * { 'user': 'barney', 'age': 36 }
44
+ * ];
45
+ *
46
+ * // sort by `user` in ascending order and by `age` in descending order
47
+ * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);
48
+ * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
49
+ */
50
+ export declare function orderBy<T>(collection: ArrayLike<T> | null | undefined, iteratees?: Many<ListIteratee<T>>, orders?: Many<boolean | 'asc' | 'desc'>): T[];
51
+ /**
52
+ * Return a clone without duplicated values.
53
+ *
54
+ * @param collection
55
+ * @param key
56
+ * @example
57
+ *
58
+ * const data = [1,2,2,3,4,4];
59
+ * const result = uniq(data); // [1,2,3,4]
60
+ *
61
+ * const dataArr = [
62
+ * {nombre : 'Enrique', lastName : 'Cuello'},
63
+ * {nombre : 'Maria', lastName : 'Aponte'},
64
+ * {nombre : 'Enrique', lastName : 'De Armas'},
65
+ * ];
66
+ *
67
+ * const resultArr = uniq(dataArr, 'nombre');
68
+ * // [{nombre : 'Enrique', lastName : 'Cuello'},{nombre : 'Maria', lastName : 'Aponte'}]
69
+ */
70
+ export declare function uniq<T>(collection: Array<T>, key?: string): T[];
71
+ export {};
package/_path.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare const extname: (path: string) => any;
@@ -0,0 +1,49 @@
1
+ const isDefined = (object) => typeof object !== 'undefined' && object !== null;
2
+ const isLeft = (value) => isDefined(value.left);
3
+ const isRight = (value) => isDefined(value.right);
4
+ const makeLeft = (value) => ({ left: value });
5
+ const makeRight = (value) => ({ right: value });
6
+ const unwrapEither = (value) => {
7
+ const { left, right } = value;
8
+ const errorMsn_1 = 'Received both left and right values at runtime';
9
+ const errorMsn_2 = 'Received no left or right values at runtime when opening Either';
10
+ if (isDefined(right) && isDefined(left))
11
+ throw new Error(errorMsn_1);
12
+ if (isDefined(left))
13
+ return left;
14
+ if (isDefined(right))
15
+ return right;
16
+ throw new Error(errorMsn_2);
17
+ };
18
+ const getErrorMessage = (error) => {
19
+ if (error) {
20
+ if (error.error)
21
+ return error.error.message || error.error.status;
22
+ else
23
+ return error.message || error;
24
+ }
25
+ else
26
+ return error;
27
+ };
28
+ export class Either {
29
+ constructor(value) {
30
+ this.value = value;
31
+ }
32
+ fold(resolver) {
33
+ if (isRight(this.value) && resolver.right)
34
+ return resolver.right(unwrapEither(this.value));
35
+ if (isLeft(this.value) && resolver.left)
36
+ return resolver.left(unwrapEither(this.value));
37
+ return undefined;
38
+ }
39
+ static left(value, isErr = true) {
40
+ if (typeof value === 'object' && isErr)
41
+ return new Either(makeLeft(getErrorMessage(value)));
42
+ else
43
+ return new Either(makeLeft(value));
44
+ }
45
+ static right(value) {
46
+ return new Either(makeRight(value));
47
+ }
48
+ }
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2VpdGhlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYnJhcmllcy91dGlsaXRpZXMvX2VpdGhlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQVcsRUFBVyxFQUFFLENBQUMsT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFFN0YsTUFBTSxNQUFNLEdBQUcsQ0FBTyxLQUF3QixFQUFvQixFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMzRixNQUFNLE9BQU8sR0FBRyxDQUFPLEtBQXdCLEVBQXFCLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRTlGLE1BQU0sUUFBUSxHQUFHLENBQUksS0FBUSxFQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDN0QsTUFBTSxTQUFTLEdBQUcsQ0FBSSxLQUFRLEVBQVksRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUVoRSxNQUFNLFlBQVksR0FBc0IsQ0FBTyxLQUF3QixFQUFFLEVBQUU7SUFDekUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFOUIsTUFBTSxVQUFVLEdBQUcsZ0RBQWdELENBQUM7SUFDcEUsTUFBTSxVQUFVLEdBQUcsaUVBQWlFLENBQUM7SUFFckYsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckUsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQUUsT0FBTyxJQUFzQixDQUFDO0lBQ25ELElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU8sS0FBdUIsQ0FBQztJQUVyRCxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBVSxFQUFPLEVBQUU7SUFDMUMsSUFBSSxLQUFLLEVBQUU7UUFDVCxJQUFJLEtBQUssQ0FBQyxLQUFLO1lBQUUsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQzs7WUFDN0QsT0FBTyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQztLQUNwQzs7UUFBTSxPQUFPLEtBQUssQ0FBQztBQUN0QixDQUFDLENBQUM7QUFFRixNQUFNLE9BQU8sTUFBTTtJQUNqQixZQUE0QixLQUF3QjtRQUF4QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtJQUFHLENBQUM7SUFFakQsSUFBSSxDQUFJLFFBQWlDO1FBQzlDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSztZQUFFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDM0YsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJO1lBQUUsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4RixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0sTUFBTSxDQUFDLElBQUksQ0FBSSxLQUFVLEVBQUUsS0FBSyxHQUFHLElBQUk7UUFDNUMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSztZQUFFLE9BQU8sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7O1lBQzFGLE9BQU8sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFJLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUksS0FBUTtRQUM3QixPQUFPLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBSSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbInR5cGUgTGVmdDxMPiA9IHsgbGVmdDogTDsgcmlnaHQ/OiBuZXZlciB9O1xyXG50eXBlIFJpZ2h0PFI+ID0geyBsZWZ0PzogbmV2ZXI7IHJpZ2h0OiBSIH07XHJcbnR5cGUgVW53cmFwRWl0aGVyVmFsdWUgPSA8TCwgUj4odmFsdWU6IEVpdGhlclZhbHVlPEwsIFI+KSA9PiBOb25OdWxsYWJsZTxMIHwgUj47XHJcbnR5cGUgRWl0aGVyVmFsdWU8TCwgUj4gPSBOb25OdWxsYWJsZTxMZWZ0PEw+IHwgUmlnaHQ8Uj4+O1xyXG5cclxuaW50ZXJmYWNlIEVpdGhlclJlc29sdmVyPEwsIFIsIFY+IHtcclxuICBsZWZ0PzogKF86IEwpID0+IFYgfCB1bmRlZmluZWQ7XHJcbiAgcmlnaHQ/OiAoXzogUikgPT4gViB8IHVuZGVmaW5lZDtcclxufVxyXG5cclxuY29uc3QgaXNEZWZpbmVkID0gKG9iamVjdDogYW55KTogYm9vbGVhbiA9PiB0eXBlb2Ygb2JqZWN0ICE9PSAndW5kZWZpbmVkJyAmJiBvYmplY3QgIT09IG51bGw7XHJcblxyXG5jb25zdCBpc0xlZnQgPSA8TCwgUj4odmFsdWU6IEVpdGhlclZhbHVlPEwsIFI+KTogdmFsdWUgaXMgTGVmdDxMPiA9PiBpc0RlZmluZWQodmFsdWUubGVmdCk7XHJcbmNvbnN0IGlzUmlnaHQgPSA8TCwgUj4odmFsdWU6IEVpdGhlclZhbHVlPEwsIFI+KTogdmFsdWUgaXMgUmlnaHQ8Uj4gPT4gaXNEZWZpbmVkKHZhbHVlLnJpZ2h0KTtcclxuXHJcbmNvbnN0IG1ha2VMZWZ0ID0gPEw+KHZhbHVlOiBMKTogTGVmdDxMPiA9PiAoeyBsZWZ0OiB2YWx1ZSB9KTtcclxuY29uc3QgbWFrZVJpZ2h0ID0gPFI+KHZhbHVlOiBSKTogUmlnaHQ8Uj4gPT4gKHsgcmlnaHQ6IHZhbHVlIH0pO1xyXG5cclxuY29uc3QgdW53cmFwRWl0aGVyOiBVbndyYXBFaXRoZXJWYWx1ZSA9IDxMLCBSPih2YWx1ZTogRWl0aGVyVmFsdWU8TCwgUj4pID0+IHtcclxuICBjb25zdCB7IGxlZnQsIHJpZ2h0IH0gPSB2YWx1ZTtcclxuXHJcbiAgY29uc3QgZXJyb3JNc25fMSA9ICdSZWNlaXZlZCBib3RoIGxlZnQgYW5kIHJpZ2h0IHZhbHVlcyBhdCBydW50aW1lJztcclxuICBjb25zdCBlcnJvck1zbl8yID0gJ1JlY2VpdmVkIG5vIGxlZnQgb3IgcmlnaHQgdmFsdWVzIGF0IHJ1bnRpbWUgd2hlbiBvcGVuaW5nIEVpdGhlcic7XHJcblxyXG4gIGlmIChpc0RlZmluZWQocmlnaHQpICYmIGlzRGVmaW5lZChsZWZ0KSkgdGhyb3cgbmV3IEVycm9yKGVycm9yTXNuXzEpO1xyXG4gIGlmIChpc0RlZmluZWQobGVmdCkpIHJldHVybiBsZWZ0IGFzIE5vbk51bGxhYmxlPEw+O1xyXG4gIGlmIChpc0RlZmluZWQocmlnaHQpKSByZXR1cm4gcmlnaHQgYXMgTm9uTnVsbGFibGU8Uj47XHJcblxyXG4gIHRocm93IG5ldyBFcnJvcihlcnJvck1zbl8yKTtcclxufTtcclxuXHJcbmNvbnN0IGdldEVycm9yTWVzc2FnZSA9IChlcnJvcjogYW55KTogYW55ID0+IHtcclxuICBpZiAoZXJyb3IpIHtcclxuICAgIGlmIChlcnJvci5lcnJvcikgcmV0dXJuIGVycm9yLmVycm9yLm1lc3NhZ2UgfHwgZXJyb3IuZXJyb3Iuc3RhdHVzO1xyXG4gICAgZWxzZSByZXR1cm4gZXJyb3IubWVzc2FnZSB8fCBlcnJvcjtcclxuICB9IGVsc2UgcmV0dXJuIGVycm9yO1xyXG59O1xyXG5cclxuZXhwb3J0IGNsYXNzIEVpdGhlcjxMLCBSPiB7XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcml2YXRlIHZhbHVlOiBFaXRoZXJWYWx1ZTxMLCBSPikge31cclxuXHJcbiAgcHVibGljIGZvbGQ8Vj4ocmVzb2x2ZXI6IEVpdGhlclJlc29sdmVyPEwsIFIsIFY+KTogViB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoaXNSaWdodCh0aGlzLnZhbHVlKSAmJiByZXNvbHZlci5yaWdodCkgcmV0dXJuIHJlc29sdmVyLnJpZ2h0KHVud3JhcEVpdGhlcih0aGlzLnZhbHVlKSk7XHJcbiAgICBpZiAoaXNMZWZ0KHRoaXMudmFsdWUpICYmIHJlc29sdmVyLmxlZnQpIHJldHVybiByZXNvbHZlci5sZWZ0KHVud3JhcEVpdGhlcih0aGlzLnZhbHVlKSk7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBsZWZ0PEw+KHZhbHVlOiBhbnksIGlzRXJyID0gdHJ1ZSk6IEVpdGhlcjxMLCBhbnk+IHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIGlzRXJyKSByZXR1cm4gbmV3IEVpdGhlcihtYWtlTGVmdDxMPihnZXRFcnJvck1lc3NhZ2UodmFsdWUpKSk7XHJcbiAgICBlbHNlIHJldHVybiBuZXcgRWl0aGVyKG1ha2VMZWZ0PEw+KHZhbHVlKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHJpZ2h0PFI+KHZhbHVlOiBSKTogRWl0aGVyPGFueSwgUj4ge1xyXG4gICAgcmV0dXJuIG5ldyBFaXRoZXIobWFrZVJpZ2h0PFI+KHZhbHVlKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ export function groupByKey(data, columnWithKey, columnWithName) {
2
+ const newArray = [];
3
+ const dataFrezzed = Object.freeze(data);
4
+ dataFrezzed.forEach(el => {
5
+ const tempArray = newArray.filter(j => j.key === el[columnWithKey]);
6
+ if (tempArray.length > 0) {
7
+ newArray[newArray.indexOf(tempArray[0])].rows.push(el);
8
+ }
9
+ else {
10
+ newArray.push({
11
+ key: el[columnWithKey],
12
+ name: el[columnWithName || columnWithKey],
13
+ rows: [el],
14
+ });
15
+ }
16
+ });
17
+ return newArray;
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2dyb3VwLWJ5LWtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYnJhcmllcy91dGlsaXRpZXMvX2dyb3VwLWJ5LWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLFVBQVUsVUFBVSxDQUFJLElBQWMsRUFBRSxhQUFxQixFQUFFLGNBQXVCO0lBQzFGLE1BQU0sUUFBUSxHQUFvQixFQUFFLENBQUM7SUFFckMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV4QyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFNLEVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQzdFLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDeEIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3hEO2FBQU07WUFDTCxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUNaLEdBQUcsRUFBRyxFQUFVLENBQUMsYUFBYSxDQUFXO2dCQUN6QyxJQUFJLEVBQUcsRUFBVSxDQUFDLGNBQWMsSUFBSSxhQUFhLENBQVc7Z0JBQzVELElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQzthQUNYLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUYWtHcm91cGVkPFQ+IHtcclxuICBrZXk6IGFueTtcclxuICBuYW1lOiBhbnk7XHJcbiAgcm93czogVFtdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ3JvdXBCeUtleTxUPihkYXRhOiBBcnJheTxUPiwgY29sdW1uV2l0aEtleTogc3RyaW5nLCBjb2x1bW5XaXRoTmFtZT86IHN0cmluZykge1xyXG4gIGNvbnN0IG5ld0FycmF5OiBUYWtHcm91cGVkPFQ+W10gPSBbXTtcclxuXHJcbiAgY29uc3QgZGF0YUZyZXp6ZWQgPSBPYmplY3QuZnJlZXplKGRhdGEpO1xyXG5cclxuICBkYXRhRnJlenplZC5mb3JFYWNoKGVsID0+IHtcclxuICAgIGNvbnN0IHRlbXBBcnJheSA9IG5ld0FycmF5LmZpbHRlcihqID0+IGoua2V5ID09PSAoZWwgYXMgYW55KVtjb2x1bW5XaXRoS2V5XSk7XHJcbiAgICBpZiAodGVtcEFycmF5Lmxlbmd0aCA+IDApIHtcclxuICAgICAgbmV3QXJyYXlbbmV3QXJyYXkuaW5kZXhPZih0ZW1wQXJyYXlbMF0pXS5yb3dzLnB1c2goZWwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbmV3QXJyYXkucHVzaCh7XHJcbiAgICAgICAga2V5OiAoZWwgYXMgYW55KVtjb2x1bW5XaXRoS2V5XSBhcyBzdHJpbmcsXHJcbiAgICAgICAgbmFtZTogKGVsIGFzIGFueSlbY29sdW1uV2l0aE5hbWUgfHwgY29sdW1uV2l0aEtleV0gYXMgc3RyaW5nLFxyXG4gICAgICAgIHJvd3M6IFtlbF0sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gbmV3QXJyYXk7XHJcbn1cclxuIl19
@@ -0,0 +1,91 @@
1
+ import zxhiddenCustomCloneDeepByJeremyAshkenas from './js/_clone-deep';
2
+ import zxhiddenCustomOrderByByJeremyAshkenas from './js/_order-by';
3
+ /**
4
+ * This method is like _.clone except that it recursively clones value.
5
+ *
6
+ * @param value The value to recursively clone.
7
+ * @return Returns the deep cloned value.
8
+ */
9
+ export function cloneDeep(value) {
10
+ return zxhiddenCustomCloneDeepByJeremyAshkenas(value);
11
+ }
12
+ /**
13
+ * Creates a shallow clone of value.
14
+ *
15
+ * @param value The value to clone.
16
+ * @return Returns the cloned value.
17
+ */
18
+ export function clone(value) {
19
+ if (value instanceof Date)
20
+ return new Date(value.getTime());
21
+ if (value instanceof Array)
22
+ return value.slice();
23
+ if (typeof value === 'object')
24
+ return JSON.parse(JSON.stringify(value));
25
+ return value;
26
+ }
27
+ /**
28
+ * Creates an array of elements, sorted in ascending / descending order by
29
+ * the results of running each element in a collection through each iteratee.
30
+ * This method performs a stable sort, that is, it preserves the original
31
+ * sort order of equal elements. The iteratees are invoked with one argument:
32
+ * (value).
33
+ *
34
+ * @category Collection
35
+ * @param collection The collection to iterate over.
36
+ * @param [iteratees=[_.identity]] The iteratees to sort by.
37
+ * @param [orders] The sort orders of `iteratees`.
38
+ * @param- {Object} [guard] Enables use as an iteratee for functions like `_.reduce`.
39
+ * @returns Returns the new sorted array.
40
+ * @example
41
+ *
42
+ * const users = [
43
+ * { 'user': 'fred', 'age': 48 },
44
+ * { 'user': 'barney', 'age': 34 },
45
+ * { 'user': 'fred', 'age': 42 },
46
+ * { 'user': 'barney', 'age': 36 }
47
+ * ];
48
+ *
49
+ * // sort by `user` in ascending order and by `age` in descending order
50
+ * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);
51
+ * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
52
+ */
53
+ export function orderBy(collection, iteratees, orders) {
54
+ return zxhiddenCustomOrderByByJeremyAshkenas(collection, iteratees, orders);
55
+ }
56
+ /**
57
+ * Return a clone without duplicated values.
58
+ *
59
+ * @param collection
60
+ * @param key
61
+ * @example
62
+ *
63
+ * const data = [1,2,2,3,4,4];
64
+ * const result = uniq(data); // [1,2,3,4]
65
+ *
66
+ * const dataArr = [
67
+ * {nombre : 'Enrique', lastName : 'Cuello'},
68
+ * {nombre : 'Maria', lastName : 'Aponte'},
69
+ * {nombre : 'Enrique', lastName : 'De Armas'},
70
+ * ];
71
+ *
72
+ * const resultArr = uniq(dataArr, 'nombre');
73
+ * // [{nombre : 'Enrique', lastName : 'Cuello'},{nombre : 'Maria', lastName : 'Aponte'}]
74
+ */
75
+ export function uniq(collection, key) {
76
+ let result = [];
77
+ collection.forEach((_, i) => {
78
+ if (!i)
79
+ result.push(_);
80
+ if (!key) {
81
+ if (!result.filter(_2 => _2 === _).length)
82
+ result.push(_);
83
+ }
84
+ else {
85
+ if (!result.filter(_2 => _2[key] === _[key]).length)
86
+ result.push(_);
87
+ }
88
+ });
89
+ return result;
90
+ }
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2xvZGFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYnJhcmllcy91dGlsaXRpZXMvX2xvZGFzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLHVDQUF1QyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZFLE9BQU8scUNBQXFDLE1BQU0sZ0JBQWdCLENBQUM7QUFZbkU7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFJLEtBQVE7SUFDbkMsT0FBTyx1Q0FBdUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUFJLEtBQVE7SUFDL0IsSUFBSSxLQUFLLFlBQVksSUFBSTtRQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDNUQsSUFBSSxLQUFLLFlBQVksS0FBSztRQUFFLE9BQU8sS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFeEUsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Qkc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUNyQixVQUEyQyxFQUMzQyxTQUFpQyxFQUNqQyxNQUF1QztJQUV2QyxPQUFPLHFDQUFxQyxDQUFDLFVBQWlCLEVBQUUsU0FBZ0IsRUFBRSxNQUFhLENBQUMsQ0FBQztBQUNuRyxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQU0sVUFBVSxJQUFJLENBQUksVUFBb0IsRUFBRSxHQUFZO0lBQ3hELElBQUksTUFBTSxHQUFVLEVBQUUsQ0FBQztJQUV2QixVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQy9CLElBQUksQ0FBQyxDQUFDO1lBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTTtnQkFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNEO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNO2dCQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDckU7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgenhoaWRkZW5DdXN0b21DbG9uZURlZXBCeUplcmVteUFzaGtlbmFzIGZyb20gJy4vanMvX2Nsb25lLWRlZXAnO1xyXG5pbXBvcnQgenhoaWRkZW5DdXN0b21PcmRlckJ5QnlKZXJlbXlBc2hrZW5hcyBmcm9tICcuL2pzL19vcmRlci1ieSc7XHJcblxyXG50eXBlIExpc3Q8VD4gPSBBcnJheUxpa2U8VD47XHJcbnR5cGUgTWFueTxUPiA9IFQgfCBSZWFkb25seUFycmF5PFQ+O1xyXG50eXBlIExpc3RJdGVyYXRvcjxULCBUUmVzdWx0PiA9ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgY29sbGVjdGlvbjogTGlzdDxUPikgPT4gVFJlc3VsdDtcclxudHlwZSBQYXJ0aWFsU2hhbGxvdzxUPiA9IHtcclxuICBbUCBpbiBrZXlvZiBUXT86IFRbUF0gZXh0ZW5kcyBvYmplY3QgPyBvYmplY3QgOiBUW1BdO1xyXG59O1xyXG50eXBlIFByb3BlcnR5TmFtZSA9IHN0cmluZyB8IG51bWJlciB8IHN5bWJvbDtcclxudHlwZSBJdGVyYXRlZVNob3J0aGFuZDxUPiA9IFByb3BlcnR5TmFtZSB8IFtQcm9wZXJ0eU5hbWUsIGFueV0gfCBQYXJ0aWFsU2hhbGxvdzxUPjtcclxudHlwZSBMaXN0SXRlcmF0ZWU8VD4gPSBMaXN0SXRlcmF0b3I8VCwgdW5rbm93bj4gfCBJdGVyYXRlZVNob3J0aGFuZDxUPjtcclxuXHJcbi8qKlxyXG4gKiBUaGlzIG1ldGhvZCBpcyBsaWtlIF8uY2xvbmUgZXhjZXB0IHRoYXQgaXQgcmVjdXJzaXZlbHkgY2xvbmVzIHZhbHVlLlxyXG4gKlxyXG4gKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHJlY3Vyc2l2ZWx5IGNsb25lLlxyXG4gKiBAcmV0dXJuIFJldHVybnMgdGhlIGRlZXAgY2xvbmVkIHZhbHVlLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNsb25lRGVlcDxUPih2YWx1ZTogVCk6IFQge1xyXG4gIHJldHVybiB6eGhpZGRlbkN1c3RvbUNsb25lRGVlcEJ5SmVyZW15QXNoa2VuYXModmFsdWUpO1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBhIHNoYWxsb3cgY2xvbmUgb2YgdmFsdWUuXHJcbiAqXHJcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2xvbmUuXHJcbiAqIEByZXR1cm4gUmV0dXJucyB0aGUgY2xvbmVkIHZhbHVlLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNsb25lPFQ+KHZhbHVlOiBUKTogVCB8IEFycmF5PFQ+IHwgRGF0ZSB7XHJcbiAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIG5ldyBEYXRlKHZhbHVlLmdldFRpbWUoKSk7XHJcbiAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHJldHVybiB2YWx1ZS5zbGljZSgpO1xyXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xyXG5cclxuICByZXR1cm4gdmFsdWU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIGFuIGFycmF5IG9mIGVsZW1lbnRzLCBzb3J0ZWQgaW4gYXNjZW5kaW5nIC8gZGVzY2VuZGluZyBvcmRlciBieVxyXG4gKiB0aGUgcmVzdWx0cyBvZiBydW5uaW5nIGVhY2ggZWxlbWVudCBpbiBhIGNvbGxlY3Rpb24gdGhyb3VnaCBlYWNoIGl0ZXJhdGVlLlxyXG4gKiBUaGlzIG1ldGhvZCBwZXJmb3JtcyBhIHN0YWJsZSBzb3J0LCB0aGF0IGlzLCBpdCBwcmVzZXJ2ZXMgdGhlIG9yaWdpbmFsXHJcbiAqIHNvcnQgb3JkZXIgb2YgZXF1YWwgZWxlbWVudHMuIFRoZSBpdGVyYXRlZXMgYXJlIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6XHJcbiAqICh2YWx1ZSkuXHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXHJcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cclxuICogQHBhcmFtIFtpdGVyYXRlZXM9W18uaWRlbnRpdHldXSBUaGUgaXRlcmF0ZWVzIHRvIHNvcnQgYnkuXHJcbiAqIEBwYXJhbSBbb3JkZXJzXSBUaGUgc29ydCBvcmRlcnMgb2YgYGl0ZXJhdGVlc2AuXHJcbiAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgZnVuY3Rpb25zIGxpa2UgYF8ucmVkdWNlYC5cclxuICogQHJldHVybnMgUmV0dXJucyB0aGUgbmV3IHNvcnRlZCBhcnJheS5cclxuICogQGV4YW1wbGVcclxuICpcclxuICogY29uc3QgdXNlcnMgPSBbXHJcbiAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzogNDggfSxcclxuICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNCB9LFxyXG4gKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FnZSc6IDQyIH0sXHJcbiAqICAgeyAndXNlcic6ICdiYXJuZXknLCAnYWdlJzogMzYgfVxyXG4gKiBdO1xyXG4gKlxyXG4gKiAvLyBzb3J0IGJ5IGB1c2VyYCBpbiBhc2NlbmRpbmcgb3JkZXIgYW5kIGJ5IGBhZ2VgIGluIGRlc2NlbmRpbmcgb3JkZXJcclxuICogXy5vcmRlckJ5KHVzZXJzLCBbJ3VzZXInLCAnYWdlJ10sIFsnYXNjJywgJ2Rlc2MnXSk7XHJcbiAqIC8vID0+IG9iamVjdHMgZm9yIFtbJ2Jhcm5leScsIDM2XSwgWydiYXJuZXknLCAzNF0sIFsnZnJlZCcsIDQ4XSwgWydmcmVkJywgNDJdXVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG9yZGVyQnk8VD4oXHJcbiAgY29sbGVjdGlvbjogQXJyYXlMaWtlPFQ+IHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICBpdGVyYXRlZXM/OiBNYW55PExpc3RJdGVyYXRlZTxUPj4sXHJcbiAgb3JkZXJzPzogTWFueTxib29sZWFuIHwgJ2FzYycgfCAnZGVzYyc+XHJcbik6IFRbXSB7XHJcbiAgcmV0dXJuIHp4aGlkZGVuQ3VzdG9tT3JkZXJCeUJ5SmVyZW15QXNoa2VuYXMoY29sbGVjdGlvbiBhcyBhbnksIGl0ZXJhdGVlcyBhcyBhbnksIG9yZGVycyBhcyBhbnkpO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGEgY2xvbmUgd2l0aG91dCBkdXBsaWNhdGVkIHZhbHVlcy5cclxuICpcclxuICogQHBhcmFtIGNvbGxlY3Rpb25cclxuICogQHBhcmFtIGtleVxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiBjb25zdCBkYXRhID0gWzEsMiwyLDMsNCw0XTtcclxuICogY29uc3QgcmVzdWx0ID0gdW5pcShkYXRhKTsgLy8gWzEsMiwzLDRdXHJcbiAqXHJcbiAqIGNvbnN0IGRhdGFBcnIgPSBbXHJcbiAqIHtub21icmUgOiAnRW5yaXF1ZScsIGxhc3ROYW1lIDogJ0N1ZWxsbyd9LFxyXG4gKiB7bm9tYnJlIDogJ01hcmlhJywgbGFzdE5hbWUgOiAnQXBvbnRlJ30sXHJcbiAqIHtub21icmUgOiAnRW5yaXF1ZScsIGxhc3ROYW1lIDogJ0RlIEFybWFzJ30sXHJcbiAqIF07XHJcbiAqXHJcbiAqIGNvbnN0IHJlc3VsdEFyciA9IHVuaXEoZGF0YUFyciwgJ25vbWJyZScpO1xyXG4gKiAvLyBbe25vbWJyZSA6ICdFbnJpcXVlJywgbGFzdE5hbWUgOiAnQ3VlbGxvJ30se25vbWJyZSA6ICdNYXJpYScsIGxhc3ROYW1lIDogJ0Fwb250ZSd9XVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVuaXE8VD4oY29sbGVjdGlvbjogQXJyYXk8VD4sIGtleT86IHN0cmluZyk6IFRbXSB7XHJcbiAgbGV0IHJlc3VsdDogYW55W10gPSBbXTtcclxuXHJcbiAgY29sbGVjdGlvbi5mb3JFYWNoKChfOiBhbnksIGkpID0+IHtcclxuICAgIGlmICghaSkgcmVzdWx0LnB1c2goXyk7XHJcbiAgICBpZiAoIWtleSkge1xyXG4gICAgICBpZiAoIXJlc3VsdC5maWx0ZXIoXzIgPT4gXzIgPT09IF8pLmxlbmd0aCkgcmVzdWx0LnB1c2goXyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoIXJlc3VsdC5maWx0ZXIoXzIgPT4gXzJba2V5XSA9PT0gX1trZXldKS5sZW5ndGgpIHJlc3VsdC5wdXNoKF8pO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gcmVzdWx0O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ // Regex to split a windows path into three parts: [*, device, slash,
2
+ // tail] windows-only
3
+ const splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;
4
+ // Regex to split the tail part of the above into [*, dir, basename, ext]
5
+ const splitTailRe = /^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/;
6
+ // Function to split a filename into [root, dir, basename, ext]
7
+ function win32SplitPath(filename) {
8
+ // Separate device+slash from tail
9
+ const result = splitDeviceRe.exec(filename), device = (result[1] || '') + (result[2] || ''), tail = result[3] || '';
10
+ // Split the tail into dir, basename and extension
11
+ const result2 = splitTailRe.exec(tail), dir = result2[1], basename = result2[2], ext = result2[3];
12
+ return [device, dir, basename, ext];
13
+ }
14
+ export const extname = (path) => {
15
+ return win32SplitPath(path)[3];
16
+ };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX3BhdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWJyYXJpZXMvdXRpbGl0aWVzL19wYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFFQUFxRTtBQUNyRSxxQkFBcUI7QUFDckIsTUFBTSxhQUFhLEdBQUcsb0VBQW9FLENBQUM7QUFFM0YseUVBQXlFO0FBQ3pFLE1BQU0sV0FBVyxHQUFHLCtEQUErRCxDQUFDO0FBRXBGLCtEQUErRDtBQUMvRCxTQUFTLGNBQWMsQ0FBQyxRQUFhO0lBQ25DLGtDQUFrQztJQUNsQyxNQUFNLE1BQU0sR0FBUSxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUM5QyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQzlDLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLGtEQUFrRDtJQUNsRCxNQUFNLE9BQU8sR0FBUSxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUN6QyxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUNoQixRQUFRLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUNyQixHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25CLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUU7SUFDdEMsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUmVnZXggdG8gc3BsaXQgYSB3aW5kb3dzIHBhdGggaW50byB0aHJlZSBwYXJ0czogWyosIGRldmljZSwgc2xhc2gsXHJcbi8vIHRhaWxdIHdpbmRvd3Mtb25seVxyXG5jb25zdCBzcGxpdERldmljZVJlID0gL14oW2EtekEtWl06fFtcXFxcXFwvXXsyfVteXFxcXFxcL10rW1xcXFxcXC9dK1teXFxcXFxcL10rKT8oW1xcXFxcXC9dKT8oW1xcc1xcU10qPykkLztcclxuXHJcbi8vIFJlZ2V4IHRvIHNwbGl0IHRoZSB0YWlsIHBhcnQgb2YgdGhlIGFib3ZlIGludG8gWyosIGRpciwgYmFzZW5hbWUsIGV4dF1cclxuY29uc3Qgc3BsaXRUYWlsUmUgPSAvXihbXFxzXFxTXSo/KSgoPzpcXC57MSwyfXxbXlxcXFxcXC9dKz98KShcXC5bXi5cXC9cXFxcXSp8KSkoPzpbXFxcXFxcL10qKSQvO1xyXG5cclxuLy8gRnVuY3Rpb24gdG8gc3BsaXQgYSBmaWxlbmFtZSBpbnRvIFtyb290LCBkaXIsIGJhc2VuYW1lLCBleHRdXHJcbmZ1bmN0aW9uIHdpbjMyU3BsaXRQYXRoKGZpbGVuYW1lOiBhbnkpIHtcclxuICAvLyBTZXBhcmF0ZSBkZXZpY2Urc2xhc2ggZnJvbSB0YWlsXHJcbiAgY29uc3QgcmVzdWx0OiBhbnkgPSBzcGxpdERldmljZVJlLmV4ZWMoZmlsZW5hbWUpLFxyXG4gICAgZGV2aWNlID0gKHJlc3VsdFsxXSB8fCAnJykgKyAocmVzdWx0WzJdIHx8ICcnKSxcclxuICAgIHRhaWwgPSByZXN1bHRbM10gfHwgJyc7XHJcbiAgLy8gU3BsaXQgdGhlIHRhaWwgaW50byBkaXIsIGJhc2VuYW1lIGFuZCBleHRlbnNpb25cclxuICBjb25zdCByZXN1bHQyOiBhbnkgPSBzcGxpdFRhaWxSZS5leGVjKHRhaWwpLFxyXG4gICAgZGlyID0gcmVzdWx0MlsxXSxcclxuICAgIGJhc2VuYW1lID0gcmVzdWx0MlsyXSxcclxuICAgIGV4dCA9IHJlc3VsdDJbM107XHJcbiAgcmV0dXJuIFtkZXZpY2UsIGRpciwgYmFzZW5hbWUsIGV4dF07XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBleHRuYW1lID0gKHBhdGg6IHN0cmluZykgPT4ge1xyXG4gIHJldHVybiB3aW4zMlNwbGl0UGF0aChwYXRoKVszXTtcclxufTtcclxuIl19
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Public API Surface of @kato-lee/utilities
3
+ */
4
+ export * from './_group-by-key';
5
+ export * from './_lodash';
6
+ export * from './_either';
7
+ export * from './_path';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWJyYXJpZXMvdXRpbGl0aWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBAa2F0by1sZWUvdXRpbGl0aWVzXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9fZ3JvdXAtYnkta2V5JztcclxuZXhwb3J0ICogZnJvbSAnLi9fbG9kYXNoJztcclxuZXhwb3J0ICogZnJvbSAnLi9fZWl0aGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9fcGF0aCc7XHJcbiJdfQ==