UNPKG

@godspeedsystems/core

Version:

> 4th Generation Declarative Microservice Framework

83 lines (82 loc) 2.67 kB
/* * You are allowed to study this software for learning and local * development purposes only. Any other use without explicit permission by Mindgrep, is prohibited. * © 2022 Mindgrep Technologies Pvt Ltd */ /** * Import all packages available in scripts of workflow */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { /** * Can be called for gsFunction.args, gsFunction.on_error.transform and switch.condition * Input an be scalar or object */ default: function() { return evaluateScript; }, importAll: function() { return importAll; } }); const _interfaces = require("./interfaces"); const _logger = require("../logger"); function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _async_to_generator(fn) { return function() { var self = this, args = arguments; return new Promise(function(resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function importAll(sourceScope, targetScope) { for(let name in sourceScope){ targetScope[name] = sourceScope[name]; } } function evaluateScript(ctx, script, taskValue) { return _evaluateScript.apply(this, arguments); } function _evaluateScript() { _evaluateScript = _async_to_generator(function*(ctx, script, taskValue) { // childLogger.debug('before evaluateScript %s', script); if (!script) { return; } try { return script(ctx.config, ctx.inputs.data, ctx.outputs, ctx.mappings, taskValue); } catch (err) { _logger.logger.error('Error in evaluating script: %s', err); _logger.logger.debug('%s', err.stack); ctx.exitWithStatus = new _interfaces.GSStatus(false, undefined, err.message, err.stack); //return 'Error in parsing script'; } }); return _evaluateScript.apply(this, arguments); }