1 | ;
|
2 | /*
|
3 | * Copyright © 2018 Atomist, Inc.
|
4 | *
|
5 | * See LICENSE file.
|
6 | */
|
7 | Object.defineProperty(exports, "__esModule", { value: true });
|
8 | /**
|
9 | * Default success result.
|
10 | */
|
11 | exports.Success = {
|
12 | code: 0,
|
13 | };
|
14 | /**
|
15 | * Default success result wrapped in a promise.
|
16 | */
|
17 | exports.SuccessPromise = Promise.resolve(exports.Success);
|
18 | /**
|
19 | * Default failure result.
|
20 | */
|
21 | exports.Failure = {
|
22 | code: 1,
|
23 | };
|
24 | /**
|
25 | * Default failure result wrapped in a promise.
|
26 | */
|
27 | exports.FailurePromise = Promise.resolve(exports.Failure);
|
28 | /**
|
29 | * Function that returns a handler failure result.
|
30 | */
|
31 | function failure(err) {
|
32 | return { code: 1, message: err.message, stack: err.stack, error: err };
|
33 | }
|
34 | exports.failure = failure;
|
35 | /**
|
36 | * Function that returns a handler success result.
|
37 | */
|
38 | function success() {
|
39 | return exports.Success;
|
40 | }
|
41 | exports.success = success;
|
42 | /**
|
43 | * Combine an array of HandlerResults into a single HandlerResult.
|
44 | * Each HandlerResult.code is summed into the final, single value and
|
45 | * messages are concatenated, separated by a semicolon (;). Useful to
|
46 | * combine the return value from calling Promise.all on the array of
|
47 | * events sent to an event handler.
|
48 | *
|
49 | * @param results array of HandlerResults
|
50 | * @return single, combined result
|
51 | */
|
52 | function reduceResults(results) {
|
53 | return results.reduce((acc, cur) => {
|
54 | return {
|
55 | code: acc.code + cur.code,
|
56 | message: (cur.message) ? ((acc.message) ? `${acc.message}; ${cur.message}` : cur.message) : acc.message,
|
57 | };
|
58 | }, exports.Success);
|
59 | }
|
60 | exports.reduceResults = reduceResults;
|
61 | //# sourceMappingURL=HandlerResult.js.map |
\ | No newline at end of file |