@codebakery/origami
Version:
Angular + Polymer
2 lines • 1.78 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define("@codebakery/origami/util",["exports"],t):t(((e=e||self).codebakery=e.codebakery||{},e.codebakery.origami=e.codebakery.origami||{},e.codebakery.origami.util={}))}(this,(function(e){"use strict";function t(e,t,n){var i=r(e,t),o=new WeakMap;return{enumerable:!i||i.enumerable,get:function(){if(i&&i.get)return i.get.apply(this);var e=o.get(this);return e&&e[t]},set:function(e){var r=e;if(!n.shouldSet||n.shouldSet.apply(this,[r])){n.beforeSet&&(r=n.beforeSet.apply(this,[r]));var a=o.get(this);a||(a={},o.set(this,a));var f=r!==a[t];a[t]=r,i&&i.set&&i.set.apply(this,[r]),n.afterSet&&n.afterSet.apply(this,[f,r,e])}}}}function r(e,t){for(;e;){var r=Object.getOwnPropertyDescriptor(e,t);if(r)return r;e=Object.getPrototypeOf(e)}}var n,i;e.getPropertyDescriptor=r,e.whenSet=function(e,t,r,o){void 0===r&&(r=function(e){return void 0!==e});var a,f=e[t];if(r(f))return"function"==typeof o&&o(e[t]),Promise.resolve(e[t]);if(n||(n=new WeakMap),i||(i=new WeakMap),n.has(e)?a=n.get(e):(a=new Map,n.set(e,a)),a.has(t)){var u=a.get(t);if("function"==typeof o)(p=i.get(u)).push(o);return u}var c=new Promise((function(o){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return f},set:function(u){(f=u,r(u))&&(Object.defineProperty(e,t,{value:u,configurable:!0,enumerable:!0,writable:!0}),a.delete(t),a.size||n.delete(e),i.get(c).forEach((function(e){e(u)})),o(u))}})}));a.set(t,c);var p=[];return"function"==typeof o&&p.push(o),i.set(c,p),c},e.wrapAndDefineDescriptor=function(e,r,n){var i=t(e,r,n);Object.defineProperty(e,r,i)},e.wrapDescriptor=t,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=origami-util.umd.min.js.map