UNPKG

zmp-sdk

Version:

Zalo Mini App SDK

2 lines (1 loc) 1.28 kB
import r from'./../external/@swc/helpers/src/_to_consumable_array.mjs.js';import{generateErrorMessage as i}from"./common.js";import{errorHandler as t}from"./errorHandler.js";import o from"./lodash.js";import{apiResponse as e}from"./response.js";import s from"../common/token.js";import{API as n}from"../constants.js";function a(a,l,m,u){var c,f;!function(r,i){if(n[r]){var o=s.getRetryLimit(r);o.lastCall&&(new Date).getTime()-o.lastCall>1e3&&s.resetRetryLimit(r);var a=o.limit||3;if(o.retry&&o.retry>=a)throw t(e.error.failLimit(),r);s.increaseRetryLimit(r)}}(a);var v=Array.isArray(m)&&m.length>0&&(null===(c=m[0])||void 0===c?void 0:c.success),d=Array.isArray(m)&&m.length>0&&(null===(f=m[0])||void 0===f?void 0:f.fail);try{var h=m;l.length>0&&l.forEach((function(r,o){var s=r.safeParse(m[o]);if(!s.success){var n,l=null===(n=s.error)||void 0===n?void 0:n.issues,u=i(l),c=e.error.badRequest(u);throw c.detail=l,t(c,a)}h.push(s.data)}));var p=u.apply(void 0,r(h));return o.isPromise(p)?new Promise((function(r,i){p.then((function(i){if(!o.isNull(v)&&o.isFunction(v))return v(i);r(p)})).catch((function(r){var e=t(r,a);if(!o.isNull(d)&&o.isFunction(d))return d(e);i(e)}))})):p}catch(r){if(!o.isNull(d)&&o.isFunction(d))return d(r);throw t(r,a)}}export{a as functionHandler};