UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

38 lines (37 loc) 3.78 kB
/** * Creates a proxy for the given object that has its own property */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return isolateObjectProperty; } }); function isolateObjectProperty(object, key) { const delegate = {}; const handler = { deleteProperty (target, p) { return Reflect.deleteProperty(p === key ? delegate : target, p); }, get (target, p, receiver) { return Reflect.get(p === key ? delegate : target, p, receiver); }, has (target, p) { return Reflect.has(p === key ? delegate : target, p); }, set (target, p, newValue, receiver) { if (p === key) { // in case of transactionID we must ignore any receiver, because // "If provided and target does not have a setter for propertyKey, the property will be set on receiver instead." return Reflect.set(delegate, p, newValue); } else { return Reflect.set(target, p, newValue, receiver); } } }; return new Proxy(object, handler); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaXNvbGF0ZU9iamVjdFByb3BlcnR5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3JlYXRlcyBhIHByb3h5IGZvciB0aGUgZ2l2ZW4gb2JqZWN0IHRoYXQgaGFzIGl0cyBvd24gcHJvcGVydHlcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNvbGF0ZU9iamVjdFByb3BlcnR5PFQ+KG9iamVjdDogVCwga2V5KTogVCB7XG4gIGNvbnN0IGRlbGVnYXRlID0ge31cbiAgY29uc3QgaGFuZGxlciA9IHtcbiAgICBkZWxldGVQcm9wZXJ0eSh0YXJnZXQsIHApOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBSZWZsZWN0LmRlbGV0ZVByb3BlcnR5KHAgPT09IGtleSA/IGRlbGVnYXRlIDogdGFyZ2V0LCBwKVxuICAgIH0sXG4gICAgZ2V0KHRhcmdldCwgcCwgcmVjZWl2ZXIpIHtcbiAgICAgIHJldHVybiBSZWZsZWN0LmdldChwID09PSBrZXkgPyBkZWxlZ2F0ZSA6IHRhcmdldCwgcCwgcmVjZWl2ZXIpXG4gICAgfSxcbiAgICBoYXModGFyZ2V0LCBwKSB7XG4gICAgICByZXR1cm4gUmVmbGVjdC5oYXMocCA9PT0ga2V5ID8gZGVsZWdhdGUgOiB0YXJnZXQsIHApXG4gICAgfSxcbiAgICBzZXQodGFyZ2V0LCBwLCBuZXdWYWx1ZSwgcmVjZWl2ZXIpIHtcbiAgICAgIGlmIChwID09PSBrZXkpIHtcbiAgICAgICAgLy8gaW4gY2FzZSBvZiB0cmFuc2FjdGlvbklEIHdlIG11c3QgaWdub3JlIGFueSByZWNlaXZlciwgYmVjYXVzZVxuICAgICAgICAvLyBcIklmIHByb3ZpZGVkIGFuZCB0YXJnZXQgZG9lcyBub3QgaGF2ZSBhIHNldHRlciBmb3IgcHJvcGVydHlLZXksIHRoZSBwcm9wZXJ0eSB3aWxsIGJlIHNldCBvbiByZWNlaXZlciBpbnN0ZWFkLlwiXG4gICAgICAgIHJldHVybiBSZWZsZWN0LnNldChkZWxlZ2F0ZSwgcCwgbmV3VmFsdWUpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5zZXQodGFyZ2V0LCBwLCBuZXdWYWx1ZSwgcmVjZWl2ZXIpXG4gICAgICB9XG4gICAgfSxcbiAgfVxuICByZXR1cm4gbmV3IFByb3h5KG9iamVjdCwgaGFuZGxlcilcbn1cbiJdLCJuYW1lcyI6WyJpc29sYXRlT2JqZWN0UHJvcGVydHkiLCJvYmplY3QiLCJrZXkiLCJkZWxlZ2F0ZSIsImhhbmRsZXIiLCJkZWxldGVQcm9wZXJ0eSIsInRhcmdldCIsInAiLCJSZWZsZWN0IiwiZ2V0IiwicmVjZWl2ZXIiLCJoYXMiLCJzZXQiLCJuZXdWYWx1ZSIsIlByb3h5Il0sIm1hcHBpbmdzIjoiQUFBQTs7Q0FFQzs7OzsrQkFDRDs7O2VBQXdCQTs7O0FBQVQsU0FBU0Esc0JBQXlCQyxNQUFTLEVBQUVDLEdBQUc7SUFDN0QsTUFBTUMsV0FBVyxDQUFDO0lBQ2xCLE1BQU1DLFVBQVU7UUFDZEMsZ0JBQWVDLE1BQU0sRUFBRUMsQ0FBQztZQUN0QixPQUFPQyxRQUFRSCxjQUFjLENBQUNFLE1BQU1MLE1BQU1DLFdBQVdHLFFBQVFDO1FBQy9EO1FBQ0FFLEtBQUlILE1BQU0sRUFBRUMsQ0FBQyxFQUFFRyxRQUFRO1lBQ3JCLE9BQU9GLFFBQVFDLEdBQUcsQ0FBQ0YsTUFBTUwsTUFBTUMsV0FBV0csUUFBUUMsR0FBR0c7UUFDdkQ7UUFDQUMsS0FBSUwsTUFBTSxFQUFFQyxDQUFDO1lBQ1gsT0FBT0MsUUFBUUcsR0FBRyxDQUFDSixNQUFNTCxNQUFNQyxXQUFXRyxRQUFRQztRQUNwRDtRQUNBSyxLQUFJTixNQUFNLEVBQUVDLENBQUMsRUFBRU0sUUFBUSxFQUFFSCxRQUFRO1lBQy9CLElBQUlILE1BQU1MLEtBQUs7Z0JBQ2IsZ0VBQWdFO2dCQUNoRSxpSEFBaUg7Z0JBQ2pILE9BQU9NLFFBQVFJLEdBQUcsQ0FBQ1QsVUFBVUksR0FBR007WUFDbEMsT0FBTztnQkFDTCxPQUFPTCxRQUFRSSxHQUFHLENBQUNOLFFBQVFDLEdBQUdNLFVBQVVIO1lBQzFDO1FBQ0Y7SUFDRjtJQUNBLE9BQU8sSUFBSUksTUFBTWIsUUFBUUc7QUFDM0IifQ==