UNPKG

1.05 kBJavaScriptView Raw
1var test = require('tape')
2var lodash = require('lodash')
3var isArray = lodash.isArray
4var lambda = require('../')
5
6/**
7 * lambda function that always fails with an ugly error
8 */
9function raiseError(event, callback) {
10 callback(Error('ugly error'))
11}
12
13/**
14 * custom formatter example
15 *
16 * this formatter removes the stack trace from errors and otherwise just passes data thru
17 *
18 */
19function cleanupErrors(err, results, context) {
20 var res = results || {}
21 if (err) {
22 // handle single error or array of errors for good form
23 err = (isArray(err)? err : [err])
24 // remove stack trace
25 res.errors = err.map(e=>e.message)
26 }
27 context.succeed(res)
28}
29
30// create the lambda and then use lambda.local to test it
31var fn = lambda([raiseError], cleanupErrors)
32
33test('removes stack trace', t=> {
34 t.plan(1)
35 lambda.local(fn, {}, (err, results)=> {
36 if (err) {
37 t.ok(err, 'got the error and stack traces have been removed')
38 }
39 else {
40 t.fail(results, 'should have an error')
41 }
42 console.log(err, results)
43 })
44})