From 26105034da4fcce7ac883c899d781f016559310d Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 8 Nov 2018 00:38:48 +0800 Subject: switch to vuepress --- node_modules/@babel/runtime/helpers/set.js | 63 ++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 node_modules/@babel/runtime/helpers/set.js (limited to 'node_modules/@babel/runtime/helpers/set.js') diff --git a/node_modules/@babel/runtime/helpers/set.js b/node_modules/@babel/runtime/helpers/set.js new file mode 100644 index 00000000..aa405aaf --- /dev/null +++ b/node_modules/@babel/runtime/helpers/set.js @@ -0,0 +1,63 @@ +var _Object$defineProperty = require("../core-js/object/define-property"); + +var _Object$getOwnPropertyDescriptor = require("../core-js/object/get-own-property-descriptor"); + +var _Reflect$set = require("../core-js/reflect/set"); + +var getPrototypeOf = require("./getPrototypeOf"); + +var superPropBase = require("./superPropBase"); + +var defineProperty = require("./defineProperty"); + +function set(target, property, value, receiver) { + if (typeof Reflect !== "undefined" && _Reflect$set) { + set = _Reflect$set; + } else { + set = function set(target, property, value, receiver) { + var base = superPropBase(target, property); + var desc; + + if (base) { + desc = _Object$getOwnPropertyDescriptor(base, property); + + if (desc.set) { + desc.set.call(receiver, value); + return true; + } else if (!desc.writable) { + return false; + } + } + + desc = _Object$getOwnPropertyDescriptor(receiver, property); + + if (desc) { + if (!desc.writable) { + return false; + } + + desc.value = value; + + _Object$defineProperty(receiver, property, desc); + } else { + defineProperty(receiver, property, value); + } + + return true; + }; + } + + return set(target, property, value, receiver); +} + +function _set(target, property, value, receiver, isStrict) { + var s = set(target, property, value, receiver || target); + + if (!s && isStrict) { + throw new Error('failed to set property'); + } + + return value; +} + +module.exports = _set; \ No newline at end of file -- cgit v1.2.3