@future-widget-lab/safe-ops
Version:
A set of helper functions for performing operations safely, preventing runtime errors from disrupting your application.
3 lines (2 loc) • 11.1 kB
JavaScript
"use strict";function r(r,t,e,n,o,i,a){try{var u=r[i](a),c=u.value}catch(r){return void e(r)}u.done?t(c):Promise.resolve(c).then(n,o)}function t(t){return function(){var e=this,n=arguments;return new Promise((function(o,i){var a=t.apply(e,n);function u(t){r(a,o,i,u,c,"next",t)}function c(t){r(a,o,i,u,c,"throw",t)}u(void 0)}))}}function e(){e=function(){return t};var r,t={},n=Object.prototype,o=n.hasOwnProperty,i=Object.defineProperty||function(r,t,e){r[t]=e.value},a="function"==typeof Symbol?Symbol:{},u=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",s=a.toStringTag||"@@toStringTag";function f(r,t,e){return Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}),r[t]}try{f({},"")}catch(r){f=function(r,t,e){return r[t]=e}}function h(r,t,e,n){var o=Object.create((t&&t.prototype instanceof m?t:m).prototype),a=new S(n||[]);return i(o,"_invoke",{value:k(r,e,a)}),o}function l(r,t,e){try{return{type:"normal",arg:r.call(t,e)}}catch(r){return{type:"throw",arg:r}}}t.wrap=h;var v="suspendedStart",p="suspendedYield",d="executing",y="completed",g={};function m(){}function x(){}function E(){}var w={};f(w,u,(function(){return this}));var b=Object.getPrototypeOf,L=b&&b(b(G([])));L&&L!==n&&o.call(L,u)&&(w=L);var O=E.prototype=m.prototype=Object.create(w);function _(r){["next","throw","return"].forEach((function(t){f(r,t,(function(r){return this._invoke(t,r)}))}))}function j(r,t){function e(n,i,a,u){var c=l(r[n],r,i);if("throw"!==c.type){var s=c.arg,f=s.value;return f&&"object"==typeof f&&o.call(f,"__await")?t.resolve(f.__await).then((function(r){e("next",r,a,u)}),(function(r){e("throw",r,a,u)})):t.resolve(f).then((function(r){s.value=r,a(s)}),(function(r){return e("throw",r,a,u)}))}u(c.arg)}var n;i(this,"_invoke",{value:function(r,o){function i(){return new t((function(t,n){e(r,o,t,n)}))}return n=n?n.then(i,i):i()}})}function k(t,e,n){var o=v;return function(i,a){if(o===d)throw Error("Generator is already running");if(o===y){if("throw"===i)throw a;return{value:r,done:!0}}for(n.method=i,n.arg=a;;){var u=n.delegate;if(u){var c=F(u,n);if(c){if(c===g)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===v)throw o=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var s=l(t,e,n);if("normal"===s.type){if(o=n.done?y:p,s.arg===g)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=y,n.method="throw",n.arg=s.arg)}}}function F(t,e){var n=e.method,o=t.iterator[n];if(o===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=r,F(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var i=l(o,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,g;var a=i.arg;return a?a.done?(e[t.resultName]=a.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=r),e.delegate=null,g):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,g)}function P(r){var t={tryLoc:r[0]};1 in r&&(t.catchLoc=r[1]),2 in r&&(t.finallyLoc=r[2],t.afterLoc=r[3]),this.tryEntries.push(t)}function N(r){var t=r.completion||{};t.type="normal",delete t.arg,r.completion=t}function S(r){this.tryEntries=[{tryLoc:"root"}],r.forEach(P,this),this.reset(!0)}function G(t){if(t||""===t){var e=t[u];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function e(){for(;++n<t.length;)if(o.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=r,e.done=!0,e};return i.next=i}}throw new TypeError(typeof t+" is not iterable")}return x.prototype=E,i(O,"constructor",{value:E,configurable:!0}),i(E,"constructor",{value:x,configurable:!0}),x.displayName=f(E,s,"GeneratorFunction"),t.isGeneratorFunction=function(r){var t="function"==typeof r&&r.constructor;return!!t&&(t===x||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(r){return Object.setPrototypeOf?Object.setPrototypeOf(r,E):(r.__proto__=E,f(r,s,"GeneratorFunction")),r.prototype=Object.create(O),r},t.awrap=function(r){return{__await:r}},_(j.prototype),f(j.prototype,c,(function(){return this})),t.AsyncIterator=j,t.async=function(r,e,n,o,i){void 0===i&&(i=Promise);var a=new j(h(r,e,n,o),i);return t.isGeneratorFunction(e)?a:a.next().then((function(r){return r.done?r.value:a.next()}))},_(O),f(O,s,"Generator"),f(O,u,(function(){return this})),f(O,"toString",(function(){return"[object Generator]"})),t.keys=function(r){var t=Object(r),e=[];for(var n in t)e.push(n);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=G,S.prototype={constructor:S,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=r,this.done=!1,this.delegate=null,this.method="next",this.arg=r,this.tryEntries.forEach(N),!t)for(var e in this)"t"===e.charAt(0)&&o.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=r)},stop:function(){this.done=!0;var r=this.tryEntries[0].completion;if("throw"===r.type)throw r.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(n,o){return u.type="throw",u.arg=t,e.next=n,o&&(e.method="next",e.arg=r),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],u=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=o.call(a,"catchLoc"),s=o.call(a,"finallyLoc");if(c&&s){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(r,t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===r||"continue"===r)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=r,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,g):this.complete(a)},complete:function(r,t){if("throw"===r.type)throw r.arg;return"break"===r.type||"continue"===r.type?this.next=r.arg:"return"===r.type?(this.rval=this.arg=r.arg,this.method="return",this.next="end"):"normal"===r.type&&t&&(this.next=t),g},finish:function(r){for(var t=this.tryEntries.length-1;t>=0;--t){var e=this.tryEntries[t];if(e.finallyLoc===r)return this.complete(e.completion,e.afterLoc),N(e),g}},catch:function(r){for(var t=this.tryEntries.length-1;t>=0;--t){var e=this.tryEntries[t];if(e.tryLoc===r){var n=e.completion;if("throw"===n.type){var o=n.arg;N(e)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:G(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=r),g}},t}var n=function(){var r=t(e().mark((function r(t){return e().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,t();case 3:return r.t0=r.sent,r.abrupt("return",{ok:!0,result:r.t0,error:null});case 7:return r.prev=7,r.t1=r.catch(0),r.abrupt("return",{ok:!1,result:null,error:r.t1});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})));return function(t){return r.apply(this,arguments)}}();exports.attempt=function(r){try{return{ok:!0,result:r(),error:null}}catch(r){return{ok:!1,result:null,error:r}}},exports.attemptAsync=n,exports.safeEvery=function(r,t,e){void 0===e&&(e={});for(var n=e.onError,o=void 0===n?function(){}:n,i=0;i<r.length;i++){var a=r[i];try{if(!t(a,i,r))return!1}catch(r){return o(r,a,i),!1}}return!0},exports.safeEveryWithErrors=function(r,t,e){void 0===e&&(e={});for(var n=e.onError,o=void 0===n?function(){}:n,i=[],a=0;a<r.length;a++){var u=r[a];try{if(!t(u,a,r))return{result:!1,errors:i}}catch(r){return i.push({error:r,item:u,index:a}),o(r,u,a),{result:!1,errors:i}}}return{result:!0,errors:i}},exports.safeFilter=function(r,t,e){void 0===e&&(e={});for(var n=e.onError,o=void 0===n?function(){}:n,i=[],a=0;a<r.length;a++){var u=r[a];try{t(u,a,r)&&i.push(u)}catch(r){o(r,u,a)}}return i},exports.safeFilterWithErrors=function(r,t,e){void 0===e&&(e={});for(var n=e.onError,o=void 0===n?function(){}:n,i=[],a=[],u=0;u<r.length;u++){var c=r[u];try{t(c,u,r)&&i.push(c)}catch(r){a.push({error:r,item:c,index:u}),o(r,c,u)}}return{results:i,errors:a}},exports.safeFind=function(r,t,e){void 0===e&&(e={});for(var n=e.onError,o=void 0===n?function(){}:n,i=0;i<r.length;i++){var a=r[i];try{if(t(a,i,r))return a}catch(r){o(r,a,i)}}},exports.safeFindIndex=function(r,t,e){void 0===e&&(e={});for(var n=e.onError,o=void 0===n?function(){}:n,i=0;i<r.length;i++){var a=r[i];try{if(t(a,i,r))return i}catch(r){o(r,a,i)}}return-1},exports.safeFindIndexWithErrors=function(r,t,e){void 0===e&&(e={});for(var n=e.onError,o=void 0===n?function(){}:n,i=[],a=0;a<r.length;a++){var u=r[a];try{if(t(u,a,r))return{index:a,errors:i}}catch(r){i.push({error:r,item:u,index:a}),o(r,u,a)}}return{index:-1,errors:i}},exports.safeFindWithErrors=function(r,t,e){void 0===e&&(e={});for(var n=e.onError,o=[],i=0;i<r.length;i++){var a=r[i];try{if(t(a,i,r))return{found:a,errors:o}}catch(r){o.push({error:r,item:a,index:i}),null==n||n(r,a,i)}}return{found:void 0,errors:o}},exports.safeForEach=function(r,t,e){void 0===e&&(e={});for(var n=e.onError,o=void 0===n?function(){}:n,i=0;i<r.length;i++){var a=r[i];try{t(a,i,r)}catch(r){o(r,a,i)}}},exports.safeForEachWithErrors=function(r,t,e){void 0===e&&(e={});for(var n=e.onError,o=[],i=0;i<r.length;i++){var a=r[i];try{t(a,i,r)}catch(r){o.push({error:r,item:a,index:i}),null==n||n(r,a,i)}}return{errors:o}},exports.safeJsonParse=function(r,t){try{return r?JSON.parse(r):t}catch(r){return t}},exports.safeMap=function(r,t,e){void 0===e&&(e={});for(var n=e.onError,o=[],i=0;i<r.length;i++){var a=r[i];try{o.push(t(a,i,r))}catch(r){null==n||n(r,a,i)}}return o},exports.safeMapWithErrors=function(r,t,e){void 0===e&&(e={});for(var n=e.onError,o=[],i=[],a=0;a<r.length;a++){var u=r[a];try{o.push(t(u,a,r))}catch(r){i.push({error:r,item:u,index:a}),null==n||n(r,u,a)}}return{results:o,errors:i}},exports.safeReduce=function(r,t,e,n){void 0===n&&(n={});for(var o=n.onError,i=void 0===o?function(){}:o,a=e,u=0;u<r.length;u++){var c=r[u];try{a=t(a,c,u,r)}catch(r){i(r,c,u)}}return a},exports.safeReduceWithErrors=function(r,t,e,n){void 0===n&&(n={});for(var o=n.onError,i=void 0===o?function(){}:o,a=e,u=[],c=0;c<r.length;c++){var s=r[c];try{a=t(a,s,c,r)}catch(r){u.push({error:r,item:s,index:c}),i(r,s,c)}}return{result:a,errors:u}},exports.safeSome=function(r,t,e){void 0===e&&(e={});for(var n=e.onError,o=void 0===n?function(){}:n,i=0;i<r.length;i++){var a=r[i];try{if(t(a,i,r))return!0}catch(r){o(r,a,i)}}return!1},exports.safeSomeWithErrors=function(r,t,e){void 0===e&&(e={});for(var n=e.onError,o=void 0===n?function(){}:n,i=[],a=0;a<r.length;a++){var u=r[a];try{if(t(u,a,r))return{result:!0,errors:i}}catch(r){i.push({error:r,item:u,index:a}),o(r,u,a)}}return{result:!1,errors:i}},exports.safeguard=function(r){return!!r};
//# sourceMappingURL=safe-ops.cjs.production.min.js.map