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.
35 lines
896 B
TypeScript
35 lines
896 B
TypeScript
import AsyncStreamEmitter = require('async-stream-emitter');
|
|
|
|
// From README.md
|
|
|
|
const emitter = new AsyncStreamEmitter<string>();
|
|
|
|
(async () => {
|
|
await wait(10);
|
|
emitter.emit('foo', 'hello');
|
|
|
|
// This will cause all for-await-of loops for that event to exit.
|
|
// Note that you can also use the 'break' statement inside
|
|
// individual for-await-of loops.
|
|
emitter.closeListener('foo');
|
|
})();
|
|
|
|
(async () => {
|
|
// tslint:disable-next-line: await-promise Bug in tslint: https://github.com/palantir/tslint/issues/3997
|
|
for await (const data of emitter.listener('foo')) {
|
|
// data is 'hello'
|
|
// $ExpectType string
|
|
data;
|
|
}
|
|
console.log('The listener was closed.');
|
|
})();
|
|
|
|
// Utility function.
|
|
function wait(duration: number) {
|
|
return new Promise(resolve => {
|
|
setTimeout(() => {
|
|
resolve();
|
|
}, duration);
|
|
});
|
|
}
|