@cclr/lang
v0.1.61
Published
js语言基础工具
Downloads
2,008
Readme
lang
常用 JS/TS 语言工具集合(数组、对象、断言、读写路径)。
Usage
npm i @cclr/lang
import {
forEach,
forEachReverse,
get,
set,
isEmpty,
isEqual,
isPromise,
isFormData,
obj,
} from '@cclr/lang';
const list = [1, 2, 3];
forEach(list, (item) => console.log(item));
forEachReverse(list, (item) => console.log(item));
const state = set({}, 'user.profile.name', 'tom');
const name = get(state, 'user.profile.name', 'unknown');
const empty = isEmpty({});
const equal = isEqual({ a: 1 }, { a: 1 });
const maybePromise = isPromise(Promise.resolve(1));
const form = isFormData(new FormData());
const picked = obj.pick({ a: 1, b: 2 }, ['a']);API 说明
数组
forEach(arr, callback, reverse?):遍历数组,支持可选反向遍历。forEachReverse(arr, callback):从尾到头遍历数组。
路径读写
get(source, path, defaultValue?):按路径读取对象值(如a.b.c)。set(source, path, value):按路径设置对象值,不存在的节点会自动创建。
类型判断
getParamType(value):返回值类型标识(如string、array、object)。isType(value, type):判断值是否为指定类型。isString(value):判断是否为字符串。isNumber(value):判断是否为有限数字(排除NaN/Infinity)。isBoolean(value):判断是否为布尔值。isSymbol(value):判断是否为symbol。isNull(value):判断是否为null。isUndefined(value):判断是否为undefined。isUndefinedOrNull(value):判断是否为undefined或null。isFunction(value):判断是否为函数。isObject(value):判断是否为对象。isPlainObject(value):判断是否为普通对象({})。isArray(value):判断是否为数组。isEmpty(value):判断是否为空值/空对象/空数组/空字符串。isEqual(a, b):深度比较两个值是否相等。isPromise(value):判断是否为 PromiseLike。
Web/DOM 类型判断
isArrayBuffer(value):安全判断是否为ArrayBuffer(兼容无全局对象的环境)。isBlob(value):安全判断是否为Blob。isDOMException(value):安全判断是否为DOMException。isFormData(value):安全判断是否为FormData。isURLSearchParams(value):安全判断是否为URLSearchParams。
对象基础
hasOwn(obj, key):判断对象是否含有自身属性(非原型链)。toString(value):获取值的原始toString标签(如[object Array])。
对象工具(obj 命名空间)
obj.extend(sourceObj, injectObj):将injectObj的属性合并到sourceObj。obj.filter(sourceObj, filter?):按条件过滤对象属性,返回新对象。obj.forEach(obj, callback):同步遍历对象键值对。obj.forEachAsync(obj, callback):串行异步遍历对象。obj.forEachSync(obj, callback):并行异步遍历对象(Promise.all)。obj.format(object, formatOptionList):按类型规则格式化对象字段。obj.omit(sourceObj, omitKeys):返回剔除指定字段后的新对象。obj.pick(sourceObj, keys):返回仅保留指定字段的新对象。
其它
noop():空函数。defaultValue:各类型的默认值映射表。VAL_TYPE:类型标识常量表。
类型
TAny:任意类型别名。TPlainObject:普通对象类型。TPlainFunction:普通函数类型。TNoop:无参无返回值函数类型。TUndefinedOrNull:undefined | null联合类型。RequireRecursive<T>:递归将所有属性变为必填。PartialRecursive<T>:递归将所有属性变为可选。
