UNPKG

@tplc/wot

Version:

284 lines (283 loc) 9.55 kB
import { AbortablePromise } from './AbortablePromise' type NotUndefined<T> = T extends undefined ? never : T /** * 生成uuid * @returns string */ export declare function uuid(): string /** * @description 对num自动填充px * @param {Number} num * @return {string} num+px */ export declare function addUnit(num: number | string): string /** * @description 判断target是否对象 * @param value * @return {boolean} */ export declare function isObj(value: any): value is object /** * 获取目标原始类型 * @param target 任意类型 * @returns {string} type 数据类型 */ export declare function getType(target: unknown): string /** * @description 默认的外部格式化函数 - picker 组件 * @param items - 要格式化的数据项数组或单个数据项 * @param kv - 配置对象,包含 labelKey 作为键值 * @returns 格式化后的字符串 */ export declare const defaultDisplayFormat: ( items: any[] | Record<string, any>, kv?: { labelKey?: string }, ) => string /** * @description 默认函数占位符 - pickerView组件 * @param value 值 * @return value */ export declare const defaultFunction: <T>(value: T) => T /** * @description 检查值是否不为空 * @param value 值 * @return {Boolean} 是否不为空 */ export declare const isDef: <T>(value: T) => value is NonNullable<T> /** * @description 防止数字小于零 * @param {number} num * @param {string} label 标签 */ export declare const checkNumRange: (num: number, label?: string) => void /** * @description 防止 pixel 无意义 * @param {number} num * @param {string} label 标签 */ export declare const checkPixelRange: (num: number, label?: string) => void /** * 将 RGB 值转换为十六进制颜色代码。 * @param {number} r - 红色分量 (0-255)。 * @param {number} g - 绿色分量 (0-255)。 * @param {number} b - 蓝色分量 (0-255)。 * @returns {string} 十六进制颜色代码 (#RRGGBB)。 */ export declare function rgbToHex(r: number, g: number, b: number): string /** * 计算渐变色的中间变量数组。 * @param {string} startColor 开始颜色 * @param {string} endColor 结束颜色 * @param {number} step 获取渲染位置,默认为中间位置 * @returns {string[]} 渐变色中间颜色变量数组 */ export declare const gradient: (startColor: string, endColor: string, step?: number) => string[] /** * 确保数值不超出指定范围。 * @param {number} num 要限制范围的数值 * @param {number} min 最小范围 * @param {number} max 最大范围 * @returns {number} 在指定范围内的数值 */ export declare const range: (num: number, min: number, max: number) => number /** * 比较两个值是否相等。 * @param {any} value1 第一个值 * @param {any} value2 第二个值 * @returns {boolean} 如果值相等则为 true,否则为 false */ export declare const isEqual: (value1: any, value2: any) => boolean /** * 在数字前补零,使其达到指定长度。 * @param {number | string} number 要补零的数字 * @param {number} length 目标长度,默认为 2 * @returns {string} 补零后的结果 */ export declare const padZero: (number: number | string, length?: number) => string /** @description 全局变量id */ export declare const context: { id: number } export type RectResultType<T extends boolean> = T extends true ? UniApp.NodeInfo[] : UniApp.NodeInfo /** * 获取节点信息 * @param selector 节点选择器 #id,.class * @param all 是否返回所有 selector 对应的节点 * @param scope 作用域(支付宝小程序无效) * @returns 节点信息或节点信息数组 */ export declare function getRect<T extends boolean>( selector: string, all: T, scope?: any, ): Promise<RectResultType<T>> /** * 将驼峰命名转换为短横线命名。 * @param {string} word 待转换的词条 * @returns {string} 转换后的结果 */ export declare function kebabCase(word: string): string /** * 将短横线链接转换为驼峰命名 * @param word 需要转换的短横线链接 * @returns 转换后的驼峰命名字符串 */ export declare function camelCase(word: string): string /** * 检查给定值是否为数组。 * @param {any} value 要检查的值 * @returns {boolean} 如果是数组则返回 true,否则返回 false */ export declare function isArray(value: any): value is Array<any> /** * 检查给定值是否为函数。 * @param {any} value 要检查的值 * @returns {boolean} 如果是函数则返回 true,否则返回 false */ export declare function isFunction<T extends Function>(value: any): value is T /** * 检查给定值是否为字符串。 * @param {unknown} value 要检查的值 * @returns {value is string} 如果是字符串则返回 true,否则返回 false */ export declare function isString(value: unknown): value is string /** * 否是数值 * @param {*} value */ export declare function isNumber(value: any): value is number /** * 检查给定值是否为 Promise 对象。 * @param {unknown} value 要检查的值 * @returns {value is Promise<any>} 如果是 Promise 对象则返回 true,否则返回 false */ export declare function isPromise(value: unknown): value is Promise<any> /** * 检查给定的值是否为布尔类型 * @param value 要检查的值 * @returns 如果值为布尔类型,则返回true,否则返回false */ export declare function isBoolean(value: any): value is boolean export declare function isUndefined(value: any): value is undefined export declare function isNotUndefined<T>(value: T): value is NotUndefined<T> /** * 检查给定的值是否为奇数 * @param value 要检查的值 * @returns */ export declare function isOdd(value: number): boolean /** * 是否为base64图片 * @param {string} url * @return */ export declare function isBase64Image(url: string): boolean /** * 将外部传入的样式格式化为可读的 CSS 样式。 * @param {object | object[]} styles 外部传入的样式对象或数组 * @returns {string} 格式化后的 CSS 样式字符串 */ export declare function objToStyle(styles: Record<string, any> | Record<string, any>[]): string export declare const requestAnimationFrame: (cb?: () => void) => AbortablePromise<unknown> /** * 暂停指定时间函数 * @param ms 延迟时间 * @returns */ export declare const pause: (ms: number) => AbortablePromise<unknown> /** * 深拷贝函数,用于将对象进行完整复制。 * @param obj 要深拷贝的对象 * @param cache 用于缓存已复制的对象,防止循环引用 * @returns 深拷贝后的对象副本 */ export declare function deepClone<T>(obj: T, cache?: Map<any, any>): T /** * 深度合并两个对象。 * @param target 目标对象,将合并的结果存放在此对象中 * @param source 源对象,要合并到目标对象的对象 * @returns 合并后的目标对象 */ export declare function deepMerge<T extends Record<string, any>>( target: T, source: Record<string, any>, ): T /** * 深度合并两个对象。 * @param target * @param source * @returns */ export declare function deepAssign( target: Record<string, any>, source: Record<string, any>, ): Record<string, any> /** * 构建带参数的URL * @param baseUrl 基础URL * @param params 参数对象,键值对表示要添加到URL的参数 * @returns 返回带有参数的URL */ export declare function buildUrlWithParams(baseUrl: string, params: Record<string, string>): string type DebounceOptions = { leading?: boolean trailing?: boolean } export declare function debounce<T extends (...args: any[]) => any>( func: T, wait: number, options?: DebounceOptions, ): T export declare function throttle(func: Function, wait: number): Function /** * 根据属性路径获取对象中的属性值 * @param obj 目标对象 * @param path 属性路径,可以是字符串或字符串数组 * @returns 属性值,如果属性不存在或中间的属性为 null 或 undefined,则返回 undefined */ export declare const getPropByPath: (obj: any, path: string) => any /** * 检查一个值是否为Date类型 * @param val 要检查的值 * @returns 如果值是Date类型,则返回true,否则返回false */ export declare const isDate: (val: unknown) => val is Date /** * 检查提供的URL是否为视频链接。 * @param url 需要检查的URL字符串。 * @returns 返回一个布尔值,如果URL是视频链接则为true,否则为false。 */ export declare function isVideoUrl(url: string): boolean /** * 检查提供的URL是否为图片URL。 * @param url 待检查的URL字符串。 * @returns 返回一个布尔值,如果URL是图片格式,则为true;否则为false。 */ export declare function isImageUrl(url: string): boolean /** * 判断环境是否是H5 */ export declare const isH5: boolean /** * 剔除对象中的某些属性 * @param obj * @param predicate * @returns */ export declare function omitBy<O extends Record<string, any>>( obj: O, predicate: (value: any, key: keyof O) => boolean, ): Partial<O> /** * 缓动函数,用于在动画或过渡效果中根据时间参数计算当前值 * @param t 当前时间,通常是从动画开始经过的时间 * @param b 初始值,动画属性的初始值 * @param c 变化量,动画属性的目标值与初始值的差值 * @param d 持续时间,动画持续的总时间长度 * @returns 计算出的当前值 */ export declare function easingFn(t?: number, b?: number, c?: number, d?: number): number export {}