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/es/conforms.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import conformsTo from './conformsTo.js';
|
|
2
2
|
|
|
3
|
-
function
|
|
3
|
+
var conforms = function (source) {
|
|
4
4
|
return function (object) {
|
|
5
5
|
return conformsTo(object, source);
|
|
6
6
|
};
|
|
7
|
-
}
|
|
7
|
+
};
|
|
8
|
+
var conforms$1 = conforms;
|
|
8
9
|
|
|
9
|
-
export { conforms as default };
|
|
10
|
+
export { conforms$1 as default };
|
package/es/curry.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { mathMax, arrayProtoSlice } from './internals/native.js';
|
|
2
|
+
import isUndefined from './isUndefined.js';
|
|
3
|
+
import toInteger from './toInteger.js';
|
|
4
|
+
|
|
5
|
+
var PLACEHOLDER = {
|
|
6
|
+
__ut2_curry_ph__: null
|
|
7
|
+
};
|
|
8
|
+
var curry = function (func, arity) {
|
|
9
|
+
arity = isUndefined(arity) ? func.length : mathMax(toInteger(arity), 0);
|
|
10
|
+
function wrap() {
|
|
11
|
+
var args = arrayProtoSlice.call(arguments);
|
|
12
|
+
var context = this;
|
|
13
|
+
function inner() {
|
|
14
|
+
var argsInner = arrayProtoSlice.call(arguments);
|
|
15
|
+
for (var i = 0; i < args.length; i++) {
|
|
16
|
+
args[i] = args[i] === PLACEHOLDER && argsInner.length > 0 ? argsInner.shift() : args[i];
|
|
17
|
+
}
|
|
18
|
+
args = args.concat(argsInner);
|
|
19
|
+
var realArgsLength = args.filter(function (arg) { return arg !== PLACEHOLDER; }).length;
|
|
20
|
+
if (realArgsLength >= arity) {
|
|
21
|
+
return func.apply(context, args);
|
|
22
|
+
}
|
|
23
|
+
return inner;
|
|
24
|
+
}
|
|
25
|
+
return inner();
|
|
26
|
+
}
|
|
27
|
+
return wrap;
|
|
28
|
+
};
|
|
29
|
+
curry.placeholder = curry._ = PLACEHOLDER;
|
|
30
|
+
var curry$1 = curry;
|
|
31
|
+
|
|
32
|
+
export { curry$1 as default };
|
package/es/index.js
CHANGED
|
@@ -26,6 +26,7 @@ export { default as reduceRight } from './reduceRight.js';
|
|
|
26
26
|
export { default as some } from './some.js';
|
|
27
27
|
export { default as after } from './after.js';
|
|
28
28
|
export { default as before } from './before.js';
|
|
29
|
+
export { default as curry } from './curry.js';
|
|
29
30
|
export { default as debounce } from './debounce.js';
|
|
30
31
|
export { default as delay } from './delay.js';
|
|
31
32
|
export { default as negate } from './negate.js';
|
|
@@ -37,6 +38,7 @@ export { default as isArray } from './isArray.js';
|
|
|
37
38
|
export { default as isArrayBuffer } from './isArrayBuffer.js';
|
|
38
39
|
export { default as isArrayLike } from './isArrayLike.js';
|
|
39
40
|
export { default as isArrayLikeObject } from './isArrayLikeObject.js';
|
|
41
|
+
export { default as isBigInt } from './isBigInt.js';
|
|
40
42
|
export { default as isBlob } from './isBlob.js';
|
|
41
43
|
export { default as isBoolean } from './isBoolean.js';
|
|
42
44
|
export { default as isBuffer } from './isBuffer.js';
|
|
@@ -80,6 +82,7 @@ export { default as random } from './random.js';
|
|
|
80
82
|
export { default as randomInt } from './randomInt.js';
|
|
81
83
|
export { default as allKeys } from './allKeys.js';
|
|
82
84
|
export { default as allKeysIn } from './allKeysIn.js';
|
|
85
|
+
export { default as invert } from './invert.js';
|
|
83
86
|
export { default as keys } from './keys.js';
|
|
84
87
|
export { default as keysIn } from './keysIn.js';
|
|
85
88
|
export { default as merge } from './merge.js';
|
|
@@ -94,6 +97,7 @@ export { default as escapeRegExp } from './escapeRegExp.js';
|
|
|
94
97
|
export { default as kebabCase } from './kebabCase.js';
|
|
95
98
|
export { default as lowerCase } from './lowerCase.js';
|
|
96
99
|
export { default as lowerFirst } from './lowerFirst.js';
|
|
100
|
+
export { default as pascalCase } from './pascalCase.js';
|
|
97
101
|
export { default as snakeCase } from './snakeCase.js';
|
|
98
102
|
export { default as unescape } from './unescape.js';
|
|
99
103
|
export { default as upperCase } from './upperCase.js';
|
package/es/internals/helpers.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import getTag from './getTag.js';
|
|
2
2
|
import { argumentsTag, functionProtoToString } from './native.js';
|
|
3
3
|
|
|
4
|
-
var VERSION = "1.
|
|
4
|
+
var VERSION = "1.8.0";
|
|
5
5
|
var supportedArgumentsType = getTag((function () { return arguments; })()) === argumentsTag;
|
|
6
6
|
var FUNC_ERROR_TEXT = 'Expected a function';
|
|
7
7
|
function toSource(func) {
|
|
@@ -20,5 +20,6 @@ function toSource(func) {
|
|
|
20
20
|
return '';
|
|
21
21
|
}
|
|
22
22
|
var stubFlase = function () { return false; };
|
|
23
|
+
var stubTrue = function () { return true; };
|
|
23
24
|
|
|
24
|
-
export { FUNC_ERROR_TEXT, VERSION, stubFlase, supportedArgumentsType, toSource };
|
|
25
|
+
export { FUNC_ERROR_TEXT, VERSION, stubFlase, stubTrue, supportedArgumentsType, toSource };
|
package/es/internals/native.js
CHANGED
|
@@ -26,6 +26,7 @@ var selfExisted = typeof self === 'object' && self;
|
|
|
26
26
|
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
|
|
27
27
|
var MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;
|
|
28
28
|
var MAX_ARRAY_LENGTH = 4294967295;
|
|
29
|
+
var bigIntTag = '[object BigInt]';
|
|
29
30
|
var numberTag = '[object Number]';
|
|
30
31
|
var booleanTag = '[object Boolean]';
|
|
31
32
|
var stringTag = '[object String]';
|
|
@@ -48,4 +49,4 @@ var promiseTag = '[object Promise]';
|
|
|
48
49
|
var setTag = '[object Set]';
|
|
49
50
|
var weakMapTag = '[object WeakMap]';
|
|
50
51
|
|
|
51
|
-
export { MAX_ARRAY_LENGTH, MAX_SAFE_INTEGER, MIN_SAFE_INTEGER, argumentsTag, arrayBufferTag, arrayProto, arrayProtoSlice, arrayTag, blobTag, booleanTag, dataViewTag, dateTag, domExceptionTag, errorTag, functionProto, functionProtoToString, functionTags, globalExisted, globalThisExisted, mapTag, mathAbs, mathCeil, mathFloor, mathMax, mathMin, mathRandom, numberIsFinite, numberIsInteger, numberIsSafeInteger, numberTag, objectGetOwnPropertySymbols, objectGetPrototypeOf, objectKeys, objectProto, objectProtoHasOwnProperty, objectProtoPropertyIsEnumerable, objectProtoToString, objectTag, promiseTag, regExpTag, selfExisted, setTag, stringTag, symbolProto, symbolTag, typedArrayTags, weakMapTag, weakSetTag };
|
|
52
|
+
export { MAX_ARRAY_LENGTH, MAX_SAFE_INTEGER, MIN_SAFE_INTEGER, argumentsTag, arrayBufferTag, arrayProto, arrayProtoSlice, arrayTag, bigIntTag, blobTag, booleanTag, dataViewTag, dateTag, domExceptionTag, errorTag, functionProto, functionProtoToString, functionTags, globalExisted, globalThisExisted, mapTag, mathAbs, mathCeil, mathFloor, mathMax, mathMin, mathRandom, numberIsFinite, numberIsInteger, numberIsSafeInteger, numberTag, objectGetOwnPropertySymbols, objectGetPrototypeOf, objectKeys, objectProto, objectProtoHasOwnProperty, objectProtoPropertyIsEnumerable, objectProtoToString, objectTag, promiseTag, regExpTag, selfExisted, setTag, stringTag, symbolProto, symbolTag, typedArrayTags, weakMapTag, weakSetTag };
|
package/es/invert.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { stubTrue } from './internals/helpers.js';
|
|
2
|
+
import { objectProtoToString } from './internals/native.js';
|
|
3
|
+
import keys from './keys.js';
|
|
4
|
+
|
|
5
|
+
function invert(object, predicate) {
|
|
6
|
+
if (predicate === void 0) { predicate = stubTrue; }
|
|
7
|
+
var _keys = keys(object);
|
|
8
|
+
var result = {};
|
|
9
|
+
_keys.forEach(function (key) {
|
|
10
|
+
var value = object[key];
|
|
11
|
+
if (predicate(value, key)) {
|
|
12
|
+
var valueStr = value != null && typeof value.toString != 'function' ? objectProtoToString.call(value) : value;
|
|
13
|
+
result[valueStr] = key;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
result[key] = value;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { invert as default };
|
package/es/isBigInt.js
ADDED
package/es/omit.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import allKeysIn from './allKeysIn.js';
|
|
2
2
|
import castArray from './castArray.js';
|
|
3
3
|
|
|
4
|
-
function
|
|
4
|
+
var omit = function (object, fields) {
|
|
5
5
|
if (fields === void 0) { fields = []; }
|
|
6
6
|
var keys = allKeysIn(object);
|
|
7
7
|
var fieldArr = castArray(fields);
|
|
@@ -12,6 +12,7 @@ function omit(object, fields) {
|
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
return result;
|
|
15
|
-
}
|
|
15
|
+
};
|
|
16
|
+
var omit$1 = omit;
|
|
16
17
|
|
|
17
|
-
export { omit as default };
|
|
18
|
+
export { omit$1 as default };
|
package/es/partial.js
CHANGED
package/es/pascalCase.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import splitCaseWords from './internals/splitCaseWords.js';
|
|
2
|
+
import upperFirst from './upperFirst.js';
|
|
3
|
+
|
|
4
|
+
function pascalCase(string, pattern) {
|
|
5
|
+
return splitCaseWords(string, pattern).reduce(function (prev, cur) {
|
|
6
|
+
cur = cur.toLowerCase();
|
|
7
|
+
return prev + upperFirst(cur);
|
|
8
|
+
}, '');
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { pascalCase as default };
|
package/es/pick.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import castArray from './castArray.js';
|
|
2
2
|
|
|
3
|
-
function
|
|
3
|
+
var pick = function (object, fields) {
|
|
4
4
|
if (fields === void 0) { fields = []; }
|
|
5
5
|
var result = {};
|
|
6
6
|
var fieldArr = castArray(fields);
|
|
@@ -10,6 +10,7 @@ function pick(object, fields) {
|
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
return result;
|
|
13
|
-
}
|
|
13
|
+
};
|
|
14
|
+
var pick$1 = pick;
|
|
14
15
|
|
|
15
|
-
export { pick as default };
|
|
16
|
+
export { pick$1 as default };
|
package/lib/conforms.js
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
var conformsTo = require('./conformsTo.js');
|
|
4
4
|
|
|
5
|
-
function
|
|
5
|
+
var conforms = function (source) {
|
|
6
6
|
return function (object) {
|
|
7
7
|
return conformsTo(object, source);
|
|
8
8
|
};
|
|
9
|
-
}
|
|
9
|
+
};
|
|
10
|
+
var conforms$1 = conforms;
|
|
10
11
|
|
|
11
|
-
module.exports = conforms;
|
|
12
|
+
module.exports = conforms$1;
|
package/lib/curry.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var native = require('./internals/native.js');
|
|
4
|
+
var isUndefined = require('./isUndefined.js');
|
|
5
|
+
var toInteger = require('./toInteger.js');
|
|
6
|
+
|
|
7
|
+
var PLACEHOLDER = {
|
|
8
|
+
__ut2_curry_ph__: null
|
|
9
|
+
};
|
|
10
|
+
var curry = function (func, arity) {
|
|
11
|
+
arity = isUndefined(arity) ? func.length : native.mathMax(toInteger(arity), 0);
|
|
12
|
+
function wrap() {
|
|
13
|
+
var args = native.arrayProtoSlice.call(arguments);
|
|
14
|
+
var context = this;
|
|
15
|
+
function inner() {
|
|
16
|
+
var argsInner = native.arrayProtoSlice.call(arguments);
|
|
17
|
+
for (var i = 0; i < args.length; i++) {
|
|
18
|
+
args[i] = args[i] === PLACEHOLDER && argsInner.length > 0 ? argsInner.shift() : args[i];
|
|
19
|
+
}
|
|
20
|
+
args = args.concat(argsInner);
|
|
21
|
+
var realArgsLength = args.filter(function (arg) { return arg !== PLACEHOLDER; }).length;
|
|
22
|
+
if (realArgsLength >= arity) {
|
|
23
|
+
return func.apply(context, args);
|
|
24
|
+
}
|
|
25
|
+
return inner;
|
|
26
|
+
}
|
|
27
|
+
return inner();
|
|
28
|
+
}
|
|
29
|
+
return wrap;
|
|
30
|
+
};
|
|
31
|
+
curry.placeholder = curry._ = PLACEHOLDER;
|
|
32
|
+
var curry$1 = curry;
|
|
33
|
+
|
|
34
|
+
module.exports = curry$1;
|
package/lib/index.js
CHANGED
|
@@ -28,6 +28,7 @@ var reduceRight = require('./reduceRight.js');
|
|
|
28
28
|
var some = require('./some.js');
|
|
29
29
|
var after = require('./after.js');
|
|
30
30
|
var before = require('./before.js');
|
|
31
|
+
var curry = require('./curry.js');
|
|
31
32
|
var debounce = require('./debounce.js');
|
|
32
33
|
var delay = require('./delay.js');
|
|
33
34
|
var negate = require('./negate.js');
|
|
@@ -39,6 +40,7 @@ var isArray = require('./isArray.js');
|
|
|
39
40
|
var isArrayBuffer = require('./isArrayBuffer.js');
|
|
40
41
|
var isArrayLike = require('./isArrayLike.js');
|
|
41
42
|
var isArrayLikeObject = require('./isArrayLikeObject.js');
|
|
43
|
+
var isBigInt = require('./isBigInt.js');
|
|
42
44
|
var isBlob = require('./isBlob.js');
|
|
43
45
|
var isBoolean = require('./isBoolean.js');
|
|
44
46
|
var isBuffer = require('./isBuffer.js');
|
|
@@ -82,6 +84,7 @@ var random = require('./random.js');
|
|
|
82
84
|
var randomInt = require('./randomInt.js');
|
|
83
85
|
var allKeys = require('./allKeys.js');
|
|
84
86
|
var allKeysIn = require('./allKeysIn.js');
|
|
87
|
+
var invert = require('./invert.js');
|
|
85
88
|
var keys = require('./keys.js');
|
|
86
89
|
var keysIn = require('./keysIn.js');
|
|
87
90
|
var merge = require('./merge.js');
|
|
@@ -96,6 +99,7 @@ var escapeRegExp = require('./escapeRegExp.js');
|
|
|
96
99
|
var kebabCase = require('./kebabCase.js');
|
|
97
100
|
var lowerCase = require('./lowerCase.js');
|
|
98
101
|
var lowerFirst = require('./lowerFirst.js');
|
|
102
|
+
var pascalCase = require('./pascalCase.js');
|
|
99
103
|
var snakeCase = require('./snakeCase.js');
|
|
100
104
|
var unescape = require('./unescape.js');
|
|
101
105
|
var upperCase = require('./upperCase.js');
|
|
@@ -157,6 +161,7 @@ exports.reduceRight = reduceRight;
|
|
|
157
161
|
exports.some = some;
|
|
158
162
|
exports.after = after;
|
|
159
163
|
exports.before = before;
|
|
164
|
+
exports.curry = curry;
|
|
160
165
|
exports.debounce = debounce;
|
|
161
166
|
exports.delay = delay;
|
|
162
167
|
exports.negate = negate;
|
|
@@ -168,6 +173,7 @@ exports.isArray = isArray;
|
|
|
168
173
|
exports.isArrayBuffer = isArrayBuffer;
|
|
169
174
|
exports.isArrayLike = isArrayLike;
|
|
170
175
|
exports.isArrayLikeObject = isArrayLikeObject;
|
|
176
|
+
exports.isBigInt = isBigInt;
|
|
171
177
|
exports.isBlob = isBlob;
|
|
172
178
|
exports.isBoolean = isBoolean;
|
|
173
179
|
exports.isBuffer = isBuffer;
|
|
@@ -211,6 +217,7 @@ exports.random = random;
|
|
|
211
217
|
exports.randomInt = randomInt;
|
|
212
218
|
exports.allKeys = allKeys;
|
|
213
219
|
exports.allKeysIn = allKeysIn;
|
|
220
|
+
exports.invert = invert;
|
|
214
221
|
exports.keys = keys;
|
|
215
222
|
exports.keysIn = keysIn;
|
|
216
223
|
exports.merge = merge;
|
|
@@ -225,6 +232,7 @@ exports.escapeRegExp = escapeRegExp;
|
|
|
225
232
|
exports.kebabCase = kebabCase;
|
|
226
233
|
exports.lowerCase = lowerCase;
|
|
227
234
|
exports.lowerFirst = lowerFirst;
|
|
235
|
+
exports.pascalCase = pascalCase;
|
|
228
236
|
exports.snakeCase = snakeCase;
|
|
229
237
|
exports.unescape = unescape;
|
|
230
238
|
exports.upperCase = upperCase;
|
package/lib/internals/helpers.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var getTag = require('./getTag.js');
|
|
4
4
|
var native = require('./native.js');
|
|
5
5
|
|
|
6
|
-
exports.VERSION = "1.
|
|
6
|
+
exports.VERSION = "1.8.0";
|
|
7
7
|
exports.supportedArgumentsType = getTag((function () { return arguments; })()) === native.argumentsTag;
|
|
8
8
|
exports.FUNC_ERROR_TEXT = 'Expected a function';
|
|
9
9
|
function toSource(func) {
|
|
@@ -22,5 +22,6 @@ function toSource(func) {
|
|
|
22
22
|
return '';
|
|
23
23
|
}
|
|
24
24
|
exports.stubFlase = function () { return false; };
|
|
25
|
+
exports.stubTrue = function () { return true; };
|
|
25
26
|
|
|
26
27
|
exports.toSource = toSource;
|
package/lib/internals/native.js
CHANGED
|
@@ -28,6 +28,7 @@ exports.selfExisted = typeof self === 'object' && self;
|
|
|
28
28
|
exports.MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
|
|
29
29
|
exports.MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;
|
|
30
30
|
exports.MAX_ARRAY_LENGTH = 4294967295;
|
|
31
|
+
exports.bigIntTag = '[object BigInt]';
|
|
31
32
|
exports.numberTag = '[object Number]';
|
|
32
33
|
exports.booleanTag = '[object Boolean]';
|
|
33
34
|
exports.stringTag = '[object String]';
|
package/lib/invert.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var helpers = require('./internals/helpers.js');
|
|
4
|
+
var native = require('./internals/native.js');
|
|
5
|
+
var keys = require('./keys.js');
|
|
6
|
+
|
|
7
|
+
function invert(object, predicate) {
|
|
8
|
+
if (predicate === void 0) { predicate = helpers.stubTrue; }
|
|
9
|
+
var _keys = keys(object);
|
|
10
|
+
var result = {};
|
|
11
|
+
_keys.forEach(function (key) {
|
|
12
|
+
var value = object[key];
|
|
13
|
+
if (predicate(value, key)) {
|
|
14
|
+
var valueStr = value != null && typeof value.toString != 'function' ? native.objectProtoToString.call(value) : value;
|
|
15
|
+
result[valueStr] = key;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
result[key] = value;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
module.exports = invert;
|
package/lib/isBigInt.js
ADDED
package/lib/omit.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var allKeysIn = require('./allKeysIn.js');
|
|
4
4
|
var castArray = require('./castArray.js');
|
|
5
5
|
|
|
6
|
-
function
|
|
6
|
+
var omit = function (object, fields) {
|
|
7
7
|
if (fields === void 0) { fields = []; }
|
|
8
8
|
var keys = allKeysIn(object);
|
|
9
9
|
var fieldArr = castArray(fields);
|
|
@@ -14,6 +14,7 @@ function omit(object, fields) {
|
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
return result;
|
|
17
|
-
}
|
|
17
|
+
};
|
|
18
|
+
var omit$1 = omit;
|
|
18
19
|
|
|
19
|
-
module.exports = omit;
|
|
20
|
+
module.exports = omit$1;
|
package/lib/partial.js
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var splitCaseWords = require('./internals/splitCaseWords.js');
|
|
4
|
+
var upperFirst = require('./upperFirst.js');
|
|
5
|
+
|
|
6
|
+
function pascalCase(string, pattern) {
|
|
7
|
+
return splitCaseWords(string, pattern).reduce(function (prev, cur) {
|
|
8
|
+
cur = cur.toLowerCase();
|
|
9
|
+
return prev + upperFirst(cur);
|
|
10
|
+
}, '');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
module.exports = pascalCase;
|
package/lib/pick.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var castArray = require('./castArray.js');
|
|
4
4
|
|
|
5
|
-
function
|
|
5
|
+
var pick = function (object, fields) {
|
|
6
6
|
if (fields === void 0) { fields = []; }
|
|
7
7
|
var result = {};
|
|
8
8
|
var fieldArr = castArray(fields);
|
|
@@ -12,6 +12,7 @@ function pick(object, fields) {
|
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
return result;
|
|
15
|
-
}
|
|
15
|
+
};
|
|
16
|
+
var pick$1 = pick;
|
|
16
17
|
|
|
17
|
-
module.exports = pick;
|
|
18
|
+
module.exports = pick$1;
|
package/package.json
CHANGED
package/types/allKeys.d.ts
CHANGED
package/types/allKeysIn.d.ts
CHANGED
package/types/conforms.d.ts
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
import { PropertyName, WithNullable } from './internals/types';
|
|
2
|
+
interface ConformsFunction {
|
|
3
|
+
<T extends object, K extends keyof T>(source: Record<PropertyName, (value: T[K]) => boolean>): (object: WithNullable<T>) => boolean;
|
|
4
|
+
(source: object): (object: any) => boolean;
|
|
5
|
+
}
|
|
1
6
|
/**
|
|
2
7
|
* 创建一个函数,调用 `source` 的属性名对应的断言函数与传入对象相对应属性名的值进行断言处理。如果都符合返回 `true`,否则返回 `false` 。
|
|
3
8
|
*
|
|
4
|
-
* @
|
|
9
|
+
* @function
|
|
5
10
|
* @alias module:Util.conforms
|
|
6
11
|
* @since 1.0.0
|
|
7
12
|
* @param {Object} source 要断言属性是否符合的对象。
|
|
@@ -15,5 +20,5 @@
|
|
|
15
20
|
*
|
|
16
21
|
* objs.filter(conforms({ b: value => value > 1 })); // [{ a: 2: b: 2 }]
|
|
17
22
|
*/
|
|
18
|
-
declare
|
|
23
|
+
declare const conforms: ConformsFunction;
|
|
19
24
|
export default conforms;
|
package/types/conformsTo.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { WithNullable } from './internals/types';
|
|
1
|
+
import { PropertyName, WithNullable } from './internals/types';
|
|
2
2
|
interface ConformsTo {
|
|
3
|
-
<T extends object, K extends keyof T>(object: T, source: Record<K, (value: T[K]) =>
|
|
4
|
-
|
|
3
|
+
<T extends object, K extends keyof T>(object: T, source: Record<K, (value: T[K]) => boolean>): boolean;
|
|
4
|
+
(object: WithNullable<object>, source: Record<PropertyName, (value: any) => boolean>): boolean;
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
7
|
* 通过调用断言 `source` 的属性与 `object` 的相应属性值,检查 `object` 是否符合 `source` 。
|
package/types/curry.d.ts
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
declare const PLACEHOLDER: {
|
|
2
|
+
__ut2_curry_ph__: null;
|
|
3
|
+
};
|
|
4
|
+
type Placeholder = typeof PLACEHOLDER;
|
|
5
|
+
interface Curry {
|
|
6
|
+
<T1, R>(func: (t1: T1) => R, arity?: number): CurriedFunction1<T1, R>;
|
|
7
|
+
<T1, T2, R>(func: (t1: T1, t2: T2) => R, arity?: number): CurriedFunction2<T1, T2, R>;
|
|
8
|
+
<T1, T2, T3, R>(func: (t1: T1, t2: T2, t3: T3) => R, arity?: number): CurriedFunction3<T1, T2, T3, R>;
|
|
9
|
+
<T1, T2, T3, T4, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R, arity?: number): CurriedFunction4<T1, T2, T3, T4, R>;
|
|
10
|
+
<T1, T2, T3, T4, T5, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R, arity?: number): CurriedFunction5<T1, T2, T3, T4, T5, R>;
|
|
11
|
+
(func: (...args: any[]) => any, arity?: number): (...args: any[]) => any;
|
|
12
|
+
placeholder: Placeholder;
|
|
13
|
+
_: Placeholder;
|
|
14
|
+
}
|
|
15
|
+
interface CurriedFunction1<T1, R> {
|
|
16
|
+
(t1: T1): R;
|
|
17
|
+
(t1: Placeholder): CurriedFunction1<T1, R>;
|
|
18
|
+
(): CurriedFunction1<T1, R>;
|
|
19
|
+
}
|
|
20
|
+
interface CurriedFunction2<T1, T2, R> {
|
|
21
|
+
(t1: Placeholder, t2: T2): CurriedFunction1<T1, R>;
|
|
22
|
+
(t1: T1, t2: T2): R;
|
|
23
|
+
(t1: T1): CurriedFunction1<T2, R>;
|
|
24
|
+
(t1: Placeholder): CurriedFunction2<T1, T2, R>;
|
|
25
|
+
(): CurriedFunction2<T1, T2, R>;
|
|
26
|
+
}
|
|
27
|
+
interface CurriedFunction3<T1, T2, T3, R> {
|
|
28
|
+
(t1: Placeholder, t2: Placeholder, t3: T3): CurriedFunction2<T1, T2, R>;
|
|
29
|
+
(t1: Placeholder, t2: T2, t3: T3): CurriedFunction1<T1, R>;
|
|
30
|
+
(t1: T1, t2: Placeholder, t3: T3): CurriedFunction1<T2, R>;
|
|
31
|
+
(t1: T1, t2: T2, t3: T3): R;
|
|
32
|
+
(t1: Placeholder, t2: T2): CurriedFunction2<T1, T3, R>;
|
|
33
|
+
(t1: T1, t2: T2): CurriedFunction1<T3, R>;
|
|
34
|
+
(t1: T1): CurriedFunction2<T2, T3, R>;
|
|
35
|
+
(t1: Placeholder): CurriedFunction3<T1, T2, T3, R>;
|
|
36
|
+
(): CurriedFunction3<T1, T2, T3, R>;
|
|
37
|
+
}
|
|
38
|
+
interface CurriedFunction4<T1, T2, T3, T4, R> {
|
|
39
|
+
(t1: Placeholder, t2: Placeholder, t3: Placeholder, t4: T4): CurriedFunction3<T1, T2, T3, R>;
|
|
40
|
+
(t1: Placeholder, t2: Placeholder, t3: T3, t4: T4): CurriedFunction2<T1, T2, R>;
|
|
41
|
+
(t1: Placeholder, t2: T2, t3: Placeholder, t4: T4): CurriedFunction2<T1, T3, R>;
|
|
42
|
+
(t1: T1, t2: Placeholder, t3: Placeholder, t4: T4): CurriedFunction2<T2, T3, R>;
|
|
43
|
+
(t1: T1, t2: T2, t3: Placeholder, t4: T4): CurriedFunction1<T3, R>;
|
|
44
|
+
(t1: T1, t2: Placeholder, t3: T3, t4: T4): CurriedFunction1<T2, R>;
|
|
45
|
+
(t1: Placeholder, t2: T2, t3: T3, t4: T4): CurriedFunction1<T1, R>;
|
|
46
|
+
(t1: T1, t2: T2, t3: T3, t4: T4): R;
|
|
47
|
+
(t1: Placeholder, t2: Placeholder, t3: T3): CurriedFunction3<T1, T2, T4, R>;
|
|
48
|
+
(t1: T1, t2: Placeholder, t3: T3): CurriedFunction2<T2, T4, R>;
|
|
49
|
+
(t1: Placeholder, t2: T2, t3: T3): CurriedFunction2<T1, T4, R>;
|
|
50
|
+
(t1: T1, t2: T2, t3: T3): CurriedFunction1<T4, R>;
|
|
51
|
+
(t1: Placeholder, t2: T2): CurriedFunction3<T1, T3, T4, R>;
|
|
52
|
+
(t1: T1, t2: T2): CurriedFunction2<T3, T4, R>;
|
|
53
|
+
(t1: T1): CurriedFunction3<T2, T3, T4, R>;
|
|
54
|
+
(t1: Placeholder): CurriedFunction4<T1, T2, T3, T4, R>;
|
|
55
|
+
(): CurriedFunction4<T1, T2, T3, T4, R>;
|
|
56
|
+
}
|
|
57
|
+
interface CurriedFunction5<T1, T2, T3, T4, T5, R> {
|
|
58
|
+
(t1: Placeholder, t2: Placeholder, t3: Placeholder, t4: Placeholder, t5: T5): CurriedFunction4<T1, T2, T3, T4, R>;
|
|
59
|
+
(t1: Placeholder, t2: Placeholder, t3: Placeholder, t4: T4, t5: T5): CurriedFunction3<T1, T2, T3, R>;
|
|
60
|
+
(t1: Placeholder, t2: Placeholder, t3: T3, t4: Placeholder, t5: T5): CurriedFunction3<T1, T2, T4, R>;
|
|
61
|
+
(t1: Placeholder, t2: T2, t3: Placeholder, t4: Placeholder, t5: T5): CurriedFunction3<T1, T3, T4, R>;
|
|
62
|
+
(t1: T1, t2: Placeholder, t3: Placeholder, t4: Placeholder, t5: T5): CurriedFunction3<T2, T3, T4, R>;
|
|
63
|
+
(t1: Placeholder, t2: Placeholder, t3: T3, t4: T4, t5: T5): CurriedFunction2<T1, T2, R>;
|
|
64
|
+
(t1: Placeholder, t2: T2, t3: Placeholder, t4: T4, t5: T5): CurriedFunction2<T1, T3, R>;
|
|
65
|
+
(t1: Placeholder, t2: T2, t3: T3, t4: Placeholder, t5: T5): CurriedFunction2<T1, T4, R>;
|
|
66
|
+
(t1: T1, t2: Placeholder, t3: Placeholder, t4: T4, t5: T5): CurriedFunction2<T2, T3, R>;
|
|
67
|
+
(t1: T1, t2: Placeholder, t3: T3, t4: Placeholder, t5: T5): CurriedFunction2<T2, T4, R>;
|
|
68
|
+
(t1: T1, t2: T2, t3: Placeholder, t4: Placeholder, t5: T5): CurriedFunction2<T3, T4, R>;
|
|
69
|
+
(t1: T1, t2: T2, t3: T3, t4: Placeholder, t5: T5): CurriedFunction1<T4, R>;
|
|
70
|
+
(t1: T1, t2: T2, t3: Placeholder, t4: T4, t5: T5): CurriedFunction1<T3, R>;
|
|
71
|
+
(t1: T1, t2: Placeholder, t3: T3, t4: T4, t5: T5): CurriedFunction1<T2, R>;
|
|
72
|
+
(t1: Placeholder, t2: T2, t3: T3, t4: T4, t5: T5): CurriedFunction1<T1, R>;
|
|
73
|
+
(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5): R;
|
|
74
|
+
(t1: Placeholder, t2: Placeholder, t3: Placeholder, t4: T4): CurriedFunction4<T1, T2, T3, T5, R>;
|
|
75
|
+
(t1: Placeholder, t2: Placeholder, t3: T3, t4: T4): CurriedFunction3<T1, T2, T5, R>;
|
|
76
|
+
(t1: Placeholder, t2: T2, t3: Placeholder, t4: T4): CurriedFunction3<T1, T3, T5, R>;
|
|
77
|
+
(t1: T1, t2: Placeholder, t3: Placeholder, t4: T4): CurriedFunction3<T2, T3, T5, R>;
|
|
78
|
+
(t1: T1, t2: T2, t3: Placeholder, t4: T4): CurriedFunction2<T3, T5, R>;
|
|
79
|
+
(t1: T1, t2: Placeholder, t3: T3, t4: T4): CurriedFunction2<T2, T5, R>;
|
|
80
|
+
(t1: Placeholder, t2: T2, t3: T3, t4: T4): CurriedFunction2<T1, T5, R>;
|
|
81
|
+
(t1: T1, t2: T2, t3: T3, t4: T4): CurriedFunction1<T5, R>;
|
|
82
|
+
(t1: Placeholder, t2: Placeholder, t3: T3): CurriedFunction4<T1, T2, T4, T5, R>;
|
|
83
|
+
(t1: T1, t2: Placeholder, t3: T3): CurriedFunction3<T2, T4, T5, R>;
|
|
84
|
+
(t1: Placeholder, t2: T2, t3: T3): CurriedFunction3<T1, T4, T5, R>;
|
|
85
|
+
(t1: T1, t2: T2, t3: T3): CurriedFunction2<T4, T5, R>;
|
|
86
|
+
(t1: Placeholder, t2: T2): CurriedFunction4<T1, T3, T4, T5, R>;
|
|
87
|
+
(t1: T1, t2: T2): CurriedFunction3<T3, T4, T5, R>;
|
|
88
|
+
(t1: T1): CurriedFunction4<T2, T3, T4, T5, R>;
|
|
89
|
+
(t1: Placeholder): CurriedFunction5<T1, T2, T3, T4, T5, R>;
|
|
90
|
+
(): CurriedFunction5<T1, T2, T3, T4, T5, R>;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* 创建一个函数。该函数接受 `func` 参数,在提供的参数数量达到 `arity` 后调用 `func` 并返回其结果。
|
|
94
|
+
*
|
|
95
|
+
* `curry._` 或 `curry.placeholder` 可用作参数的占位符。
|
|
96
|
+
*
|
|
97
|
+
* @function
|
|
98
|
+
* @alias module:Function.curry
|
|
99
|
+
* @since 1.8.0
|
|
100
|
+
* @param {Function} func 需要柯里化的函数。
|
|
101
|
+
* @param {number} [arity] 指定参数数量,默认值为 `func.length`。
|
|
102
|
+
* @returns {Function} 新的柯里化函数。
|
|
103
|
+
* @example
|
|
104
|
+
*
|
|
105
|
+
* function abc(a, b, c){
|
|
106
|
+
* return [a, b, c];
|
|
107
|
+
* }
|
|
108
|
+
*
|
|
109
|
+
* var curried = curry(abc);
|
|
110
|
+
*
|
|
111
|
+
* curried(1)(2)(3); // [1, 2, 3]
|
|
112
|
+
*
|
|
113
|
+
* curried(1, 2)(3); // [1, 2, 3]
|
|
114
|
+
*
|
|
115
|
+
* curried(1, 2, 3); // [1, 2, 3]
|
|
116
|
+
*
|
|
117
|
+
* curried(1)(curry._, 3)(2); // [1, 2, 3]
|
|
118
|
+
*
|
|
119
|
+
* curried(curry._, curry._, 3)(curry._, 2)(1); // [1, 2, 3]
|
|
120
|
+
*
|
|
121
|
+
*/
|
|
122
|
+
declare const curry: Curry;
|
|
123
|
+
export default curry;
|
package/types/delay.d.ts
CHANGED
|
@@ -20,5 +20,5 @@ import { FunctionAny } from './internals/types';
|
|
|
20
20
|
* // 'hello world'
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
declare function delay<T extends FunctionAny>(func: T, wait: number, ...args: Parameters<T>): NodeJS.Timeout;
|
|
23
|
+
declare function delay<T extends FunctionAny>(this: any, func: T, wait: number, ...args: Parameters<T>): NodeJS.Timeout;
|
|
24
24
|
export default delay;
|