UNPKG

@pnp/odata

Version:

pnp - provides shared odata functionality and base classes

70 lines 3.1 kB
import { __read, __spreadArray } from "tslib"; import { DefaultRuntime } from "@pnp/common"; import { extensionOrDefault, applyFactoryExtensions } from "./invokable-extensions.js"; var invokableBinder = function (invoker) { return function (constructor) { return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var factory = function (as) { var r = Object.assign(function () { var ags = []; for (var _i = 0; _i < arguments.length; _i++) { ags[_i] = arguments[_i]; } return invoker.call.apply(invoker, __spreadArray([r], __read(ags), false)); }, new (constructor.bind.apply(constructor, __spreadArray([void 0], __read(as), false)))()); Reflect.setPrototypeOf(r, constructor.prototype); return r; }; // ie11 setting is always global if (DefaultRuntime.get("ie11") || false) { return factory(args); } else { return new Proxy(applyFactoryExtensions(factory, args), { apply: function (target, _thisArg, argArray) { return extensionOrDefault("apply", function () { var a = []; for (var _i = 0; _i < arguments.length; _i++) { a[_i] = arguments[_i]; } return Reflect.apply(a[0], a[1], a[2]); }, target, _thisArg, argArray); }, get: function (target, p, receiver) { return extensionOrDefault("get", function () { var a = []; for (var _i = 0; _i < arguments.length; _i++) { a[_i] = arguments[_i]; } return Reflect.get(a[0], a[1], a[2]); }, target, p, receiver); }, has: function (target, p) { return extensionOrDefault("has", function () { var a = []; for (var _i = 0; _i < arguments.length; _i++) { a[_i] = arguments[_i]; } return Reflect.has(a[0], a[1]); }, target, p); }, set: function (target, p, value, receiver) { return extensionOrDefault("set", function () { var a = []; for (var _i = 0; _i < arguments.length; _i++) { a[_i] = arguments[_i]; } return Reflect.set(a[0], a[1], a[2], a[3]); }, target, p, value, receiver); }, }); } }; }; }; export var invokableFactory = invokableBinder(function (options) { return this.defaultAction(options); }); //# sourceMappingURL=invokable-binder.js.map