@jsopen/objects 2.0.1 → 2.1.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.
- package/CHANGELOG.md +3 -8
- package/cjs/index.js +3 -0
- package/cjs/tsconfig-build-cjs.tsbuildinfo +1 -1
- package/cjs/update-error-message.js +46 -0
- package/esm/index.js +1 -0
- package/esm/tsconfig-build-esm.tsbuildinfo +1 -1
- package/esm/update-error-message.js +42 -0
- package/package.json +1 -1
- package/types/index.d.cts +1 -0
- package/types/index.d.ts +1 -0
- package/types/merge.d.ts +4 -4
- package/types/omit.d.ts +13 -13
- package/types/update-error-message.d.ts +12 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
## Changelog
|
|
2
2
|
|
|
3
|
-
### [v2.0
|
|
3
|
+
### [v2.1.0](https://github.com/panates/jsopen-objects/compare/v2.0.2...v2.1.0) -
|
|
4
4
|
|
|
5
|
-
####
|
|
5
|
+
#### 🚀 New Features
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
#### 💬 General Changes
|
|
10
|
-
|
|
11
|
-
- dev: Coveralls parallel @Eray Hanoğlu
|
|
12
|
-
- dev: Coveralls parallel @Eray Hanoğlu
|
|
7
|
+
- feat: Added `updateErrorMessage` helper method @Eray Hanoğlu
|
package/cjs/index.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateErrorMessage = void 0;
|
|
3
4
|
const tslib_1 = require("tslib");
|
|
4
5
|
tslib_1.__exportStar(require("./clone.js"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./is-object.js"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./merge.js"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./omit.js"), exports);
|
|
8
9
|
tslib_1.__exportStar(require("./type-guards.js"), exports);
|
|
10
|
+
var update_error_message_js_1 = require("./update-error-message.js");
|
|
11
|
+
Object.defineProperty(exports, "updateErrorMessage", { enumerable: true, get: function () { return update_error_message_js_1.updateErrorMessage; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../../src/clone.ts","../../src/index.ts","../../src/is-object.ts","../../src/merge.ts","../../src/omit.ts","../../src/type-guards.ts"],"version":"5.9.
|
|
1
|
+
{"root":["../../src/clone.ts","../../src/index.ts","../../src/is-object.ts","../../src/merge.ts","../../src/omit.ts","../../src/type-guards.ts","../../src/update-error-message.ts"],"version":"5.9.3"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateErrorMessage = updateErrorMessage;
|
|
4
|
+
exports.updateErrorMessageFallback = updateErrorMessageFallback;
|
|
5
|
+
/**
|
|
6
|
+
* Updates the error message and stack trace at sametime.
|
|
7
|
+
* @param err
|
|
8
|
+
* @param newMessage
|
|
9
|
+
*/
|
|
10
|
+
function updateErrorMessage(err, newMessage) {
|
|
11
|
+
err.message = String(newMessage);
|
|
12
|
+
/** V8 */
|
|
13
|
+
if (typeof Error.captureStackTrace === 'function') {
|
|
14
|
+
Error.captureStackTrace(err);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
/** Other engines */
|
|
18
|
+
return updateErrorMessageFallback(err, newMessage);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Updates the error message and stack trace at sametime.
|
|
22
|
+
* @param err
|
|
23
|
+
* @param newMessage
|
|
24
|
+
*/
|
|
25
|
+
function updateErrorMessageFallback(err, newMessage) {
|
|
26
|
+
err.message = String(newMessage);
|
|
27
|
+
/** Other engines */
|
|
28
|
+
const stack = typeof err.stack === 'string' ? err.stack : null;
|
|
29
|
+
if (!stack)
|
|
30
|
+
return err;
|
|
31
|
+
const name = err.name || 'Error';
|
|
32
|
+
const lines = stack.split('\n');
|
|
33
|
+
const firstFrameIdx = lines.findIndex(l => /^\s*at\s+/.test(l));
|
|
34
|
+
if (firstFrameIdx === -1) {
|
|
35
|
+
const msgLines = String(newMessage).split(/\r?\n/);
|
|
36
|
+
lines[0] = `${name}: ${msgLines[0] ?? ''}`;
|
|
37
|
+
lines.splice(1, 0, ...msgLines.slice(1));
|
|
38
|
+
err.stack = lines.join('\n');
|
|
39
|
+
return err;
|
|
40
|
+
}
|
|
41
|
+
const frameLines = lines.slice(firstFrameIdx);
|
|
42
|
+
const msgLines = String(newMessage).split(/\r?\n/);
|
|
43
|
+
const newHead = [`${name}: ${msgLines[0] ?? ''}`, ...msgLines.slice(1)];
|
|
44
|
+
err.stack = [...newHead, ...frameLines].join('\n');
|
|
45
|
+
return err;
|
|
46
|
+
}
|
package/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../../src/clone.ts","../../src/index.ts","../../src/is-object.ts","../../src/merge.ts","../../src/omit.ts","../../src/type-guards.ts"],"version":"5.9.
|
|
1
|
+
{"root":["../../src/clone.ts","../../src/index.ts","../../src/is-object.ts","../../src/merge.ts","../../src/omit.ts","../../src/type-guards.ts","../../src/update-error-message.ts"],"version":"5.9.3"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Updates the error message and stack trace at sametime.
|
|
3
|
+
* @param err
|
|
4
|
+
* @param newMessage
|
|
5
|
+
*/
|
|
6
|
+
export function updateErrorMessage(err, newMessage) {
|
|
7
|
+
err.message = String(newMessage);
|
|
8
|
+
/** V8 */
|
|
9
|
+
if (typeof Error.captureStackTrace === 'function') {
|
|
10
|
+
Error.captureStackTrace(err);
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
/** Other engines */
|
|
14
|
+
return updateErrorMessageFallback(err, newMessage);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Updates the error message and stack trace at sametime.
|
|
18
|
+
* @param err
|
|
19
|
+
* @param newMessage
|
|
20
|
+
*/
|
|
21
|
+
export function updateErrorMessageFallback(err, newMessage) {
|
|
22
|
+
err.message = String(newMessage);
|
|
23
|
+
/** Other engines */
|
|
24
|
+
const stack = typeof err.stack === 'string' ? err.stack : null;
|
|
25
|
+
if (!stack)
|
|
26
|
+
return err;
|
|
27
|
+
const name = err.name || 'Error';
|
|
28
|
+
const lines = stack.split('\n');
|
|
29
|
+
const firstFrameIdx = lines.findIndex(l => /^\s*at\s+/.test(l));
|
|
30
|
+
if (firstFrameIdx === -1) {
|
|
31
|
+
const msgLines = String(newMessage).split(/\r?\n/);
|
|
32
|
+
lines[0] = `${name}: ${msgLines[0] ?? ''}`;
|
|
33
|
+
lines.splice(1, 0, ...msgLines.slice(1));
|
|
34
|
+
err.stack = lines.join('\n');
|
|
35
|
+
return err;
|
|
36
|
+
}
|
|
37
|
+
const frameLines = lines.slice(firstFrameIdx);
|
|
38
|
+
const msgLines = String(newMessage).split(/\r?\n/);
|
|
39
|
+
const newHead = [`${name}: ${msgLines[0] ?? ''}`, ...msgLines.slice(1)];
|
|
40
|
+
err.stack = [...newHead, ...frameLines].join('\n');
|
|
41
|
+
return err;
|
|
42
|
+
}
|
package/package.json
CHANGED
package/types/index.d.cts
CHANGED
package/types/index.d.ts
CHANGED
package/types/merge.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export declare function merge<A, B>(target: A, source: B, options?: merge.Options): A & B;
|
|
2
|
-
export declare function merge<A, B, C>(target: A, source: [B, C], options?: merge.Options): A & B & C;
|
|
3
|
-
export declare function merge<A, B, C, D>(target: A, source: [B, C, D], options?: merge.Options): A & B & C & D;
|
|
4
|
-
export declare function merge<A, B, C, D, E>(target: A, source: [B, C, D, E], options?: merge.Options): A & B & C & D & E;
|
|
1
|
+
export declare function merge<A extends object, B extends object, C extends object>(target: A, source: [B, C], options?: merge.Options): A & B & C;
|
|
2
|
+
export declare function merge<A extends object, B extends object, C extends object, D extends object>(target: A, source: [B, C, D], options?: merge.Options): A & B & C & D;
|
|
3
|
+
export declare function merge<A extends object, B extends object, C extends object, D extends object, E extends object>(target: A, source: [B, C, D, E], options?: merge.Options): A & B & C & D & E;
|
|
5
4
|
export declare function merge<A, B, C, D, F>(target: A, source: [B, C, D, F], options?: merge.Options): A & B & C & D & F;
|
|
5
|
+
export declare function merge<A extends object, B extends object>(target: A, source: B, options?: merge.Options): A & B;
|
|
6
6
|
/**
|
|
7
7
|
* @namespace
|
|
8
8
|
*/
|
package/types/omit.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { DeeperOmitUndefined, DeeperUnNullish, DeepOmitTypes, DeepOmitUndefined, DeepUnNullish, OmitTypes, OmitUndefined, UnNullish } from 'ts-gems';
|
|
2
|
-
export declare function omit<T, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
|
|
3
|
-
export declare function omitUndefined<T>(obj: T, deep: true): DeepOmitUndefined<T>;
|
|
4
|
-
export declare function omitUndefined<T>(obj: T, deep: 'full'): DeeperOmitUndefined<T>;
|
|
5
|
-
export declare function omitUndefined<T>(obj: T, deep: false): OmitUndefined<T>;
|
|
6
|
-
export declare function omitUndefined<T>(obj: T): OmitUndefined<T>;
|
|
7
|
-
export declare function omitNull<T>(obj: T, deep: true): DeepOmitTypes<T, null>;
|
|
8
|
-
export declare function omitNull<T>(obj: T, deep: 'full'): DeeperUnNullish<T>;
|
|
9
|
-
export declare function omitNull<T>(obj: T, deep: false): OmitTypes<T, null>;
|
|
10
|
-
export declare function omitNull<T>(obj: T): OmitTypes<T, null>;
|
|
11
|
-
export declare function omitNullish<T>(obj: T, deep: true): DeepUnNullish<T>;
|
|
12
|
-
export declare function omitNullish<T>(obj: T, deep: 'full'): DeeperUnNullish<T>;
|
|
13
|
-
export declare function omitNullish<T>(obj: T, deep: false): UnNullish<T>;
|
|
14
|
-
export declare function omitNullish<T>(obj: T): UnNullish<T>;
|
|
2
|
+
export declare function omit<T extends object, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
|
|
3
|
+
export declare function omitUndefined<T extends object>(obj: T, deep: true): DeepOmitUndefined<T>;
|
|
4
|
+
export declare function omitUndefined<T extends object>(obj: T, deep: 'full'): DeeperOmitUndefined<T>;
|
|
5
|
+
export declare function omitUndefined<T extends object>(obj: T, deep: false): OmitUndefined<T>;
|
|
6
|
+
export declare function omitUndefined<T extends object>(obj: T): OmitUndefined<T>;
|
|
7
|
+
export declare function omitNull<T extends object>(obj: T, deep: true): DeepOmitTypes<T, null>;
|
|
8
|
+
export declare function omitNull<T extends object>(obj: T, deep: 'full'): DeeperUnNullish<T>;
|
|
9
|
+
export declare function omitNull<T extends object>(obj: T, deep: false): OmitTypes<T, null>;
|
|
10
|
+
export declare function omitNull<T extends object>(obj: T): OmitTypes<T, null>;
|
|
11
|
+
export declare function omitNullish<T extends object>(obj: T, deep: true): DeepUnNullish<T>;
|
|
12
|
+
export declare function omitNullish<T extends object>(obj: T, deep: 'full'): DeeperUnNullish<T>;
|
|
13
|
+
export declare function omitNullish<T extends object>(obj: T, deep: false): UnNullish<T>;
|
|
14
|
+
export declare function omitNullish<T extends object>(obj: T): UnNullish<T>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Updates the error message and stack trace at sametime.
|
|
3
|
+
* @param err
|
|
4
|
+
* @param newMessage
|
|
5
|
+
*/
|
|
6
|
+
export declare function updateErrorMessage(err: Error, newMessage: string): Error | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* Updates the error message and stack trace at sametime.
|
|
9
|
+
* @param err
|
|
10
|
+
* @param newMessage
|
|
11
|
+
*/
|
|
12
|
+
export declare function updateErrorMessageFallback(err: Error, newMessage: string): Error;
|