UNPKG

@atomist/automation-client

Version:
61 lines 1.61 kB
"use strict"; /* * Copyright © 2018 Atomist, Inc. * * See LICENSE file. */ Object.defineProperty(exports, "__esModule", { value: true }); /** * Default success result. */ exports.Success = { code: 0, }; /** * Default success result wrapped in a promise. */ exports.SuccessPromise = Promise.resolve(exports.Success); /** * Default failure result. */ exports.Failure = { code: 1, }; /** * Default failure result wrapped in a promise. */ exports.FailurePromise = Promise.resolve(exports.Failure); /** * Function that returns a handler failure result. */ function failure(err) { return { code: 1, message: err.message, stack: err.stack, error: err }; } exports.failure = failure; /** * Function that returns a handler success result. */ function success() { return exports.Success; } exports.success = success; /** * Combine an array of HandlerResults into a single HandlerResult. * Each HandlerResult.code is summed into the final, single value and * messages are concatenated, separated by a semicolon (;). Useful to * combine the return value from calling Promise.all on the array of * events sent to an event handler. * * @param results array of HandlerResults * @return single, combined result */ function reduceResults(results) { return results.reduce((acc, cur) => { return { code: acc.code + cur.code, message: (cur.message) ? ((acc.message) ? `${acc.message}; ${cur.message}` : cur.message) : acc.message, }; }, exports.Success); } exports.reduceResults = reduceResults; //# sourceMappingURL=HandlerResult.js.map