UNPKG

@rdkmaster/jigsaw-labs

Version:

Jigsaw, the next generation component set for RDK

111 lines (110 loc) 3.9 kB
export declare class CommonUtils { private static _noDataImageSrc; static noDataImageSrc: string; private static copy(source, isDeep); /** * 浅拷贝一个对象 * @param source */ static shallowCopy(source: Object): Object; /** * 深拷贝一个对象 * @param source */ static deepCopy(source: Object): Object; /** * 比较两个对象是否相等,如果提供`trackItemBy`参数,则只比较`trackItemBy`数组列出的属性是否相等; * 如果未提供`trackItemBy`,则按值比较两个对象是否相等。 * * @param item1 待比较的值1 * @param item2 待比较的值2 * @param {string[]} trackItemBy 待比较的属性列表 * @returns {boolean} */ static compareWithKeyProperty(item1: any, item2: any, trackItemBy: string[]): boolean; /** * 判断一个对象是否不包含任何属性 * * @param obj * @returns {boolean} */ static isEmptyObject(obj: any): boolean; /** * 负责两个对象的合并,将sourceObject 中的属性添加到targetObject 中 * * @param targetObject 要合并的源对象 * @param sourceObject 合并的对象信息 * @returns {Object} 如果`targetObject`非空,则返回`targetObject`,否则返回一个新对象。 */ static extendObject(targetObject: Object, sourceObject: Object): Object; static extendObjects<T = Object>(targetObject: T, ...sources: any[]): T; /** * 把一个值转为px或% * @param value * @returns string */ static getCssValue(value: string | number): string; /** * * @param element * @param selector 支持'.className' '#id' '[attr]' 'tagName' * @returns {HTMLElement} */ static getParentNodeBySelector(element: HTMLElement, selector: string): HTMLElement; /** * 获取浏览器的语言,例如 `"zh"` * * @returns string */ static getBrowserLang(): string; /** * 获取浏览器的语言,例如 `"zh-CN"` * * @returns string */ static getBrowserCultureLang(): string; /** * 安全的调用一个函数,并返回该函数的返回值。如果该函数执行失败,可以在控制台给出实际的堆栈以协助排查问题 * * @param context 执行函数的上下文 * @param {Function} callback 待执行的回调函数 * @param {any[]} args 传递给回调函数的参数列表 * @returns {any} 返回该函数的返回值 */ static safeInvokeCallback(context: any, callback: Function, args?: any[]): any; /** * 可靠的判断一个值是否有效,输入 `""` 和 `0` 均返回true,只有`null`或者`undefined`才会返回false * * @param value 待测验的值 * @returns {boolean} */ static isDefined(value: any): boolean; /** * 参考 `isDefined` * * @param value * @returns {boolean} */ static isUndefined(value: any): boolean; /** * 将url中的参数解析为一个对象 * * @param {string} rawParam 格式为`var1=value1&var2=value2` * @returns {Object} 返回类似`{var1: "value1", var2: "value2"}`的对象 */ static parseUrlParam(rawParam: string): Object; /** * 是浏览器内置uri解码`decodeURI()`函数的火力增强版,可以解码任何uri * * @param {string} uri * @returns {string} */ static superDecodeURI(uri: string): string; /** * 判断浏览器是否为IE */ static isIE(): boolean; static getBrowserType(): string; static toTrackByFunction(trackBy: string | string[]): (index: number, item: any) => any; } export declare type CallbackRemoval = () => void;