@motojs_sdk/utils
Version:
110 lines (107 loc) • 3.82 kB
TypeScript
/**
* 原生try函数
* ../param fn try中执行的函数体
* ../param errorFn 报错时执行的函数体,将err传入
*/
declare const nativeTryCatch: (fn: () => void, errorFn?: (err: any) => void) => void;
/**
* 绑定事件监听器
*
* @param target 目标对象,需要包含 addEventListener 方法
* @param eventName 事件名称,需要是 WindowEventMap 类型的键
* @param handler 事件处理函数
* @param options 是否使用捕获方式或传递事件对象的其他选项,默认为 false
*/
declare const on: (target: {
addEventListener: Function;
}, eventName: keyof WindowEventMap, handler: Function, opitons?: boolean | unknown) => void;
/**
* 移除目标元素的事件监听器
*
* @param target 目标元素,包含 removeEventListener 方法的对象
* @param eventName 事件名,属于 WindowEventMap 的键
* @param handler 事件处理函数
* @param options 可选参数,事件监听器的选项,默认为 false
*/
declare const off: (target: {
removeEventListener: Function;
}, eventName: keyof WindowEventMap, handler: Function, opitons?: boolean | unknown) => void;
/**
* 获取当前页面的 URL 地址
*
* @returns 返回当前页面的 URL 地址字符串,如果当前环境不是浏览器则返回空字符串
*/
declare const getLocationHref: () => string;
/**
* 获取当前时间戳(毫秒级)
*
* @returns 返回当前时间戳
*/
declare const getTimestamp: () => number;
/**
* 截取字符串前n个字符,并在原字符串长度大于n时添加提示信息
*
* @param str 要截取的字符串
* @param interceptLength 截取长度
* @returns 截取后的字符串,如果原字符串长度大于截取长度,则在末尾添加提示信息
*/
declare const interceptStr: (str: string, interceptLength: number) => string;
/**
* 安全的转换对象,包括循环引用,如果是循环引用就返回Loop
*
* @export
* @param {object} obj 需要转换的对象
* @return {*} {string}
*/
declare const safeStringify: (obj: object) => string;
/**
* 将未知的类型转化为字符串,number boolear 除外
*
* @param data
* @returns
*/
declare const unknowtoString: (data: any) => string;
/**
* 重写一些内置方法
* @param source
* @param name
* @param replacement
* @param isForce
* @returns
*/
declare const replaceOld: <T>(source: T, name: keyof T, replacement: (...args: any[]) => any, isForce?: boolean) => void;
/**
* 返回包含id、class、innerTextde字符串的标签
* @param target html节点
*/
declare const htmlElementAsString: (target: HTMLElement) => string;
/**
* 判断当前环境是否支持历史记录API
*
* @returns 如果支持历史记录API则返回true,否则返回false
*/
declare const supportsHistory: () => boolean;
/**
* 判断目标对象是否包含未知属性
*
* @param target 目标对象
* @param name 属性名称
* @returns 如果目标对象包含未知属性,则返回true;否则返回false
*/
declare const targetHasUnknow: (target: any, name: string) => boolean;
declare const nanoid: (size: number) => string;
/**
* 生成唯一的FeId
*
* @returns 返回一个字符串类型的FeId
*/
declare const createFeId: () => string;
/**
* 计算两个时间戳之间的差值(毫秒数)
*
* @param time1 第一个时间戳,可以是数字或字符串类型
* @param time2 第二个时间戳,可以是数字或字符串类型
* @returns 返回两个时间戳之间的差值(毫秒数)
*/
declare const timeDifference: (time1: number | string, time2: number | string) => number;
export { createFeId, getLocationHref, getTimestamp, htmlElementAsString, interceptStr, nanoid, nativeTryCatch, off, on, replaceOld, safeStringify, supportsHistory, targetHasUnknow, timeDifference, unknowtoString };