util/util.ts

284 lines
10 KiB
TypeScript
Raw Normal View History

2024-10-11 09:57:41 +08:00
// just for develop
export default {
json,
jsonP,
unJson,
yaml,
unYaml,
load,
save,
base64,
unBase64,
urlBase64,
unUrlBase64,
hex,
unHex,
aes,
unAes,
2024-11-08 16:15:32 +08:00
sm4,
unSM4,
genECDSA,
exportECDSAPrivateKey,
exportECDSAPublicKey,
importECDSAKey,
signECDSA,
verifyECDSA,
encryptECDSA,
decryptECDSA,
2024-11-09 00:13:49 +08:00
genSM2,
exportSM2PrivateKey,
exportSM2PublicKey,
importSM2Key,
signSM2,
verifySM2,
encryptSM2,
decryptSM2,
genRSA,
exportRSAPrivateKey,
exportRSAPublicKey,
importRSAKey,
signRSA,
verifyRSA,
encryptRSA,
decryptRSA,
2024-10-11 09:57:41 +08:00
gzip,
gunzip,
id,
2024-11-26 18:02:09 +08:00
idL,
2024-10-11 09:57:41 +08:00
uniqueId,
2024-11-26 18:02:09 +08:00
uniqueIdL,
2024-10-11 09:57:41 +08:00
token,
md5,
sha1,
sha256,
sha512,
2024-11-08 16:15:32 +08:00
sm3,
hmacMD5,
hmacSHA1,
hmacSHA256,
hmacSHA512,
hmacSM3,
2024-10-11 09:57:41 +08:00
tpl,
sleep,
2024-11-09 00:13:49 +08:00
setTimeout,
2024-10-11 09:57:41 +08:00
shell,
2024-11-10 19:54:17 +08:00
formatDate,
timestampMS,
timestamp,
2024-10-11 09:57:41 +08:00
toDatetime,
fromDatetime,
toDate,
2024-10-12 13:45:51 +08:00
fromDate,
os,
arch,
joinPath,
getPathDir,
getPathBase,
getPathVolume,
absPath,
cleanPath,
2024-11-09 00:13:49 +08:00
isLocalPath,
string,
int,
float,
bytes,
bool,
2024-11-29 17:52:46 +08:00
searchFile,
loadConfig,
2024-12-13 19:32:01 +08:00
keysBy,
countBy,
listBy,
hasBy,
getBy,
setBy,
indexBy,
removeBy,
removeArrayItem,
last,
len,
mergeBy,
sortBy,
in: _in,
uniquePush,
clearEmpty,
split,
splitWithoutEmpty,
joinWithoutEmpty,
makeDefault,
copy,
deepCopy,
isNumber,
isInt,
isFloat,
getByKey,
2025-01-14 14:29:55 +08:00
excludeByKey,
2024-10-11 09:57:41 +08:00
}
2024-10-26 12:08:13 +08:00
function json(data: any): string { return '' }
function jsonP(data: any): string { return '' }
function unJson(data: string): any { return null }
function yaml(data: any): string { return '' }
function unYaml(data: string): any { return null }
function load(filename: string): any { return null }
function save(filename: string, data: any) { }
function base64(data: any): string { return '' }
function unBase64(data: string): any { return null }
function urlBase64(data: any): string { return '' }
function unUrlBase64(data: string): any { return null }
function hex(data: any): string { return '' }
function unHex(data: string): any { return null }
function aes(data: any, key: string, iv: string): string { return '' }
function unAes(data: string, key: string, iv: string): any { return null }
2024-11-08 16:15:32 +08:00
function sm4(data: any, key: string, iv: string): string { return '' }
function unSM4(data: string, key: string, iv: string): any { return null }
2024-11-09 00:13:49 +08:00
function genECDSA(size?: number): any[] { return ['priKey', 'pubKey'] }
function exportECDSAPrivateKey(key: any): string { return '' }
function exportECDSAPublicKey(key: any): string { return '' }
function importECDSAKey(pemKeyOrBase64: string, private_or_public_for_base64?: string): any { return '' }
function signECDSA(data: any, priKey: any): any { return '' }
function verifyECDSA(data: any, signature: any, pubKey: any): any { return '' }
function encryptECDSA(data: any, pubKey: any): any { return '' }
function decryptECDSA(data: any, priKey: any): any { return '' }
function genSM2(): any[] { return ['priKey', 'pubKey'] }
function exportSM2PrivateKey(key: any): string { return '' }
function exportSM2PublicKey(key: any): string { return '' }
function importSM2Key(pemKeyOrBase64: string, private_or_public_for_base64?: string): any { return '' }
function signSM2(data: any, priKey: any): any { return '' }
function verifySM2(data: any, signature: any, pubKey: any): any { return '' }
function encryptSM2(data: any, pubKey: any): any { return '' }
function decryptSM2(data: any, priKey: any): any { return '' }
function genRSA(size?: number): any[] { return ['priKey', 'pubKey'] }
function exportRSAPrivateKey(key: any): string { return '' }
function exportRSAPublicKey(key: any): string { return '' }
function importRSAKey(pemKeyOrBase64: string, private_or_public_for_base64?: string): any { return '' }
function signRSA(data: any, priKey: any): any { return '' }
function verifyRSA(data: any, signature: any, pubKey: any): any { return '' }
function encryptRSA(data: any, pubKey: any): any { return '' }
function decryptRSA(data: any, priKey: any): any { return '' }
2024-10-26 12:08:13 +08:00
function gzip(data: any): string { return '' }
function gunzip(data: string): any { return null }
2024-11-26 18:02:09 +08:00
function id(size?: number): string { return '' }
function idL(size?: number): string { return '' }
function uniqueId(size?: number): string { return '' }
function uniqueIdL(size?: number): string { return '' }
2024-11-09 00:13:49 +08:00
function token(size: number): any { return '' }
function md5(...data: any[]): any { return '' }
function sha1(...data: any[]): any { return '' }
function sha256(...data: any[]): any { return '' }
function sha512(...data: any[]): any { return '' }
function sm3(...data: any[]): any { return '' }
function hmacMD5(key: any, ...data: any[]): any { return '' }
function hmacSHA1(key: any, ...data: any[]): any { return '' }
function hmacSHA256(key: any, ...data: any[]): any { return '' }
function hmacSHA512(key: any, ...data: any[]): any { return '' }
function hmacSM3(key: any, ...data: any[]): any { return '' }
2024-10-26 12:08:13 +08:00
function tpl(text: string, data: any, functions?: Object): string { return '' }
function sleep(ms: number): void { }
function setTimeout(callback: () => void, ms?: number, ...args: any): void { }
function shell(cmd: string, ...args: string[]): string[] { return [] }
2024-11-10 19:54:17 +08:00
function formatDate(format: string, timestamp?: number): string { return '' }
function timestampMS(): number { return 0 }
function timestamp(): number { return 0 }
function toDatetime(timestamp?: number): string { return '' }
2024-10-26 12:08:13 +08:00
function fromDatetime(datetimeStr: string): number { return 0 }
2024-11-10 19:54:17 +08:00
function toDate(timestamp?: number): string { return '' }
2024-10-26 12:08:13 +08:00
function fromDate(dateStr: string): number { return 0 }
function os(): string { return '' }
function arch(): string { return '' }
function joinPath(...paths: string[]): string { return '' }
function getPathDir(path: string): string { return '' }
function getPathBase(path: string): string { return '' }
function getPathVolume(path: string): string { return '' }
function absPath(path: string): string { return '' }
function cleanPath(path: string): string { return '' }
function isLocalPath(path: string): boolean { return false }
2024-11-09 00:13:49 +08:00
function string(value: any): string { return '' }
function int(value: any): number { return 0 }
function float(value: any): number { return 0 }
function bytes(value: any): any { return null }
function bool(value: any): boolean { return false }
2024-11-29 17:52:46 +08:00
function searchFile(filename: string, searchPath?: string): string { return '' }
function loadConfig(name: string): any { return null }
2024-12-13 19:32:01 +08:00
// 返回符合条件的key列表支持数组和Object对象
function keysBy(obj: Array<Object>, ...fieldAndValues: any): any[] { return [] }
// 返回符合条件的对象个数支持数组和Object对象
function countBy(obj: Array<Object>, ...fieldAndValues: any): number { return 0 }
// 返回符合条件的对象列表支持数组和Object对象
function listBy(obj: Array<Object>, ...fieldAndValues: any): Array<Object> { return [] }
// 对象是否存在支持数组和Object对象
function hasBy(obj: Array<Object>, ...fieldAndValues: any): boolean { return false }
// 返回符合条件的对象支持数组和Object对象
function getBy(obj: Array<Object>, ...fieldAndValues: any): Object { return {} }
// 按条件替换对象支持数组和Object对象
function setBy(obj: Array<Object>, value: any, ...fieldAndValues: any): void { }
// 返回符合条件的对象索引支持数组和Object对象
function indexBy(obj: Array<Object>, ...fieldAndValues: any): number { return -1 }
// 删除符合条件的对象支持数组和Object对象
function removeBy(obj: Array<Object>, ...fieldAndValues: any): number { return 0 }
// 数组删除对象
function removeArrayItem(list: Array<Object>, item: Object): void { }
// 返回数组的最后一个元素
function last(arr: Array<any>): any { return null }
// 返回数组或对象的元素个数
function len(obj: Object): number { return 0 }
// 按照指定的字段合并支持数组和Object对象
function mergeBy(olds: Array<Object>, news: Array<Object>, ...fields: any): Array<Object> { return [] }
// 按照指定字段对数组排序sortType支持number、int、float、string等
function sortBy(obj: Array<Object>, field: string, isReverse = false, sortType?: string): Array<Object> { return [] }
// 检查是否包含如果arr是一个字符串则用逗号分割再判断
function _in(arr: any[], checkValue: any): boolean { return false }
// 添加元素到数组(如果已经存在则忽略)
function uniquePush(arr: Array<any>, ...values: any): void { }
// 从数组中删除空元素
function clearEmpty(arr: Array<any>) { return null }
// 切割指定个数,剩余的部份保留在最后一个元素中
function split(str: string, sep: string, n: number = 0): string[] { return [] }
// 切割字符串,忽略空白的元素,如果指定了个数剩余的部份保留在最后一个元素中
function splitWithoutEmpty(str: string, sep: string, n: number = 0): string[] { return [] }
// 拼接数组,忽略空白的元素
function joinWithoutEmpty(arr: Array<any>, sep: string): string { return '' }
// 根据默认值填充对象中空的元素
function makeDefault(item: Object, defaults: Object): void { }
// 复制对象浅拷贝仅复制第一层支持数组和Object对象
function copy(obj: Object): Object { return {} }
// 复制对象深拷贝递归复制支持数组和Object对象
function deepCopy(obj: Object): Object { return {} }
// 判断是否是数字
function isNumber(v: any): boolean { return false }
// 判断是否是整数
function isInt(v: any): boolean { return false }
// 判断是否是浮点数
function isFloat(v: any): boolean { return false }
// 从对象中获取指定的key生成新的对象返回
function getByKey(obj: Object, ...keys: string[]): Object { return {} }
2025-01-14 14:29:55 +08:00
// 从对象中排除指定的key生成新的对象返回
function excludeByKey(obj: Object, ...keys: string[]): Object { return {} }