本文整理匯總了TypeScript中vs/base/common/event.fromNodeEventEmitter函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript fromNodeEventEmitter函數的具體用法?TypeScript fromNodeEventEmitter怎麽用?TypeScript fromNodeEventEmitter使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了fromNodeEventEmitter函數的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: mapEvent
return mapEvent(onHello, webContents => {
const onMessage = createScopedOnMessageEvent(webContents.getId());
const protocol = new Protocol(webContents, onMessage);
const onDidClientDisconnect = fromNodeEventEmitter<void>(webContents, 'destroyed');
return { protocol, onDidClientDisconnect };
});
示例2: constructor
constructor() {
super({
send: r => { try { process.send(r); } catch (e) { /* not much to do */ } },
onMessage: fromNodeEventEmitter(process, 'message', msg => msg)
});
process.once('disconnect', () => this.dispose());
}
示例3: getOnDidClientConnect
private static getOnDidClientConnect(): Event<ClientConnectionEvent> {
const onHello = fromNodeEventEmitter<WebContents>(ipcMain, 'ipc:hello', ({ sender }) => sender);
return mapEvent(onHello, webContents => {
const onMessage = createScopedOnMessageEvent(webContents.getId());
const protocol = new Protocol(webContents, onMessage);
const onDidClientDisconnect = fromNodeEventEmitter<void>(webContents, 'destroyed');
return { protocol, onDidClientDisconnect };
});
}
示例4: getOnDidClientConnect
private static getOnDidClientConnect(): Event<ClientConnectionEvent> {
const onHello = fromNodeEventEmitter<Electron.WebContents>(ipcMain, 'ipc:hello', ({ sender }) => sender);
return mapEvent(onHello, webContents => {
const onMessage = createScopedOnMessageEvent(webContents.id, 'ipc:message');
const onDidClientDisconnect = signalEvent(createScopedOnMessageEvent(webContents.id, 'ipc:disconnect'));
const protocol = new Protocol(webContents, onMessage);
return { protocol, onDidClientDisconnect };
});
}
示例5: createProtocol
private static createProtocol(): Protocol {
const onMessage = fromNodeEventEmitter<string>(ipcRenderer, 'ipc:message', (_, message) => message);
ipcRenderer.send('ipc:hello');
return new Protocol(ipcRenderer, onMessage);
}
示例6: client
private get client(): IPCClient {
if (!this._client) {
const args = this.options && this.options.args ? this.options.args : [];
const forkOpts: ForkOptions = Object.create(null);
forkOpts.env = assign(deepClone(process.env), { 'VSCODE_PARENT_PID': String(process.pid) });
if (this.options && this.options.env) {
forkOpts.env = assign(forkOpts.env, this.options.env);
}
if (this.options && this.options.freshExecArgv) {
forkOpts.execArgv = [];
}
if (this.options && typeof this.options.debug === 'number') {
forkOpts.execArgv = ['--nolazy', '--inspect=' + this.options.debug];
}
if (this.options && typeof this.options.debugBrk === 'number') {
forkOpts.execArgv = ['--nolazy', '--inspect-brk=' + this.options.debugBrk];
}
this.child = fork(this.modulePath, args, forkOpts);
const onMessageEmitter = new Emitter<any>();
const onRawMessage = fromNodeEventEmitter(this.child, 'message', msg => msg);
onRawMessage(msg => {
// Handle remote console logs specially
if (isRemoteConsoleLog(msg)) {
log(msg, `IPC Library: ${this.options.serverName}`);
return null;
}
// Anything else goes to the outside
onMessageEmitter.fire(msg);
});
const sender = this.options.useQueue ? createQueuedSender(this.child) : this.child;
const send = r => this.child && this.child.connected && sender.send(r);
const onMessage = onMessageEmitter.event;
const protocol = { send, onMessage };
this._client = new IPCClient(protocol);
const onExit = () => this.disposeClient();
process.once('exit', onExit);
this.child.on('error', err => console.warn('IPC "' + this.options.serverName + '" errored with ' + err));
this.child.on('exit', (code: any, signal: any) => {
process.removeListener('exit', onExit);
if (this.activeRequests) {
this.activeRequests.forEach(req => req.cancel());
this.activeRequests = [];
}
if (code !== 0 && signal !== 'SIGTERM') {
console.warn('IPC "' + this.options.serverName + '" crashed with exit code ' + code + ' and signal ' + signal);
this.disposeDelayer.cancel();
this.disposeClient();
}
});
}
return this._client;
}
示例7: createScopedOnMessageEvent
function createScopedOnMessageEvent(senderId: number): Event<any> {
const onMessage = fromNodeEventEmitter<IIPCEvent>(ipcMain, 'ipc:message', (event, message) => ({ event, message }));
const onMessageFromSender = filterEvent(onMessage, ({ event }) => event.sender.getId() === senderId);
return mapEvent(onMessageFromSender, ({ message }) => message);
}
示例8: createScopedOnMessageEvent
function createScopedOnMessageEvent(senderId: number, eventName: string): Event<string> {
const onMessage = fromNodeEventEmitter<IIPCEvent>(ipcMain, eventName, (event, message: string) => ({ event, message }));
const onMessageFromSender = filterEvent(onMessage, ({ event }) => event.sender.id === senderId);
return mapEvent(onMessageFromSender, ({ message }) => message);
}