@naturalcycles/js-lib 14.169.0 → 14.170.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.
@@ -27,14 +27,16 @@ export declare function _isErrorObject<DATA_TYPE extends ErrorData = ErrorData>(
27
27
  export declare function _isErrorLike(o: any): o is ErrorLike;
28
28
  /**
29
29
  * Convenience function to safely add properties to Error's `data` object
30
- * (even if it wasn't previously existing)
30
+ * (even if it wasn't previously existing).
31
+ * Mutates err.
32
+ * Returns err for convenience, so you can re-throw it directly.
31
33
  *
32
34
  * @example
33
35
  *
34
36
  * try {} catch (err) {
35
- * _errorDataAppend(err, {
37
+ * throw _errorDataAppend(err, {
36
38
  * httpStatusCode: 401,
37
39
  * })
38
40
  * }
39
41
  */
40
- export declare function _errorDataAppend(err: any, data?: ErrorData): void;
42
+ export declare function _errorDataAppend<ERR>(err: ERR, data?: ErrorData): ERR;
@@ -154,22 +154,25 @@ function _isErrorLike(o) {
154
154
  exports._isErrorLike = _isErrorLike;
155
155
  /**
156
156
  * Convenience function to safely add properties to Error's `data` object
157
- * (even if it wasn't previously existing)
157
+ * (even if it wasn't previously existing).
158
+ * Mutates err.
159
+ * Returns err for convenience, so you can re-throw it directly.
158
160
  *
159
161
  * @example
160
162
  *
161
163
  * try {} catch (err) {
162
- * _errorDataAppend(err, {
164
+ * throw _errorDataAppend(err, {
163
165
  * httpStatusCode: 401,
164
166
  * })
165
167
  * }
166
168
  */
167
169
  function _errorDataAppend(err, data) {
168
170
  if (!data)
169
- return;
171
+ return err;
170
172
  err.data = {
171
173
  ...err.data,
172
174
  ...data,
173
175
  };
176
+ return err;
174
177
  }
175
178
  exports._errorDataAppend = _errorDataAppend;
@@ -56,8 +56,7 @@ async function pRetry(fn, opt = {}) {
56
56
  }
57
57
  if (attempt >= maxAttempts || (predicate && !predicate(err, attempt, maxAttempts))) {
58
58
  // Give up
59
- (0, __1._errorDataAppend)(err, opt.errorData);
60
- throw err;
59
+ throw (0, __1._errorDataAppend)(err, opt.errorData);
61
60
  }
62
61
  // Retry after delay
63
62
  delay *= delayMultiplier;
@@ -46,8 +46,7 @@ async function pTimeout(fn, opt) {
46
46
  catch (err) {
47
47
  // keep original stack
48
48
  err.stack = fakeError.stack.replace('Error: TimeoutError', err.name + ': ' + err.message);
49
- (0, error_util_1._errorDataAppend)(err, opt.errorData);
50
- reject(err);
49
+ reject((0, error_util_1._errorDataAppend)(err, opt.errorData));
51
50
  }
52
51
  return;
53
52
  }
@@ -141,18 +141,21 @@ export function _isErrorLike(o) {
141
141
  }
142
142
  /**
143
143
  * Convenience function to safely add properties to Error's `data` object
144
- * (even if it wasn't previously existing)
144
+ * (even if it wasn't previously existing).
145
+ * Mutates err.
146
+ * Returns err for convenience, so you can re-throw it directly.
145
147
  *
146
148
  * @example
147
149
  *
148
150
  * try {} catch (err) {
149
- * _errorDataAppend(err, {
151
+ * throw _errorDataAppend(err, {
150
152
  * httpStatusCode: 401,
151
153
  * })
152
154
  * }
153
155
  */
154
156
  export function _errorDataAppend(err, data) {
155
157
  if (!data)
156
- return;
158
+ return err;
157
159
  err.data = Object.assign(Object.assign({}, err.data), data);
160
+ return err;
158
161
  }
@@ -52,8 +52,7 @@ export async function pRetry(fn, opt = {}) {
52
52
  }
53
53
  if (attempt >= maxAttempts || (predicate && !predicate(err, attempt, maxAttempts))) {
54
54
  // Give up
55
- _errorDataAppend(err, opt.errorData);
56
- throw err;
55
+ throw _errorDataAppend(err, opt.errorData);
57
56
  }
58
57
  // Retry after delay
59
58
  delay *= delayMultiplier;
@@ -41,8 +41,7 @@ export async function pTimeout(fn, opt) {
41
41
  catch (err) {
42
42
  // keep original stack
43
43
  err.stack = fakeError.stack.replace('Error: TimeoutError', err.name + ': ' + err.message);
44
- _errorDataAppend(err, opt.errorData);
45
- reject(err);
44
+ reject(_errorDataAppend(err, opt.errorData));
46
45
  }
47
46
  return;
48
47
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naturalcycles/js-lib",
3
- "version": "14.169.0",
3
+ "version": "14.170.0",
4
4
  "scripts": {
5
5
  "prepare": "husky install",
6
6
  "build-prod": "build-prod-esm-cjs",
@@ -185,21 +185,24 @@ export function _isErrorLike(o: any): o is ErrorLike {
185
185
 
186
186
  /**
187
187
  * Convenience function to safely add properties to Error's `data` object
188
- * (even if it wasn't previously existing)
188
+ * (even if it wasn't previously existing).
189
+ * Mutates err.
190
+ * Returns err for convenience, so you can re-throw it directly.
189
191
  *
190
192
  * @example
191
193
  *
192
194
  * try {} catch (err) {
193
- * _errorDataAppend(err, {
195
+ * throw _errorDataAppend(err, {
194
196
  * httpStatusCode: 401,
195
197
  * })
196
198
  * }
197
199
  */
198
- export function _errorDataAppend(err: any, data?: ErrorData): void {
199
- if (!data) return
200
-
201
- err.data = {
202
- ...err.data,
200
+ export function _errorDataAppend<ERR>(err: ERR, data?: ErrorData): ERR {
201
+ if (!data) return err
202
+ ;(err as any).data = {
203
+ ...(err as any).data,
203
204
  ...data,
204
205
  }
206
+
207
+ return err
205
208
  }
@@ -163,8 +163,7 @@ export async function pRetry<T>(
163
163
 
164
164
  if (attempt >= maxAttempts || (predicate && !predicate(err as Error, attempt, maxAttempts))) {
165
165
  // Give up
166
- _errorDataAppend(err, opt.errorData)
167
- throw err
166
+ throw _errorDataAppend(err, opt.errorData)
168
167
  }
169
168
 
170
169
  // Retry after delay
@@ -82,8 +82,7 @@ export async function pTimeout<T>(fn: AnyAsyncFunction<T>, opt: PTimeoutOptions)
82
82
  } catch (err: any) {
83
83
  // keep original stack
84
84
  err.stack = fakeError.stack!.replace('Error: TimeoutError', err.name + ': ' + err.message)
85
- _errorDataAppend(err, opt.errorData)
86
- reject(err)
85
+ reject(_errorDataAppend(err, opt.errorData))
87
86
  }
88
87
  return
89
88
  }