react-use-ark
Version:
Hook to easily access ARK blockchain Ѧ API in React application
3 lines (2 loc) • 5.02 kB
JavaScript
import{useReducer as t,useEffect as r}from"react";import e from"axios";var n=function(){return(n=Object.assign||function(t){for(var r,e=1,n=arguments.length;e<n;e++)for(var o in r=arguments[e])Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o]);return t}).apply(this,arguments)};function o(t,r,e,n){return new(e||(e=Promise))((function(o,a){function i(t){try{s(n.next(t))}catch(t){a(t)}}function u(t){try{s(n.throw(t))}catch(t){a(t)}}function s(t){t.done?o(t.value):new e((function(r){r(t.value)})).then(i,u)}s((n=n.apply(t,r||[])).next())}))}function a(t,r){var e,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(a){return function(u){return function(a){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,n=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=r.call(t,i)}catch(t){a=[6,t],n=0}finally{e=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}}var i,u=function(){return function(t,r){switch(r.type){case"FETCHING":return n(n({},t),{isLoading:!0,error:null});case"SUCCESS":return n(n({},t),{isLoading:!1,response:r.payload,error:null});case"FAILURE":return n(n({},t),{isLoading:!1,response:null,error:r.payload});default:throw new Error}}},s={isLoading:!1,error:null,response:null};function c(n,i,c,l){var p=this;void 0===i&&(i={});var d=t(u(),s),f=d[0],v=d[1],y=!1,m=function(){return o(p,void 0,void 0,(function(){var t,r,o;return a(this,(function(a){switch(a.label){case 0:v({type:"FETCHING"}),t=l+"/"+n,a.label=1;case 1:return a.trys.push([1,3,,4]),[4,e.get(t,i)];case 2:return r=a.sent().data,y||v({type:"SUCCESS",payload:r}),[3,4];case 3:return o=a.sent(),y||v({type:"FAILURE",payload:o.message}),[3,4];case 4:return[2]}}))}))};return r((function(){return y=!1,c&&m(),function(){y=!0}}),[]),[f,m]}!function(t){t.DEVNET="https://dexplorer.ark.io/api",t.MAINNET="https://api.ark.io/api",t.TESTNET="http://127.0.0.1:4003/api"}(i||(i={}));var l=function(t,r,e,n){return void 0===t&&(t=1),void 0===r&&(r=25),void 0===e&&(e=!1),void 0===n&&(n=i.MAINNET),c("blocks",{params:{page:t,limit:r,orderBy:"timestamp:desc"}},e,n)},p=function(t,r){void 0===t&&(t=!1),void 0===r&&(r=i.MAINNET);return c("blocks",{params:{limit:1,orderBy:"timestamp:desc"}},t,r)},d=function(t,r,e){return void 0===r&&(r=!1),void 0===e&&(e=i.MAINNET),c("blocks/"+t,{},r,e)};var f=function(n,c){return void 0===n&&(n=!1),void 0===c&&(c=i.MAINNET),function(n,i,c){var l=this,p=t(u(),s),d=p[0],f=p[1],v=!1,y=function(){return o(l,void 0,void 0,(function(){var t,r,o,i,u,s,l,p,d;return a(this,(function(a){switch(a.label){case 0:f({type:"FETCHING"}),t=c+"/"+n,a.label=1;case 1:return a.trys.push([1,4,,5]),[4,e.get(t,{params:{page:1}})];case 2:for(r=a.sent().data,o=r.data,i=[],u=2;u<=r.meta.pageCount;u++)i.push(e.get(t,{params:{page:u}}));return[4,Promise.all(i)];case 3:return s=a.sent(),l=[].concat.apply([],s.map((function(t){return t.data.data}))),p=o.concat(l),v||f({type:"SUCCESS",payload:p}),[3,5];case 4:return d=a.sent(),v||f({type:"FAILURE",payload:d.message}),[3,5];case 5:return[2]}}))}))};return r((function(){return v=!1,i&&y(),function(){v=!0}}),[]),[d,y]}("delegates",n,c)},v=function(t,r,e,n){return void 0===t&&(t=1),void 0===r&&(r=25),void 0===e&&(e=!1),void 0===n&&(n=i.MAINNET),c("delegates",{params:{page:t,limit:r}},e,n)},y=function(t,r,e,n){return void 0===t&&(t=1),void 0===r&&(r=25),void 0===e&&(e=!1),void 0===n&&(n=i.MAINNET),c("transactions",{params:{orderBy:"timestamp:desc",page:t,limit:r}},e,n)},m=function(t,r,e){return void 0===r&&(r=!1),void 0===e&&(e=i.MAINNET),c("transactions/"+t,{},r,e)},h=function(t,r,e,n,o){return void 0===r&&(r=1),void 0===e&&(e=25),void 0===n&&(n=!1),void 0===o&&(o=i.MAINNET),c("blocks/"+t+"/transactions",{params:{orderBy:"timestamp:desc",page:r,limit:e}},n,o)},N=function(t,r,e,n){return void 0===t&&(t=1),void 0===r&&(r=25),void 0===e&&(e=!1),void 0===n&&(n=i.MAINNET),c("wallets/top",{params:{page:t,limit:r}},e,n)},E=function(t,r,e){return void 0===r&&(r=!1),void 0===e&&(e=i.MAINNET),c("wallets/"+t,{},r,e)};export{i as Network,d as useBlocksFindById,p as useBlocksLast,l as useBlocksLatest,f as useDelegatesAll,v as useDelegatesTop,h as useTransactionsFindByBlockId,m as useTransactionsFindById,y as useTransactionsLatest,E as useWalletsFindByAddress,N as useWalletsTop};
//# sourceMappingURL=react-use-ark.es5.js.map