@stryke/helpers 0.9.48 → 0.10.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/CHANGELOG.md +44 -0
- package/dist/index.cjs +2 -0
- package/dist/index.d.cts +2 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.mjs +2 -1
- package/dist/parallel.cjs +39 -0
- package/dist/parallel.d.cts +25 -0
- package/dist/parallel.d.cts.map +1 -0
- package/dist/parallel.d.mts +25 -0
- package/dist/parallel.d.mts.map +1 -0
- package/dist/parallel.mjs +39 -0
- package/dist/parallel.mjs.map +1 -0
- package/package.json +6 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,50 @@
|
|
|
2
2
|
|
|
3
3
|
# Changelog for Stryke - Helpers
|
|
4
4
|
|
|
5
|
+
## [0.10.0](https://github.com/storm-software/stryke/releases/tag/helpers%400.10.0) (03/08/2026)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- **helpers:** Added the `runParallel` helper function ([e833fa16](https://github.com/storm-software/stryke/commit/e833fa16))
|
|
10
|
+
|
|
11
|
+
### Updated Dependencies
|
|
12
|
+
|
|
13
|
+
- Updated **type-checks** to **v0.5.35**
|
|
14
|
+
- Updated **convert** to **v0.6.50**
|
|
15
|
+
- Updated **types** to **v0.10.49**
|
|
16
|
+
|
|
17
|
+
## [0.9.51](https://github.com/storm-software/stryke/releases/tag/helpers%400.9.51) (03/06/2026)
|
|
18
|
+
|
|
19
|
+
### Updated Dependencies
|
|
20
|
+
|
|
21
|
+
- Updated **type-checks** to **v0.5.34**
|
|
22
|
+
- Updated **convert** to **v0.6.49**
|
|
23
|
+
- Updated **types** to **v0.10.48**
|
|
24
|
+
|
|
25
|
+
## [0.9.50](https://github.com/storm-software/stryke/releases/tag/helpers%400.9.50) (03/06/2026)
|
|
26
|
+
|
|
27
|
+
### Updated Dependencies
|
|
28
|
+
|
|
29
|
+
- Updated **type-checks** to **v0.5.33**
|
|
30
|
+
- Updated **convert** to **v0.6.48**
|
|
31
|
+
- Updated **types** to **v0.10.47**
|
|
32
|
+
|
|
33
|
+
## [0.9.49](https://github.com/storm-software/stryke/releases/tag/helpers%400.9.49) (03/06/2026)
|
|
34
|
+
|
|
35
|
+
### Updated Dependencies
|
|
36
|
+
|
|
37
|
+
- Updated **type-checks** to **v0.5.32**
|
|
38
|
+
- Updated **convert** to **v0.6.47**
|
|
39
|
+
- Updated **types** to **v0.10.46**
|
|
40
|
+
|
|
41
|
+
## [0.9.48](https://github.com/storm-software/stryke/releases/tag/helpers%400.9.48) (03/03/2026)
|
|
42
|
+
|
|
43
|
+
### Updated Dependencies
|
|
44
|
+
|
|
45
|
+
- Updated **type-checks** to **v0.5.31**
|
|
46
|
+
- Updated **convert** to **v0.6.46**
|
|
47
|
+
- Updated **types** to **v0.10.45**
|
|
48
|
+
|
|
5
49
|
## [0.9.47](https://github.com/storm-software/stryke/releases/tag/helpers%400.9.47) (03/03/2026)
|
|
6
50
|
|
|
7
51
|
### Updated Dependencies
|
package/dist/index.cjs
CHANGED
|
@@ -20,6 +20,7 @@ const require_mutex = require('./mutex.cjs');
|
|
|
20
20
|
const require_noop = require('./noop.cjs');
|
|
21
21
|
const require_omit = require('./omit.cjs');
|
|
22
22
|
const require_once = require('./once.cjs');
|
|
23
|
+
const require_parallel = require('./parallel.cjs');
|
|
23
24
|
const require_pick = require('./pick.cjs');
|
|
24
25
|
const require_remove_empty_items = require('./remove-empty-items.cjs');
|
|
25
26
|
const require_set_field = require('./set-field.cjs');
|
|
@@ -59,6 +60,7 @@ exports.pick = require_pick.pick;
|
|
|
59
60
|
exports.rankings = require_match_sorter.rankings;
|
|
60
61
|
exports.removeAccents = require_remove_accents.removeAccents;
|
|
61
62
|
exports.removeEmptyItems = require_remove_empty_items.removeEmptyItems;
|
|
63
|
+
exports.runParallel = require_parallel.runParallel;
|
|
62
64
|
exports.safeFunctionCast = require_once.safeFunctionCast;
|
|
63
65
|
exports.setField = require_set_field.setField;
|
|
64
66
|
exports.sleep = require_delay.sleep;
|
package/dist/index.d.cts
CHANGED
|
@@ -17,6 +17,7 @@ import { Mutex } from "./mutex.cjs";
|
|
|
17
17
|
import { asyncNoop, noop } from "./noop.cjs";
|
|
18
18
|
import { omit } from "./omit.cjs";
|
|
19
19
|
import { once, safeFunctionCast } from "./once.cjs";
|
|
20
|
+
import { RunParallelOptions, runParallel } from "./parallel.cjs";
|
|
20
21
|
import { pick } from "./pick.cjs";
|
|
21
22
|
import { characterMap, removeAccents } from "./remove-accents.cjs";
|
|
22
23
|
import { removeEmptyItems } from "./remove-empty-items.cjs";
|
|
@@ -29,4 +30,4 @@ import { toPath } from "./to-path.cjs";
|
|
|
29
30
|
import { unflattenObject } from "./unflatten-object.cjs";
|
|
30
31
|
import { union } from "./union.cjs";
|
|
31
32
|
import { withTimeout } from "./with-timeout.cjs";
|
|
32
|
-
export { DebounceOptions, DeepMergeOptions, GetField, KeyAttributes, KeyAttributesOptions, KeyOption, LRUCache, MatchSorterOptions, Mutex, RankingInfo, Resolved, Semaphore, ValueGetterKey, addPathToDeepKey, argIdentity, asyncNoop, characterMap, debounce, deepClone, deepMerge, defaultBaseSortFn, delay, filterEmpty, flattenObject, getField, getOrderedBy, getUnique, getUniqueBy, identity, isEqual, matchSorter, memoizeOnId, noop, omit, once, pick, rankings, removeAccents, removeEmptyItems, safeFunctionCast, setField, sleep, throttle, timeout, toDeepKey, toPath, unflattenObject, union, withTimeout };
|
|
33
|
+
export { DebounceOptions, DeepMergeOptions, GetField, KeyAttributes, KeyAttributesOptions, KeyOption, LRUCache, MatchSorterOptions, Mutex, RankingInfo, Resolved, RunParallelOptions, Semaphore, ValueGetterKey, addPathToDeepKey, argIdentity, asyncNoop, characterMap, debounce, deepClone, deepMerge, defaultBaseSortFn, delay, filterEmpty, flattenObject, getField, getOrderedBy, getUnique, getUniqueBy, identity, isEqual, matchSorter, memoizeOnId, noop, omit, once, pick, rankings, removeAccents, removeEmptyItems, runParallel, safeFunctionCast, setField, sleep, throttle, timeout, toDeepKey, toPath, unflattenObject, union, withTimeout };
|
package/dist/index.d.mts
CHANGED
|
@@ -17,6 +17,7 @@ import { Mutex } from "./mutex.mjs";
|
|
|
17
17
|
import { asyncNoop, noop } from "./noop.mjs";
|
|
18
18
|
import { omit } from "./omit.mjs";
|
|
19
19
|
import { once, safeFunctionCast } from "./once.mjs";
|
|
20
|
+
import { RunParallelOptions, runParallel } from "./parallel.mjs";
|
|
20
21
|
import { pick } from "./pick.mjs";
|
|
21
22
|
import { characterMap, removeAccents } from "./remove-accents.mjs";
|
|
22
23
|
import { removeEmptyItems } from "./remove-empty-items.mjs";
|
|
@@ -29,4 +30,4 @@ import { toPath } from "./to-path.mjs";
|
|
|
29
30
|
import { unflattenObject } from "./unflatten-object.mjs";
|
|
30
31
|
import { union } from "./union.mjs";
|
|
31
32
|
import { withTimeout } from "./with-timeout.mjs";
|
|
32
|
-
export { DebounceOptions, DeepMergeOptions, GetField, KeyAttributes, KeyAttributesOptions, KeyOption, LRUCache, MatchSorterOptions, Mutex, RankingInfo, Resolved, Semaphore, ValueGetterKey, addPathToDeepKey, argIdentity, asyncNoop, characterMap, debounce, deepClone, deepMerge, defaultBaseSortFn, delay, filterEmpty, flattenObject, getField, getOrderedBy, getUnique, getUniqueBy, identity, isEqual, matchSorter, memoizeOnId, noop, omit, once, pick, rankings, removeAccents, removeEmptyItems, safeFunctionCast, setField, sleep, throttle, timeout, toDeepKey, toPath, unflattenObject, union, withTimeout };
|
|
33
|
+
export { DebounceOptions, DeepMergeOptions, GetField, KeyAttributes, KeyAttributesOptions, KeyOption, LRUCache, MatchSorterOptions, Mutex, RankingInfo, Resolved, RunParallelOptions, Semaphore, ValueGetterKey, addPathToDeepKey, argIdentity, asyncNoop, characterMap, debounce, deepClone, deepMerge, defaultBaseSortFn, delay, filterEmpty, flattenObject, getField, getOrderedBy, getUnique, getUniqueBy, identity, isEqual, matchSorter, memoizeOnId, noop, omit, once, pick, rankings, removeAccents, removeEmptyItems, runParallel, safeFunctionCast, setField, sleep, throttle, timeout, toDeepKey, toPath, unflattenObject, union, withTimeout };
|
package/dist/index.mjs
CHANGED
|
@@ -20,6 +20,7 @@ import { Mutex } from "./mutex.mjs";
|
|
|
20
20
|
import { asyncNoop, noop } from "./noop.mjs";
|
|
21
21
|
import { omit } from "./omit.mjs";
|
|
22
22
|
import { once, safeFunctionCast } from "./once.mjs";
|
|
23
|
+
import { runParallel } from "./parallel.mjs";
|
|
23
24
|
import { pick } from "./pick.mjs";
|
|
24
25
|
import { removeEmptyItems } from "./remove-empty-items.mjs";
|
|
25
26
|
import { setField } from "./set-field.mjs";
|
|
@@ -30,4 +31,4 @@ import { unflattenObject } from "./unflatten-object.mjs";
|
|
|
30
31
|
import { union } from "./union.mjs";
|
|
31
32
|
import { withTimeout } from "./with-timeout.mjs";
|
|
32
33
|
|
|
33
|
-
export { LRUCache, Mutex, Semaphore, addPathToDeepKey, argIdentity, asyncNoop, characterMap, debounce, deepClone, deepMerge, defaultBaseSortFn, delay, filterEmpty, flattenObject, getField, getOrderedBy, getUnique, getUniqueBy, identity, isEqual, matchSorter, memoizeOnId, noop, omit, once, pick, rankings, removeAccents, removeEmptyItems, safeFunctionCast, setField, sleep, throttle, timeout, toDeepKey, toPath, unflattenObject, union, withTimeout };
|
|
34
|
+
export { LRUCache, Mutex, Semaphore, addPathToDeepKey, argIdentity, asyncNoop, characterMap, debounce, deepClone, deepMerge, defaultBaseSortFn, delay, filterEmpty, flattenObject, getField, getOrderedBy, getUnique, getUniqueBy, identity, isEqual, matchSorter, memoizeOnId, noop, omit, once, pick, rankings, removeAccents, removeEmptyItems, runParallel, safeFunctionCast, setField, sleep, throttle, timeout, toDeepKey, toPath, unflattenObject, union, withTimeout };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/parallel.ts
|
|
3
|
+
/**
|
|
4
|
+
* Executes a callback function on a set of inputs in parallel, with a specified concurrency limit and optional interval between task executions.
|
|
5
|
+
*
|
|
6
|
+
* @param inputs - A set of inputs to process.
|
|
7
|
+
* @param cb - A callback function that takes an input and returns a value or a promise. This function will be executed for each input in the set.
|
|
8
|
+
* @param options - An object containing options for the parallel execution
|
|
9
|
+
* @returns A promise that resolves to an object containing an array of errors that occurred during the execution of the tasks. If no errors occurred, the array will be empty.
|
|
10
|
+
*/
|
|
11
|
+
async function runParallel(inputs, cb, options) {
|
|
12
|
+
const errors = [];
|
|
13
|
+
const tasks = /* @__PURE__ */ new Set();
|
|
14
|
+
function queueNext() {
|
|
15
|
+
const route = inputs.values().next().value;
|
|
16
|
+
if (!route) return;
|
|
17
|
+
inputs.delete(route);
|
|
18
|
+
const task = (options.interval ? new Promise((resolve) => {
|
|
19
|
+
setTimeout(resolve, options.interval);
|
|
20
|
+
}) : Promise.resolve()).then(() => cb(route)).catch((error) => {
|
|
21
|
+
console.error(error);
|
|
22
|
+
errors.push(error);
|
|
23
|
+
});
|
|
24
|
+
tasks.add(task);
|
|
25
|
+
return task.then(async () => {
|
|
26
|
+
tasks.delete(task);
|
|
27
|
+
if (inputs.size > 0) return refillQueue();
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async function refillQueue() {
|
|
31
|
+
const workers = Math.min(options.concurrency - tasks.size, inputs.size);
|
|
32
|
+
return Promise.all(Array.from({ length: workers }, async () => queueNext()));
|
|
33
|
+
}
|
|
34
|
+
await refillQueue();
|
|
35
|
+
return { errors };
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
//#endregion
|
|
39
|
+
exports.runParallel = runParallel;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//#region src/parallel.d.ts
|
|
2
|
+
interface RunParallelOptions {
|
|
3
|
+
/**
|
|
4
|
+
* The maximum number of tasks to run concurrently. This option is required and must be a positive integer.
|
|
5
|
+
*/
|
|
6
|
+
concurrency: number;
|
|
7
|
+
/**
|
|
8
|
+
* An optional interval (in milliseconds) to wait between the execution of each task. If specified, the function will wait for the specified interval before starting the next task. If not specified, tasks will be executed immediately one after another without any delay.
|
|
9
|
+
*/
|
|
10
|
+
interval?: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Executes a callback function on a set of inputs in parallel, with a specified concurrency limit and optional interval between task executions.
|
|
14
|
+
*
|
|
15
|
+
* @param inputs - A set of inputs to process.
|
|
16
|
+
* @param cb - A callback function that takes an input and returns a value or a promise. This function will be executed for each input in the set.
|
|
17
|
+
* @param options - An object containing options for the parallel execution
|
|
18
|
+
* @returns A promise that resolves to an object containing an array of errors that occurred during the execution of the tasks. If no errors occurred, the array will be empty.
|
|
19
|
+
*/
|
|
20
|
+
declare function runParallel<T>(inputs: Set<T>, cb: (input: T) => unknown | Promise<unknown>, options: RunParallelOptions): Promise<{
|
|
21
|
+
errors: unknown[];
|
|
22
|
+
}>;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { RunParallelOptions, runParallel };
|
|
25
|
+
//# sourceMappingURL=parallel.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parallel.d.cts","names":[],"sources":["../src/parallel.ts"],"sourcesContent":[],"mappings":";UAkBiB,kBAAA;EAAA;AAmBjB;;EACU,WAAA,EAAA,MAAA;EACI;;;EAEX,QAAA,CAAA,EAAA,MAAA;;;;;;;;;;iBAJmB,uBACZ,IAAI,gBACA,gBAAgB,2BACnB,qBACR"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//#region src/parallel.d.ts
|
|
2
|
+
interface RunParallelOptions {
|
|
3
|
+
/**
|
|
4
|
+
* The maximum number of tasks to run concurrently. This option is required and must be a positive integer.
|
|
5
|
+
*/
|
|
6
|
+
concurrency: number;
|
|
7
|
+
/**
|
|
8
|
+
* An optional interval (in milliseconds) to wait between the execution of each task. If specified, the function will wait for the specified interval before starting the next task. If not specified, tasks will be executed immediately one after another without any delay.
|
|
9
|
+
*/
|
|
10
|
+
interval?: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Executes a callback function on a set of inputs in parallel, with a specified concurrency limit and optional interval between task executions.
|
|
14
|
+
*
|
|
15
|
+
* @param inputs - A set of inputs to process.
|
|
16
|
+
* @param cb - A callback function that takes an input and returns a value or a promise. This function will be executed for each input in the set.
|
|
17
|
+
* @param options - An object containing options for the parallel execution
|
|
18
|
+
* @returns A promise that resolves to an object containing an array of errors that occurred during the execution of the tasks. If no errors occurred, the array will be empty.
|
|
19
|
+
*/
|
|
20
|
+
declare function runParallel<T>(inputs: Set<T>, cb: (input: T) => unknown | Promise<unknown>, options: RunParallelOptions): Promise<{
|
|
21
|
+
errors: unknown[];
|
|
22
|
+
}>;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { RunParallelOptions, runParallel };
|
|
25
|
+
//# sourceMappingURL=parallel.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parallel.d.mts","names":[],"sources":["../src/parallel.ts"],"sourcesContent":[],"mappings":";UAkBiB,kBAAA;EAAA;AAmBjB;;EACU,WAAA,EAAA,MAAA;EACI;;;EAEX,QAAA,CAAA,EAAA,MAAA;;;;;;;;;;iBAJmB,uBACZ,IAAI,gBACA,gBAAgB,2BACnB,qBACR"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
//#region src/parallel.ts
|
|
2
|
+
/**
|
|
3
|
+
* Executes a callback function on a set of inputs in parallel, with a specified concurrency limit and optional interval between task executions.
|
|
4
|
+
*
|
|
5
|
+
* @param inputs - A set of inputs to process.
|
|
6
|
+
* @param cb - A callback function that takes an input and returns a value or a promise. This function will be executed for each input in the set.
|
|
7
|
+
* @param options - An object containing options for the parallel execution
|
|
8
|
+
* @returns A promise that resolves to an object containing an array of errors that occurred during the execution of the tasks. If no errors occurred, the array will be empty.
|
|
9
|
+
*/
|
|
10
|
+
async function runParallel(inputs, cb, options) {
|
|
11
|
+
const errors = [];
|
|
12
|
+
const tasks = /* @__PURE__ */ new Set();
|
|
13
|
+
function queueNext() {
|
|
14
|
+
const route = inputs.values().next().value;
|
|
15
|
+
if (!route) return;
|
|
16
|
+
inputs.delete(route);
|
|
17
|
+
const task = (options.interval ? new Promise((resolve) => {
|
|
18
|
+
setTimeout(resolve, options.interval);
|
|
19
|
+
}) : Promise.resolve()).then(() => cb(route)).catch((error) => {
|
|
20
|
+
console.error(error);
|
|
21
|
+
errors.push(error);
|
|
22
|
+
});
|
|
23
|
+
tasks.add(task);
|
|
24
|
+
return task.then(async () => {
|
|
25
|
+
tasks.delete(task);
|
|
26
|
+
if (inputs.size > 0) return refillQueue();
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async function refillQueue() {
|
|
30
|
+
const workers = Math.min(options.concurrency - tasks.size, inputs.size);
|
|
31
|
+
return Promise.all(Array.from({ length: workers }, async () => queueNext()));
|
|
32
|
+
}
|
|
33
|
+
await refillQueue();
|
|
34
|
+
return { errors };
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
export { runParallel };
|
|
39
|
+
//# sourceMappingURL=parallel.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parallel.mjs","names":["errors: unknown[]"],"sources":["../src/parallel.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nexport interface RunParallelOptions {\n /**\n * The maximum number of tasks to run concurrently. This option is required and must be a positive integer.\n */\n concurrency: number;\n /**\n * An optional interval (in milliseconds) to wait between the execution of each task. If specified, the function will wait for the specified interval before starting the next task. If not specified, tasks will be executed immediately one after another without any delay.\n */\n interval?: number;\n}\n\n/**\n * Executes a callback function on a set of inputs in parallel, with a specified concurrency limit and optional interval between task executions.\n *\n * @param inputs - A set of inputs to process.\n * @param cb - A callback function that takes an input and returns a value or a promise. This function will be executed for each input in the set.\n * @param options - An object containing options for the parallel execution\n * @returns A promise that resolves to an object containing an array of errors that occurred during the execution of the tasks. If no errors occurred, the array will be empty.\n */\nexport async function runParallel<T>(\n inputs: Set<T>,\n cb: (input: T) => unknown | Promise<unknown>,\n options: RunParallelOptions\n): Promise<{ errors: unknown[] }> {\n const errors: unknown[] = [];\n const tasks = new Set<Promise<unknown>>();\n\n function queueNext(): undefined | Promise<unknown> {\n const route = inputs.values().next().value;\n if (!route) {\n return;\n }\n\n inputs.delete(route);\n const task = (\n options.interval\n ? new Promise(resolve => {\n setTimeout(resolve, options.interval);\n })\n : Promise.resolve()\n )\n .then(() => cb(route))\n .catch(error => {\n // eslint-disable-next-line no-console\n console.error(error);\n errors.push(error);\n });\n\n tasks.add(task);\n return task.then(async () => {\n tasks.delete(task);\n if (inputs.size > 0) {\n return refillQueue();\n }\n\n return void 0;\n });\n }\n\n async function refillQueue(): Promise<unknown> {\n const workers = Math.min(options.concurrency - tasks.size, inputs.size);\n\n return Promise.all(\n Array.from({ length: workers }, async () => queueNext())\n );\n }\n\n await refillQueue();\n return { errors };\n}\n"],"mappings":";;;;;;;;;AAqCA,eAAsB,YACpB,QACA,IACA,SACgC;CAChC,MAAMA,SAAoB,EAAE;CAC5B,MAAM,wBAAQ,IAAI,KAAuB;CAEzC,SAAS,YAA0C;EACjD,MAAM,QAAQ,OAAO,QAAQ,CAAC,MAAM,CAAC;AACrC,MAAI,CAAC,MACH;AAGF,SAAO,OAAO,MAAM;EACpB,MAAM,QACJ,QAAQ,WACJ,IAAI,SAAQ,YAAW;AACrB,cAAW,SAAS,QAAQ,SAAS;IACrC,GACF,QAAQ,SAAS,EAEpB,WAAW,GAAG,MAAM,CAAC,CACrB,OAAM,UAAS;AAEd,WAAQ,MAAM,MAAM;AACpB,UAAO,KAAK,MAAM;IAClB;AAEJ,QAAM,IAAI,KAAK;AACf,SAAO,KAAK,KAAK,YAAY;AAC3B,SAAM,OAAO,KAAK;AAClB,OAAI,OAAO,OAAO,EAChB,QAAO,aAAa;IAItB;;CAGJ,eAAe,cAAgC;EAC7C,MAAM,UAAU,KAAK,IAAI,QAAQ,cAAc,MAAM,MAAM,OAAO,KAAK;AAEvE,SAAO,QAAQ,IACb,MAAM,KAAK,EAAE,QAAQ,SAAS,EAAE,YAAY,WAAW,CAAC,CACzD;;AAGH,OAAM,aAAa;AACnB,QAAO,EAAE,QAAQ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stryke/helpers",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A package containing miscellaneous helper functions that are used across many different Storm Software projects.",
|
|
6
6
|
"repository": {
|
|
@@ -78,6 +78,10 @@
|
|
|
78
78
|
"./noop": { "require": "./dist/noop.cjs", "import": "./dist/noop.mjs" },
|
|
79
79
|
"./omit": { "require": "./dist/omit.cjs", "import": "./dist/omit.mjs" },
|
|
80
80
|
"./once": { "require": "./dist/once.cjs", "import": "./dist/once.mjs" },
|
|
81
|
+
"./parallel": {
|
|
82
|
+
"require": "./dist/parallel.cjs",
|
|
83
|
+
"import": "./dist/parallel.mjs"
|
|
84
|
+
},
|
|
81
85
|
"./pick": { "require": "./dist/pick.cjs", "import": "./dist/pick.mjs" },
|
|
82
86
|
"./remove-accents": {
|
|
83
87
|
"require": "./dist/remove-accents.cjs",
|
|
@@ -125,5 +129,5 @@
|
|
|
125
129
|
"types": "./dist/index.d.cts",
|
|
126
130
|
"devDependencies": { "tsdown": "^0.17.2" },
|
|
127
131
|
"publishConfig": { "access": "public" },
|
|
128
|
-
"gitHead": "
|
|
132
|
+
"gitHead": "ddf54318bd81f6321233db8cfef8b991eb161413"
|
|
129
133
|
}
|