Skip to content

Commit 0821581

Browse files
committed
Async Reduce
- Removed unused `newlyAddedElements` logic - Updated TypeScript definition files
1 parent c1b3764 commit 0821581

File tree

10 files changed

+23
-16
lines changed

10 files changed

+23
-16
lines changed

src/async-filter.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ async function asyncFilter(iterable, callback, thisArg = undefined) {
2020
iterable,
2121
await Promise.all(
2222
mapIterable(iterable, callback.bind(thisArg), {
23-
useEmptyElements: false,
24-
newlyAddedElements: false
23+
useEmptyElements: false
2524
})
2625
)
2726
);

src/async-find-index.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ async function asyncFindIndex(iterable, callback, thisArg = undefined) {
1717
validateIsFunction(callback);
1818

1919
const tasks = mapIterable(iterable, callback.bind(thisArg), {
20-
useEmptyElements: true,
21-
newlyAddedElements: false
20+
useEmptyElements: true
2221
});
2322

2423
return Promise.race([

src/async-find.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ async function asyncFind(iterable, callback, thisArg = undefined) {
1717
validateIsFunction(callback);
1818

1919
const tasks = mapIterable(iterable, callback.bind(thisArg), {
20-
useEmptyElements: true,
21-
newlyAddedElements: false
20+
useEmptyElements: true
2221
});
2322

2423
return iterable[

src/async-for-each.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ async function asyncForEach(iterable, callback, thisArg = undefined) {
1717

1818
await Promise.all(
1919
mapIterable(iterable, callback.bind(thisArg), {
20-
useEmptyElements: false,
21-
newlyAddedElements: false
20+
useEmptyElements: false
2221
})
2322
);
2423
}

src/async-map.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ async function asyncMap(iterable, callback, thisArg = undefined) {
1818

1919
return Promise.all(
2020
mapIterable(iterable, callback.bind(thisArg), {
21-
useEmptyElements: false,
22-
newlyAddedElements: false
21+
useEmptyElements: false
2322
})
2423
);
2524
}

types/async-array.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Async Array
33
* ===========
44
* Array like object with access to async array methods
5-
* @class AsyncArray
5+
* @class
66
* @extends Array
77
*/
88
export class AsyncArray extends Array<any> {

types/async-reduce.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
* @async
77
* @param {Object} iterable
88
* @param {Function} callback - callback(currentValue, index, array)
9-
* @param {any} [accumulator]
9+
* @param {any} [accumulator=noParam]
1010
* @return {any}
1111
* @throws {TypeError}
1212
*/
13-
export function asyncReduce(): any;
13+
export function asyncReduce(iterable: any, transducer: any, accumulator?: any): any;

types/constants.d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/**
2+
* @const {Symbol} noParam
3+
* For representing when no parameter was passed to a function
4+
*/
5+
export const noParam: any;

types/helpers.d.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,10 @@
77
* @param {Function} callback
88
* @param {Object} [options]
99
* @param {Boolean} [options.useEmptyElements=true] - use empty elements of the array ?
10-
* @param {Boolean} [options.newlyAddedElements=false] - visit newly added elements ?
1110
* @return {Array}
1211
*/
13-
export function mapIterable(iterable: any, callback: Function, { useEmptyElements, newlyAddedElements }?: {
12+
export function mapIterable(iterable: any, callback: Function, { useEmptyElements }?: {
1413
useEmptyElements: boolean;
15-
newlyAddedElements: boolean;
1614
}): any[];
1715
/**
1816
* Filter Iterable

types/validation.d.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
/**
22
* Validate an item's iterability
33
* @param {any} item
4+
* @return {Boolean} validated?
45
* @throws {TypeError}
56
*/
67
export function validateIsIterable(item: any): boolean;
78
/**
89
* Validate an item is a function
910
* @param {any} item
11+
* @return {Boolean} validated?
1012
* @throws {TypeError}
1113
*/
1214
export function validateIsFunction(item: any): boolean;
15+
/**
16+
* Validate if an item has length greater than 0
17+
* @param {any} item
18+
* @return {Boolean} validated?
19+
* @throws {TypeError}
20+
*/
21+
export function validateNonZeroLength(item: any): boolean;

0 commit comments

Comments
 (0)