mirror of
https://github.com/denoland/deno.git
synced 2024-12-23 15:49:44 -05:00
35 lines
973 B
JavaScript
35 lines
973 B
JavaScript
|
// deno-fmt-ignore-file
|
||
|
// deno-lint-ignore-file
|
||
|
|
||
|
// Copyright Joyent and Node contributors. All rights reserved. MIT license.
|
||
|
// Taken from Node 20.11.1
|
||
|
// This file is automatically generated by `tests/node_compat/runner/setup.ts`. Do not modify this file manually.
|
||
|
|
||
|
/* eslint-disable node-core/require-common-first, require-yield */
|
||
|
'use strict';
|
||
|
const { pipeline } = require('node:stream/promises');
|
||
|
{
|
||
|
// Ensure that async iterators can act as readable and writable streams
|
||
|
async function* myCustomReadable() {
|
||
|
yield 'Hello';
|
||
|
yield 'World';
|
||
|
}
|
||
|
|
||
|
const messages = [];
|
||
|
async function* myCustomWritable(stream) {
|
||
|
for await (const chunk of stream) {
|
||
|
messages.push(chunk);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
(async () => {
|
||
|
await pipeline(
|
||
|
myCustomReadable,
|
||
|
myCustomWritable,
|
||
|
);
|
||
|
// Importing here to avoid initializing streams
|
||
|
require('assert').deepStrictEqual(messages, ['Hello', 'World']);
|
||
|
})()
|
||
|
.then(require('../common').mustCall());
|
||
|
}
|