localstack/appsync-utils

Feature requests for JS utility functions

simonrw opened this issue · 1 comments

Motivation

We do not currently support the whole of the AppSync @aws-appsync/utils package available on AWS. We would like some input on what functions are the most used by our community.

Instructions

Please add a comment to this PR indicating which functions you use when using AppSync, specifically in JavaScript resolvers from the @aws-appsync/utils package. If a comment already exists with your suggestion then please leave a 👍 on the comment, and we will use this to prioritise the functions that are most requested.

Currently implemented functions

Assuming the following import:

import { util } from '@aws-appsync/utils'
  • util.autoId
  • util.appendError (partial, the function exists but errors are not yet captured)
  • util.time.nowFormatted
  • util.transform.toDynamoDBFilterExpression
  • util.transform.toDynamoDBConditionExpression
  • util.dynamodb.toDynamoDB
  • util.dynamodb.toString
  • util.dynamodb.toStringSet
  • util.dynamodb.toNumber
  • util.dynamodb.toNumberSet
  • util.dynamodb.toBinary
  • util.dynamodb.toBinarySet
  • util.dynamodb.toBoolean
  • util.dynamodb.toNull
  • util.dynamodb.toList
  • util.dynamodb.toMap
  • util.dynamodb.toMapValues
  • util.dynamodb.toS3Object
  • util.dynamodb.fromS3ObjectJson

Assuming the following import:

import * as rds from '@aws-appsync/utils/rds'
  • rds.createMySQLStatement
  • rds.createPgStatement
  • rds.insert
  • rds.remove
  • rds.select
  • rds.toJsonObject
  • rds.typeHint.DECIMAL
  • rds.typeHint.JSON
  • rds.typeHint.TIME
  • rds.typeHint.DATE
  • rds.typeHint.UUID
  • rds.typeHint.TIMESTAMP
  • rds.update

Assuming the following import:

import * as dynamodb from '@aws-appsync/utils/dynamodb'
  • dynamodb.get
  • dynamodb.operations.add
  • dynamodb.operations.append
  • dynamodb.operations.decrement
  • dynamodb.operations.increment
  • dynamodb.operations.prepend
  • dynamodb.operations.replace
  • dynamodb.put
  • dynamodb.remove
  • dynamodb.scan
  • dynamodb.update
import { runtime } from '@aws-appsync/utils';
  • runtime.earlyReturn

(https://docs.aws.amazon.com/appsync/latest/devguide/runtime-utils-js.html)