@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.
@@ -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>;
@@ -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
- let ix = 0;
90
- for (const key in object) {
91
- const result = callback(key, object[key], ix++);
92
- newObject[result[0]] = result[1];
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
- let ix = 0;
99
- for (const key in object) {
100
- mapped.push(callback(key, object[key], ix++));
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 result = callback(array[i], i);
149
- record[result[0]] = result[1];
152
+ const [key, value] = callback(array[i], i);
153
+ record[key] = value;
150
154
  }
151
155
  return record;
152
156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/record.ts"],"names":[],"mappings":"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"}
@@ -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
  }
@@ -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>;
@@ -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
- let ix = 0;
67
- for (const key in object) {
68
- const result = callback(key, object[key], ix++);
69
- newObject[result[0]] = result[1];
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
- let ix = 0;
76
- for (const key in object) {
77
- mapped.push(callback(key, object[key], ix++));
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 result = callback(array[i], i);
126
- record[result[0]] = result[1];
127
+ const [key, value] = callback(array[i], i);
128
+ record[key] = value;
127
129
  }
128
130
  return record;
129
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/record.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,QAAQ,CAAkD,MAA6B,EAAE,GAAQ;IAEhH,OAAO,GAAG,IAAI,MAAM,CAAC;AACtB,CAAC;AAED,QAAQ;AACR,MAAM,UAAU,IAAI,CAAuB,MAAmC;IAE7E,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAEvC,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,MAAM,CAAgC,MAA6B;IAElF,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,OAAO,CAAgC,MAA6B;IAEnF,MAAM,OAAO,GAAa,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAEpE,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAA0B,OAAiB;IAEzE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAEpD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAA0B,IAAS,EAAE,QAAsC;IAEtG,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzE,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,cAAc,CAA0B,MAAW,EAAE,QAAwC;IAE5G,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAE9E,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,MAA4C;IAElE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AAC5B,CAAC;AAED,OAAO;AACP,MAAM,UAAU,IAAI,CAAgC,MAA6B,EAAE,QAAiD;IAEnI,IAAI,EAAE,GAAG,CAAC,CAAC;IAEX,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAE,EAAE,EAAE,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAE,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,OAAO,CAAgC,MAA6B,EAAE,QAAiD;IAEtI,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEtC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,SAAS,CAAgC,MAA6B,EAAE,QAAiD;IAExI,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEtC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,MAAM;AACN,MAAM,UAAU,SAAS,CAAiE,MAA6B,EAAE,QAAwC;IAEhK,MAAM,SAAS,GAA4B,EAAE,CAAC;IAE9C,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;QAClC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAEpD,SAAS,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,OAAO,SAA2B,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,GAAG,CAA6B,MAA6B,EAAE,QAAiC;IAE/G,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAExC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,OAAO,CAA+C,UAAa,EAAE,QAAgD;IAEpI,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,WAAW,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAExC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,OAAO,CAAuD,MAA6B,EAAE,QAAkC;IAE9I,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,SAAS,CAAoC,MAA6B,EAAE,QAAkC;IAE7H,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS;AACT,MAAM,UAAU,MAAM,CAAgC,MAA6B,EAAE,QAAiD;IAErI,MAAM,SAAS,GAA0B,EAAE,CAAC;IAE5C,IAAI,EAAE,GAAG,CAAC,CAAC;IAEX,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAE,EAAE,EAAE,EAAE,CAAC;YACpC,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,UAAU;AAEV,MAAM,UAAU,OAAO,CAA0B,MAA6B,EAAE,QAAoC;IAEnH,IAAI,EAAE,GAAG,CAAC,CAAC;IAEX,KAAK,MAAM,GAAG,IAAI,MAAM,EACxB,CAAC;QACA,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,WAAW,CAA4C,UAAa,EAAE,QAAmD;IAExI,IAAI,EAAE,GAAG,CAAC,CAAC;IAEX,KAAK,MAAM,GAAG,IAAI,UAAU,EAC5B,CAAC;QACA,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAY,CAAC,CAAC;QAErD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAExC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;AACF,CAAC;AAED,eAAe;AAEf,MAAM,UAAU,KAAK,CAA0B,MAA6B,EAAE,QAAiD;IAE9H,IAAI,EAAE,GAAG,CAAC,CAAC;IAEX,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAE,EAAE,EAAE,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,IAAI,CAA0B,MAA6B,EAAE,QAAiD;IAE7H,IAAI,EAAE,GAAG,CAAC,CAAC;IAEX,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAE,EAAE,EAAE,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,YAAY;AAEZ,MAAM,UAAU,SAAS,CAAiC,KAAe,EAAE,QAAgD;IAE1H,MAAM,MAAM,GAA8B,EAAE,CAAC;IAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EACrC,CAAC;QACA,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,OAAO,MAA0B,CAAC;AACnC,CAAC;AAYD,MAAM,UAAU,IAAI,CAAoD,MAAS,EAAE,oBAA6B,KAAK;IACnH,MAAM,MAAM,GAAgC,EAAE,CAAC;IAE/C,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YACjC,IAAI,GAAG,GAAW,QAAQ,CAAC;YAE3B,IAAI,iBAAiB;gBACpB,GAAG,GAAG,SAAS,GAAG,QAAQ,CAAC;YAExB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,MAAoB,CAAC;AAC9B,CAAC"}
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hrnec06/util",
3
- "version": "1.4.22",
3
+ "version": "1.4.24",
4
4
  "description": "A set of utilities",
5
5
  "type": "module",
6
6
  "main": "dist/esm/index.js",