@raydeck/serverless-lambda-builder

Build lambda definitiosn for serverless

Usage no npm install needed!

<script type="module">
  import raydeckServerlessLambdaBuilder from 'https://cdn.skypack.dev/@raydeck/serverless-lambda-builder';
</script>

README

Usage

npx @raydeck/serverless-lambda-builder [options] [command]

Options

  • -w --workingpath <path> Working directory for project (default: .

Commands

serverless

Update serverless.yml with functions

Usage

npx @raydeck/serverless-lambda-builder serverless [options]

Options

  • -y --yamlfile Path to serverless.yml file
  • -h --handler-file File containing getLambdas export
  • -l --lambdas-export Name of the lambdas export (result of getLambdas)

@raydeck/serverless-lambda-builder - v2.5.0

@raydeck/serverless-lambda-builder - v2.5.0

Index

Interfaces

Type aliases

Variables

Functions

Type aliases

CognitoTriggerType

Ƭ CognitoTriggerType: "CreateAuthChallenge" | "CustomMessage" | "DefineAuthChallenge" | "PostAuthentication" | "PostConfirmation" | "PreAuthentication" | "PreSignUp" | "TokenGeneration" | "UserMigration" | "VerifyAuthChallengeResponse"

Defined in src/index.ts:106

Variables

Let _defaults

_defaults: LambdaArgs

Defined in src/index.ts:34


Let _wrapper

_wrapper: function

Defined in src/index.ts:30

Type declaration:

▸ (...args: any[]): any

Parameters:

Name Type
...args any[]

Functions

buildServerlessFunctionsObj

buildServerlessFunctionsObj(exportsObj: object): object

Defined in src/index.ts:150

Parameters:

Name Type
exportsObj object

Returns: object

  • [ key: string]: any

getLambdaExports

getLambdaExports(exports: object): [string, LambdaOutput][]

Defined in src/index.ts:132

Parameters:

Name Type
exports object

Returns: [string, LambdaOutput][]


httpSuccess

httpSuccess(body: any): object

Defined in src/index.ts:314

Parameters:

Name Type
body any

Returns: object

  • body: string

  • statusCode: number

  • headers: object

    • Access-Control-Allow-Credentials: boolean = true

    • Access-Control-Allow-Headers: string = "Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token"

    • Access-Control-Allow-Methods: string = "OPTIONS,POST, GET"

    • Access-Control-Allow-Origin: string = "*"

    • Content-Type: string = "application/json"

    • X-Requested-With: string = "*"


makeAPIGatewayLambda

makeAPIGatewayLambda(args: object & LambdaOptions): function & function & object

Defined in src/index.ts:54

Parameters:

Name Type
args object & LambdaOptions

Returns: function & function & object


makeCognitoLambda

makeCognitoLambdaTEvent, TResult›(args: object): function & object

Defined in src/index.ts:117

Type parameters:

TEvent

TResult

Parameters:

args: object

Name Type
func Handler‹TEvent, TResult›
pool string
triggerOrTriggers CognitoTriggerType | CognitoTriggerType[]

Returns: function & object


makeDDBLambda

makeDDBLambda(args: object & LambdaOptions): function & function & object

Defined in src/index.ts:75

Parameters:

Name Type
args object & LambdaOptions

Returns: function & function & object


makeEventBridgeLambda

makeEventBridgeLambdaTDetail›(args: object): function & object

Defined in src/index.ts:97

Type parameters:

TDetail

Parameters:

args: object

Name Type
detail object
detailType string
func EventBridgeHandler‹string, TDetail, void›
source string

Returns: function & object


makeLambda

makeLambda(args: LambdaOptions): function & object

Defined in src/index.ts:38

Parameters:

Name Type
args LambdaOptions

Returns: function & object


makeS3Lambda

makeS3Lambda(args: object & LambdaOptions): function & function & object

Defined in src/index.ts:42

Parameters:

Name Type
args object & LambdaOptions

Returns: function & function & object


makeSQSLambda

makeSQSLambda(args: object & LambdaOptions): function & function & object

Defined in src/index.ts:88

Parameters:

Name Type
args object & LambdaOptions

Returns: function & function & object


sendHttpResult

sendHttpResult(statusCode: number, body: string, headers?: undefined | object): object

Defined in src/index.ts:293

Parameters:

Name Type
statusCode number
body string
headers? undefined | object

Returns: object

  • body: string

  • statusCode: number

  • headers: object

    • Access-Control-Allow-Credentials: boolean = true

    • Access-Control-Allow-Headers: string = "Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token"

    • Access-Control-Allow-Methods: string = "OPTIONS,POST, GET"

    • Access-Control-Allow-Origin: string = "*"

    • Content-Type: string = "application/json"

    • X-Requested-With: string = "*"


setDefaults

setDefaults(defaults: LambdaArgs): void

Defined in src/index.ts:35

Parameters:

Name Type
defaults LambdaArgs

Returns: void


setWrapper

setWrapper(wrapper: typeof _wrapper): void

Defined in src/index.ts:31

Parameters:

Name Type
wrapper typeof _wrapper

Returns: void

@raydeck/serverless-lambda-builder - v2.5.0LambdaArgs

Interface: LambdaArgs

Hierarchy

Index

Properties

Properties

Optional description

description? : undefined | string

Defined in src/index.ts:19


Optional layers

layers? : string[]

Defined in src/index.ts:21


Optional memorySize

memorySize? : undefined | number

Defined in src/index.ts:20


Optional name

name? : undefined | string

Defined in src/index.ts:18


Optional reservedConcurrency

reservedConcurrency? : undefined | number

Defined in src/index.ts:16


Optional role

role? : undefined | string

Defined in src/index.ts:14


Optional runtime

runtime? : "node10.x" | "node12.x"

Defined in src/index.ts:17


Optional timeout

timeout? : undefined | number

Defined in src/index.ts:13


Optional tracing

tracing? : undefined | false | true

Defined in src/index.ts:15


Optional warmup

warmup? : undefined | false | true

Defined in src/index.ts:12

@raydeck/serverless-lambda-builder - v2.5.0LambdaOptions

Interface: LambdaOptions

Hierarchy

Index

Properties

Properties

Optional description

description? : undefined | string

Inherited from LambdaArgs.description

Defined in src/index.ts:19


func

func: Handler‹any, any›

Defined in src/index.ts:24


Optional layers

layers? : string[]

Inherited from LambdaArgs.layers

Defined in src/index.ts:21


Optional memorySize

memorySize? : undefined | number

Inherited from LambdaArgs.memorySize

Defined in src/index.ts:20


Optional name

name? : undefined | string

Inherited from LambdaArgs.name

Defined in src/index.ts:18


Optional reservedConcurrency

reservedConcurrency? : undefined | number

Inherited from LambdaArgs.reservedConcurrency

Defined in src/index.ts:16


Optional role

role? : undefined | string

Inherited from LambdaArgs.role

Defined in src/index.ts:14


Optional runtime

runtime? : "node10.x" | "node12.x"

Inherited from LambdaArgs.runtime

Defined in src/index.ts:17


Optional timeout

timeout? : undefined | number

Inherited from LambdaArgs.timeout

Defined in src/index.ts:13


Optional tracing

tracing? : undefined | false | true

Inherited from LambdaArgs.tracing

Defined in src/index.ts:15


Optional warmup

warmup? : undefined | false | true

Inherited from LambdaArgs.warmup

Defined in src/index.ts:12

@raydeck/serverless-lambda-builder - v2.5.0LambdaOutput

Interface: LambdaOutput

Hierarchy

LambdaOptions

LambdaOutput

Callable

▸ (): Handler‹any, any›

Defined in src/index.ts:26

Returns: Handler‹any, any›

Index

Properties

Properties

Optional description

description? : undefined | string

Inherited from LambdaArgs.description

Defined in src/index.ts:19


func

func: Handler‹any, any›

Inherited from LambdaOptions.func

Defined in src/index.ts:24


lambdaType

lambdaType: string

Defined in src/index.ts:28


Optional layers

layers? : string[]

Inherited from LambdaArgs.layers

Defined in src/index.ts:21


Optional memorySize

memorySize? : undefined | number

Inherited from LambdaArgs.memorySize

Defined in src/index.ts:20


Optional name

name? : undefined | string

Inherited from LambdaArgs.name

Defined in src/index.ts:18


Optional reservedConcurrency

reservedConcurrency? : undefined | number

Inherited from LambdaArgs.reservedConcurrency

Defined in src/index.ts:16


Optional role

role? : undefined | string

Inherited from LambdaArgs.role

Defined in src/index.ts:14


Optional runtime

runtime? : "node10.x" | "node12.x"

Inherited from LambdaArgs.runtime

Defined in src/index.ts:17


Optional timeout

timeout? : undefined | number

Inherited from LambdaArgs.timeout

Defined in src/index.ts:13


Optional tracing

tracing? : undefined | false | true

Inherited from LambdaArgs.tracing

Defined in src/index.ts:15


Optional warmup

warmup? : undefined | false | true

Inherited from LambdaArgs.warmup

Defined in src/index.ts:12