Skip to content

Commit f707c02

Browse files
committed
feat: fromCallback
1 parent bc93bbf commit f707c02

File tree

8 files changed

+239
-33
lines changed

8 files changed

+239
-33
lines changed

lib/buffer.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { getIterator } from './get-iterator'
2-
import { defer, IDeferred } from './defer'
2+
import { defer, Deferred } from 'inside-out-async'
33
import { AnyIterable, UnwrapAnyIterable } from './types'
44

55
interface IValueObj<T> {
@@ -10,14 +10,14 @@ interface IValueObj<T> {
1010
function _buffer<T>(size: number, iterable: AsyncIterable<T>): AsyncIterableIterator<T> {
1111
const iterator = getIterator(iterable)
1212
const resultQueue: IValueObj<T>[] = []
13-
const readQueue: IDeferred<IteratorResult<T>>[] = []
13+
const readQueue: Deferred<IteratorResult<T>>[] = []
1414

1515
let reading = false
1616
let ended = false
1717

1818
function fulfillReadQueue() {
1919
while (readQueue.length > 0 && resultQueue.length > 0) {
20-
const readDeferred = readQueue.shift() as IDeferred<IteratorResult<T>>
20+
const readDeferred = readQueue.shift() as Deferred<IteratorResult<T>>
2121
const { error, value } = resultQueue.shift() as IValueObj<T>
2222
if (error) {
2323
readDeferred.reject(error)
@@ -26,7 +26,7 @@ function _buffer<T>(size: number, iterable: AsyncIterable<T>): AsyncIterableIter
2626
}
2727
}
2828
while (readQueue.length > 0 && ended) {
29-
const { resolve } = readQueue.shift() as IDeferred<IteratorResult<T>>
29+
const { resolve } = readQueue.shift() as Deferred<IteratorResult<T>>
3030
resolve({ done: true, value: undefined } as any)
3131
}
3232
}

lib/defer.ts

Lines changed: 0 additions & 19 deletions
This file was deleted.

lib/flat-transform.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { AnyIterable, FlatMapValue } from './types'
22
import { flatten } from './flatten'
33
import { filter } from './filter'
44
import { getIterator } from './get-iterator'
5-
import { defer, IDeferred } from './defer'
5+
import { defer, Deferred } from 'inside-out-async'
66

77
function _flatTransform<T, R>(
88
concurrency: number,
@@ -12,7 +12,7 @@ function _flatTransform<T, R>(
1212
const iterator = getIterator(iterable)
1313

1414
const resultQueue: R[] = []
15-
const readQueue: IDeferred<IteratorResult<R>>[] = []
15+
const readQueue: Deferred<IteratorResult<R>>[] = []
1616

1717
let ended = false
1818
let reading = false
@@ -21,12 +21,12 @@ function _flatTransform<T, R>(
2121

2222
function fulfillReadQueue() {
2323
while (readQueue.length > 0 && resultQueue.length > 0) {
24-
const { resolve } = readQueue.shift() as IDeferred<IteratorResult<R>>
24+
const { resolve } = readQueue.shift() as Deferred<IteratorResult<R>>
2525
const value = resultQueue.shift() as R
2626
resolve({ done: false, value } as any)
2727
}
2828
while (readQueue.length > 0 && inflightCount === 0 && ended) {
29-
const { resolve, reject } = readQueue.shift() as IDeferred<IteratorResult<R>>
29+
const { resolve, reject } = readQueue.shift() as Deferred<IteratorResult<R>>
3030
if (lastError) {
3131
reject(lastError)
3232
lastError = null

lib/transform.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { AnyIterable } from './types'
22
import { getIterator } from './get-iterator'
3-
import { defer, IDeferred } from './defer'
3+
import { defer, Deferred } from 'inside-out-async'
44

55
function _transform<T, R>(
66
concurrency: number,
@@ -10,7 +10,7 @@ function _transform<T, R>(
1010
const iterator = getIterator(iterable)
1111

1212
const resultQueue: R[] = []
13-
const readQueue: IDeferred<IteratorResult<R>>[] = []
13+
const readQueue: Deferred<IteratorResult<R>>[] = []
1414

1515
let ended = false
1616
let reading = false
@@ -19,12 +19,12 @@ function _transform<T, R>(
1919

2020
function fulfillReadQueue() {
2121
while (readQueue.length > 0 && resultQueue.length > 0) {
22-
const { resolve } = readQueue.shift() as IDeferred<IteratorResult<R>>
22+
const { resolve } = readQueue.shift() as Deferred<IteratorResult<R>>
2323
const value = resultQueue.shift() as R
2424
resolve({ done: false, value } as any)
2525
}
2626
while (readQueue.length > 0 && inflightCount === 0 && ended) {
27-
const { resolve, reject } = readQueue.shift() as IDeferred<IteratorResult<R>>
27+
const { resolve, reject } = readQueue.shift() as Deferred<IteratorResult<R>>
2828
if (lastError) {
2929
reject(lastError)
3030
lastError = null

lib/write-to-stream-test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { assert } from 'chai'
22
import { writeToStream } from './'
33
import { PassThrough, Transform, Writable } from 'stream'
44
import { promiseImmediate } from './util-test'
5-
import { defer } from './defer'
5+
import { defer } from 'inside-out-async'
66

77
describe('writeToStream', () => {
88
it('writes values to a stream', async () => {

0 commit comments

Comments
 (0)