Skip to content

Commit

Permalink
Check for Node version and change then() -> await
Browse files Browse the repository at this point in the history
  • Loading branch information
codetheweb committed Aug 13, 2018
1 parent 9312c5a commit 05b2abb
Show file tree
Hide file tree
Showing 6 changed files with 90 additions and 90 deletions.
15 changes: 11 additions & 4 deletions cli.js
@@ -1,15 +1,22 @@
#!/usr/bin/env node

// Imports
const updateNotifier = require('update-notifier');
const program = require('commander');

const Configstore = require('configstore');
const pkg = require('./package.json');

const conf = new Configstore(pkg.name);

// Import local files
const link = require('./lib/link');
const linkWizard = require('./lib/link-wizard.js');
const control = require('./lib/control');
const pkg = require('./package.json');

// Check Node version
require('please-upgrade-node')(pkg);

// Set up config store
const conf = new Configstore(pkg.name);
updateNotifier({pkg}).notify();

// Link a device
program
Expand Down
32 changes: 20 additions & 12 deletions lib/control.js
Expand Up @@ -25,17 +25,21 @@ function parseConfig(config, options) {
}
}

function get(config, options) {
async function get(config, options) {
const tuya = parseConfig(config, options);

tuya.resolveId().then(() => {
tuya.get().then(status => {
console.log(status);
});
});
try {
await tuya.resolveId();

const status = await tuya.get();

console.log(status);
} catch (error) {
console.log(error);
}
}

function set(config, options) {
async function set(config, options) {
if (options.set === undefined) {
c.badArgument(options);
}
Expand All @@ -49,11 +53,15 @@ function set(config, options) {

const tuya = parseConfig(config, options);

tuya.resolveId().then(() => {
tuya.set({set: options.set, dps: options.dps}).then(() => {
console.log('Set succeeded.');
});
});
try {
await tuya.resolveId();

await tuya.set({set: options.set, dps: options.dps});

console.log('Set succeeded.');
} catch (error) {
console.log(error);
}
}

module.exports = {get, set};
22 changes: 11 additions & 11 deletions lib/link-wizard.js
Expand Up @@ -2,7 +2,7 @@ const inquirer = require('inquirer');

const link = require('./link');

function linkWizard(config, options) {
async function linkWizard(config, options) {
let questions = [
{
type: 'confirm',
Expand Down Expand Up @@ -61,16 +61,16 @@ function linkWizard(config, options) {
]);
}

inquirer.prompt(questions).then(answers => {
link(config, {
ssid: answers.ssid,
password: answers.wifiPassword,
apiKey: answers.apiKey,
apiSecret: answers.apiSecret,
saveAPI: answers.saveAPI,
num: answers.devices,
save: answers.saveDevices
});
const answers = await inquirer.prompt(questions);

link(config, {
ssid: answers.ssid,
password: answers.wifiPassword,
apiKey: answers.apiKey,
apiSecret: answers.apiSecret,
saveAPI: answers.saveAPI,
num: answers.devices,
save: answers.saveDevices
});
}

Expand Down
33 changes: 16 additions & 17 deletions lib/link.js
Expand Up @@ -4,7 +4,7 @@ const TuyaLink = require('@tuyapi/link').wizard;

const c = require('./common');

function link(config, options) {
async function link(config, options) {
// Check arguments
if (!options.ssid || !options.password) {
c.badArgument(options);
Expand Down Expand Up @@ -37,26 +37,25 @@ function link(config, options) {

const spinner = ora('Registering devices(s)...').start();

link.init().then(() => {
link.linkDevice({ssid: options.ssid, wifiPassword: options.password, devices: options.num}).then(devices => {
spinner.succeed('Device(s) registered!');
try {
await link.init();

// Save devices to config
if (options.save) {
for (const device of devices) {
config.set(device.id, device.localKey);
}
const devices = await link.linkDevice({ssid: options.ssid, wifiPassword: options.password, devices: options.num});

spinner.succeed('Device(s) registered!');

// Save devices to config
if (options.save) {
for (const device of devices) {
config.set(device.id, device.localKey);
}
}

return console.log(devices);
}).catch(err => {
spinner.fail('Device(s) failed to be registered!');
console.log(err);
});
}).catch(err => {
return console.log(devices);
} catch (error) {
spinner.fail('Device(s) failed to be registered!');
console.log(err);
});
console.log(error);
}
}

module.exports = link;

0 comments on commit 05b2abb

Please sign in to comment.