UNPKG

bitcoin-conversion

Version:

[![npm](https://img.shields.io/npm/v/bitcoin-conversion?style=plastic)](https://www.npmjs.com/package/bitcoin-conversion)

3 lines (2 loc) 13 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,r=(t=require("currency.js"))&&"object"==typeof t&&"default"in t?t.default:t,e=require("decimal.js-light");function n(t,r,e,n,o,a,i){try{var c=t[a](i),u=c.value}catch(t){return void e(t)}c.done?r(u):Promise.resolve(u).then(n,o)}function o(t){return function(){var r=this,e=arguments;return new Promise((function(o,a){var i=t.apply(r,e);function c(t){n(i,o,a,c,u,"next",t)}function u(t){n(i,o,a,c,u,"throw",t)}c(void 0)}))}}var a,i=(function(t){var r=function(t){var r=Object.prototype,e=r.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",a=n.asyncIterator||"@@asyncIterator",i=n.toStringTag||"@@toStringTag";function c(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{c({},"")}catch(t){c=function(t,r,e){return t[r]=e}}function u(t,r,e,n){var o=Object.create((r&&r.prototype instanceof f?r:f).prototype),a=new E(n||[]);return o._invoke=function(t,r,e){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return{value:void 0,done:!0}}for(e.method=o,e.arg=a;;){var i=e.delegate;if(i){var c=b(i,e);if(c){if(c===p)continue;return c}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if("suspendedStart"===n)throw n="completed",e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);n="executing";var u=s(t,r,e);if("normal"===u.type){if(n=e.done?"completed":"suspendedYield",u.arg===p)continue;return{value:u.arg,done:e.done}}"throw"===u.type&&(n="completed",e.method="throw",e.arg=u.arg)}}}(t,e,a),o}function s(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var p={};function f(){}function h(){}function l(){}var v={};v[o]=function(){return this};var d=Object.getPrototypeOf,m=d&&d(d(L([])));m&&m!==r&&e.call(m,o)&&(v=m);var y=l.prototype=f.prototype=Object.create(v);function x(t){["next","throw","return"].forEach((function(r){c(t,r,(function(t){return this._invoke(r,t)}))}))}function w(t,r){var n;this._invoke=function(o,a){function i(){return new r((function(n,i){!function n(o,a,i,c){var u=s(t[o],t,a);if("throw"!==u.type){var p=u.arg,f=p.value;return f&&"object"==typeof f&&e.call(f,"__await")?r.resolve(f.__await).then((function(t){n("next",t,i,c)}),(function(t){n("throw",t,i,c)})):r.resolve(f).then((function(t){p.value=t,i(p)}),(function(t){return n("throw",t,i,c)}))}c(u.arg)}(o,a,n,i)}))}return n=n?n.then(i,i):i()}}function b(t,r){var e=t.iterator[r.method];if(void 0===e){if(r.delegate=null,"throw"===r.method){if(t.iterator.return&&(r.method="return",r.arg=void 0,b(t,r),"throw"===r.method))return p;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var n=s(e,t.iterator,r.arg);if("throw"===n.type)return r.method="throw",r.arg=n.arg,r.delegate=null,p;var o=n.arg;return o?o.done?(r[t.resultName]=o.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,p):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function g(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function k(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(g,this),this.reset(!0)}function L(t){if(t){var r=t[o];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,a=function r(){for(;++n<t.length;)if(e.call(t,n))return r.value=t[n],r.done=!1,r;return r.value=void 0,r.done=!0,r};return a.next=a}}return{next:j}}function j(){return{value:void 0,done:!0}}return h.prototype=y.constructor=l,l.constructor=h,h.displayName=c(l,i,"GeneratorFunction"),t.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===h||"GeneratorFunction"===(r.displayName||r.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,c(t,i,"GeneratorFunction")),t.prototype=Object.create(y),t},t.awrap=function(t){return{__await:t}},x(w.prototype),w.prototype[a]=function(){return this},t.AsyncIterator=w,t.async=function(r,e,n,o,a){void 0===a&&(a=Promise);var i=new w(u(r,e,n,o),a);return t.isGeneratorFunction(e)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},x(y),c(y,i,"Generator"),y[o]=function(){return this},y.toString=function(){return"[object Generator]"},t.keys=function(t){var r=[];for(var e in t)r.push(e);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=L,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var r in this)"t"===r.charAt(0)&&e.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function n(e,n){return i.type="throw",i.arg=t,r.next=e,n&&(r.method="next",r.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=e.call(a,"catchLoc"),u=e.call(a,"finallyLoc");if(c&&u){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(!u)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&e.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=r,a?(this.method="next",this.next=a.finallyLoc,p):this.complete(i)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),p},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),k(e),p}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;k(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,e){return this.delegate={iterator:L(t),resultName:r,nextLoc:e},"next"===this.method&&(this.arg=void 0),p}},t}(t.exports);try{regeneratorRuntime=r}catch(t){Function("r","regeneratorRuntime = r")(r)}}(a={exports:{}}),a.exports),c=function(){var t=o(i.mark((function t(r,n){var o;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=new e.Decimal(r),t.next=3,k(n);case 3:return t.abrupt("return",o.mul(t.sent).toNumber());case 5:case"end":return t.stop()}}),t)})));return function(r,e){return t.apply(this,arguments)}}(),u=function(){var t=o(i.mark((function t(r){var n;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=new e.Decimal(r),t.next=3,w();case 3:return t.abrupt("return",n.div(t.sent).toNumber());case 5:case"end":return t.stop()}}),t)})));return function(r){return t.apply(this,arguments)}}(),s=function(t){return new e.Decimal(t).mul(1e8).toNumber()},p=function(){var t=o(i.mark((function t(r){var n;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=new e.Decimal(r),t.next=3,b();case 3:return t.abrupt("return",n.div(t.sent).toNumber());case 5:case"end":return t.stop()}}),t)})));return function(r){return t.apply(this,arguments)}}(),f=function(){var t=o(i.mark((function t(r,n){var o;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=new e.Decimal(r),t.next=3,x(n);case 3:return t.abrupt("return",o.times(t.sent).toNumber());case 5:case"end":return t.stop()}}),t)})));return function(r,e){return t.apply(this,arguments)}}(),h=function(){var t=o(i.mark((function t(r){var n;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=new e.Decimal(r),t.next=3,w();case 3:return t.abrupt("return",n.mul(t.sent).toNumber());case 5:case"end":return t.stop()}}),t)})));return function(r){return t.apply(this,arguments)}}(),l=function(){var t=o(i.mark((function t(r){var n;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=new e.Decimal(r),t.next=3,b();case 3:return t.abrupt("return",n.mul(t.sent).toNumber());case 5:case"end":return t.stop()}}),t)})));return function(r){return t.apply(this,arguments)}}(),v=function(t){return new e.Decimal(t).div(1e8).toNumber()},d=function(){var t=o(i.mark((function t(r,e){var n;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=v(r),t.next=3,c(n,e);case 3:return t.abrupt("return",t.sent);case 5:case"end":return t.stop()}}),t)})));return function(r,e){return t.apply(this,arguments)}}(),m=function(){var t=o(i.mark((function t(r,n){var o,a;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=new e.Decimal(r),t.next=3,k(n);case 3:return a=new e.Decimal(t.sent),t.abrupt("return",o.div(a).toNumber());case 6:case"end":return t.stop()}}),t)})));return function(r,e){return t.apply(this,arguments)}}(),y=function(){var t=o(i.mark((function t(r,e){return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,m(r,e);case 2:return t.abrupt("return",s(t.sent));case 4:case"end":return t.stop()}}),t)})));return function(r,e){return t.apply(this,arguments)}}(),x=function(){var t=o(i.mark((function t(r){var e;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch("https://min-api.cryptocompare.com/data/price?fsym="+r+"&tsyms=BTC");case 2:if(200===(e=t.sent).status){t.next=8;break}return t.next=6,e.json();case 6:throw Error(t.sent);case 8:return t.next=10,e.json();case 10:return t.abrupt("return",t.sent.BTC);case 12:case"end":return t.stop()}}),t)})));return function(r){return t.apply(this,arguments)}}(),w=function(){var t=o(i.mark((function t(){var r;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch("https://xchain.io/api/asset/PEPECASH");case 2:if(200===(r=t.sent).status){t.next=8;break}return t.next=6,r.json();case 6:throw Error(t.sent);case 8:return t.next=10,r.json();case 10:return t.abrupt("return",t.sent.estimated_value.btc);case 12:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),b=function(){var t=o(i.mark((function t(){var r;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch("https://xchain.io/api/asset/XCP");case 2:if(200===(r=t.sent).status){t.next=8;break}return t.next=6,r.json();case 6:throw Error(t.sent);case 8:return t.next=10,r.json();case 10:return t.abrupt("return",t.sent.estimated_value.btc);case 12:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),g={},k=function(){var t=o(i.mark((function t(e){var n,o,a,c,u,s;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=Date.now(),!((o=g[e])&&n-o.timestamp<6e4)){t.next=4;break}return t.abrupt("return",o.rate);case 4:return t.prev=4,t.next=7,fetch("https://api.coinbase.com/v2/prices/BTC-"+e+"/spot");case 7:if(200!==(a=t.sent).status){t.next=15;break}return t.next=11,a.json();case 11:return c=r(t.sent.data.amount,{separator:"",symbol:""}).format(),g[e]={rate:c,timestamp:n},t.abrupt("return",c);case 15:t.next=20;break;case 17:t.prev=17,t.t0=t.catch(4),console.warn("Coinbase API failed, falling back to Coindesk:",t.t0);case 20:return t.prev=20,t.next=23,fetch("https://api.coindesk.com/v1/bpi/currentprice/"+e.toLowerCase()+".json");case 23:if(200!==(u=t.sent).status){t.next=31;break}return t.next=27,u.json();case 27:return s=r(t.sent.bpi[e].rate,{separator:"",symbol:""}).format(),g[e]={rate:s,timestamp:n},t.abrupt("return",s);case 31:return t.next=33,u.json();case 33:throw Error(t.sent);case 37:throw t.prev=37,t.t1=t.catch(20),new Error("Both Coinbase and Coindesk APIs failed: "+t.t1);case 40:case"end":return t.stop()}}),t,null,[[4,17],[20,37]])})));return function(r){return t.apply(this,arguments)}}();exports.bitcoinToFiat=c,exports.bitcoinToPepecash=u,exports.bitcoinToSatoshis=s,exports.bitcoinToXcp=p,exports.cryptoToBitcoin=f,exports.fiatToBitcoin=m,exports.fiatToSatoshis=y,exports.getCryptoBtcRate=x,exports.getFiatBtcRate=k,exports.getPepecashBtcRate=w,exports.getXcpBtcRate=b,exports.pepecashToBitcoin=h,exports.satoshisToBitcoin=v,exports.satoshisToFiat=d,exports.xcpToBitcoin=l; //# sourceMappingURL=bitcoin-conversion.cjs.production.min.js.map