UNPKG

@tracing/shared

Version:
275 lines (209 loc) 7.65 kB
export declare type AnyFun = (...args: any[]) => any; export declare class BaseStorage<T> { private name; private s; constructor(name: string, type: BaseStorageOptions); get(): T | null; set(value: T): boolean; clear(): void; } export declare type BaseStorageOptions = "localStorage" | "sessionStorage"; export declare function browserPerformanceTimer(): TracingPerformanceTimer | undefined; export declare type Choice<T = string> = T[] | ((arg: T) => boolean) | RegExp; export declare function choice<T extends string>(type: Choice<T>): (arg: T) => boolean; export declare interface CookieOptions { path: string; domain: string; expires: string | number | Date; secure: boolean; } export declare function createCookie<T>(name: string, options?: Partial<CookieOptions>): { get(): T | null; set(value: T): boolean; clear(): void; }; export declare function createLocalStorage<T>(name: string): BaseStorage<T>; export declare function createSessionStorage<T>(name: string): BaseStorage<T>; /** * 解码数据 * @param data - 要解码的数据 * @returns */ export declare function decrypt(data: string): string; /** * 编码数据 * @param data - 要编码的数据 * @returns */ export declare function encrypt(data: string): string; export declare function formatNumber(number: number, precision?: number): number; /** * 获取一个 DOM 元素的属性名列表 * @param el - 元素 */ export declare function getAttributeNames(el: Element): string[]; /********************************* DOM ***********************************/ /** * 获取当前元素的选择器 * * @param el - 元素 * @param stopClass - 停止向上查询的 class 名列表 * @param stopById - 是否在碰到 id 时 停止向上查找 * @param isPath - 是否在获取路径中使用 * */ export declare function getCurrentElementSelector(el: Element, stopClass?: string[], stopById?: boolean, isPath?: boolean): string; /** * 获取一个 DOM 元素的类名数组 * @param el - 元素 * */ export declare function getElementClassList(el: Element): string[]; /** * 获取一个 DOM 元素的类名 * * @param el - 元素 * */ export declare function getElementClassName(el: Element): string; /** * 获取一个 DOM 元素的主体文本内容 * * @param el - 元素 * @param isTrim - 是否去除前后空格 * */ export declare function getElementContent(el: Element, isTrim?: boolean): string; export declare function getElementId(el: Element): string; /** * 获取指定元素在 DOM 树中的路径 * * @param el - 元素 * @param stopClass - 停止向上查询的class名列表 * @param stopById - 是否在碰到 id 时 停止向上查找 * */ export declare function getElementPath(el: Element, stopClass?: string[], stopById?: boolean): string; /** * 获取指定元素在 DOM 树的唯一选择器 * * @param el - 元素 * @param stopClass - 停止向上查询的class名列表 * @param stopById - 是否在碰到 id 时 停止向上查找 * */ export declare function getElementSelector(el: Element, stopClass?: string[], stopById?: boolean): string; /** * 获取一个 DOM 元素的标签名 * * @param el - 元素 * @param isLowerCase - 是否小写 * */ export declare function getElementTagName(el: Element, isLowerCase?: boolean): string; export declare function getGlobalThis<T = Window>(): T; /** * 获取当前页面的 URL 名称 */ export declare function getPathName(): string; /** * 提供便捷的获取页面常用属性方法 */ /********************************* BOM ***********************************/ /** * 获取来源页 */ export declare function getReferrer(): string; /** * 获取显示屏幕分辨率高度 */ export declare function getScreenHeight(): number; /** * 获取显示屏幕分辨率宽度 */ export declare function getScreenWidth(): number; /** * 获取时区偏移值 */ export declare function getTimezoneOffset(): number; /** * 获取当前页面的标题 */ export declare function getTitle(): string; export declare const getType: (obj: any) => string; /** * 获取当前页面的 URL */ export declare function getUrl(): string; /** * 获取当前页面的 DOM 视窗高度 */ export declare function getViewportHeight(): number; /** * 获取当前页面的 DOM 视窗宽度 */ export declare function getViewportWidth(): number; export declare function hasOwn<T extends Record<string, any>>(obj: T, key: keyof T): boolean; export declare const isArr: (arg: any) => arg is any[]; export declare const isBool: (obj: unknown) => obj is boolean; export declare function isBrowser(): boolean; export declare const isDate: (obj: unknown) => obj is Date; export declare function isElement(value: unknown): value is Element; export declare function isErrorEvent(value: unknown): value is ErrorEvent; export declare const isFn: (val: any) => val is Function; export declare function isInstanceOf(wat: any, base: any): boolean; export declare const isNum: (obj: unknown) => obj is number; export declare const isObj: (value: unknown) => value is Record<string, any>; export declare const isPlainObj: (obj: unknown) => obj is object; export declare function isPrimitive(wat: unknown): wat is Primitive; export declare const isRegexp: (obj: unknown) => obj is RegExp; export declare const isStr: (obj: unknown) => obj is string; export declare const isType: <T>(type: string | string[]) => (obj: unknown) => obj is T; export declare const isUndefined: (obj: unknown) => obj is undefined; /** * return local now time */ export declare function localTime(): number; export declare function noop(): void; export declare function omit<T extends Record<string, any>, K extends keyof T>(origin: T, keys: K[]): Omit<T, K>; export declare type PartialOmit<T extends Record<string, any>, K extends keyof T> = Partial<Omit<T, K>> & Pick<T, K>; export declare function pick<T extends Record<string, any>, K extends keyof T>(origin: T, keys: K[]): Pick<T, K>; export declare function pickParse<T extends Record<string, any>, K extends keyof T & string>(obj: T, keys: K[], parse: (arg: T[K]) => T[K], omit?: K[]): T; export declare type Primitive = number | string | boolean | bigint | symbol | null | undefined; /** * 根据一个 object 返回 url query */ export declare function qs(obj: Record<string, any>, prefix?: string): string; export declare type RemoveIndexSignature<T> = { [K in keyof T as string extends K ? never : number extends K ? never : symbol extends K ? never : K]: T[K]; }; /** * return page load relative time */ export declare function timestamp(): number | "?"; /** * in tracing time only is millisecond */ declare interface TracingPerformanceTimer { timeOrigin: number; now: () => number; } /** * 转化参数,如果是函数就会执行 * * @param origin - 原始数据 * */ export declare function transProfile<T extends Record<string, any>>(origin: T): Record<string, any>; export declare type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; /** * if you not know property return this (reduce build size) */ export declare const unknown = "?"; /** * UUID4 generator * * @returns string Generated UUID4. */ export declare function uuid4(): string; export { }