Skip to content
This repository has been archived by the owner on Oct 28, 2019. It is now read-only.

Commit

Permalink
replace deasync by async await
Browse files Browse the repository at this point in the history
fix #266
  • Loading branch information
Dufgui committed Oct 27, 2019
1 parent 9f66cc5 commit 4161c6d
Show file tree
Hide file tree
Showing 6 changed files with 138 additions and 72 deletions.
64 changes: 32 additions & 32 deletions lib/helpers/jhipster_option_helper.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,153 +31,153 @@ module.exports = {
askForClassesWithJPAMetamodelFiltering
};

function askForClassesToPaginate(classes, value) {
return QuestionAsker.selectMultipleChoices({
async function askForClassesToPaginate(classes, value) {
return await QuestionAsker.selectMultipleChoices({
classes,
question: `Please choose the entities you want to paginate with ${value}:`
});
}

function askForPagination(classes, values) {
async function askForPagination(classes, values) {
if (!(values instanceof Array)) {
values = [values];
}
const listPagination = {};
for (let i = 0; i < values.length; i++) {
const classesToPaginate = askForClassesToPaginate(classes, values[i]);
const classesToPaginate = await askForClassesToPaginate(classes, values[i]);
for (let j = 0; j < classesToPaginate.length; j++) {
listPagination[classesToPaginate[j]] = values[i];
}
}
return listPagination;
}

function askForClassesToService(classes, value) {
return QuestionAsker.selectMultipleChoices({
async function askForClassesToService(classes, value) {
return await QuestionAsker.selectMultipleChoices({
classes,
question: `Please choose the entities you want to add a service ${value ? `with ${value}` : ''}:`
});
}

function askForService(classes, values) {
async function askForService(classes, values) {
if (!(values instanceof Array)) {
values = [values];
}
const listService = {};
for (let i = 0; i < values.length; i++) {
const classesToService = askForClassesToService(classes, values[i]);
const classesToService = await askForClassesToService(classes, values[i]);
for (let j = 0; j < classesToService.length; j++) {
listService[classesToService[j]] = values[i];
}
}
return listService;
}

function askForClassesToDto(classes, value) {
return QuestionAsker.selectMultipleChoices({
async function askForClassesToDto(classes, value) {
return await QuestionAsker.selectMultipleChoices({
classes,
question: `Please choose the entities you want to generate the DTO with ${value}:`
});
}

function askForDTO(classes, values) {
async function askForDTO(classes, values) {
if (!(values instanceof Array)) {
values = [values];
}
const listDto = {};
for (let i = 0; i < values.length; i++) {
const classesToDto = askForClassesToDto(classes, values[i]);
const classesToDto = await askForClassesToDto(classes, values[i]);
for (let j = 0; j < classesToDto.length; j++) {
listDto[classesToDto[j]] = values[i];
}
}
return listDto;
}

function askForClassesToSkipClientCode(classes) {
return QuestionAsker.selectMultipleChoices({
async function askForClassesToSkipClientCode(classes) {
return await QuestionAsker.selectMultipleChoices({
classes,
question: 'Please choose the entities that won\'t have any client code:'
});
}

function askForClassesWithFluentMethods(classes) {
return QuestionAsker.selectMultipleChoices({
async function askForClassesWithFluentMethods(classes) {
return await QuestionAsker.selectMultipleChoices({
classes,
question: 'Please choose the entities that will have fluent methods:'
});
}

function askForClassesWithJPAMetamodelFiltering(classes) {
return QuestionAsker.selectMultipleChoices({
async function askForClassesWithJPAMetamodelFiltering(classes) {
return await QuestionAsker.selectMultipleChoices({
classes,
question: 'Please choose the entities that will be filtered (JPA metamodel filtering):'
});
}

function askForClassesToSkipServerCode(classes) {
return QuestionAsker.selectMultipleChoices({
async function askForClassesToSkipServerCode(classes) {
return await QuestionAsker.selectMultipleChoices({
classes,
question: 'Please choose the entities that won\'t have any server code:'
});
}

function askForAngularSuffixes(classes, values) {
async function askForAngularSuffixes(classes, values) {
if (!(values instanceof Array)) {
values = [values];
}
const angularSuffixes = {};
for (let i = 0; i < values.length; i++) {
const classesToSuffix = askForAngularSuffixesClasses(classes, values[i]);
const classesToSuffix = await askForAngularSuffixesClasses(classes, values[i]);
for (let j = 0; j < classesToSuffix.length; j++) {
angularSuffixes[classesToSuffix[j]] = values[i];
}
}
return angularSuffixes;
}

function askForAngularSuffixesClasses(classes, value) {
return QuestionAsker.selectMultipleChoices({
async function askForAngularSuffixesClasses(classes, value) {
return await QuestionAsker.selectMultipleChoices({
classes,
question: `Please choose the entities you want to add an angular suffix with ${value}:`
});
}

function askForMicroserviceNames(classes, values) {
async function askForMicroserviceNames(classes, values) {
if (!(values instanceof Array)) {
values = [values];
}
const microserviceNames = {};
for (let i = 0; i < values.length; i++) {
const classesToTreat = askForMicroserviceNamesClasses(classes, values[i]);
const classesToTreat = await askForMicroserviceNamesClasses(classes, values[i]);
for (let j = 0; j < classesToTreat.length; j++) {
microserviceNames[classesToTreat[j]] = values[i];
}
}
return microserviceNames;
}

function askForMicroserviceNamesClasses(classes, value) {
return QuestionAsker.selectMultipleChoices({
async function askForMicroserviceNamesClasses(classes, value) {
return await QuestionAsker.selectMultipleChoices({
classes,
question: `Please choose the entities included in microservice ${value}:`
});
}

function askForClassesToBeSearched(classes, value) {
return QuestionAsker.selectMultipleChoices({
async function askForClassesToBeSearched(classes, value) {
return await QuestionAsker.selectMultipleChoices({
classes,
question: `Please choose the entities that can be searched with ${value}:`
});
}

function askForSearchEngines(classes, values) {
async function askForSearchEngines(classes, values) {
if (!(values instanceof Array)) {
values = [values];
}
const listSearchEngine = {};
for (let i = 0; i < values.length; i++) {
const classesToSearch = askForClassesToBeSearched(classes, values[i]);
const classesToSearch = await askForClassesToBeSearched(classes, values[i]);
for (let j = 0; j < classesToSearch.length; j++) {
listSearchEngine[classesToSearch[j]] = values[i];
}
Expand Down
12 changes: 4 additions & 8 deletions lib/helpers/question_asker.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,22 +54,18 @@ const DEFAULTS = {
* @param args {object} keys: question, defaultValue
* @return {boolean} the user's answer.
*/
function askConfirmation(args) {
async function askConfirmation(args) {
let userAnswer = 'no-answer';
const merged = merge(DEFAULTS.CONFIRMATIONS, args);
inquirer.prompt([
const answers = await inquirer.prompt([
{
type: DEFAULTS.QUESTION_TYPES.CONFIRM,
name: 'choice',
message: merged.question,
default: merged.defaultValue
}
]).then((answer) => {
userAnswer = answer.choice;
});
while (userAnswer === 'no-answer') {
wait(100);
}
]);
userAnswer = answers.choice;
return userAnswer;
}

Expand Down
24 changes: 12 additions & 12 deletions lib/jhipsteruml.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,20 +71,20 @@ async function main() {
const noUserManagement = !!argv['skip-user-management'];
const parserData = await ParserFactory.createParser(initParserFactoryArgs());
const parser = parserData.parser;
const parsedData = parser.parse(parserData.data);
const parsedData = await parser.parse(parserData.data);

const options = {
force: argv.f,
listDTO: (argv.dto) ? JHipsterOptionHelper.askForDTO(parsedData.classes, argv.dto) : {},
listPagination: (argv.paginate) ? JHipsterOptionHelper.askForPagination(parsedData.classes, argv.paginate) : {},
listService: (argv.service) ? JHipsterOptionHelper.askForService(parsedData.classes, argv.service) : {},
listOfNoClient: (argv['skip-client']) ? JHipsterOptionHelper.askForClassesToSkipClientCode(parsedData.classes) : [],
listOfNoServer: (argv['skip-server']) ? JHipsterOptionHelper.askForClassesToSkipServerCode(parsedData.classes) : [],
angularSuffixes: (argv['angular-suffix']) ? JHipsterOptionHelper.askForAngularSuffixes(parsedData.classes, argv['angular-suffix']) : {},
microserviceNames: (argv['microservice-name']) ? JHipsterOptionHelper.askForMicroserviceNames(parsedData.classes, argv['microservice-name']) : {},
searchEngines: (argv['search-engine']) ? JHipsterOptionHelper.askForSearchEngines(parsedData.classes, argv['search-engine']) : {},
fluentMethods: (argv['fluent-methods']) ? JHipsterOptionHelper.askForClassesWithFluentMethods(parsedData.classes) : [],
jpaMetamodelFiltering: (argv['jpa-metamodel-filtering']) ? JHipsterOptionHelper.askForClassesWithJPAMetamodelFiltering(parsedData.classes) : []
listDTO: (argv.dto) ? await JHipsterOptionHelper.askForDTO(parsedData.classes, argv.dto) : {},
listPagination: (argv.paginate) ? await JHipsterOptionHelper.askForPagination(parsedData.classes, argv.paginate) : {},
listService: (argv.service) ? await JHipsterOptionHelper.askForService(parsedData.classes, argv.service) : {},
listOfNoClient: (argv['skip-client']) ? await JHipsterOptionHelper.askForClassesToSkipClientCode(parsedData.classes) : [],
listOfNoServer: (argv['skip-server']) ? await JHipsterOptionHelper.askForClassesToSkipServerCode(parsedData.classes) : [],
angularSuffixes: (argv['angular-suffix']) ? await JHipsterOptionHelper.askForAngularSuffixes(parsedData.classes, argv['angular-suffix']) : {},
microserviceNames: (argv['microservice-name']) ? await JHipsterOptionHelper.askForMicroserviceNames(parsedData.classes, argv['microservice-name']) : {},
searchEngines: (argv['search-engine']) ? await JHipsterOptionHelper.askForSearchEngines(parsedData.classes, argv['search-engine']) : {},
fluentMethods: (argv['fluent-methods']) ? await JHipsterOptionHelper.askForClassesWithFluentMethods(parsedData.classes) : [],
jpaMetamodelFiltering: (argv['jpa-metamodel-filtering']) ? await JHipsterOptionHelper.askForClassesWithJPAMetamodelFiltering(parsedData.classes) : []
};


Expand All @@ -103,7 +103,7 @@ async function main() {

if (JHipsterUMLFileHandler.isJHipsterUMLFilePresent()) {
if (entityNamesToGenerate.length !== 0) {
entityNamesToGenerate = getEntitiesToGenerate(entityNamesToGenerate);
entityNamesToGenerate = await getEntitiesToGenerate(entityNamesToGenerate);
}
} else {
options.force = true;
Expand Down
6 changes: 3 additions & 3 deletions lib/jhipsteruml/entities_to_generate_handler.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,17 @@ module.exports = {
getEntitiesToGenerate
};

function getEntitiesToGenerate(entityNames) {
async function getEntitiesToGenerate(entityNames) {
if (!entityNames || entityNames.length === 0) {
return [];
}
logger.info(`The following ${entityNames.length === 1 ? 'class has' : 'classes have'} changed: ${entityNames.join(', ')}.`);
if (entityNames.length === 1) {
return QuestionAsker.askConfirmation({ question: `Generate ${entityNames[0]}?`, defaultValue: true })
return await QuestionAsker.askConfirmation({ question: `Generate ${entityNames[0]}?`, defaultValue: true })
? entityNames
: [];
}
return QuestionAsker.selectMultipleChoices({
return await QuestionAsker.selectMultipleChoices({
choices: entityNames,
question: 'Select the entities to override.'
});
Expand Down
Loading

0 comments on commit 4161c6d

Please sign in to comment.