UNPKG

serverless-spy

Version:

CDK-based library for writing elegant integration tests on AWS serverless architecture and an additional web console to monitor events in real time.

27 lines (23 loc) 816 B
'use strict'; var _ = require('lodash'); var rx = require('rx'); var 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.Obsersable} - Observable emitting once value is known */ exports.fetchAsyncQuestionProperty = function (question, prop, answers) { if (!_.isFunction(question[prop])) { return rx.Observable.return(question); } return rx.Observable.fromPromise(runAsync(question[prop])(answers) .then(function (value) { question[prop] = value; return question; }) ); };