@hrnec06/util 1.4.22 → 1.4.24
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/cjs/record.d.ts +2 -0
- package/dist/cjs/record.js +35 -31
- package/dist/cjs/record.js.map +1 -1
- package/dist/cjs/types.d.ts +1 -1
- package/dist/esm/record.d.ts +2 -0
- package/dist/esm/record.js +33 -31
- package/dist/esm/record.js.map +1 -1
- package/dist/esm/types.d.ts +1 -1
- package/package.json +1 -1
package/dist/cjs/record.d.ts
CHANGED
|
@@ -13,10 +13,12 @@ export declare function findKey<K extends RecordKeys, const V>(object: Partial<R
|
|
|
13
13
|
export declare function findValue<K extends RecordKeys, const V>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, Voidable<boolean>>): Optional<V>;
|
|
14
14
|
export declare function mapRecord<K extends RecordKeys, const V, RK extends RecordKeys, const RV>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, [RK, RV]>): Record<RK, RV>;
|
|
15
15
|
export declare function map<K extends RecordKeys, V, R>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, R>): R[];
|
|
16
|
+
export declare function mapEnum<E extends Record<string, string | number>, R>(enumObject: E, callback: RecordCallback<keyof E, E[keyof E], R>): R[];
|
|
16
17
|
export declare function mapKeys<K extends RecordKeys, const V, RK extends RecordKeys>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, RK>): Record<RK, V>;
|
|
17
18
|
export declare function mapValues<K extends RecordKeys, const V, RV>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, RV>): Record<K, RV>;
|
|
18
19
|
export declare function filter<K extends RecordKeys, const V>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, Voidable<boolean>>): Partial<Record<K, V>>;
|
|
19
20
|
export declare function forEach<K extends RecordKeys, V>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, void>): void;
|
|
21
|
+
export declare function forEachEnum<E extends Record<string, string | number>>(enumObject: E, callback: RecordCallback<keyof E, E[keyof E], void>): void;
|
|
20
22
|
export declare function every<K extends RecordKeys, V>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, Voidable<boolean>>): boolean;
|
|
21
23
|
export declare function some<K extends RecordKeys, V>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, Voidable<boolean>>): boolean;
|
|
22
24
|
export declare function recordify<T, R_K extends RecordKeys, R_V>(array: Array<T>, callback: (item: T, index: number) => [R_K, R_V]): Record<R_K, R_V>;
|
package/dist/cjs/record.js
CHANGED
|
@@ -13,10 +13,12 @@ exports.findKey = findKey;
|
|
|
13
13
|
exports.findValue = findValue;
|
|
14
14
|
exports.mapRecord = mapRecord;
|
|
15
15
|
exports.map = map;
|
|
16
|
+
exports.mapEnum = mapEnum;
|
|
16
17
|
exports.mapKeys = mapKeys;
|
|
17
18
|
exports.mapValues = mapValues;
|
|
18
19
|
exports.filter = filter;
|
|
19
20
|
exports.forEach = forEach;
|
|
21
|
+
exports.forEachEnum = forEachEnum;
|
|
20
22
|
exports.every = every;
|
|
21
23
|
exports.some = some;
|
|
22
24
|
exports.recordify = recordify;
|
|
@@ -26,41 +28,27 @@ function recordIn(object, key) {
|
|
|
26
28
|
}
|
|
27
29
|
// Basic
|
|
28
30
|
function keys(object) {
|
|
29
|
-
const keys =
|
|
30
|
-
for (const key in object)
|
|
31
|
-
keys.push(key);
|
|
31
|
+
const keys = map(object, (key) => key);
|
|
32
32
|
return keys;
|
|
33
33
|
}
|
|
34
34
|
function values(object) {
|
|
35
|
-
const values =
|
|
36
|
-
for (const key in object)
|
|
37
|
-
values.push(object[key]);
|
|
35
|
+
const values = map(object, (_, value) => value);
|
|
38
36
|
return values;
|
|
39
37
|
}
|
|
40
38
|
function entries(object) {
|
|
41
|
-
const entries = [];
|
|
42
|
-
for (const key in object)
|
|
43
|
-
entries.push([key, object[key]]);
|
|
39
|
+
const entries = map(object, (key, value) => [key, value]);
|
|
44
40
|
return entries;
|
|
45
41
|
}
|
|
46
42
|
function entriesToRecord(entries) {
|
|
47
|
-
const record =
|
|
48
|
-
for (const entry of entries)
|
|
49
|
-
record[entry[0]] = entry[1];
|
|
43
|
+
const record = recordify(entries, (entry) => entry);
|
|
50
44
|
return record;
|
|
51
45
|
}
|
|
52
46
|
function keysToRecord(keys, callback) {
|
|
53
|
-
const record =
|
|
54
|
-
let ix = 0;
|
|
55
|
-
for (const key of keys)
|
|
56
|
-
record[key] = callback(key, ix++);
|
|
47
|
+
const record = recordify(keys, (item, ix) => [item, callback(item, ix)]);
|
|
57
48
|
return record;
|
|
58
49
|
}
|
|
59
50
|
function valuesToRecord(values, callback) {
|
|
60
|
-
const record =
|
|
61
|
-
let ix = 0;
|
|
62
|
-
for (const value of values)
|
|
63
|
-
record[callback(value, ix++)] = value;
|
|
51
|
+
const record = recordify(values, (value, ix) => [callback(value, ix), value]);
|
|
64
52
|
return record;
|
|
65
53
|
}
|
|
66
54
|
function length(object) {
|
|
@@ -86,19 +74,26 @@ function findValue(object, callback) {
|
|
|
86
74
|
// Map
|
|
87
75
|
function mapRecord(object, callback) {
|
|
88
76
|
const newObject = {};
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
77
|
+
forEach(object, (key, value, ix) => {
|
|
78
|
+
const [newKey, newValue] = callback(key, value, ix);
|
|
79
|
+
newObject[newKey] = newValue;
|
|
80
|
+
});
|
|
94
81
|
return newObject;
|
|
95
82
|
}
|
|
96
83
|
function map(object, callback) {
|
|
97
84
|
const mapped = [];
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
mapped.push(
|
|
101
|
-
}
|
|
85
|
+
forEach(object, (key, value, ix) => {
|
|
86
|
+
const result = callback(key, value, ix);
|
|
87
|
+
mapped.push(result);
|
|
88
|
+
});
|
|
89
|
+
return mapped;
|
|
90
|
+
}
|
|
91
|
+
function mapEnum(enumObject, callback) {
|
|
92
|
+
const mapped = [];
|
|
93
|
+
forEachEnum(enumObject, (key, value, ix) => {
|
|
94
|
+
const result = callback(key, value, ix);
|
|
95
|
+
mapped.push(result);
|
|
96
|
+
});
|
|
102
97
|
return mapped;
|
|
103
98
|
}
|
|
104
99
|
function mapKeys(object, callback) {
|
|
@@ -124,6 +119,15 @@ function forEach(object, callback) {
|
|
|
124
119
|
callback(key, object[key], ix++);
|
|
125
120
|
}
|
|
126
121
|
}
|
|
122
|
+
function forEachEnum(enumObject, callback) {
|
|
123
|
+
let ix = 0;
|
|
124
|
+
for (const key in enumObject) {
|
|
125
|
+
const value = enumObject[enumObject[key]];
|
|
126
|
+
if (typeof value === 'string')
|
|
127
|
+
continue;
|
|
128
|
+
callback(key, value, ix++);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
127
131
|
// Every & some
|
|
128
132
|
function every(object, callback) {
|
|
129
133
|
let ix = 0;
|
|
@@ -145,8 +149,8 @@ function some(object, callback) {
|
|
|
145
149
|
function recordify(array, callback) {
|
|
146
150
|
const record = {};
|
|
147
151
|
for (let i = 0; i < array.length; i++) {
|
|
148
|
-
const
|
|
149
|
-
record[
|
|
152
|
+
const [key, value] = callback(array[i], i);
|
|
153
|
+
record[key] = value;
|
|
150
154
|
}
|
|
151
155
|
return record;
|
|
152
156
|
}
|
package/dist/cjs/record.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/record.ts"],"names":[],"mappings":";;AAIA,
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/record.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export type TypeOfMap = {
|
|
|
30
30
|
"object": object;
|
|
31
31
|
"function": Function;
|
|
32
32
|
};
|
|
33
|
-
export type ClassInitializer<C extends abstract new (...args: any) => any> = (new (...params: ConstructorParameters<C>) => InstanceType<C>);
|
|
33
|
+
export type ClassInitializer<C extends abstract new (...args: any) => any, Strict extends boolean = true> = Strict extends true ? (new (...params: ConstructorParameters<C>) => InstanceType<C>) : (new (...args: any[]) => InstanceType<C>);
|
|
34
34
|
export declare namespace ReactUtils {
|
|
35
35
|
type SetState<T> = React.Dispatch<React.SetStateAction<T>>;
|
|
36
36
|
}
|
package/dist/esm/record.d.ts
CHANGED
|
@@ -13,10 +13,12 @@ export declare function findKey<K extends RecordKeys, const V>(object: Partial<R
|
|
|
13
13
|
export declare function findValue<K extends RecordKeys, const V>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, Voidable<boolean>>): Optional<V>;
|
|
14
14
|
export declare function mapRecord<K extends RecordKeys, const V, RK extends RecordKeys, const RV>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, [RK, RV]>): Record<RK, RV>;
|
|
15
15
|
export declare function map<K extends RecordKeys, V, R>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, R>): R[];
|
|
16
|
+
export declare function mapEnum<E extends Record<string, string | number>, R>(enumObject: E, callback: RecordCallback<keyof E, E[keyof E], R>): R[];
|
|
16
17
|
export declare function mapKeys<K extends RecordKeys, const V, RK extends RecordKeys>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, RK>): Record<RK, V>;
|
|
17
18
|
export declare function mapValues<K extends RecordKeys, const V, RV>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, RV>): Record<K, RV>;
|
|
18
19
|
export declare function filter<K extends RecordKeys, const V>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, Voidable<boolean>>): Partial<Record<K, V>>;
|
|
19
20
|
export declare function forEach<K extends RecordKeys, V>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, void>): void;
|
|
21
|
+
export declare function forEachEnum<E extends Record<string, string | number>>(enumObject: E, callback: RecordCallback<keyof E, E[keyof E], void>): void;
|
|
20
22
|
export declare function every<K extends RecordKeys, V>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, Voidable<boolean>>): boolean;
|
|
21
23
|
export declare function some<K extends RecordKeys, V>(object: Partial<Record<K, V>>, callback: RecordCallback<K, V, Voidable<boolean>>): boolean;
|
|
22
24
|
export declare function recordify<T, R_K extends RecordKeys, R_V>(array: Array<T>, callback: (item: T, index: number) => [R_K, R_V]): Record<R_K, R_V>;
|
package/dist/esm/record.js
CHANGED
|
@@ -3,41 +3,27 @@ export function recordIn(object, key) {
|
|
|
3
3
|
}
|
|
4
4
|
// Basic
|
|
5
5
|
export function keys(object) {
|
|
6
|
-
const keys =
|
|
7
|
-
for (const key in object)
|
|
8
|
-
keys.push(key);
|
|
6
|
+
const keys = map(object, (key) => key);
|
|
9
7
|
return keys;
|
|
10
8
|
}
|
|
11
9
|
export function values(object) {
|
|
12
|
-
const values =
|
|
13
|
-
for (const key in object)
|
|
14
|
-
values.push(object[key]);
|
|
10
|
+
const values = map(object, (_, value) => value);
|
|
15
11
|
return values;
|
|
16
12
|
}
|
|
17
13
|
export function entries(object) {
|
|
18
|
-
const entries = [];
|
|
19
|
-
for (const key in object)
|
|
20
|
-
entries.push([key, object[key]]);
|
|
14
|
+
const entries = map(object, (key, value) => [key, value]);
|
|
21
15
|
return entries;
|
|
22
16
|
}
|
|
23
17
|
export function entriesToRecord(entries) {
|
|
24
|
-
const record =
|
|
25
|
-
for (const entry of entries)
|
|
26
|
-
record[entry[0]] = entry[1];
|
|
18
|
+
const record = recordify(entries, (entry) => entry);
|
|
27
19
|
return record;
|
|
28
20
|
}
|
|
29
21
|
export function keysToRecord(keys, callback) {
|
|
30
|
-
const record =
|
|
31
|
-
let ix = 0;
|
|
32
|
-
for (const key of keys)
|
|
33
|
-
record[key] = callback(key, ix++);
|
|
22
|
+
const record = recordify(keys, (item, ix) => [item, callback(item, ix)]);
|
|
34
23
|
return record;
|
|
35
24
|
}
|
|
36
25
|
export function valuesToRecord(values, callback) {
|
|
37
|
-
const record =
|
|
38
|
-
let ix = 0;
|
|
39
|
-
for (const value of values)
|
|
40
|
-
record[callback(value, ix++)] = value;
|
|
26
|
+
const record = recordify(values, (value, ix) => [callback(value, ix), value]);
|
|
41
27
|
return record;
|
|
42
28
|
}
|
|
43
29
|
export function length(object) {
|
|
@@ -63,19 +49,26 @@ export function findValue(object, callback) {
|
|
|
63
49
|
// Map
|
|
64
50
|
export function mapRecord(object, callback) {
|
|
65
51
|
const newObject = {};
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
52
|
+
forEach(object, (key, value, ix) => {
|
|
53
|
+
const [newKey, newValue] = callback(key, value, ix);
|
|
54
|
+
newObject[newKey] = newValue;
|
|
55
|
+
});
|
|
71
56
|
return newObject;
|
|
72
57
|
}
|
|
73
58
|
export function map(object, callback) {
|
|
74
59
|
const mapped = [];
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
mapped.push(
|
|
78
|
-
}
|
|
60
|
+
forEach(object, (key, value, ix) => {
|
|
61
|
+
const result = callback(key, value, ix);
|
|
62
|
+
mapped.push(result);
|
|
63
|
+
});
|
|
64
|
+
return mapped;
|
|
65
|
+
}
|
|
66
|
+
export function mapEnum(enumObject, callback) {
|
|
67
|
+
const mapped = [];
|
|
68
|
+
forEachEnum(enumObject, (key, value, ix) => {
|
|
69
|
+
const result = callback(key, value, ix);
|
|
70
|
+
mapped.push(result);
|
|
71
|
+
});
|
|
79
72
|
return mapped;
|
|
80
73
|
}
|
|
81
74
|
export function mapKeys(object, callback) {
|
|
@@ -101,6 +94,15 @@ export function forEach(object, callback) {
|
|
|
101
94
|
callback(key, object[key], ix++);
|
|
102
95
|
}
|
|
103
96
|
}
|
|
97
|
+
export function forEachEnum(enumObject, callback) {
|
|
98
|
+
let ix = 0;
|
|
99
|
+
for (const key in enumObject) {
|
|
100
|
+
const value = enumObject[enumObject[key]];
|
|
101
|
+
if (typeof value === 'string')
|
|
102
|
+
continue;
|
|
103
|
+
callback(key, value, ix++);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
104
106
|
// Every & some
|
|
105
107
|
export function every(object, callback) {
|
|
106
108
|
let ix = 0;
|
|
@@ -122,8 +124,8 @@ export function some(object, callback) {
|
|
|
122
124
|
export function recordify(array, callback) {
|
|
123
125
|
const record = {};
|
|
124
126
|
for (let i = 0; i < array.length; i++) {
|
|
125
|
-
const
|
|
126
|
-
record[
|
|
127
|
+
const [key, value] = callback(array[i], i);
|
|
128
|
+
record[key] = value;
|
|
127
129
|
}
|
|
128
130
|
return record;
|
|
129
131
|
}
|
package/dist/esm/record.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/record.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,QAAQ,CAAkD,MAA6B,EAAE,GAAQ;
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/record.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export type TypeOfMap = {
|
|
|
30
30
|
"object": object;
|
|
31
31
|
"function": Function;
|
|
32
32
|
};
|
|
33
|
-
export type ClassInitializer<C extends abstract new (...args: any) => any> = (new (...params: ConstructorParameters<C>) => InstanceType<C>);
|
|
33
|
+
export type ClassInitializer<C extends abstract new (...args: any) => any, Strict extends boolean = true> = Strict extends true ? (new (...params: ConstructorParameters<C>) => InstanceType<C>) : (new (...args: any[]) => InstanceType<C>);
|
|
34
34
|
export declare namespace ReactUtils {
|
|
35
35
|
type SetState<T> = React.Dispatch<React.SetStateAction<T>>;
|
|
36
36
|
}
|