UNPKG

wrapme

Version:

Functions to wrap other functions and methods and to change/enhance their behavior, functionality or usage

3 lines (2 loc) 1.77 kB
"use strict";function e(e,t,r,n){var u,a,l,i,o,f,c,s=!1,p=!1,g=!1,y=0,b={},d=1;"string"==typeof t?(o=e,"function"!=typeof(i=e[t])||n&&(n.get||n.set)?(u=i,i=t,s=!0):(l=t,g=!0)):(i=e,o=null,n=r,r=t,t=l,l=e.name,p=!0),n||(n={});var v=n.context;function h(){var e=Array.prototype.slice.call(arguments),u=!s,h=s&&!e.length,O=s&&!h,j=this;function m(e){return h?a():O?f(e[0]):i.apply(j,e)}var w,x={arg:e,arg0:e[0],byCall:u,byGet:h,bySet:O,byUnwrap:!d,context:j,data:n.data,field:t,fieldWrap:s,funcWrap:p,get:a,method:l,methodWrap:g,number:++y,save:b,set:f,settings:n,target:i,targetObj:o,run:A,runApply:function(t){return m(arguments.length?Array.isArray(t)?t:[t]:e)},value:c};function A(){return m(arguments.length?arguments:e)}return(n.before||n.listen)&&(w=A()),x.result=w,x.result=v?r.call(v,x):r(x),n.after?w=A():n.listen||(w=x.result),c=w}if(o){if(g)return o[l]=n.bind?h.bind(o):h,function(){o[l]=i};var O=Object.getOwnPropertyDescriptor(o,t)||{value:u,writable:!0,enumerable:!0,configurable:!0};return(d=Object.getOwnPropertyDescriptor(o,t))?(delete d.value,delete d.writable):d={enumerable:!0,configurable:!0},a=d.get||("function"==typeof n.get?n.get:null)||function(){return u},f=d.set||("function"==typeof n.set?n.set:null)||function(e){return u=e},"get"in n&&!n.get||(d.get=h),"set"in n&&!n.set||(d.set=h),Object.defineProperty(o,t,d),function(){"value"in O&&(d=0,O.value=o[t]),Object.defineProperty(o,t,O)}}return h}function t(t,r,n,u){if(Array.isArray(r)){for(var a=[],l=0,i=r.length;l<i;l++)a.push(e(t,r[l],n,u));return a.length>1?function(){for(var e=0,t=a.length;e<t;e++)a[e]()}:a[0]}return e(t,r,n,u)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=t,exports.intercept=t,exports.wrap=e; //# sourceMappingURL=wrapme.cjs.production.min.js.map