diff options
Diffstat (limited to 'assets/node_modules/@babel/runtime/helpers/esm/set.js')
-rw-r--r-- | assets/node_modules/@babel/runtime/helpers/esm/set.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/assets/node_modules/@babel/runtime/helpers/esm/set.js b/assets/node_modules/@babel/runtime/helpers/esm/set.js new file mode 100644 index 0000000..fb20af7 --- /dev/null +++ b/assets/node_modules/@babel/runtime/helpers/esm/set.js @@ -0,0 +1,51 @@ +import superPropBase from "./superPropBase"; +import defineProperty from "./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); +} + +export default 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; +}
\ No newline at end of file |