ut2 1.7.2 → 1.8.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 +6 -2
- package/dist/ut2.js +72 -12
- package/dist/ut2.js.map +1 -1
- package/dist/ut2.min.js +1 -1
- package/dist/ut2.min.js.map +1 -1
- package/es/conforms.js +4 -3
- package/es/curry.js +32 -0
- package/es/index.js +4 -0
- package/es/internals/helpers.js +3 -2
- package/es/internals/native.js +2 -1
- package/es/invert.js +22 -0
- package/es/isBigInt.js +8 -0
- package/es/omit.js +4 -3
- package/es/partial.js +1 -1
- package/es/pascalCase.js +11 -0
- package/es/pick.js +4 -3
- package/lib/conforms.js +4 -3
- package/lib/curry.js +34 -0
- package/lib/index.js +8 -0
- package/lib/internals/helpers.js +2 -1
- package/lib/internals/native.js +1 -0
- package/lib/invert.js +24 -0
- package/lib/isBigInt.js +10 -0
- package/lib/omit.js +4 -3
- package/lib/partial.js +1 -1
- package/lib/pascalCase.js +13 -0
- package/lib/pick.js +4 -3
- package/package.json +1 -1
- package/types/allKeys.d.ts +1 -1
- package/types/allKeysIn.d.ts +1 -1
- package/types/conforms.d.ts +7 -2
- package/types/conformsTo.d.ts +3 -3
- package/types/curry.d.ts +123 -0
- package/types/delay.d.ts +1 -1
- package/types/index.d.ts +4 -0
- package/types/internals/helpers.d.ts +1 -0
- package/types/internals/native.d.ts +1 -0
- package/types/internals/types.d.ts +2 -0
- package/types/invert.d.ts +19 -0
- package/types/isBigInt.d.ts +22 -0
- package/types/keys.d.ts +1 -1
- package/types/keysIn.d.ts +1 -1
- package/types/omit.d.ts +6 -1
- package/types/omitBy.d.ts +3 -2
- package/types/partial.d.ts +5 -5
- package/types/pascalCase.d.ts +27 -0
- package/types/pick.d.ts +6 -1
- package/types/pickBy.d.ts +3 -2
package/types/index.d.ts
CHANGED
|
@@ -44,6 +44,7 @@ export { default as some } from './some';
|
|
|
44
44
|
*/
|
|
45
45
|
export { default as after } from './after';
|
|
46
46
|
export { default as before } from './before';
|
|
47
|
+
export { default as curry } from './curry';
|
|
47
48
|
export { default as debounce } from './debounce';
|
|
48
49
|
export { default as delay } from './delay';
|
|
49
50
|
export { default as negate } from './negate';
|
|
@@ -61,6 +62,7 @@ export { default as isArray } from './isArray';
|
|
|
61
62
|
export { default as isArrayBuffer } from './isArrayBuffer';
|
|
62
63
|
export { default as isArrayLike } from './isArrayLike';
|
|
63
64
|
export { default as isArrayLikeObject } from './isArrayLikeObject';
|
|
65
|
+
export { default as isBigInt } from './isBigInt';
|
|
64
66
|
export { default as isBlob } from './isBlob';
|
|
65
67
|
export { default as isBoolean } from './isBoolean';
|
|
66
68
|
export { default as isBuffer } from './isBuffer';
|
|
@@ -122,6 +124,7 @@ export { default as randomInt } from './randomInt';
|
|
|
122
124
|
*/
|
|
123
125
|
export { default as allKeys } from './allKeys';
|
|
124
126
|
export { default as allKeysIn } from './allKeysIn';
|
|
127
|
+
export { default as invert } from './invert';
|
|
125
128
|
export { default as keys } from './keys';
|
|
126
129
|
export { default as keysIn } from './keysIn';
|
|
127
130
|
export { default as merge } from './merge';
|
|
@@ -142,6 +145,7 @@ export { default as escapeRegExp } from './escapeRegExp';
|
|
|
142
145
|
export { default as kebabCase } from './kebabCase';
|
|
143
146
|
export { default as lowerCase } from './lowerCase';
|
|
144
147
|
export { default as lowerFirst } from './lowerFirst';
|
|
148
|
+
export { default as pascalCase } from './pascalCase';
|
|
145
149
|
export { default as snakeCase } from './snakeCase';
|
|
146
150
|
export { default as unescape } from './unescape';
|
|
147
151
|
export { default as upperCase } from './upperCase';
|
|
@@ -49,6 +49,7 @@ export declare const MIN_SAFE_INTEGER: number;
|
|
|
49
49
|
* @see {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/length | length}
|
|
50
50
|
*/
|
|
51
51
|
export declare const MAX_ARRAY_LENGTH = 4294967295;
|
|
52
|
+
export declare const bigIntTag = "[object BigInt]";
|
|
52
53
|
export declare const numberTag = "[object Number]";
|
|
53
54
|
export declare const booleanTag = "[object Boolean]";
|
|
54
55
|
export declare const stringTag = "[object String]";
|
|
@@ -4,6 +4,8 @@ export type FunctionAny = (...args: any[]) => any;
|
|
|
4
4
|
*/
|
|
5
5
|
export type Many<T> = T | T[];
|
|
6
6
|
export type WithNullable<T> = T | null | undefined;
|
|
7
|
+
export type PropertyName = string | number | symbol;
|
|
8
|
+
export type ObjectPredicate<T extends object, K extends keyof T = keyof T> = (value: T[K], key: K) => boolean;
|
|
7
9
|
/**
|
|
8
10
|
* 迭代参数
|
|
9
11
|
*/
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ObjectPredicate, PropertyName, WithNullable } from './internals/types';
|
|
2
|
+
/**
|
|
3
|
+
* 创建一个对象,该对象由 `object` 自身可枚举属性(不包含 `Symbol` 属性)和值反转组成。
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Object.invert
|
|
7
|
+
* @since 1.8.0
|
|
8
|
+
* @param {Object} object 来源对象。
|
|
9
|
+
* @param {Function} [predicate] 调用每一个属性的函数,返回 `truthy` 表示要反转,否则不反转。
|
|
10
|
+
* @returns {Object} 新对象。
|
|
11
|
+
* @example
|
|
12
|
+
*
|
|
13
|
+
* invert({ a: 1, b: 2 }); // { 1: 'a', 2: 'b' }
|
|
14
|
+
*
|
|
15
|
+
* invert({ a: undefined, b: null }); // { undefined: 'a', null: 'b' }
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
declare function invert<T extends object>(object: WithNullable<T>, predicate?: ObjectPredicate<T>): Record<PropertyName, any>;
|
|
19
|
+
export default invert;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 检查值是否为 bigint 类型或对象。
|
|
3
|
+
*
|
|
4
|
+
* @static
|
|
5
|
+
* @alias module:Language.isBigInt
|
|
6
|
+
* @since 1.8.0
|
|
7
|
+
* @param {*} value 要检查的值。
|
|
8
|
+
* @returns {boolean} 如果值为 bigint 类型或对象,返回 `true` 否则返回 `false` 。
|
|
9
|
+
* @example
|
|
10
|
+
*
|
|
11
|
+
* isBigInt(0n); // true
|
|
12
|
+
*
|
|
13
|
+
* isBigInt(1n); // true
|
|
14
|
+
*
|
|
15
|
+
* isBigInt(BigInt(1)); // true
|
|
16
|
+
*
|
|
17
|
+
* isBigInt(Object(1n)); // true
|
|
18
|
+
*
|
|
19
|
+
* isBigInt(1); // false
|
|
20
|
+
*/
|
|
21
|
+
declare function isBigInt(value: any): value is bigint;
|
|
22
|
+
export default isBigInt;
|
package/types/keys.d.ts
CHANGED
package/types/keysIn.d.ts
CHANGED
package/types/omit.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import { PropertyName, WithNullable } from './internals/types';
|
|
2
|
+
interface OmitFunction {
|
|
3
|
+
<T extends object, K extends keyof T>(object: WithNullable<T>, fields?: K | K[]): Omit<T, K>;
|
|
4
|
+
<T extends object, K extends PropertyName>(object: WithNullable<T>, fields?: K | K[]): Omit<T, K>;
|
|
5
|
+
}
|
|
1
6
|
/**
|
|
2
7
|
* 创建一个对象,该对象由忽略属性之外的 `object` 自身和继承的可枚举属性组成。与 [`pick`](#.pick) 相反。
|
|
3
8
|
*
|
|
@@ -21,5 +26,5 @@
|
|
|
21
26
|
* omit(obj, ['name', 'age']); // {}
|
|
22
27
|
*
|
|
23
28
|
*/
|
|
24
|
-
declare
|
|
29
|
+
declare const omit: OmitFunction;
|
|
25
30
|
export default omit;
|
package/types/omitBy.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ObjectPredicate, WithNullable } from './internals/types';
|
|
1
2
|
/**
|
|
2
3
|
* 创建一个对象,该对象忽略 `predicate` (断言函数)判断不是真值的属性后,`object` 自身和继承的可枚举属性组成。与 [`pickBy`](#.pickBy) 相反。
|
|
3
4
|
*
|
|
@@ -7,7 +8,7 @@
|
|
|
7
8
|
* @alias module:Object.omitBy
|
|
8
9
|
* @since 1.0.0
|
|
9
10
|
* @param {Object} object 来源对象。
|
|
10
|
-
* @param {Function} [predicate]
|
|
11
|
+
* @param {Function} [predicate] 调用每一个属性的函数,返回 `truthy` 表示要忽略该属性,否则不忽略。
|
|
11
12
|
* @returns {Object} 新对象。
|
|
12
13
|
* @example
|
|
13
14
|
*
|
|
@@ -20,5 +21,5 @@
|
|
|
20
21
|
* omitBy(obj, (value) => value); // {}
|
|
21
22
|
*
|
|
22
23
|
*/
|
|
23
|
-
declare function omitBy<T extends object>(object: T
|
|
24
|
+
declare function omitBy<T extends object>(object: WithNullable<T>, predicate?: ObjectPredicate<T>): Partial<T>;
|
|
24
25
|
export default omitBy;
|
package/types/partial.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
type Placeholder =
|
|
1
|
+
declare const PLACEHOLDER: {
|
|
2
|
+
__ut2_partial_ph__: null;
|
|
3
|
+
};
|
|
4
|
+
type Placeholder = typeof PLACEHOLDER;
|
|
5
5
|
type Function0<R> = () => R;
|
|
6
6
|
type Function1<T1, R> = (t1: T1) => R;
|
|
7
7
|
type Function2<T1, T2, R> = (t1: T1, t2: T2) => R;
|
|
@@ -39,7 +39,7 @@ interface Partial {
|
|
|
39
39
|
/**
|
|
40
40
|
* 创建一个函数。该函数调用 `func` ,并传入预设的 `args` 参数。
|
|
41
41
|
*
|
|
42
|
-
* `partial._` 或 `partial.placeholder`
|
|
42
|
+
* `partial._` 或 `partial.placeholder` 可用作参数的占位符。
|
|
43
43
|
*
|
|
44
44
|
* @function
|
|
45
45
|
* @alias module:Function.partial
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 转换字符串为帕斯卡写法。又名为大驼峰写法。
|
|
3
|
+
*
|
|
4
|
+
* @static
|
|
5
|
+
* @alias module:String.pascalCase
|
|
6
|
+
* @since 1.8.0
|
|
7
|
+
* @see {@link https://en.wikipedia.org/wiki/Camel_case | Camel_case}
|
|
8
|
+
* @param {string} string 要转换的字符串。
|
|
9
|
+
* @param {RegExp | string} [pattern] 拆分词组的匹配模式。
|
|
10
|
+
* @returns {string} 帕斯卡写法的字符串。
|
|
11
|
+
* @example
|
|
12
|
+
*
|
|
13
|
+
* pascalCase('foo bar'); // 'FooBar'
|
|
14
|
+
*
|
|
15
|
+
* pascalCase('foo-bar'); // 'FooBar'
|
|
16
|
+
*
|
|
17
|
+
* pascalCase('Foo Bar'); // 'FooBar'
|
|
18
|
+
*
|
|
19
|
+
* pascalCase('FOO BAR'); // 'FooBar'
|
|
20
|
+
*
|
|
21
|
+
* pascalCase('--FOO-BAR--'); // 'FooBar'
|
|
22
|
+
*
|
|
23
|
+
* pascalCase('__FOO_BAR__'); // 'FooBar'
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
declare function pascalCase(string: string, pattern?: RegExp | string): string;
|
|
27
|
+
export default pascalCase;
|
package/types/pick.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import { PropertyName, WithNullable } from './internals/types';
|
|
2
|
+
interface PickFunction {
|
|
3
|
+
<T extends object, K extends keyof T>(object: WithNullable<T>, fields?: K | K[]): Pick<T, K>;
|
|
4
|
+
<T extends object, K extends PropertyName>(object: WithNullable<T>, fields?: K | K[]): Record<PropertyName, any>;
|
|
5
|
+
}
|
|
1
6
|
/**
|
|
2
7
|
* 创建一个从 `object` 选中的属性的对象。
|
|
3
8
|
*
|
|
@@ -21,5 +26,5 @@
|
|
|
21
26
|
* // 选取多个属性
|
|
22
27
|
* pick(obj, ['name', 'age']); // { name: "jeff", age: 18 }
|
|
23
28
|
*/
|
|
24
|
-
declare
|
|
29
|
+
declare const pick: PickFunction;
|
|
25
30
|
export default pick;
|
package/types/pickBy.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ObjectPredicate, WithNullable } from './internals/types';
|
|
1
2
|
/**
|
|
2
3
|
* 创建一个对象,该对象的属性从 `object` 中经 `predicate` (断言函数)判断为真值的属性。
|
|
3
4
|
*
|
|
@@ -7,7 +8,7 @@
|
|
|
7
8
|
* @alias module:Object.pickBy
|
|
8
9
|
* @since 1.0.0
|
|
9
10
|
* @param {Object} obj 来源对象。
|
|
10
|
-
* @param {Function} [predicate]
|
|
11
|
+
* @param {Function} [predicate] 调用每一个属性的函数,返回 `truthy` 表示要提取该属性,否则不提取。
|
|
11
12
|
* @returns {Object} 新对象。
|
|
12
13
|
* @example
|
|
13
14
|
*
|
|
@@ -20,5 +21,5 @@
|
|
|
20
21
|
* pickBy(obj, (value) => value); // { name: "jeff", age: 18 }
|
|
21
22
|
*
|
|
22
23
|
*/
|
|
23
|
-
declare function pickBy<T extends object>(object: T
|
|
24
|
+
declare function pickBy<T extends object>(object: WithNullable<T>, predicate?: ObjectPredicate<T>): Partial<T>;
|
|
24
25
|
export default pickBy;
|