/** * Copyright (c) 2022 - present TinyVue Authors. * Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd. * * Use of this source code is governed by an MIT-style license. * * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS. * */ /** * 文本替换格式类型 */ export declare const formatTypes: { text: string; url: string; html: string; tmpl: string; }; /** * 字符对应的字符编码 */ export declare const escapeChars: { '&': string; '<': string; '>': string; '"': string; "'": string; '[': string; ']': string; }; /** * 判断是否为null、undefined、空字符串 * * isNullOrEmpty('') // true * * @param {Object} value 需判断的对象 * @return {Boolean} */ export declare const isNullOrEmpty: (value: any) => boolean; export declare const camelize: (str: any) => any; /** * 将字符串首写字母大写。 * * capitalize('hello') // "Hello" * * @param {String} string 要转换的字符串 * @returns {String} */ export declare const capitalize: (str: any) => any; export declare const hyphenate: (str: any) => any; /** * 解析Json字符串成对象。 * * let str = '{ "value": "v1", "text": "t1" }' * toJson(str) // { value: 'v1', text: 't1' } * * @param {String} string 要解析的Json字符串 * @returns {Object} */ export declare const toJson: (string: any) => any; /** * 计算字符串长度或所占的内存字节数。 * 默认计算方式(中文算两个长度,数字字母算一个),也可指定为 'basic','UTF-16','UTF-8',或自定义的计算规则。 * * getLength('12ED') // => 4 * getLength('深圳') // => 4 * getLength('好a','basic') // '好a' => 2,'a' => 1 * getLength('好a','UTF-8') // 好a' => 4,'a' => 1 * getLength('好a','UTF-16') //'好a' => 4,'a' => 2 * getLength(str, function (str) { * return (str + 'xx').length * }) * * UTF-8 是一种可变长度的 Unicode 编码格式,使用一至四个字节为每个字符编码 * * 000000 - 00007F(128个代码) 0zzzzzzz(00-7F) 一个字节 * 000080 - 0007FF(1920个代码) 110yyyyy(C0-DF) 10zzzzzz(80-BF) 两个字节 * 000800 - 00D7FF 注: Unicode在范围 D800-DFFF 中不存在任何字符 * 00E000 - 00FFFF(61440个代码) 1110xxxx(E0-EF) 10yyyyyy 10zzzzzz 三个字节 * 010000 - 10FFFF(1048576个代码) 11110www(F0-F7) 10xxxxxx 10yyyyyy 10zzzzzz 四个字节 * * * 定义参考 http://zh.wikipedia.org/wiki/UTF-8 * * UTF-16 大部分使用两个字节编码,编码超出 65535 的使用四个字节 * * 000000 - 00FFFF 两个字节 * 010000 - 10FFFF 四个字节 * * 定义参考 http://zh.wikipedia.org/wiki/UTF-16 * * @param {String} string * @param {String|Function} regular 长度规则:'basic'、'UTF-16'、'UTF-8'或自定义的计算规则函数 * @return {Number} */ export declare const getLength: (string: any, regular: any) => any; /** * 填充字符串,根据填充模式参数,在字符串前面或后面补充字附到指定的长度。 * * fillChar('1', 3) // "001" * fillChar('1', 3, true) // "100" * fillChar('1', 3, true, ' ') // "1 " * * @param {String} string 被填充的字符串 * @param {Number} length 填充到某个长度 * @param {Boolean} [append=false] 是否在后面填充,默认为在前面填充 * @param {String} [chr="0"] 填充的字符,默认为0 * @returns {String} */ export declare const fillChar: (string: any, length: any, append: any, chr?: string) => string | undefined; export declare const random: () => number; /** * 生成一个guid。 * * guid('#') // #16722423 * * @param {String} [prefix] guid前缀,可选值,默认为空字符串 * @param {Number} [length] 生成的guid的长度,可选值,默认为8 * @returns {String} */ export declare const guid: (prefix?: string, length?: number) => string; /** * 将HTML字符串进行编码。 * * escapeHtml('
&&
') // "<div>&&</div>" * * @param {String} string 要编码的字符串 * @param {Boolean} [isReplaceSpace] 是否替换空格 * @returns {String} */ export declare const escapeHtml: (string: any, isReplaceSpace: any) => any; /** * 将URL字符串进行转义。 * * let str = '< >& []""' + "'" * escape(str) // "< >& []""'" * escape(str, 'uri', true) // "%3C%20%3E%26%20%5B%5D%22%22'" * escape(str, true) // "< >& []""'" * escape(str, 'html', true) // "< >& []""'" * escape(str, 'prop', true) // "< >& []""'" * * @param {String} string 需要转换的字符串 * @param {String} [escapeType] 转换类型,可选值:uri, html, prop * @param {Boolean} [isReplaceSpace] 是否替换空格, 默认不替换 * @returns {String} */ export declare const escape: (string: any, escapeType: any, isReplaceSpace: any) => any; /** * 使用具体的对象字段代替字符串中的字段占位符。 * * fieldFormat('url:{{url}}', { url: 'http://abc.com/a&b' }) // "url:http://abc.com/a&b" * fieldFormat('url:{{#url}}', { url: 'http://abc.com/a&b' }) // "url:http://abc.com/a&b" * fieldFormat('url:{{@url}}', { url: 'http://abc.com/a&b' }) // "url:http%3A%2F%2Fabc.com%2Fa%26b" * fieldFormat('url:{{$url}}', { url: 'http://abc.com/a&b' }) // "url:http://abc.com/a&b" * fieldFormat('url:{{%url}}', { url: 'http://abc.com/a&b' }) // "url:{{http://abc.com/a&b}}" * * @param {String} string 要替换的字符串模板 * @param {Object} data 要替换模板的数据 * @param {String} [type="html"] 替换的类型:"text"、"url"、"tmpl"、"html",默认"html" * @returns {String} */ export declare const fieldFormat: (string: any, data: any, type?: string) => string | undefined; /** * 使用具体的值替换字符串中的数字占位符。 * * format('{0}', 1) // "1" * format('{0}', 1, 'text') // "1" * format('{0}{1}', [1, 2, 'text']) // "12" * format('age:{{age}}', { age: 20 }) // "age:20" * format('\\{0\\}{1}', [0, 1]) // "{0}1" * format('{0}', [{ age: 20 }]) // "{"age":20}" * format('{0}', [ 'http://abc.com/a&b' ], 'url') // "http%3A%2F%2Fabc.com%2Fa%26b" * format('{0}', [ '
&&
' ], 'html') // "<div>&&</div>" * * @param {String} string 要替换的字符串模板 * @param {Object|Array|String} data 要替换模板的数据 * @param {String} [type="text"] 替换的类型:"text"、"url"、"html",默认"text" * @returns {String} */ export declare const format: (string: any, data: any, type?: string) => any; /** * 将字符串按指定长度截断。 * * truncate('abc', 5) // "abc" * truncate('abc', 2) // "ab..." * * @param {String} string 要截断的字符串 * @param {Number} length 要截断的长度 * @param {String} [ellipsis="{0}..."] 截断类型,通常携带{0}占位符 * @returns {String} */ export declare const truncate: (string: any, length: any, ellipsis?: string) => any; /** * 尝试按指定函数转换字符串,如果转换结果为 NaN,则返回 defaultValue。 * * tryToConvert(toInt, null, 0) // 0 * * @param {Function} convert 指定的转换的函数 * @param {Number|String} defaultValue 若为 NaN 时,返回的缺省值 * @param {Number|String} value 要转换的字符串或多个参数 * @returns {Number|String} */ export declare const tryToConvert: (convert: any, defaultValue: any, ...args: any[]) => any; /** * 将字符串解析成十进制整数。 * * toInt(100) // 100 * toInt('100.01') // 100 * * @param {Number|String} value 要解析的字符串 * @returns {Number} */ export declare const toInt: (value: any) => number; /** * 尝试将字符串解析成十进制整数。如果 value 是个无效的整数,则返回 defaultValue。 * * tryToInt(100) // 100 * tryToInt('100.01') // 100 * tryToInt(null, 100) // 100 * * @param {Number|String} value 要解析的字符串 * @param {Number|String} defaultValue 若为 NaN 时,返回的缺省值 * @returns {Number|String} */ export declare const tryToInt: (value: any, defaultValue: any) => any; /** * 将字符串解析成数值。 * * toNumber(100) // 100 * toNumber('100.01') // 100.01 * * @param {Number|String} value 要解析的字符串 * @returns {Number} */ export declare const toNumber: (value: any) => any; /** * 尝试将字符串解析成数值。如果 value 是个无效的数字,则返回 defaultValue。 * * tryToNumber(100) // 100 * tryToNumber('100.01') // 100.01 * tryToNumber(null, 100) // 100 * * @param {Number|String} value 要解析的字符串 * @param {Number|String} defaultValue 若为 NaN 时,返回的缺省值 * @returns {Number|String} */ export declare const tryToNumber: (value: any, defaultValue: any) => any; /** * 将字符串解析成浮点数。 * * toDecimal(100) // "100.00" * toDecimal("100.01", 2) // "100.01" * toDecimal(0.8 - 0.6, 2, true) // "0.2" * toDecimal(0.8 - 0.6, 2, false) // "0.20" * * @param {Number|String} value 要解析的数字或字符串 * @param {Number} [fraction=2] 浮点数的小数部分,默认2位 * @param {Boolean} [isTruncate=false] 是否截断,默认为四舍五入,不截断 * @returns {String} */ export declare const toDecimal: (value: any, fraction?: number, isTruncate?: boolean) => number; /** * 尝试将字符串解析成浮点数。如果 value 是个无效的浮点数,则返回 defaultValue。 * * tryToDecimal(100) // "100.00" * tryToDecimal("100.01", 2) // "100.01" * tryToDecimal(0.8 - 0.6, 2, true) // "0.2" * tryToDecimal(0.8 - 0.6, 2, false) // "0.20" * tryToDecimal(null, 2, false, 100) // 100 * * @param {Number|String} value 要解析的数字或字符串 * @param {Number} [fraction=2] 浮点数的小数部分,默认2位 * @param {Boolean} [isTruncate=false] 是否截断,默认为四舍五入,不截断 * @param {Number|String} [defaultValue] 若为 NaN 时,返回的缺省值 * @returns {Number|String} */ export declare const tryToDecimal: (value: any, fraction: any, isTruncate: any, defaultValue: any) => any; /** * 将数字或字符串转换成货币格式。 * * toCurrency(100) // "100.00" * toCurrency(100, 2) // "100.00" * toCurrency(1234.56) // "1,234.56" * toCurrency(100, 2, '${0}') // "$100.00" * * @param {Number|String} value 要解析的数字或字符串 * @param {Number} [fraction=2] 浮点数的小数部分,默认2位 * @param {String} [placeholder] 货币符号,占位符格式,例如 "${0}" * @param {Boolean} [isTruncate=false] 是否截断,默认为四舍五入,不截断 * @returns {String} */ export declare const toCurrency: (value: any, fraction: any, placeholder: any, isTruncate: any) => any; /** * 尝试将数字转换成货币格式。如果 value 是个无效的金额,则返回 defaultValue。 * * tryToCurrency(100) // "100.00" * tryToCurrency(100, 2) // "100.00" * tryToCurrency(1234.56) // "1,234.56" * tryToCurrency(100, 2, '${0}') // "$100.00" * tryToCurrency(null, 3, '¥{0}', '金额错误') // "金额错误" * * @param {Number|String} value 要转换的数值 * @param {Number} [fraction=2] 浮点数的小数部分,默认2位 * @param {String} [placeholder] 货币符号,占位符格式,例如 "${0}" * @param {Number|String} [defaultValue] 若为 NaN 时,返回的缺省值 * @returns {Number|String} */ export declare const tryToCurrency: (value: any, fraction: any, placeholder: any, defaultValue: any) => any; /** * 转换成布尔值或0(表示false),1(表示true)。 * * toBoolValue(1) // 1 * toBoolValue(true) // true * toBoolValue('true') // true * toBoolValue({}) // true * toBoolValue('') // false * * @param {Number|String|Boolean} value 要转换的值 * @returns {Boolean|number} */ export declare const toBoolValue: (value: any) => boolean | 0 | 1; /** * 将数值按百分比显示。 * * toRate(0.1) // "10.00%" * toRate(10, 100, 2) // "10.00%" * * @param {Number} value 要转换的值 * @param {Number} [total=1] 百分比基数,默认为1 * @param {Number} [fraction=2] 数值的小数部分,默认为2 * @returns {String} */ export declare const toRate: (value: any, total?: number, fraction?: number) => any; /** * 文件大小值 单位互相转换。 * * toFileSize(1024) // "1.00KB" * toFileSize(1024, 'B') // "1024.00B" * toFileSize(1024, 'KB', 'B') // "1.00KB" * toFileSize(1024, 'MB', 'KB') // "1.00MB" * * @param {Number} value 文件大小数值 * @param {String} unit 转换后的单位 * @param {String} [currUnit] 当前大小单位,默认为B,值可为B、KB、MB、GB、TB、PB、EB、ZB、YB * @returns {String} */ export declare const toFileSize: (value: any, unit: any, currUnit: any) => any; /** * 文件大小值,单位自动转化,最多保留2位小数 * * formatFileSize(17252 * 1024) // "16.84M" * formatFileSize(200 * 1024, 'M') // "200G" * * @param {Number} size 文件大小数值 * @param {String} [baseUnit] 当前大小单位,默认为 B,值可为 B、K、M、G、T、P、E、Z、Y * @returns {String} 转化后的文件大小和单位 */ export declare const formatFileSize: (size: any, baseUnit?: string) => string; /** * 检查文本中是否包含韩文 * @param {String} text */ export declare const isKorean: (text: any) => boolean; /** * 对字符串进行省略截取 * @param {*} text 待处理的字符串 * @param {*} font 字符集,例如 '14px Arial' * @param {*} w 字符串显示最大长度 * @returns obj obj.t为处理后字符串,obj.o为是否已省略标志 */ export declare const omitText: (text: string, font: string, w: number) => { t: string; o: boolean; };