0.0.18 • Published 2 months ago

@awsless/lambda v0.0.18

Weekly downloads
-
License
MIT
Repository
github
Last release
2 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.16

2 months ago

0.0.17

2 months ago

0.0.18

2 months ago

0.0.15

4 months ago

0.0.14

5 months ago

0.0.10

6 months ago

0.0.11

6 months ago

0.0.12

6 months ago

0.0.13

6 months ago

0.0.9

6 months ago

0.0.8

6 months ago

0.0.7

6 months ago

0.0.5

10 months ago

0.0.6

7 months ago

0.0.4

11 months ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago