ut2 1.15.0 → 1.17.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 +8 -0
- package/dist/ut2.js +199 -26
- package/dist/ut2.js.map +1 -1
- package/dist/ut2.min.js +1 -1
- package/dist/ut2.min.js.map +1 -1
- package/es/fromPathPairs.js +25 -0
- package/es/get.js +20 -0
- package/es/guard.js +2 -1
- package/es/index.js +7 -0
- package/es/internals/helpers.js +2 -2
- package/es/internals/isEqualDeep.js +1 -1
- package/es/internals/isIndex.js +12 -0
- package/es/internals/native.js +24 -23
- package/es/internals/stringToPath.js +15 -0
- package/es/memoize.js +47 -0
- package/es/merge.js +1 -1
- package/es/pathPairs.js +25 -0
- package/es/set.js +33 -0
- package/es/toPath.js +20 -0
- package/es/unset.js +15 -0
- package/lib/fromPathPairs.js +27 -0
- package/lib/get.js +22 -0
- package/lib/guard.js +2 -1
- package/lib/index.js +14 -0
- package/lib/internals/helpers.js +1 -1
- package/lib/internals/isIndex.js +14 -0
- package/lib/internals/native.js +24 -23
- package/lib/internals/stringToPath.js +17 -0
- package/lib/memoize.js +49 -0
- package/lib/merge.js +1 -1
- package/lib/pathPairs.js +27 -0
- package/lib/set.js +35 -0
- package/lib/toPath.js +22 -0
- package/lib/unset.js +17 -0
- package/package.json +26 -29
- package/types/camelCase.d.ts +1 -1
- package/types/ceil.d.ts +1 -1
- package/types/compact.d.ts +1 -1
- package/types/eq.d.ts +1 -1
- package/types/escape.d.ts +1 -1
- package/types/escapeRegExp.d.ts +1 -1
- package/types/floor.d.ts +1 -1
- package/types/fromPathPairs.d.ts +42 -0
- package/types/get.d.ts +21 -0
- package/types/index.d.ts +7 -0
- package/types/internals/isIndex.d.ts +17 -0
- package/types/internals/native.d.ts +25 -25
- package/types/internals/root.d.ts +1 -1
- package/types/internals/stringToPath.d.ts +9 -0
- package/types/internals/types.d.ts +1 -0
- package/types/invert.d.ts +1 -1
- package/types/isBlob.d.ts +2 -2
- package/types/isFile.d.ts +1 -1
- package/types/isLength.d.ts +1 -1
- package/types/isObject.d.ts +1 -1
- package/types/isTypedArray.d.ts +1 -1
- package/types/kebabCase.d.ts +1 -1
- package/types/memoize.d.ts +50 -0
- package/types/merge.d.ts +1 -1
- package/types/mergeObject.d.ts +1 -1
- package/types/move.d.ts +1 -1
- package/types/omitBy.d.ts +1 -1
- package/types/orderBy.d.ts +1 -1
- package/types/partition.d.ts +2 -2
- package/types/pascalCase.d.ts +1 -1
- package/types/pathPairs.d.ts +30 -0
- package/types/pickBy.d.ts +1 -1
- package/types/round.d.ts +1 -1
- package/types/set.d.ts +24 -0
- package/types/snakeCase.d.ts +1 -1
- package/types/toLength.d.ts +1 -1
- package/types/toPath.d.ts +17 -0
- package/types/unset.d.ts +20 -0
- package/types/words.d.ts +1 -1
package/types/omitBy.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { ObjectPredicate, WithNullable } from './internals/types';
|
|
|
6
6
|
*
|
|
7
7
|
* @alias module:Object.omitBy
|
|
8
8
|
* @since 1.0.0
|
|
9
|
-
* @see {@link https://developer.mozilla.org/zh-CN/docs/Glossary/Truthy
|
|
9
|
+
* @see {@link https://developer.mozilla.org/zh-CN/docs/Glossary/Truthy Truthy}
|
|
10
10
|
* @param {Object} object 来源对象。
|
|
11
11
|
* @param {Function} [predicate] 调用每一个属性的函数,返回 `Truthy` 表示要忽略该属性,否则不忽略。
|
|
12
12
|
* @returns {Object} 新对象。
|
package/types/orderBy.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ interface OrderBy {
|
|
|
16
16
|
* @function
|
|
17
17
|
* @alias module:Collection.orderBy
|
|
18
18
|
* @since 1.0.0
|
|
19
|
-
* @see {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
|
|
19
|
+
* @see {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/sort sort}
|
|
20
20
|
* @param {ArrayLike<any> | Object} collection 一个用来迭代的集合。
|
|
21
21
|
* @param {Function | string | number | Symbol | Array} [iteratees] 排序的迭代函数。
|
|
22
22
|
* @param {'asc' | 'desc' | Array} [orders] 迭代函数的排序顺序。
|
package/types/partition.d.ts
CHANGED
|
@@ -12,8 +12,8 @@ interface Partition {
|
|
|
12
12
|
*
|
|
13
13
|
* @alias module:Collection.partition
|
|
14
14
|
* @since 1.0.0
|
|
15
|
-
* @see {@link https://developer.mozilla.org/zh-CN/docs/Glossary/Truthy
|
|
16
|
-
* @see {@link https://developer.mozilla.org/zh-CN/docs/Glossary/Falsy
|
|
15
|
+
* @see {@link https://developer.mozilla.org/zh-CN/docs/Glossary/Truthy Truthy}
|
|
16
|
+
* @see {@link https://developer.mozilla.org/zh-CN/docs/Glossary/Falsy Falsy}
|
|
17
17
|
* @param {ArrayLike<any> | Object} collection 一个用来迭代的集合。
|
|
18
18
|
* @param {Function | string | number | Symbol | Array} [predicate=identity] 每次迭代调用的断言函数。默认 `identity`。
|
|
19
19
|
* @returns {Array} 分组后的数组。
|
package/types/pascalCase.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @alias module:String.pascalCase
|
|
5
5
|
* @since 1.8.0
|
|
6
|
-
* @see {@link https://en.wikipedia.org/wiki/Camel_case
|
|
6
|
+
* @see {@link https://en.wikipedia.org/wiki/Camel_case Camel_case}
|
|
7
7
|
* @param {string} string 要转换的字符串。
|
|
8
8
|
* @param {RegExp | string} [pattern] 拆分词组的匹配模式。
|
|
9
9
|
* @returns {string} 帕斯卡写法的字符串。
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { TPath } from './internals/types';
|
|
2
|
+
/**
|
|
3
|
+
* 将对象转为属性路径/值对的数组。与 [`fromPathPairs`](#.fromPathPairs) 相反。
|
|
4
|
+
*
|
|
5
|
+
* @alias module:Object.pathPairs
|
|
6
|
+
* @since 1.16.0
|
|
7
|
+
* @param {Object|Array} object 对象或数组。
|
|
8
|
+
* @returns {Array} 属性路径/值对的数组。
|
|
9
|
+
* @example
|
|
10
|
+
* pathPairs({ date: { start: '2024-10-10', end: '2024-12-31' } });
|
|
11
|
+
* // [
|
|
12
|
+
* // [['date', 'start'], '2024-10-10'],
|
|
13
|
+
* // [['date', 'end'], '2024-12-31']
|
|
14
|
+
* // ]
|
|
15
|
+
*
|
|
16
|
+
* pathPairs({ date: ['2024-10-10', '2024-12-31'] });
|
|
17
|
+
* // [
|
|
18
|
+
* // [['date', 0], '2024-10-10'],
|
|
19
|
+
* // [['date', 1], '2024-12-31']
|
|
20
|
+
* // ]
|
|
21
|
+
*
|
|
22
|
+
* pathPairs([{ date: '2024-10-10' }, { date: '2024-12-31' }]);
|
|
23
|
+
* // [
|
|
24
|
+
* // [[0, 'date'], '2024-10-10'],
|
|
25
|
+
* // [[1, 'date'], '2024-12-31']
|
|
26
|
+
* // ]
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
declare function pathPairs(object: Record<string, any> | any[]): [TPath[], any][];
|
|
30
|
+
export default pathPairs;
|
package/types/pickBy.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { ObjectPredicate, WithNullable } from './internals/types';
|
|
|
6
6
|
*
|
|
7
7
|
* @alias module:Object.pickBy
|
|
8
8
|
* @since 1.0.0
|
|
9
|
-
* @see {@link https://developer.mozilla.org/zh-CN/docs/Glossary/Truthy
|
|
9
|
+
* @see {@link https://developer.mozilla.org/zh-CN/docs/Glossary/Truthy Truthy}
|
|
10
10
|
* @param {Object} obj 来源对象。
|
|
11
11
|
* @param {Function} [predicate] 调用每一个属性的函数,返回 `Truthy` 表示要提取该属性,否则不提取。
|
|
12
12
|
* @returns {Object} 新对象。
|
package/types/round.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @alias module:Math.round
|
|
7
7
|
* @since 1.0.0
|
|
8
|
-
* @see {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/round#小数舍入
|
|
8
|
+
* @see {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/round#小数舍入 小数舍入}
|
|
9
9
|
* @param {number} number 要四舍五入的值。
|
|
10
10
|
* @param {number} [precision=0] 四舍五入的精度。默认 `0`。
|
|
11
11
|
* @returns {number} 四舍五入的值。
|
package/types/set.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Many, TPath } from './internals/types';
|
|
2
|
+
type TCustomizer = (objValue: any, key: TPath, nested: any) => any;
|
|
3
|
+
/**
|
|
4
|
+
* 设置对象属性路径值。
|
|
5
|
+
*
|
|
6
|
+
* @alias module:Object.set
|
|
7
|
+
* @since 1.16.0
|
|
8
|
+
* @param {Object | Array} object 对象或数组。
|
|
9
|
+
* @param {string | number | symbol | Array} path 属性路径字符串或数组。
|
|
10
|
+
* @param {*} value 要设置的值。
|
|
11
|
+
* @param {Function} [customizer] 自定义指定值。
|
|
12
|
+
* @returns `object`。
|
|
13
|
+
* @example
|
|
14
|
+
* const obj = {};
|
|
15
|
+
*
|
|
16
|
+
* set(obj, 'a.b', 1);
|
|
17
|
+
* console.log(obj); // { a: { b: 1 } }
|
|
18
|
+
*
|
|
19
|
+
* set(obj, ['x', '0', 'y'], 2);
|
|
20
|
+
* console.log(obj); // { a: { b: 1 }, x: [{ y: 2 }] }
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
declare function set<T extends object>(object: T, path: Many<TPath>, value: any, customizer?: TCustomizer): T;
|
|
24
|
+
export default set;
|
package/types/snakeCase.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @alias module:String.snakeCase
|
|
5
5
|
* @since 1.0.0
|
|
6
|
-
* @see {@link https://en.wikipedia.org/wiki/Snake_case
|
|
6
|
+
* @see {@link https://en.wikipedia.org/wiki/Snake_case snake case}
|
|
7
7
|
* @param {string} string 要转换的字符串。
|
|
8
8
|
* @param {RegExp | string} [pattern] 拆分词组的匹配模式。
|
|
9
9
|
* @returns {string} 转换后的字符串。
|
package/types/toLength.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @alias module:Util.toLength
|
|
5
5
|
* @since 1.0.0
|
|
6
|
-
* @see {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/length
|
|
6
|
+
* @see {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/length length}
|
|
7
7
|
* @param {*} value 要转换的值。
|
|
8
8
|
* @returns {number} 转换后的整数。
|
|
9
9
|
* @example
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 将值转为属性路径数组。
|
|
3
|
+
*
|
|
4
|
+
* @alias module:Util.toPath
|
|
5
|
+
* @since 1.16.0
|
|
6
|
+
* @param {*} value 要转换的值。
|
|
7
|
+
* @param {Object} [object] 用于查询键的对象,可选。
|
|
8
|
+
* @returns {Array} 一个新的属性路径数组。
|
|
9
|
+
* @example
|
|
10
|
+
* toPath('a.b.c'); // ['a', 'b', 'c']
|
|
11
|
+
*
|
|
12
|
+
* toPath('a[0].b.c'); // ['a', '0', 'b', 'c']
|
|
13
|
+
*
|
|
14
|
+
* toPath(['a', 'b', 'c']); // ['a', 'b', 'c']
|
|
15
|
+
*/
|
|
16
|
+
declare function toPath(value: any, object?: object): (string | symbol)[];
|
|
17
|
+
export default toPath;
|
package/types/unset.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Many, TPath } from './internals/types';
|
|
2
|
+
/**
|
|
3
|
+
* 删除对象路径的属性。
|
|
4
|
+
*
|
|
5
|
+
* @alias module:Object.unset
|
|
6
|
+
* @since 1.16.0
|
|
7
|
+
* @param {*} object 要修改的对象。
|
|
8
|
+
* @param {string | number | symbol | Array} path 属性路径字符串或数组。
|
|
9
|
+
* @returns {boolean} 如果删除成功返回`true`,否则返回`false`。
|
|
10
|
+
* @example
|
|
11
|
+
* const obj = { a: [{ b: { c: 1 } }] };
|
|
12
|
+
*
|
|
13
|
+
* unset(obj, 'a[0].b.c'); // true
|
|
14
|
+
* console.log(obj); // { a: [{ b: {} }] }
|
|
15
|
+
*
|
|
16
|
+
* unset(obj, ['a', '0', 'b', 'c']); // true
|
|
17
|
+
* console.log(obj); // { a: [{ b: {} }] }
|
|
18
|
+
*/
|
|
19
|
+
declare function unset(object: any, path: Many<TPath>): boolean;
|
|
20
|
+
export default unset;
|
package/types/words.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @alias module:String.words
|
|
5
5
|
* @since 1.0.0
|
|
6
|
-
* @see {@link https://zh.wikipedia.org/wiki/ASCII
|
|
6
|
+
* @see {@link https://zh.wikipedia.org/wiki/ASCII ASCII}
|
|
7
7
|
* @param {string} string 要拆分的字符串。
|
|
8
8
|
* @param {RegExp | string} [pattern=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g] 匹配模式。默认 `/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g`。
|
|
9
9
|
* @returns {string[]} 拆分后的数组。
|