UNPKG

sard-uniapp

Version:

sard-uniapp 是一套基于 Uniapp + Vue3 框架开发的兼容多端的 UI 组件库

227 lines (226 loc) 8.02 kB
/** * @description: 确保目标是一个数组 * @param {any} target * @return {array} */ export declare function toArray(target: any): any[]; /** * @description: 限定数值范围 * @param {number} n 被限定的值 * @param {number} min 最小值 * @param {number} max 最大值 * @return {number} 限定后的值 */ export declare function minmax(n: number, min: number, max: number): number; /** * @description: 获取小数位数 * @param {number | string} n 要操作的数值 * @return {number} */ export declare function getDecimalsLength(n: number | string): number; /** * @description: 把一个数四舍五入到指定位数小数 * @param {number} n 要操作的数值 * @param {number} precision 精准度,即小数个数 * @return {number} */ export declare function round(n: number, precision?: number): number; /** * @description: 把一个数舍入到指定数的倍数 * @param {number} n 要舍入的数值 * @param {number} m 结果值的因数 * @return {number} */ export declare function mround(n: number, m: number): number; /** * @description: 生成唯一ID,用于设置元素的ID,以便获取 * @param {string} prefix * @return {string} */ export declare function uniqid(prefix?: string): string; /** * @description: 获取阻尼值 * @param {number} value * @param {number} min * @param {number} max * @param {number} damping * @return {number} */ export declare function getDampingValue(value: number, min: number, max: number, damping: number): number; /** * @description: 获取矩形阻尼值 * @param {number} offset 当前的偏移量 * @param {number} areaSize 范围值 * @param {number} viewSize 范围内某个视图尺寸值 * @param {number} damping 阻尼系数 * @return {number} */ export declare function getRectDampingValue(offset: number, areaSize: number, viewSize: number, damping: number): number; /** * @description: 获取范围值 * @param {number} offset 当前的偏移量 * @param {number} areaSize 范围值 * @param {number} viewSize 范围内某个视图尺寸值 * @return {number} */ export declare function getInBoundValue(offset: number, areaSize: number, viewSize: number): number; /** * @description: 获取溢出值范围 * @param {number} overflow 最大溢出值 * @param {number} areaSize 范围值 * @param {number} viewSize 范围内某个视图尺寸值 * @return {*} */ export declare function getOverflowRangeInArea(overflow: number, areaSize: number, viewSize: number): [number, number]; /** * @description: 扩散性遍历 * @param {any[]} array 要遍历的数组 * @param {(el: any, spreadIndex: number, index: number) => any} callback 回调函数,接收当前元素、扩散性下标、迭代下标作为参数, * 如果返回true,则中止遍历 * @param {number} currIndex 遍历开始的下标 * @param {number} direction 开始遍历的方向 * @return {number} 扩散性下标、或开始下标 */ export declare function spreadEach(array: any[], callback: (el: any, spreadIndex: number, index: number) => any, startIndex?: number, direction?: number): number; /** * @description: 深度克隆对象,仅克隆数组和无格式对象,其他类型会被直接返回 * @param {any} target * @return {any} */ export declare function deepClone(target: any): any; /** * @description: 深拷贝其他对象到第一个对象 * @param args 任意长度参数对象 * @return 返回第一个参数对象 */ export declare function extend(...args: any[]): any; /** * @description: 判断两数组是否相等,浅比较 * @param {any[]} arr1 * @param {any[]} arr2 * @return {boolean} */ export declare function arrayEqual(arr1: any[], arr2: any[]): boolean; /** * @description: 判断一个对象是否为看得到的空 * @param {any} target * @return {boolean} */ export declare function isVisibleEmpty(target: any): boolean; /** * @description: 判断一个值是否为空 * @param {any} value * @return {boolean} */ export declare function isEmptyValue(value: any, whitespace?: boolean): boolean; /** * @description: 判断一个值渲染到DOM中时是否可见 * @param {any} value * @return {boolean} */ export declare function isRenderVisible(value: any): boolean; /** * @description: 判断是否绑定为空值 * @param {any} target * @return {boolean} */ export declare function isEmptyBinding(target: any): target is '' | null | undefined; export interface DebounceOptions { leading?: boolean; trailing?: boolean; maxWait?: number; } export declare function debounce(func: (...args: any[]) => any, wait: any, options?: DebounceOptions): { (this: any, ...args: any[]): any; cancel: () => void; flush: () => any; pending: () => boolean; }; export declare function throttle(func: (...args: any[]) => any, wait: any, options?: DebounceOptions): { (this: any, ...args: any[]): any; cancel: () => void; flush: () => any; pending: () => boolean; }; /** * @description: 获取页面范围 * @param {number} current 当前页码 * @param {number} pageCount 总页数 * @param {number} pageItemCount 要展示的页数 * @return {[number, number]} */ export declare function getPageRange(current: number, pageCount: number, pageItemCount: number): number[]; interface AnyObject { [p: string]: any; } export declare function treeToMap(tree: AnyObject[], keyName: string, childrenName: string, parentName: string): { [p: string]: AnyObject; }; /** * @description: 打乱数组 * @param {any[]} arr 要打乱的数组 * @param {boolean} inPlace 是否改变原数组 * @return {any[]} */ export declare function shuffle(arr: any[], inPlace?: boolean): any[]; interface Rect { x: number; y: number; width: number; height: number; } /** * @description: 根据原始坐标尺寸和缩放后的坐标尺寸算出转换的原点 * @param {Rect} rect * @param {Rect} scaleRect * @return {[number, number]} */ export declare function getTransformOrigin(rect: Rect, scaleRect: Rect): number[]; /** * @description: 将一个可选单位的字符串或数值拆分为数值和单位组成的数组 * @param {number | string} target * @return {[number, string]} */ export declare function splitUnit(target: number | string): [number, string]; /** * @description: 链式获取对象值 * @param object * @param chain 通过点分割的字符串或者字符串数组 */ export declare function chainGet(object: any, chain?: string | string[]): any; /** * @description: 链式设置对象值 * @param object * @param chain 通过点分割的字符串或者字符串数组 * @param value 要设置的值 */ export declare function chainSet(object: any, chain: string | string[], value: any): void; /** * @description: 移动数组中的元素 * @param array * @param fromIndex * @param toIndex * @return 移动后的新数组 */ export declare function arrayMove(array: any[], fromIndex: number, toIndex: number): any[]; export type StyleProp = string | Record<any, any> | null | undefined | false | StyleProp[]; export declare function stringifyStyle(...args: StyleProp[]): string; export type ClassProp = string | number | null | undefined | Record<string, any> | ClassProp[]; export declare function classNames(...args: ClassProp[]): string; export declare const noop: () => void; export declare function nestedToMulti(nested: any[], values: (number | string)[], fieldKeys: { value: string; children: string; }): any[]; export declare function random(min: number, max: number): number; export declare function addSeparator(num: number | string, separator?: string, digit?: number): string; export interface Coord { x: number; y: number; } export declare function getDistanceBetweenTwoPoints(c1: Coord, c2: Coord): number; export declare function getMayPrimitiveOption(option: string | number | boolean | { [key: PropertyKey]: any; }, key: string): any; export declare function sleep(time: number): Promise<unknown>; export {};