"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const q = require("smartq"); const smartchok = require("smartchok"); const plugins = require("./npmts.plugins"); const cli = require("./npmts.cli"); let npmtsSmartchok = null; exports.run = (configArg) => { let done = q.defer(); if (configArg.watch && npmtsSmartchok === null) { let pathsToWatch = []; for (let key in configArg.ts) { pathsToWatch.push(key); } for (let key in configArg.testTs) { pathsToWatch.push(key); } npmtsSmartchok = new smartchok.Smartchok(pathsToWatch); npmtsSmartchok.getObservableFor('change').then(changeObservableArg => { plugins.beautylog.info('now watching...'); changeObservableArg.subscribe(() => { cli.run(); }); }); npmtsSmartchok.start(); done.resolve(configArg); } else { plugins.beautylog.info('not watching'); done.resolve(configArg); } return done.promise; };