UNPKG

@yoroi/claim

Version:

The Claim (proof-of-onboarding) package of Yoroi SDK

68 lines (67 loc) 1.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.claimManagerMaker = void 0; var _common = require("@yoroi/common"); var _types = require("@yoroi/types"); var _immer = require("immer"); var _transformers = require("./transformers"); var _validators = require("./validators"); const claimManagerMaker = function (_ref) { let { address, primaryTokenInfo, tokenManager } = _ref; let deps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { request: _common.fetchData }; const claimTokens = postClaimTokens({ address, primaryTokenInfo, tokenManager }, deps); return (0, _immer.freeze)({ claimTokens, address, primaryTokenInfo }); }; exports.claimManagerMaker = claimManagerMaker; const postClaimTokens = (_ref2, _ref3) => { let { address, primaryTokenInfo, tokenManager } = _ref2; let { request } = _ref3; return async claimAction => { // builds the request from the action, overides address and code const { code, params, url } = claimAction; const payload = { ...params, address, code }; const response = await request({ url, method: 'post', data: payload }); if ((0, _common.isLeft)(response)) { return (0, _transformers.asClaimApiError)(response.error); } else { const claimInfo = response.value.data; if (!_validators.ClaimTokensApiResponseSchema.safeParse(claimInfo).success) throw new _types.Api.Errors.ResponseMalformed(); return (0, _transformers.asClaimToken)(claimInfo, primaryTokenInfo, tokenManager); } }; }; //# sourceMappingURL=manager.js.map