Guest User

Untitled

a guest
Feb 15th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. import { DynamoDB } from "aws-sdk"
  2.  
  3. type DynamoDocType = DynamoDB.DocumentClient.DocumentClientOptions | DynamoDB.Types.ClientConfiguration
  4.  
  5. /**
  6. * Promised enabled DocumentClient
  7. * @class DocumentClient
  8. */
  9. export class DocumentClient {
  10. private documentInstance: DynamoDB.DocumentClient
  11.  
  12. constructor(ddbInstance: DynamoDocType) {
  13. this.documentInstance = new DynamoDB.DocumentClient(ddbInstance)
  14. }
  15.  
  16. /**
  17. * DocumentClient get method
  18. * @param params documentclient parameters
  19. * @return Promise<GetItemOutput>
  20. */
  21. public get(params: DynamoDB.DocumentClient.GetItemInput): Promise<DynamoDB.DocumentClient.GetItemOutput> {
  22. return this.getClient().get(params).promise()
  23. }
  24.  
  25. /**
  26. * DocumentClient put method
  27. * @param params documentclient parameters
  28. * @return Promise<PutItemOutput>
  29. */
  30. public put(params: DynamoDB.DocumentClient.PutItemInput): Promise<DynamoDB.DocumentClient.PutItemOutput> {
  31. return this.getClient().put(params).promise()
  32. }
  33.  
  34. /**
  35. * DocumentClient update method
  36. * @param params documentclient parameters
  37. * @return Promise<UpdateItemOutput>
  38. */
  39. public update(params: DynamoDB.DocumentClient.UpdateItemInput): Promise<DynamoDB.DocumentClient.UpdateItemOutput> {
  40. return this.getClient().update(params).promise()
  41. }
  42.  
  43. /**
  44. * DocumentClient scan method
  45. * @param params documentclient parameters
  46. * @return Promise<ScanOutput>
  47. */
  48. public scan(params: DynamoDB.DocumentClient.ScanInput): Promise<DynamoDB.DocumentClient.ScanOutput> {
  49. return this.getClient().scan(params).promise()
  50. }
  51.  
  52. /**
  53. * DocumentClient query method
  54. * @param params documentclient parameters
  55. * @return Promise<QueryOutput>
  56. */
  57. public query(params: DynamoDB.DocumentClient.QueryInput): Promise<DynamoDB.DocumentClient.QueryOutput> {
  58. return this.getClient().query(params).promise()
  59. }
  60.  
  61. /**
  62. * DocumentClient delete method
  63. * @param params documentclient parameters
  64. * @return Promise<DeleteItemOutput>
  65. */
  66. public delete(params: DynamoDB.DocumentClient.DeleteItemInput): Promise<DynamoDB.DocumentClient.DeleteItemOutput> {
  67. return this.getClient().delete(params).promise()
  68. }
  69.  
  70. /**
  71. * Return DocumentClient instanse
  72. * @return DocumentClient instance
  73. */
  74. public getClient(): DynamoDB.DocumentClient {
  75. return this.documentInstance
  76. }
  77. }
Add Comment
Please, Sign In to add comment