]> git.proxmox.com Git - ceph.git/blob - ceph/src/civetweb/src/third_party/duktape-1.8.0/polyfills/duktape-error-setter-writable.js
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / civetweb / src / third_party / duktape-1.8.0 / polyfills / duktape-error-setter-writable.js
1 /*
2 * Ensure Error .fileName, .lineNumber, and .stack are directly writable
3 * without having to use Object.defineProperty(). This matches Duktape
4 * 1.4.0 behavior.
5 *
6 * See: https://github.com/svaarala/duktape/pull/390.
7 */
8
9 (function () {
10 var err = new Error('test');
11 err.fileName = 999;
12 if (err.fileName === 999) { return; } // already writable
13
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 });') },
18 });
19 })();