UNPKG

@trademe/ensure

Version:

2 lines 2.55 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("tslib")):"function"==typeof define&&define.amd?define("@trademe/ensure",["exports","tslib"],t):t((e.trademe=e.trademe||{},e.trademe.ensure={}),e.tslib)}(this,function(e,f){"use strict";var a=function(r){function e(e){var t=this.constructor,n=r.call(this,u(e))||this;return Object.setPrototypeOf(n,t.prototype),n}return f.__extends(e,r),e}(Error);function u(e){var t=e.split(/\n/),n=t.reduce(function(e,t){var n=t.search(/\S/);return n<0?e:n<e?n:e},Infinity);return t.map(function(e){return e.substr(n)}).join("\n")}var l="__value_";function s(e,t){return Object.defineProperty(e,"isGetter",{get:function(){return!!t&&t.getter}}),e}var t=s(function(e,t){if(!0===e||!1===e)return e;if("true"===e||""===e)return!0;if("false"===e)return!1;throw new a('\n "'+e+"\" is not a valid value for '"+t+'\'.\n The following values will evaluate to true: true, "true", "".\n The following values will evaluate to false: false, "false".\n ')});var n=s(function(e,t){if(null==e)throw new a("\n '"+t+'\' must not be "null" or "undefined".\n ');return e},{getter:!0}),r=s(function(e,t){if(e=+parseFloat(e),isNaN(e))throw new a("\n '"+t+"' must be a number.\n ");return e});e.EnsureError=a,e.dedent=u,e.Value=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n,r,u=(n=e,r=f.__read(n,1)[0],Array.isArray(r)?r:n),i=u.filter(function(e){return e.isGetter}),o=u.filter(function(e){return!e.isGetter});return function(e,r){Object.defineProperty(e,r,{get:function(){var t=this,n=Reflect.getMetadata(""+l+r,this);return i.forEach(function(e){e.call(t,n,r)}),n},set:function(e){var t=this,n=e;"null"===n&&(n=null),null!=n&&o.forEach(function(e){n=e.call(t,n,r)}),Reflect.defineMetadata(""+l+r,n,this)}})}},e.ensure=s,e.isBool=t,e.isEnum=function(u){var t,n,r,i,o=(t=u,n={},Object.keys(t).forEach(function(e){n[e]=t[e],n[t[e]]=e}),n),f=(r=u,i={},Object.keys(r).forEach(function(e){isNaN(parseInt(e,10))&&(i[e]=r[e])}),i);return s(function(e,t){var n,r=null!=f[e]?f[e]:f[o[e]];if(null==r)throw new a('\n "'+e+"\" is not a valid value for '"+t+"'. You can use one of the following:\n "+(n=u,Object.keys(n).filter(function(e){return isNaN(+e)}).map(function(e){return'"'+e+'"'}).join(",\n "))+"\n ");return r})},e.isNotNull=n,e.isNumber=r,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=trademe-ensure.umd.min.js.map