callable-instance2
Version:
Instances of classes which are directly callable as functions.
1 lines • 1.8 kB
Source Map (JSON)
{"version":3,"file":"index.umd.production.min.cjs","sources":["../src/index.ts"],"sourcesContent":["// @ts-nocheck\n\nfunction CallableInstance(property)\n{\n\t// @ts-ignore\n\tconst self = this;\n\t// @ts-ignore\n\tconst func = this.constructor.prototype[property];\n\tconst apply = function ()\n\t{\n\t\treturn func.apply(apply, arguments);\n\t};\n\t// @ts-ignore\n\tObject.setPrototypeOf(apply, this.constructor.prototype);\n\tObject.getOwnPropertyNames(func)\n\t\t.forEach(function (p)\n\t\t{\n\t\t\tObject.defineProperty(apply, p, Object.getOwnPropertyDescriptor(func, p));\n\t\t})\n\t;\n\treturn apply;\n}\n\nCallableInstance.prototype = Object.create(Function.prototype);\n\nexport { CallableInstance };\nexport default CallableInstance;\n\n// @ts-ignore\nif (process.env.TSDX_FORMAT !== 'esm')\n{\n\tObject.defineProperty(CallableInstance, \"__esModule\", { value: true });\n\n\tObject.defineProperty(CallableInstance, 'CallableInstance', { value: CallableInstance });\n\tObject.defineProperty(CallableInstance, 'default', { value: CallableInstance });\n\n\n}\n\n//module.exports = Object.freeze(module.exports);\n"],"names":["CallableInstance","property","func","this","constructor","prototype","apply","arguments","Object","setPrototypeOf","getOwnPropertyNames","forEach","p","defineProperty","getOwnPropertyDescriptor","create","Function","value"],"mappings":";;;;EAEA,SAASA,iBAAiBC;IAKzB,MAAMC,IAAOC,KAAKC,YAAYC,UAAUJ,IAClCK,QAAQ;MAEb,OAAOJ,EAAKI,MAAMA,OAAOC;;IAU1B,OAPAC,OAAOC,eAAeH,OAAOH,KAAKC,YAAYC,YAC9CG,OAAOE,oBAAoBR,GACzBS,SAAQ,SAAUC;MAElBJ,OAAOK,eAAeP,OAAOM,GAAGJ,OAAOM,yBAAyBZ,GAAMU;AACvE,SAEMN;AACR;EAEAN,iBAAiBK,0BAAYG,OAAOO,OAAOC,SAASX,YAQnDG,OAAOK,eAAeb,kBAAkB,cAAc;IAAEiB,QAAO;MAE/DT,OAAOK,eAAeb,kBAAkB,oBAAoB;IAAEiB,OAAOjB;MACrEQ,OAAOK,eAAeb,kBAAkB,WAAW;IAAEiB,OAAOjB;;;;"}