From 9435487a3dc8d0767a9d0ae1776f74b825dc088f Mon Sep 17 00:00:00 2001 From: exoego Date: Wed, 12 Aug 2020 14:55:22 +0900 Subject: [PATCH 1/2] Add dynamodb set wrapper This is useful when using DynamoDBConverter#output --- .../scala/facade/amazonaws/services/DynamoDB.scala | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/services/dynamodb/src/main/scala/facade/amazonaws/services/DynamoDB.scala b/services/dynamodb/src/main/scala/facade/amazonaws/services/DynamoDB.scala index bd24b65e2..e01fa822e 100644 --- a/services/dynamodb/src/main/scala/facade/amazonaws/services/DynamoDB.scala +++ b/services/dynamodb/src/main/scala/facade/amazonaws/services/DynamoDB.scala @@ -195,6 +195,16 @@ package object dynamodb { def unmarshall(data: AttributeMap, options: DynamoDBConverterOptions = js.native): js.Object = js.native } + trait DynamoDBSetWrapper[V] extends js.Object { + def `type`: String + def wrapperName: String + def values: js.Array[V] + } + + trait DynamoDBNumberSet extends DynamoDBSetWrapper[Double] + trait DynamoDBStringSet extends DynamoDBSetWrapper[String] + trait DynamoDBBinarySet extends DynamoDBSetWrapper[js.Any] + trait DynamoDBConverterOptions extends js.Object { var convertEmptyValues: js.UndefOr[Boolean] = js.undefined var wrapNumbers: js.UndefOr[Boolean] = js.undefined From 18a62a4725ae31168ad65253c3c348dd220dbbcf Mon Sep 17 00:00:00 2001 From: exoego Date: Wed, 12 Aug 2020 14:59:02 +0900 Subject: [PATCH 2/2] Avoid reserved name --- .../src/main/scala/facade/amazonaws/services/DynamoDB.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/dynamodb/src/main/scala/facade/amazonaws/services/DynamoDB.scala b/services/dynamodb/src/main/scala/facade/amazonaws/services/DynamoDB.scala index e01fa822e..991eb002d 100644 --- a/services/dynamodb/src/main/scala/facade/amazonaws/services/DynamoDB.scala +++ b/services/dynamodb/src/main/scala/facade/amazonaws/services/DynamoDB.scala @@ -196,7 +196,8 @@ package object dynamodb { } trait DynamoDBSetWrapper[V] extends js.Object { - def `type`: String + @js.annotation.JSName("type") + def typeName: String def wrapperName: String def values: js.Array[V] }