Skip to content

Commit e4004e6

Browse files
committed
Add sample script
1 parent db33e06 commit e4004e6

File tree

5 files changed

+57
-0
lines changed

5 files changed

+57
-0
lines changed

Example/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.DS_Store
2+
/.build
3+
/Packages
4+
/*.xcodeproj

Example/Package.resolved

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Package.swift

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// swift-tools-version:4.2
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "Example",
8+
dependencies: [
9+
.package(path: "../"),
10+
],
11+
targets: [
12+
.target(
13+
name: "Example",
14+
dependencies: ["AWSLambdaRuntime"]),
15+
]
16+
)

Example/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Example
2+
3+
A description of this package.

Example/Sources/Example/main.swift

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import Foundation
2+
import AWSLambdaRuntime
3+
4+
struct User: Decodable {
5+
let firstName: String
6+
}
7+
8+
enum GreetingError: String, LambdaError {
9+
var message: String {
10+
switch self {
11+
case .invalidPayload:
12+
return "Payload is invalid"
13+
}
14+
}
15+
16+
case invalidPayload
17+
}
18+
19+
run { context -> Result<GreetingError> in
20+
guard let data = context.payload,
21+
let user = try? JSONDecoder().decode(User.self, from: data) else {
22+
return .failure(error: .invalidPayload)
23+
}
24+
let payload = try! JSONSerialization.data(withJSONObject: ["message": "Hello \(user.firstName)"])
25+
return .success(payload: payload, contentType: "application/json")
26+
}

0 commit comments

Comments
 (0)