aws-lambda-scalajs-facade


License

License

Categories

Categories

JavaScript Languages Scala AWS Container PaaS Providers Net AWS Lambda
GroupId

GroupId

net.exoego
ArtifactId

ArtifactId

aws-lambda-scalajs-facade_sjs1_2.12
Last Version

Last Version

0.11.0
Release Date

Release Date

Type

Type

jar
Description

Description

aws-lambda-scalajs-facade
aws-lambda-scalajs-facade
Project URL

Project URL

https://github.com/exoego/aws-lambda-scalajs-facade
Project Organization

Project Organization

net.exoego
Source Code Management

Source Code Management

https://github.com/exoego/aws-lambda-scalajs-facade

Download aws-lambda-scalajs-facade_sjs1_2.12

How to add to project

<!-- https://jarcasting.com/artifacts/net.exoego/aws-lambda-scalajs-facade_sjs1_2.12/ -->
<dependency>
    <groupId>net.exoego</groupId>
    <artifactId>aws-lambda-scalajs-facade_sjs1_2.12</artifactId>
    <version>0.11.0</version>
</dependency>
// https://jarcasting.com/artifacts/net.exoego/aws-lambda-scalajs-facade_sjs1_2.12/
implementation 'net.exoego:aws-lambda-scalajs-facade_sjs1_2.12:0.11.0'
// https://jarcasting.com/artifacts/net.exoego/aws-lambda-scalajs-facade_sjs1_2.12/
implementation ("net.exoego:aws-lambda-scalajs-facade_sjs1_2.12:0.11.0")
'net.exoego:aws-lambda-scalajs-facade_sjs1_2.12:jar:0.11.0'
<dependency org="net.exoego" name="aws-lambda-scalajs-facade_sjs1_2.12" rev="0.11.0">
  <artifact name="aws-lambda-scalajs-facade_sjs1_2.12" type="jar" />
</dependency>
@Grapes(
@Grab(group='net.exoego', module='aws-lambda-scalajs-facade_sjs1_2.12', version='0.11.0')
)
libraryDependencies += "net.exoego" % "aws-lambda-scalajs-facade_sjs1_2.12" % "0.11.0"
[net.exoego/aws-lambda-scalajs-facade_sjs1_2.12 "0.11.0"]

Dependencies

compile (3)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.12.12
org.scala-js : scalajs-library_2.12 jar 1.2.0
net.exoego : aws-sdk-scalajs-facade-dynamodb_sjs1_2.12 jar [0.31.0-v2.731.0,1.0)

provided (1)

Group / Artifact Type Version
net.exoego : scalajs-types-util_sjs1_2.12 jar 0.3.0

test (1)

Group / Artifact Type Version
org.scala-js : scalajs-test-bridge_2.12 jar 1.2.0

Project Modules

There are no modules declared in this project.

aws-lambda-scalajs-facade

A set of type definition and utility to implement AWS Lambda functions.

This is NOT a type definition for AWS Lambda API in aws-sdk-js. It can be found in aws-sdk-scalajs-facade.

exoego/scala-js-nodejs offers type definition and utilities for Node.js API.

Support matrix

ScalaJS 0.6.28+ ScalaJS 1.x
Scala 2.13 ✔️ (0.9.0 was final) ✔️
Scala 2.12 ✔️ (0.9.0 was final) ✔️
Scala 2.11 N/A N/A
Scala 2.10 N/A N/A
  • ✔️ Supported
  • 🚧 Not supported but planned

How to use

Add dependency in build.sbt.

libraryDependencies += "net.exoego" %%% "aws-lambda-scalajs-facade" % "0.11.0"

Import and code.

import scala.scalajs.js
import net.exoego.facade.aws_lambda._

object MyFirstLambda extends APIGatewayProxyHandler {
  @js.annotation.JSName("apply")
  override def apply(event: APIGatewayProxyEvent, context: Context, callback: Callback[APIGatewayProxyResult]): Unit = ???
}

object MyFirstAsyncLambda extends AsyncAPIGatewayProxyHandler {
  @js.annotation.JSName("apply")
  override def apply(event: APIGatewayProxyEvent, context: Context): js.Promise[APIGatewayProxyResult]  = ???
}

Below is the available list of the pre-defined handler traits:

  • ALB
    • ALBHandler
  • API Gateway
    • APIGatewayProxyHandler
    • APIGatewayProxyHandlerV2
    • APIGatewayRequestAuthorizerHandler
    • APIGatewayRequestAuthorizerWithContextHandler
    • APIGatewayTokenAuthorizerHandler
    • APIGatewayTokenAuthorizerWithContextHandler
    • CustomAuthorizerHandler
    • ProxyHandler (alias of APIGatewayProxyHandler)
  • AppSync
    • AppSyncResolverHandler
  • CloudFormation
    • CloudFormationCustomResourceHandler
  • CloudFront
    • CloudFrontRequestHandler
    • CloudFrontResponseHandler
  • CloudWatch
    • CloudWatchLogsHandler
    • ScheduledHandler
  • CodeBuild
    • CodeBuildCloudWatchStateHandler
  • CodePipeline
    • CodePipelineCloudWatchActionHandler
    • CodePipelineCloudWatchHandler
    • CodePipelineCloudWatchPipelineHandler
    • CodePipelineCloudWatchStageHandler
    • CodePipelineHandler
  • Cognito
    • CognitoUserPoolTriggerHandler
    • CreateAuthChallengeTriggerHandler
    • CustomMessageTriggerHandler
    • DefineAuthChallengeTriggerHandler
    • PostAuthenticationTriggerHandler
    • PostConfirmationTriggerHandler
    • PreAuthenticationTriggerHandler
    • PreSignUpTriggerHandler
    • PreTokenGenerationTriggerHandler
    • UserMigrationTriggerHandler
    • VerifyAuthChallengeResponseTriggerHandler
  • DynamoDB
    • DynamoDBStreamHandler
  • EventBridge
    • EventBridgeHandler
  • Firehose
    • FirehoseTransformationHandler
  • Kinesis
    • KinesisStreamHandler
  • Lex
    • LexHandler
  • S3
    • S3BatchHandler
    • S3Handler
  • SES
    • SESHandler
  • SNS
    • SNSHandler
  • SQS
    • SQSHandler

Each has Async~ variant that returns js.Promise instead of accepting callback.

Note

This facade leverages @Factory macro to create highly-optimized factory method without boilerplate.

License

Versions

Version
0.11.0
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0