UNPKG

@rarimo/shared

Version:

Utility functions, types and constants shared across Rarimo packages.

96 lines (95 loc) 2.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { CONFIG: function() { return CONFIG; }, createApi: function() { return createApi; }, coreApi: function() { return coreApi; }, dexApi: function() { return dexApi; }, loadAllPagesData: function() { return loadAllPagesData; } }); const _jac = require(/*#__PURE__*/ "@distributedlab/jac"); function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _async_to_generator(fn) { return function() { var self = this, args = arguments; return new Promise(function(resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } const CONFIG = { CORE_API_BASE_URL: 'https://api.rarify.tokend.io', DEX_API_BASE_URL: 'https://api.rarimo.com/dexoracle', MAX_PAGE_LIMIT: 500 }; const getOrigin = ()=>{ if (typeof window === 'undefined') return ''; var _window_origin; return (_window_origin = window === null || window === void 0 ? void 0 : window.origin) !== null && _window_origin !== void 0 ? _window_origin : ''; }; const createApi = (baseUrl)=>{ return new _jac.JsonApiClient({ baseUrl, headers: { 'Content-Type': 'application/json', Origin: getOrigin() }, credentials: 'omit' }); }; const coreApi = createApi(CONFIG.CORE_API_BASE_URL); const dexApi = createApi(CONFIG.DEX_API_BASE_URL); const loadAllPagesData = function() { var _ref = _async_to_generator(function*(response, defaultPageLimit = CONFIG.MAX_PAGE_LIMIT) { const data = response.data; const pageLimit = response.pageLimit || defaultPageLimit; while(response.data.length === pageLimit){ response = yield response.fetchPage(_jac.JsonApiLinkFields.next); const newResponseData = response.data; data.push(...newResponseData); } return data; }); return function loadAllPagesData(response) { return _ref.apply(this, arguments); }; }(); //# sourceMappingURL=api.js.map