/
Inlet.ts
46 lines (43 loc) · 1.16 KB
/
Inlet.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import { DataFrame } from '../data';
import { PushCompletedEvent, PushError } from './events';
import { PullOptions, PushOptions } from './options';
/**
* Inlet of a node that supports pulling and events.
*
* @category Graph
*/
export interface Inlet<In extends DataFrame> {
/**
* Pull data from the inlet
*
* @param {PullOptions} [options] Pull options
* @returns {Promise<void>} Pull promise
*/
pull(options?: PullOptions): Promise<void>;
/**
* Emit unknown event
*
* @param {string} name completed
* @param {any} arg Argument
*/
emit(name: string, arg: any): boolean;
/**
* Emit completed event
*
* @param {string} name completed
*/
emit(name: 'completed', event: PushCompletedEvent): boolean;
/**
* Emit error
*
* @param {string} name error
*/
emit(name: 'error', event: PushError): boolean;
/**
* Event when a data frame is push to the node
*
* @param {string} name receive
* @param {Function} listener Event callback
*/
on(name: 'push', listener: (frame: In, options?: PushOptions) => Promise<void> | void): this;
}