mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
* Add type definitions for async-stream-emitter, consumable-stream, writable-consumable-stream, stream-demux, ag-channel, ag-simple-broker, ncom, async-iterable-stream * Upgrade sc-broker to 8.0 * Upgrade socketcluster-client to 15.1 * Rename definition files to match module file names The files in the module were renamed. * Move socketcluster-server to v14 folder In preparation for socketcluster-server v15, since the old version is still used by other type packages. * Update scc-broker-client to 7.0 * Add current socketcluster-server type definitions Current version is v15.0 * Move sc-broker-cluster to v6 folder In preparation for sc-broker-cluster v9, since the old version is still used by other type packages. * Add current sc-broker-cluster type definitions Current version is v9.0 * Move sc-channel to v1 folder In preparation for sc-channel v2, since the old version is still used by other type packages. * Add current sc-channel type definitions Current version is v2.0 * Include the relevant sc-broker-cluster type-definitions directly in sc-channel It can be run using older and newer version of sc-broker-cluster, which have differently versioned dependencies. * Move sc-channel tests to sc-broker-cluster In the tests we use sc-broker-cluster. If the tests are in sc-channel, they drag in all dependencies for sc-broker-cluster, including esnext.asynciterable, which we don't want. * Simplify sc-errors tests In the tests we used socketcluster-server. That dragged in all of its dependencies, including esnext.asynciterable, which we don't want. * Move sc-channel to v1 folder In preparation for sc-channel v2, since the old version is still used by other type packages.
57 lines
1.3 KiB
TypeScript
57 lines
1.3 KiB
TypeScript
import AsyncIterableStream = require('async-iterable-stream');
|
|
|
|
// Simple, dummy implementation of the abstract class
|
|
|
|
class DummyAsyncIterator {
|
|
async next() {
|
|
return { done: true, value: 'dummy' };
|
|
}
|
|
|
|
return() {
|
|
return {};
|
|
}
|
|
}
|
|
|
|
class DummyAsyncIterableStream extends AsyncIterableStream<string> {
|
|
createAsyncIterator() {
|
|
return new DummyAsyncIterator();
|
|
}
|
|
}
|
|
|
|
// Actual tests
|
|
|
|
const asyncIterableStream = new DummyAsyncIterableStream();
|
|
|
|
// Consume data objects from consumableStream as they are written to the stream.
|
|
(async () => {
|
|
// tslint:disable-next-line: await-promise Bug in tslint: https://github.com/palantir/tslint/issues/3997
|
|
for await (const data of asyncIterableStream) {
|
|
// $ExpectType string
|
|
data;
|
|
console.log(data);
|
|
}
|
|
})();
|
|
|
|
// Consume only the next data object which is written to the stream.
|
|
(async () => {
|
|
// $ExpectType string
|
|
await asyncIterableStream.once();
|
|
})();
|
|
|
|
(async () => {
|
|
const asyncIterable = asyncIterableStream.createAsyncIterable(20);
|
|
for await (const data of asyncIterable) {
|
|
// $ExpectType string
|
|
data;
|
|
}
|
|
})();
|
|
|
|
(async () => {
|
|
const result = await asyncIterableStream.next();
|
|
|
|
if (!result.done) {
|
|
// $ExpectType string
|
|
result.value;
|
|
}
|
|
})();
|