From e1acfd03e60299de9ace2dd6f04a8f250300b0e0 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Sat, 4 Mar 2017 11:59:56 +0100 Subject: [PATCH] ThreadSimple is now returning a Promise --- dist/smartipc.classes.threadsimple.d.ts | 2 +- dist/smartipc.classes.threadsimple.js | 7 +++++-- ts/smartipc.classes.threadsimple.ts | 6 ++++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/dist/smartipc.classes.threadsimple.d.ts b/dist/smartipc.classes.threadsimple.d.ts index fc52eb3..24effc0 100644 --- a/dist/smartipc.classes.threadsimple.d.ts +++ b/dist/smartipc.classes.threadsimple.d.ts @@ -3,5 +3,5 @@ export declare class ThreadSimple { workerPath: string; threadChildProcess: childProcess.ChildProcess; constructor(filePathArg: string); - run(): childProcess.ChildProcess; + run(): Promise<{}>; } diff --git a/dist/smartipc.classes.threadsimple.js b/dist/smartipc.classes.threadsimple.js index ac7f200..2f2ac94 100644 --- a/dist/smartipc.classes.threadsimple.js +++ b/dist/smartipc.classes.threadsimple.js @@ -1,6 +1,7 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const plugins = require("./smartipc.plugins"); +const smartq = require("smartq"); const childProcess = require("child_process"); const smartipc_classes_thread_1 = require("./smartipc.classes.thread"); class ThreadSimple { @@ -8,6 +9,7 @@ class ThreadSimple { this.workerPath = filePathArg; } run() { + let done = smartq.defer(); let forkPath = (() => { if (smartipc_classes_thread_1.workerBasePath) { return plugins.path.join(smartipc_classes_thread_1.workerBasePath, this.workerPath); @@ -17,8 +19,9 @@ class ThreadSimple { } })(); this.threadChildProcess = childProcess.fork(forkPath); - return this.threadChildProcess; + done.resolve(this.threadChildProcess); + return done.promise; } } exports.ThreadSimple = ThreadSimple; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRpcGMuY2xhc3Nlcy50aHJlYWRzaW1wbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydGlwYy5jbGFzc2VzLnRocmVhZHNpbXBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDhDQUE2QztBQUU3Qyw4Q0FBNkM7QUFFN0MsdUVBQTBEO0FBRTFEO0lBR0UsWUFBYSxXQUFtQjtRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQTtJQUMvQixDQUFDO0lBRUQsR0FBRztRQUNELElBQUksUUFBUSxHQUFHLENBQUM7WUFDZCxFQUFFLENBQUMsQ0FBQyx3Q0FBYyxDQUFDLENBQUMsQ0FBQztnQkFDbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHdDQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBQzNELENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQTtZQUN4QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtRQUNKLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3JELE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUE7SUFDaEMsQ0FBQztDQUNGO0FBbEJELG9DQWtCQyJ9 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRpcGMuY2xhc3Nlcy50aHJlYWRzaW1wbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydGlwYy5jbGFzc2VzLnRocmVhZHNpbXBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDhDQUE2QztBQUM3QyxpQ0FBZ0M7QUFDaEMsOENBQTZDO0FBRTdDLHVFQUEwRDtBQUUxRDtJQUdFLFlBQWEsV0FBbUI7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUE7SUFDL0IsQ0FBQztJQUVELEdBQUc7UUFDRCxJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDekIsSUFBSSxRQUFRLEdBQUcsQ0FBQztZQUNkLEVBQUUsQ0FBQyxDQUFDLHdDQUFjLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsd0NBQWMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDM0QsQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFBO1lBQ3hCLENBQUM7UUFDSCxDQUFDLENBQUMsRUFBRSxDQUFBO1FBQ0osSUFBSSxDQUFDLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUNyQixDQUFDO0NBQ0Y7QUFwQkQsb0NBb0JDIn0= \ No newline at end of file diff --git a/ts/smartipc.classes.threadsimple.ts b/ts/smartipc.classes.threadsimple.ts index 031d829..a5fb5f2 100644 --- a/ts/smartipc.classes.threadsimple.ts +++ b/ts/smartipc.classes.threadsimple.ts @@ -1,5 +1,5 @@ import * as plugins from './smartipc.plugins' -import * as q from 'smartq' +import * as smartq from 'smartq' import * as childProcess from 'child_process' import { workerBasePath } from './smartipc.classes.thread' @@ -12,6 +12,7 @@ export class ThreadSimple { } run () { + let done = smartq.defer() let forkPath = (() => { if (workerBasePath) { return plugins.path.join(workerBasePath, this.workerPath) @@ -20,6 +21,7 @@ export class ThreadSimple { } })() this.threadChildProcess = childProcess.fork(forkPath) - return this.threadChildProcess + done.resolve(this.threadChildProcess) + return done.promise } }