0.0.26 • Published 10 months ago

@awsless/lambda v0.0.26

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

npm version npm version license

TODO

  • Rename ViewableError to ExpectedError

Basic usage

import { lambda } from "@awsless/lambda";

// simple echo function
export default lambda({
  handle(event) {
    return event
  }
})
import { lambda } from "@awsless/lambda";
import { object, string } from "@awsless/validate";
import { bugsnag } from "@awsless/bugsnag";

export default lambda({

  // Validate the input
  schema: object({
    message: string()
  }),

  // Log errors to bugsnag
  logger: bugsnag(),

  handle({ message }) {
    return message
  }
})

Invoking a lambda

import { lambda, invoke } from "@awsless/lambda";
import { string } from "@awsless/validate";

export const echo = lambda({
  schema: string(),
  handle(value) {
    return value
  }
})

export default lambda({
  handle() {
    // Providing the type definition of the lambda you want to invoke will give you type hinting for the payload and return value.
    return invoke<typeof echo>({
      name: 'echo',
      payload: 'Hi'
    })
  }
})

Mock invoking lambda's

import { mockLambda } from "@awsless/lambda";

const lambdas = mockLambda({
  echo: a => a,
})

it('your test', async () => {
  const result = await invoke({
    name: 'echo',
    payload: 'Hi'
  })
  expect(result).toBe('Hi')
  expect(lambdas.echo).toBeCalled()
})
0.0.20

12 months ago

0.0.21

12 months ago

0.0.22

12 months ago

0.0.23

12 months ago

0.0.24

12 months ago

0.0.25

12 months ago

0.0.26

10 months ago

0.0.19

1 year ago

0.0.16

1 year ago

0.0.17

1 year ago

0.0.18

1 year ago

0.0.15

1 year ago

0.0.14

2 years ago

0.0.10

2 years ago

0.0.11

2 years ago

0.0.12

2 years ago

0.0.13

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.5

2 years ago

0.0.6

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago