[Node] Updating stream interfaces and removing redundant interfaces.

We duplicated the EventEmitter and Stream interfaces in the "event" module, so I removed the redundant interface definitions.

I have updated the ReadableStream/WritableStream interfaces in accordance with the current documentation:
http://nodejs.org/api/stream.html

I added class definitions for Writable/Transform/Duplex/PassThrough in 'event'. These classes are described in the following Node documentation:
http://nodejs.org/api/stream.html#stream_api_for_stream_implementors

As a result of these changes, I needed to slightly alter other typings to refer to the new interface name. This was unavoidable; I had to rename the `EventEmitter` interface to `NodeEventEmitter` to avoid clashing with the `events.EventEmitter` class that implements `NodeEventEmitter`.
This commit is contained in:
John Vilk
2014-02-05 14:28:10 -05:00
parent 16dd1ab76f
commit 87ac1b3421
6 changed files with 156 additions and 113 deletions
+16 -17
View File
@@ -6,28 +6,27 @@
/// <reference path="../node/node.d.ts" />
declare module "browser-harness" {
import nodeEvents = require("events");
interface HarnessEvents extends nodeEvents.NodeEventEmitter {
once(event: string, listener: (driver: Driver) => void): nodeEvents.NodeEventEmitter;
once(event: 'ready', listener: (driver: Driver) => void): nodeEvents.NodeEventEmitter;
interface HarnessEvents extends NodeEventEmitter {
once(event: string, listener: (driver: Driver) => void): NodeEventEmitter;
once(event: 'ready', listener: (driver: Driver) => void): NodeEventEmitter;
on(event: string, listener: (driver: Driver) => void): nodeEvents.NodeEventEmitter;
on(event: 'ready', listener: (driver: Driver) => void): nodeEvents.NodeEventEmitter;
on(event: string, listener: (driver: Driver) => void): NodeEventEmitter;
on(event: 'ready', listener: (driver: Driver) => void): NodeEventEmitter;
}
interface DriverEvents extends nodeEvents.NodeEventEmitter {
once(event: string, listener: (text: string) => void): nodeEvents.NodeEventEmitter;
once(event: 'console.log', listener: (text: string) => void): nodeEvents.NodeEventEmitter;
once(event: 'console.warn', listener: (text: string) => void): nodeEvents.NodeEventEmitter;
once(event: 'console.error', listener: (text: string) => void): nodeEvents.NodeEventEmitter;
once(event: 'window.onerror', listener: (text: string) => void): nodeEvents.NodeEventEmitter;
interface DriverEvents extends NodeEventEmitter {
once(event: string, listener: (text: string) => void): NodeEventEmitter;
once(event: 'console.log', listener: (text: string) => void): NodeEventEmitter;
once(event: 'console.warn', listener: (text: string) => void): NodeEventEmitter;
once(event: 'console.error', listener: (text: string) => void): NodeEventEmitter;
once(event: 'window.onerror', listener: (text: string) => void): NodeEventEmitter;
on(event: string, listener: (text: string) => void): nodeEvents.NodeEventEmitter;
on(event: 'console.log', listener: (text: string) => void): nodeEvents.NodeEventEmitter;
on(event: 'console.warn', listener: (text: string) => void): nodeEvents.NodeEventEmitter;
on(event: 'console.error', listener: (text: string) => void): nodeEvents.NodeEventEmitter;
on(event: 'window.onerror', listener: (text: string) => void): nodeEvents.NodeEventEmitter;
on(event: string, listener: (text: string) => void): NodeEventEmitter;
on(event: 'console.log', listener: (text: string) => void): NodeEventEmitter;
on(event: 'console.warn', listener: (text: string) => void): NodeEventEmitter;
on(event: 'console.error', listener: (text: string) => void): NodeEventEmitter;
on(event: 'window.onerror', listener: (text: string) => void): NodeEventEmitter;
}
export interface Driver {