nativescript
Version:
Command-line interface for building NativeScript projects
45 lines • 1.71 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetFileCommand = void 0;
const yok_1 = require("../../yok");
class GetFileCommand {
constructor($devicesService, $stringParameter, $projectData, $errors, $options) {
this.$devicesService = $devicesService;
this.$stringParameter = $stringParameter;
this.$projectData = $projectData;
this.$errors = $errors;
this.$options = $options;
this.allowedParameters = [
this.$stringParameter,
this.$stringParameter,
];
}
async execute(args) {
await this.$devicesService.initialize({
deviceId: this.$options.device,
skipInferPlatform: true,
});
let appIdentifier = args[1];
if (!appIdentifier) {
try {
this.$projectData.initializeProjectData();
}
catch (err) {
// ignore the error
}
if (!this.$projectData.projectIdentifiers) {
this.$errors.fail("Please enter application identifier or execute this command in project.");
}
}
const action = async (device) => {
appIdentifier =
appIdentifier ||
this.$projectData.projectIdentifiers[device.deviceInfo.platform.toLowerCase()];
await device.fileSystem.getFile(args[0], appIdentifier, this.$options.file);
};
await this.$devicesService.execute(action);
}
}
exports.GetFileCommand = GetFileCommand;
yok_1.injector.registerCommand(["device|get-file", "devices|get-file"], GetFileCommand);
//# sourceMappingURL=get-file.js.map