@cloudcome/utils-core 1.19.0 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/array.cjs +181 -125
- package/dist/array.cjs.map +1 -1
- package/dist/array.mjs +181 -133
- package/dist/array.mjs.map +1 -1
- package/dist/async.cjs +181 -171
- package/dist/async.cjs.map +1 -1
- package/dist/async.mjs +181 -174
- package/dist/async.mjs.map +1 -1
- package/dist/base64.cjs +16 -12
- package/dist/base64.cjs.map +1 -1
- package/dist/base64.mjs +17 -14
- package/dist/base64.mjs.map +1 -1
- package/dist/cache.cjs +79 -67
- package/dist/cache.cjs.map +1 -1
- package/dist/cache.d.ts +3 -3
- package/dist/cache.mjs +80 -71
- package/dist/cache.mjs.map +1 -1
- package/dist/color.cjs +478 -167
- package/dist/color.cjs.map +1 -1
- package/dist/color.d.ts +3 -3
- package/dist/color.mjs +480 -197
- package/dist/color.mjs.map +1 -1
- package/dist/crypto.cjs +474 -687
- package/dist/crypto.cjs.map +1 -1
- package/dist/crypto.mjs +476 -693
- package/dist/crypto.mjs.map +1 -1
- package/dist/date.cjs +972 -161
- package/dist/date.cjs.map +1 -1
- package/dist/date.d.ts +2 -2
- package/dist/date.mjs +962 -191
- package/dist/date.mjs.map +1 -1
- package/dist/dict.cjs +90 -52
- package/dist/dict.cjs.map +1 -1
- package/dist/dict.d.ts +1 -1
- package/dist/dict.mjs +91 -54
- package/dist/dict.mjs.map +1 -1
- package/dist/easing.cjs +105 -103
- package/dist/easing.cjs.map +1 -1
- package/dist/easing.mjs +106 -133
- package/dist/easing.mjs.map +1 -1
- package/dist/emitter.cjs +101 -96
- package/dist/emitter.cjs.map +1 -1
- package/dist/emitter.mjs +101 -97
- package/dist/emitter.mjs.map +1 -1
- package/dist/env.cjs +43 -9
- package/dist/env.cjs.map +1 -1
- package/dist/env.d.ts +1 -1
- package/dist/env.mjs +43 -15
- package/dist/env.mjs.map +1 -1
- package/dist/error.cjs +26 -5
- package/dist/error.cjs.map +1 -1
- package/dist/error.mjs +26 -7
- package/dist/error.mjs.map +1 -1
- package/dist/exception.cjs +38 -20
- package/dist/exception.cjs.map +1 -1
- package/dist/exception.d.ts +5 -5
- package/dist/exception.mjs +38 -21
- package/dist/exception.mjs.map +1 -1
- package/dist/function.cjs +128 -68
- package/dist/function.cjs.map +1 -1
- package/dist/function.mjs +128 -72
- package/dist/function.mjs.map +1 -1
- package/dist/index.cjs +8 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +9 -5
- package/dist/index.mjs.map +1 -1
- package/dist/number.cjs +10 -14
- package/dist/number.mjs +2 -15
- package/dist/object/get-set.d.ts +27 -3
- package/dist/object/merge.d.ts +2 -2
- package/dist/object.cjs +369 -106
- package/dist/object.cjs.map +1 -1
- package/dist/object.mjs +366 -115
- package/dist/object.mjs.map +1 -1
- package/dist/path.cjs +144 -55
- package/dist/path.cjs.map +1 -1
- package/dist/path.mjs +144 -62
- package/dist/path.mjs.map +1 -1
- package/dist/promise.cjs +84 -43
- package/dist/promise.cjs.map +1 -1
- package/dist/promise.mjs +85 -50
- package/dist/promise.mjs.map +1 -1
- package/dist/qs.cjs +63 -39
- package/dist/qs.cjs.map +1 -1
- package/dist/qs.mjs +64 -42
- package/dist/qs.mjs.map +1 -1
- package/dist/regexp.cjs +118 -35
- package/dist/regexp.cjs.map +1 -1
- package/dist/regexp.mjs +119 -46
- package/dist/regexp.mjs.map +1 -1
- package/dist/string.cjs +12 -15
- package/dist/string.mjs +2 -16
- package/dist/string2.cjs +378 -142
- package/dist/string2.cjs.map +1 -1
- package/dist/string2.mjs +259 -143
- package/dist/string2.mjs.map +1 -1
- package/dist/time.cjs +136 -59
- package/dist/time.cjs.map +1 -1
- package/dist/time.mjs +136 -65
- package/dist/time.mjs.map +1 -1
- package/dist/timer.cjs +122 -112
- package/dist/timer.cjs.map +1 -1
- package/dist/timer.mjs +123 -115
- package/dist/timer.mjs.map +1 -1
- package/dist/tree.cjs +207 -112
- package/dist/tree.cjs.map +1 -1
- package/dist/tree.mjs +207 -116
- package/dist/tree.mjs.map +1 -1
- package/dist/try/curry.d.ts +1 -1
- package/dist/try.cjs +36 -37
- package/dist/try.cjs.map +1 -1
- package/dist/try.mjs +35 -37
- package/dist/try.mjs.map +1 -1
- package/dist/type.cjs +126 -24
- package/dist/type.cjs.map +1 -1
- package/dist/type.d.ts +2 -2
- package/dist/type.mjs +128 -45
- package/dist/type.mjs.map +1 -1
- package/dist/types.cjs +0 -2
- package/dist/types.d.ts +2 -2
- package/dist/types.mjs +0 -2
- package/dist/unique.cjs +41 -38
- package/dist/unique.cjs.map +1 -1
- package/dist/unique.mjs +42 -41
- package/dist/unique.mjs.map +1 -1
- package/dist/url.cjs +39 -30
- package/dist/url.cjs.map +1 -1
- package/dist/url.mjs +40 -33
- package/dist/url.mjs.map +1 -1
- package/dist/version.cjs +51 -33
- package/dist/version.cjs.map +1 -1
- package/dist/version.mjs +51 -35
- package/dist/version.mjs.map +1 -1
- package/package.json +104 -105
- package/dist/const.cjs +0 -14
- package/dist/const.cjs.map +0 -1
- package/dist/const.mjs +0 -15
- package/dist/const.mjs.map +0 -1
- package/dist/core.cjs +0 -362
- package/dist/core.cjs.map +0 -1
- package/dist/core.mjs +0 -363
- package/dist/core.mjs.map +0 -1
- package/dist/crypto/md5.d.mts +0 -1
- package/dist/crypto/sha1.d.mts +0 -1
- package/dist/crypto/sha256.d.mts +0 -1
- package/dist/crypto/sha512.d.mts +0 -1
- package/dist/each.cjs +0 -18
- package/dist/each.cjs.map +0 -1
- package/dist/each.mjs +0 -19
- package/dist/each.mjs.map +0 -1
- package/dist/merge.cjs +0 -87
- package/dist/merge.cjs.map +0 -1
- package/dist/merge.mjs +0 -88
- package/dist/merge.mjs.map +0 -1
- package/dist/number.cjs.map +0 -1
- package/dist/number.mjs.map +0 -1
- package/dist/string.cjs.map +0 -1
- package/dist/string.mjs.map +0 -1
- package/dist/types.cjs.map +0 -1
- package/dist/types.mjs.map +0 -1
package/dist/merge.mjs
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { typeIs, isObject, isArray } from "./type.mjs";
|
|
2
|
-
import { o as objectEach } from "./each.mjs";
|
|
3
|
-
function _objectMerge(mergeRule, target, ...sources) {
|
|
4
|
-
const seen = /* @__PURE__ */ new WeakMap();
|
|
5
|
-
const { assign, next } = mergeRule;
|
|
6
|
-
const align = (target2, source) => {
|
|
7
|
-
const targetType = typeIs(target2);
|
|
8
|
-
const sourceType = typeIs(source);
|
|
9
|
-
if (targetType === sourceType) {
|
|
10
|
-
return target2;
|
|
11
|
-
}
|
|
12
|
-
return sourceType === "array" ? [] : {};
|
|
13
|
-
};
|
|
14
|
-
const each = (source, iterator) => {
|
|
15
|
-
if (isObject(source)) {
|
|
16
|
-
objectEach(source, iterator);
|
|
17
|
-
} else {
|
|
18
|
-
source.forEach(iterator);
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
const merge = (target2, source) => {
|
|
22
|
-
if (seen.has(source)) {
|
|
23
|
-
return seen.get(source);
|
|
24
|
-
}
|
|
25
|
-
const merged = align(target2, source);
|
|
26
|
-
seen.set(source, merged);
|
|
27
|
-
each(source, (value, key) => {
|
|
28
|
-
if (!next({ target: merged, source, key })) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
if (isObject(value) || isArray(value)) {
|
|
32
|
-
merged[key] = assign({
|
|
33
|
-
target: merged,
|
|
34
|
-
source,
|
|
35
|
-
key,
|
|
36
|
-
// @ts-expect-error
|
|
37
|
-
merge: () => merge(merged[key], value)
|
|
38
|
-
});
|
|
39
|
-
} else {
|
|
40
|
-
merged[key] = assign({
|
|
41
|
-
target: merged,
|
|
42
|
-
source,
|
|
43
|
-
key,
|
|
44
|
-
merge: () => value
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
return merged;
|
|
49
|
-
};
|
|
50
|
-
let returnTarget = target;
|
|
51
|
-
for (const source of sources) {
|
|
52
|
-
returnTarget = merge(target, source);
|
|
53
|
-
}
|
|
54
|
-
return returnTarget;
|
|
55
|
-
}
|
|
56
|
-
function objectMerge(target, ...sources) {
|
|
57
|
-
return _objectMerge(
|
|
58
|
-
{
|
|
59
|
-
next() {
|
|
60
|
-
return true;
|
|
61
|
-
},
|
|
62
|
-
assign({ merge }) {
|
|
63
|
-
return merge();
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
target,
|
|
67
|
-
...sources
|
|
68
|
-
);
|
|
69
|
-
}
|
|
70
|
-
function objectDefaults(target, defaults) {
|
|
71
|
-
return _objectMerge(
|
|
72
|
-
{
|
|
73
|
-
next({ target: target2, source, key }) {
|
|
74
|
-
return target2[key] === void 0 || isObject(target2[key]) || isArray(target2[key]);
|
|
75
|
-
},
|
|
76
|
-
assign({ merge }) {
|
|
77
|
-
return merge();
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
target,
|
|
81
|
-
defaults
|
|
82
|
-
);
|
|
83
|
-
}
|
|
84
|
-
export {
|
|
85
|
-
objectMerge as a,
|
|
86
|
-
objectDefaults as o
|
|
87
|
-
};
|
|
88
|
-
//# sourceMappingURL=merge.mjs.map
|
package/dist/merge.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"merge.mjs","sources":["../src/object/merge.ts"],"sourcesContent":["import { isArray, isObject, typeIs } from '@/type';\nimport type { AnyArray, AnyObject } from '@/types';\nimport { objectEach } from './each';\n\nexport type ObjectMergeRule = {\n /**\n * 处理冲突\n * @param target - 目标对象\n * @param source - 源对象\n * @param key - 键名\n * @returns 返回 true 表示继续处理,否则返回 false\n */\n next: (info: {\n target: AnyObject | AnyArray;\n source: AnyObject | AnyArray;\n key: string | number;\n }) => boolean;\n\n /**\n * 处理赋值\n * @param target - 目标对象\n * @param source - 源对象\n * @param key - 键名\n * @returns 返回处理后的值\n */\n assign: (info: {\n target: AnyObject | AnyArray;\n source: AnyObject | AnyArray;\n key: string | number;\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n merge: () => any;\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n }) => any;\n};\n\nfunction _objectMerge(mergeRule: ObjectMergeRule, target: AnyObject | AnyArray, ...sources: (AnyObject | AnyArray)[]) {\n const seen = new WeakMap<AnyObject | AnyArray, AnyObject | AnyArray>();\n const { assign, next } = mergeRule;\n const align = (target: AnyObject | AnyArray, source: AnyObject | AnyArray) => {\n const targetType = typeIs(target);\n const sourceType = typeIs(source);\n\n if (targetType === sourceType) {\n return target;\n }\n\n return sourceType === 'array' ? [] : {};\n };\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n const each = (source: AnyObject | AnyArray, iterator: (val: any, key: string | number) => void) => {\n if (isObject(source)) {\n objectEach(source, iterator);\n } else {\n source.forEach(iterator);\n }\n };\n\n const merge = (target: AnyObject | AnyArray, source: AnyObject | AnyArray): AnyObject | AnyArray => {\n // 如果循环引用了,则直接返回目标对象\n if (seen.has(source)) {\n // biome-ignore lint/style/noNonNullAssertion: <explanation>\n return seen.get(source)!;\n }\n\n // 对齐目标对象和源对象\n const merged = align(target, source);\n\n // 存储循环引用\n seen.set(source, merged);\n\n // 遍历源对象\n each(source, (value, key) => {\n if (!next({ target: merged, source, key })) {\n return;\n }\n\n if (isObject(value) || isArray(value)) {\n // @ts-expect-error\n merged[key] = assign({\n target: merged,\n source,\n key,\n // @ts-expect-error\n merge: () => merge(merged[key], value),\n });\n } else {\n // @ts-expect-error\n merged[key] = assign({\n target: merged,\n source,\n key,\n merge: () => value,\n });\n }\n });\n\n return merged;\n };\n\n let returnTarget = target;\n\n for (const source of sources) {\n returnTarget = merge(target, source);\n }\n\n return returnTarget;\n}\n\n/**\n * 合并多个对象或数组。如果遇到循环引用,则直接返回目标对象。\n *\n * @param target - 目标对象或数组。\n * @param sources - 要合并的源对象或数组。\n * @returns 合并后的对象或数组。\n *\n * @example\n * ```typescript\n * const obj1 = { a: 1, b: { x: 10 } };\n * const obj2 = { b: { y: 20 }, c: 3 };\n * const merged = objectMerge(obj1, obj2);\n * console.log(merged); // { a: 1, b: { x: 10, y: 20 }, c: 3 }\n * ```\n */\nexport function objectMerge(target: AnyObject | AnyArray, ...sources: (AnyObject | AnyArray)[]) {\n return _objectMerge(\n {\n next() {\n return true;\n },\n assign({ merge }) {\n return merge();\n },\n },\n target,\n ...sources,\n );\n}\n\n/**\n * 为对象设置默认值。如果目标对象中的属性为 `undefined`,则使用默认对象中的属性值。\n * 支持多个默认对象,优先级从左到右依次降低。\n * 如果目标对象中的属性已经是对象或数组,则递归地设置默认值。\n *\n * @param target - 目标对象或数组。\n * @param defaults - 默认对象或数组。\n * @returns 合并后的对象或数组。\n *\n * @example\n * ```typescript\n * const obj = { a: 1, b: undefined };\n * const defaults = { a: 4, b: 2, c: 3 };\n * const result = objectDefaults(obj, defaults);\n * console.log(result); // { a: 1, b: 2, c: 3 }\n *\n * const obj2 = { a: 1, b: 2 };\n * const defaults2 = { a: 5, b: 3, c: 4 };\n * const result2 = objectDefaults(obj2, defaults2);\n * console.log(result2); // { a: 1, b: 2, c: 4 }\n *\n * const obj3 = { a: { x: 1 }, b: undefined };\n * const defaults3 = { a: { x: 4, z: 3 }, b: { y: 2 } };\n * const result3 = objectDefaults(obj3, defaults3);\n * console.log(result3); // { a: { x: 1, z: 3 }, b: { y: 2 } }\n * ```\n */\nexport function objectDefaults<T extends AnyObject | AnyArray>(target: T, defaults: T): T {\n return _objectMerge(\n {\n next({ target, source, key }) {\n // @ts-expect-error\n return target[key] === undefined || isObject(target[key]) || isArray(target[key]);\n },\n assign({ merge }) {\n return merge();\n },\n },\n target,\n defaults,\n ) as T;\n}\n"],"names":["target"],"mappings":";;AAmCA,SAAS,aAAa,WAA4B,WAAiC,SAAmC;AAC9G,QAAA,2BAAW,QAAoD;AAC/D,QAAA,EAAE,QAAQ,KAAA,IAAS;AACnB,QAAA,QAAQ,CAACA,SAA8B,WAAiC;AACtE,UAAA,aAAa,OAAOA,OAAM;AAC1B,UAAA,aAAa,OAAO,MAAM;AAEhC,QAAI,eAAe,YAAY;AACtBA,aAAAA;AAAAA,IAAA;AAGT,WAAO,eAAe,UAAU,CAAA,IAAK,CAAC;AAAA,EACxC;AAEM,QAAA,OAAO,CAAC,QAA8B,aAAuD;AAC7F,QAAA,SAAS,MAAM,GAAG;AACpB,iBAAW,QAAQ,QAAQ;AAAA,IAAA,OACtB;AACL,aAAO,QAAQ,QAAQ;AAAA,IAAA;AAAA,EAE3B;AAEM,QAAA,QAAQ,CAACA,SAA8B,WAAuD;AAE9F,QAAA,KAAK,IAAI,MAAM,GAAG;AAEb,aAAA,KAAK,IAAI,MAAM;AAAA,IAAA;AAIlB,UAAA,SAAS,MAAMA,SAAQ,MAAM;AAG9B,SAAA,IAAI,QAAQ,MAAM;AAGlB,SAAA,QAAQ,CAAC,OAAO,QAAQ;AACvB,UAAA,CAAC,KAAK,EAAE,QAAQ,QAAQ,QAAQ,IAAA,CAAK,GAAG;AAC1C;AAAA,MAAA;AAGF,UAAI,SAAS,KAAK,KAAK,QAAQ,KAAK,GAAG;AAE9B,eAAA,GAAG,IAAI,OAAO;AAAA,UACnB,QAAQ;AAAA,UACR;AAAA,UACA;AAAA;AAAA,UAEA,OAAO,MAAM,MAAM,OAAO,GAAG,GAAG,KAAK;AAAA,QAAA,CACtC;AAAA,MAAA,OACI;AAEE,eAAA,GAAG,IAAI,OAAO;AAAA,UACnB,QAAQ;AAAA,UACR;AAAA,UACA;AAAA,UACA,OAAO,MAAM;AAAA,QAAA,CACd;AAAA,MAAA;AAAA,IACH,CACD;AAEM,WAAA;AAAA,EACT;AAEA,MAAI,eAAe;AAEnB,aAAW,UAAU,SAAS;AACb,mBAAA,MAAM,QAAQ,MAAM;AAAA,EAAA;AAG9B,SAAA;AACT;AAiBgB,SAAA,YAAY,WAAiC,SAAmC;AACvF,SAAA;AAAA,IACL;AAAA,MACE,OAAO;AACE,eAAA;AAAA,MACT;AAAA,MACA,OAAO,EAAE,SAAS;AAChB,eAAO,MAAM;AAAA,MAAA;AAAA,IAEjB;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL;AACF;AA6BgB,SAAA,eAA+C,QAAW,UAAgB;AACjF,SAAA;AAAA,IACL;AAAA,MACE,KAAK,EAAE,QAAAA,SAAQ,QAAQ,OAAO;AAE5B,eAAOA,QAAO,GAAG,MAAM,UAAa,SAASA,QAAO,GAAG,CAAC,KAAK,QAAQA,QAAO,GAAG,CAAC;AAAA,MAClF;AAAA,MACA,OAAO,EAAE,SAAS;AAChB,eAAO,MAAM;AAAA,MAAA;AAAA,IAEjB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;"}
|
package/dist/number.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"number.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
|
package/dist/number.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"number.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
package/dist/string.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"string.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
|
package/dist/string.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"string.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
package/dist/types.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/types.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|