UNPKG

@trademe/ensure

Version:

2 lines 2.38 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 i=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 a="__value_";function t(e,t){return Object.defineProperty(e,"isGetter",{get:function(){return!!t&&t.getter}}),e}var n=t(function(e,t){if(!0===e||!1===e)return e;if("true"===e||""===e)return!0;if("false"===e)return!1;throw new i('\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 r=t(function(e,t){if(null==e)throw new i("\n '"+t+'\' must not be "null" or "undefined".\n ');return e},{getter:!0}),o=t(function(e,t){if(e=+parseFloat(e),isNaN(e))throw new i("\n '"+t+"' must be a number.\n ");return e});e.EnsureError=i,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(""+a+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(""+a+r,n,this)}})}},e.ensure=t,e.isBool=n,e.isEnum=function(u){return t(function(e,t){var n,r=u[e];if(null==r)throw new i('\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"number"==typeof r?r:e})},e.isNotNull=r,e.isNumber=o,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=trademe-ensure.umd.min.js.map