ut2 1.11.6 → 1.13.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 +3 -1
- package/dist/ut2.js +126 -2
- package/dist/ut2.js.map +1 -1
- package/dist/ut2.min.js +1 -1
- package/dist/ut2.min.js.map +1 -1
- package/es/findKey.js +40 -0
- package/es/index.js +3 -0
- package/es/internals/helpers.js +1 -1
- package/es/list.js +22 -0
- package/es/node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.18.0_tslib@2.6.3_typescript@5.5.2/node_modules/tslib/tslib.es6.js +62 -0
- package/es/times.js +2 -19
- package/es/tryit.js +30 -0
- package/lib/findKey.js +42 -0
- package/lib/index.js +6 -0
- package/lib/internals/helpers.js +1 -1
- package/lib/list.js +24 -0
- package/lib/node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.18.0_tslib@2.6.3_typescript@5.5.2/node_modules/tslib/tslib.es6.js +66 -0
- package/lib/times.js +2 -19
- package/lib/tryit.js +32 -0
- package/package.json +1 -1
- package/types/allKeys.d.ts +2 -0
- package/types/allKeysIn.d.ts +2 -0
- package/types/findKey.d.ts +24 -0
- package/types/index.d.ts +3 -0
- package/types/internals/types.d.ts +3 -0
- package/types/isWindow.d.ts +1 -1
- package/types/list.d.ts +28 -0
- package/types/times.d.ts +4 -22
- package/types/tryit.d.ts +32 -0
package/es/findKey.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { __values, __read } from './node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.18.0_tslib@2.6.3_typescript@5.5.2/node_modules/tslib/tslib.es6.js';
|
|
2
|
+
import forEach from './forEach.js';
|
|
3
|
+
import { stubFlase } from './internals/helpers.js';
|
|
4
|
+
import isMap from './isMap.js';
|
|
5
|
+
import isObject from './isObject.js';
|
|
6
|
+
|
|
7
|
+
var findKey = function (obj, predicate) {
|
|
8
|
+
var e_1, _a;
|
|
9
|
+
if (predicate === void 0) { predicate = stubFlase; }
|
|
10
|
+
var key;
|
|
11
|
+
if (isMap(obj)) {
|
|
12
|
+
try {
|
|
13
|
+
for (var obj_1 = __values(obj), obj_1_1 = obj_1.next(); !obj_1_1.done; obj_1_1 = obj_1.next()) {
|
|
14
|
+
var _b = __read(obj_1_1.value, 2), k = _b[0], v = _b[1];
|
|
15
|
+
if (predicate(v, k)) {
|
|
16
|
+
key = k;
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
22
|
+
finally {
|
|
23
|
+
try {
|
|
24
|
+
if (obj_1_1 && !obj_1_1.done && (_a = obj_1.return)) _a.call(obj_1);
|
|
25
|
+
}
|
|
26
|
+
finally { if (e_1) throw e_1.error; }
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else if (isObject(obj)) {
|
|
30
|
+
forEach(obj, function (v, k) {
|
|
31
|
+
if (predicate(v, k)) {
|
|
32
|
+
key = k;
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return key;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export { findKey as default };
|
package/es/index.js
CHANGED
|
@@ -85,6 +85,7 @@ export { default as random } from './random.js';
|
|
|
85
85
|
export { default as randomInt } from './randomInt.js';
|
|
86
86
|
export { default as allKeys } from './allKeys.js';
|
|
87
87
|
export { default as allKeysIn } from './allKeysIn.js';
|
|
88
|
+
export { default as findKey } from './findKey.js';
|
|
88
89
|
export { default as invert } from './invert.js';
|
|
89
90
|
export { default as keys } from './keys.js';
|
|
90
91
|
export { default as keysIn } from './keysIn.js';
|
|
@@ -121,6 +122,7 @@ export { default as noop } from './noop.js';
|
|
|
121
122
|
export { default as nthArg } from './nthArg.js';
|
|
122
123
|
export { default as range } from './range.js';
|
|
123
124
|
export { default as sleep } from './sleep.js';
|
|
125
|
+
export { default as list } from './list.js';
|
|
124
126
|
export { default as times } from './times.js';
|
|
125
127
|
export { default as toFinite } from './toFinite.js';
|
|
126
128
|
export { default as toInteger } from './toInteger.js';
|
|
@@ -128,6 +130,7 @@ export { default as toLength } from './toLength.js';
|
|
|
128
130
|
export { default as toNumber } from './toNumber.js';
|
|
129
131
|
export { default as toSafeInteger } from './toSafeInteger.js';
|
|
130
132
|
export { default as toString } from './toString.js';
|
|
133
|
+
export { default as tryit } from './tryit.js';
|
|
131
134
|
export { default as uniqueId } from './uniqueId.js';
|
|
132
135
|
export { MAX_ARRAY_LENGTH, MAX_SAFE_INTEGER, MIN_SAFE_INTEGER } from './internals/native.js';
|
|
133
136
|
export { VERSION, isBrowser } from './internals/helpers.js';
|
package/es/internals/helpers.js
CHANGED
|
@@ -2,7 +2,7 @@ import isObjectLike from '../isObjectLike.js';
|
|
|
2
2
|
import getTag from './getTag.js';
|
|
3
3
|
import { argumentsTag, stringUndefined, functionProtoToString } from './native.js';
|
|
4
4
|
|
|
5
|
-
var VERSION = "1.
|
|
5
|
+
var VERSION = "1.13.0";
|
|
6
6
|
var isBrowser = typeof window !== stringUndefined && isObjectLike(window) && typeof document !== stringUndefined && isObjectLike(document) && window.document === document;
|
|
7
7
|
var supportedArgumentsType = getTag((function () { return arguments; })()) === argumentsTag;
|
|
8
8
|
var FUNC_ERROR_TEXT = 'Expected a function';
|
package/es/list.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import identity from './identity.js';
|
|
2
|
+
import { MAX_SAFE_INTEGER, mathMin, mathFloor, MAX_ARRAY_LENGTH } from './internals/native.js';
|
|
3
|
+
import isInteger from './isInteger.js';
|
|
4
|
+
import isFinite from './isFinite.js';
|
|
5
|
+
|
|
6
|
+
var list = function (n, iteratee) {
|
|
7
|
+
if (iteratee === void 0) { iteratee = identity; }
|
|
8
|
+
if (n < 1 || n > MAX_SAFE_INTEGER) {
|
|
9
|
+
return [];
|
|
10
|
+
}
|
|
11
|
+
var index = 0;
|
|
12
|
+
var length = mathMin(isInteger(n) ? n : mathFloor(isFinite(n) ? n : 0), MAX_ARRAY_LENGTH);
|
|
13
|
+
var result = Array(length);
|
|
14
|
+
var func = typeof iteratee === 'function' ? iteratee : identity;
|
|
15
|
+
while (index < length) {
|
|
16
|
+
result[index] = func(index);
|
|
17
|
+
index++;
|
|
18
|
+
}
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { list as default };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
Copyright (c) Microsoft Corporation.
|
|
3
|
+
|
|
4
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
5
|
+
purpose with or without fee is hereby granted.
|
|
6
|
+
|
|
7
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
8
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
9
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
10
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
11
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
12
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
13
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
14
|
+
***************************************************************************** */
|
|
15
|
+
/* global Reflect, Promise, SuppressedError, Symbol */
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
function __values(o) {
|
|
19
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
20
|
+
if (m) return m.call(o);
|
|
21
|
+
if (o && typeof o.length === "number") return {
|
|
22
|
+
next: function () {
|
|
23
|
+
if (o && i >= o.length) o = void 0;
|
|
24
|
+
return { value: o && o[i++], done: !o };
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function __read(o, n) {
|
|
31
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
32
|
+
if (!m) return o;
|
|
33
|
+
var i = m.call(o), r, ar = [], e;
|
|
34
|
+
try {
|
|
35
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
36
|
+
}
|
|
37
|
+
catch (error) { e = { error: error }; }
|
|
38
|
+
finally {
|
|
39
|
+
try {
|
|
40
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
41
|
+
}
|
|
42
|
+
finally { if (e) throw e.error; }
|
|
43
|
+
}
|
|
44
|
+
return ar;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function __spreadArray(to, from, pack) {
|
|
48
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
49
|
+
if (ar || !(i in from)) {
|
|
50
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
51
|
+
ar[i] = from[i];
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
58
|
+
var e = new Error(message);
|
|
59
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export { __read, __spreadArray, __values };
|
package/es/times.js
CHANGED
|
@@ -1,22 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { MAX_SAFE_INTEGER, mathMin, mathFloor, MAX_ARRAY_LENGTH } from './internals/native.js';
|
|
3
|
-
import isInteger from './isInteger.js';
|
|
4
|
-
import isFinite from './isFinite.js';
|
|
1
|
+
import list from './list.js';
|
|
5
2
|
|
|
6
|
-
var times =
|
|
7
|
-
if (iteratee === void 0) { iteratee = identity; }
|
|
8
|
-
if (n < 1 || n > MAX_SAFE_INTEGER) {
|
|
9
|
-
return [];
|
|
10
|
-
}
|
|
11
|
-
var index = 0;
|
|
12
|
-
var length = mathMin(isInteger(n) ? n : mathFloor(isFinite(n) ? n : 0), MAX_ARRAY_LENGTH);
|
|
13
|
-
var result = Array(length);
|
|
14
|
-
var func = typeof iteratee === 'function' ? iteratee : identity;
|
|
15
|
-
while (index < length) {
|
|
16
|
-
result[index] = func(index);
|
|
17
|
-
index++;
|
|
18
|
-
}
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
3
|
+
var times = list;
|
|
21
4
|
|
|
22
5
|
export { times as default };
|
package/es/tryit.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { __spreadArray, __read } from './node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.18.0_tslib@2.6.3_typescript@5.5.2/node_modules/tslib/tslib.es6.js';
|
|
2
|
+
import { nativeUndefined } from './internals/native.js';
|
|
3
|
+
import isPromiseLike from './isPromiseLike.js';
|
|
4
|
+
|
|
5
|
+
var tryit = function (fn) {
|
|
6
|
+
return function () {
|
|
7
|
+
var args = [];
|
|
8
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
9
|
+
args[_i] = arguments[_i];
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
var result = fn.apply(void 0, __spreadArray([], __read(args), false));
|
|
13
|
+
if (isPromiseLike(result)) {
|
|
14
|
+
return result
|
|
15
|
+
.then(function (res) {
|
|
16
|
+
return [null, res];
|
|
17
|
+
})
|
|
18
|
+
.catch(function (err) {
|
|
19
|
+
return [err, nativeUndefined];
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return [null, result];
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
return [err, nativeUndefined];
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export { tryit as default };
|
package/lib/findKey.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib_es6 = require('./node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.18.0_tslib@2.6.3_typescript@5.5.2/node_modules/tslib/tslib.es6.js');
|
|
4
|
+
var forEach = require('./forEach.js');
|
|
5
|
+
var helpers = require('./internals/helpers.js');
|
|
6
|
+
var isMap = require('./isMap.js');
|
|
7
|
+
var isObject = require('./isObject.js');
|
|
8
|
+
|
|
9
|
+
var findKey = function (obj, predicate) {
|
|
10
|
+
var e_1, _a;
|
|
11
|
+
if (predicate === void 0) { predicate = helpers.stubFlase; }
|
|
12
|
+
var key;
|
|
13
|
+
if (isMap(obj)) {
|
|
14
|
+
try {
|
|
15
|
+
for (var obj_1 = tslib_es6.__values(obj), obj_1_1 = obj_1.next(); !obj_1_1.done; obj_1_1 = obj_1.next()) {
|
|
16
|
+
var _b = tslib_es6.__read(obj_1_1.value, 2), k = _b[0], v = _b[1];
|
|
17
|
+
if (predicate(v, k)) {
|
|
18
|
+
key = k;
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
24
|
+
finally {
|
|
25
|
+
try {
|
|
26
|
+
if (obj_1_1 && !obj_1_1.done && (_a = obj_1.return)) _a.call(obj_1);
|
|
27
|
+
}
|
|
28
|
+
finally { if (e_1) throw e_1.error; }
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
else if (isObject(obj)) {
|
|
32
|
+
forEach(obj, function (v, k) {
|
|
33
|
+
if (predicate(v, k)) {
|
|
34
|
+
key = k;
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return key;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
module.exports = findKey;
|
package/lib/index.js
CHANGED
|
@@ -87,6 +87,7 @@ var random = require('./random.js');
|
|
|
87
87
|
var randomInt = require('./randomInt.js');
|
|
88
88
|
var allKeys = require('./allKeys.js');
|
|
89
89
|
var allKeysIn = require('./allKeysIn.js');
|
|
90
|
+
var findKey = require('./findKey.js');
|
|
90
91
|
var invert = require('./invert.js');
|
|
91
92
|
var keys = require('./keys.js');
|
|
92
93
|
var keysIn = require('./keysIn.js');
|
|
@@ -123,6 +124,7 @@ var noop = require('./noop.js');
|
|
|
123
124
|
var nthArg = require('./nthArg.js');
|
|
124
125
|
var range = require('./range.js');
|
|
125
126
|
var sleep = require('./sleep.js');
|
|
127
|
+
var list = require('./list.js');
|
|
126
128
|
var times = require('./times.js');
|
|
127
129
|
var toFinite = require('./toFinite.js');
|
|
128
130
|
var toInteger = require('./toInteger.js');
|
|
@@ -130,6 +132,7 @@ var toLength = require('./toLength.js');
|
|
|
130
132
|
var toNumber = require('./toNumber.js');
|
|
131
133
|
var toSafeInteger = require('./toSafeInteger.js');
|
|
132
134
|
var toString = require('./toString.js');
|
|
135
|
+
var tryit = require('./tryit.js');
|
|
133
136
|
var uniqueId = require('./uniqueId.js');
|
|
134
137
|
var native = require('./internals/native.js');
|
|
135
138
|
var helpers = require('./internals/helpers.js');
|
|
@@ -224,6 +227,7 @@ exports.random = random;
|
|
|
224
227
|
exports.randomInt = randomInt;
|
|
225
228
|
exports.allKeys = allKeys;
|
|
226
229
|
exports.allKeysIn = allKeysIn;
|
|
230
|
+
exports.findKey = findKey;
|
|
227
231
|
exports.invert = invert;
|
|
228
232
|
exports.keys = keys;
|
|
229
233
|
exports.keysIn = keysIn;
|
|
@@ -260,6 +264,7 @@ exports.noop = noop;
|
|
|
260
264
|
exports.nthArg = nthArg;
|
|
261
265
|
exports.range = range;
|
|
262
266
|
exports.sleep = sleep;
|
|
267
|
+
exports.list = list;
|
|
263
268
|
exports.times = times;
|
|
264
269
|
exports.toFinite = toFinite;
|
|
265
270
|
exports.toInteger = toInteger;
|
|
@@ -267,6 +272,7 @@ exports.toLength = toLength;
|
|
|
267
272
|
exports.toNumber = toNumber;
|
|
268
273
|
exports.toSafeInteger = toSafeInteger;
|
|
269
274
|
exports.toString = toString;
|
|
275
|
+
exports.tryit = tryit;
|
|
270
276
|
exports.uniqueId = uniqueId;
|
|
271
277
|
exports.MAX_ARRAY_LENGTH = native.MAX_ARRAY_LENGTH;
|
|
272
278
|
exports.MAX_SAFE_INTEGER = native.MAX_SAFE_INTEGER;
|
package/lib/internals/helpers.js
CHANGED
|
@@ -4,7 +4,7 @@ var isObjectLike = require('../isObjectLike.js');
|
|
|
4
4
|
var getTag = require('./getTag.js');
|
|
5
5
|
var native = require('./native.js');
|
|
6
6
|
|
|
7
|
-
var VERSION = "1.
|
|
7
|
+
var VERSION = "1.13.0";
|
|
8
8
|
var isBrowser = typeof window !== native.stringUndefined && isObjectLike(window) && typeof document !== native.stringUndefined && isObjectLike(document) && window.document === document;
|
|
9
9
|
var supportedArgumentsType = getTag((function () { return arguments; })()) === native.argumentsTag;
|
|
10
10
|
var FUNC_ERROR_TEXT = 'Expected a function';
|
package/lib/list.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var identity = require('./identity.js');
|
|
4
|
+
var native = require('./internals/native.js');
|
|
5
|
+
var isInteger = require('./isInteger.js');
|
|
6
|
+
var isFinite = require('./isFinite.js');
|
|
7
|
+
|
|
8
|
+
var list = function (n, iteratee) {
|
|
9
|
+
if (iteratee === void 0) { iteratee = identity; }
|
|
10
|
+
if (n < 1 || n > native.MAX_SAFE_INTEGER) {
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
var index = 0;
|
|
14
|
+
var length = native.mathMin(isInteger(n) ? n : native.mathFloor(isFinite(n) ? n : 0), native.MAX_ARRAY_LENGTH);
|
|
15
|
+
var result = Array(length);
|
|
16
|
+
var func = typeof iteratee === 'function' ? iteratee : identity;
|
|
17
|
+
while (index < length) {
|
|
18
|
+
result[index] = func(index);
|
|
19
|
+
index++;
|
|
20
|
+
}
|
|
21
|
+
return result;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
module.exports = list;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/******************************************************************************
|
|
4
|
+
Copyright (c) Microsoft Corporation.
|
|
5
|
+
|
|
6
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
7
|
+
purpose with or without fee is hereby granted.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
+
***************************************************************************** */
|
|
17
|
+
/* global Reflect, Promise, SuppressedError, Symbol */
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
function __values(o) {
|
|
21
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
22
|
+
if (m) return m.call(o);
|
|
23
|
+
if (o && typeof o.length === "number") return {
|
|
24
|
+
next: function () {
|
|
25
|
+
if (o && i >= o.length) o = void 0;
|
|
26
|
+
return { value: o && o[i++], done: !o };
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function __read(o, n) {
|
|
33
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
34
|
+
if (!m) return o;
|
|
35
|
+
var i = m.call(o), r, ar = [], e;
|
|
36
|
+
try {
|
|
37
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
38
|
+
}
|
|
39
|
+
catch (error) { e = { error: error }; }
|
|
40
|
+
finally {
|
|
41
|
+
try {
|
|
42
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
43
|
+
}
|
|
44
|
+
finally { if (e) throw e.error; }
|
|
45
|
+
}
|
|
46
|
+
return ar;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function __spreadArray(to, from, pack) {
|
|
50
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
51
|
+
if (ar || !(i in from)) {
|
|
52
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
53
|
+
ar[i] = from[i];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
60
|
+
var e = new Error(message);
|
|
61
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
exports.__read = __read;
|
|
65
|
+
exports.__spreadArray = __spreadArray;
|
|
66
|
+
exports.__values = __values;
|
package/lib/times.js
CHANGED
|
@@ -1,24 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var native = require('./internals/native.js');
|
|
5
|
-
var isInteger = require('./isInteger.js');
|
|
6
|
-
var isFinite = require('./isFinite.js');
|
|
3
|
+
var list = require('./list.js');
|
|
7
4
|
|
|
8
|
-
var times =
|
|
9
|
-
if (iteratee === void 0) { iteratee = identity; }
|
|
10
|
-
if (n < 1 || n > native.MAX_SAFE_INTEGER) {
|
|
11
|
-
return [];
|
|
12
|
-
}
|
|
13
|
-
var index = 0;
|
|
14
|
-
var length = native.mathMin(isInteger(n) ? n : native.mathFloor(isFinite(n) ? n : 0), native.MAX_ARRAY_LENGTH);
|
|
15
|
-
var result = Array(length);
|
|
16
|
-
var func = typeof iteratee === 'function' ? iteratee : identity;
|
|
17
|
-
while (index < length) {
|
|
18
|
-
result[index] = func(index);
|
|
19
|
-
index++;
|
|
20
|
-
}
|
|
21
|
-
return result;
|
|
22
|
-
};
|
|
5
|
+
var times = list;
|
|
23
6
|
|
|
24
7
|
module.exports = times;
|
package/lib/tryit.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib_es6 = require('./node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.18.0_tslib@2.6.3_typescript@5.5.2/node_modules/tslib/tslib.es6.js');
|
|
4
|
+
var native = require('./internals/native.js');
|
|
5
|
+
var isPromiseLike = require('./isPromiseLike.js');
|
|
6
|
+
|
|
7
|
+
var tryit = function (fn) {
|
|
8
|
+
return function () {
|
|
9
|
+
var args = [];
|
|
10
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
11
|
+
args[_i] = arguments[_i];
|
|
12
|
+
}
|
|
13
|
+
try {
|
|
14
|
+
var result = fn.apply(void 0, tslib_es6.__spreadArray([], tslib_es6.__read(args), false));
|
|
15
|
+
if (isPromiseLike(result)) {
|
|
16
|
+
return result
|
|
17
|
+
.then(function (res) {
|
|
18
|
+
return [null, res];
|
|
19
|
+
})
|
|
20
|
+
.catch(function (err) {
|
|
21
|
+
return [err, native.nativeUndefined];
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
return [null, result];
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
return [err, native.nativeUndefined];
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
module.exports = tryit;
|
package/package.json
CHANGED
package/types/allKeys.d.ts
CHANGED
package/types/allKeysIn.d.ts
CHANGED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { MapKey, MapPredicate, ObjectPredicate, WithNullable } from './internals/types';
|
|
2
|
+
interface FindKey {
|
|
3
|
+
<T extends Map<any, any>>(map: WithNullable<T>, predicate?: MapPredicate<T>): MapKey<T> | undefined;
|
|
4
|
+
<T extends object, K extends keyof T = keyof T>(object: WithNullable<T>, predicate?: ObjectPredicate<T>): K | undefined;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* 查找对象的键。
|
|
8
|
+
*
|
|
9
|
+
* @alias module:Object.findKey
|
|
10
|
+
* @since 1.13.0
|
|
11
|
+
* @param {Object | Map} obj 对象或 Map 对象
|
|
12
|
+
* @param {Function} [predicate] 迭代对象自身的可枚举属性(包含 `Symbol` 属性)调用的函数,返回 `Truthy` 表示要查找该值对应的键。
|
|
13
|
+
* @returns 如果对象存在要查找的值,返回该值的键,否则返回 `undefined`。
|
|
14
|
+
* @example
|
|
15
|
+
* const obj = { foo: 'bar', baz: 42 }
|
|
16
|
+
* findKey(obj, isNumber); // 'baz'
|
|
17
|
+
* findKey(obj, v => typeof v === 'bar'); // 'foo'
|
|
18
|
+
*
|
|
19
|
+
* const map = new Map([['foo', 'bar'], ['baz', 42]]);
|
|
20
|
+
* findKey(map, isNumber); // 'baz'
|
|
21
|
+
* findKey(map, v => typeof v === 'bar'); // 'foo'
|
|
22
|
+
*/
|
|
23
|
+
declare const findKey: FindKey;
|
|
24
|
+
export default findKey;
|
package/types/index.d.ts
CHANGED
|
@@ -127,6 +127,7 @@ export { default as randomInt } from './randomInt';
|
|
|
127
127
|
*/
|
|
128
128
|
export { default as allKeys } from './allKeys';
|
|
129
129
|
export { default as allKeysIn } from './allKeysIn';
|
|
130
|
+
export { default as findKey } from './findKey';
|
|
130
131
|
export { default as invert } from './invert';
|
|
131
132
|
export { default as keys } from './keys';
|
|
132
133
|
export { default as keysIn } from './keysIn';
|
|
@@ -175,6 +176,7 @@ export { default as noop } from './noop';
|
|
|
175
176
|
export { default as nthArg } from './nthArg';
|
|
176
177
|
export { default as range } from './range';
|
|
177
178
|
export { default as sleep } from './sleep';
|
|
179
|
+
export { default as list } from './list';
|
|
178
180
|
export { default as times } from './times';
|
|
179
181
|
export { default as toFinite } from './toFinite';
|
|
180
182
|
export { default as toInteger } from './toInteger';
|
|
@@ -182,6 +184,7 @@ export { default as toLength } from './toLength';
|
|
|
182
184
|
export { default as toNumber } from './toNumber';
|
|
183
185
|
export { default as toSafeInteger } from './toSafeInteger';
|
|
184
186
|
export { default as toString } from './toString';
|
|
187
|
+
export { default as tryit } from './tryit';
|
|
185
188
|
export { default as uniqueId } from './uniqueId';
|
|
186
189
|
export { MAX_SAFE_INTEGER, MIN_SAFE_INTEGER, MAX_ARRAY_LENGTH } from './internals/native';
|
|
187
190
|
export { VERSION, isBrowser } from './internals/helpers';
|
|
@@ -6,6 +6,9 @@ export type Many<T> = T | T[];
|
|
|
6
6
|
export type WithNullable<T> = T | null | undefined;
|
|
7
7
|
export type PropertyName = string | number | symbol;
|
|
8
8
|
export type ObjectPredicate<T extends object, K extends keyof T = keyof T> = (value: T[K], key: K) => boolean;
|
|
9
|
+
export type MapValue<T extends Map<any, any>> = ReturnType<T['get']>;
|
|
10
|
+
export type MapKey<T extends Map<any, any>> = Parameters<T['get']>[0];
|
|
11
|
+
export type MapPredicate<T extends Map<any, any>> = (value: MapValue<T>, key: MapKey<T>) => boolean;
|
|
9
12
|
/**
|
|
10
13
|
* 迭代参数
|
|
11
14
|
*/
|
package/types/isWindow.d.ts
CHANGED
package/types/list.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
interface List {
|
|
2
|
+
<T>(n: number, iteratee: (index: number) => T): T[];
|
|
3
|
+
(n: number): number[];
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* 调用 `iteratee` `n` 次,每次调用返回的结果存入到数组中。
|
|
7
|
+
*
|
|
8
|
+
* `iteratee` 调用传入一个参数 `index`。
|
|
9
|
+
*
|
|
10
|
+
* *注:原方法名为 `times`,自 `v1.12.0` 版本调整为 `list`。*
|
|
11
|
+
*
|
|
12
|
+
* @function
|
|
13
|
+
* @alias module:Util.list
|
|
14
|
+
* @since 1.12.0
|
|
15
|
+
* @param {number} n 调用 `iteratee` 的次数。
|
|
16
|
+
* @param {Function} [iteratee=identity] 每次迭代调用的函数。默认 `identity`。
|
|
17
|
+
* @returns {Array} 调用结果的数组。
|
|
18
|
+
* @example
|
|
19
|
+
*
|
|
20
|
+
* list(3); // [0, 1, 2]
|
|
21
|
+
*
|
|
22
|
+
* list(3, String); // ['0', '1', '2']
|
|
23
|
+
*
|
|
24
|
+
* list(4, () => 0); // [0, 0, 0, 0]
|
|
25
|
+
*
|
|
26
|
+
*/
|
|
27
|
+
declare const list: List;
|
|
28
|
+
export default list;
|
package/types/times.d.ts
CHANGED
|
@@ -1,26 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
(n: number): number[];
|
|
4
|
-
}
|
|
1
|
+
import list from './list';
|
|
2
|
+
type Times = typeof list;
|
|
5
3
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* `iteratee` 调用传入一个参数 `index`。
|
|
9
|
-
*
|
|
10
|
-
* @function
|
|
11
|
-
* @alias module:Util.times
|
|
12
|
-
* @since 1.0.0
|
|
13
|
-
* @param {number} n 调用 `iteratee` 的次数。
|
|
14
|
-
* @param {Function} [iteratee=identity] 每次迭代调用的函数。默认 `identity`。
|
|
15
|
-
* @returns {Array} 调用结果的数组。
|
|
16
|
-
* @example
|
|
17
|
-
*
|
|
18
|
-
* times(3); // [0, 1, 2]
|
|
19
|
-
*
|
|
20
|
-
* times(3, String); // ['0', '1', '2']
|
|
21
|
-
*
|
|
22
|
-
* times(4, () => 0); // [0, 0, 0, 0]
|
|
23
|
-
*
|
|
4
|
+
* @private
|
|
5
|
+
* @deprecated 方法名调整为 `list` 。
|
|
24
6
|
*/
|
|
25
7
|
declare const times: Times;
|
|
26
8
|
export default times;
|
package/types/tryit.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
type SyncFn<P extends any[], R> = (...args: P) => R;
|
|
2
|
+
type AsyncFn<P extends any[], R> = (...args: P) => Promise<R>;
|
|
3
|
+
interface Tryit {
|
|
4
|
+
<P extends any[], R>(fn: AsyncFn<P, R>): (...args: P) => Promise<[null, R] | [Error, undefined]>;
|
|
5
|
+
<P extends any[], R>(fn: SyncFn<P, R>): (...args: P) => [null, R] | [Error, undefined];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* 包装一个函数(支持异步函数),将其转为错误优先函数。
|
|
9
|
+
*
|
|
10
|
+
* @alias module:Util.tryit
|
|
11
|
+
* @since 1.13.0
|
|
12
|
+
* @param {Function} fn 要包装的函数。
|
|
13
|
+
* @returns 如果执行成功返回 `[null, result]`,否则返回 `[Error, undefined]`。
|
|
14
|
+
* @example
|
|
15
|
+
* const getGreet = async (name: string) => {
|
|
16
|
+
* return 'hello ' + name;
|
|
17
|
+
* }
|
|
18
|
+
* const [err, result] = await tryit(getGreet)('jeff');
|
|
19
|
+
* console.log([err, result]);
|
|
20
|
+
* // [null, 'hello jeff']
|
|
21
|
+
*
|
|
22
|
+
*
|
|
23
|
+
* const errorFn = async (name: string) => {
|
|
24
|
+
* throw new Error('error message');
|
|
25
|
+
* return 'hello ' + name;
|
|
26
|
+
* }
|
|
27
|
+
* const [err2, result2] = await tryit(errorFn)('jeff');
|
|
28
|
+
* console.log([err2, result2]);
|
|
29
|
+
* // [Error: error message, undefined]
|
|
30
|
+
*/
|
|
31
|
+
declare const tryit: Tryit;
|
|
32
|
+
export default tryit;
|