@reactivex/ix-esnext-esm
Version:
The Interactive Extensions for JavaScript
35 lines (33 loc) • 1.27 kB
JavaScript
import { AsyncIterableX } from './asynciterablex';
import { Transform } from 'stream';
const asyncIterableMixin = Symbol('asyncIterableMixin');
let AsyncIterableTransform = /** @class */ (() => {
var _a;
class AsyncIterableTransform extends Transform {
constructor(options) {
super(options);
// If this is the first time AsyncIterableTransform is being constructed,
// mixin the methods from the AsyncIterableX's prototype.
if (!AsyncIterableTransform[asyncIterableMixin]) {
AsyncIterableTransform[asyncIterableMixin] = true;
Object.defineProperties(AsyncIterableTransform.prototype, Object.getOwnPropertyDescriptors(AsyncIterableX.prototype));
}
}
/** @nocollapse */
_flush(callback) {
callback();
}
/** @nocollapse */
_transform(chunk, _encoding, callback) {
callback(null, chunk);
}
}
_a = asyncIterableMixin;
AsyncIterableTransform[_a] = false;
return AsyncIterableTransform;
})();
export { AsyncIterableTransform };
export function asAsyncIterable(options = {}) {
return new AsyncIterableTransform(options);
}
//# sourceMappingURL=asasynciterable.mjs.map