aws-lambda-scalajs-facade-nodejs-v8


License

License

Categories

Categories

JavaScript Languages Scala AWS Container PaaS Providers Net AWS Lambda
GroupId

GroupId

net.exoego
ArtifactId

ArtifactId

aws-lambda-scalajs-facade-nodejs-v8_sjs0.6_2.13
Last Version

Last Version

0.3.3
Release Date

Release Date

Type

Type

jar
Description

Description

aws-lambda-scalajs-facade-nodejs-v8
aws-lambda-scalajs-facade-nodejs-v8
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-nodejs-v8_sjs0.6_2.13

How to add to project

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

Dependencies

compile (3)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.13.1
org.scala-js : scalajs-library_2.13 jar 0.6.29
net.exoego : aws-sdk-scalajs-facade-dynamodb-nodejs-v8_sjs0.6_2.13 jar 0.26.1-v2.524.0

test (1)

Group / Artifact Type Version
org.scala-js : scalajs-test-bridge_2.13 jar 0.6.29

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.3.3