taro-hooks
Version:
为 Taro 而设计的 Hooks Library
76 lines • 2.4 kB
JavaScript
var _excluded = ["errMsg"];
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
import { logError, strictOf } from '@taro-hooks/shared';
import { stringify } from 'querystring';
// prod constants
export var isProd = process.env.NODE_ENV === 'production';
export var noop = function noop() {};
export var promiseNoop = function promiseNoop() {
return Promise.resolve();
};
export var typeOf = function typeOf(target, type) {
return [type].flat().some(function (v) {
return Object.prototype.toString.call(target) === "[object " + v + "]";
});
};
export var isPlainObject = function isPlainObject(payload) {
return !(payload && Object.entries(payload).length);
};
export var isUndefined = function isUndefined(target) {
return typeof target === 'undefined';
};
/**
* general common error message resp
* @param {T = string} method 调用方法
* @param {string} message 自定义错误信息
* @returns {TaroGeneral.CallbackResult} 错误信息
*/
export function generateGeneralFail(method, message) {
message = message || '调用失败';
var errMsg = "[API " + method + "] " + message;
if (!isProd) logError(errMsg);
return {
errMsg: errMsg
};
}
/**
* combine init and custom options
* @param generalOption init options
* @param option custom options
* @returns options
*/
export function combineOptions(generalOption, option) {
if (generalOption === void 0) {
generalOption = {};
}
if (option === void 0) {
option = {};
}
return Object.assign({}, generalOption, option);
}
/**
* make queryString URI
* @param url origin URI
* @param options unparse payload
* @returns {string} URIWithQS
*/
export function stringfiyUrl(url, options) {
var stringfiyUrl = url;
if (options && strictOf(options, 'Object')) {
var hasQuery = stringfiyUrl.includes('?');
stringfiyUrl += (hasQuery ? '&' : '?') + stringify(options);
}
return stringfiyUrl;
}
/**
* filter orgin successCallbackResult errMsg Fields
* @param successResultArray
* @returns WithoutErrMsgArray
*/
export function filterErrMsgField(successResultArray) {
return successResultArray.map(function (_ref) {
var errMsg = _ref.errMsg,
result = _objectWithoutPropertiesLoose(_ref, _excluded);
return result;
});
}