flowie
Version:
Library for creating, and working with flows
30 lines • 2.11 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const debug_1 = __importDefault(require("debug"));
const functionConstructors_1 = __importDefault(require("../functionConstructors"));
const generateFlowFunction_1 = __importDefault(require("./dot/generateFlowFunction"));
const generateFlow_1 = __importDefault(require("./dot/generateFlow"));
const formatCode_1 = __importDefault(require("./formatCode"));
const convertFlowDeclarationToRunnableDeclaration_1 = __importDefault(require("./convertFlowDeclarationToRunnableDeclaration"));
function generateFunctionFromFlowDeclaration(preparedFlowieExecution, flowieContainer) {
const runnableDeclaration = convertFlowDeclarationToRunnableDeclaration_1.default(preparedFlowieExecution, flowieContainer.isAsyncFunction, flowieContainer.isGeneratorFunction);
const generationOptions = {
...runnableDeclaration,
generateFlow(it, options) {
return generateFlow_1.default({ ...it, ...options });
}
};
const shouldDebugFlow = debug_1.default.enabled('debugFlowie');
const sourceCode = generateFlowFunction_1.default({ ...generationOptions, includeContext: false, shouldDebugFlow });
const sourceCodeWithContext = generateFlowFunction_1.default({ ...generationOptions, includeContext: true, shouldDebugFlow });
const finalSourceCode = formatCode_1.default(sourceCode, shouldDebugFlow);
const finalSourceCodeWithContext = formatCode_1.default(sourceCodeWithContext, shouldDebugFlow);
const generatedFlowFunction = new functionConstructors_1.default('separateReportListFromResult', finalSourceCode);
const generatedFlowFunctionWithContext = new functionConstructors_1.default('separateReportListFromResult', finalSourceCodeWithContext);
return { generatedFlowFunction, generatedFlowFunctionWithContext };
}
exports.default = generateFunctionFromFlowDeclaration;
//# sourceMappingURL=generateFunctionFromFlowDeclaration.js.map