UNPKG

@polyv/utils

Version:

Utility functions of Polyv frontend development.

44 lines (43 loc) 1.24 kB
/** * 本模块提供 json 处理相关方法。 * @packageDocumentation */ /** * 深度克隆指定对象(仅限 JSON 支持的数据类型)。 * @param obj 指定对象。 * @return 克隆结果。 * @example * ```javascript * cloneJSON({ a: 1, b: 2 }); // { a: 1, b: 2 } * ``` */ export declare function cloneJSON(obj: unknown): any; /** * JSON 字符串解析失败时的回调。 */ export interface IErrorCallback { (e: Error): unknown; } /** * 尝试把指定字符串解析为 JSON 对象。 * @param str 指定字符串。 * @param onError 解析出错时执行的回调函数。函数返回值会作为解析失败时的解析结果。 * @return 解析结果。 * @example * ```javascript * tryParseJSON('ss&&**'); // undefined * tryParseJSON('{"a": 1}'); // { a: 1 } * ``` */ export declare function tryParseJSON(str: string, onError?: IErrorCallback): unknown; /** * 尝试把指定字符串解析为 JSON 对象。 * @param str 指定字符串。 * @param defaultValue 解析出错时的默认结果。 * @return 解析结果。 * @example * ```javascript * tryParseJSON('12&&**', 1); // 1 * ``` */ export declare function tryParseJSON(str: string, defaultValue?: unknown): unknown;