@acoustic-content-sdk/cli
Version:
Command line utility for the Acoustic Content SDK.
62 lines • 7.04 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: commands/generate.messages.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { createChalkLoggerService, createReadDirectory, logFileDescriptor, writeFiles } from '@acoustic-content-sdk/tooling';
import { generateMessages } from '@acoustic-content-sdk/tooling-messages';
import { NOOP_LOGGER_SERVICE, rxPipe } from '@acoustic-content-sdk/utils';
import { cwd } from 'process';
import { ignoreElements } from 'rxjs/operators';
/** @type {?} */
export var GENERATE_MESSAGES_COMMAND = 'generate-messages';
/**
* Returns a command that generates a typescript message file from NLS JSON input sources.
*
* @param {?} program - the driver
* @return {?} the command
*/
export function generateMessagesCommand(program) {
// register our commands
/** @type {?} */
var messageCommand = program
.command(GENERATE_MESSAGES_COMMAND)
.description('Generate translated messages.')
.option('--src <directory>', 'Source directory')
.option('--dir <directory>', 'Target directory')
.option('--default <default>', 'Default locale')
.action((/**
* @return {?}
*/
function () {
// service
/** @type {?} */
var logSvc = program.verbose
? createChalkLoggerService()
: NOOP_LOGGER_SERVICE;
// logger
/** @type {?} */
var logger = logSvc.get(messageCommand.name());
// write callback
/** @type {?} */
var srcDir = messageCommand.src || cwd();
/** @type {?} */
var dstDir = messageCommand.dir || cwd();
/** @type {?} */
var defaultLocale = messageCommand.default;
// log this
logger.info('srcDir', srcDir);
logger.info('dstDir', dstDir);
logger.info('defaultLocale', defaultLocale);
// read callback
/** @type {?} */
var command = generateMessages({ dir: '/', default: defaultLocale });
// execute the command
/** @type {?} */
var cmp$ = rxPipe(command(createReadDirectory(srcDir), logSvc), writeFiles(dstDir), logFileDescriptor(), ignoreElements());
// subscribe
return cmp$.toPromise();
}));
return messageCommand;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUubWVzc2FnZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvdXN0aWMtY29udGVudC1zZGsvY2xpLyIsInNvdXJjZXMiOlsiY29tbWFuZHMvZ2VuZXJhdGUubWVzc2FnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsVUFBVSxFQUNYLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUVoRCxNQUFNLEtBQU8seUJBQXlCLEdBQUcsbUJBQW1COzs7Ozs7O0FBUTVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxPQUFnQjs7O1FBRWhELGNBQWMsR0FBRyxPQUFPO1NBQzNCLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQztTQUNsQyxXQUFXLENBQUMsK0JBQStCLENBQUM7U0FDNUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDO1NBQy9DLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQztTQUMvQyxNQUFNLENBQUMscUJBQXFCLEVBQUUsZ0JBQWdCLENBQUM7U0FDL0MsTUFBTTs7O0lBQUM7OztZQUVBLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTztZQUM1QixDQUFDLENBQUMsd0JBQXdCLEVBQUU7WUFDNUIsQ0FBQyxDQUFDLG1CQUFtQjs7O1lBRWpCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQzs7O1lBRTFDLE1BQU0sR0FBRyxjQUFjLENBQUMsR0FBRyxJQUFJLEdBQUcsRUFBRTs7WUFDcEMsTUFBTSxHQUFHLGNBQWMsQ0FBQyxHQUFHLElBQUksR0FBRyxFQUFFOztZQUNwQyxhQUFhLEdBQUcsY0FBYyxDQUFDLE9BQU87UUFDNUMsV0FBVztRQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFDOzs7WUFFdEMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLENBQUM7OztZQUVoRSxJQUFJLEdBQUcsTUFBTSxDQUNqQixPQUFPLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQzVDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFDbEIsaUJBQWlCLEVBQUUsRUFDbkIsY0FBYyxFQUFFLENBQ2pCO1FBQ0QsWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzFCLENBQUMsRUFBQztJQUVKLE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVDaGFsa0xvZ2dlclNlcnZpY2UsXG4gIGNyZWF0ZVJlYWREaXJlY3RvcnksXG4gIGxvZ0ZpbGVEZXNjcmlwdG9yLFxuICB3cml0ZUZpbGVzXG59IGZyb20gJ0BhY291c3RpYy1jb250ZW50LXNkay90b29saW5nJztcbmltcG9ydCB7IGdlbmVyYXRlTWVzc2FnZXMgfSBmcm9tICdAYWNvdXN0aWMtY29udGVudC1zZGsvdG9vbGluZy1tZXNzYWdlcyc7XG5pbXBvcnQgeyBOT09QX0xPR0dFUl9TRVJWSUNFLCByeFBpcGUgfSBmcm9tICdAYWNvdXN0aWMtY29udGVudC1zZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQgeyBjd2QgfSBmcm9tICdwcm9jZXNzJztcbmltcG9ydCB7IGlnbm9yZUVsZW1lbnRzIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgR0VORVJBVEVfTUVTU0FHRVNfQ09NTUFORCA9ICdnZW5lcmF0ZS1tZXNzYWdlcyc7XG5cbi8qKlxuICogUmV0dXJucyBhIGNvbW1hbmQgdGhhdCBnZW5lcmF0ZXMgYSB0eXBlc2NyaXB0IG1lc3NhZ2UgZmlsZSBmcm9tIE5MUyBKU09OIGlucHV0IHNvdXJjZXMuXG4gKlxuICogQHBhcmFtIHByb2dyYW0gLSB0aGUgZHJpdmVyXG4gKiBAcmV0dXJuIHRoZSBjb21tYW5kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZU1lc3NhZ2VzQ29tbWFuZChwcm9ncmFtOiBDb21tYW5kKTogQ29tbWFuZCB7XG4gIC8vIHJlZ2lzdGVyIG91ciBjb21tYW5kc1xuICBjb25zdCBtZXNzYWdlQ29tbWFuZCA9IHByb2dyYW1cbiAgICAuY29tbWFuZChHRU5FUkFURV9NRVNTQUdFU19DT01NQU5EKVxuICAgIC5kZXNjcmlwdGlvbignR2VuZXJhdGUgdHJhbnNsYXRlZCBtZXNzYWdlcy4nKVxuICAgIC5vcHRpb24oJy0tc3JjIDxkaXJlY3Rvcnk+JywgJ1NvdXJjZSBkaXJlY3RvcnknKVxuICAgIC5vcHRpb24oJy0tZGlyIDxkaXJlY3Rvcnk+JywgJ1RhcmdldCBkaXJlY3RvcnknKVxuICAgIC5vcHRpb24oJy0tZGVmYXVsdCA8ZGVmYXVsdD4nLCAnRGVmYXVsdCBsb2NhbGUnKVxuICAgIC5hY3Rpb24oKCkgPT4ge1xuICAgICAgLy8gc2VydmljZVxuICAgICAgY29uc3QgbG9nU3ZjID0gcHJvZ3JhbS52ZXJib3NlXG4gICAgICAgID8gY3JlYXRlQ2hhbGtMb2dnZXJTZXJ2aWNlKClcbiAgICAgICAgOiBOT09QX0xPR0dFUl9TRVJWSUNFO1xuICAgICAgLy8gbG9nZ2VyXG4gICAgICBjb25zdCBsb2dnZXIgPSBsb2dTdmMuZ2V0KG1lc3NhZ2VDb21tYW5kLm5hbWUoKSk7XG4gICAgICAvLyB3cml0ZSBjYWxsYmFja1xuICAgICAgY29uc3Qgc3JjRGlyID0gbWVzc2FnZUNvbW1hbmQuc3JjIHx8IGN3ZCgpO1xuICAgICAgY29uc3QgZHN0RGlyID0gbWVzc2FnZUNvbW1hbmQuZGlyIHx8IGN3ZCgpO1xuICAgICAgY29uc3QgZGVmYXVsdExvY2FsZSA9IG1lc3NhZ2VDb21tYW5kLmRlZmF1bHQ7XG4gICAgICAvLyBsb2cgdGhpc1xuICAgICAgbG9nZ2VyLmluZm8oJ3NyY0RpcicsIHNyY0Rpcik7XG4gICAgICBsb2dnZXIuaW5mbygnZHN0RGlyJywgZHN0RGlyKTtcbiAgICAgIGxvZ2dlci5pbmZvKCdkZWZhdWx0TG9jYWxlJywgZGVmYXVsdExvY2FsZSk7XG4gICAgICAvLyByZWFkIGNhbGxiYWNrXG4gICAgICBjb25zdCBjb21tYW5kID0gZ2VuZXJhdGVNZXNzYWdlcyh7IGRpcjogJy8nLCBkZWZhdWx0OiBkZWZhdWx0TG9jYWxlIH0pO1xuICAgICAgLy8gZXhlY3V0ZSB0aGUgY29tbWFuZFxuICAgICAgY29uc3QgY21wJCA9IHJ4UGlwZShcbiAgICAgICAgY29tbWFuZChjcmVhdGVSZWFkRGlyZWN0b3J5KHNyY0RpciksIGxvZ1N2YyksXG4gICAgICAgIHdyaXRlRmlsZXMoZHN0RGlyKSxcbiAgICAgICAgbG9nRmlsZURlc2NyaXB0b3IoKSxcbiAgICAgICAgaWdub3JlRWxlbWVudHMoKVxuICAgICAgKTtcbiAgICAgIC8vIHN1YnNjcmliZVxuICAgICAgcmV0dXJuIGNtcCQudG9Qcm9taXNlKCk7XG4gICAgfSk7XG5cbiAgcmV0dXJuIG1lc3NhZ2VDb21tYW5kO1xufVxuIl19