diff options
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/inquirer/lib/utils/utils.js')
-rw-r--r-- | sandbox/testAppNevena/Front/node_modules/inquirer/lib/utils/utils.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/inquirer/lib/utils/utils.js b/sandbox/testAppNevena/Front/node_modules/inquirer/lib/utils/utils.js new file mode 100644 index 00000000..92117510 --- /dev/null +++ b/sandbox/testAppNevena/Front/node_modules/inquirer/lib/utils/utils.js @@ -0,0 +1,28 @@ +'use strict'; +const _ = { + isFunction: require('lodash/isFunction'), +}; +const { from, of } = require('rxjs'); +const runAsync = require('run-async'); + +/** + * Resolve a question property value if it is passed as a function. + * This method will overwrite the property on the question object with the received value. + * @param {Object} question - Question object + * @param {String} prop - Property to fetch name + * @param {Object} answers - Answers object + * @return {Rx.Observable} - Observable emitting once value is known + */ + +exports.fetchAsyncQuestionProperty = function (question, prop, answers) { + if (!_.isFunction(question[prop])) { + return of(question); + } + + return from( + runAsync(question[prop])(answers).then((value) => { + question[prop] = value; + return question; + }) + ); +}; |