]>
git.proxmox.com Git - ceph.git/blob - ceph/src/civetweb/src/third_party/duktape-1.8.0/polyfills/duktape-error-setter-writable.js
2 * Ensure Error .fileName, .lineNumber, and .stack are directly writable
3 * without having to use Object.defineProperty(). This matches Duktape
6 * See: https://github.com/svaarala/duktape/pull/390.
10 var err
= new Error('test');
12 if (err
.fileName
=== 999) { return; } // already writable
14 Object
.defineProperties(Error
.prototype, {
15 fileName
: { set: new Function('v', 'Object.defineProperty(this, "fileName", { value: v, writable: true, enumerable: false, configurable: true });') },
16 lineNumber
: { set: new Function('v', 'Object.defineProperty(this, "lineNumber", { value: v, writable: true, enumerable: false, configurable: true });') },
17 stack
: { set: new Function('v', 'Object.defineProperty(this, "stack", { value: v, writable: true, enumerable: false, configurable: true });') },