本文整理汇总了TypeScript中vs/base/node/event.fromEventEmitter函数的典型用法代码示例。如果您正苦于以下问题:TypeScript fromEventEmitter函数的具体用法?TypeScript fromEventEmitter怎么用?TypeScript fromEventEmitter使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了fromEventEmitter函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: mapEvent
return mapEvent(onHello, webContents => {
const onMessage = createScopedOnMessageEvent(webContents.getId());
const protocol = new Protocol(webContents, onMessage);
const onDidClientDisconnect = fromEventEmitter<void>(webContents, 'destroyed');
return { protocol, onDidClientDisconnect };
});
开发者ID:Chan-PH,项目名称:vscode,代码行数:7,代码来源:ipc.electron-main.ts
示例2: constructor
constructor() {
super({
send: r => { try { process.send(r); } catch (e) { /* not much to do */ } },
onMessage: fromEventEmitter(process, 'message', msg => msg)
});
process.once('disconnect', () => this.dispose());
}
开发者ID:asotog,项目名称:vscode,代码行数:8,代码来源:ipc.cp.ts
示例3: getOnDidClientConnect
private static getOnDidClientConnect(): Event<ClientConnectionEvent> {
const onHello = fromEventEmitter<WebContents>(ipcMain, 'ipc:hello', ({ sender }) => sender);
return mapEvent(onHello, webContents => {
const onMessage = createScopedOnMessageEvent(webContents.getId());
const protocol = new Protocol(webContents, onMessage);
const onDidClientDisconnect = fromEventEmitter<void>(webContents, 'destroyed');
return { protocol, onDidClientDisconnect };
});
}
开发者ID:Chan-PH,项目名称:vscode,代码行数:11,代码来源:ipc.electron-main.ts
示例4: constructor
constructor() {
const rawOnOpenUrl = fromEventEmitter(app, 'open-url', (event: Electron.Event, url: string) => ({ event, url }));
const uriEvent = mapEvent(rawOnOpenUrl, ({ event, url }) => {
event.preventDefault();
try {
return URI.parse(url);
} catch(e) {
return null;
}
});
this.onOpenURL = filterEvent(uriEvent, uri => !!uri);
app.setAsDefaultProtocolClient(product.urlProtocol);
}
开发者ID:GYGit,项目名称:vscode,代码行数:17,代码来源:urlService.ts
示例5: client
private get client(): IPCClient {
if (!this._client) {
const args = this.options && this.options.args ? this.options.args : [];
const forkOpts = Object.create(null);
forkOpts.env = assign(clone(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 && typeof this.options.debug === 'number') {
forkOpts.execArgv = ['--nolazy', '--debug=' + this.options.debug];
}
if (this.options && typeof this.options.debugBrk === 'number') {
forkOpts.execArgv = ['--nolazy', '--debug-brk=' + this.options.debugBrk];
}
this.child = fork(this.modulePath, args, forkOpts);
const onMessageEmitter = new Emitter<any>();
const onRawMessage = fromEventEmitter(this.child, 'message', msg => msg);
onRawMessage(msg => {
// Handle console logs specially
if (msg && msg.type === '__$console') {
let args = ['%c[IPC Library: ' + this.options.serverName + ']', 'color: darkgreen'];
try {
const parsed = JSON.parse(msg.arguments);
args = args.concat(Object.getOwnPropertyNames(parsed).map(o => parsed[o]));
} catch (error) {
args.push(msg.arguments);
}
console[msg.severity].apply(console, args);
return null;
}
// Anything else goes to the outside
else {
onMessageEmitter.fire(msg);
}
});
const send = r => this.child && this.child.connected && this.child.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 && signal !== 'SIGTERM') {
console.warn('IPC "' + this.options.serverName + '" crashed with exit code ' + code);
this.disposeDelayer.cancel();
this.disposeClient();
}
});
}
return this._client;
}
开发者ID:asotog,项目名称:vscode,代码行数:74,代码来源:ipc.cp.ts
示例6: createProtocol
private static createProtocol(): Protocol {
const onMessage = fromEventEmitter<string>(ipcRenderer, 'ipc:message', (_, message) => message);
ipcRenderer.send('ipc:hello');
return new Protocol(ipcRenderer, onMessage);
}
开发者ID:Chan-PH,项目名称:vscode,代码行数:5,代码来源:ipc.electron-browser.ts
示例7: createScopedOnMessageEvent
function createScopedOnMessageEvent(senderId: number): Event<any> {
const onMessage = fromEventEmitter<IIPCEvent>(ipcMain, 'ipc:message', (event, message) => ({ event, message }));
const onMessageFromSender = filterEvent(onMessage, ({ event }) => event.sender.getId() === senderId);
return mapEvent(onMessageFromSender, ({ message }) => message);
}
开发者ID:Chan-PH,项目名称:vscode,代码行数:5,代码来源:ipc.electron-main.ts
注:本文中的vs/base/node/event.fromEventEmitter函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论