From dda5fc22ee87be498c4343d33f4818f488bc41b0 Mon Sep 17 00:00:00 2001 From: "Levy A." Date: Sun, 27 Jul 2025 16:12:00 -0300 Subject: [PATCH] refactor(javascript): simplify `SqliteError` --- bindings/javascript/sqlite-error.js | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/bindings/javascript/sqlite-error.js b/bindings/javascript/sqlite-error.js index 82356bc36..93e86d1fd 100644 --- a/bindings/javascript/sqlite-error.js +++ b/bindings/javascript/sqlite-error.js @@ -1,22 +1,14 @@ 'use strict'; -const descriptor = { value: 'SqliteError', writable: true, enumerable: false, configurable: true }; -function SqliteError(message, code, rawCode) { - if (new.target !== SqliteError) { - return new SqliteError(message, code); - } - if (typeof code !== 'string') { - throw new TypeError('Expected second argument to be a string'); - } - Error.call(this, message); - descriptor.value = '' + message; - Object.defineProperty(this, 'message', descriptor); - Error.captureStackTrace(this, SqliteError); - this.code = code; - this.rawCode = rawCode +class SqliteError extends Error { + constructor(message, code, rawCode) { + super(message); + this.name = 'SqliteError'; + this.code = code; + this.rawCode = rawCode; + + Error.captureStackTrace(this, SqliteError); + } } -Object.setPrototypeOf(SqliteError, Error); -Object.setPrototypeOf(SqliteError.prototype, Error.prototype); -Object.defineProperty(SqliteError.prototype, 'name', descriptor); -module.exports = SqliteError; +module.exports = SqliteError;