UNPKG

@aeternity/aepp-sdk

Version:

SDK for the æternity blockchain

15 lines 889 B
import { ArgumentError } from './errors.js'; export function wrapWithProxy(valueCb) { return new Proxy({}, Object.fromEntries(['apply', 'construct', 'defineProperty', 'deleteProperty', 'getOwnPropertyDescriptor', 'getPrototypeOf', 'isExtensible', 'ownKeys', 'preventExtensions', 'set', 'setPrototypeOf', 'get', 'has'].map(name => [name, (t, ...args) => { const target = valueCb(); if (target == null) throw new ArgumentError('wrapped value', 'defined', target); if (name === 'get' && args[0] === '_wrappedValue') return target; const res = Reflect[name](target, ...args); return typeof res === 'function' && name === 'get' ? res.bind(target) : res; }]))); } export function unwrapProxy(value) { var _wrappedValue; return (_wrappedValue = value._wrappedValue) !== null && _wrappedValue !== void 0 ? _wrappedValue : value; } //# sourceMappingURL=wrap-proxy.js.map