@iotize/cli
Version:
IoTize command line interface
114 lines • 3.92 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
const clime_1 = require("clime");
const ui_1 = require("src/ui");
class MyOption extends clime_1.Options {
getSetAttributeInfo() {
if (!this.setAttribute) {
throw new Error(`--set option is required`);
}
const parts = this.setAttribute.split('=');
const key = parts[0];
const value = parts[1];
return {
key: key,
value: value
};
}
}
__decorate([
clime_1.option({
flag: 'f',
required: false,
description: 'Show configuration file path',
toggle: true
}),
__metadata("design:type", Boolean)
], MyOption.prototype, "file", void 0);
__decorate([
clime_1.option({
flag: 'a',
name: 'all',
required: false,
toggle: true,
description: 'Show all entries'
}),
__metadata("design:type", Boolean)
], MyOption.prototype, "all", void 0);
__decorate([
clime_1.option({
flag: 'g',
name: 'get',
required: false,
description: 'Get value: name'
}),
__metadata("design:type", String)
], MyOption.prototype, "getAttribute", void 0);
__decorate([
clime_1.option({
flag: 'd',
name: 'delete',
required: false,
description: 'Delete value: name'
}),
__metadata("design:type", String)
], MyOption.prototype, "deleteAttribute", void 0);
__decorate([
clime_1.option({
flag: 's',
name: 'set',
required: false,
description: 'Set value: name=value',
validator: (value, context) => {
if (value.split('=').length != 2) {
throw new clime_1.ExpectedError(`format should be name=value`);
}
}
}),
__metadata("design:type", String)
], MyOption.prototype, "setAttribute", void 0);
exports.MyOption = MyOption;
let default_1 = class default_1 extends clime_1.Command {
execute(options) {
const config = global.configProvider.config();
if (options.file) {
ui_1.display.message(config.filepath());
}
else if (options.getAttribute) {
process.stdout.write(config.get(options.getAttribute));
}
else if (options.deleteAttribute) {
config.delete(options.deleteAttribute);
}
else if (options.setAttribute) {
const info = options.getSetAttributeInfo();
config.set(info.key, info.value);
}
else if (options.all) {
ui_1.display.pretty(config.toJson());
}
config.save();
}
};
__decorate([
clime_1.metadata,
__metadata("design:type", Function),
__metadata("design:paramtypes", [MyOption]),
__metadata("design:returntype", void 0)
], default_1.prototype, "execute", null);
default_1 = __decorate([
clime_1.command({
description: 'Show iotize CLI configuration'
})
], default_1);
exports.default = default_1;
//# sourceMappingURL=default.js.map