UNPKG

mongoose-management

Version:
50 lines (49 loc) 1.92 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const mongo_1 = require("../../mongo"); exports.call = (prompts, answersMain, column) => __awaiter(this, void 0, void 0, function* () { if (answersMain.type !== 'arrayType') { return []; } const answersSubType = []; const subTypes = column ? [...column.getSubTypes()] : []; let type; do { const questions = exports.getQuestions(subTypes.shift()); const answersSubTypePart = yield prompts.call(questions); type = answersSubTypePart.type; answersSubType.push(type); } while (type === 'arrayType'); return answersSubType; }); exports.getQuestions = (subType) => { const typeValue = subType ? Object.keys(mongo_1.schemaTypesNormal).indexOf(subType) : undefined; const typeValues = Object.entries(mongo_1.schemaTypesNormal).map(([key, value]) => ({ name: value.name, value: key, short: value.name, })); return [ { type: 'list', name: 'type', message: 'Choose a SchemaSubType', choices: typeValues, default: typeValue, }, ]; }; exports.evaluation = (answers) => { return (column) => { column.setSubTypes(answers); return column; }; };