1 | "use strict";
|
2 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3 | function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4 | return new (P || (P = Promise))(function (resolve, reject) {
|
5 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7 | function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8 | step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9 | });
|
10 | };
|
11 | var __rest = (this && this.__rest) || function (s, e) {
|
12 | var t = {};
|
13 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
14 | t[p] = s[p];
|
15 | if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
16 | for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
17 | if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
18 | t[p[i]] = s[p[i]];
|
19 | }
|
20 | return t;
|
21 | };
|
22 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
23 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
24 | };
|
25 | Object.defineProperty(exports, "__esModule", { value: true });
|
26 | const path_1 = __importDefault(require("path"));
|
27 | const yargs_parser_1 = __importDefault(require("yargs-parser"));
|
28 | const prompt_1 = __importDefault(require("./prompt"));
|
29 | const params = ({ templates, createPrompter }, externalArgv) => __awaiter(void 0, void 0, void 0, function* () {
|
30 | const argv = yargs_parser_1.default(externalArgv);
|
31 | const [generator, action, name] = argv._;
|
32 | if (!generator || !action) {
|
33 | return { generator, action, templates };
|
34 | }
|
35 | const [mainAction, subaction] = action.split(':');
|
36 | const actionfolder = path_1.default.join(templates, generator, mainAction);
|
37 | const { _ } = argv, cleanArgv = __rest(argv, ["_"]);
|
38 | const promptArgs = yield prompt_1.default(createPrompter, actionfolder, Object.assign(Object.assign({}, (name ? { name } : {})), cleanArgv));
|
39 | const args = Object.assign({
|
40 | templates,
|
41 | actionfolder,
|
42 | generator,
|
43 | action,
|
44 | subaction,
|
45 | }, promptArgs, cleanArgv, name && { name });
|
46 | return args;
|
47 | });
|
48 | exports.default = params;
|
49 |
|
\ | No newline at end of file |