From e4004e6f95cc36b47f21e2b69cc6847d8e0c1776 Mon Sep 17 00:00:00 2001 From: giginet Date: Mon, 3 Dec 2018 15:49:16 +0900 Subject: [PATCH] Add sample script --- Example/.gitignore | 4 ++++ Example/Package.resolved | 8 ++++++++ Example/Package.swift | 16 ++++++++++++++++ Example/README.md | 3 +++ Example/Sources/Example/main.swift | 26 ++++++++++++++++++++++++++ 5 files changed, 57 insertions(+) create mode 100644 Example/.gitignore create mode 100644 Example/Package.resolved create mode 100644 Example/Package.swift create mode 100644 Example/README.md create mode 100644 Example/Sources/Example/main.swift diff --git a/Example/.gitignore b/Example/.gitignore new file mode 100644 index 0000000..02c0875 --- /dev/null +++ b/Example/.gitignore @@ -0,0 +1,4 @@ +.DS_Store +/.build +/Packages +/*.xcodeproj diff --git a/Example/Package.resolved b/Example/Package.resolved new file mode 100644 index 0000000..5cefbe8 --- /dev/null +++ b/Example/Package.resolved @@ -0,0 +1,8 @@ +{ + "object": { + "pins": [ + + ] + }, + "version": 1 +} diff --git a/Example/Package.swift b/Example/Package.swift new file mode 100644 index 0000000..9ded78e --- /dev/null +++ b/Example/Package.swift @@ -0,0 +1,16 @@ +// swift-tools-version:4.2 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "Example", + dependencies: [ + .package(path: "../"), + ], + targets: [ + .target( + name: "Example", + dependencies: ["AWSLambdaRuntime"]), + ] +) diff --git a/Example/README.md b/Example/README.md new file mode 100644 index 0000000..47e66f7 --- /dev/null +++ b/Example/README.md @@ -0,0 +1,3 @@ +# Example + +A description of this package. diff --git a/Example/Sources/Example/main.swift b/Example/Sources/Example/main.swift new file mode 100644 index 0000000..2c39999 --- /dev/null +++ b/Example/Sources/Example/main.swift @@ -0,0 +1,26 @@ +import Foundation +import AWSLambdaRuntime + +struct User: Decodable { + let firstName: String +} + +enum GreetingError: String, LambdaError { + var message: String { + switch self { + case .invalidPayload: + return "Payload is invalid" + } + } + + case invalidPayload +} + +run { context -> Result in + guard let data = context.payload, + let user = try? JSONDecoder().decode(User.self, from: data) else { + return .failure(error: .invalidPayload) + } + let payload = try! JSONSerialization.data(withJSONObject: ["message": "Hello \(user.firstName)"]) + return .success(payload: payload, contentType: "application/json") +}