@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.
@@ -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<T extends AnyObject>(obj: T, mapper: ObjectMapper<T, any>, mutate?: boolean): T;
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>): Record<string, T[keyof T]>;
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<T extends AnyObject>(obj: T, mapper: ObjectMapper<T, KeyValueTuple<string, any> | typeof SKIP>): T;
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naturalcycles/js-lib",
3
- "version": "14.161.1",
3
+ "version": "14.161.3",
4
4
  "scripts": {
5
5
  "prepare": "husky install",
6
6
  "build-prod": "build-prod-esm-cjs",
package/src/define.ts CHANGED
@@ -121,7 +121,7 @@ export function _defineProps<T extends AnyObject>(
121
121
  enumerable: true,
122
122
  // value: obj[k], // existing value is already kept by default
123
123
  ...pd,
124
- })) as PropertyDescriptorMap,
124
+ })),
125
125
  )
126
126
  }
127
127
 
@@ -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<T extends AnyObject>(
121
- obj: T,
122
- mapper: ObjectMapper<T, any>,
120
+ export function _mapValues<OUT = unknown, IN extends AnyObject = AnyObject>(
121
+ obj: IN,
122
+ mapper: ObjectMapper<IN, any>,
123
123
  mutate = false,
124
- ): T {
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 T),
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: T,
144
- mapper: ObjectMapper<T, string>,
145
- ): Record<string, T[keyof T]> {
146
- return _objectEntries(obj).reduce(
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<T extends AnyObject>(
172
- obj: T,
173
- mapper: ObjectMapper<T, KeyValueTuple<string, any> | typeof SKIP>,
174
- ): T {
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 T
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 {