@ezez/utils 4.8.1 → 4.8.2
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/.claude/settings.local.json +8 -1
- package/CHANGELOG.md +14 -0
- package/dist/get.d.ts.map +1 -1
- package/dist/get.js +1 -1
- package/dist/get.js.map +1 -1
- package/dist/mostFrequent.d.ts +1 -1
- package/dist/mostFrequent.d.ts.map +1 -1
- package/dist/mostFrequent.js +2 -5
- package/dist/mostFrequent.js.map +1 -1
- package/dist/samples.d.ts.map +1 -1
- package/dist/samples.js +2 -1
- package/dist/samples.js.map +1 -1
- package/dist/scale.d.ts.map +1 -1
- package/dist/scale.js +3 -0
- package/dist/scale.js.map +1 -1
- package/dist/sortByMultiple.d.ts.map +1 -1
- package/dist/sortByMultiple.js.map +1 -1
- package/dist/throttle.d.ts +3 -3
- package/dist/throttle.d.ts.map +1 -1
- package/dist/throttle.js +2 -3
- package/dist/throttle.js.map +1 -1
- package/dist/trimEnd.d.ts.map +1 -1
- package/dist/trimEnd.js +3 -0
- package/dist/trimEnd.js.map +1 -1
- package/dist/trimStart.d.ts.map +1 -1
- package/dist/trimStart.js +3 -0
- package/dist/trimStart.js.map +1 -1
- package/dist/waitFor.d.ts.map +1 -1
- package/dist/waitFor.js +19 -11
- package/dist/waitFor.js.map +1 -1
- package/docs/documents/Changelog.html +70 -55
- package/docs/functions/index.assertProps.html +2 -2
- package/docs/functions/index.cap.html +2 -2
- package/docs/functions/index.capitalize.html +2 -2
- package/docs/functions/index.coalesce.html +2 -2
- package/docs/functions/index.compareArrays.html +2 -2
- package/docs/functions/index.compareProps.html +2 -2
- package/docs/functions/index.deserialize.html +2 -2
- package/docs/functions/index.ensureArray.html +2 -2
- package/docs/functions/index.ensureDate.html +2 -2
- package/docs/functions/index.ensureError.html +2 -2
- package/docs/functions/index.ensurePrefix.html +2 -2
- package/docs/functions/index.ensureSuffix.html +2 -2
- package/docs/functions/index.ensureTimestamp.html +2 -2
- package/docs/functions/index.escapeRegExp.html +2 -2
- package/docs/functions/index.formatDate.html +2 -2
- package/docs/functions/index.formatHash.html +2 -2
- package/docs/functions/index.get.html +3 -3
- package/docs/functions/index.getMultiple.html +2 -2
- package/docs/functions/index.hasProps.html +2 -2
- package/docs/functions/index.ignore.html +2 -2
- package/docs/functions/index.insertSeparator.html +2 -2
- package/docs/functions/index.isEmpty.html +2 -2
- package/docs/functions/index.isNumericString.html +2 -2
- package/docs/functions/index.isPlainObject.html +2 -2
- package/docs/functions/index.last.html +2 -2
- package/docs/functions/index.later-1.html +2 -2
- package/docs/functions/index.mapAsync.html +2 -2
- package/docs/functions/index.mapValues.html +2 -2
- package/docs/functions/index.match.html +2 -2
- package/docs/functions/index.memoize.html +2 -2
- package/docs/functions/index.merge.html +2 -2
- package/docs/functions/index.mostFrequent.html +2 -2
- package/docs/functions/index.noop.html +2 -2
- package/docs/functions/index.occurrences.html +2 -2
- package/docs/functions/index.omit.html +2 -2
- package/docs/functions/index.pick.html +2 -2
- package/docs/functions/index.pull.html +2 -2
- package/docs/functions/index.race.html +2 -2
- package/docs/functions/index.remove.html +2 -2
- package/docs/functions/index.removeCommonProperties.html +2 -2
- package/docs/functions/index.replace.html +2 -2
- package/docs/functions/index.replaceDeep.html +2 -2
- package/docs/functions/index.rethrow.html +2 -2
- package/docs/functions/index.retry.html +2 -2
- package/docs/functions/index.round.html +2 -2
- package/docs/functions/index.safe.html +2 -2
- package/docs/functions/index.sample.html +2 -2
- package/docs/functions/index.samples.html +2 -2
- package/docs/functions/index.scale.html +3 -2
- package/docs/functions/index.seq.html +2 -2
- package/docs/functions/index.seqEarlyBreak.html +2 -2
- package/docs/functions/index.serialize.html +2 -2
- package/docs/functions/index.serializeToBuffer.html +2 -2
- package/docs/functions/index.set.html +2 -2
- package/docs/functions/index.setImmutable.html +2 -2
- package/docs/functions/index.shuffle.html +2 -2
- package/docs/functions/index.sortBy.html +2 -2
- package/docs/functions/index.sortByMultiple.html +3 -3
- package/docs/functions/index.sortProps.html +2 -2
- package/docs/functions/index.stripPrefix.html +2 -2
- package/docs/functions/index.stripSuffix.html +2 -2
- package/docs/functions/index.throttle.html +3 -3
- package/docs/functions/index.toggle.html +2 -2
- package/docs/functions/index.trim.html +2 -2
- package/docs/functions/index.trimEnd.html +2 -2
- package/docs/functions/index.trimStart.html +2 -2
- package/docs/functions/index.truthy.html +2 -2
- package/docs/functions/index.unique.html +2 -2
- package/docs/functions/index.unserializeFromBuffer.html +2 -2
- package/docs/functions/index.wait.html +2 -2
- package/docs/functions/index.waitFor.html +2 -2
- package/docs/functions/index.waitSync.html +2 -2
- package/docs/index.html +2 -2
- package/docs/interfaces/index.ComparePropsOptions.html +3 -3
- package/docs/interfaces/index.GetMultipleSource.html +2 -2
- package/docs/interfaces/index.GetSource.html +2 -2
- package/docs/interfaces/index.IsNumericStringOptions.html +2 -2
- package/docs/interfaces/index.OccurencesOptions.html +2 -2
- package/docs/interfaces/index.SetImmutableSource.html +2 -2
- package/docs/interfaces/index.SetSource.html +2 -2
- package/docs/interfaces/index.ThrottleOptions.html +3 -3
- package/docs/interfaces/index.ThrottledFunctionExtras.html +3 -3
- package/docs/modules/index.html +1 -1
- package/docs/modules.html +1 -1
- package/docs/types/index.CustomDeserializers.html +1 -1
- package/docs/types/index.CustomSerializers.html +1 -1
- package/docs/types/index.Later.html +2 -2
- package/docs/types/index.MapValuesFn.html +2 -2
- package/docs/types/index.MatchCallback.html +1 -1
- package/docs/types/index.MergeTwo.html +2 -2
- package/docs/types/index.SeqEarlyBreaker.html +2 -2
- package/docs/types/index.SeqFn.html +2 -2
- package/docs/types/index.SeqFunctions.html +2 -2
- package/docs/types/index.SetImmutablePath.html +2 -2
- package/docs/types/index.ThrottledFunction.html +1 -1
- package/docs/variables/index.mapValuesUNSET.html +2 -2
- package/docs/variables/index.mergeUNSET.html +2 -2
- package/esm/get.d.ts.map +1 -1
- package/esm/get.js +1 -1
- package/esm/get.js.map +1 -1
- package/esm/mostFrequent.d.ts +1 -1
- package/esm/mostFrequent.d.ts.map +1 -1
- package/esm/mostFrequent.js +2 -5
- package/esm/mostFrequent.js.map +1 -1
- package/esm/samples.d.ts.map +1 -1
- package/esm/samples.js +2 -1
- package/esm/samples.js.map +1 -1
- package/esm/scale.d.ts.map +1 -1
- package/esm/scale.js +3 -0
- package/esm/scale.js.map +1 -1
- package/esm/sortByMultiple.d.ts.map +1 -1
- package/esm/sortByMultiple.js.map +1 -1
- package/esm/throttle.d.ts +3 -3
- package/esm/throttle.d.ts.map +1 -1
- package/esm/throttle.js +2 -3
- package/esm/throttle.js.map +1 -1
- package/esm/trimEnd.d.ts.map +1 -1
- package/esm/trimEnd.js +3 -0
- package/esm/trimEnd.js.map +1 -1
- package/esm/trimStart.d.ts.map +1 -1
- package/esm/trimStart.js +3 -0
- package/esm/trimStart.js.map +1 -1
- package/esm/waitFor.d.ts.map +1 -1
- package/esm/waitFor.js +19 -11
- package/esm/waitFor.js.map +1 -1
- package/package.json +12 -13
- package/pnpm-workspace.yaml +2 -0
- package/src/get.ts +1 -1
- package/src/mostFrequent.spec.ts +2 -1
- package/src/mostFrequent.ts +3 -7
- package/src/race.spec.ts +42 -0
- package/src/race.ts +0 -2
- package/src/retry.spec.ts +87 -0
- package/src/retry.ts +0 -2
- package/src/samples.spec.ts +9 -0
- package/src/samples.ts +4 -1
- package/src/scale.spec.ts +18 -0
- package/src/scale.ts +4 -0
- package/src/sortByMultiple.ts +1 -0
- package/src/throttle.spec.ts +35 -0
- package/src/throttle.ts +7 -8
- package/src/trimEnd.spec.ts +5 -0
- package/src/trimEnd.ts +3 -0
- package/src/trimStart.spec.ts +5 -0
- package/src/trimStart.ts +3 -0
- package/src/waitFor.spec.ts +61 -0
- package/src/waitFor.ts +33 -15
- package/src/waitSync.ts +2 -2
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"permissions": {
|
|
3
3
|
"allow": [
|
|
4
|
-
"Bash(pnpm test:*)"
|
|
4
|
+
"Bash(pnpm test:*)",
|
|
5
|
+
"Bash(pnpm run *)",
|
|
6
|
+
"Bash(npm test *)",
|
|
7
|
+
"Bash(npx tsc *)",
|
|
8
|
+
"Bash(git log *)",
|
|
9
|
+
"Bash(npx jest *)",
|
|
10
|
+
"Bash(pnpm typecheck *)",
|
|
11
|
+
"Bash(pnpm lint *)"
|
|
5
12
|
]
|
|
6
13
|
}
|
|
7
14
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,20 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
|
6
6
|
## [UNRELEASED]
|
|
7
7
|
- (nothing yet)
|
|
8
8
|
|
|
9
|
+
## [4.8.2] - 2026-06-14
|
|
10
|
+
### Changed
|
|
11
|
+
- `waitFor` rejected errors now keep the original error as `cause` and their stack trace points at the caller
|
|
12
|
+
- `mostFrequent` return type is now `T | undefined` (it returns `undefined` for empty arrays)
|
|
13
|
+
- `throttle`'s `flush` is now correctly typed to return the function's result instead of `void`
|
|
14
|
+
### Fixed
|
|
15
|
+
- `waitFor` could call the check function too frequently
|
|
16
|
+
- `trimStart` and `trimEnd` infinite loop when the characters to trim were an empty string
|
|
17
|
+
- `samples` padding the result with `undefined` when `allowShuffle` was used with a count greater than the array length
|
|
18
|
+
- `scale` now throws instead of returning `NaN` when `fromMin` equals `fromMax`
|
|
19
|
+
- `throttle` `flush` running the planned call and then scheduling another one instead of running it just once
|
|
20
|
+
### Dev
|
|
21
|
+
- added missing tests for `race`, `retry` and `throttle.flush`
|
|
22
|
+
|
|
9
23
|
## [4.8.1] - 2026-01-28
|
|
10
24
|
### Fixed
|
|
11
25
|
- removed unserializeFromBuffer artificial limit of returned items
|
package/dist/get.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../src/get.ts"],"names":[],"mappings":"AAKA,UAAU,MAAM;IAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE;AA2B3C,QAAA,MAAM,GAAG,GAAI,QAAQ,MAAM,EAAE,UAAU,MAAM,GAAG,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../src/get.ts"],"names":[],"mappings":"AAKA,UAAU,MAAM;IAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE;AA2B3C,QAAA,MAAM,GAAG,GAAI,QAAQ,MAAM,EAAE,UAAU,MAAM,GAAG,MAAM,EAAE,EAAE,eAAe,OAAO,KAAG,OAclF,CAAC;AAEF,OAAO,EAAE,GAAG,EAAE,CAAC;AAEf,YAAY,EACR,MAAM,IAAI,SAAS,GACtB,CAAC"}
|
package/dist/get.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.get = void 0;
|
|
4
|
-
const get = (source, property, defaultValue
|
|
4
|
+
const get = (source, property, defaultValue) => {
|
|
5
5
|
const properties = typeof property === "string" ? property.split(".") : [...property];
|
|
6
6
|
let result = source;
|
|
7
7
|
while (properties.length) {
|
package/dist/get.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../src/get.ts"],"names":[],"mappings":";;;AAgCA,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,QAA2B,EAAE,
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../src/get.ts"],"names":[],"mappings":";;;AAgCA,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,QAA2B,EAAE,YAAsB,EAAW,EAAE;IACzF,MAAM,UAAU,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;IAEtF,IAAI,MAAM,GAAY,MAAM,CAAC;IAC7B,OAAO,UAAU,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAG,CAAC;QACpC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YAC5D,MAAM,GAAI,MAAiB,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;aACI,CAAC;YACF,OAAO,YAAY,CAAC;QACxB,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEO,kBAAG"}
|
package/dist/mostFrequent.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mostFrequent.d.ts","sourceRoot":"","sources":["../src/mostFrequent.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,YAAY,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,KAAG,
|
|
1
|
+
{"version":3,"file":"mostFrequent.d.ts","sourceRoot":"","sources":["../src/mostFrequent.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,YAAY,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,KAAG,CAAC,GAAG,SAezC,CAAC;AAEF,OAAO,EACH,YAAY,GACf,CAAC"}
|
package/dist/mostFrequent.js
CHANGED
|
@@ -5,11 +5,8 @@ const mostFrequent = (array) => {
|
|
|
5
5
|
let top = 0, topValue = array[0];
|
|
6
6
|
const map = new Map();
|
|
7
7
|
array.forEach(value => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
const next = map.get(value) + 1;
|
|
12
|
-
map.set(value, map.get(value) + 1);
|
|
8
|
+
const next = (map.get(value) ?? 0) + 1;
|
|
9
|
+
map.set(value, next);
|
|
13
10
|
if (next > top) {
|
|
14
11
|
top = next;
|
|
15
12
|
topValue = value;
|
package/dist/mostFrequent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mostFrequent.js","sourceRoot":"","sources":["../src/mostFrequent.ts"],"names":[],"mappings":";;;AAIA,MAAM,YAAY,GAAG,CAAI,KAAU,
|
|
1
|
+
{"version":3,"file":"mostFrequent.js","sourceRoot":"","sources":["../src/mostFrequent.ts"],"names":[],"mappings":";;;AAIA,MAAM,YAAY,GAAG,CAAI,KAAU,EAAiB,EAAE;IAClD,IAAI,GAAG,GAAG,CAAC,EACP,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAExB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAa,CAAC;IACjC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAClB,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACvC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrB,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,GAAG,GAAG,IAAI,CAAC;YACX,QAAQ,GAAG,KAAK,CAAC;QACrB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAGE,oCAAY"}
|
package/dist/samples.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"samples.d.ts","sourceRoot":"","sources":["../src/samples.ts"],"names":[],"mappings":"AAUA,QAAA,MAAM,OAAO,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,gBAAgB,MAAM,EAAE,sBAAoB,KAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"samples.d.ts","sourceRoot":"","sources":["../src/samples.ts"],"names":[],"mappings":"AAUA,QAAA,MAAM,OAAO,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,gBAAgB,MAAM,EAAE,sBAAoB,KAAG,CAAC,EA6B/E,CAAC;AAEF,OAAO,EACH,OAAO,GACV,CAAC"}
|
package/dist/samples.js
CHANGED
|
@@ -12,9 +12,10 @@ const samples = (array, elementsToPick, allowShuffle = false) => {
|
|
|
12
12
|
return array;
|
|
13
13
|
}
|
|
14
14
|
const keys = Object.keys(array);
|
|
15
|
+
const toPick = Math.min(elementsToPick, keys.length);
|
|
15
16
|
let picked = 0;
|
|
16
17
|
const result = [];
|
|
17
|
-
while (picked <
|
|
18
|
+
while (picked < toPick) {
|
|
18
19
|
const indexOfKey = Math.floor(Math.random() * keys.length);
|
|
19
20
|
const indexOfArray = Number(keys[indexOfKey]);
|
|
20
21
|
const element = array[indexOfArray];
|
package/dist/samples.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"samples.js","sourceRoot":"","sources":["../src/samples.ts"],"names":[],"mappings":";;;AAUA,MAAM,OAAO,GAAG,CAAI,KAAU,EAAE,cAAsB,EAAE,YAAY,GAAG,KAAK,EAAO,EAAE;IACjF,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,CAAC,YAAY,IAAI,cAAc,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"samples.js","sourceRoot":"","sources":["../src/samples.ts"],"names":[],"mappings":";;;AAUA,MAAM,OAAO,GAAG,CAAI,KAAU,EAAE,cAAsB,EAAE,YAAY,GAAG,KAAK,EAAO,EAAE;IACjF,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,CAAC,YAAY,IAAI,cAAc,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAGhC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,OAAO,MAAM,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC3B,MAAM,EAAE,CAAC;IACb,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAGE,0BAAO"}
|
package/dist/scale.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scale.d.ts","sourceRoot":"","sources":["../src/scale.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scale.d.ts","sourceRoot":"","sources":["../src/scale.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,KAAK,GAAI,SAAS,MAAM,EAAE,SAAS,MAAM,EAAE,OAAO,MAAM,EAAE,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,MAK/F,CAAC;AAEF,OAAO,EACH,KAAK,GACR,CAAC"}
|
package/dist/scale.js
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.scale = void 0;
|
|
4
4
|
const scale = (fromMin, fromMax, toMin, toMax, number) => {
|
|
5
|
+
if (fromMin === fromMax) {
|
|
6
|
+
throw new Error("[scale] fromMin and fromMax must not be equal");
|
|
7
|
+
}
|
|
5
8
|
return toMin + ((number - fromMin) / (fromMax - fromMin) * (toMax - toMin));
|
|
6
9
|
};
|
|
7
10
|
exports.scale = scale;
|
package/dist/scale.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scale.js","sourceRoot":"","sources":["../src/scale.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"scale.js","sourceRoot":"","sources":["../src/scale.ts"],"names":[],"mappings":";;;AAYA,MAAM,KAAK,GAAG,CAAC,OAAe,EAAE,OAAe,EAAE,KAAa,EAAE,KAAa,EAAE,MAAc,EAAU,EAAE;IACrG,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC;AAGE,sBAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortByMultiple.d.ts","sourceRoot":"","sources":["../src/sortByMultiple.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sortByMultiple.d.ts","sourceRoot":"","sources":["../src/sortByMultiple.ts"],"names":[],"mappings":"AA8BA,QAAA,MAAM,cAAc,GAEhB,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EAC/C,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,EAExB,eAAe,CAAC,EAChB,YAAW,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,CAAQ,EAEtD,gBAAgB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,KAChD,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAgB7B,CAAC;AAEF,OAAO,EACH,cAAc,GACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortByMultiple.js","sourceRoot":"","sources":["../src/sortByMultiple.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"sortByMultiple.js","sourceRoot":"","sources":["../src/sortByMultiple.ts"],"names":[],"mappings":";;;AA8BA,MAAM,cAAc,GAAG,CAKnB,aAAgB,EAChB,YAAkD,IAAI,EAEtD,aAA+C,EACnB,EAAE,CAAC,CAAC,CAAI,EAAE,CAAI,EAAc,EAAE;IAC1D,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QAEvC,MAAM,GAAG,GAAG,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC;QAC3F,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC;QAEhE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAEpB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAGE,wCAAc"}
|
package/dist/throttle.d.ts
CHANGED
|
@@ -2,12 +2,12 @@ interface Opts {
|
|
|
2
2
|
leading?: boolean;
|
|
3
3
|
trailing?: boolean;
|
|
4
4
|
}
|
|
5
|
-
interface Extras {
|
|
5
|
+
interface Extras<R = unknown> {
|
|
6
6
|
cancel: () => void;
|
|
7
|
-
flush: () =>
|
|
7
|
+
flush: () => R | undefined;
|
|
8
8
|
}
|
|
9
9
|
type CanReturnUndefined<F extends (...args: any[]) => any> = (...args: Parameters<F>) => ReturnType<F> | undefined;
|
|
10
|
-
declare const throttle: <RT, F extends (...args: any[]) => RT>(fn: F, time?: number | [number, ...number[]], options?: Opts) => CanReturnUndefined<F> & Extras
|
|
10
|
+
declare const throttle: <RT, F extends (...args: any[]) => RT>(fn: F, time?: number | [number, ...number[]], options?: Opts) => CanReturnUndefined<F> & Extras<RT>;
|
|
11
11
|
export { throttle, };
|
|
12
12
|
export type { Extras as ThrottledFunctionExtras, Opts as ThrottleOptions, CanReturnUndefined as ThrottledFunction, };
|
|
13
13
|
//# sourceMappingURL=throttle.d.ts.map
|
package/dist/throttle.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"AAAA,UAAU,IAAI;IAIV,OAAO,CAAC,EAAE,OAAO,CAAC;IAIlB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,MAAM;
|
|
1
|
+
{"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"AAAA,UAAU,IAAI;IAIV,OAAO,CAAC,EAAE,OAAO,CAAC;IAIlB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,MAAM,CAAC,CAAC,GAAG,OAAO;IAIxB,MAAM,EAAE,MAAM,IAAI,CAAC;IAInB,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC9B;AAQD,KAAK,kBAAkB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AAoBnH,QAAA,MAAM,QAAQ,GAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAClD,IAAI,CAAC,EAAE,OAAM,MAAM,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAK,EAAE,UAAU,IAAI,KAChE,kBAAkB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CA2FnC,CAAC;AAEF,OAAO,EACH,QAAQ,GACX,CAAC;AAEF,YAAY,EACR,MAAM,IAAI,uBAAuB,EACjC,IAAI,IAAI,eAAe,EACvB,kBAAkB,IAAI,iBAAiB,GAC1C,CAAC"}
|
package/dist/throttle.js
CHANGED
|
@@ -66,11 +66,10 @@ const throttle = (fn, time = 0, options) => {
|
|
|
66
66
|
};
|
|
67
67
|
throttledFn.flush = () => {
|
|
68
68
|
if (timeoutId !== null) {
|
|
69
|
-
lastRun = Date.now();
|
|
70
|
-
lastResult = fn(...lastArgs);
|
|
71
69
|
clearTimeout(timeoutId);
|
|
72
70
|
timeoutId = null;
|
|
73
|
-
|
|
71
|
+
lastRun = Date.now();
|
|
72
|
+
lastResult = fn(...lastArgs);
|
|
74
73
|
}
|
|
75
74
|
return lastResult;
|
|
76
75
|
};
|
package/dist/throttle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":";;;AAsBA,MAAM,cAAc,GAAmB;IACnC,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;CACjB,CAAC;AAuBF,MAAM,QAAQ,GAAG,CACb,EAAK,EAAE,OAAuC,CAAC,EAAE,OAAc,
|
|
1
|
+
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"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"}
|
package/dist/trimEnd.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trimEnd.d.ts","sourceRoot":"","sources":["../src/trimEnd.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,OAAO,GAAI,QAAQ,MAAM,EAAE,YAAY,MAAM,KAAG,
|
|
1
|
+
{"version":3,"file":"trimEnd.d.ts","sourceRoot":"","sources":["../src/trimEnd.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,OAAO,GAAI,QAAQ,MAAM,EAAE,YAAY,MAAM,KAAG,MASrD,CAAC;AAEF,OAAO,EACH,OAAO,GACV,CAAC"}
|
package/dist/trimEnd.js
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.trimEnd = void 0;
|
|
4
4
|
const trimEnd = (source, characters) => {
|
|
5
|
+
if (characters === "") {
|
|
6
|
+
return source;
|
|
7
|
+
}
|
|
5
8
|
let s = source;
|
|
6
9
|
while (s.endsWith(characters)) {
|
|
7
10
|
s = s.slice(0, -characters.length);
|
package/dist/trimEnd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trimEnd.js","sourceRoot":"","sources":["../src/trimEnd.ts"],"names":[],"mappings":";;;AAWA,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,UAAkB,EAAU,EAAE;IAC3D,IAAI,CAAC,GAAG,MAAM,CAAC;IACf,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAGE,0BAAO"}
|
|
1
|
+
{"version":3,"file":"trimEnd.js","sourceRoot":"","sources":["../src/trimEnd.ts"],"names":[],"mappings":";;;AAWA,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,UAAkB,EAAU,EAAE;IAC3D,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,GAAG,MAAM,CAAC;IACf,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAGE,0BAAO"}
|
package/dist/trimStart.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trimStart.d.ts","sourceRoot":"","sources":["../src/trimStart.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,SAAS,GAAI,QAAQ,MAAM,EAAE,YAAY,MAAM,KAAG,
|
|
1
|
+
{"version":3,"file":"trimStart.d.ts","sourceRoot":"","sources":["../src/trimStart.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,SAAS,GAAI,QAAQ,MAAM,EAAE,YAAY,MAAM,KAAG,MASvD,CAAC;AAEF,OAAO,EACH,SAAS,GACZ,CAAC"}
|
package/dist/trimStart.js
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.trimStart = void 0;
|
|
4
4
|
const trimStart = (source, characters) => {
|
|
5
|
+
if (characters === "") {
|
|
6
|
+
return source;
|
|
7
|
+
}
|
|
5
8
|
let s = source;
|
|
6
9
|
while (s.startsWith(characters)) {
|
|
7
10
|
s = s.slice(characters.length);
|
package/dist/trimStart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trimStart.js","sourceRoot":"","sources":["../src/trimStart.ts"],"names":[],"mappings":";;;AAWA,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,UAAkB,EAAU,EAAE;IAC7D,IAAI,CAAC,GAAG,MAAM,CAAC;IACf,OAAO,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAGE,8BAAS"}
|
|
1
|
+
{"version":3,"file":"trimStart.js","sourceRoot":"","sources":["../src/trimStart.ts"],"names":[],"mappings":";;;AAWA,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,UAAkB,EAAU,EAAE;IAC7D,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,GAAG,MAAM,CAAC;IACf,OAAO,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAGE,8BAAS"}
|
package/dist/waitFor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitFor.d.ts","sourceRoot":"","sources":["../src/waitFor.ts"],"names":[],"mappings":"AAKA,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtC,KAAK,OAAO,GAAG;IAIX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAIlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;
|
|
1
|
+
{"version":3,"file":"waitFor.d.ts","sourceRoot":"","sources":["../src/waitFor.ts"],"names":[],"mappings":"AAKA,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtC,KAAK,OAAO,GAAG;IAIX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAIlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAiCF,QAAA,MAAM,OAAO,GAAI,CAAC,EAAE,IAAI,MAAM,YAAY,CAAC,CAAC,CAAC,EAAE,UAAS,OAAwB,KAAG,OAAO,CAAC,CAAC,CA4D3F,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
package/dist/waitFor.js
CHANGED
|
@@ -8,18 +8,30 @@ const defaultOptions = {
|
|
|
8
8
|
timeout: Infinity,
|
|
9
9
|
maxTries: Infinity,
|
|
10
10
|
};
|
|
11
|
+
const graftCallerStack = (error, callSite) => {
|
|
12
|
+
const callerFrames = callSite.stack?.replace(/^.*\n/u, "");
|
|
13
|
+
if (callerFrames) {
|
|
14
|
+
error.stack = error.stack ? `${error.stack}\n${callerFrames}` : callerFrames;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
11
17
|
const waitFor = (fn, options = defaultOptions) => {
|
|
18
|
+
const callSite = new Error();
|
|
12
19
|
return new Promise((resolve, reject) => {
|
|
13
20
|
let intervalTimer, failTimer;
|
|
21
|
+
const fail = (error) => {
|
|
22
|
+
graftCallerStack(error, callSite);
|
|
23
|
+
clearTimeout(failTimer);
|
|
24
|
+
clearTimeout(intervalTimer);
|
|
25
|
+
reject(error);
|
|
26
|
+
};
|
|
14
27
|
const opts = { ...defaultOptions, ...options };
|
|
15
28
|
if (typeof opts.maxTries === "number" && opts.maxTries < 1) {
|
|
16
|
-
|
|
29
|
+
fail(new TypeError("[waitFor] maxTries must be greater than 0"));
|
|
17
30
|
return;
|
|
18
31
|
}
|
|
19
32
|
if (Number.isFinite(opts.timeout)) {
|
|
20
33
|
failTimer = setTimeout(() => {
|
|
21
|
-
|
|
22
|
-
clearTimeout(intervalTimer);
|
|
34
|
+
fail(new Error("[waitFor] Timeout"));
|
|
23
35
|
}, opts.timeout);
|
|
24
36
|
}
|
|
25
37
|
let tries = 0;
|
|
@@ -34,22 +46,18 @@ const waitFor = (fn, options = defaultOptions) => {
|
|
|
34
46
|
}
|
|
35
47
|
else {
|
|
36
48
|
if (Number.isFinite(opts.maxTries) && tries >= opts.maxTries) {
|
|
37
|
-
|
|
38
|
-
clearTimeout(intervalTimer);
|
|
39
|
-
reject(new Error("[waitFor] Max tries reached"));
|
|
49
|
+
fail(new Error("[waitFor] Max tries reached"));
|
|
40
50
|
return;
|
|
41
51
|
}
|
|
42
52
|
intervalTimer = setTimeout(() => {
|
|
43
53
|
tryFn().catch(noop_js_1.noop);
|
|
44
|
-
},
|
|
54
|
+
}, opts.interval);
|
|
45
55
|
}
|
|
46
56
|
}
|
|
47
57
|
catch (error) {
|
|
48
|
-
|
|
49
|
-
clearTimeout(intervalTimer);
|
|
50
|
-
const e = new Error("[waitFor] check function threw an error");
|
|
58
|
+
const e = new Error("[waitFor] check function threw an error", { cause: error });
|
|
51
59
|
e.details = { error };
|
|
52
|
-
|
|
60
|
+
fail(e);
|
|
53
61
|
}
|
|
54
62
|
});
|
|
55
63
|
tryFn().catch(noop_js_1.noop);
|
package/dist/waitFor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitFor.js","sourceRoot":"","sources":["../src/waitFor.ts"],"names":[],"mappings":";;;AAAA,uCAAiC;AAEjC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAoB5B,MAAM,cAAc,GAAsB;IACtC,QAAQ,EAAE,gBAAgB;IAC1B,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,QAAQ;CACrB,CAAC;AAeF,MAAM,OAAO,GAAG,CAAI,EAAyB,EAAE,UAAmB,cAAc,EAAc,EAAE;
|
|
1
|
+
{"version":3,"file":"waitFor.js","sourceRoot":"","sources":["../src/waitFor.ts"],"names":[],"mappings":"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"}
|