UNPKG

@acoustic-content-sdk/cli

Version:

Command line utility for the Acoustic Content SDK.

70 lines 8.33 kB
/** * @fileoverview added by tsickle * Generated from: commands/generate.types.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { createChalkLoggerService, createReadDirectory, createReadTextFile, logFileDescriptor, writeFiles } from '@acoustic-content-sdk/tooling'; import { generateTypes } from '@acoustic-content-sdk/tooling-types'; import { NOOP_LOGGER_SERVICE, rxPipe } from '@acoustic-content-sdk/utils'; import { join, normalize } from 'path'; import { cwd } from 'process'; import { ignoreElements } from 'rxjs/operators'; import { splitParams } from './utils'; /** @type {?} */ export const GENERATE_TYPES_COMMAND = 'generate-types'; /** * Generates typings and helper methods based on a set of content type definitions. * * @param {?} program * @return {?} */ export function generateTypesCommand(program) { // register our commands /** @type {?} */ const cmd = program .command(GENERATE_TYPES_COMMAND) .description('Generates typings and helper methods based on a set of content type definitions.') .option('--data <data>', 'Location of the data directory.') .option('--dir <dir>', 'Location of the target directory. Defaults to the "src" directory.') .option('--include <include>', 'Regular expression of the types to include.') .option('--exclude <exclude>', 'Regular expression of the types to exclude.') .action((/** * @return {?} */ () => { // service /** @type {?} */ const logSvc = program.verbose ? createChalkLoggerService() : NOOP_LOGGER_SERVICE; // logger /** @type {?} */ const logger = logSvc.get(cmd.name()); // write callback /** @type {?} */ const currentDir = cwd(); /** @type {?} */ const dataDir = normalize(cmd.data || join(currentDir, 'data')); // target dire /** @type {?} */ const dstDir = normalize(cmd.dir || currentDir); // log this logger.info('dataDir', dataDir); logger.info('dstDir', dstDir); // execute the command /** @type {?} */ const command = generateTypes({ data: '/', include: splitParams(cmd.include), exclude: splitParams(cmd.exclude) }); // execute the command /** @type {?} */ const files$ = rxPipe(command(createReadDirectory(dataDir), createReadTextFile(dataDir), logSvc), writeFiles(dstDir), logFileDescriptor(), ignoreElements()); // subscribe return files$.toPromise(); })); // ok return cmd; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUudHlwZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvdXN0aWMtY29udGVudC1zZGsvY2xpLyIsInNvdXJjZXMiOlsiY29tbWFuZHMvZ2VuZXJhdGUudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDWCxNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFMUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFdEMsTUFBTSxPQUFPLHNCQUFzQixHQUFHLGdCQUFnQjs7Ozs7OztBQU90RCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsT0FBZ0I7OztVQUU3QyxHQUFHLEdBQUcsT0FBTztTQUNoQixPQUFPLENBQUMsc0JBQXNCLENBQUM7U0FDL0IsV0FBVyxDQUNWLGtGQUFrRixDQUNuRjtTQUNBLE1BQU0sQ0FBQyxlQUFlLEVBQUUsaUNBQWlDLENBQUM7U0FDMUQsTUFBTSxDQUNMLGFBQWEsRUFDYixvRUFBb0UsQ0FDckU7U0FDQSxNQUFNLENBQ0wscUJBQXFCLEVBQ3JCLDZDQUE2QyxDQUM5QztTQUNBLE1BQU0sQ0FDTCxxQkFBcUIsRUFDckIsNkNBQTZDLENBQzlDO1NBQ0EsTUFBTTs7O0lBQUMsR0FBRyxFQUFFOzs7Y0FFTCxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU87WUFDNUIsQ0FBQyxDQUFDLHdCQUF3QixFQUFFO1lBQzVCLENBQUMsQ0FBQyxtQkFBbUI7OztjQUVqQixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7OztjQUUvQixVQUFVLEdBQUcsR0FBRyxFQUFFOztjQUNsQixPQUFPLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQzs7O2NBRXpELE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxVQUFVLENBQUM7UUFDL0MsV0FBVztRQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDOzs7Y0FFeEIsT0FBTyxHQUFHLGFBQWEsQ0FBQztZQUM1QixJQUFJLEVBQUUsR0FBRztZQUNULE9BQU8sRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUNqQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7U0FDbEMsQ0FBQzs7O2NBRUksTUFBTSxHQUFHLE1BQU0sQ0FDbkIsT0FBTyxDQUNMLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxFQUM1QixrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFDM0IsTUFBTSxDQUNQLEVBQ0QsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUNsQixpQkFBaUIsRUFBRSxFQUNuQixjQUFjLEVBQUUsQ0FDakI7UUFDRCxZQUFZO1FBQ1osT0FBTyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUIsQ0FBQyxFQUFDO0lBRUosS0FBSztJQUNMLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUNoYWxrTG9nZ2VyU2VydmljZSxcbiAgY3JlYXRlUmVhZERpcmVjdG9yeSxcbiAgY3JlYXRlUmVhZFRleHRGaWxlLFxuICBsb2dGaWxlRGVzY3JpcHRvcixcbiAgd3JpdGVGaWxlc1xufSBmcm9tICdAYWNvdXN0aWMtY29udGVudC1zZGsvdG9vbGluZyc7XG5pbXBvcnQgeyBnZW5lcmF0ZVR5cGVzIH0gZnJvbSAnQGFjb3VzdGljLWNvbnRlbnQtc2RrL3Rvb2xpbmctdHlwZXMnO1xuaW1wb3J0IHsgTk9PUF9MT0dHRVJfU0VSVklDRSwgcnhQaXBlIH0gZnJvbSAnQGFjb3VzdGljLWNvbnRlbnQtc2RrL3V0aWxzJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgam9pbiwgbm9ybWFsaXplIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBjd2QgfSBmcm9tICdwcm9jZXNzJztcbmltcG9ydCB7IGlnbm9yZUVsZW1lbnRzIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBzcGxpdFBhcmFtcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgR0VORVJBVEVfVFlQRVNfQ09NTUFORCA9ICdnZW5lcmF0ZS10eXBlcyc7XG5cbi8qKlxuICogR2VuZXJhdGVzIHR5cGluZ3MgYW5kIGhlbHBlciBtZXRob2RzIGJhc2VkIG9uIGEgc2V0IG9mIGNvbnRlbnQgdHlwZSBkZWZpbml0aW9ucy5cbiAqXG4gKiBAcGFyYW0gcHJvZ3JhbVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVUeXBlc0NvbW1hbmQocHJvZ3JhbTogQ29tbWFuZCk6IENvbW1hbmQge1xuICAvLyByZWdpc3RlciBvdXIgY29tbWFuZHNcbiAgY29uc3QgY21kID0gcHJvZ3JhbVxuICAgIC5jb21tYW5kKEdFTkVSQVRFX1RZUEVTX0NPTU1BTkQpXG4gICAgLmRlc2NyaXB0aW9uKFxuICAgICAgJ0dlbmVyYXRlcyB0eXBpbmdzIGFuZCBoZWxwZXIgbWV0aG9kcyBiYXNlZCBvbiBhIHNldCBvZiBjb250ZW50IHR5cGUgZGVmaW5pdGlvbnMuJ1xuICAgIClcbiAgICAub3B0aW9uKCctLWRhdGEgPGRhdGE+JywgJ0xvY2F0aW9uIG9mIHRoZSBkYXRhIGRpcmVjdG9yeS4nKVxuICAgIC5vcHRpb24oXG4gICAgICAnLS1kaXIgPGRpcj4nLFxuICAgICAgJ0xvY2F0aW9uIG9mIHRoZSB0YXJnZXQgZGlyZWN0b3J5LiBEZWZhdWx0cyB0byB0aGUgXCJzcmNcIiBkaXJlY3RvcnkuJ1xuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgJy0taW5jbHVkZSA8aW5jbHVkZT4nLFxuICAgICAgJ1JlZ3VsYXIgZXhwcmVzc2lvbiBvZiB0aGUgdHlwZXMgdG8gaW5jbHVkZS4nXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLS1leGNsdWRlIDxleGNsdWRlPicsXG4gICAgICAnUmVndWxhciBleHByZXNzaW9uIG9mIHRoZSB0eXBlcyB0byBleGNsdWRlLidcbiAgICApXG4gICAgLmFjdGlvbigoKSA9PiB7XG4gICAgICAvLyBzZXJ2aWNlXG4gICAgICBjb25zdCBsb2dTdmMgPSBwcm9ncmFtLnZlcmJvc2VcbiAgICAgICAgPyBjcmVhdGVDaGFsa0xvZ2dlclNlcnZpY2UoKVxuICAgICAgICA6IE5PT1BfTE9HR0VSX1NFUlZJQ0U7XG4gICAgICAvLyBsb2dnZXJcbiAgICAgIGNvbnN0IGxvZ2dlciA9IGxvZ1N2Yy5nZXQoY21kLm5hbWUoKSk7XG4gICAgICAvLyB3cml0ZSBjYWxsYmFja1xuICAgICAgY29uc3QgY3VycmVudERpciA9IGN3ZCgpO1xuICAgICAgY29uc3QgZGF0YURpciA9IG5vcm1hbGl6ZShjbWQuZGF0YSB8fCBqb2luKGN1cnJlbnREaXIsICdkYXRhJykpO1xuICAgICAgLy8gdGFyZ2V0IGRpcmVcbiAgICAgIGNvbnN0IGRzdERpciA9IG5vcm1hbGl6ZShjbWQuZGlyIHx8IGN1cnJlbnREaXIpO1xuICAgICAgLy8gbG9nIHRoaXNcbiAgICAgIGxvZ2dlci5pbmZvKCdkYXRhRGlyJywgZGF0YURpcik7XG4gICAgICBsb2dnZXIuaW5mbygnZHN0RGlyJywgZHN0RGlyKTtcbiAgICAgIC8vIGV4ZWN1dGUgdGhlIGNvbW1hbmRcbiAgICAgIGNvbnN0IGNvbW1hbmQgPSBnZW5lcmF0ZVR5cGVzKHtcbiAgICAgICAgZGF0YTogJy8nLFxuICAgICAgICBpbmNsdWRlOiBzcGxpdFBhcmFtcyhjbWQuaW5jbHVkZSksXG4gICAgICAgIGV4Y2x1ZGU6IHNwbGl0UGFyYW1zKGNtZC5leGNsdWRlKVxuICAgICAgfSk7XG4gICAgICAvLyBleGVjdXRlIHRoZSBjb21tYW5kXG4gICAgICBjb25zdCBmaWxlcyQgPSByeFBpcGUoXG4gICAgICAgIGNvbW1hbmQoXG4gICAgICAgICAgY3JlYXRlUmVhZERpcmVjdG9yeShkYXRhRGlyKSxcbiAgICAgICAgICBjcmVhdGVSZWFkVGV4dEZpbGUoZGF0YURpciksXG4gICAgICAgICAgbG9nU3ZjXG4gICAgICAgICksXG4gICAgICAgIHdyaXRlRmlsZXMoZHN0RGlyKSxcbiAgICAgICAgbG9nRmlsZURlc2NyaXB0b3IoKSxcbiAgICAgICAgaWdub3JlRWxlbWVudHMoKVxuICAgICAgKTtcbiAgICAgIC8vIHN1YnNjcmliZVxuICAgICAgcmV0dXJuIGZpbGVzJC50b1Byb21pc2UoKTtcbiAgICB9KTtcblxuICAvLyBva1xuICByZXR1cm4gY21kO1xufVxuIl19