diff --git a/CHANGELOG.md b/CHANGELOG.md index 05250d2..875f791 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [2.0.2](https://github.com/humanwhocodes/object-schema/compare/v2.0.1...v2.0.2) (2024-01-10) + + +### Bug Fixes + +* WrapperError should be an actual error ([2523f01](https://github.com/humanwhocodes/object-schema/commit/2523f014168167e5a40bb63e0cc03231b2c0f1bf)) + ## [2.0.1](https://github.com/humanwhocodes/object-schema/compare/v2.0.0...v2.0.1) (2023-10-20) diff --git a/package-lock.json b/package-lock.json index 7c40f2f..e10713f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@humanwhocodes/object-schema", - "version": "2.0.1", + "version": "2.0.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@humanwhocodes/object-schema", - "version": "2.0.1", + "version": "2.0.2", "license": "BSD-3-Clause", "devDependencies": { "chai": "^4.2.0", diff --git a/package.json b/package.json index b13f6ee..a5b57c1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@humanwhocodes/object-schema", - "version": "2.0.1", + "version": "2.0.2", "description": "An object schema merger/validator", "main": "src/index.js", "directories": { diff --git a/src/object-schema.js b/src/object-schema.js index 1d9da19..62d198e 100644 --- a/src/object-schema.js +++ b/src/object-schema.js @@ -112,7 +112,7 @@ class MissingDependentKeysError extends Error { /** * Wrapper error for errors occuring during a merge or validate operation. */ -class WrapperError { +class WrapperError extends Error { /** * Creates a new instance. @@ -120,14 +120,14 @@ class WrapperError { * @param {Error} source The source error. */ constructor(key, source) { - return Object.create(source, { - message: { - value: `Key "${key}": ` + source.message, - configurable: true, - writable: true, - enumerable: true + super(`Key "${key}": ${source.message}`, { cause: source }); + + // copy over custom properties that aren't represented + for (const key of Object.keys(source)) { + if (!(key in this)) { + this[key] = source[key]; } - }); + } } }