UNPKG

openchain-sdk-yxl-wx-request

Version:

openchain sd YxL wx request

65 lines (50 loc) 1.32 kB
'use strict'; const type = exports; /** * 类型检查工具函数 */ // 基础类型检查 type.undefined = function(value) { return typeof value === 'undefined'; }; type.string = function(value) { return typeof value === 'string'; }; type.number = function(value) { return typeof value === 'number' && !isNaN(value); }; type.boolean = function(value) { return typeof value === 'boolean'; }; type.array = function(value) { return Array.isArray(value); }; type.object = function(value) { return value !== null && typeof value === 'object' && !Array.isArray(value); }; type.function = function(value) { return typeof value === 'function'; }; type.numeric = function(value) { return !isNaN(parseFloat(value)) && isFinite(value); }; // 特殊类型检查 type.buffer = function(value) { return Buffer.isBuffer(value); }; type.date = function(value) { return value instanceof Date; }; type.error = function(value) { return value instanceof Error; }; type.promise = function(value) { return value && typeof value.then === 'function'; }; // 空值检查 type.empty = function(value) { if (type.array(value)) return value.length === 0; if (type.object(value)) return Object.keys(value).length === 0; if (type.string(value)) return value.trim().length === 0; return !value; };