@naturalcycles/js-lib 14.161.1 → 14.161.3
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/object/object.util.d.ts +3 -3
- package/package.json +1 -1
- package/src/define.ts +1 -1
- package/src/object/object.util.ts +16 -22
|
@@ -50,7 +50,7 @@ export declare function _filterObject<T extends AnyObject>(obj: T, predicate: Ob
|
|
|
50
50
|
*
|
|
51
51
|
* To skip some key-value pairs - use _mapObject instead.
|
|
52
52
|
*/
|
|
53
|
-
export declare function _mapValues<
|
|
53
|
+
export declare function _mapValues<OUT = unknown, IN extends AnyObject = AnyObject>(obj: IN, mapper: ObjectMapper<IN, any>, mutate?: boolean): OUT;
|
|
54
54
|
/**
|
|
55
55
|
* _.mapKeys({ 'a': 1, 'b': 2 }, (key, value) => key + value)
|
|
56
56
|
* // => { 'a1': 1, 'b2': 2 }
|
|
@@ -59,7 +59,7 @@ export declare function _mapValues<T extends AnyObject>(obj: T, mapper: ObjectMa
|
|
|
59
59
|
*
|
|
60
60
|
* To skip some key-value pairs - use _mapObject instead.
|
|
61
61
|
*/
|
|
62
|
-
export declare function _mapKeys<T extends AnyObject>(obj: T, mapper: ObjectMapper<T, string>):
|
|
62
|
+
export declare function _mapKeys<T extends AnyObject>(obj: T, mapper: ObjectMapper<T, string>): T;
|
|
63
63
|
/**
|
|
64
64
|
* Maps object through predicate - a function that receives (k, v, obj)
|
|
65
65
|
* k - key
|
|
@@ -76,7 +76,7 @@ export declare function _mapKeys<T extends AnyObject>(obj: T, mapper: ObjectMapp
|
|
|
76
76
|
*
|
|
77
77
|
* Non-string keys are passed via String(...)
|
|
78
78
|
*/
|
|
79
|
-
export declare function _mapObject<
|
|
79
|
+
export declare function _mapObject<OUT = unknown, IN extends AnyObject = AnyObject>(obj: IN, mapper: ObjectMapper<IN, KeyValueTuple<string, any> | typeof SKIP>): OUT;
|
|
80
80
|
export declare function _findKeyByValue<T extends AnyObject>(obj: T, v: ValueOf<T>): keyof T | undefined;
|
|
81
81
|
export declare function _objectNullValuesToUndefined<T extends AnyObject>(obj: T, mutate?: boolean): T;
|
|
82
82
|
/**
|
package/package.json
CHANGED
package/src/define.ts
CHANGED
|
@@ -117,18 +117,18 @@ export function _filterObject<T extends AnyObject>(
|
|
|
117
117
|
*
|
|
118
118
|
* To skip some key-value pairs - use _mapObject instead.
|
|
119
119
|
*/
|
|
120
|
-
export function _mapValues<
|
|
121
|
-
obj:
|
|
122
|
-
mapper: ObjectMapper<
|
|
120
|
+
export function _mapValues<OUT = unknown, IN extends AnyObject = AnyObject>(
|
|
121
|
+
obj: IN,
|
|
122
|
+
mapper: ObjectMapper<IN, any>,
|
|
123
123
|
mutate = false,
|
|
124
|
-
):
|
|
124
|
+
): OUT {
|
|
125
125
|
return _objectEntries(obj).reduce(
|
|
126
126
|
(map, [k, v]) => {
|
|
127
127
|
map[k] = mapper(k, v, obj)
|
|
128
128
|
return map
|
|
129
129
|
},
|
|
130
|
-
mutate ? obj : ({} as
|
|
131
|
-
)
|
|
130
|
+
mutate ? obj : ({} as IN),
|
|
131
|
+
) as any
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
/**
|
|
@@ -139,17 +139,11 @@ export function _mapValues<T extends AnyObject>(
|
|
|
139
139
|
*
|
|
140
140
|
* To skip some key-value pairs - use _mapObject instead.
|
|
141
141
|
*/
|
|
142
|
-
export function _mapKeys<T extends AnyObject>(
|
|
143
|
-
obj
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
(map, [k, v]) => {
|
|
148
|
-
map[mapper(k, v, obj)] = v
|
|
149
|
-
return map
|
|
150
|
-
},
|
|
151
|
-
{} as Record<string, T[keyof T]>,
|
|
152
|
-
)
|
|
142
|
+
export function _mapKeys<T extends AnyObject>(obj: T, mapper: ObjectMapper<T, string>): T {
|
|
143
|
+
return _objectEntries(obj).reduce((map, [k, v]) => {
|
|
144
|
+
map[mapper(k, v, obj)] = v
|
|
145
|
+
return map
|
|
146
|
+
}, {} as AnyObject) as T
|
|
153
147
|
}
|
|
154
148
|
|
|
155
149
|
/**
|
|
@@ -168,17 +162,17 @@ export function _mapKeys<T extends AnyObject>(
|
|
|
168
162
|
*
|
|
169
163
|
* Non-string keys are passed via String(...)
|
|
170
164
|
*/
|
|
171
|
-
export function _mapObject<
|
|
172
|
-
obj:
|
|
173
|
-
mapper: ObjectMapper<
|
|
174
|
-
):
|
|
165
|
+
export function _mapObject<OUT = unknown, IN extends AnyObject = AnyObject>(
|
|
166
|
+
obj: IN,
|
|
167
|
+
mapper: ObjectMapper<IN, KeyValueTuple<string, any> | typeof SKIP>,
|
|
168
|
+
): OUT {
|
|
175
169
|
return Object.entries(obj).reduce((map, [k, v]) => {
|
|
176
170
|
const r = mapper(k, v, obj)
|
|
177
171
|
if (r !== SKIP) {
|
|
178
172
|
map[r[0]] = r[1]
|
|
179
173
|
}
|
|
180
174
|
return map
|
|
181
|
-
}, {} as AnyObject) as
|
|
175
|
+
}, {} as AnyObject) as OUT
|
|
182
176
|
}
|
|
183
177
|
|
|
184
178
|
export function _findKeyByValue<T extends AnyObject>(obj: T, v: ValueOf<T>): keyof T | undefined {
|