@webiny/db-dynamodb 5.26.1-beta.0 → 5.28.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/BatchProcess.js.map +1 -1
  2. package/DynamoDbDriver.js.map +1 -1
  3. package/QueryGenerator.js.map +1 -1
  4. package/index.js.map +1 -1
  5. package/operators/comparison/beginsWith.js.map +1 -1
  6. package/operators/comparison/between.js.map +1 -1
  7. package/operators/comparison/eq.js.map +1 -1
  8. package/operators/comparison/gt.js.map +1 -1
  9. package/operators/comparison/gte.js.map +1 -1
  10. package/operators/comparison/lt.js.map +1 -1
  11. package/operators/comparison/lte.js.map +1 -1
  12. package/operators/index.js.map +1 -1
  13. package/operators/logical/and.js.map +1 -1
  14. package/operators/logical/or.js.map +1 -1
  15. package/package.json +10 -10
  16. package/plugins/definitions/AttributePlugin.js.map +1 -1
  17. package/plugins/definitions/DateTimeTransformPlugin.js.map +1 -1
  18. package/plugins/definitions/FieldPathPlugin.js.map +1 -1
  19. package/plugins/definitions/FieldPlugin.js.map +1 -1
  20. package/plugins/definitions/NumberTransformPlugin.js.map +1 -1
  21. package/plugins/definitions/TimeTransformPlugin.js.map +1 -1
  22. package/plugins/definitions/ValueFilterPlugin.js.map +1 -1
  23. package/plugins/definitions/ValueTransformPlugin.js.map +1 -1
  24. package/plugins/definitions/assignFields.js.map +1 -1
  25. package/plugins/filters/andIn.js.map +1 -1
  26. package/plugins/filters/between.js.map +1 -1
  27. package/plugins/filters/contains.js.map +1 -1
  28. package/plugins/filters/eq.js.map +1 -1
  29. package/plugins/filters/fuzzy.js.map +1 -1
  30. package/plugins/filters/gt.js.map +1 -1
  31. package/plugins/filters/gte.js.map +1 -1
  32. package/plugins/filters/in.js.map +1 -1
  33. package/plugins/filters/index.js.map +1 -1
  34. package/plugins/filters/lt.js.map +1 -1
  35. package/plugins/filters/lte.js.map +1 -1
  36. package/plugins/filters/startsWith.js.map +1 -1
  37. package/plugins/index.js.map +1 -1
  38. package/statements/createKeyConditionExpressionArgs.js.map +1 -1
  39. package/statements/processStatement.js.map +1 -1
  40. package/types.js.map +1 -1
  41. package/utils/attributes.js.map +1 -1
  42. package/utils/batchRead.js.map +1 -1
  43. package/utils/batchWrite.js.map +1 -1
  44. package/utils/cleanup.js.map +1 -1
  45. package/utils/cursor.js.map +1 -1
  46. package/utils/documentClient.js.map +1 -1
  47. package/utils/filter.js.map +1 -1
  48. package/utils/get.js.map +1 -1
  49. package/utils/listResponse.js.map +1 -1
  50. package/utils/query.js.map +1 -1
  51. package/utils/sort.js.map +1 -1
  52. package/utils/table.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["BatchProcess.ts"],"names":["BatchProcess","constructor","batch","documentClient","resolveBuild","rejectBuild","queryBuild","Promise","resolve","reject","resolveExecution","rejectExecution","queryExecution","operations","results","response","batchType","waitStartExecution","waitExecution","addBatchOperation","type","args","meta","initial","index","length","message","push","addBatchWrite","addBatchDelete","delete","addBatchGet","allOperationsAdded","startExecution","documentClientArgs","ReturnConsumedCapacity","RequestItems","e","i","table","DeleteRequest","Key","query","PutRequest","Item","data","Keys","responseItems","Responses","foundResult","outer","j","responseItem","queryKey","error","result"],"mappings":"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","sourcesContent":["/**\n * Remove this when no apps are using our internal db drivers anymore\n */\n// @ts-nocheck\nimport { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport { Batch } from \"@webiny/db\";\n\ntype BatchType = \"batchWrite\" | \"batchGet\";\n\nexport type AddBatchOperationResponse = () => any | null;\n\ninterface RejectBuildCallable {\n ({ message }: { message: string }): void;\n}\n\ninterface RejectExecutionCallable {\n ({ message }: { message: string }): void;\n}\n\ninterface AddBatchOperationArgs {\n /**\n * TODO: determine correct type.\n */\n [key: string]: any;\n}\n\ninterface Response {\n /**\n * TODO: determine correct type.\n */\n [key: string]: any;\n}\n\ninterface DocumentClientArgs {\n ReturnConsumedCapacity: string;\n RequestItems: Record<string, any>;\n}\n\nclass BatchProcess {\n documentClient: DocumentClient;\n batch: Batch;\n resolveBuild: () => void;\n rejectBuild: RejectBuildCallable;\n queryBuild: Promise<void>;\n resolveExecution: () => void;\n rejectExecution: RejectExecutionCallable;\n queryExecution: Promise<void>;\n operations: [Record<string, any>, Record<string, any>][];\n batchType: BatchType;\n results: Record<string, any>[];\n response: Record<string, any>;\n constructor(batch: Batch, documentClient: DocumentClient) {\n this.documentClient = documentClient;\n this.batch = batch;\n\n this.resolveBuild = null;\n this.rejectBuild = null;\n this.queryBuild = new Promise((resolve, reject) => {\n this.resolveBuild = resolve;\n this.rejectBuild = reject;\n });\n\n this.resolveExecution = null;\n this.rejectExecution = null;\n this.queryExecution = new Promise((resolve, reject) => {\n this.resolveExecution = resolve;\n this.rejectExecution = reject;\n });\n\n this.operations = [];\n this.results = [];\n this.response = [];\n\n this.batchType;\n }\n\n waitStartExecution(): Promise<void> {\n return this.queryBuild;\n }\n\n waitExecution(): Promise<void> {\n return this.queryExecution;\n }\n\n addBatchOperation(\n type: BatchType,\n args: AddBatchOperationArgs,\n meta = {}\n ): AddBatchOperationResponse {\n if (!this.batchType) {\n this.batchType = type;\n } else if (this.batchType !== type) {\n const initial = this.batchType;\n const index = this.operations.length;\n this.rejectBuild({\n message: `Cannot batch operations - all operations must be of the same type (the initial operation type was \"${initial}\", and operation type on index \"${index}\" is \"${type}\").`\n });\n return null;\n }\n\n this.operations.push([args, meta]);\n const index = this.operations.length - 1;\n return () => this.results[index];\n }\n\n addBatchWrite(args: AddBatchOperationArgs): AddBatchOperationResponse {\n return this.addBatchOperation(\"batchWrite\", args);\n }\n\n addBatchDelete(args: AddBatchOperationArgs): AddBatchOperationResponse {\n return this.addBatchOperation(\"batchWrite\", { ...args }, { delete: true });\n }\n\n addBatchGet(args: AddBatchOperationArgs): AddBatchOperationResponse {\n return this.addBatchOperation(\"batchGet\", args);\n }\n\n allOperationsAdded(): boolean {\n return this.operations.length === this.batch.operations.length;\n }\n\n startExecution() {\n this.resolveBuild();\n\n const documentClientArgs: DocumentClientArgs = {\n ReturnConsumedCapacity: \"TOTAL\",\n RequestItems: {}\n };\n\n const reject = (e: Error) => {\n e.message = `An error occurred while executing \"${this.batchType}\" batch operation: ${e.message}`;\n return this.rejectExecution(e);\n };\n\n let resolve = (response: Response) => {\n this.response = response;\n this.resolveExecution();\n };\n\n switch (this.batchType) {\n case \"batchWrite\":\n documentClientArgs.RequestItems = {};\n for (let i = 0; i < this.operations.length; i++) {\n const [args, meta] = this.operations[i];\n\n if (!documentClientArgs.RequestItems[args.table]) {\n documentClientArgs.RequestItems[args.table] = [];\n }\n\n const push: {\n DeleteRequest?: Record<string, any>;\n PutRequest?: Record<string, any>;\n } = {};\n\n if (meta.delete) {\n push.DeleteRequest = {\n Key: args.query\n };\n } else {\n push.PutRequest = {\n Item: args.data\n };\n }\n\n documentClientArgs.RequestItems[args.table].push(push);\n }\n break;\n case \"batchGet\":\n documentClientArgs.RequestItems = {};\n for (let i = 0; i < this.operations.length; i++) {\n const [args] = this.operations[i];\n\n if (!documentClientArgs.RequestItems[args.table]) {\n documentClientArgs.RequestItems[args.table] = { Keys: [] };\n }\n\n documentClientArgs.RequestItems[args.table].Keys.push(args.query);\n }\n\n resolve = response => {\n this.response = response;\n const results = [];\n\n // The results of batchGet aren't ordered so we have to figure out the order of results ourselves.\n for (let i = 0; i < this.operations.length; i++) {\n const [args] = this.operations[i];\n const responseItems = response.Responses[args.table];\n\n let foundResult = null;\n outer: for (let j = 0; j < responseItems.length; j++) {\n const responseItem = responseItems[j];\n for (const queryKey in args.query) {\n if (\n typeof responseItem[queryKey] === \"undefined\" ||\n args.query[queryKey] !== responseItem[queryKey]\n ) {\n continue outer;\n }\n }\n foundResult = responseItem;\n }\n\n results.push(foundResult);\n }\n\n this.results = results;\n this.resolveExecution();\n };\n break;\n }\n\n return this.documentClient[this.batchType](\n documentClientArgs,\n (error: Error, result: Record<string, any>) => {\n if (error) {\n reject(error);\n } else {\n resolve(result);\n }\n }\n );\n }\n}\n\nexport default BatchProcess;\n"]}
1
+ {"version":3,"names":["BatchProcess","constructor","batch","documentClient","resolveBuild","rejectBuild","queryBuild","Promise","resolve","reject","resolveExecution","rejectExecution","queryExecution","operations","results","response","batchType","waitStartExecution","waitExecution","addBatchOperation","type","args","meta","initial","index","length","message","push","addBatchWrite","addBatchDelete","delete","addBatchGet","allOperationsAdded","startExecution","documentClientArgs","ReturnConsumedCapacity","RequestItems","e","i","table","DeleteRequest","Key","query","PutRequest","Item","data","Keys","responseItems","Responses","foundResult","outer","j","responseItem","queryKey","error","result"],"sources":["BatchProcess.ts"],"sourcesContent":["/**\n * Remove this when no apps are using our internal db drivers anymore\n */\n// @ts-nocheck\nimport { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport { Batch } from \"@webiny/db\";\n\ntype BatchType = \"batchWrite\" | \"batchGet\";\n\nexport type AddBatchOperationResponse = () => any | null;\n\ninterface RejectBuildCallable {\n ({ message }: { message: string }): void;\n}\n\ninterface RejectExecutionCallable {\n ({ message }: { message: string }): void;\n}\n\ninterface AddBatchOperationArgs {\n /**\n * TODO: determine correct type.\n */\n [key: string]: any;\n}\n\ninterface Response {\n /**\n * TODO: determine correct type.\n */\n [key: string]: any;\n}\n\ninterface DocumentClientArgs {\n ReturnConsumedCapacity: string;\n RequestItems: Record<string, any>;\n}\n\nclass BatchProcess {\n documentClient: DocumentClient;\n batch: Batch;\n resolveBuild: () => void;\n rejectBuild: RejectBuildCallable;\n queryBuild: Promise<void>;\n resolveExecution: () => void;\n rejectExecution: RejectExecutionCallable;\n queryExecution: Promise<void>;\n operations: [Record<string, any>, Record<string, any>][];\n batchType: BatchType;\n results: Record<string, any>[];\n response: Record<string, any>;\n constructor(batch: Batch, documentClient: DocumentClient) {\n this.documentClient = documentClient;\n this.batch = batch;\n\n this.resolveBuild = null;\n this.rejectBuild = null;\n this.queryBuild = new Promise((resolve, reject) => {\n this.resolveBuild = resolve;\n this.rejectBuild = reject;\n });\n\n this.resolveExecution = null;\n this.rejectExecution = null;\n this.queryExecution = new Promise((resolve, reject) => {\n this.resolveExecution = resolve;\n this.rejectExecution = reject;\n });\n\n this.operations = [];\n this.results = [];\n this.response = [];\n\n this.batchType;\n }\n\n waitStartExecution(): Promise<void> {\n return this.queryBuild;\n }\n\n waitExecution(): Promise<void> {\n return this.queryExecution;\n }\n\n addBatchOperation(\n type: BatchType,\n args: AddBatchOperationArgs,\n meta = {}\n ): AddBatchOperationResponse {\n if (!this.batchType) {\n this.batchType = type;\n } else if (this.batchType !== type) {\n const initial = this.batchType;\n const index = this.operations.length;\n this.rejectBuild({\n message: `Cannot batch operations - all operations must be of the same type (the initial operation type was \"${initial}\", and operation type on index \"${index}\" is \"${type}\").`\n });\n return null;\n }\n\n this.operations.push([args, meta]);\n const index = this.operations.length - 1;\n return () => this.results[index];\n }\n\n addBatchWrite(args: AddBatchOperationArgs): AddBatchOperationResponse {\n return this.addBatchOperation(\"batchWrite\", args);\n }\n\n addBatchDelete(args: AddBatchOperationArgs): AddBatchOperationResponse {\n return this.addBatchOperation(\"batchWrite\", { ...args }, { delete: true });\n }\n\n addBatchGet(args: AddBatchOperationArgs): AddBatchOperationResponse {\n return this.addBatchOperation(\"batchGet\", args);\n }\n\n allOperationsAdded(): boolean {\n return this.operations.length === this.batch.operations.length;\n }\n\n startExecution() {\n this.resolveBuild();\n\n const documentClientArgs: DocumentClientArgs = {\n ReturnConsumedCapacity: \"TOTAL\",\n RequestItems: {}\n };\n\n const reject = (e: Error) => {\n e.message = `An error occurred while executing \"${this.batchType}\" batch operation: ${e.message}`;\n return this.rejectExecution(e);\n };\n\n let resolve = (response: Response) => {\n this.response = response;\n this.resolveExecution();\n };\n\n switch (this.batchType) {\n case \"batchWrite\":\n documentClientArgs.RequestItems = {};\n for (let i = 0; i < this.operations.length; i++) {\n const [args, meta] = this.operations[i];\n\n if (!documentClientArgs.RequestItems[args.table]) {\n documentClientArgs.RequestItems[args.table] = [];\n }\n\n const push: {\n DeleteRequest?: Record<string, any>;\n PutRequest?: Record<string, any>;\n } = {};\n\n if (meta.delete) {\n push.DeleteRequest = {\n Key: args.query\n };\n } else {\n push.PutRequest = {\n Item: args.data\n };\n }\n\n documentClientArgs.RequestItems[args.table].push(push);\n }\n break;\n case \"batchGet\":\n documentClientArgs.RequestItems = {};\n for (let i = 0; i < this.operations.length; i++) {\n const [args] = this.operations[i];\n\n if (!documentClientArgs.RequestItems[args.table]) {\n documentClientArgs.RequestItems[args.table] = { Keys: [] };\n }\n\n documentClientArgs.RequestItems[args.table].Keys.push(args.query);\n }\n\n resolve = response => {\n this.response = response;\n const results = [];\n\n // The results of batchGet aren't ordered so we have to figure out the order of results ourselves.\n for (let i = 0; i < this.operations.length; i++) {\n const [args] = this.operations[i];\n const responseItems = response.Responses[args.table];\n\n let foundResult = null;\n outer: for (let j = 0; j < responseItems.length; j++) {\n const responseItem = responseItems[j];\n for (const queryKey in args.query) {\n if (\n typeof responseItem[queryKey] === \"undefined\" ||\n args.query[queryKey] !== responseItem[queryKey]\n ) {\n continue outer;\n }\n }\n foundResult = responseItem;\n }\n\n results.push(foundResult);\n }\n\n this.results = results;\n this.resolveExecution();\n };\n break;\n }\n\n return this.documentClient[this.batchType](\n documentClientArgs,\n (error: Error, result: Record<string, any>) => {\n if (error) {\n reject(error);\n } else {\n resolve(result);\n }\n }\n );\n }\n}\n\nexport default BatchProcess;\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAmCA,MAAMA,YAAN,CAAmB;EAafC,WAAW,CAACC,KAAD,EAAeC,cAAf,EAA+C;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IACtD,KAAKA,cAAL,GAAsBA,cAAtB;IACA,KAAKD,KAAL,GAAaA,KAAb;IAEA,KAAKE,YAAL,GAAoB,IAApB;IACA,KAAKC,WAAL,GAAmB,IAAnB;IACA,KAAKC,UAAL,GAAkB,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;MAC/C,KAAKL,YAAL,GAAoBI,OAApB;MACA,KAAKH,WAAL,GAAmBI,MAAnB;IACH,CAHiB,CAAlB;IAKA,KAAKC,gBAAL,GAAwB,IAAxB;IACA,KAAKC,eAAL,GAAuB,IAAvB;IACA,KAAKC,cAAL,GAAsB,IAAIL,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;MACnD,KAAKC,gBAAL,GAAwBF,OAAxB;MACA,KAAKG,eAAL,GAAuBF,MAAvB;IACH,CAHqB,CAAtB;IAKA,KAAKI,UAAL,GAAkB,EAAlB;IACA,KAAKC,OAAL,GAAe,EAAf;IACA,KAAKC,QAAL,GAAgB,EAAhB;IAEA,KAAKC,SAAL;EACH;;EAEDC,kBAAkB,GAAkB;IAChC,OAAO,KAAKX,UAAZ;EACH;;EAEDY,aAAa,GAAkB;IAC3B,OAAO,KAAKN,cAAZ;EACH;;EAEDO,iBAAiB,CACbC,IADa,EAEbC,IAFa,EAGbC,IAAI,GAAG,EAHM,EAIY;IACzB,IAAI,CAAC,KAAKN,SAAV,EAAqB;MACjB,KAAKA,SAAL,GAAiBI,IAAjB;IACH,CAFD,MAEO,IAAI,KAAKJ,SAAL,KAAmBI,IAAvB,EAA6B;MAChC,MAAMG,OAAO,GAAG,KAAKP,SAArB;MACA,MAAMQ,KAAK,GAAG,KAAKX,UAAL,CAAgBY,MAA9B;MACA,KAAKpB,WAAL,CAAiB;QACbqB,OAAO,EAAG,sGAAqGH,OAAQ,mCAAkCC,KAAM,SAAQJ,IAAK;MAD/J,CAAjB;MAGA,OAAO,IAAP;IACH;;IAED,KAAKP,UAAL,CAAgBc,IAAhB,CAAqB,CAACN,IAAD,EAAOC,IAAP,CAArB;IACA,MAAME,KAAK,GAAG,KAAKX,UAAL,CAAgBY,MAAhB,GAAyB,CAAvC;IACA,OAAO,MAAM,KAAKX,OAAL,CAAaU,KAAb,CAAb;EACH;;EAEDI,aAAa,CAACP,IAAD,EAAyD;IAClE,OAAO,KAAKF,iBAAL,CAAuB,YAAvB,EAAqCE,IAArC,CAAP;EACH;;EAEDQ,cAAc,CAACR,IAAD,EAAyD;IACnE,OAAO,KAAKF,iBAAL,CAAuB,YAAvB,oBAA0CE,IAA1C,GAAkD;MAAES,MAAM,EAAE;IAAV,CAAlD,CAAP;EACH;;EAEDC,WAAW,CAACV,IAAD,EAAyD;IAChE,OAAO,KAAKF,iBAAL,CAAuB,UAAvB,EAAmCE,IAAnC,CAAP;EACH;;EAEDW,kBAAkB,GAAY;IAC1B,OAAO,KAAKnB,UAAL,CAAgBY,MAAhB,KAA2B,KAAKvB,KAAL,CAAWW,UAAX,CAAsBY,MAAxD;EACH;;EAEDQ,cAAc,GAAG;IACb,KAAK7B,YAAL;IAEA,MAAM8B,kBAAsC,GAAG;MAC3CC,sBAAsB,EAAE,OADmB;MAE3CC,YAAY,EAAE;IAF6B,CAA/C;;IAKA,MAAM3B,MAAM,GAAI4B,CAAD,IAAc;MACzBA,CAAC,CAACX,OAAF,GAAa,sCAAqC,KAAKV,SAAU,sBAAqBqB,CAAC,CAACX,OAAQ,EAAhG;MACA,OAAO,KAAKf,eAAL,CAAqB0B,CAArB,CAAP;IACH,CAHD;;IAKA,IAAI7B,OAAO,GAAIO,QAAD,IAAwB;MAClC,KAAKA,QAAL,GAAgBA,QAAhB;MACA,KAAKL,gBAAL;IACH,CAHD;;IAKA,QAAQ,KAAKM,SAAb;MACI,KAAK,YAAL;QACIkB,kBAAkB,CAACE,YAAnB,GAAkC,EAAlC;;QACA,KAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKzB,UAAL,CAAgBY,MAApC,EAA4Ca,CAAC,EAA7C,EAAiD;UAC7C,MAAM,CAACjB,IAAD,EAAOC,IAAP,IAAe,KAAKT,UAAL,CAAgByB,CAAhB,CAArB;;UAEA,IAAI,CAACJ,kBAAkB,CAACE,YAAnB,CAAgCf,IAAI,CAACkB,KAArC,CAAL,EAAkD;YAC9CL,kBAAkB,CAACE,YAAnB,CAAgCf,IAAI,CAACkB,KAArC,IAA8C,EAA9C;UACH;;UAED,MAAMZ,IAGL,GAAG,EAHJ;;UAKA,IAAIL,IAAI,CAACQ,MAAT,EAAiB;YACbH,IAAI,CAACa,aAAL,GAAqB;cACjBC,GAAG,EAAEpB,IAAI,CAACqB;YADO,CAArB;UAGH,CAJD,MAIO;YACHf,IAAI,CAACgB,UAAL,GAAkB;cACdC,IAAI,EAAEvB,IAAI,CAACwB;YADG,CAAlB;UAGH;;UAEDX,kBAAkB,CAACE,YAAnB,CAAgCf,IAAI,CAACkB,KAArC,EAA4CZ,IAA5C,CAAiDA,IAAjD;QACH;;QACD;;MACJ,KAAK,UAAL;QACIO,kBAAkB,CAACE,YAAnB,GAAkC,EAAlC;;QACA,KAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKzB,UAAL,CAAgBY,MAApC,EAA4Ca,CAAC,EAA7C,EAAiD;UAC7C,MAAM,CAACjB,IAAD,IAAS,KAAKR,UAAL,CAAgByB,CAAhB,CAAf;;UAEA,IAAI,CAACJ,kBAAkB,CAACE,YAAnB,CAAgCf,IAAI,CAACkB,KAArC,CAAL,EAAkD;YAC9CL,kBAAkB,CAACE,YAAnB,CAAgCf,IAAI,CAACkB,KAArC,IAA8C;cAAEO,IAAI,EAAE;YAAR,CAA9C;UACH;;UAEDZ,kBAAkB,CAACE,YAAnB,CAAgCf,IAAI,CAACkB,KAArC,EAA4CO,IAA5C,CAAiDnB,IAAjD,CAAsDN,IAAI,CAACqB,KAA3D;QACH;;QAEDlC,OAAO,GAAGO,QAAQ,IAAI;UAClB,KAAKA,QAAL,GAAgBA,QAAhB;UACA,MAAMD,OAAO,GAAG,EAAhB,CAFkB,CAIlB;;UACA,KAAK,IAAIwB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKzB,UAAL,CAAgBY,MAApC,EAA4Ca,CAAC,EAA7C,EAAiD;YAC7C,MAAM,CAACjB,IAAD,IAAS,KAAKR,UAAL,CAAgByB,CAAhB,CAAf;YACA,MAAMS,aAAa,GAAGhC,QAAQ,CAACiC,SAAT,CAAmB3B,IAAI,CAACkB,KAAxB,CAAtB;YAEA,IAAIU,WAAW,GAAG,IAAlB;;YACAC,KAAK,EAAE,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,aAAa,CAACtB,MAAlC,EAA0C0B,CAAC,EAA3C,EAA+C;cAClD,MAAMC,YAAY,GAAGL,aAAa,CAACI,CAAD,CAAlC;;cACA,KAAK,MAAME,QAAX,IAAuBhC,IAAI,CAACqB,KAA5B,EAAmC;gBAC/B,IACI,OAAOU,YAAY,CAACC,QAAD,CAAnB,KAAkC,WAAlC,IACAhC,IAAI,CAACqB,KAAL,CAAWW,QAAX,MAAyBD,YAAY,CAACC,QAAD,CAFzC,EAGE;kBACE,SAASH,KAAT;gBACH;cACJ;;cACDD,WAAW,GAAGG,YAAd;YACH;;YAEDtC,OAAO,CAACa,IAAR,CAAasB,WAAb;UACH;;UAED,KAAKnC,OAAL,GAAeA,OAAf;UACA,KAAKJ,gBAAL;QACH,CA5BD;;QA6BA;IArER;;IAwEA,OAAO,KAAKP,cAAL,CAAoB,KAAKa,SAAzB,EACHkB,kBADG,EAEH,CAACoB,KAAD,EAAeC,MAAf,KAA+C;MAC3C,IAAID,KAAJ,EAAW;QACP7C,MAAM,CAAC6C,KAAD,CAAN;MACH,CAFD,MAEO;QACH9C,OAAO,CAAC+C,MAAD,CAAP;MACH;IACJ,CARE,CAAP;EAUH;;AAvLc;;eA0LJvD,Y"}
@@ -1 +1 @@
1
- {"version":3,"sources":["DynamoDbDriver.ts"],"names":["LOG_KEYS","primary","unique","name","fields","DynamoDbDriver","constructor","documentClient","batchProcesses","DocumentClient","getClient","create","table","data","meta","__batch","batch","result","put","TableName","Item","ReturnConsumedCapacity","promise","response","$response","batchProcess","getBatchProcess","addBatchWrite","allOperationsAdded","startExecution","waitStartExecution","waitExecution","update","query","UpdateExpression","ExpressionAttributeNames","ExpressionAttributeValues","updateExpression","key","push","join","Key","delete","addBatchDelete","read","sort","limit","keys","queryGenerator","QueryGenerator","queryParams","generate","tableName","Array","isArray","Items","getResult","addBatchGet","createLog","id","operation","PK","SK","readLogs","$gte","instance","BatchProcess"],"mappings":"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","sourcesContent":["/**\n * Remove this when no apps are using our internal db drivers anymore\n */\n// @ts-nocheck\nimport { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport BatchProcess from \"./BatchProcess\";\nimport QueryGenerator from \"./QueryGenerator\";\nimport { DbDriver, Args, Result, ArgsBatch } from \"@webiny/db\";\nimport { QueryKeys } from \"~/types\";\n\ntype ConstructorArgs = {\n documentClient?: DocumentClient;\n};\n\nconst LOG_KEYS: QueryKeys = [\n {\n primary: true,\n unique: true,\n name: \"primary\",\n fields: [{ name: \"PK\" }, { name: \"SK\" }]\n }\n];\n\ninterface Update {\n UpdateExpression: string;\n ExpressionAttributeNames: Record<string, any>;\n ExpressionAttributeValues: Record<string, any>;\n}\n\ninterface ReadLogsParams {\n table: string;\n}\n\ninterface CreateLogParams {\n id: string;\n operation: string;\n /**\n * TODO: determine the data type.\n */\n data: any;\n table: string;\n}\n\nclass DynamoDbDriver implements DbDriver {\n batchProcesses: Record<string, BatchProcess>;\n documentClient: DocumentClient;\n constructor({ documentClient }: ConstructorArgs = {}) {\n this.batchProcesses = {};\n this.documentClient = documentClient || new DocumentClient();\n }\n\n getClient() {\n return this.documentClient;\n }\n\n async create({ table, data, meta, __batch: batch }: Args): Promise<Result> {\n if (!batch) {\n const result = await this.documentClient\n .put({\n TableName: table,\n Item: data,\n ReturnConsumedCapacity: meta ? \"TOTAL\" : \"NONE\"\n })\n .promise();\n return [true, { response: result.$response }];\n }\n\n const batchProcess = this.getBatchProcess(batch);\n batchProcess.addBatchWrite({ table, data });\n\n if (batchProcess.allOperationsAdded()) {\n batchProcess.startExecution();\n } else {\n await batchProcess.waitStartExecution();\n }\n\n await batchProcess.waitExecution();\n\n return [true, { response: batchProcess.response }];\n }\n\n async update({ query, data, table, meta, __batch: batch }: Args): Promise<Result> {\n if (!batch) {\n const update: Update = {\n UpdateExpression: \"SET \",\n ExpressionAttributeNames: {},\n ExpressionAttributeValues: {}\n };\n\n const updateExpression = [];\n for (const key in data) {\n updateExpression.push(`#${key} = :${key}`);\n update.ExpressionAttributeNames[`#${key}`] = key;\n update.ExpressionAttributeValues[`:${key}`] = data[key];\n }\n\n update.UpdateExpression += updateExpression.join(\", \");\n\n const result = await this.documentClient\n .update({\n TableName: table,\n Key: query,\n ReturnConsumedCapacity: meta ? \"TOTAL\" : \"NONE\",\n ...update\n })\n .promise();\n\n return [true, { response: result.$response }];\n }\n\n const batchProcess = this.getBatchProcess(batch);\n\n batchProcess.addBatchWrite({\n table,\n data\n });\n\n if (batchProcess.allOperationsAdded()) {\n batchProcess.startExecution();\n } else {\n await batchProcess.waitStartExecution();\n }\n\n await batchProcess.waitExecution();\n\n return [true, { response: batchProcess.response }];\n }\n\n async delete({ query, table, meta, __batch: batch }: Args): Promise<Result> {\n if (!batch) {\n const result = await this.documentClient\n .delete({\n TableName: table,\n Key: query,\n ReturnConsumedCapacity: meta ? \"TOTAL\" : \"NONE\"\n })\n .promise();\n\n return [true, { response: result.$response }];\n }\n\n const batchProcess = this.getBatchProcess(batch);\n batchProcess.addBatchDelete({\n table,\n query\n });\n\n if (batchProcess.allOperationsAdded()) {\n batchProcess.startExecution();\n } else {\n await batchProcess.waitStartExecution();\n }\n\n await batchProcess.waitExecution();\n\n return [true, { response: batchProcess.response }];\n }\n\n async read<T>({\n table,\n query,\n sort,\n limit,\n keys,\n meta,\n __batch: batch\n }: Args): Promise<Result<T[]>> {\n if (!batch) {\n const queryGenerator = new QueryGenerator();\n const queryParams = queryGenerator.generate({\n query,\n keys,\n sort,\n limit,\n tableName: table\n });\n\n const response = await this.documentClient\n .query({ ...queryParams, ReturnConsumedCapacity: meta ? \"TOTAL\" : \"NONE\" })\n .promise();\n\n if (Array.isArray(response.Items)) {\n return [response.Items as T[], { response: response.$response }];\n }\n return [[], { response: response.$response }];\n }\n\n // DynamoDb doesn't support batch queries, so we can immediately assume the GetRequest operation.\n const batchProcess = this.getBatchProcess(batch);\n const getResult = batchProcess.addBatchGet({\n table,\n query\n });\n\n if (batchProcess.allOperationsAdded()) {\n batchProcess.startExecution();\n } else {\n await batchProcess.waitStartExecution();\n }\n\n await batchProcess.waitExecution();\n\n const result = getResult() as T;\n if (result) {\n return [[result], { response: batchProcess.response }];\n }\n\n return [[], { response: batchProcess.response }];\n }\n\n async createLog({ id, operation, data, table }: CreateLogParams): Promise<Result> {\n await this.create({\n table: table,\n keys: LOG_KEYS,\n data: {\n PK: \"log\",\n SK: id,\n id,\n operation,\n ...data\n }\n });\n\n return [true, {}];\n }\n\n async readLogs<T>({ table }: ReadLogsParams) {\n return this.read<T>({\n table,\n keys: LOG_KEYS,\n query: {\n PK: \"log\",\n SK: { $gte: \" \" }\n }\n });\n }\n\n getBatchProcess(__batch: ArgsBatch): BatchProcess {\n if (!this.batchProcesses[__batch.instance.id]) {\n this.batchProcesses[__batch.instance.id] = new BatchProcess(\n __batch.instance,\n this.documentClient\n );\n }\n\n return this.batchProcesses[__batch.instance.id];\n }\n}\n\nexport default DynamoDbDriver;\n"]}
1
+ {"version":3,"names":["LOG_KEYS","primary","unique","name","fields","DynamoDbDriver","constructor","documentClient","batchProcesses","DocumentClient","getClient","create","table","data","meta","__batch","batch","result","put","TableName","Item","ReturnConsumedCapacity","promise","response","$response","batchProcess","getBatchProcess","addBatchWrite","allOperationsAdded","startExecution","waitStartExecution","waitExecution","update","query","UpdateExpression","ExpressionAttributeNames","ExpressionAttributeValues","updateExpression","key","push","join","Key","delete","addBatchDelete","read","sort","limit","keys","queryGenerator","QueryGenerator","queryParams","generate","tableName","Array","isArray","Items","getResult","addBatchGet","createLog","id","operation","PK","SK","readLogs","$gte","instance","BatchProcess"],"sources":["DynamoDbDriver.ts"],"sourcesContent":["/**\n * Remove this when no apps are using our internal db drivers anymore\n */\n// @ts-nocheck\nimport { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport BatchProcess from \"./BatchProcess\";\nimport QueryGenerator from \"./QueryGenerator\";\nimport { DbDriver, Args, Result, ArgsBatch } from \"@webiny/db\";\nimport { QueryKeys } from \"~/types\";\n\ntype ConstructorArgs = {\n documentClient?: DocumentClient;\n};\n\nconst LOG_KEYS: QueryKeys = [\n {\n primary: true,\n unique: true,\n name: \"primary\",\n fields: [{ name: \"PK\" }, { name: \"SK\" }]\n }\n];\n\ninterface Update {\n UpdateExpression: string;\n ExpressionAttributeNames: Record<string, any>;\n ExpressionAttributeValues: Record<string, any>;\n}\n\ninterface ReadLogsParams {\n table: string;\n}\n\ninterface CreateLogParams {\n id: string;\n operation: string;\n /**\n * TODO: determine the data type.\n */\n data: any;\n table: string;\n}\n\nclass DynamoDbDriver implements DbDriver {\n batchProcesses: Record<string, BatchProcess>;\n documentClient: DocumentClient;\n constructor({ documentClient }: ConstructorArgs = {}) {\n this.batchProcesses = {};\n this.documentClient = documentClient || new DocumentClient();\n }\n\n getClient() {\n return this.documentClient;\n }\n\n async create({ table, data, meta, __batch: batch }: Args): Promise<Result> {\n if (!batch) {\n const result = await this.documentClient\n .put({\n TableName: table,\n Item: data,\n ReturnConsumedCapacity: meta ? \"TOTAL\" : \"NONE\"\n })\n .promise();\n return [true, { response: result.$response }];\n }\n\n const batchProcess = this.getBatchProcess(batch);\n batchProcess.addBatchWrite({ table, data });\n\n if (batchProcess.allOperationsAdded()) {\n batchProcess.startExecution();\n } else {\n await batchProcess.waitStartExecution();\n }\n\n await batchProcess.waitExecution();\n\n return [true, { response: batchProcess.response }];\n }\n\n async update({ query, data, table, meta, __batch: batch }: Args): Promise<Result> {\n if (!batch) {\n const update: Update = {\n UpdateExpression: \"SET \",\n ExpressionAttributeNames: {},\n ExpressionAttributeValues: {}\n };\n\n const updateExpression = [];\n for (const key in data) {\n updateExpression.push(`#${key} = :${key}`);\n update.ExpressionAttributeNames[`#${key}`] = key;\n update.ExpressionAttributeValues[`:${key}`] = data[key];\n }\n\n update.UpdateExpression += updateExpression.join(\", \");\n\n const result = await this.documentClient\n .update({\n TableName: table,\n Key: query,\n ReturnConsumedCapacity: meta ? \"TOTAL\" : \"NONE\",\n ...update\n })\n .promise();\n\n return [true, { response: result.$response }];\n }\n\n const batchProcess = this.getBatchProcess(batch);\n\n batchProcess.addBatchWrite({\n table,\n data\n });\n\n if (batchProcess.allOperationsAdded()) {\n batchProcess.startExecution();\n } else {\n await batchProcess.waitStartExecution();\n }\n\n await batchProcess.waitExecution();\n\n return [true, { response: batchProcess.response }];\n }\n\n async delete({ query, table, meta, __batch: batch }: Args): Promise<Result> {\n if (!batch) {\n const result = await this.documentClient\n .delete({\n TableName: table,\n Key: query,\n ReturnConsumedCapacity: meta ? \"TOTAL\" : \"NONE\"\n })\n .promise();\n\n return [true, { response: result.$response }];\n }\n\n const batchProcess = this.getBatchProcess(batch);\n batchProcess.addBatchDelete({\n table,\n query\n });\n\n if (batchProcess.allOperationsAdded()) {\n batchProcess.startExecution();\n } else {\n await batchProcess.waitStartExecution();\n }\n\n await batchProcess.waitExecution();\n\n return [true, { response: batchProcess.response }];\n }\n\n async read<T>({\n table,\n query,\n sort,\n limit,\n keys,\n meta,\n __batch: batch\n }: Args): Promise<Result<T[]>> {\n if (!batch) {\n const queryGenerator = new QueryGenerator();\n const queryParams = queryGenerator.generate({\n query,\n keys,\n sort,\n limit,\n tableName: table\n });\n\n const response = await this.documentClient\n .query({ ...queryParams, ReturnConsumedCapacity: meta ? \"TOTAL\" : \"NONE\" })\n .promise();\n\n if (Array.isArray(response.Items)) {\n return [response.Items as T[], { response: response.$response }];\n }\n return [[], { response: response.$response }];\n }\n\n // DynamoDb doesn't support batch queries, so we can immediately assume the GetRequest operation.\n const batchProcess = this.getBatchProcess(batch);\n const getResult = batchProcess.addBatchGet({\n table,\n query\n });\n\n if (batchProcess.allOperationsAdded()) {\n batchProcess.startExecution();\n } else {\n await batchProcess.waitStartExecution();\n }\n\n await batchProcess.waitExecution();\n\n const result = getResult() as T;\n if (result) {\n return [[result], { response: batchProcess.response }];\n }\n\n return [[], { response: batchProcess.response }];\n }\n\n async createLog({ id, operation, data, table }: CreateLogParams): Promise<Result> {\n await this.create({\n table: table,\n keys: LOG_KEYS,\n data: {\n PK: \"log\",\n SK: id,\n id,\n operation,\n ...data\n }\n });\n\n return [true, {}];\n }\n\n async readLogs<T>({ table }: ReadLogsParams) {\n return this.read<T>({\n table,\n keys: LOG_KEYS,\n query: {\n PK: \"log\",\n SK: { $gte: \" \" }\n }\n });\n }\n\n getBatchProcess(__batch: ArgsBatch): BatchProcess {\n if (!this.batchProcesses[__batch.instance.id]) {\n this.batchProcesses[__batch.instance.id] = new BatchProcess(\n __batch.instance,\n this.documentClient\n );\n }\n\n return this.batchProcesses[__batch.instance.id];\n }\n}\n\nexport default DynamoDbDriver;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["QueryGenerator.ts"],"names":["QueryGenerator","generate","params","query","keys","sort","limit","tableName","key","findQueryKey","Error","keyAttributesValues","nonKeyAttributesValues","queryKey","fields","find","item","name","keyConditionExpression","TableName","Limit","i","length","hasAllFields","j","field"],"mappings":";;;;;;;;;;;AAAA;;;;;;AAUA,MAAMA,cAAN,CAAqB;AACjBC,EAAAA,QAAQ,CAACC,MAAD,EAAyB;AAC7B,UAAM;AAAEC,MAAAA,KAAF;AAASC,MAAAA,IAAT;AAAeC,MAAAA,IAAf;AAAqBC,MAAAA,KAArB;AAA4BC,MAAAA;AAA5B,QAA0CL,MAAhD,CAD6B,CAE7B;;AACA,UAAMM,GAAG,GAAG,KAAKC,YAAL,CAAkBN,KAAlB,EAAyBC,IAAzB,CAAZ;;AAEA,QAAI,CAACI,GAAL,EAAU;AACN,YAAM,IAAIE,KAAJ,CAAU,uCAAV,CAAN;AACH,KAP4B,CAS7B;;;AACA,UAAMC,mBAA2C,GAAG,EAApD;AACA,UAAMC,sBAA8C,GAAG,EAAvD;;AACA,SAAK,MAAMC,QAAX,IAAuBV,KAAvB,EAA8B;AAC1B,UAAIK,GAAG,CAACM,MAAJ,CAAWC,IAAX,CAAiBC,IAAD,IAAyBA,IAAI,CAACC,IAAL,KAAcJ,QAAvD,CAAJ,EAAsE;AAClEF,QAAAA,mBAAmB,CAACE,QAAD,CAAnB,GAAgCV,KAAK,CAACU,QAAD,CAArC;AACH,OAFD,MAEO;AACHD,QAAAA,sBAAsB,CAACC,QAAD,CAAtB,GAAmCV,KAAK,CAACU,QAAD,CAAxC;AACH;AACJ;;AAED,UAAMK,sBAAsB,GAAG,+CAAiC;AAC5Df,MAAAA,KAAK,EAAEQ,mBADqD;AAE5DN,MAAAA,IAF4D;AAG5DG,MAAAA;AAH4D,KAAjC,CAA/B;AAMA,2CAAYU,sBAAZ;AAAoCC,MAAAA,SAAS,EAAEZ,SAA/C;AAA0Da,MAAAA,KAAK,EAAEd;AAAjE;AACH;;AAEDG,EAAAA,YAAY,CAACN,KAAY,GAAG,EAAhB,EAAoBC,IAAe,GAAG,EAAtC,EAA2D;AACnE,SAAK,IAAIiB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGjB,IAAI,CAACkB,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;AAClC,YAAMb,GAAG,GAAGJ,IAAI,CAACiB,CAAD,CAAhB;AACA,UAAIE,YAAY,GAAG,IAAnB;;AACA,WAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGhB,GAAG,CAACM,MAAJ,CAAWQ,MAA/B,EAAuCE,CAAC,EAAxC,EAA4C;AACxC,cAAMC,KAAK,GAAGjB,GAAG,CAACM,MAAJ,CAAWU,CAAX,CAAd;;AACA,YAAI,CAACrB,KAAK,CAACsB,KAAK,CAACR,IAAP,CAAV,EAAwB;AACpBM,UAAAA,YAAY,GAAG,KAAf;AACA;AACH;AACJ;;AAED,UAAIA,YAAJ,EAAkB;AACd,eAAOf,GAAP;AACH;AACJ;;AACD,WAAO,IAAP;AACH;;AA/CgB;;eAkDNR,c","sourcesContent":["import createKeyConditionExpressionArgs from \"./statements/createKeyConditionExpressionArgs\";\nimport { Query, QueryKey, QueryKeyField, QueryKeys, QuerySort } from \"~/types\";\n\ninterface GenerateParams {\n query: Query;\n keys: QueryKeys;\n sort: QuerySort;\n limit: number;\n tableName: string;\n}\nclass QueryGenerator {\n generate(params: GenerateParams) {\n const { query, keys, sort, limit, tableName } = params;\n // 1. Which key can we use in this query operation?\n const key = this.findQueryKey(query, keys);\n\n if (!key) {\n throw new Error(\"Cannot perform query - key not found.\");\n }\n\n // 2. Now that we know the key, let's separate the key attributes from the rest.\n const keyAttributesValues: Record<string, string> = {};\n const nonKeyAttributesValues: Record<string, string> = {};\n for (const queryKey in query) {\n if (key.fields.find((item: QueryKeyField) => item.name === queryKey)) {\n keyAttributesValues[queryKey] = query[queryKey];\n } else {\n nonKeyAttributesValues[queryKey] = query[queryKey];\n }\n }\n\n const keyConditionExpression = createKeyConditionExpressionArgs({\n query: keyAttributesValues,\n sort,\n key\n });\n\n return { ...keyConditionExpression, TableName: tableName, Limit: limit };\n }\n\n findQueryKey(query: Query = {}, keys: QueryKeys = []): QueryKey | null {\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n let hasAllFields = true;\n for (let j = 0; j < key.fields.length; j++) {\n const field = key.fields[j];\n if (!query[field.name]) {\n hasAllFields = false;\n break;\n }\n }\n\n if (hasAllFields) {\n return key;\n }\n }\n return null;\n }\n}\n\nexport default QueryGenerator;\n"]}
1
+ {"version":3,"names":["QueryGenerator","generate","params","query","keys","sort","limit","tableName","key","findQueryKey","Error","keyAttributesValues","nonKeyAttributesValues","queryKey","fields","find","item","name","keyConditionExpression","createKeyConditionExpressionArgs","TableName","Limit","i","length","hasAllFields","j","field"],"sources":["QueryGenerator.ts"],"sourcesContent":["import createKeyConditionExpressionArgs from \"./statements/createKeyConditionExpressionArgs\";\nimport { Query, QueryKey, QueryKeyField, QueryKeys, QuerySort } from \"~/types\";\n\ninterface GenerateParams {\n query: Query;\n keys: QueryKeys;\n sort: QuerySort;\n limit: number;\n tableName: string;\n}\nclass QueryGenerator {\n generate(params: GenerateParams) {\n const { query, keys, sort, limit, tableName } = params;\n // 1. Which key can we use in this query operation?\n const key = this.findQueryKey(query, keys);\n\n if (!key) {\n throw new Error(\"Cannot perform query - key not found.\");\n }\n\n // 2. Now that we know the key, let's separate the key attributes from the rest.\n const keyAttributesValues: Record<string, string> = {};\n const nonKeyAttributesValues: Record<string, string> = {};\n for (const queryKey in query) {\n if (key.fields.find((item: QueryKeyField) => item.name === queryKey)) {\n keyAttributesValues[queryKey] = query[queryKey];\n } else {\n nonKeyAttributesValues[queryKey] = query[queryKey];\n }\n }\n\n const keyConditionExpression = createKeyConditionExpressionArgs({\n query: keyAttributesValues,\n sort,\n key\n });\n\n return { ...keyConditionExpression, TableName: tableName, Limit: limit };\n }\n\n findQueryKey(query: Query = {}, keys: QueryKeys = []): QueryKey | null {\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n let hasAllFields = true;\n for (let j = 0; j < key.fields.length; j++) {\n const field = key.fields[j];\n if (!query[field.name]) {\n hasAllFields = false;\n break;\n }\n }\n\n if (hasAllFields) {\n return key;\n }\n }\n return null;\n }\n}\n\nexport default QueryGenerator;\n"],"mappings":";;;;;;;;;;;AAAA;;;;;;AAUA,MAAMA,cAAN,CAAqB;EACjBC,QAAQ,CAACC,MAAD,EAAyB;IAC7B,MAAM;MAAEC,KAAF;MAASC,IAAT;MAAeC,IAAf;MAAqBC,KAArB;MAA4BC;IAA5B,IAA0CL,MAAhD,CAD6B,CAE7B;;IACA,MAAMM,GAAG,GAAG,KAAKC,YAAL,CAAkBN,KAAlB,EAAyBC,IAAzB,CAAZ;;IAEA,IAAI,CAACI,GAAL,EAAU;MACN,MAAM,IAAIE,KAAJ,CAAU,uCAAV,CAAN;IACH,CAP4B,CAS7B;;;IACA,MAAMC,mBAA2C,GAAG,EAApD;IACA,MAAMC,sBAA8C,GAAG,EAAvD;;IACA,KAAK,MAAMC,QAAX,IAAuBV,KAAvB,EAA8B;MAC1B,IAAIK,GAAG,CAACM,MAAJ,CAAWC,IAAX,CAAiBC,IAAD,IAAyBA,IAAI,CAACC,IAAL,KAAcJ,QAAvD,CAAJ,EAAsE;QAClEF,mBAAmB,CAACE,QAAD,CAAnB,GAAgCV,KAAK,CAACU,QAAD,CAArC;MACH,CAFD,MAEO;QACHD,sBAAsB,CAACC,QAAD,CAAtB,GAAmCV,KAAK,CAACU,QAAD,CAAxC;MACH;IACJ;;IAED,MAAMK,sBAAsB,GAAG,IAAAC,yCAAA,EAAiC;MAC5DhB,KAAK,EAAEQ,mBADqD;MAE5DN,IAF4D;MAG5DG;IAH4D,CAAjC,CAA/B;IAMA,uCAAYU,sBAAZ;MAAoCE,SAAS,EAAEb,SAA/C;MAA0Dc,KAAK,EAAEf;IAAjE;EACH;;EAEDG,YAAY,CAACN,KAAY,GAAG,EAAhB,EAAoBC,IAAe,GAAG,EAAtC,EAA2D;IACnE,KAAK,IAAIkB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGlB,IAAI,CAACmB,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;MAClC,MAAMd,GAAG,GAAGJ,IAAI,CAACkB,CAAD,CAAhB;MACA,IAAIE,YAAY,GAAG,IAAnB;;MACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGjB,GAAG,CAACM,MAAJ,CAAWS,MAA/B,EAAuCE,CAAC,EAAxC,EAA4C;QACxC,MAAMC,KAAK,GAAGlB,GAAG,CAACM,MAAJ,CAAWW,CAAX,CAAd;;QACA,IAAI,CAACtB,KAAK,CAACuB,KAAK,CAACT,IAAP,CAAV,EAAwB;UACpBO,YAAY,GAAG,KAAf;UACA;QACH;MACJ;;MAED,IAAIA,YAAJ,EAAkB;QACd,OAAOhB,GAAP;MACH;IACJ;;IACD,OAAO,IAAP;EACH;;AA/CgB;;eAkDNR,c"}
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA","sourcesContent":["import { default as DynamoDbDriver } from \"./DynamoDbDriver\";\n\nexport { DynamoDbDriver };\n"]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["import { default as DynamoDbDriver } from \"./DynamoDbDriver\";\n\nexport { DynamoDbDriver };\n"],"mappings":";;;;;;;;;;;;;;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["beginsWith.ts"],"names":["beginsWith","canProcess","value","process","key","args","expression","attributeNames","attributeValues"],"mappings":";;;;;;AAEA,MAAMA,UAAoB,GAAG;AACzBC,EAAAA,UAAU,EAAE,CAAC;AAAEC,IAAAA;AAAF,GAAD,KAAe;AACvB,WAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,aAAD,CAAZ,KAAgC,WAAhD;AACH,GAHwB;AAIzBC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,GAAF;AAAOF,IAAAA,KAAP;AAAcG,IAAAA;AAAd,GAAD,KAA0B;AAC/BA,IAAAA,IAAI,CAACC,UAAL,IAAoB,iBAAgBF,GAAI,MAAKA,GAAI,GAAjD;AACAC,IAAAA,IAAI,CAACE,cAAL,CAAqB,IAAGH,GAAI,EAA5B,IAAiCA,GAAjC;AACAC,IAAAA,IAAI,CAACG,eAAL,CAAsB,IAAGJ,GAAI,EAA7B,IAAkCF,KAAK,CAAC,aAAD,CAAvC;AACH;AARwB,CAA7B;eAWeF,U","sourcesContent":["import { Operator } from \"~/types\";\n\nconst beginsWith: Operator = {\n canProcess: ({ value }) => {\n return value && typeof value[\"$beginsWith\"] !== \"undefined\";\n },\n process: ({ key, value, args }) => {\n args.expression += `begins_with (#${key}, :${key})`;\n args.attributeNames[`#${key}`] = key;\n args.attributeValues[`:${key}`] = value[\"$beginsWith\"];\n }\n};\n\nexport default beginsWith;\n"]}
1
+ {"version":3,"names":["beginsWith","canProcess","value","process","key","args","expression","attributeNames","attributeValues"],"sources":["beginsWith.ts"],"sourcesContent":["import { Operator } from \"~/types\";\n\nconst beginsWith: Operator = {\n canProcess: ({ value }) => {\n return value && typeof value[\"$beginsWith\"] !== \"undefined\";\n },\n process: ({ key, value, args }) => {\n args.expression += `begins_with (#${key}, :${key})`;\n args.attributeNames[`#${key}`] = key;\n args.attributeValues[`:${key}`] = value[\"$beginsWith\"];\n }\n};\n\nexport default beginsWith;\n"],"mappings":";;;;;;AAEA,MAAMA,UAAoB,GAAG;EACzBC,UAAU,EAAE,CAAC;IAAEC;EAAF,CAAD,KAAe;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,aAAD,CAAZ,KAAgC,WAAhD;EACH,CAHwB;EAIzBC,OAAO,EAAE,CAAC;IAAEC,GAAF;IAAOF,KAAP;IAAcG;EAAd,CAAD,KAA0B;IAC/BA,IAAI,CAACC,UAAL,IAAoB,iBAAgBF,GAAI,MAAKA,GAAI,GAAjD;IACAC,IAAI,CAACE,cAAL,CAAqB,IAAGH,GAAI,EAA5B,IAAiCA,GAAjC;IACAC,IAAI,CAACG,eAAL,CAAsB,IAAGJ,GAAI,EAA7B,IAAkCF,KAAK,CAAC,aAAD,CAAvC;EACH;AARwB,CAA7B;eAWeF,U"}
@@ -1 +1 @@
1
- {"version":3,"sources":["between.ts"],"names":["between","canProcess","value","process","key","statement","attributeNames","attributeValues"],"mappings":";;;;;;AAEA,MAAMA,OAAiB,GAAG;AACtBC,EAAAA,UAAU,EAAE,CAAC;AAAEC,IAAAA;AAAF,GAAD,KAAe;AACvB,WAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,UAAD,CAAZ,KAA6B,WAA7C;AACH,GAHqB;AAItBC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,GAAF;AAAOF,IAAAA;AAAP,GAAD,KAAoB;AACzB,WAAO;AACHG,MAAAA,SAAS,EAAG,IAAGD,GAAI,aAAYA,GAAI,YAAWA,GAAI,KAD/C;AAEHE,MAAAA,cAAc,EAAE;AACZ,SAAE,IAAGF,GAAI,EAAT,GAAaA;AADD,OAFb;AAKHG,MAAAA,eAAe,EAAE;AACb,SAAE,IAAGH,GAAI,KAAT,GAAgBF,KAAK,CAAC,CAAD,CADR;AAEb,SAAE,IAAGE,GAAI,KAAT,GAAgBF,KAAK,CAAC,CAAD;AAFR;AALd,KAAP;AAUH;AAfqB,CAA1B;eAkBeF,O","sourcesContent":["import { Operator } from \"~/types\";\n\nconst between: Operator = {\n canProcess: ({ value }) => {\n return value && typeof value[\"$between\"] !== \"undefined\";\n },\n process: ({ key, value }) => {\n return {\n statement: `#${key} BETWEEN :${key}Gte AND :${key}Lte`,\n attributeNames: {\n [`#${key}`]: key\n },\n attributeValues: {\n [`:${key}Gte`]: value[0],\n [`:${key}Lte`]: value[1]\n }\n };\n }\n};\n\nexport default between;\n"]}
1
+ {"version":3,"names":["between","canProcess","value","process","key","statement","attributeNames","attributeValues"],"sources":["between.ts"],"sourcesContent":["import { Operator } from \"~/types\";\n\nconst between: Operator = {\n canProcess: ({ value }) => {\n return value && typeof value[\"$between\"] !== \"undefined\";\n },\n process: ({ key, value }) => {\n return {\n statement: `#${key} BETWEEN :${key}Gte AND :${key}Lte`,\n attributeNames: {\n [`#${key}`]: key\n },\n attributeValues: {\n [`:${key}Gte`]: value[0],\n [`:${key}Lte`]: value[1]\n }\n };\n }\n};\n\nexport default between;\n"],"mappings":";;;;;;AAEA,MAAMA,OAAiB,GAAG;EACtBC,UAAU,EAAE,CAAC;IAAEC;EAAF,CAAD,KAAe;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,UAAD,CAAZ,KAA6B,WAA7C;EACH,CAHqB;EAItBC,OAAO,EAAE,CAAC;IAAEC,GAAF;IAAOF;EAAP,CAAD,KAAoB;IACzB,OAAO;MACHG,SAAS,EAAG,IAAGD,GAAI,aAAYA,GAAI,YAAWA,GAAI,KAD/C;MAEHE,cAAc,EAAE;QACZ,CAAE,IAAGF,GAAI,EAAT,GAAaA;MADD,CAFb;MAKHG,eAAe,EAAE;QACb,CAAE,IAAGH,GAAI,KAAT,GAAgBF,KAAK,CAAC,CAAD,CADR;QAEb,CAAE,IAAGE,GAAI,KAAT,GAAgBF,KAAK,CAAC,CAAD;MAFR;IALd,CAAP;EAUH;AAfqB,CAA1B;eAkBeF,O"}
@@ -1 +1 @@
1
- {"version":3,"sources":["eq.ts"],"names":["validTypes","eq","canProcess","key","value","charAt","includes","process","args","expression","attributeNames","attributeValues"],"mappings":";;;;;;AAEA,MAAMA,UAAU,GAAG,CAAC,QAAD,EAAW,SAAX,EAAsB,QAAtB,CAAnB;AAEA,MAAMC,EAAY,GAAG;AACjBC,EAAAA,UAAU,EAAE,CAAC;AAAEC,IAAAA,GAAF;AAAOC,IAAAA;AAAP,GAAD,KAAoB;AAC5B,QAAID,GAAG,IAAIA,GAAG,CAACE,MAAJ,CAAW,CAAX,MAAkB,GAA7B,EAAkC;AAC9B,aAAO,KAAP;AACH;;AAED,QAAID,KAAK,IAAI,OAAOA,KAAK,CAAC,KAAD,CAAZ,KAAwB,WAArC,EAAkD;AAC9C,aAAO,IAAP;AACH;;AAED,WAAOJ,UAAU,CAACM,QAAX,CAAoB,OAAOF,KAA3B,CAAP;AACH,GAXgB;AAYjBG,EAAAA,OAAO,EAAE,CAAC;AAAEJ,IAAAA,GAAF;AAAOC,IAAAA,KAAP;AAAcI,IAAAA;AAAd,GAAD,KAA0B;AAC/BA,IAAAA,IAAI,CAACC,UAAL,IAAoB,IAAGN,GAAI,OAAMA,GAAI,EAArC;AACAK,IAAAA,IAAI,CAACE,cAAL,CAAqB,IAAGP,GAAI,EAA5B,IAAiCA,GAAjC;AACAK,IAAAA,IAAI,CAACG,eAAL,CAAsB,IAAGR,GAAI,EAA7B,IAAkCC,KAAlC;AACH;AAhBgB,CAArB;eAmBeH,E","sourcesContent":["import { Operator } from \"~/types\";\n\nconst validTypes = [\"string\", \"boolean\", \"number\"];\n\nconst eq: Operator = {\n canProcess: ({ key, value }) => {\n if (key && key.charAt(0) === \"$\") {\n return false;\n }\n\n if (value && typeof value[\"$eq\"] !== \"undefined\") {\n return true;\n }\n\n return validTypes.includes(typeof value);\n },\n process: ({ key, value, args }) => {\n args.expression += `#${key} = :${key}`;\n args.attributeNames[`#${key}`] = key;\n args.attributeValues[`:${key}`] = value;\n }\n};\n\nexport default eq;\n"]}
1
+ {"version":3,"names":["validTypes","eq","canProcess","key","value","charAt","includes","process","args","expression","attributeNames","attributeValues"],"sources":["eq.ts"],"sourcesContent":["import { Operator } from \"~/types\";\n\nconst validTypes = [\"string\", \"boolean\", \"number\"];\n\nconst eq: Operator = {\n canProcess: ({ key, value }) => {\n if (key && key.charAt(0) === \"$\") {\n return false;\n }\n\n if (value && typeof value[\"$eq\"] !== \"undefined\") {\n return true;\n }\n\n return validTypes.includes(typeof value);\n },\n process: ({ key, value, args }) => {\n args.expression += `#${key} = :${key}`;\n args.attributeNames[`#${key}`] = key;\n args.attributeValues[`:${key}`] = value;\n }\n};\n\nexport default eq;\n"],"mappings":";;;;;;AAEA,MAAMA,UAAU,GAAG,CAAC,QAAD,EAAW,SAAX,EAAsB,QAAtB,CAAnB;AAEA,MAAMC,EAAY,GAAG;EACjBC,UAAU,EAAE,CAAC;IAAEC,GAAF;IAAOC;EAAP,CAAD,KAAoB;IAC5B,IAAID,GAAG,IAAIA,GAAG,CAACE,MAAJ,CAAW,CAAX,MAAkB,GAA7B,EAAkC;MAC9B,OAAO,KAAP;IACH;;IAED,IAAID,KAAK,IAAI,OAAOA,KAAK,CAAC,KAAD,CAAZ,KAAwB,WAArC,EAAkD;MAC9C,OAAO,IAAP;IACH;;IAED,OAAOJ,UAAU,CAACM,QAAX,CAAoB,OAAOF,KAA3B,CAAP;EACH,CAXgB;EAYjBG,OAAO,EAAE,CAAC;IAAEJ,GAAF;IAAOC,KAAP;IAAcI;EAAd,CAAD,KAA0B;IAC/BA,IAAI,CAACC,UAAL,IAAoB,IAAGN,GAAI,OAAMA,GAAI,EAArC;IACAK,IAAI,CAACE,cAAL,CAAqB,IAAGP,GAAI,EAA5B,IAAiCA,GAAjC;IACAK,IAAI,CAACG,eAAL,CAAsB,IAAGR,GAAI,EAA7B,IAAkCC,KAAlC;EACH;AAhBgB,CAArB;eAmBeH,E"}
@@ -1 +1 @@
1
- {"version":3,"sources":["gt.ts"],"names":["gt","canProcess","value","process","key","args","expression","attributeNames","attributeValues"],"mappings":";;;;;;AAEA,MAAMA,EAAY,GAAG;AACjBC,EAAAA,UAAU,EAAE,CAAC;AAAEC,IAAAA;AAAF,GAAD,KAAe;AACvB,WAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,KAAD,CAAZ,KAAwB,WAAxC;AACH,GAHgB;AAIjBC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,GAAF;AAAOF,IAAAA,KAAP;AAAcG,IAAAA;AAAd,GAAD,KAA0B;AAC/BA,IAAAA,IAAI,CAACC,UAAL,IAAoB,IAAGF,GAAI,OAAMA,GAAI,EAArC;AACAC,IAAAA,IAAI,CAACE,cAAL,CAAqB,IAAGH,GAAI,EAA5B,IAAiCA,GAAjC;AACAC,IAAAA,IAAI,CAACG,eAAL,CAAsB,IAAGJ,GAAI,EAA7B,IAAkCF,KAAK,CAAC,KAAD,CAAvC;AACH;AARgB,CAArB;eAWeF,E","sourcesContent":["import { Operator } from \"~/types\";\n\nconst gt: Operator = {\n canProcess: ({ value }) => {\n return value && typeof value[\"$gt\"] !== \"undefined\";\n },\n process: ({ key, value, args }) => {\n args.expression += `#${key} > :${key}`;\n args.attributeNames[`#${key}`] = key;\n args.attributeValues[`:${key}`] = value[\"$gt\"];\n }\n};\n\nexport default gt;\n"]}
1
+ {"version":3,"names":["gt","canProcess","value","process","key","args","expression","attributeNames","attributeValues"],"sources":["gt.ts"],"sourcesContent":["import { Operator } from \"~/types\";\n\nconst gt: Operator = {\n canProcess: ({ value }) => {\n return value && typeof value[\"$gt\"] !== \"undefined\";\n },\n process: ({ key, value, args }) => {\n args.expression += `#${key} > :${key}`;\n args.attributeNames[`#${key}`] = key;\n args.attributeValues[`:${key}`] = value[\"$gt\"];\n }\n};\n\nexport default gt;\n"],"mappings":";;;;;;AAEA,MAAMA,EAAY,GAAG;EACjBC,UAAU,EAAE,CAAC;IAAEC;EAAF,CAAD,KAAe;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,KAAD,CAAZ,KAAwB,WAAxC;EACH,CAHgB;EAIjBC,OAAO,EAAE,CAAC;IAAEC,GAAF;IAAOF,KAAP;IAAcG;EAAd,CAAD,KAA0B;IAC/BA,IAAI,CAACC,UAAL,IAAoB,IAAGF,GAAI,OAAMA,GAAI,EAArC;IACAC,IAAI,CAACE,cAAL,CAAqB,IAAGH,GAAI,EAA5B,IAAiCA,GAAjC;IACAC,IAAI,CAACG,eAAL,CAAsB,IAAGJ,GAAI,EAA7B,IAAkCF,KAAK,CAAC,KAAD,CAAvC;EACH;AARgB,CAArB;eAWeF,E"}
@@ -1 +1 @@
1
- {"version":3,"sources":["gte.ts"],"names":["gte","canProcess","value","process","key","args","expression","attributeNames","attributeValues"],"mappings":";;;;;;AAEA,MAAMA,GAAa,GAAG;AAClBC,EAAAA,UAAU,EAAE,CAAC;AAAEC,IAAAA;AAAF,GAAD,KAAe;AACvB,WAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,MAAD,CAAZ,KAAyB,WAAzC;AACH,GAHiB;AAIlBC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,GAAF;AAAOF,IAAAA,KAAP;AAAcG,IAAAA;AAAd,GAAD,KAA0B;AAC/BA,IAAAA,IAAI,CAACC,UAAL,IAAoB,IAAGF,GAAI,QAAOA,GAAI,EAAtC;AACAC,IAAAA,IAAI,CAACE,cAAL,CAAqB,IAAGH,GAAI,EAA5B,IAAiCA,GAAjC;AACAC,IAAAA,IAAI,CAACG,eAAL,CAAsB,IAAGJ,GAAI,EAA7B,IAAkCF,KAAK,CAAC,MAAD,CAAvC;AACH;AARiB,CAAtB;eAWeF,G","sourcesContent":["import { Operator } from \"~/types\";\n\nconst gte: Operator = {\n canProcess: ({ value }) => {\n return value && typeof value[\"$gte\"] !== \"undefined\";\n },\n process: ({ key, value, args }) => {\n args.expression += `#${key} >= :${key}`;\n args.attributeNames[`#${key}`] = key;\n args.attributeValues[`:${key}`] = value[\"$gte\"];\n }\n};\n\nexport default gte;\n"]}
1
+ {"version":3,"names":["gte","canProcess","value","process","key","args","expression","attributeNames","attributeValues"],"sources":["gte.ts"],"sourcesContent":["import { Operator } from \"~/types\";\n\nconst gte: Operator = {\n canProcess: ({ value }) => {\n return value && typeof value[\"$gte\"] !== \"undefined\";\n },\n process: ({ key, value, args }) => {\n args.expression += `#${key} >= :${key}`;\n args.attributeNames[`#${key}`] = key;\n args.attributeValues[`:${key}`] = value[\"$gte\"];\n }\n};\n\nexport default gte;\n"],"mappings":";;;;;;AAEA,MAAMA,GAAa,GAAG;EAClBC,UAAU,EAAE,CAAC;IAAEC;EAAF,CAAD,KAAe;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,MAAD,CAAZ,KAAyB,WAAzC;EACH,CAHiB;EAIlBC,OAAO,EAAE,CAAC;IAAEC,GAAF;IAAOF,KAAP;IAAcG;EAAd,CAAD,KAA0B;IAC/BA,IAAI,CAACC,UAAL,IAAoB,IAAGF,GAAI,QAAOA,GAAI,EAAtC;IACAC,IAAI,CAACE,cAAL,CAAqB,IAAGH,GAAI,EAA5B,IAAiCA,GAAjC;IACAC,IAAI,CAACG,eAAL,CAAsB,IAAGJ,GAAI,EAA7B,IAAkCF,KAAK,CAAC,MAAD,CAAvC;EACH;AARiB,CAAtB;eAWeF,G"}
@@ -1 +1 @@
1
- {"version":3,"sources":["lt.ts"],"names":["lt","canProcess","value","process","key","args","expression","attributeNames","attributeValues"],"mappings":";;;;;;AAEA,MAAMA,EAAY,GAAG;AACjBC,EAAAA,UAAU,EAAE,CAAC;AAAEC,IAAAA;AAAF,GAAD,KAAe;AACvB,WAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,KAAD,CAAZ,KAAwB,WAAxC;AACH,GAHgB;AAIjBC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,GAAF;AAAOF,IAAAA,KAAP;AAAcG,IAAAA;AAAd,GAAD,KAA0B;AAC/BA,IAAAA,IAAI,CAACC,UAAL,IAAoB,IAAGF,GAAI,OAAMA,GAAI,EAArC;AACAC,IAAAA,IAAI,CAACE,cAAL,CAAqB,IAAGH,GAAI,EAA5B,IAAiCA,GAAjC;AACAC,IAAAA,IAAI,CAACG,eAAL,CAAsB,IAAGJ,GAAI,EAA7B,IAAkCF,KAAK,CAAC,KAAD,CAAvC;AACH;AARgB,CAArB;eAWeF,E","sourcesContent":["import { Operator } from \"~/types\";\n\nconst lt: Operator = {\n canProcess: ({ value }) => {\n return value && typeof value[\"$lt\"] !== \"undefined\";\n },\n process: ({ key, value, args }) => {\n args.expression += `#${key} < :${key}`;\n args.attributeNames[`#${key}`] = key;\n args.attributeValues[`:${key}`] = value[\"$lt\"];\n }\n};\n\nexport default lt;\n"]}
1
+ {"version":3,"names":["lt","canProcess","value","process","key","args","expression","attributeNames","attributeValues"],"sources":["lt.ts"],"sourcesContent":["import { Operator } from \"~/types\";\n\nconst lt: Operator = {\n canProcess: ({ value }) => {\n return value && typeof value[\"$lt\"] !== \"undefined\";\n },\n process: ({ key, value, args }) => {\n args.expression += `#${key} < :${key}`;\n args.attributeNames[`#${key}`] = key;\n args.attributeValues[`:${key}`] = value[\"$lt\"];\n }\n};\n\nexport default lt;\n"],"mappings":";;;;;;AAEA,MAAMA,EAAY,GAAG;EACjBC,UAAU,EAAE,CAAC;IAAEC;EAAF,CAAD,KAAe;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,KAAD,CAAZ,KAAwB,WAAxC;EACH,CAHgB;EAIjBC,OAAO,EAAE,CAAC;IAAEC,GAAF;IAAOF,KAAP;IAAcG;EAAd,CAAD,KAA0B;IAC/BA,IAAI,CAACC,UAAL,IAAoB,IAAGF,GAAI,OAAMA,GAAI,EAArC;IACAC,IAAI,CAACE,cAAL,CAAqB,IAAGH,GAAI,EAA5B,IAAiCA,GAAjC;IACAC,IAAI,CAACG,eAAL,CAAsB,IAAGJ,GAAI,EAA7B,IAAkCF,KAAK,CAAC,KAAD,CAAvC;EACH;AARgB,CAArB;eAWeF,E"}
@@ -1 +1 @@
1
- {"version":3,"sources":["lte.ts"],"names":["lte","canProcess","value","process","key","args","expression","attributeNames","attributeValues"],"mappings":";;;;;;AAEA,MAAMA,GAAa,GAAG;AAClBC,EAAAA,UAAU,EAAE,CAAC;AAAEC,IAAAA;AAAF,GAAD,KAAe;AACvB,WAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,MAAD,CAAZ,KAAyB,WAAzC;AACH,GAHiB;AAIlBC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,GAAF;AAAOF,IAAAA,KAAP;AAAcG,IAAAA;AAAd,GAAD,KAA0B;AAC/BA,IAAAA,IAAI,CAACC,UAAL,IAAoB,IAAGF,GAAI,QAAOA,GAAI,EAAtC;AACAC,IAAAA,IAAI,CAACE,cAAL,CAAqB,IAAGH,GAAI,EAA5B,IAAiCA,GAAjC;AACAC,IAAAA,IAAI,CAACG,eAAL,CAAsB,IAAGJ,GAAI,EAA7B,IAAkCF,KAAK,CAAC,MAAD,CAAvC;AACH;AARiB,CAAtB;eAWeF,G","sourcesContent":["import { Operator } from \"~/types\";\n\nconst lte: Operator = {\n canProcess: ({ value }) => {\n return value && typeof value[\"$lte\"] !== \"undefined\";\n },\n process: ({ key, value, args }) => {\n args.expression += `#${key} <= :${key}`;\n args.attributeNames[`#${key}`] = key;\n args.attributeValues[`:${key}`] = value[\"$lte\"];\n }\n};\n\nexport default lte;\n"]}
1
+ {"version":3,"names":["lte","canProcess","value","process","key","args","expression","attributeNames","attributeValues"],"sources":["lte.ts"],"sourcesContent":["import { Operator } from \"~/types\";\n\nconst lte: Operator = {\n canProcess: ({ value }) => {\n return value && typeof value[\"$lte\"] !== \"undefined\";\n },\n process: ({ key, value, args }) => {\n args.expression += `#${key} <= :${key}`;\n args.attributeNames[`#${key}`] = key;\n args.attributeValues[`:${key}`] = value[\"$lte\"];\n }\n};\n\nexport default lte;\n"],"mappings":";;;;;;AAEA,MAAMA,GAAa,GAAG;EAClBC,UAAU,EAAE,CAAC;IAAEC;EAAF,CAAD,KAAe;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,MAAD,CAAZ,KAAyB,WAAzC;EACH,CAHiB;EAIlBC,OAAO,EAAE,CAAC;IAAEC,GAAF;IAAOF,KAAP;IAAcG;EAAd,CAAD,KAA0B;IAC/BA,IAAI,CAACC,UAAL,IAAoB,IAAGF,GAAI,QAAOA,GAAI,EAAtC;IACAC,IAAI,CAACE,cAAL,CAAqB,IAAGH,GAAI,EAA5B,IAAiCA,GAAjC;IACAC,IAAI,CAACG,eAAL,CAAsB,IAAGJ,GAAI,EAA7B,IAAkCF,KAAK,CAAC,MAAD,CAAvC;EACH;AARiB,CAAtB;eAWeF,G"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["$and","$or","$beginsWith","$between","$eq","$gt","$gte","$lt","$lte"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;eAEe;AACXA,EAAAA,IAAI,EAAJA,YADW;AAEXC,EAAAA,GAAG,EAAHA,WAFW;AAGXC,EAAAA,WAAW,EAAXA,mBAHW;AAIXC,EAAAA,QAAQ,EAARA,gBAJW;AAKXC,EAAAA,GAAG,EAAHA,WALW;AAMXC,EAAAA,GAAG,EAAHA,WANW;AAOXC,EAAAA,IAAI,EAAJA,YAPW;AAQXC,EAAAA,GAAG,EAAHA,WARW;AASXC,EAAAA,IAAI,EAAJA;AATW,C","sourcesContent":["import $and from \"./logical/and\";\nimport $or from \"./logical/or\";\nimport $beginsWith from \"./comparison/beginsWith\";\nimport $between from \"./comparison/between\";\nimport $gt from \"./comparison/gt\";\nimport $gte from \"./comparison/gte\";\nimport $lt from \"./comparison/lt\";\nimport $lte from \"./comparison/lte\";\nimport $eq from \"./comparison/eq\";\n\nexport default {\n $and,\n $or,\n $beginsWith,\n $between,\n $eq,\n $gt,\n $gte,\n $lt,\n $lte\n};\n"]}
1
+ {"version":3,"names":["$and","$or","$beginsWith","$between","$eq","$gt","$gte","$lt","$lte"],"sources":["index.ts"],"sourcesContent":["import $and from \"./logical/and\";\nimport $or from \"./logical/or\";\nimport $beginsWith from \"./comparison/beginsWith\";\nimport $between from \"./comparison/between\";\nimport $gt from \"./comparison/gt\";\nimport $gte from \"./comparison/gte\";\nimport $lt from \"./comparison/lt\";\nimport $lte from \"./comparison/lte\";\nimport $eq from \"./comparison/eq\";\n\nexport default {\n $and,\n $or,\n $beginsWith,\n $between,\n $eq,\n $gt,\n $gte,\n $lt,\n $lte\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;eAEe;EACXA,IAAI,EAAJA,YADW;EAEXC,GAAG,EAAHA,WAFW;EAGXC,WAAW,EAAXA,mBAHW;EAIXC,QAAQ,EAARA,gBAJW;EAKXC,GAAG,EAAHA,WALW;EAMXC,GAAG,EAAHA,WANW;EAOXC,IAAI,EAAJA,YAPW;EAQXC,GAAG,EAAHA,WARW;EASXC,IAAI,EAAJA;AATW,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["and.ts"],"names":["processQuery","query","andArgs","processStatement","args","expression","attributeNames","attributeValues","Object","assign","and","canProcess","key","process","value","Array","isArray","i","length","andKey","andValue","entries"],"mappings":";;;;;;;AAOA,MAAMA,YAAY,GAAG,CACjBC,KADiB,EAEjBC,OAFiB,EAGjBC,gBAHiB,KAIhB;AACD,QAAMC,IAA+B,GAAG;AACpCC,IAAAA,UAAU,EAAE,EADwB;AAEpCC,IAAAA,cAAc,EAAE,EAFoB;AAGpCC,IAAAA,eAAe,EAAE;AAHmB,GAAxC;AAMAJ,EAAAA,gBAAgB,CAAC;AAAEC,IAAAA,IAAF;AAAQH,IAAAA;AAAR,GAAD,CAAhB;AAEAO,EAAAA,MAAM,CAACC,MAAP,CAAcP,OAAO,CAACI,cAAtB,EAAsCF,IAAI,CAACE,cAA3C;AACAE,EAAAA,MAAM,CAACC,MAAP,CAAcP,OAAO,CAACK,eAAtB,EAAuCH,IAAI,CAACG,eAA5C;;AAEA,MAAIL,OAAO,CAACG,UAAR,KAAuB,EAA3B,EAA+B;AAC3BH,IAAAA,OAAO,CAACG,UAAR,GAAqBD,IAAI,CAACC,UAA1B;AACH,GAFD,MAEO;AACHH,IAAAA,OAAO,CAACG,UAAR,IAAsB,UAAUD,IAAI,CAACC,UAArC;AACH;AACJ,CArBD;;AAuBA,MAAMK,GAAa,GAAG;AAClBC,EAAAA,UAAU,EAAE,CAAC;AAAEC,IAAAA;AAAF,GAAD,KAAa;AACrB,WAAOA,GAAG,KAAK,MAAf;AACH,GAHiB;AAIlBC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,KAAF;AAASV,IAAAA,IAAT;AAAeD,IAAAA;AAAf,GAAD,KAAuC;AAC5C,UAAMD,OAAO,GAAG;AACZG,MAAAA,UAAU,EAAE,EADA;AAEZC,MAAAA,cAAc,EAAE,EAFJ;AAGZC,MAAAA,eAAe,EAAE;AAHL,KAAhB;;AAMA,QAAIQ,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAJ,EAA0B;AACtB,WAAK,IAAIG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,KAAK,CAACI,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;AACnCjB,QAAAA,YAAY,CAACc,KAAK,CAACG,CAAD,CAAN,EAAWf,OAAX,EAAoBC,gBAApB,CAAZ;AACH;AACJ,KAJD,MAIO;AACH,WAAK,MAAM,CAACgB,MAAD,EAASC,QAAT,CAAX,IAAiCZ,MAAM,CAACa,OAAP,CAAeP,KAAf,CAAjC,EAAwD;AACpDd,QAAAA,YAAY,CAAC;AAAE,WAACmB,MAAD,GAAUC;AAAZ,SAAD,EAAyBlB,OAAzB,EAAkCC,gBAAlC,CAAZ;AACH;AACJ;;AAEDC,IAAAA,IAAI,CAACC,UAAL,IAAmB,MAAMH,OAAO,CAACG,UAAd,GAA2B,GAA9C;AACAG,IAAAA,MAAM,CAACC,MAAP,CAAcL,IAAI,CAACE,cAAnB,EAAmCJ,OAAO,CAACI,cAA3C;AACAE,IAAAA,MAAM,CAACC,MAAP,CAAcL,IAAI,CAACG,eAAnB,EAAoCL,OAAO,CAACK,eAA5C;AACH;AAxBiB,CAAtB;eA2BeG,G","sourcesContent":["import {\n Operator,\n ProcessStatementArgsParam,\n ProcessStatementCallable,\n ProcessStatementQueryParam\n} from \"~/types\";\n\nconst processQuery = (\n query: ProcessStatementQueryParam,\n andArgs: ProcessStatementArgsParam,\n processStatement: ProcessStatementCallable\n) => {\n const args: ProcessStatementArgsParam = {\n expression: \"\",\n attributeNames: {},\n attributeValues: {}\n };\n\n processStatement({ args, query });\n\n Object.assign(andArgs.attributeNames, args.attributeNames);\n Object.assign(andArgs.attributeValues, args.attributeValues);\n\n if (andArgs.expression === \"\") {\n andArgs.expression = args.expression;\n } else {\n andArgs.expression += \" and \" + args.expression;\n }\n};\n\nconst and: Operator = {\n canProcess: ({ key }) => {\n return key === \"$and\";\n },\n process: ({ value, args, processStatement }) => {\n const andArgs = {\n expression: \"\",\n attributeNames: {},\n attributeValues: {}\n };\n\n if (Array.isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n processQuery(value[i], andArgs, processStatement);\n }\n } else {\n for (const [andKey, andValue] of Object.entries(value)) {\n processQuery({ [andKey]: andValue }, andArgs, processStatement);\n }\n }\n\n args.expression += \"(\" + andArgs.expression + \")\";\n Object.assign(args.attributeNames, andArgs.attributeNames);\n Object.assign(args.attributeValues, andArgs.attributeValues);\n }\n};\n\nexport default and;\n"]}
1
+ {"version":3,"names":["processQuery","query","andArgs","processStatement","args","expression","attributeNames","attributeValues","Object","assign","and","canProcess","key","process","value","Array","isArray","i","length","andKey","andValue","entries"],"sources":["and.ts"],"sourcesContent":["import {\n Operator,\n ProcessStatementArgsParam,\n ProcessStatementCallable,\n ProcessStatementQueryParam\n} from \"~/types\";\n\nconst processQuery = (\n query: ProcessStatementQueryParam,\n andArgs: ProcessStatementArgsParam,\n processStatement: ProcessStatementCallable\n) => {\n const args: ProcessStatementArgsParam = {\n expression: \"\",\n attributeNames: {},\n attributeValues: {}\n };\n\n processStatement({ args, query });\n\n Object.assign(andArgs.attributeNames, args.attributeNames);\n Object.assign(andArgs.attributeValues, args.attributeValues);\n\n if (andArgs.expression === \"\") {\n andArgs.expression = args.expression;\n } else {\n andArgs.expression += \" and \" + args.expression;\n }\n};\n\nconst and: Operator = {\n canProcess: ({ key }) => {\n return key === \"$and\";\n },\n process: ({ value, args, processStatement }) => {\n const andArgs = {\n expression: \"\",\n attributeNames: {},\n attributeValues: {}\n };\n\n if (Array.isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n processQuery(value[i], andArgs, processStatement);\n }\n } else {\n for (const [andKey, andValue] of Object.entries(value)) {\n processQuery({ [andKey]: andValue }, andArgs, processStatement);\n }\n }\n\n args.expression += \"(\" + andArgs.expression + \")\";\n Object.assign(args.attributeNames, andArgs.attributeNames);\n Object.assign(args.attributeValues, andArgs.attributeValues);\n }\n};\n\nexport default and;\n"],"mappings":";;;;;;;AAOA,MAAMA,YAAY,GAAG,CACjBC,KADiB,EAEjBC,OAFiB,EAGjBC,gBAHiB,KAIhB;EACD,MAAMC,IAA+B,GAAG;IACpCC,UAAU,EAAE,EADwB;IAEpCC,cAAc,EAAE,EAFoB;IAGpCC,eAAe,EAAE;EAHmB,CAAxC;EAMAJ,gBAAgB,CAAC;IAAEC,IAAF;IAAQH;EAAR,CAAD,CAAhB;EAEAO,MAAM,CAACC,MAAP,CAAcP,OAAO,CAACI,cAAtB,EAAsCF,IAAI,CAACE,cAA3C;EACAE,MAAM,CAACC,MAAP,CAAcP,OAAO,CAACK,eAAtB,EAAuCH,IAAI,CAACG,eAA5C;;EAEA,IAAIL,OAAO,CAACG,UAAR,KAAuB,EAA3B,EAA+B;IAC3BH,OAAO,CAACG,UAAR,GAAqBD,IAAI,CAACC,UAA1B;EACH,CAFD,MAEO;IACHH,OAAO,CAACG,UAAR,IAAsB,UAAUD,IAAI,CAACC,UAArC;EACH;AACJ,CArBD;;AAuBA,MAAMK,GAAa,GAAG;EAClBC,UAAU,EAAE,CAAC;IAAEC;EAAF,CAAD,KAAa;IACrB,OAAOA,GAAG,KAAK,MAAf;EACH,CAHiB;EAIlBC,OAAO,EAAE,CAAC;IAAEC,KAAF;IAASV,IAAT;IAAeD;EAAf,CAAD,KAAuC;IAC5C,MAAMD,OAAO,GAAG;MACZG,UAAU,EAAE,EADA;MAEZC,cAAc,EAAE,EAFJ;MAGZC,eAAe,EAAE;IAHL,CAAhB;;IAMA,IAAIQ,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAJ,EAA0B;MACtB,KAAK,IAAIG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,KAAK,CAACI,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;QACnCjB,YAAY,CAACc,KAAK,CAACG,CAAD,CAAN,EAAWf,OAAX,EAAoBC,gBAApB,CAAZ;MACH;IACJ,CAJD,MAIO;MACH,KAAK,MAAM,CAACgB,MAAD,EAASC,QAAT,CAAX,IAAiCZ,MAAM,CAACa,OAAP,CAAeP,KAAf,CAAjC,EAAwD;QACpDd,YAAY,CAAC;UAAE,CAACmB,MAAD,GAAUC;QAAZ,CAAD,EAAyBlB,OAAzB,EAAkCC,gBAAlC,CAAZ;MACH;IACJ;;IAEDC,IAAI,CAACC,UAAL,IAAmB,MAAMH,OAAO,CAACG,UAAd,GAA2B,GAA9C;IACAG,MAAM,CAACC,MAAP,CAAcL,IAAI,CAACE,cAAnB,EAAmCJ,OAAO,CAACI,cAA3C;IACAE,MAAM,CAACC,MAAP,CAAcL,IAAI,CAACG,eAAnB,EAAoCL,OAAO,CAACK,eAA5C;EACH;AAxBiB,CAAtB;eA2BeG,G"}
@@ -1 +1 @@
1
- {"version":3,"sources":["or.ts"],"names":["processQuery","query","orArgs","processStatement","args","expression","attributeNames","attributeValues","Object","assign","or","canProcess","key","process","value","Array","isArray","i","length","orKey","orValue","entries"],"mappings":";;;;;;;AAOA,MAAMA,YAAY,GAAG,CACjBC,KADiB,EAEjBC,MAFiB,EAGjBC,gBAHiB,KAIhB;AACD,QAAMC,IAA+B,GAAG;AACpCC,IAAAA,UAAU,EAAE,EADwB;AAEpCC,IAAAA,cAAc,EAAE,EAFoB;AAGpCC,IAAAA,eAAe,EAAE;AAHmB,GAAxC;AAMAJ,EAAAA,gBAAgB,CAAC;AAAEC,IAAAA,IAAF;AAAQH,IAAAA;AAAR,GAAD,CAAhB;AAEAO,EAAAA,MAAM,CAACC,MAAP,CAAcP,MAAM,CAACI,cAArB,EAAqCF,IAAI,CAACE,cAA1C;AACAE,EAAAA,MAAM,CAACC,MAAP,CAAcP,MAAM,CAACK,eAArB,EAAsCH,IAAI,CAACG,eAA3C;;AAEA,MAAIL,MAAM,CAACG,UAAP,KAAsB,EAA1B,EAA8B;AAC1BH,IAAAA,MAAM,CAACG,UAAP,GAAoBD,IAAI,CAACC,UAAzB;AACH,GAFD,MAEO;AACHH,IAAAA,MAAM,CAACG,UAAP,IAAqB,SAASD,IAAI,CAACC,UAAnC;AACH;AACJ,CArBD;;AAuBA,MAAMK,EAAY,GAAG;AACjBC,EAAAA,UAAU,EAAE,CAAC;AAAEC,IAAAA;AAAF,GAAD,KAAa;AACrB,WAAOA,GAAG,KAAK,KAAf;AACH,GAHgB;AAIjBC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,KAAF;AAASV,IAAAA,IAAT;AAAeD,IAAAA;AAAf,GAAD,KAAuC;AAC5C,UAAMD,MAAiC,GAAG;AACtCG,MAAAA,UAAU,EAAE,EAD0B;AAEtCC,MAAAA,cAAc,EAAE,EAFsB;AAGtCC,MAAAA,eAAe,EAAE;AAHqB,KAA1C;;AAMA,QAAIQ,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAJ,EAA0B;AACtB,WAAK,IAAIG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,KAAK,CAACI,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;AACnCjB,QAAAA,YAAY,CAACc,KAAK,CAACG,CAAD,CAAN,EAAWf,MAAX,EAAmBC,gBAAnB,CAAZ;AACH;AACJ,KAJD,MAIO;AACH,WAAK,MAAM,CAACgB,KAAD,EAAQC,OAAR,CAAX,IAA+BZ,MAAM,CAACa,OAAP,CAAeP,KAAf,CAA/B,EAAsD;AAClDd,QAAAA,YAAY,CAAC;AAAE,WAACmB,KAAD,GAASC;AAAX,SAAD,EAAuBlB,MAAvB,EAA+BC,gBAA/B,CAAZ;AACH;AACJ;;AAEDC,IAAAA,IAAI,CAACC,UAAL,IAAmB,MAAMH,MAAM,CAACG,UAAb,GAA0B,GAA7C;AACAG,IAAAA,MAAM,CAACC,MAAP,CAAcL,IAAI,CAACE,cAAnB,EAAmCJ,MAAM,CAACI,cAA1C;AACAE,IAAAA,MAAM,CAACC,MAAP,CAAcL,IAAI,CAACG,eAAnB,EAAoCL,MAAM,CAACK,eAA3C;AACH;AAxBgB,CAArB;eA2BeG,E","sourcesContent":["import {\n Operator,\n ProcessStatementArgsParam,\n ProcessStatementCallable,\n ProcessStatementQueryParam\n} from \"~/types\";\n\nconst processQuery = (\n query: ProcessStatementQueryParam,\n orArgs: ProcessStatementArgsParam,\n processStatement: ProcessStatementCallable\n) => {\n const args: ProcessStatementArgsParam = {\n expression: \"\",\n attributeNames: {},\n attributeValues: {}\n };\n\n processStatement({ args, query });\n\n Object.assign(orArgs.attributeNames, args.attributeNames);\n Object.assign(orArgs.attributeValues, args.attributeValues);\n\n if (orArgs.expression === \"\") {\n orArgs.expression = args.expression;\n } else {\n orArgs.expression += \" or \" + args.expression;\n }\n};\n\nconst or: Operator = {\n canProcess: ({ key }) => {\n return key === \"$or\";\n },\n process: ({ value, args, processStatement }) => {\n const orArgs: ProcessStatementArgsParam = {\n expression: \"\",\n attributeNames: {},\n attributeValues: {}\n };\n\n if (Array.isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n processQuery(value[i], orArgs, processStatement);\n }\n } else {\n for (const [orKey, orValue] of Object.entries(value)) {\n processQuery({ [orKey]: orValue }, orArgs, processStatement);\n }\n }\n\n args.expression += \"(\" + orArgs.expression + \")\";\n Object.assign(args.attributeNames, orArgs.attributeNames);\n Object.assign(args.attributeValues, orArgs.attributeValues);\n }\n};\n\nexport default or;\n"]}
1
+ {"version":3,"names":["processQuery","query","orArgs","processStatement","args","expression","attributeNames","attributeValues","Object","assign","or","canProcess","key","process","value","Array","isArray","i","length","orKey","orValue","entries"],"sources":["or.ts"],"sourcesContent":["import {\n Operator,\n ProcessStatementArgsParam,\n ProcessStatementCallable,\n ProcessStatementQueryParam\n} from \"~/types\";\n\nconst processQuery = (\n query: ProcessStatementQueryParam,\n orArgs: ProcessStatementArgsParam,\n processStatement: ProcessStatementCallable\n) => {\n const args: ProcessStatementArgsParam = {\n expression: \"\",\n attributeNames: {},\n attributeValues: {}\n };\n\n processStatement({ args, query });\n\n Object.assign(orArgs.attributeNames, args.attributeNames);\n Object.assign(orArgs.attributeValues, args.attributeValues);\n\n if (orArgs.expression === \"\") {\n orArgs.expression = args.expression;\n } else {\n orArgs.expression += \" or \" + args.expression;\n }\n};\n\nconst or: Operator = {\n canProcess: ({ key }) => {\n return key === \"$or\";\n },\n process: ({ value, args, processStatement }) => {\n const orArgs: ProcessStatementArgsParam = {\n expression: \"\",\n attributeNames: {},\n attributeValues: {}\n };\n\n if (Array.isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n processQuery(value[i], orArgs, processStatement);\n }\n } else {\n for (const [orKey, orValue] of Object.entries(value)) {\n processQuery({ [orKey]: orValue }, orArgs, processStatement);\n }\n }\n\n args.expression += \"(\" + orArgs.expression + \")\";\n Object.assign(args.attributeNames, orArgs.attributeNames);\n Object.assign(args.attributeValues, orArgs.attributeValues);\n }\n};\n\nexport default or;\n"],"mappings":";;;;;;;AAOA,MAAMA,YAAY,GAAG,CACjBC,KADiB,EAEjBC,MAFiB,EAGjBC,gBAHiB,KAIhB;EACD,MAAMC,IAA+B,GAAG;IACpCC,UAAU,EAAE,EADwB;IAEpCC,cAAc,EAAE,EAFoB;IAGpCC,eAAe,EAAE;EAHmB,CAAxC;EAMAJ,gBAAgB,CAAC;IAAEC,IAAF;IAAQH;EAAR,CAAD,CAAhB;EAEAO,MAAM,CAACC,MAAP,CAAcP,MAAM,CAACI,cAArB,EAAqCF,IAAI,CAACE,cAA1C;EACAE,MAAM,CAACC,MAAP,CAAcP,MAAM,CAACK,eAArB,EAAsCH,IAAI,CAACG,eAA3C;;EAEA,IAAIL,MAAM,CAACG,UAAP,KAAsB,EAA1B,EAA8B;IAC1BH,MAAM,CAACG,UAAP,GAAoBD,IAAI,CAACC,UAAzB;EACH,CAFD,MAEO;IACHH,MAAM,CAACG,UAAP,IAAqB,SAASD,IAAI,CAACC,UAAnC;EACH;AACJ,CArBD;;AAuBA,MAAMK,EAAY,GAAG;EACjBC,UAAU,EAAE,CAAC;IAAEC;EAAF,CAAD,KAAa;IACrB,OAAOA,GAAG,KAAK,KAAf;EACH,CAHgB;EAIjBC,OAAO,EAAE,CAAC;IAAEC,KAAF;IAASV,IAAT;IAAeD;EAAf,CAAD,KAAuC;IAC5C,MAAMD,MAAiC,GAAG;MACtCG,UAAU,EAAE,EAD0B;MAEtCC,cAAc,EAAE,EAFsB;MAGtCC,eAAe,EAAE;IAHqB,CAA1C;;IAMA,IAAIQ,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAJ,EAA0B;MACtB,KAAK,IAAIG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,KAAK,CAACI,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;QACnCjB,YAAY,CAACc,KAAK,CAACG,CAAD,CAAN,EAAWf,MAAX,EAAmBC,gBAAnB,CAAZ;MACH;IACJ,CAJD,MAIO;MACH,KAAK,MAAM,CAACgB,KAAD,EAAQC,OAAR,CAAX,IAA+BZ,MAAM,CAACa,OAAP,CAAeP,KAAf,CAA/B,EAAsD;QAClDd,YAAY,CAAC;UAAE,CAACmB,KAAD,GAASC;QAAX,CAAD,EAAuBlB,MAAvB,EAA+BC,gBAA/B,CAAZ;MACH;IACJ;;IAEDC,IAAI,CAACC,UAAL,IAAmB,MAAMH,MAAM,CAACG,UAAb,GAA0B,GAA7C;IACAG,MAAM,CAACC,MAAP,CAAcL,IAAI,CAACE,cAAnB,EAAmCJ,MAAM,CAACI,cAA1C;IACAE,MAAM,CAACC,MAAP,CAAcL,IAAI,CAACG,eAAnB,EAAoCL,MAAM,CAACK,eAA3C;EACH;AAxBgB,CAArB;eA2BeG,E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/db-dynamodb",
3
- "version": "5.26.1-beta.0",
3
+ "version": "5.28.0-beta.0",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -10,14 +10,14 @@
10
10
  "author": "Webiny Ltd",
11
11
  "license": "MIT",
12
12
  "dependencies": {
13
- "@webiny/db": "5.26.1-beta.0",
14
- "@webiny/error": "5.26.1-beta.0",
15
- "@webiny/handler": "5.26.1-beta.0",
16
- "@webiny/handler-db": "5.26.1-beta.0",
17
- "@webiny/plugins": "5.26.1-beta.0",
13
+ "@webiny/db": "5.28.0-beta.0",
14
+ "@webiny/error": "5.28.0-beta.0",
15
+ "@webiny/handler": "5.28.0-beta.0",
16
+ "@webiny/handler-db": "5.28.0-beta.0",
17
+ "@webiny/plugins": "5.28.0-beta.0",
18
18
  "date-fns": "2.28.0",
19
19
  "dot-prop": "6.0.1",
20
- "fuse.js": "6.5.3",
20
+ "fuse.js": "6.6.2",
21
21
  "is-number": "7.0.0",
22
22
  "lodash": "4.17.21"
23
23
  },
@@ -25,8 +25,8 @@
25
25
  "@babel/cli": "^7.16.0",
26
26
  "@babel/core": "^7.16.0",
27
27
  "@types/is-number": "^7.0.2",
28
- "@webiny/cli": "^5.26.1-beta.0",
29
- "@webiny/project-utils": "^5.26.1-beta.0",
28
+ "@webiny/cli": "^5.28.0-beta.0",
29
+ "@webiny/project-utils": "^5.28.0-beta.0",
30
30
  "dynamodb-toolbox": "^0.3.4",
31
31
  "jest": "^26.6.3",
32
32
  "jest-dynalite": "^3.2.0",
@@ -42,5 +42,5 @@
42
42
  "build": "yarn webiny run build",
43
43
  "watch": "yarn webiny run watch"
44
44
  },
45
- "gitHead": "d85df0d292bfd4ee2422cbb59de18ee8899df076"
45
+ "gitHead": "6503c7f86cfc90660f005acf72049505bfd4fb76"
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["AttributePlugin.ts"],"names":["reservedFields","AttributePlugin","Plugin","entity","_entity","attribute","_attribute","constructor","params","validateReserved","_params","getDefinition","includes","WebinyError"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAMA,MAAMA,cAAc,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,OAAb,EAAsB,MAAtB,CAAvB;;AAUO,MAAeC,eAAf,SAAuCC,eAAvC,CAA8C;AAMhC,MAANC,MAAM,GAAW;AACxB,WAAO,KAAKC,OAAZ;AACH;;AAEmB,MAATC,SAAS,GAAW;AAC3B,WAAO,KAAKC,UAAZ;AACH;;AAEMC,EAAAA,WAAW,CAAC;AAAEJ,IAAAA,MAAF;AAAUE,IAAAA,SAAV;AAAqBG,IAAAA;AAArB,GAAD,EAAuD;AACrE;AADqE;AAAA;AAAA;AAGrE,SAAKC,gBAAL,CAAsBJ,SAAtB;AAEA,SAAKD,OAAL,GAAeD,MAAf;AACA,SAAKG,UAAL,GAAkBD,SAAlB;AACA,SAAKK,OAAL,GAAeF,MAAf;AACH;;AAEMG,EAAAA,aAAa,GAAqC;AACrD,WAAO;AACH,OAAC,KAAKN,SAAN,GAAkB,KAAKK;AADpB,KAAP;AAGH;;AAEOD,EAAAA,gBAAgB,CAACJ,SAAD,EAA0B;AAC9C,QAAIL,cAAc,CAACY,QAAf,CAAwBP,SAAxB,MAAuC,KAA3C,EAAkD;AAC9C;AACH;;AACD,UAAM,IAAIQ,cAAJ,CACD,mBAAkBR,SAAU,mBAD3B,EAEF,uBAFE,EAGF;AACIA,MAAAA;AADJ,KAHE,CAAN;AAOH;;AAzCgD;;;8BAA/BJ,e,UAC6B,uB","sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { DynamoDBTypes } from \"dynamodb-toolbox/dist/classes/Table\";\nimport {\n EntityAttributeConfig,\n EntityCompositeAttributes\n} from \"dynamodb-toolbox/dist/classes/Entity\";\nconst reservedFields = [\"PK\", \"SK\", \"index\", \"data\"];\n\nexport type DefinitionParams = DynamoDBTypes | EntityAttributeConfig | EntityCompositeAttributes;\n\nexport interface AttributePluginParams {\n entity: string;\n attribute: string;\n params: DefinitionParams;\n}\n\nexport abstract class AttributePlugin extends Plugin {\n public static override readonly type: string = \"db.dynamodb.attribute\";\n private readonly _entity: string;\n private readonly _attribute: string;\n private readonly _params: DefinitionParams;\n\n public get entity(): string {\n return this._entity;\n }\n\n public get attribute(): string {\n return this._attribute;\n }\n\n public constructor({ entity, attribute, params }: AttributePluginParams) {\n super();\n\n this.validateReserved(attribute);\n\n this._entity = entity;\n this._attribute = attribute;\n this._params = params;\n }\n\n public getDefinition(): Record<string, DefinitionParams> {\n return {\n [this.attribute]: this._params\n };\n }\n\n private validateReserved(attribute: string): void {\n if (reservedFields.includes(attribute) === false) {\n return;\n }\n throw new WebinyError(\n `Attribute name \"${attribute}\" is not allowed.`,\n \"ATTRIBUTE_NOT_ALLOWED\",\n {\n attribute\n }\n );\n }\n}\n"]}
1
+ {"version":3,"names":["reservedFields","AttributePlugin","Plugin","entity","_entity","attribute","_attribute","constructor","params","validateReserved","_params","getDefinition","includes","WebinyError"],"sources":["AttributePlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { DynamoDBTypes } from \"dynamodb-toolbox/dist/classes/Table\";\nimport {\n EntityAttributeConfig,\n EntityCompositeAttributes\n} from \"dynamodb-toolbox/dist/classes/Entity\";\nconst reservedFields = [\"PK\", \"SK\", \"index\", \"data\"];\n\nexport type DefinitionParams = DynamoDBTypes | EntityAttributeConfig | EntityCompositeAttributes;\n\nexport interface AttributePluginParams {\n entity: string;\n attribute: string;\n params: DefinitionParams;\n}\n\nexport abstract class AttributePlugin extends Plugin {\n public static override readonly type: string = \"db.dynamodb.attribute\";\n private readonly _entity: string;\n private readonly _attribute: string;\n private readonly _params: DefinitionParams;\n\n public get entity(): string {\n return this._entity;\n }\n\n public get attribute(): string {\n return this._attribute;\n }\n\n public constructor({ entity, attribute, params }: AttributePluginParams) {\n super();\n\n this.validateReserved(attribute);\n\n this._entity = entity;\n this._attribute = attribute;\n this._params = params;\n }\n\n public getDefinition(): Record<string, DefinitionParams> {\n return {\n [this.attribute]: this._params\n };\n }\n\n private validateReserved(attribute: string): void {\n if (reservedFields.includes(attribute) === false) {\n return;\n }\n throw new WebinyError(\n `Attribute name \"${attribute}\" is not allowed.`,\n \"ATTRIBUTE_NOT_ALLOWED\",\n {\n attribute\n }\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAMA,MAAMA,cAAc,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,OAAb,EAAsB,MAAtB,CAAvB;;AAUO,MAAeC,eAAf,SAAuCC,eAAvC,CAA8C;EAMhC,IAANC,MAAM,GAAW;IACxB,OAAO,KAAKC,OAAZ;EACH;;EAEmB,IAATC,SAAS,GAAW;IAC3B,OAAO,KAAKC,UAAZ;EACH;;EAEMC,WAAW,CAAC;IAAEJ,MAAF;IAAUE,SAAV;IAAqBG;EAArB,CAAD,EAAuD;IACrE;IADqE;IAAA;IAAA;IAGrE,KAAKC,gBAAL,CAAsBJ,SAAtB;IAEA,KAAKD,OAAL,GAAeD,MAAf;IACA,KAAKG,UAAL,GAAkBD,SAAlB;IACA,KAAKK,OAAL,GAAeF,MAAf;EACH;;EAEMG,aAAa,GAAqC;IACrD,OAAO;MACH,CAAC,KAAKN,SAAN,GAAkB,KAAKK;IADpB,CAAP;EAGH;;EAEOD,gBAAgB,CAACJ,SAAD,EAA0B;IAC9C,IAAIL,cAAc,CAACY,QAAf,CAAwBP,SAAxB,MAAuC,KAA3C,EAAkD;MAC9C;IACH;;IACD,MAAM,IAAIQ,cAAJ,CACD,mBAAkBR,SAAU,mBAD3B,EAEF,uBAFE,EAGF;MACIA;IADJ,CAHE,CAAN;EAOH;;AAzCgD;;;8BAA/BJ,e,UAC6B,uB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["DateTimeTransformPlugin.ts"],"names":["transformDateTime","params","value","getTime","parsedDateTime","isNaN","WebinyError","DateTimeTransformPlugin","ValueTransformPlugin","constructor","transform"],"mappings":";;;;;;;;;;;AAAA;;AAKA;;AACA;;;;;;AAEA,MAAMA,iBAAiB,GAAIC,MAAD,IAAsE;AAC5F,QAAM;AAAEC,IAAAA;AAAF,MAAYD,MAAlB;;AACA,MAAIC,KAAK,KAAK,IAAd,EAAoB;AAChB,WAAO,IAAP;AACH;;AACD,MAAIA,KAAK,IAAI,OAAQA,KAAD,CAAeC,OAAtB,KAAkC,UAA/C,EAA2D;AACvD;AACR;AACA;AACQ,WAAQD,KAAD,CAAgBC,OAAhB,EAAP;AACH;;AACD,QAAMC,cAAc,GAAG,uBAASF,KAAT,EAAgBC,OAAhB,EAAvB;;AACA,MAAIE,KAAK,CAACD,cAAD,CAAL,KAA0B,KAA9B,EAAqC;AACjC,WAAOA,cAAP;AACH;;AACD,QAAM,IAAIE,cAAJ,CAAgB,uCAAhB,EAAyD,kBAAzD,EAA6E;AAC/EJ,IAAAA;AAD+E,GAA7E,CAAN;AAGH,CAlBD;;AAoBO,MAAMK,uBAAN,SAAsCC,0CAAtC,CAA2D;AACvDC,EAAAA,WAAW,CAACR,MAAD,EAAwD;AACtE;AACIS,MAAAA,SAAS,EAAEV;AADf,OAEOC,MAFP;AAIH;;AAN6D","sourcesContent":["import {\n ValueTransformPlugin,\n ValueTransformPluginParams,\n ValueTransformPluginParamsTransformParams\n} from \"./ValueTransformPlugin\";\nimport WebinyError from \"@webiny/error\";\nimport { parseISO } from \"date-fns\";\n\nconst transformDateTime = (params: ValueTransformPluginParamsTransformParams): number | null => {\n const { value } = params;\n if (value === null) {\n return null;\n }\n if (value && typeof (value as any).getTime === \"function\") {\n /**\n * In this case we assume this is a date object and we just get the time.\n */\n return (value as Date).getTime();\n }\n const parsedDateTime = parseISO(value).getTime();\n if (isNaN(parsedDateTime) === false) {\n return parsedDateTime;\n }\n throw new WebinyError(\"Could not parse given dateTime value.\", \"PARSE_DATE_ERROR\", {\n value\n });\n};\n\nexport class DateTimeTransformPlugin extends ValueTransformPlugin {\n public constructor(params: Omit<ValueTransformPluginParams, \"transform\">) {\n super({\n transform: transformDateTime,\n ...params\n });\n }\n}\n"]}
1
+ {"version":3,"names":["transformDateTime","params","value","getTime","parsedDateTime","parseISO","isNaN","WebinyError","DateTimeTransformPlugin","ValueTransformPlugin","constructor","transform"],"sources":["DateTimeTransformPlugin.ts"],"sourcesContent":["import {\n ValueTransformPlugin,\n ValueTransformPluginParams,\n ValueTransformPluginParamsTransformParams\n} from \"./ValueTransformPlugin\";\nimport WebinyError from \"@webiny/error\";\nimport { parseISO } from \"date-fns\";\n\nconst transformDateTime = (params: ValueTransformPluginParamsTransformParams): number | null => {\n const { value } = params;\n if (value === null) {\n return null;\n }\n if (value && typeof (value as any).getTime === \"function\") {\n /**\n * In this case we assume this is a date object and we just get the time.\n */\n return (value as Date).getTime();\n }\n const parsedDateTime = parseISO(value).getTime();\n if (isNaN(parsedDateTime) === false) {\n return parsedDateTime;\n }\n throw new WebinyError(\"Could not parse given dateTime value.\", \"PARSE_DATE_ERROR\", {\n value\n });\n};\n\nexport class DateTimeTransformPlugin extends ValueTransformPlugin {\n public constructor(params: Omit<ValueTransformPluginParams, \"transform\">) {\n super({\n transform: transformDateTime,\n ...params\n });\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AAKA;;AACA;;;;;;AAEA,MAAMA,iBAAiB,GAAIC,MAAD,IAAsE;EAC5F,MAAM;IAAEC;EAAF,IAAYD,MAAlB;;EACA,IAAIC,KAAK,KAAK,IAAd,EAAoB;IAChB,OAAO,IAAP;EACH;;EACD,IAAIA,KAAK,IAAI,OAAQA,KAAD,CAAeC,OAAtB,KAAkC,UAA/C,EAA2D;IACvD;AACR;AACA;IACQ,OAAQD,KAAD,CAAgBC,OAAhB,EAAP;EACH;;EACD,MAAMC,cAAc,GAAG,IAAAC,iBAAA,EAASH,KAAT,EAAgBC,OAAhB,EAAvB;;EACA,IAAIG,KAAK,CAACF,cAAD,CAAL,KAA0B,KAA9B,EAAqC;IACjC,OAAOA,cAAP;EACH;;EACD,MAAM,IAAIG,cAAJ,CAAgB,uCAAhB,EAAyD,kBAAzD,EAA6E;IAC/EL;EAD+E,CAA7E,CAAN;AAGH,CAlBD;;AAoBO,MAAMM,uBAAN,SAAsCC,0CAAtC,CAA2D;EACvDC,WAAW,CAACT,MAAD,EAAwD;IACtE;MACIU,SAAS,EAAEX;IADf,GAEOC,MAFP;EAIH;;AAN6D"}
@@ -1 +1 @@
1
- {"version":3,"sources":["FieldPathPlugin.ts"],"names":["FieldPathPlugin","Plugin","constructor","params","_params","fields","canCreate","field","includes","createPath","WebinyError"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAiBO,MAAMA,eAAN,SAA8BC,eAA9B,CAAqC;AAIjCC,EAAAA,WAAW,CAACC,MAAD,EAAgC;AAC9C;AAD8C;AAE9C,SAAKC,OAAL,mCACOD,MADP;AAEIE,MAAAA,MAAM,EAAE,gCAAaF,MAAM,CAACE,MAApB;AAFZ;AAIH;;AAEMC,EAAAA,SAAS,CAACC,KAAD,EAAyB;AACrC,WAAO,KAAKH,OAAL,CAAaC,MAAb,CAAoBG,QAApB,CAA6BD,KAA7B,CAAP;AACH;;AAEME,EAAAA,UAAU,CAACF,KAAD,EAAwB;AACrC,QAAI,CAAC,KAAKH,OAAL,CAAaK,UAAlB,EAA8B;AAC1B,YAAM,IAAIC,cAAJ,CAAiB,qCAAjB,EAAuD,iBAAvD,EAA0E;AAC5EL,QAAAA,MAAM,EAAE,KAAKD,OAAL,CAAaC;AADuD,OAA1E,CAAN;AAGH;;AACD,WAAO,KAAKD,OAAL,CAAaK,UAAb,CAAwBF,KAAxB,CAAP;AACH;;AAvBuC;;;8BAA/BP,e,UACsC,qB","sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { assignFields } from \"./assignFields\";\n\nexport interface CreatePath {\n (field: string): string;\n}\nexport interface FieldPathPluginParams {\n /**\n * Which field(s) is this plugin for.\n */\n fields: string | string[];\n /**\n * Create a path for given field.\n * Field is passed because it can be a multi-field plugin.\n */\n createPath: CreatePath;\n}\n\nexport class FieldPathPlugin extends Plugin {\n public static override readonly type: string = \"dynamodb.value.path\";\n private readonly _params: Omit<FieldPathPluginParams, \"fields\"> & { fields: string[] };\n\n public constructor(params: FieldPathPluginParams) {\n super();\n this._params = {\n ...params,\n fields: assignFields(params.fields)\n };\n }\n\n public canCreate(field: string): boolean {\n return this._params.fields.includes(field);\n }\n\n public createPath(field: string): string {\n if (!this._params.createPath) {\n throw new WebinyError(`Missing \"createPath\" in the plugin.`, \"TRANSFORM_ERROR\", {\n fields: this._params.fields\n });\n }\n return this._params.createPath(field);\n }\n}\n"]}
1
+ {"version":3,"names":["FieldPathPlugin","Plugin","constructor","params","_params","fields","assignFields","canCreate","field","includes","createPath","WebinyError"],"sources":["FieldPathPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { assignFields } from \"./assignFields\";\n\nexport interface CreatePath {\n (field: string): string;\n}\nexport interface FieldPathPluginParams {\n /**\n * Which field(s) is this plugin for.\n */\n fields: string | string[];\n /**\n * Create a path for given field.\n * Field is passed because it can be a multi-field plugin.\n */\n createPath: CreatePath;\n}\n\nexport class FieldPathPlugin extends Plugin {\n public static override readonly type: string = \"dynamodb.value.path\";\n private readonly _params: Omit<FieldPathPluginParams, \"fields\"> & { fields: string[] };\n\n public constructor(params: FieldPathPluginParams) {\n super();\n this._params = {\n ...params,\n fields: assignFields(params.fields)\n };\n }\n\n public canCreate(field: string): boolean {\n return this._params.fields.includes(field);\n }\n\n public createPath(field: string): string {\n if (!this._params.createPath) {\n throw new WebinyError(`Missing \"createPath\" in the plugin.`, \"TRANSFORM_ERROR\", {\n fields: this._params.fields\n });\n }\n return this._params.createPath(field);\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAiBO,MAAMA,eAAN,SAA8BC,eAA9B,CAAqC;EAIjCC,WAAW,CAACC,MAAD,EAAgC;IAC9C;IAD8C;IAE9C,KAAKC,OAAL,mCACOD,MADP;MAEIE,MAAM,EAAE,IAAAC,0BAAA,EAAaH,MAAM,CAACE,MAApB;IAFZ;EAIH;;EAEME,SAAS,CAACC,KAAD,EAAyB;IACrC,OAAO,KAAKJ,OAAL,CAAaC,MAAb,CAAoBI,QAApB,CAA6BD,KAA7B,CAAP;EACH;;EAEME,UAAU,CAACF,KAAD,EAAwB;IACrC,IAAI,CAAC,KAAKJ,OAAL,CAAaM,UAAlB,EAA8B;MAC1B,MAAM,IAAIC,cAAJ,CAAiB,qCAAjB,EAAuD,iBAAvD,EAA0E;QAC5EN,MAAM,EAAE,KAAKD,OAAL,CAAaC;MADuD,CAA1E,CAAN;IAGH;;IACD,OAAO,KAAKD,OAAL,CAAaM,UAAb,CAAwBF,KAAxB,CAAP;EACH;;AAvBuC;;;8BAA/BR,e,UACsC,qB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["FieldPlugin.ts"],"names":["FieldPlugin","Plugin","constructor","params","fieldType","type","dynamoDbType","field","path","sortable","undefined","_transformValue","transformValue","getPath","getType","getField","getDynamoDbType","value","Number","Date","isSortable"],"mappings":";;;;;;;;;;;AAAA;;AAwBO,MAAeA,WAAf,SAAmCC,eAAnC,CAA0C;AAQtCC,EAAAA,WAAW,CAACC,MAAD,EAA4B;AAC1C;AAD0C;AAAA;AAAA;AAAA;AAAA;AAAA;AAE1C,SAAKC,SAAL,GAAiBD,MAAM,CAACE,IAAP,IAAe,QAAhC;AACA,SAAKC,YAAL,GAAoBH,MAAM,CAACE,IAAP,KAAgB,MAAhB,GAAyB,QAAzB,GAAoCF,MAAM,CAACE,IAA/D;AACA,SAAKE,KAAL,GAAaJ,MAAM,CAACI,KAApB;AACA,SAAKC,IAAL,GAAYL,MAAM,CAACK,IAAnB;AACA,SAAKC,QAAL,GAAgBN,MAAM,CAACM,QAAP,KAAoBC,SAApB,GAAgC,IAAhC,GAAuCP,MAAM,CAACM,QAA9D;AACA,SAAKE,eAAL,GAAuBR,MAAM,CAACS,cAA9B;AACH;;AAEMC,EAAAA,OAAO,GAAW;AACrB,WAAO,KAAKL,IAAL,IAAa,KAAKD,KAAzB;AACH;;AAEMO,EAAAA,OAAO,GAAc;AACxB,WAAO,KAAKV,SAAZ;AACH;;AAEMW,EAAAA,QAAQ,GAAW;AACtB,WAAO,KAAKR,KAAZ;AACH;;AAEMS,EAAAA,eAAe,GAAW;AAC7B,WAAO,KAAKV,YAAZ;AACH;;AAEMM,EAAAA,cAAc,CAACK,KAAD,EAAkB;AACnC,QAAI,KAAKN,eAAT,EAA0B;AACtB,aAAO,KAAKC,cAAL,CAAoBK,KAApB,CAAP;AACH;;AACD,YAAQ,KAAKb,SAAb;AACI,WAAK,QAAL;AACI,eAAOc,MAAM,CAACD,KAAD,CAAb;;AACJ,WAAK,MAAL;AACI,YAAI,CAACA,KAAL,EAAY;AACR,iBAAO,IAAP;AACH;;AACD,eAAO,IAAIE,IAAJ,CAASF,KAAT,CAAP;AAPR;;AASA,WAAOA,KAAP;AACH;;AAEMG,EAAAA,UAAU,GAAY;AACzB,WAAO,KAAKX,QAAZ;AACH;;AApD4C","sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport { DynamoDBTypes } from \"dynamodb-toolbox/dist/classes/Table\";\n\nexport type FieldType = DynamoDBTypes & \"date\" & any;\n\nexport interface TransformValueCb {\n (value: any): any;\n}\n\nexport interface FieldPluginParams {\n /**\n * Default is string.\n */\n type?: FieldType;\n field: string;\n path?: string;\n /**\n * Default is true.\n */\n sortable?: boolean;\n\n transformValue?: TransformValueCb;\n}\n\nexport abstract class FieldPlugin extends Plugin {\n private readonly path?: string;\n private readonly field: string;\n private readonly fieldType: FieldType;\n private readonly dynamoDbType: DynamoDBTypes;\n private readonly sortable: boolean;\n private readonly _transformValue: TransformValueCb | undefined;\n\n public constructor(params: FieldPluginParams) {\n super();\n this.fieldType = params.type || \"string\";\n this.dynamoDbType = params.type === \"date\" ? \"string\" : params.type;\n this.field = params.field;\n this.path = params.path;\n this.sortable = params.sortable === undefined ? true : params.sortable;\n this._transformValue = params.transformValue;\n }\n\n public getPath(): string {\n return this.path || this.field;\n }\n\n public getType(): FieldType {\n return this.fieldType;\n }\n\n public getField(): string {\n return this.field;\n }\n\n public getDynamoDbType(): string {\n return this.dynamoDbType;\n }\n\n public transformValue(value: any): any {\n if (this._transformValue) {\n return this.transformValue(value);\n }\n switch (this.fieldType) {\n case \"number\":\n return Number(value);\n case \"date\":\n if (!value) {\n return null;\n }\n return new Date(value);\n }\n return value;\n }\n\n public isSortable(): boolean {\n return this.sortable;\n }\n}\n"]}
1
+ {"version":3,"names":["FieldPlugin","Plugin","constructor","params","fieldType","type","dynamoDbType","field","path","sortable","undefined","_transformValue","transformValue","getPath","getType","getField","getDynamoDbType","value","Number","Date","isSortable"],"sources":["FieldPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport { DynamoDBTypes } from \"dynamodb-toolbox/dist/classes/Table\";\n\nexport type FieldType = DynamoDBTypes & \"date\" & any;\n\nexport interface TransformValueCb {\n (value: any): any;\n}\n\nexport interface FieldPluginParams {\n /**\n * Default is string.\n */\n type?: FieldType;\n field: string;\n path?: string;\n /**\n * Default is true.\n */\n sortable?: boolean;\n\n transformValue?: TransformValueCb;\n}\n\nexport abstract class FieldPlugin extends Plugin {\n private readonly path?: string;\n private readonly field: string;\n private readonly fieldType: FieldType;\n private readonly dynamoDbType: DynamoDBTypes;\n private readonly sortable: boolean;\n private readonly _transformValue: TransformValueCb | undefined;\n\n public constructor(params: FieldPluginParams) {\n super();\n this.fieldType = params.type || \"string\";\n this.dynamoDbType = params.type === \"date\" ? \"string\" : params.type;\n this.field = params.field;\n this.path = params.path;\n this.sortable = params.sortable === undefined ? true : params.sortable;\n this._transformValue = params.transformValue;\n }\n\n public getPath(): string {\n return this.path || this.field;\n }\n\n public getType(): FieldType {\n return this.fieldType;\n }\n\n public getField(): string {\n return this.field;\n }\n\n public getDynamoDbType(): string {\n return this.dynamoDbType;\n }\n\n public transformValue(value: any): any {\n if (this._transformValue) {\n return this.transformValue(value);\n }\n switch (this.fieldType) {\n case \"number\":\n return Number(value);\n case \"date\":\n if (!value) {\n return null;\n }\n return new Date(value);\n }\n return value;\n }\n\n public isSortable(): boolean {\n return this.sortable;\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AAwBO,MAAeA,WAAf,SAAmCC,eAAnC,CAA0C;EAQtCC,WAAW,CAACC,MAAD,EAA4B;IAC1C;IAD0C;IAAA;IAAA;IAAA;IAAA;IAAA;IAE1C,KAAKC,SAAL,GAAiBD,MAAM,CAACE,IAAP,IAAe,QAAhC;IACA,KAAKC,YAAL,GAAoBH,MAAM,CAACE,IAAP,KAAgB,MAAhB,GAAyB,QAAzB,GAAoCF,MAAM,CAACE,IAA/D;IACA,KAAKE,KAAL,GAAaJ,MAAM,CAACI,KAApB;IACA,KAAKC,IAAL,GAAYL,MAAM,CAACK,IAAnB;IACA,KAAKC,QAAL,GAAgBN,MAAM,CAACM,QAAP,KAAoBC,SAApB,GAAgC,IAAhC,GAAuCP,MAAM,CAACM,QAA9D;IACA,KAAKE,eAAL,GAAuBR,MAAM,CAACS,cAA9B;EACH;;EAEMC,OAAO,GAAW;IACrB,OAAO,KAAKL,IAAL,IAAa,KAAKD,KAAzB;EACH;;EAEMO,OAAO,GAAc;IACxB,OAAO,KAAKV,SAAZ;EACH;;EAEMW,QAAQ,GAAW;IACtB,OAAO,KAAKR,KAAZ;EACH;;EAEMS,eAAe,GAAW;IAC7B,OAAO,KAAKV,YAAZ;EACH;;EAEMM,cAAc,CAACK,KAAD,EAAkB;IACnC,IAAI,KAAKN,eAAT,EAA0B;MACtB,OAAO,KAAKC,cAAL,CAAoBK,KAApB,CAAP;IACH;;IACD,QAAQ,KAAKb,SAAb;MACI,KAAK,QAAL;QACI,OAAOc,MAAM,CAACD,KAAD,CAAb;;MACJ,KAAK,MAAL;QACI,IAAI,CAACA,KAAL,EAAY;UACR,OAAO,IAAP;QACH;;QACD,OAAO,IAAIE,IAAJ,CAASF,KAAT,CAAP;IAPR;;IASA,OAAOA,KAAP;EACH;;EAEMG,UAAU,GAAY;IACzB,OAAO,KAAKX,QAAZ;EACH;;AApD4C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["NumberTransformPlugin.ts"],"names":["transformNumber","params","value","typeOf","Number","WebinyError","NumberTransformPlugin","ValueTransformPlugin","constructor","transform"],"mappings":";;;;;;;;;;;AAAA;;AAKA;;AACA;;;;;;AAEA,MAAMA,eAAe,GAAIC,MAAD,IAA+D;AACnF,QAAM;AAAEC,IAAAA;AAAF,MAAYD,MAAlB;AACA,QAAME,MAAM,GAAG,OAAOD,KAAtB;AACA;AACJ;AACA;;AACI,MAAIC,MAAM,KAAK,QAAX,IAAuB,uBAASD,KAAT,MAAoB,IAA/C,EAAqD;AACjD,WAAOE,MAAM,CAACF,KAAD,CAAb;AACH;;AACD,QAAM,IAAIG,cAAJ,CAAgB,uCAAhB,EAAyD,cAAzD,EAAyE;AAC3EH,IAAAA;AAD2E,GAAzE,CAAN;AAGH,CAZD;;AAcO,MAAMI,qBAAN,SAAoCC,0CAApC,CAAyD;AACrDC,EAAAA,WAAW,CAACP,MAAD,EAAwD;AACtE;AACIQ,MAAAA,SAAS,EAAET;AADf,OAEOC,MAFP;AAIH;;AAN2D","sourcesContent":["import {\n ValueTransformPlugin,\n ValueTransformPluginParams,\n ValueTransformPluginParamsTransformParams\n} from \"./ValueTransformPlugin\";\nimport WebinyError from \"@webiny/error\";\nimport isNumber from \"is-number\";\n\nconst transformNumber = (params: ValueTransformPluginParamsTransformParams): number => {\n const { value } = params;\n const typeOf = typeof value;\n /**\n * Due to some internal JS stuff, we must check for a number like this.\n */\n if (typeOf === \"number\" || isNumber(value) === true) {\n return Number(value);\n }\n throw new WebinyError(\"Field value must be a number because.\", \"NUMBER_ERROR\", {\n value\n });\n};\n\nexport class NumberTransformPlugin extends ValueTransformPlugin {\n public constructor(params: Omit<ValueTransformPluginParams, \"transform\">) {\n super({\n transform: transformNumber,\n ...params\n });\n }\n}\n"]}
1
+ {"version":3,"names":["transformNumber","params","value","typeOf","isNumber","Number","WebinyError","NumberTransformPlugin","ValueTransformPlugin","constructor","transform"],"sources":["NumberTransformPlugin.ts"],"sourcesContent":["import {\n ValueTransformPlugin,\n ValueTransformPluginParams,\n ValueTransformPluginParamsTransformParams\n} from \"./ValueTransformPlugin\";\nimport WebinyError from \"@webiny/error\";\nimport isNumber from \"is-number\";\n\nconst transformNumber = (params: ValueTransformPluginParamsTransformParams): number => {\n const { value } = params;\n const typeOf = typeof value;\n /**\n * Due to some internal JS stuff, we must check for a number like this.\n */\n if (typeOf === \"number\" || isNumber(value) === true) {\n return Number(value);\n }\n throw new WebinyError(\"Field value must be a number because.\", \"NUMBER_ERROR\", {\n value\n });\n};\n\nexport class NumberTransformPlugin extends ValueTransformPlugin {\n public constructor(params: Omit<ValueTransformPluginParams, \"transform\">) {\n super({\n transform: transformNumber,\n ...params\n });\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AAKA;;AACA;;;;;;AAEA,MAAMA,eAAe,GAAIC,MAAD,IAA+D;EACnF,MAAM;IAAEC;EAAF,IAAYD,MAAlB;EACA,MAAME,MAAM,GAAG,OAAOD,KAAtB;EACA;AACJ;AACA;;EACI,IAAIC,MAAM,KAAK,QAAX,IAAuB,IAAAC,iBAAA,EAASF,KAAT,MAAoB,IAA/C,EAAqD;IACjD,OAAOG,MAAM,CAACH,KAAD,CAAb;EACH;;EACD,MAAM,IAAII,cAAJ,CAAgB,uCAAhB,EAAyD,cAAzD,EAAyE;IAC3EJ;EAD2E,CAAzE,CAAN;AAGH,CAZD;;AAcO,MAAMK,qBAAN,SAAoCC,0CAApC,CAAyD;EACrDC,WAAW,CAACR,MAAD,EAAwD;IACtE;MACIS,SAAS,EAAEV;IADf,GAEOC,MAFP;EAIH;;AAN2D"}
@@ -1 +1 @@
1
- {"version":3,"sources":["TimeTransformPlugin.ts"],"names":["transformTime","params","value","typeOf","Number","WebinyError","time","milliseconds","split","values","map","length","hours","minutes","seconds","TimeTransformPlugin","ValueTransformPlugin","constructor","transform"],"mappings":";;;;;;;;;;;AAAA;;AAKA;;AACA;;;;;;AAEA,MAAMA,aAAa,GAAIC,MAAD,IAA+D;AACjF,QAAM;AAAEC,IAAAA;AAAF,MAAYD,MAAlB;AACA,QAAME,MAAM,GAAG,OAAOD,KAAtB;AACA;AACJ;AACA;;AACI,MAAIC,MAAM,KAAK,QAAX,IAAuB,uBAASD,KAAT,MAAoB,IAA/C,EAAqD;AACjD,WAAOE,MAAM,CAACF,KAAD,CAAb;AACH,GAFD,MAEO,IAAIC,MAAM,KAAK,QAAf,EAAyB;AAC5B,UAAM,IAAIE,cAAJ,CACF,gEADE,EAEF,kBAFE,EAGF;AACIH,MAAAA;AADJ,KAHE,CAAN;AAOH;AACD;AACJ;AACA;;;AACI,QAAM,CAACI,IAAD,EAAOC,YAAY,GAAG,CAAtB,IAA4BL,KAAD,CAAeM,KAAf,CAAqB,GAArB,CAAjC;AACA,QAAMC,MAAM,GAAGH,IAAI,CAACE,KAAL,CAAW,GAAX,EAAgBE,GAAhB,CAAoBN,MAApB,CAAf;;AACA,MAAIK,MAAM,CAACE,MAAP,GAAgB,CAApB,EAAuB;AACnB,UAAM,IAAIN,cAAJ,CAAgB,+CAAhB,EAAiE,kBAAjE,EAAqF;AACvFH,MAAAA;AADuF,KAArF,CAAN;AAGH;;AACD,QAAM,CAACU,KAAD,EAAQC,OAAR,EAAiBC,OAAO,GAAG,CAA3B,IAAgCL,MAAtC;AACA,SAAO,CAACG,KAAK,GAAG,EAAR,GAAa,EAAb,GAAkBC,OAAO,GAAG,EAA5B,GAAiCC,OAAlC,IAA6C,IAA7C,GAAoDV,MAAM,CAACG,YAAD,CAAjE;AACH,CA7BD;;AA+BO,MAAMQ,mBAAN,SAAkCC,0CAAlC,CAAuD;AACnDC,EAAAA,WAAW,CAAChB,MAAD,EAAwD;AACtE;AACIiB,MAAAA,SAAS,EAAElB;AADf,OAEOC,MAFP;AAIH;;AANyD","sourcesContent":["import {\n ValueTransformPlugin,\n ValueTransformPluginParams,\n ValueTransformPluginParamsTransformParams\n} from \"./ValueTransformPlugin\";\nimport WebinyError from \"@webiny/error\";\nimport isNumber from \"is-number\";\n\nconst transformTime = (params: ValueTransformPluginParamsTransformParams): number => {\n const { value } = params;\n const typeOf = typeof value;\n /**\n * Due to some internal JS stuff, we must check for a number like this.\n */\n if (typeOf === \"number\" || isNumber(value) === true) {\n return Number(value);\n } else if (typeOf !== \"string\") {\n throw new WebinyError(\n \"Field value must be a string because field is defined as time.\",\n \"TIME_PARSE_ERROR\",\n {\n value\n }\n );\n }\n /**\n * This is for the time format, eg. 12:36:25 or 12:36:25.881\n */\n const [time, milliseconds = 0] = (value as any).split(\".\");\n const values = time.split(\":\").map(Number);\n if (values.length < 2) {\n throw new WebinyError(\"Time must contain at least hours and minutes.\", \"TIME_PARSE_ERROR\", {\n value\n });\n }\n const [hours, minutes, seconds = 0] = values;\n return (hours * 60 * 60 + minutes * 60 + seconds) * 1000 + Number(milliseconds);\n};\n\nexport class TimeTransformPlugin extends ValueTransformPlugin {\n public constructor(params: Omit<ValueTransformPluginParams, \"transform\">) {\n super({\n transform: transformTime,\n ...params\n });\n }\n}\n"]}
1
+ {"version":3,"names":["transformTime","params","value","typeOf","isNumber","Number","WebinyError","time","milliseconds","split","values","map","length","hours","minutes","seconds","TimeTransformPlugin","ValueTransformPlugin","constructor","transform"],"sources":["TimeTransformPlugin.ts"],"sourcesContent":["import {\n ValueTransformPlugin,\n ValueTransformPluginParams,\n ValueTransformPluginParamsTransformParams\n} from \"./ValueTransformPlugin\";\nimport WebinyError from \"@webiny/error\";\nimport isNumber from \"is-number\";\n\nconst transformTime = (params: ValueTransformPluginParamsTransformParams): number => {\n const { value } = params;\n const typeOf = typeof value;\n /**\n * Due to some internal JS stuff, we must check for a number like this.\n */\n if (typeOf === \"number\" || isNumber(value) === true) {\n return Number(value);\n } else if (typeOf !== \"string\") {\n throw new WebinyError(\n \"Field value must be a string because field is defined as time.\",\n \"TIME_PARSE_ERROR\",\n {\n value\n }\n );\n }\n /**\n * This is for the time format, eg. 12:36:25 or 12:36:25.881\n */\n const [time, milliseconds = 0] = (value as any).split(\".\");\n const values = time.split(\":\").map(Number);\n if (values.length < 2) {\n throw new WebinyError(\"Time must contain at least hours and minutes.\", \"TIME_PARSE_ERROR\", {\n value\n });\n }\n const [hours, minutes, seconds = 0] = values;\n return (hours * 60 * 60 + minutes * 60 + seconds) * 1000 + Number(milliseconds);\n};\n\nexport class TimeTransformPlugin extends ValueTransformPlugin {\n public constructor(params: Omit<ValueTransformPluginParams, \"transform\">) {\n super({\n transform: transformTime,\n ...params\n });\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AAKA;;AACA;;;;;;AAEA,MAAMA,aAAa,GAAIC,MAAD,IAA+D;EACjF,MAAM;IAAEC;EAAF,IAAYD,MAAlB;EACA,MAAME,MAAM,GAAG,OAAOD,KAAtB;EACA;AACJ;AACA;;EACI,IAAIC,MAAM,KAAK,QAAX,IAAuB,IAAAC,iBAAA,EAASF,KAAT,MAAoB,IAA/C,EAAqD;IACjD,OAAOG,MAAM,CAACH,KAAD,CAAb;EACH,CAFD,MAEO,IAAIC,MAAM,KAAK,QAAf,EAAyB;IAC5B,MAAM,IAAIG,cAAJ,CACF,gEADE,EAEF,kBAFE,EAGF;MACIJ;IADJ,CAHE,CAAN;EAOH;EACD;AACJ;AACA;;;EACI,MAAM,CAACK,IAAD,EAAOC,YAAY,GAAG,CAAtB,IAA4BN,KAAD,CAAeO,KAAf,CAAqB,GAArB,CAAjC;EACA,MAAMC,MAAM,GAAGH,IAAI,CAACE,KAAL,CAAW,GAAX,EAAgBE,GAAhB,CAAoBN,MAApB,CAAf;;EACA,IAAIK,MAAM,CAACE,MAAP,GAAgB,CAApB,EAAuB;IACnB,MAAM,IAAIN,cAAJ,CAAgB,+CAAhB,EAAiE,kBAAjE,EAAqF;MACvFJ;IADuF,CAArF,CAAN;EAGH;;EACD,MAAM,CAACW,KAAD,EAAQC,OAAR,EAAiBC,OAAO,GAAG,CAA3B,IAAgCL,MAAtC;EACA,OAAO,CAACG,KAAK,GAAG,EAAR,GAAa,EAAb,GAAkBC,OAAO,GAAG,EAA5B,GAAiCC,OAAlC,IAA6C,IAA7C,GAAoDV,MAAM,CAACG,YAAD,CAAjE;AACH,CA7BD;;AA+BO,MAAMQ,mBAAN,SAAkCC,0CAAlC,CAAuD;EACnDC,WAAW,CAACjB,MAAD,EAAwD;IACtE;MACIkB,SAAS,EAAEnB;IADf,GAEOC,MAFP;EAIH;;AANyD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["ValueFilterPlugin.ts"],"names":["ValueFilterPlugin","Plugin","operation","getOperation","constructor","params","_params","matches","WebinyError","plugin"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAeO,MAAMA,iBAAN,SAAgCC,eAAhC,CAAuC;AAItB,MAATC,SAAS,GAAW;AAC3B,WAAO,KAAKC,YAAL,EAAP;AACH;;AAEMC,EAAAA,WAAW,CAACC,MAAD,EAAkC;AAChD;AADgD;AAEhD,SAAKC,OAAL,GAAeD,MAAf;AACH;;AAEME,EAAAA,OAAO,CAACF,MAAD,EAAwD;AAClE,QAAI,CAAC,KAAKC,OAAN,IAAiB,CAAC,KAAKA,OAAL,CAAaC,OAAnC,EAA4C;AACxC,YAAM,IAAIC,cAAJ,CAAiB,kCAAjB,EAAoD,eAApD,EAAqE;AACvEC,QAAAA,MAAM,EAAE,IAD+D;AAEvEJ,QAAAA;AAFuE,OAArE,CAAN;AAIH;;AACD,WAAO,KAAKC,OAAL,CAAaC,OAAb,CAAqBF,MAArB,CAAP;AACH;;AAEMF,EAAAA,YAAY,GAAW;AAC1B,QAAI,CAAC,KAAKG,OAAN,IAAiB,CAAC,KAAKA,OAAL,CAAaJ,SAAnC,EAA8C;AAC1C,YAAM,IAAIM,cAAJ,CAAiB,oCAAjB,EAAsD,iBAAtD,CAAN;AACH;;AACD,WAAO,KAAKF,OAAL,CAAaJ,SAApB;AACH;;AA5ByC;;;8BAAjCF,iB,UACsC,uB","sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\n\nexport interface ValueFilterPluginParamsMatchesParams<V = any, C = any> {\n value: V;\n compareValue: C;\n}\n\nexport interface ValueFilterPluginParamsMatches {\n (params: ValueFilterPluginParamsMatchesParams): boolean;\n}\n\nexport interface ValueFilterPluginParams {\n operation: string;\n matches: ValueFilterPluginParamsMatches;\n}\nexport class ValueFilterPlugin extends Plugin {\n public static override readonly type: string = \"dynamodb.value.filter\";\n private readonly _params: ValueFilterPluginParams;\n\n public get operation(): string {\n return this.getOperation();\n }\n\n public constructor(params: ValueFilterPluginParams) {\n super();\n this._params = params;\n }\n\n public matches(params: ValueFilterPluginParamsMatchesParams): boolean {\n if (!this._params || !this._params.matches) {\n throw new WebinyError(`Missing \"matches\" in the plugin.`, \"MATCHES_ERROR\", {\n plugin: this,\n params\n });\n }\n return this._params.matches(params);\n }\n\n public getOperation(): string {\n if (!this._params || !this._params.operation) {\n throw new WebinyError(`Missing \"operation\" in the plugin.`, \"OPERATION_ERROR\");\n }\n return this._params.operation;\n }\n}\n"]}
1
+ {"version":3,"names":["ValueFilterPlugin","Plugin","operation","getOperation","constructor","params","_params","matches","WebinyError","plugin"],"sources":["ValueFilterPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\n\nexport interface ValueFilterPluginParamsMatchesParams<V = any, C = any> {\n value: V;\n compareValue: C;\n}\n\nexport interface ValueFilterPluginParamsMatches {\n (params: ValueFilterPluginParamsMatchesParams): boolean;\n}\n\nexport interface ValueFilterPluginParams {\n operation: string;\n matches: ValueFilterPluginParamsMatches;\n}\nexport class ValueFilterPlugin extends Plugin {\n public static override readonly type: string = \"dynamodb.value.filter\";\n private readonly _params: ValueFilterPluginParams;\n\n public get operation(): string {\n return this.getOperation();\n }\n\n public constructor(params: ValueFilterPluginParams) {\n super();\n this._params = params;\n }\n\n public matches(params: ValueFilterPluginParamsMatchesParams): boolean {\n if (!this._params || !this._params.matches) {\n throw new WebinyError(`Missing \"matches\" in the plugin.`, \"MATCHES_ERROR\", {\n plugin: this,\n params\n });\n }\n return this._params.matches(params);\n }\n\n public getOperation(): string {\n if (!this._params || !this._params.operation) {\n throw new WebinyError(`Missing \"operation\" in the plugin.`, \"OPERATION_ERROR\");\n }\n return this._params.operation;\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAeO,MAAMA,iBAAN,SAAgCC,eAAhC,CAAuC;EAItB,IAATC,SAAS,GAAW;IAC3B,OAAO,KAAKC,YAAL,EAAP;EACH;;EAEMC,WAAW,CAACC,MAAD,EAAkC;IAChD;IADgD;IAEhD,KAAKC,OAAL,GAAeD,MAAf;EACH;;EAEME,OAAO,CAACF,MAAD,EAAwD;IAClE,IAAI,CAAC,KAAKC,OAAN,IAAiB,CAAC,KAAKA,OAAL,CAAaC,OAAnC,EAA4C;MACxC,MAAM,IAAIC,cAAJ,CAAiB,kCAAjB,EAAoD,eAApD,EAAqE;QACvEC,MAAM,EAAE,IAD+D;QAEvEJ;MAFuE,CAArE,CAAN;IAIH;;IACD,OAAO,KAAKC,OAAL,CAAaC,OAAb,CAAqBF,MAArB,CAAP;EACH;;EAEMF,YAAY,GAAW;IAC1B,IAAI,CAAC,KAAKG,OAAN,IAAiB,CAAC,KAAKA,OAAL,CAAaJ,SAAnC,EAA8C;MAC1C,MAAM,IAAIM,cAAJ,CAAiB,oCAAjB,EAAsD,iBAAtD,CAAN;IACH;;IACD,OAAO,KAAKF,OAAL,CAAaJ,SAApB;EACH;;AA5ByC;;;8BAAjCF,iB,UACsC,uB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["ValueTransformPlugin.ts"],"names":["ValueTransformPlugin","Plugin","constructor","params","_params","fields","canTransform","field","includes","transform","WebinyError"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAiBO,MAAMA,oBAAN,SAAmCC,eAAnC,CAA0C;AAKtCC,EAAAA,WAAW,CAACC,MAAD,EAAqC;AACnD;AADmD;AAEnD,SAAKC,OAAL,mCACOD,MADP;AAEIE,MAAAA,MAAM,EAAE,gCAAaF,MAAM,CAACE,MAApB;AAFZ;AAIH;;AAEMC,EAAAA,YAAY,CAACC,KAAD,EAAyB;AACxC,QAAI,CAAC,KAAKH,OAAL,CAAaE,YAAlB,EAAgC;AAC5B,aAAO,KAAKF,OAAL,CAAaC,MAAb,CAAoBG,QAApB,CAA6BD,KAA7B,CAAP;AACH;;AACD,WAAO,KAAKH,OAAL,CAAaE,YAAb,CAA0BC,KAA1B,CAAP;AACH;;AAEME,EAAAA,SAAS,CAACN,MAAD,EAAyD;AACrE,QAAI,CAAC,KAAKC,OAAL,CAAaK,SAAlB,EAA6B;AACzB,YAAM,IAAIC,cAAJ,CAAiB,oCAAjB,EAAsD,iBAAtD,EAAyE;AAC3EL,QAAAA,MAAM,EAAE,KAAKD,OAAL,CAAaC;AADsD,OAAzE,CAAN;AAGH;;AACD,WAAO,KAAKD,OAAL,CAAaK,SAAb,CAAuBN,MAAvB,CAAP;AACH;;AA3B4C;;;8BAApCH,oB,UACsC,0B","sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { assignFields } from \"./assignFields\";\n\nexport interface ValueTransformPluginParamsTransformParams {\n value: any;\n}\nexport interface ValueTransformPluginParamsTransform {\n (params: ValueTransformPluginParamsTransformParams): any;\n}\nexport interface CanTransform {\n (field: string): boolean;\n}\nexport interface ValueTransformPluginParams {\n fields: string[];\n transform: ValueTransformPluginParamsTransform;\n canTransform?: CanTransform;\n}\n\nexport class ValueTransformPlugin extends Plugin {\n public static override readonly type: string = \"dynamodb.value.transform\";\n\n private readonly _params: ValueTransformPluginParams;\n\n public constructor(params: ValueTransformPluginParams) {\n super();\n this._params = {\n ...params,\n fields: assignFields(params.fields)\n };\n }\n\n public canTransform(field: string): boolean {\n if (!this._params.canTransform) {\n return this._params.fields.includes(field);\n }\n return this._params.canTransform(field);\n }\n\n public transform(params: ValueTransformPluginParamsTransformParams): any {\n if (!this._params.transform) {\n throw new WebinyError(`Missing \"transform\" in the plugin.`, \"TRANSFORM_ERROR\", {\n fields: this._params.fields\n });\n }\n return this._params.transform(params);\n }\n}\n"]}
1
+ {"version":3,"names":["ValueTransformPlugin","Plugin","constructor","params","_params","fields","assignFields","canTransform","field","includes","transform","WebinyError"],"sources":["ValueTransformPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { assignFields } from \"./assignFields\";\n\nexport interface ValueTransformPluginParamsTransformParams {\n value: any;\n}\nexport interface ValueTransformPluginParamsTransform {\n (params: ValueTransformPluginParamsTransformParams): any;\n}\nexport interface CanTransform {\n (field: string): boolean;\n}\nexport interface ValueTransformPluginParams {\n fields: string[];\n transform: ValueTransformPluginParamsTransform;\n canTransform?: CanTransform;\n}\n\nexport class ValueTransformPlugin extends Plugin {\n public static override readonly type: string = \"dynamodb.value.transform\";\n\n private readonly _params: ValueTransformPluginParams;\n\n public constructor(params: ValueTransformPluginParams) {\n super();\n this._params = {\n ...params,\n fields: assignFields(params.fields)\n };\n }\n\n public canTransform(field: string): boolean {\n if (!this._params.canTransform) {\n return this._params.fields.includes(field);\n }\n return this._params.canTransform(field);\n }\n\n public transform(params: ValueTransformPluginParamsTransformParams): any {\n if (!this._params.transform) {\n throw new WebinyError(`Missing \"transform\" in the plugin.`, \"TRANSFORM_ERROR\", {\n fields: this._params.fields\n });\n }\n return this._params.transform(params);\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAiBO,MAAMA,oBAAN,SAAmCC,eAAnC,CAA0C;EAKtCC,WAAW,CAACC,MAAD,EAAqC;IACnD;IADmD;IAEnD,KAAKC,OAAL,mCACOD,MADP;MAEIE,MAAM,EAAE,IAAAC,0BAAA,EAAaH,MAAM,CAACE,MAApB;IAFZ;EAIH;;EAEME,YAAY,CAACC,KAAD,EAAyB;IACxC,IAAI,CAAC,KAAKJ,OAAL,CAAaG,YAAlB,EAAgC;MAC5B,OAAO,KAAKH,OAAL,CAAaC,MAAb,CAAoBI,QAApB,CAA6BD,KAA7B,CAAP;IACH;;IACD,OAAO,KAAKJ,OAAL,CAAaG,YAAb,CAA0BC,KAA1B,CAAP;EACH;;EAEME,SAAS,CAACP,MAAD,EAAyD;IACrE,IAAI,CAAC,KAAKC,OAAL,CAAaM,SAAlB,EAA6B;MACzB,MAAM,IAAIC,cAAJ,CAAiB,oCAAjB,EAAsD,iBAAtD,EAAyE;QAC3EN,MAAM,EAAE,KAAKD,OAAL,CAAaC;MADsD,CAAzE,CAAN;IAGH;;IACD,OAAO,KAAKD,OAAL,CAAaM,SAAb,CAAuBP,MAAvB,CAAP;EACH;;AA3B4C;;;8BAApCH,oB,UACsC,0B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["assignFields.ts"],"names":["assignFields","rawInput","input","Array","isArray","length","WebinyError","fields","field","push"],"mappings":";;;;;;;;;AAAA;;AAEO,MAAMA,YAAY,GAAIC,QAAD,IAA2C;AACnE,QAAMC,KAAK,GAAGC,KAAK,CAACC,OAAN,CAAcH,QAAd,IAA0BA,QAA1B,GAAqC,CAACA,QAAD,CAAnD;;AACA,MAAIC,KAAK,CAACG,MAAN,KAAiB,CAArB,EAAwB;AACpB,UAAM,IAAIC,cAAJ,CACF,iDADE,EAEF,qBAFE,CAAN;AAIH;;AACD,QAAMC,MAAgB,GAAG,EAAzB;;AACA,OAAK,MAAMC,KAAX,IAAoBN,KAApB,EAA2B;AACvB;AACR;AACA;AACQ,QAAI,CAACM,KAAL,EAAY;AACR,YAAM,IAAIF,cAAJ,CACF,2CADE,EAEF,mBAFE,EAGF;AACIC,QAAAA,MAAM,EAAEL;AADZ,OAHE,CAAN;AAOH;;AACDK,IAAAA,MAAM,CAACE,IAAP,CAAYD,KAAZ;AACH;;AACD,SAAOD,MAAP;AACH,CAzBM","sourcesContent":["import WebinyError from \"@webiny/error\";\n\nexport const assignFields = (rawInput: string | string[]): string[] => {\n const input = Array.isArray(rawInput) ? rawInput : [rawInput];\n if (input.length === 0) {\n throw new WebinyError(\n \"Could not assign fields because there are none.\",\n \"ASSIGN_FIELDS_ERROR\"\n );\n }\n const fields: string[] = [];\n for (const field of input) {\n /**\n * Need to make sure that no field is empty.\n */\n if (!field) {\n throw new WebinyError(\n \"Passed empty field value into the plugin.\",\n \"EMPTY_FIELD_VALUE\",\n {\n fields: input\n }\n );\n }\n fields.push(field);\n }\n return fields;\n};\n"]}
1
+ {"version":3,"names":["assignFields","rawInput","input","Array","isArray","length","WebinyError","fields","field","push"],"sources":["assignFields.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\n\nexport const assignFields = (rawInput: string | string[]): string[] => {\n const input = Array.isArray(rawInput) ? rawInput : [rawInput];\n if (input.length === 0) {\n throw new WebinyError(\n \"Could not assign fields because there are none.\",\n \"ASSIGN_FIELDS_ERROR\"\n );\n }\n const fields: string[] = [];\n for (const field of input) {\n /**\n * Need to make sure that no field is empty.\n */\n if (!field) {\n throw new WebinyError(\n \"Passed empty field value into the plugin.\",\n \"EMPTY_FIELD_VALUE\",\n {\n fields: input\n }\n );\n }\n fields.push(field);\n }\n return fields;\n};\n"],"mappings":";;;;;;;;;AAAA;;AAEO,MAAMA,YAAY,GAAIC,QAAD,IAA2C;EACnE,MAAMC,KAAK,GAAGC,KAAK,CAACC,OAAN,CAAcH,QAAd,IAA0BA,QAA1B,GAAqC,CAACA,QAAD,CAAnD;;EACA,IAAIC,KAAK,CAACG,MAAN,KAAiB,CAArB,EAAwB;IACpB,MAAM,IAAIC,cAAJ,CACF,iDADE,EAEF,qBAFE,CAAN;EAIH;;EACD,MAAMC,MAAgB,GAAG,EAAzB;;EACA,KAAK,MAAMC,KAAX,IAAoBN,KAApB,EAA2B;IACvB;AACR;AACA;IACQ,IAAI,CAACM,KAAL,EAAY;MACR,MAAM,IAAIF,cAAJ,CACF,2CADE,EAEF,mBAFE,EAGF;QACIC,MAAM,EAAEL;MADZ,CAHE,CAAN;IAOH;;IACDK,MAAM,CAACE,IAAP,CAAYD,KAAZ;EACH;;EACD,OAAOD,MAAP;AACH,CAzBM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["andIn.ts"],"names":["ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","WebinyError","every","c","includes"],"mappings":";;;;;;;;;AAAA;;AACA;;eAOe,IAAIA,oCAAJ,CAAsB;AACjCC,EAAAA,SAAS,EAAE,QADsB;AAEjCC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAD,KAA4C;AACjD,QAAI,CAACA,YAAD,IAAiBC,KAAK,CAACC,OAAN,CAAcF,YAAd,MAAgC,KAArD,EAA4D;AACxD,YAAM,IAAIG,cAAJ,CACD,qDADC,EAEF,qBAFE,EAGF;AACIJ,QAAAA,KADJ;AAEIC,QAAAA;AAFJ,OAHE,CAAN;AAQH;;AACD,QAAIC,KAAK,CAACC,OAAN,CAAcH,KAAd,MAAyB,IAA7B,EAAmC;AAC/B,aAAOC,YAAY,CAACI,KAAb,CAAmBC,CAAC,IAAIN,KAAK,CAACO,QAAN,CAAeD,CAAf,CAAxB,CAAP;AACH;;AACD,WAAOL,YAAY,CAACM,QAAb,CAAsBP,KAAtB,CAAP;AACH;AAjBgC,CAAtB,C","sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\nimport WebinyError from \"@webiny/error\";\n\ninterface MatchesParams {\n value: any[];\n compareValue?: any[];\n}\n\nexport default new ValueFilterPlugin({\n operation: \"and_in\",\n matches: ({ value, compareValue }: MatchesParams) => {\n if (!compareValue || Array.isArray(compareValue) === false) {\n throw new WebinyError(\n `The value given as \"compareValue\" must be an array!`,\n \"COMPARE_VALUE_ERROR\",\n {\n value,\n compareValue\n }\n );\n }\n if (Array.isArray(value) === true) {\n return compareValue.every(c => value.includes(c));\n }\n return compareValue.includes(value);\n }\n});\n"]}
1
+ {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","WebinyError","every","c","includes"],"sources":["andIn.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\nimport WebinyError from \"@webiny/error\";\n\ninterface MatchesParams {\n value: any[];\n compareValue?: any[];\n}\n\nexport default new ValueFilterPlugin({\n operation: \"and_in\",\n matches: ({ value, compareValue }: MatchesParams) => {\n if (!compareValue || Array.isArray(compareValue) === false) {\n throw new WebinyError(\n `The value given as \"compareValue\" must be an array!`,\n \"COMPARE_VALUE_ERROR\",\n {\n value,\n compareValue\n }\n );\n }\n if (Array.isArray(value) === true) {\n return compareValue.every(c => value.includes(c));\n }\n return compareValue.includes(value);\n }\n});\n"],"mappings":";;;;;;;;;AAAA;;AACA;;eAOe,IAAIA,oCAAJ,CAAsB;EACjCC,SAAS,EAAE,QADsB;EAEjCC,OAAO,EAAE,CAAC;IAAEC,KAAF;IAASC;EAAT,CAAD,KAA4C;IACjD,IAAI,CAACA,YAAD,IAAiBC,KAAK,CAACC,OAAN,CAAcF,YAAd,MAAgC,KAArD,EAA4D;MACxD,MAAM,IAAIG,cAAJ,CACD,qDADC,EAEF,qBAFE,EAGF;QACIJ,KADJ;QAEIC;MAFJ,CAHE,CAAN;IAQH;;IACD,IAAIC,KAAK,CAACC,OAAN,CAAcH,KAAd,MAAyB,IAA7B,EAAmC;MAC/B,OAAOC,YAAY,CAACI,KAAb,CAAmBC,CAAC,IAAIN,KAAK,CAACO,QAAN,CAAeD,CAAf,CAAxB,CAAP;IACH;;IACD,OAAOL,YAAY,CAACM,QAAb,CAAsBP,KAAtB,CAAP;EACH;AAjBgC,CAAtB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["between.ts"],"names":["ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","length","WebinyError","from","to"],"mappings":";;;;;;;;;AAAA;;AACA;;eAEe,IAAIA,oCAAJ,CAAsB;AACjCC,EAAAA,SAAS,EAAE,SADsB;AAEjCC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAD,KAA6B;AAClC,QAAIC,KAAK,CAACC,OAAN,CAAcF,YAAd,CAAJ,EAAiC;AAC7B,UAAIA,YAAY,CAACG,MAAb,KAAwB,CAA5B,EAA+B;AAC3B,cAAM,IAAIC,cAAJ,CACF,8EADE,EAEF,cAFE,EAGF;AACIL,UAAAA,KADJ;AAEIC,UAAAA;AAFJ,SAHE,CAAN;AAQH;;AACD,YAAM,CAACK,IAAD,EAAOC,EAAP,IAAaN,YAAnB;AACA,aAAOD,KAAK,IAAIM,IAAT,IAAiBN,KAAK,IAAIO,EAAjC;AACH;;AACD,WAAOP,KAAK,IAAIC,YAAT,IAAyBD,KAAK,IAAIC,YAAzC;AACH;AAlBgC,CAAtB,C","sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"between\",\n matches: ({ value, compareValue }) => {\n if (Array.isArray(compareValue)) {\n if (compareValue.length !== 2) {\n throw new WebinyError(\n \"When comparing between and you give an array, there must be two items in it.\",\n \"FILTER_ERROR\",\n {\n value,\n compareValue\n }\n );\n }\n const [from, to] = compareValue;\n return value >= from && value <= to;\n }\n return value >= compareValue && value <= compareValue;\n }\n});\n"]}
1
+ {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","length","WebinyError","from","to"],"sources":["between.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"between\",\n matches: ({ value, compareValue }) => {\n if (Array.isArray(compareValue)) {\n if (compareValue.length !== 2) {\n throw new WebinyError(\n \"When comparing between and you give an array, there must be two items in it.\",\n \"FILTER_ERROR\",\n {\n value,\n compareValue\n }\n );\n }\n const [from, to] = compareValue;\n return value >= from && value <= to;\n }\n return value >= compareValue && value <= compareValue;\n }\n});\n"],"mappings":";;;;;;;;;AAAA;;AACA;;eAEe,IAAIA,oCAAJ,CAAsB;EACjCC,SAAS,EAAE,SADsB;EAEjCC,OAAO,EAAE,CAAC;IAAEC,KAAF;IAASC;EAAT,CAAD,KAA6B;IAClC,IAAIC,KAAK,CAACC,OAAN,CAAcF,YAAd,CAAJ,EAAiC;MAC7B,IAAIA,YAAY,CAACG,MAAb,KAAwB,CAA5B,EAA+B;QAC3B,MAAM,IAAIC,cAAJ,CACF,8EADE,EAEF,cAFE,EAGF;UACIL,KADJ;UAEIC;QAFJ,CAHE,CAAN;MAQH;;MACD,MAAM,CAACK,IAAD,EAAOC,EAAP,IAAaN,YAAnB;MACA,OAAOD,KAAK,IAAIM,IAAT,IAAiBN,KAAK,IAAIO,EAAjC;IACH;;IACD,OAAOP,KAAK,IAAIC,YAAT,IAAyBD,KAAK,IAAIC,YAAzC;EACH;AAlBgC,CAAtB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["contains.ts"],"names":["ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","re","RegExp","some","v","match"],"mappings":";;;;;;;AAAA;;eAEe,IAAIA,oCAAJ,CAAsB;AACjCC,EAAAA,SAAS,EAAE,UADsB;AAEjCC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAD,KAA6B;AAClC,QAAI,OAAOD,KAAP,KAAiB,QAArB,EAA+B;AAC3B,UAAIE,KAAK,CAACC,OAAN,CAAcH,KAAd,MAAyB,IAA7B,EAAmC;AAC/B,cAAMI,EAAE,GAAG,IAAIC,MAAJ,CAAWJ,YAAX,EAAyB,GAAzB,CAAX;AACA,eAAOD,KAAK,CAACM,IAAN,CAAYC,CAAD,IAAe;AAC7B,iBAAOA,CAAC,CAACC,KAAF,CAAQJ,EAAR,MAAgB,IAAvB;AACH,SAFM,CAAP;AAGH;;AACD,aAAO,KAAP;AACH;;AACD,UAAMA,EAAE,GAAG,IAAIC,MAAJ,CAAWJ,YAAX,EAAyB,GAAzB,CAAX;AACA,WAAOD,KAAK,CAACQ,KAAN,CAAYJ,EAAZ,MAAoB,IAA3B;AACH;AAdgC,CAAtB,C","sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"contains\",\n matches: ({ value, compareValue }) => {\n if (typeof value !== \"string\") {\n if (Array.isArray(value) === true) {\n const re = new RegExp(compareValue, \"i\");\n return value.some((v: string) => {\n return v.match(re) !== null;\n });\n }\n return false;\n }\n const re = new RegExp(compareValue, \"i\");\n return value.match(re) !== null;\n }\n});\n"]}
1
+ {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","re","RegExp","some","v","match"],"sources":["contains.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"contains\",\n matches: ({ value, compareValue }) => {\n if (typeof value !== \"string\") {\n if (Array.isArray(value) === true) {\n const re = new RegExp(compareValue, \"i\");\n return value.some((v: string) => {\n return v.match(re) !== null;\n });\n }\n return false;\n }\n const re = new RegExp(compareValue, \"i\");\n return value.match(re) !== null;\n }\n});\n"],"mappings":";;;;;;;AAAA;;eAEe,IAAIA,oCAAJ,CAAsB;EACjCC,SAAS,EAAE,UADsB;EAEjCC,OAAO,EAAE,CAAC;IAAEC,KAAF;IAASC;EAAT,CAAD,KAA6B;IAClC,IAAI,OAAOD,KAAP,KAAiB,QAArB,EAA+B;MAC3B,IAAIE,KAAK,CAACC,OAAN,CAAcH,KAAd,MAAyB,IAA7B,EAAmC;QAC/B,MAAMI,EAAE,GAAG,IAAIC,MAAJ,CAAWJ,YAAX,EAAyB,GAAzB,CAAX;QACA,OAAOD,KAAK,CAACM,IAAN,CAAYC,CAAD,IAAe;UAC7B,OAAOA,CAAC,CAACC,KAAF,CAAQJ,EAAR,MAAgB,IAAvB;QACH,CAFM,CAAP;MAGH;;MACD,OAAO,KAAP;IACH;;IACD,MAAMA,EAAE,GAAG,IAAIC,MAAJ,CAAWJ,YAAX,EAAyB,GAAzB,CAAX;IACA,OAAOD,KAAK,CAACQ,KAAN,CAAYJ,EAAZ,MAAoB,IAA3B;EACH;AAdgC,CAAtB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["eq.ts"],"names":["ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","some","v","includes","every"],"mappings":";;;;;;;AAAA;;eAEe,IAAIA,oCAAJ,CAAsB;AACjCC,EAAAA,SAAS,EAAE,IADsB;AAEjCC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAD,KAA6B;AAClC;AACR;AACA;AACQ,QAAIC,KAAK,CAACC,OAAN,CAAcH,KAAd,MAAyB,IAA7B,EAAmC;AAC/B,aAAOA,KAAK,CAACI,IAAN,CAAYC,CAAD,IAAe;AAC7B,eAAOH,KAAK,CAACC,OAAN,CAAcF,YAAd,IAA8BA,YAAY,CAACK,QAAb,CAAsBD,CAAtB,CAA9B,GAAyDJ,YAAY,KAAKI,CAAjF;AACH,OAFM,CAAP;AAGH,KAJD,MAIO,IAAIH,KAAK,CAACC,OAAN,CAAcF,YAAd,MAAgC,IAApC,EAA0C;AAC7C,aAAOA,YAAY,CAACM,KAAb,CAAoBF,CAAD,IAAe;AACrC,eAAOL,KAAK,KAAKK,CAAjB;AACH,OAFM,CAAP;AAGH;;AACD,WAAOL,KAAK,KAAKC,YAAjB;AACH;AAhBgC,CAAtB,C","sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"eq\",\n matches: ({ value, compareValue }) => {\n /**\n * Possibility that either input value or one from the system is array.\n */\n if (Array.isArray(value) === true) {\n return value.some((v: string) => {\n return Array.isArray(compareValue) ? compareValue.includes(v) : compareValue === v;\n });\n } else if (Array.isArray(compareValue) === true) {\n return compareValue.every((v: string) => {\n return value === v;\n });\n }\n return value === compareValue;\n }\n});\n"]}
1
+ {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","some","v","includes","every"],"sources":["eq.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"eq\",\n matches: ({ value, compareValue }) => {\n /**\n * Possibility that either input value or one from the system is array.\n */\n if (Array.isArray(value) === true) {\n return value.some((v: string) => {\n return Array.isArray(compareValue) ? compareValue.includes(v) : compareValue === v;\n });\n } else if (Array.isArray(compareValue) === true) {\n return compareValue.every((v: string) => {\n return value === v;\n });\n }\n return value === compareValue;\n }\n});\n"],"mappings":";;;;;;;AAAA;;eAEe,IAAIA,oCAAJ,CAAsB;EACjCC,SAAS,EAAE,IADsB;EAEjCC,OAAO,EAAE,CAAC;IAAEC,KAAF;IAASC;EAAT,CAAD,KAA6B;IAClC;AACR;AACA;IACQ,IAAIC,KAAK,CAACC,OAAN,CAAcH,KAAd,MAAyB,IAA7B,EAAmC;MAC/B,OAAOA,KAAK,CAACI,IAAN,CAAYC,CAAD,IAAe;QAC7B,OAAOH,KAAK,CAACC,OAAN,CAAcF,YAAd,IAA8BA,YAAY,CAACK,QAAb,CAAsBD,CAAtB,CAA9B,GAAyDJ,YAAY,KAAKI,CAAjF;MACH,CAFM,CAAP;IAGH,CAJD,MAIO,IAAIH,KAAK,CAACC,OAAN,CAAcF,YAAd,MAAgC,IAApC,EAA0C;MAC7C,OAAOA,YAAY,CAACM,KAAb,CAAoBF,CAAD,IAAe;QACrC,OAAOL,KAAK,KAAKK,CAAjB;MACH,CAFM,CAAP;IAGH;;IACD,OAAOL,KAAK,KAAKC,YAAjB;EACH;AAhBgC,CAAtB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["fuzzy.ts"],"names":["ValueFilterPlugin","operation","matches","value","compareValue","f","Fuse","result","search","length"],"mappings":";;;;;;;;;AAAA;;AACA;;eAKe,IAAIA,oCAAJ,CAAsB;AACjCC,EAAAA,SAAS,EAAE,OADsB;AAEjCC,EAAAA,OAAO,EAAE,CAAC;AACNC,IAAAA,KADM;AAENC,IAAAA;AAFM,GAAD,KAG0D;AAC/D,QAAI,OAAOD,KAAP,KAAiB,QAArB,EAA+B;AAC3B,aAAO,KAAP;AACH;;AACD,UAAME,CAAC,GAAG,IAAIC,aAAJ,CAAS,CAACH,KAAD,CAAT,EAAkB,EAAlB,CAAV;AACA,UAAMI,MAAM,GAAGF,CAAC,CAACG,MAAF,CAASJ,YAAT,CAAf;AAEA,WAAOG,MAAM,CAACE,MAAP,GAAgB,CAAvB;AACH;AAbgC,CAAtB,C","sourcesContent":["import Fuse from \"fuse.js\";\nimport {\n ValueFilterPluginParamsMatchesParams,\n ValueFilterPlugin\n} from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"fuzzy\",\n matches: ({\n value,\n compareValue\n }: ValueFilterPluginParamsMatchesParams<string | null, string>) => {\n if (typeof value !== \"string\") {\n return false;\n }\n const f = new Fuse([value], {});\n const result = f.search(compareValue);\n\n return result.length > 0;\n }\n});\n"]}
1
+ {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue","f","Fuse","result","search","length"],"sources":["fuzzy.ts"],"sourcesContent":["import Fuse from \"fuse.js\";\nimport {\n ValueFilterPluginParamsMatchesParams,\n ValueFilterPlugin\n} from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"fuzzy\",\n matches: ({\n value,\n compareValue\n }: ValueFilterPluginParamsMatchesParams<string | null, string>) => {\n if (typeof value !== \"string\") {\n return false;\n }\n const f = new Fuse([value], {});\n const result = f.search(compareValue);\n\n return result.length > 0;\n }\n});\n"],"mappings":";;;;;;;;;AAAA;;AACA;;eAKe,IAAIA,oCAAJ,CAAsB;EACjCC,SAAS,EAAE,OADsB;EAEjCC,OAAO,EAAE,CAAC;IACNC,KADM;IAENC;EAFM,CAAD,KAG0D;IAC/D,IAAI,OAAOD,KAAP,KAAiB,QAArB,EAA+B;MAC3B,OAAO,KAAP;IACH;;IACD,MAAME,CAAC,GAAG,IAAIC,aAAJ,CAAS,CAACH,KAAD,CAAT,EAAkB,EAAlB,CAAV;IACA,MAAMI,MAAM,GAAGF,CAAC,CAACG,MAAF,CAASJ,YAAT,CAAf;IAEA,OAAOG,MAAM,CAACE,MAAP,GAAgB,CAAvB;EACH;AAbgC,CAAtB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["gt.ts"],"names":["ValueFilterPlugin","operation","matches","value","compareValue"],"mappings":";;;;;;;AAAA;;eAEe,IAAIA,oCAAJ,CAAsB;AACjCC,EAAAA,SAAS,EAAE,IADsB;AAEjCC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAD,KAA6B;AAClC,WAAOD,KAAK,GAAGC,YAAf;AACH;AAJgC,CAAtB,C","sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"gt\",\n matches: ({ value, compareValue }) => {\n return value > compareValue;\n }\n});\n"]}
1
+ {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue"],"sources":["gt.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"gt\",\n matches: ({ value, compareValue }) => {\n return value > compareValue;\n }\n});\n"],"mappings":";;;;;;;AAAA;;eAEe,IAAIA,oCAAJ,CAAsB;EACjCC,SAAS,EAAE,IADsB;EAEjCC,OAAO,EAAE,CAAC;IAAEC,KAAF;IAASC;EAAT,CAAD,KAA6B;IAClC,OAAOD,KAAK,GAAGC,YAAf;EACH;AAJgC,CAAtB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["gte.ts"],"names":["ValueFilterPlugin","operation","matches","value","compareValue"],"mappings":";;;;;;;AAAA;;eAEe,IAAIA,oCAAJ,CAAsB;AACjCC,EAAAA,SAAS,EAAE,KADsB;AAEjCC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAD,KAA6B;AAClC,WAAOD,KAAK,IAAIC,YAAhB;AACH;AAJgC,CAAtB,C","sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"gte\",\n matches: ({ value, compareValue }) => {\n return value >= compareValue;\n }\n});\n"]}
1
+ {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue"],"sources":["gte.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"gte\",\n matches: ({ value, compareValue }) => {\n return value >= compareValue;\n }\n});\n"],"mappings":";;;;;;;AAAA;;eAEe,IAAIA,oCAAJ,CAAsB;EACjCC,SAAS,EAAE,KADsB;EAEjCC,OAAO,EAAE,CAAC;IAAEC,KAAF;IAASC;EAAT,CAAD,KAA6B;IAClC,OAAOD,KAAK,IAAIC,YAAhB;EACH;AAJgC,CAAtB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["in.ts"],"names":["ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","WebinyError","some","c","includes"],"mappings":";;;;;;;;;AAAA;;AACA;;eAOe,IAAIA,oCAAJ,CAAsB;AACjCC,EAAAA,SAAS,EAAE,IADsB;AAEjCC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAD,KAA4C;AACjD,QAAI,CAACA,YAAD,IAAiBC,KAAK,CAACC,OAAN,CAAcF,YAAd,MAAgC,KAArD,EAA4D;AACxD,YAAM,IAAIG,cAAJ,CACD,qDADC,EAEF,qBAFE,EAGF;AACIJ,QAAAA,KADJ;AAEIC,QAAAA;AAFJ,OAHE,CAAN;AAQH;;AACD,QAAIC,KAAK,CAACC,OAAN,CAAcH,KAAd,MAAyB,IAA7B,EAAmC;AAC/B,aAAOC,YAAY,CAACI,IAAb,CAAkBC,CAAC,IAAIN,KAAK,CAACO,QAAN,CAAeD,CAAf,CAAvB,CAAP;AACH;;AACD,WAAOL,YAAY,CAACM,QAAb,CAAsBP,KAAtB,CAAP;AACH;AAjBgC,CAAtB,C","sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\nimport WebinyError from \"@webiny/error\";\n\ninterface MatchesParams {\n value: any[];\n compareValue?: any[];\n}\n\nexport default new ValueFilterPlugin({\n operation: \"in\",\n matches: ({ value, compareValue }: MatchesParams) => {\n if (!compareValue || Array.isArray(compareValue) === false) {\n throw new WebinyError(\n `The value given as \"compareValue\" must be an array!`,\n \"COMPARE_VALUE_ERROR\",\n {\n value,\n compareValue\n }\n );\n }\n if (Array.isArray(value) === true) {\n return compareValue.some(c => value.includes(c));\n }\n return compareValue.includes(value);\n }\n});\n"]}
1
+ {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","WebinyError","some","c","includes"],"sources":["in.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\nimport WebinyError from \"@webiny/error\";\n\ninterface MatchesParams {\n value: any[];\n compareValue?: any[];\n}\n\nexport default new ValueFilterPlugin({\n operation: \"in\",\n matches: ({ value, compareValue }: MatchesParams) => {\n if (!compareValue || Array.isArray(compareValue) === false) {\n throw new WebinyError(\n `The value given as \"compareValue\" must be an array!`,\n \"COMPARE_VALUE_ERROR\",\n {\n value,\n compareValue\n }\n );\n }\n if (Array.isArray(value) === true) {\n return compareValue.some(c => value.includes(c));\n }\n return compareValue.includes(value);\n }\n});\n"],"mappings":";;;;;;;;;AAAA;;AACA;;eAOe,IAAIA,oCAAJ,CAAsB;EACjCC,SAAS,EAAE,IADsB;EAEjCC,OAAO,EAAE,CAAC;IAAEC,KAAF;IAASC;EAAT,CAAD,KAA4C;IACjD,IAAI,CAACA,YAAD,IAAiBC,KAAK,CAACC,OAAN,CAAcF,YAAd,MAAgC,KAArD,EAA4D;MACxD,MAAM,IAAIG,cAAJ,CACD,qDADC,EAEF,qBAFE,EAGF;QACIJ,KADJ;QAEIC;MAFJ,CAHE,CAAN;IAQH;;IACD,IAAIC,KAAK,CAACC,OAAN,CAAcH,KAAd,MAAyB,IAA7B,EAAmC;MAC/B,OAAOC,YAAY,CAACI,IAAb,CAAkBC,CAAC,IAAIN,KAAK,CAACO,QAAN,CAAeD,CAAf,CAAvB,CAAP;IACH;;IACD,OAAOL,YAAY,CAACM,QAAb,CAAsBP,KAAtB,CAAP;EACH;AAjBgC,CAAtB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["eqFilter","andInFilter","inFilter","gtFilter","ltFilter","gteFilter","lteFilter","betweenFilter","containsFilter","fuzzyFilter","startsWithFilter"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;eAEe,MAAM,CACjBA,WADiB,EAEjBC,cAFiB,EAGjBC,WAHiB,EAIjBC,WAJiB,EAKjBC,WALiB,EAMjBC,YANiB,EAOjBC,YAPiB,EAQjBC,gBARiB,EASjBC,iBATiB,EAUjBC,cAViB,EAWjBC,mBAXiB,C","sourcesContent":["import eqFilter from \"./eq\";\nimport betweenFilter from \"./between\";\nimport andInFilter from \"./andIn\";\nimport inFilter from \"./in\";\nimport gtFilter from \"./gt\";\nimport gteFilter from \"./gte\";\nimport ltFilter from \"./lt\";\nimport lteFilter from \"./lte\";\nimport containsFilter from \"./contains\";\nimport fuzzyFilter from \"./fuzzy\";\nimport startsWithFilter from \"./startsWith\";\n\nexport default () => [\n eqFilter,\n andInFilter,\n inFilter,\n gtFilter,\n ltFilter,\n gteFilter,\n lteFilter,\n betweenFilter,\n containsFilter,\n fuzzyFilter,\n startsWithFilter\n];\n"]}
1
+ {"version":3,"names":["eqFilter","andInFilter","inFilter","gtFilter","ltFilter","gteFilter","lteFilter","betweenFilter","containsFilter","fuzzyFilter","startsWithFilter"],"sources":["index.ts"],"sourcesContent":["import eqFilter from \"./eq\";\nimport betweenFilter from \"./between\";\nimport andInFilter from \"./andIn\";\nimport inFilter from \"./in\";\nimport gtFilter from \"./gt\";\nimport gteFilter from \"./gte\";\nimport ltFilter from \"./lt\";\nimport lteFilter from \"./lte\";\nimport containsFilter from \"./contains\";\nimport fuzzyFilter from \"./fuzzy\";\nimport startsWithFilter from \"./startsWith\";\n\nexport default () => [\n eqFilter,\n andInFilter,\n inFilter,\n gtFilter,\n ltFilter,\n gteFilter,\n lteFilter,\n betweenFilter,\n containsFilter,\n fuzzyFilter,\n startsWithFilter\n];\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;eAEe,MAAM,CACjBA,WADiB,EAEjBC,cAFiB,EAGjBC,WAHiB,EAIjBC,WAJiB,EAKjBC,WALiB,EAMjBC,YANiB,EAOjBC,YAPiB,EAQjBC,gBARiB,EASjBC,iBATiB,EAUjBC,cAViB,EAWjBC,mBAXiB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["lt.ts"],"names":["ValueFilterPlugin","operation","matches","value","compareValue"],"mappings":";;;;;;;AAAA;;eAEe,IAAIA,oCAAJ,CAAsB;AACjCC,EAAAA,SAAS,EAAE,IADsB;AAEjCC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAD,KAA6B;AAClC,WAAOD,KAAK,GAAGC,YAAf;AACH;AAJgC,CAAtB,C","sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"lt\",\n matches: ({ value, compareValue }) => {\n return value < compareValue;\n }\n});\n"]}
1
+ {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue"],"sources":["lt.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"lt\",\n matches: ({ value, compareValue }) => {\n return value < compareValue;\n }\n});\n"],"mappings":";;;;;;;AAAA;;eAEe,IAAIA,oCAAJ,CAAsB;EACjCC,SAAS,EAAE,IADsB;EAEjCC,OAAO,EAAE,CAAC;IAAEC,KAAF;IAASC;EAAT,CAAD,KAA6B;IAClC,OAAOD,KAAK,GAAGC,YAAf;EACH;AAJgC,CAAtB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["lte.ts"],"names":["ValueFilterPlugin","operation","matches","value","compareValue"],"mappings":";;;;;;;AAAA;;eAEe,IAAIA,oCAAJ,CAAsB;AACjCC,EAAAA,SAAS,EAAE,KADsB;AAEjCC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAD,KAA6B;AAClC,WAAOD,KAAK,IAAIC,YAAhB;AACH;AAJgC,CAAtB,C","sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"lte\",\n matches: ({ value, compareValue }) => {\n return value <= compareValue;\n }\n});\n"]}
1
+ {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue"],"sources":["lte.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"lte\",\n matches: ({ value, compareValue }) => {\n return value <= compareValue;\n }\n});\n"],"mappings":";;;;;;;AAAA;;eAEe,IAAIA,oCAAJ,CAAsB;EACjCC,SAAS,EAAE,KADsB;EAEjCC,OAAO,EAAE,CAAC;IAAEC,KAAF;IAASC;EAAT,CAAD,KAA6B;IAClC,OAAOD,KAAK,IAAIC,YAAhB;EACH;AAJgC,CAAtB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["startsWith.ts"],"names":["ValueFilterPlugin","operation","matches","value","compareValue","compareValueInLowerCase","toLowerCase","Array","isArray","some","v","startsWith"],"mappings":";;;;;;;AAAA;;eAEe,IAAIA,oCAAJ,CAAsB;AACjCC,EAAAA,SAAS,EAAE,YADsB;AAEjCC,EAAAA,OAAO,EAAE,CAAC;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAD,KAA6B;AAClC;AACR;AACA;AACQ,UAAMC,uBAAuB,GAAGD,YAAY,CAACE,WAAb,EAAhC;;AAEA,QAAI,OAAOH,KAAP,KAAiB,QAArB,EAA+B;AAC3B,UAAII,KAAK,CAACC,OAAN,CAAcL,KAAd,MAAyB,IAA7B,EAAmC;AAC/B,eAAOA,KAAK,CAACM,IAAN,CAAYC,CAAD,IACdA,CAAC,CAACJ,WAAF,GAAgBK,UAAhB,CAA2BN,uBAA3B,CADG,CAAP;AAGH;;AACD,aAAO,KAAP;AACH;;AAED,WAAOF,KAAK,CAACG,WAAN,GAAoBK,UAApB,CAA+BN,uBAA/B,CAAP;AACH;AAlBgC,CAAtB,C","sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"startsWith\",\n matches: ({ value, compareValue }) => {\n /**\n * We do \"case-insensitive\" comparison.\n */\n const compareValueInLowerCase = compareValue.toLowerCase();\n\n if (typeof value !== \"string\") {\n if (Array.isArray(value) === true) {\n return value.some((v: string) =>\n v.toLowerCase().startsWith(compareValueInLowerCase)\n );\n }\n return false;\n }\n\n return value.toLowerCase().startsWith(compareValueInLowerCase);\n }\n});\n"]}
1
+ {"version":3,"names":["ValueFilterPlugin","operation","matches","value","compareValue","compareValueInLowerCase","toLowerCase","Array","isArray","some","v","startsWith"],"sources":["startsWith.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nexport default new ValueFilterPlugin({\n operation: \"startsWith\",\n matches: ({ value, compareValue }) => {\n /**\n * We do \"case-insensitive\" comparison.\n */\n const compareValueInLowerCase = compareValue.toLowerCase();\n\n if (typeof value !== \"string\") {\n if (Array.isArray(value) === true) {\n return value.some((v: string) =>\n v.toLowerCase().startsWith(compareValueInLowerCase)\n );\n }\n return false;\n }\n\n return value.toLowerCase().startsWith(compareValueInLowerCase);\n }\n});\n"],"mappings":";;;;;;;AAAA;;eAEe,IAAIA,oCAAJ,CAAsB;EACjCC,SAAS,EAAE,YADsB;EAEjCC,OAAO,EAAE,CAAC;IAAEC,KAAF;IAASC;EAAT,CAAD,KAA6B;IAClC;AACR;AACA;IACQ,MAAMC,uBAAuB,GAAGD,YAAY,CAACE,WAAb,EAAhC;;IAEA,IAAI,OAAOH,KAAP,KAAiB,QAArB,EAA+B;MAC3B,IAAII,KAAK,CAACC,OAAN,CAAcL,KAAd,MAAyB,IAA7B,EAAmC;QAC/B,OAAOA,KAAK,CAACM,IAAN,CAAYC,CAAD,IACdA,CAAC,CAACJ,WAAF,GAAgBK,UAAhB,CAA2BN,uBAA3B,CADG,CAAP;MAGH;;MACD,OAAO,KAAP;IACH;;IAED,OAAOF,KAAK,CAACG,WAAN,GAAoBK,UAApB,CAA+BN,uBAA/B,CAAP;EACH;AAlBgC,CAAtB,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;eAGe,MAAM;AACjB,SAAO,CAAC,uBAAD,CAAP;AACH,C","sourcesContent":["/**\n * List everything that needs to be loaded by default.\n */\nimport filterPlugins from \"./filters\";\n\nexport default () => {\n return [filterPlugins()];\n};\n"]}
1
+ {"version":3,"names":["filterPlugins"],"sources":["index.ts"],"sourcesContent":["/**\n * List everything that needs to be loaded by default.\n */\nimport filterPlugins from \"./filters\";\n\nexport default () => {\n return [filterPlugins()];\n};\n"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;eAGe,MAAM;EACjB,OAAO,CAAC,IAAAA,gBAAA,GAAD,CAAP;AACH,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["createKeyConditionExpressionArgs.ts"],"names":["query","sort","key","args","expression","attributeNames","attributeValues","$and","output","KeyConditionExpression","ExpressionAttributeNames","ExpressionAttributeValues","ScanIndexForward","IndexName","sortKey","fields","name","primary"],"mappings":";;;;;;;;;AAIA;;AAJA;AACA;AACA;AACA;eAgBe,CAAC;AAAEA,EAAAA,KAAF;AAASC,EAAAA,IAAT;AAAeC,EAAAA;AAAf,CAAD,KAA0C;AACrD,QAAMC,IAA+B,GAAG;AACpCC,IAAAA,UAAU,EAAE,EADwB;AAEpCC,IAAAA,cAAc,EAAE,EAFoB;AAGpCC,IAAAA,eAAe,EAAE;AAHmB,GAAxC;AAMA,iCAAiB;AAAEH,IAAAA,IAAF;AAAQH,IAAAA,KAAK,EAAE;AAAEO,MAAAA,IAAI,EAAEP;AAAR;AAAf,GAAjB;AAEA,QAAMQ,MAAc,GAAG;AACnBC,IAAAA,sBAAsB,EAAEN,IAAI,CAACC,UADV;AAEnBM,IAAAA,wBAAwB,EAAEP,IAAI,CAACE,cAFZ;AAGnBM,IAAAA,yBAAyB,EAAER,IAAI,CAACG,eAHb;AAInBM,IAAAA,gBAAgB,EAAE,IAJC;AAKnBC,IAAAA,SAAS,EAAE;AALQ,GAAvB;AAQA,QAAMC,OAAO,GAAGZ,GAAG,CAACa,MAAJ,IAAcb,GAAG,CAACa,MAAJ,CAAW,CAAX,CAA9B;;AACA,MAAId,IAAI,IAAIA,IAAI,CAACa,OAAO,CAACE,IAAT,CAAJ,KAAuB,CAAC,CAApC,EAAuC;AACnCR,IAAAA,MAAM,CAACI,gBAAP,GAA0B,KAA1B;AACH;;AAED,MAAI,CAACV,GAAG,CAACe,OAAT,EAAkB;AACdT,IAAAA,MAAM,CAACK,SAAP,GAAmBX,GAAG,CAACc,IAAvB;AACH;;AAED,SAAOR,MAAP;AACH,C","sourcesContent":["/**\n * Remove this when no apps are using our internal db drivers anymore\n */\n// @ts-nocheck\nimport processStatement from \"./processStatement\";\nimport { ProcessStatementArgsParam, Query, QueryKey, QuerySort } from \"~/types\";\n\ninterface Output {\n KeyConditionExpression: string;\n ExpressionAttributeNames: Record<string, any>;\n ExpressionAttributeValues: Record<string, any>;\n ScanIndexForward: boolean;\n IndexName: string;\n}\ninterface Params {\n query: Query;\n sort: QuerySort;\n key: QueryKey;\n}\nexport default ({ query, sort, key }: Params): Output => {\n const args: ProcessStatementArgsParam = {\n expression: \"\",\n attributeNames: {},\n attributeValues: {}\n };\n\n processStatement({ args, query: { $and: query } });\n\n const output: Output = {\n KeyConditionExpression: args.expression,\n ExpressionAttributeNames: args.attributeNames,\n ExpressionAttributeValues: args.attributeValues,\n ScanIndexForward: true,\n IndexName: null\n };\n\n const sortKey = key.fields && key.fields[1];\n if (sort && sort[sortKey.name] === -1) {\n output.ScanIndexForward = false;\n }\n\n if (!key.primary) {\n output.IndexName = key.name;\n }\n\n return output;\n};\n"]}
1
+ {"version":3,"names":["query","sort","key","args","expression","attributeNames","attributeValues","processStatement","$and","output","KeyConditionExpression","ExpressionAttributeNames","ExpressionAttributeValues","ScanIndexForward","IndexName","sortKey","fields","name","primary"],"sources":["createKeyConditionExpressionArgs.ts"],"sourcesContent":["/**\n * Remove this when no apps are using our internal db drivers anymore\n */\n// @ts-nocheck\nimport processStatement from \"./processStatement\";\nimport { ProcessStatementArgsParam, Query, QueryKey, QuerySort } from \"~/types\";\n\ninterface Output {\n KeyConditionExpression: string;\n ExpressionAttributeNames: Record<string, any>;\n ExpressionAttributeValues: Record<string, any>;\n ScanIndexForward: boolean;\n IndexName: string;\n}\ninterface Params {\n query: Query;\n sort: QuerySort;\n key: QueryKey;\n}\nexport default ({ query, sort, key }: Params): Output => {\n const args: ProcessStatementArgsParam = {\n expression: \"\",\n attributeNames: {},\n attributeValues: {}\n };\n\n processStatement({ args, query: { $and: query } });\n\n const output: Output = {\n KeyConditionExpression: args.expression,\n ExpressionAttributeNames: args.attributeNames,\n ExpressionAttributeValues: args.attributeValues,\n ScanIndexForward: true,\n IndexName: null\n };\n\n const sortKey = key.fields && key.fields[1];\n if (sort && sort[sortKey.name] === -1) {\n output.ScanIndexForward = false;\n }\n\n if (!key.primary) {\n output.IndexName = key.name;\n }\n\n return output;\n};\n"],"mappings":";;;;;;;;;AAIA;;AAJA;AACA;AACA;AACA;eAgBe,CAAC;EAAEA,KAAF;EAASC,IAAT;EAAeC;AAAf,CAAD,KAA0C;EACrD,MAAMC,IAA+B,GAAG;IACpCC,UAAU,EAAE,EADwB;IAEpCC,cAAc,EAAE,EAFoB;IAGpCC,eAAe,EAAE;EAHmB,CAAxC;EAMA,IAAAC,yBAAA,EAAiB;IAAEJ,IAAF;IAAQH,KAAK,EAAE;MAAEQ,IAAI,EAAER;IAAR;EAAf,CAAjB;EAEA,MAAMS,MAAc,GAAG;IACnBC,sBAAsB,EAAEP,IAAI,CAACC,UADV;IAEnBO,wBAAwB,EAAER,IAAI,CAACE,cAFZ;IAGnBO,yBAAyB,EAAET,IAAI,CAACG,eAHb;IAInBO,gBAAgB,EAAE,IAJC;IAKnBC,SAAS,EAAE;EALQ,CAAvB;EAQA,MAAMC,OAAO,GAAGb,GAAG,CAACc,MAAJ,IAAcd,GAAG,CAACc,MAAJ,CAAW,CAAX,CAA9B;;EACA,IAAIf,IAAI,IAAIA,IAAI,CAACc,OAAO,CAACE,IAAT,CAAJ,KAAuB,CAAC,CAApC,EAAuC;IACnCR,MAAM,CAACI,gBAAP,GAA0B,KAA1B;EACH;;EAED,IAAI,CAACX,GAAG,CAACgB,OAAT,EAAkB;IACdT,MAAM,CAACK,SAAP,GAAmBZ,GAAG,CAACe,IAAvB;EACH;;EAED,OAAOR,MAAP;AACH,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["processStatement.ts"],"names":["processStatement","args","query","outerLoop","key","value","Object","entries","operators","values","allOperators","i","length","operator","canProcess","process","Error"],"mappings":";;;;;;;;;AAAA;;AAGA,MAAMA,gBAA0C,GAAG,CAAC;AAAEC,EAAAA,IAAF;AAAQC,EAAAA;AAAR,CAAD,KAAqB;AACpEC,EAAAA,SAAS,EAAE,KAAK,MAAM,CAACC,GAAD,EAAMC,KAAN,CAAX,IAA2BC,MAAM,CAACC,OAAP,CAAeL,KAAf,CAA3B,EAAkD;AACzD,UAAMM,SAAS,GAAGF,MAAM,CAACG,MAAP,CAAcC,kBAAd,CAAlB;;AACA,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,SAAS,CAACI,MAA9B,EAAsCD,CAAC,EAAvC,EAA2C;AACvC,YAAME,QAAQ,GAAGL,SAAS,CAACG,CAAD,CAA1B;;AACA,UAAIE,QAAQ,CAACC,UAAT,CAAoB;AAAEV,QAAAA,GAAF;AAAOC,QAAAA,KAAP;AAAcJ,QAAAA;AAAd,OAApB,CAAJ,EAA+C;AAC3CY,QAAAA,QAAQ,CAACE,OAAT,CAAiB;AAAEX,UAAAA,GAAF;AAAOC,UAAAA,KAAP;AAAcJ,UAAAA,IAAd;AAAoBD,UAAAA;AAApB,SAAjB;AACA,iBAASG,SAAT;AACH;AACJ;;AACD,UAAM,IAAIa,KAAJ,CAAW,qBAAoBZ,GAAI,MAAKC,KAAM,IAA9C,CAAN;AACH;AACJ,CAZD;;eAaeL,gB","sourcesContent":["import allOperators from \"./../operators\";\nimport { ProcessStatementCallable } from \"~/types\";\n\nconst processStatement: ProcessStatementCallable = ({ args, query }) => {\n outerLoop: for (const [key, value] of Object.entries(query)) {\n const operators = Object.values(allOperators);\n for (let i = 0; i < operators.length; i++) {\n const operator = operators[i];\n if (operator.canProcess({ key, value, args })) {\n operator.process({ key, value, args, processStatement });\n continue outerLoop;\n }\n }\n throw new Error(`Invalid operator {${key} : ${value}}.`);\n }\n};\nexport default processStatement;\n"]}
1
+ {"version":3,"names":["processStatement","args","query","outerLoop","key","value","Object","entries","operators","values","allOperators","i","length","operator","canProcess","process","Error"],"sources":["processStatement.ts"],"sourcesContent":["import allOperators from \"./../operators\";\nimport { ProcessStatementCallable } from \"~/types\";\n\nconst processStatement: ProcessStatementCallable = ({ args, query }) => {\n outerLoop: for (const [key, value] of Object.entries(query)) {\n const operators = Object.values(allOperators);\n for (let i = 0; i < operators.length; i++) {\n const operator = operators[i];\n if (operator.canProcess({ key, value, args })) {\n operator.process({ key, value, args, processStatement });\n continue outerLoop;\n }\n }\n throw new Error(`Invalid operator {${key} : ${value}}.`);\n }\n};\nexport default processStatement;\n"],"mappings":";;;;;;;;;AAAA;;AAGA,MAAMA,gBAA0C,GAAG,CAAC;EAAEC,IAAF;EAAQC;AAAR,CAAD,KAAqB;EACpEC,SAAS,EAAE,KAAK,MAAM,CAACC,GAAD,EAAMC,KAAN,CAAX,IAA2BC,MAAM,CAACC,OAAP,CAAeL,KAAf,CAA3B,EAAkD;IACzD,MAAMM,SAAS,GAAGF,MAAM,CAACG,MAAP,CAAcC,kBAAd,CAAlB;;IACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,SAAS,CAACI,MAA9B,EAAsCD,CAAC,EAAvC,EAA2C;MACvC,MAAME,QAAQ,GAAGL,SAAS,CAACG,CAAD,CAA1B;;MACA,IAAIE,QAAQ,CAACC,UAAT,CAAoB;QAAEV,GAAF;QAAOC,KAAP;QAAcJ;MAAd,CAApB,CAAJ,EAA+C;QAC3CY,QAAQ,CAACE,OAAT,CAAiB;UAAEX,GAAF;UAAOC,KAAP;UAAcJ,IAAd;UAAoBD;QAApB,CAAjB;QACA,SAASG,SAAT;MACH;IACJ;;IACD,MAAM,IAAIa,KAAJ,CAAW,qBAAoBZ,GAAI,MAAKC,KAAM,IAA9C,CAAN;EACH;AACJ,CAZD;;eAaeL,gB"}
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export interface OperatorArgs {\n expression: string;\n attributeNames: Record<string, any>;\n attributeValues: Record<string, any>;\n}\n\ninterface CanProcessArgs {\n key: string;\n value: any;\n args: OperatorArgs;\n}\n\ninterface ProcessArgs {\n key: string;\n value: any;\n args: OperatorArgs;\n processStatement: any;\n}\n\nexport interface Operator {\n canProcess: ({ key }: CanProcessArgs) => boolean;\n process: ({ key, value, args }: ProcessArgs) => void;\n}\n\n/**\n * We use this definition to search for a value in any given field that was passed.\n * It works as an \"OR\" condition.\n */\nexport interface DynamoDbContainsFilter {\n fields: string[];\n value: string;\n}\n\nexport interface ProcessStatementArgsParam {\n expression: string;\n attributeNames: Record<string, any>;\n attributeValues: Record<string, any>;\n}\nexport interface ProcessStatementQueryParam {\n [key: string]: any;\n}\nexport interface ProcessStatementParams {\n args: ProcessStatementArgsParam;\n query: ProcessStatementQueryParam;\n}\n\nexport interface ProcessStatementCallable {\n (params: ProcessStatementParams): void;\n}\n\nexport interface Query {\n [key: string]: string;\n}\nexport interface QueryKeyField {\n name: string;\n}\nexport interface QueryKey {\n fields: QueryKeyField[];\n primary?: boolean;\n unique?: boolean;\n name: string;\n}\nexport type QueryKeys = QueryKey[];\n\nexport type QuerySort = Record<string, -1 | 1>;\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["attributes.ts"],"names":["getExtraAttributes","context","entity","getExtraAttributesFromPlugins","plugins","byType","AttributePlugin","type","filter","plugin","reduce","attributes","getDefinition"],"mappings":";;;;;;;;;;;AACA;;;;;;AAGA;AACA;AACA;AACA;AACA;AACO,MAAMA,kBAAkB,GAAG,CAC9BC,OAD8B,EAE9BC,MAF8B,KAGK;AACnC,SAAOC,6BAA6B,CAACF,OAAO,CAACG,OAAT,EAAkBF,MAAlB,CAApC;AACH,CALM;;;;AAOA,MAAMC,6BAA6B,GAAG,CACzCC,OADyC,EAEzCF,MAFyC,KAGN;AACnC,SAAOE,OAAO,CACTC,MADE,CACsBC,iCAAgBC,IADtC,EAEFC,MAFE,CAEKC,MAAM,IAAIA,MAAM,CAACP,MAAP,KAAkBA,MAFjC,EAGFQ,MAHE,CAGK,CAACC,UAAD,EAAaF,MAAb,KAAwB;AAC5B,2CACOE,UADP,GAEOF,MAAM,CAACG,aAAP,EAFP;AAIH,GARE,EAQA,EARA,CAAP;AASH,CAbM","sourcesContent":["import { Context } from \"@webiny/handler/types\";\nimport { AttributePlugin, DefinitionParams } from \"~/plugins/definitions/AttributePlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\n/**\n * Will be removed in favor of directly assigning attributes to a certain entity when creating the storage operations.\n *\n * @deprecated\n */\nexport const getExtraAttributes = (\n context: Context,\n entity: string\n): Record<string, DefinitionParams> => {\n return getExtraAttributesFromPlugins(context.plugins, entity);\n};\n\nexport const getExtraAttributesFromPlugins = (\n plugins: PluginsContainer,\n entity: string\n): Record<string, DefinitionParams> => {\n return plugins\n .byType<AttributePlugin>(AttributePlugin.type)\n .filter(plugin => plugin.entity === entity)\n .reduce((attributes, plugin) => {\n return {\n ...attributes,\n ...plugin.getDefinition()\n };\n }, {});\n};\n"]}
1
+ {"version":3,"names":["getExtraAttributes","context","entity","getExtraAttributesFromPlugins","plugins","byType","AttributePlugin","type","filter","plugin","reduce","attributes","getDefinition"],"sources":["attributes.ts"],"sourcesContent":["import { Context } from \"@webiny/handler/types\";\nimport { AttributePlugin, DefinitionParams } from \"~/plugins/definitions/AttributePlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\n/**\n * Will be removed in favor of directly assigning attributes to a certain entity when creating the storage operations.\n *\n * @deprecated\n */\nexport const getExtraAttributes = (\n context: Context,\n entity: string\n): Record<string, DefinitionParams> => {\n return getExtraAttributesFromPlugins(context.plugins, entity);\n};\n\nexport const getExtraAttributesFromPlugins = (\n plugins: PluginsContainer,\n entity: string\n): Record<string, DefinitionParams> => {\n return plugins\n .byType<AttributePlugin>(AttributePlugin.type)\n .filter(plugin => plugin.entity === entity)\n .reduce((attributes, plugin) => {\n return {\n ...attributes,\n ...plugin.getDefinition()\n };\n }, {});\n};\n"],"mappings":";;;;;;;;;;;AACA;;;;;;AAGA;AACA;AACA;AACA;AACA;AACO,MAAMA,kBAAkB,GAAG,CAC9BC,OAD8B,EAE9BC,MAF8B,KAGK;EACnC,OAAOC,6BAA6B,CAACF,OAAO,CAACG,OAAT,EAAkBF,MAAlB,CAApC;AACH,CALM;;;;AAOA,MAAMC,6BAA6B,GAAG,CACzCC,OADyC,EAEzCF,MAFyC,KAGN;EACnC,OAAOE,OAAO,CACTC,MADE,CACsBC,gCAAA,CAAgBC,IADtC,EAEFC,MAFE,CAEKC,MAAM,IAAIA,MAAM,CAACP,MAAP,KAAkBA,MAFjC,EAGFQ,MAHE,CAGK,CAACC,UAAD,EAAaF,MAAb,KAAwB;IAC5B,uCACOE,UADP,GAEOF,MAAM,CAACG,aAAP,EAFP;EAIH,CARE,EAQA,EARA,CAAP;AASH,CAbM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["batchRead.ts"],"names":["MAX_BATCH_ITEMS","flatten","responses","entries","values","Object","items","push","batchReadAllChunk","params","table","records","result","batchGet","Responses","next","previous","nextResult","batchReadAll","maxChunk","length","WebinyError","chunkItemsList","chunkItems","results"],"mappings":";;;;;;;;;AACA;;AACA;;AAWA,MAAMA,eAAe,GAAG,GAAxB;;AAEA,MAAMC,OAAO,GAAIC,SAAD,IAA6C;AACzD,QAAMC,OAAO,GAAG,EAAhB;AACA,QAAMC,MAAM,GAAGC,MAAM,CAACD,MAAP,CAAcF,SAAd,CAAf;;AACA,OAAK,MAAMI,KAAX,IAAoBF,MAApB,EAA4B;AACxBD,IAAAA,OAAO,CAACI,IAAR,CAAa,GAAGD,KAAhB;AACH;;AACD,SAAOH,OAAP;AACH,CAPD;;AAaA,MAAMK,iBAAiB,GAAG,MAAgBC,MAAhB,IAAkE;AACxF,QAAM;AAAEC,IAAAA,KAAF;AAASJ,IAAAA;AAAT,MAAmBG,MAAzB;AACA,QAAME,OAAY,GAAG,EAArB;AAEA,QAAMC,MAAM,GAAG,MAAMF,KAAK,CAACG,QAAN,CAAeP,KAAf,CAArB;;AACA,MAAI,CAACM,MAAD,IAAW,CAACA,MAAM,CAACE,SAAvB,EAAkC;AAC9B,WAAOH,OAAP;AACH;;AACDA,EAAAA,OAAO,CAACJ,IAAR,CAAa,GAAGN,OAAO,CAACW,MAAM,CAACE,SAAR,CAAvB;;AACA,MAAI,CAACF,MAAM,CAACG,IAAR,IAAgB,OAAOH,MAAM,CAACG,IAAd,KAAuB,UAA3C,EAAuD;AACnD,WAAOJ,OAAP;AACH;;AACD,MAAIK,QAAQ,GAAGJ,MAAf;;AACA,SAAO,OAAOI,QAAQ,CAACD,IAAhB,KAAyB,UAAhC,EAA4C;AACxC,UAAME,UAAU,GAAG,MAAMD,QAAQ,CAACD,IAAT,EAAzB;;AACA,QAAI,CAACE,UAAL,EAAiB;AACb,aAAON,OAAP;AACH;;AACDA,IAAAA,OAAO,CAACJ,IAAR,CAAa,GAAGN,OAAO,CAACgB,UAAU,CAACH,SAAZ,CAAvB;AACAE,IAAAA,QAAQ,GAAGC,UAAX;AACH;;AACD,SAAON,OAAP;AACH,CAtBD;AAuBA;AACA;AACA;AACA;;;AACO,MAAMO,YAAY,GAAG,OACxBT,MADwB,EAExBU,QAAQ,GAAGnB,eAFa,KAGT;AACf,MAAIS,MAAM,CAACH,KAAP,CAAac,MAAb,KAAwB,CAA5B,EAA+B;AAC3B,WAAO,EAAP;AACH,GAFD,MAEO,IAAID,QAAQ,GAAGnB,eAAf,EAAgC;AACnC,UAAM,IAAIqB,cAAJ,CACD,gCAA+BrB,eAAgB,mCAD9C,EAEF,oCAFE,EAGF;AACImB,MAAAA;AADJ,KAHE,CAAN;AAOH;;AAED,QAAMR,OAAY,GAAG,EAArB;AAEA,QAAMW,cAAwB,GAAG,oBAAYb,MAAM,CAACH,KAAnB,EAA0Ba,QAA1B,CAAjC;;AAEA,OAAK,MAAMI,UAAX,IAAyBD,cAAzB,EAAyC;AACrC,UAAME,OAAO,GAAG,MAAMhB,iBAAiB,CAAI;AACvCE,MAAAA,KAAK,EAAED,MAAM,CAACC,KADyB;AAEvCJ,MAAAA,KAAK,EAAEiB;AAFgC,KAAJ,CAAvC;AAKAZ,IAAAA,OAAO,CAACJ,IAAR,CAAa,GAAGiB,OAAhB;AACH;;AAED,SAAOb,OAAP;AACH,CA9BM","sourcesContent":["import { Table } from \"dynamodb-toolbox\";\nimport lodashChunk from \"lodash/chunk\";\nimport WebinyError from \"@webiny/error\";\n\ninterface Item {\n Table: Table;\n Key: any;\n}\ninterface Params {\n table: Table;\n items: Item[];\n}\n\nconst MAX_BATCH_ITEMS = 100;\n\nconst flatten = (responses: Record<string, any[]>): any[] => {\n const entries = [];\n const values = Object.values(responses);\n for (const items of values) {\n entries.push(...items);\n }\n return entries;\n};\n\ninterface BatchReadAllChunkParams {\n table: Table;\n items: Item[];\n}\nconst batchReadAllChunk = async <T = any>(params: BatchReadAllChunkParams): Promise<T[]> => {\n const { table, items } = params;\n const records: T[] = [];\n\n const result = await table.batchGet(items);\n if (!result || !result.Responses) {\n return records;\n }\n records.push(...flatten(result.Responses));\n if (!result.next || typeof result.next !== \"function\") {\n return records;\n }\n let previous = result;\n while (typeof previous.next === \"function\") {\n const nextResult = await previous.next();\n if (!nextResult) {\n return records;\n }\n records.push(...flatten(nextResult.Responses));\n previous = nextResult;\n }\n return records;\n};\n/**\n * This helper function is meant to be used to batch read from one table.\n * It will fetch all results, as there is a next() method call built in.\n */\nexport const batchReadAll = async <T = any>(\n params: Params,\n maxChunk = MAX_BATCH_ITEMS\n): Promise<T[]> => {\n if (params.items.length === 0) {\n return [];\n } else if (maxChunk > MAX_BATCH_ITEMS) {\n throw new WebinyError(\n `Cannot set to load more than ${MAX_BATCH_ITEMS} items from the DynamoDB at once.`,\n \"DYNAMODB_MAX_BATCH_GET_LIMIT_ERROR\",\n {\n maxChunk\n }\n );\n }\n\n const records: T[] = [];\n\n const chunkItemsList: Item[][] = lodashChunk(params.items, maxChunk);\n\n for (const chunkItems of chunkItemsList) {\n const results = await batchReadAllChunk<T>({\n table: params.table,\n items: chunkItems\n });\n\n records.push(...results);\n }\n\n return records;\n};\n"]}
1
+ {"version":3,"names":["MAX_BATCH_ITEMS","flatten","responses","entries","values","Object","items","push","batchReadAllChunk","params","table","records","result","batchGet","Responses","next","previous","nextResult","batchReadAll","maxChunk","length","WebinyError","chunkItemsList","lodashChunk","chunkItems","results"],"sources":["batchRead.ts"],"sourcesContent":["import { Table } from \"dynamodb-toolbox\";\nimport lodashChunk from \"lodash/chunk\";\nimport WebinyError from \"@webiny/error\";\n\ninterface Item {\n Table: Table;\n Key: any;\n}\ninterface Params {\n table: Table;\n items: Item[];\n}\n\nconst MAX_BATCH_ITEMS = 100;\n\nconst flatten = (responses: Record<string, any[]>): any[] => {\n const entries = [];\n const values = Object.values(responses);\n for (const items of values) {\n entries.push(...items);\n }\n return entries;\n};\n\ninterface BatchReadAllChunkParams {\n table: Table;\n items: Item[];\n}\nconst batchReadAllChunk = async <T = any>(params: BatchReadAllChunkParams): Promise<T[]> => {\n const { table, items } = params;\n const records: T[] = [];\n\n const result = await table.batchGet(items);\n if (!result || !result.Responses) {\n return records;\n }\n records.push(...flatten(result.Responses));\n if (!result.next || typeof result.next !== \"function\") {\n return records;\n }\n let previous = result;\n while (typeof previous.next === \"function\") {\n const nextResult = await previous.next();\n if (!nextResult) {\n return records;\n }\n records.push(...flatten(nextResult.Responses));\n previous = nextResult;\n }\n return records;\n};\n/**\n * This helper function is meant to be used to batch read from one table.\n * It will fetch all results, as there is a next() method call built in.\n */\nexport const batchReadAll = async <T = any>(\n params: Params,\n maxChunk = MAX_BATCH_ITEMS\n): Promise<T[]> => {\n if (params.items.length === 0) {\n return [];\n } else if (maxChunk > MAX_BATCH_ITEMS) {\n throw new WebinyError(\n `Cannot set to load more than ${MAX_BATCH_ITEMS} items from the DynamoDB at once.`,\n \"DYNAMODB_MAX_BATCH_GET_LIMIT_ERROR\",\n {\n maxChunk\n }\n );\n }\n\n const records: T[] = [];\n\n const chunkItemsList: Item[][] = lodashChunk(params.items, maxChunk);\n\n for (const chunkItems of chunkItemsList) {\n const results = await batchReadAllChunk<T>({\n table: params.table,\n items: chunkItems\n });\n\n records.push(...results);\n }\n\n return records;\n};\n"],"mappings":";;;;;;;;;AACA;;AACA;;AAWA,MAAMA,eAAe,GAAG,GAAxB;;AAEA,MAAMC,OAAO,GAAIC,SAAD,IAA6C;EACzD,MAAMC,OAAO,GAAG,EAAhB;EACA,MAAMC,MAAM,GAAGC,MAAM,CAACD,MAAP,CAAcF,SAAd,CAAf;;EACA,KAAK,MAAMI,KAAX,IAAoBF,MAApB,EAA4B;IACxBD,OAAO,CAACI,IAAR,CAAa,GAAGD,KAAhB;EACH;;EACD,OAAOH,OAAP;AACH,CAPD;;AAaA,MAAMK,iBAAiB,GAAG,MAAgBC,MAAhB,IAAkE;EACxF,MAAM;IAAEC,KAAF;IAASJ;EAAT,IAAmBG,MAAzB;EACA,MAAME,OAAY,GAAG,EAArB;EAEA,MAAMC,MAAM,GAAG,MAAMF,KAAK,CAACG,QAAN,CAAeP,KAAf,CAArB;;EACA,IAAI,CAACM,MAAD,IAAW,CAACA,MAAM,CAACE,SAAvB,EAAkC;IAC9B,OAAOH,OAAP;EACH;;EACDA,OAAO,CAACJ,IAAR,CAAa,GAAGN,OAAO,CAACW,MAAM,CAACE,SAAR,CAAvB;;EACA,IAAI,CAACF,MAAM,CAACG,IAAR,IAAgB,OAAOH,MAAM,CAACG,IAAd,KAAuB,UAA3C,EAAuD;IACnD,OAAOJ,OAAP;EACH;;EACD,IAAIK,QAAQ,GAAGJ,MAAf;;EACA,OAAO,OAAOI,QAAQ,CAACD,IAAhB,KAAyB,UAAhC,EAA4C;IACxC,MAAME,UAAU,GAAG,MAAMD,QAAQ,CAACD,IAAT,EAAzB;;IACA,IAAI,CAACE,UAAL,EAAiB;MACb,OAAON,OAAP;IACH;;IACDA,OAAO,CAACJ,IAAR,CAAa,GAAGN,OAAO,CAACgB,UAAU,CAACH,SAAZ,CAAvB;IACAE,QAAQ,GAAGC,UAAX;EACH;;EACD,OAAON,OAAP;AACH,CAtBD;AAuBA;AACA;AACA;AACA;;;AACO,MAAMO,YAAY,GAAG,OACxBT,MADwB,EAExBU,QAAQ,GAAGnB,eAFa,KAGT;EACf,IAAIS,MAAM,CAACH,KAAP,CAAac,MAAb,KAAwB,CAA5B,EAA+B;IAC3B,OAAO,EAAP;EACH,CAFD,MAEO,IAAID,QAAQ,GAAGnB,eAAf,EAAgC;IACnC,MAAM,IAAIqB,cAAJ,CACD,gCAA+BrB,eAAgB,mCAD9C,EAEF,oCAFE,EAGF;MACImB;IADJ,CAHE,CAAN;EAOH;;EAED,MAAMR,OAAY,GAAG,EAArB;EAEA,MAAMW,cAAwB,GAAG,IAAAC,cAAA,EAAYd,MAAM,CAACH,KAAnB,EAA0Ba,QAA1B,CAAjC;;EAEA,KAAK,MAAMK,UAAX,IAAyBF,cAAzB,EAAyC;IACrC,MAAMG,OAAO,GAAG,MAAMjB,iBAAiB,CAAI;MACvCE,KAAK,EAAED,MAAM,CAACC,KADyB;MAEvCJ,KAAK,EAAEkB;IAFgC,CAAJ,CAAvC;IAKAb,OAAO,CAACJ,IAAR,CAAa,GAAGkB,OAAhB;EACH;;EAED,OAAOd,OAAP;AACH,CA9BM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["batchWrite.ts"],"names":["batchWriteAll","params","maxChunk","items","length","chunkedItems","table","batchWrite"],"mappings":";;;;;;;;;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,aAAa,GAAG,OAAOC,MAAP,EAAuBC,QAAQ,GAAG,EAAlC,KAAwD;AACjF,MAAID,MAAM,CAACE,KAAP,CAAaC,MAAb,KAAwB,CAA5B,EAA+B;AAC3B;AACH;;AACD,QAAMC,YAAsB,GAAG,oBAAYJ,MAAM,CAACE,KAAnB,EAA0BD,QAA1B,CAA/B;;AACA,OAAK,MAAMC,KAAX,IAAoBE,YAApB,EAAkC;AAC9B,UAAMJ,MAAM,CAACK,KAAP,CAAaC,UAAb,CAAwBJ,KAAxB,CAAN;AACH;AACJ,CARM","sourcesContent":["import { Table } from \"dynamodb-toolbox\";\nimport lodashChunk from \"lodash/chunk\";\nimport { DocumentClient } from \"aws-sdk/clients/dynamodb\";\n\ninterface Item {\n [key: string]: DocumentClient.WriteRequest;\n}\ninterface Params {\n table: Table;\n items: Item[];\n}\n\n/**\n * Method is meant for batch writing to a single table.\n * It expects already prepared items for the write.\n * It can either delete or put items\n * The method does not check items before actually sending them into the underlying library.\n */\nexport const batchWriteAll = async (params: Params, maxChunk = 25): Promise<void> => {\n if (params.items.length === 0) {\n return;\n }\n const chunkedItems: Item[][] = lodashChunk(params.items, maxChunk);\n for (const items of chunkedItems) {\n await params.table.batchWrite(items);\n }\n};\n"]}
1
+ {"version":3,"names":["batchWriteAll","params","maxChunk","items","length","chunkedItems","lodashChunk","table","batchWrite"],"sources":["batchWrite.ts"],"sourcesContent":["import { Table } from \"dynamodb-toolbox\";\nimport lodashChunk from \"lodash/chunk\";\nimport { DocumentClient } from \"aws-sdk/clients/dynamodb\";\n\ninterface Item {\n [key: string]: DocumentClient.WriteRequest;\n}\ninterface Params {\n table: Table;\n items: Item[];\n}\n\n/**\n * Method is meant for batch writing to a single table.\n * It expects already prepared items for the write.\n * It can either delete or put items\n * The method does not check items before actually sending them into the underlying library.\n */\nexport const batchWriteAll = async (params: Params, maxChunk = 25): Promise<void> => {\n if (params.items.length === 0) {\n return;\n }\n const chunkedItems: Item[][] = lodashChunk(params.items, maxChunk);\n for (const items of chunkedItems) {\n await params.table.batchWrite(items);\n }\n};\n"],"mappings":";;;;;;;;;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,aAAa,GAAG,OAAOC,MAAP,EAAuBC,QAAQ,GAAG,EAAlC,KAAwD;EACjF,IAAID,MAAM,CAACE,KAAP,CAAaC,MAAb,KAAwB,CAA5B,EAA+B;IAC3B;EACH;;EACD,MAAMC,YAAsB,GAAG,IAAAC,cAAA,EAAYL,MAAM,CAACE,KAAnB,EAA0BD,QAA1B,CAA/B;;EACA,KAAK,MAAMC,KAAX,IAAoBE,YAApB,EAAkC;IAC9B,MAAMJ,MAAM,CAACM,KAAP,CAAaC,UAAb,CAAwBL,KAAxB,CAAN;EACH;AACJ,CARM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["cleanup.ts"],"names":["attributesToRemove","cleanupItem","entity","item","removeAttributes","newItem","targets","concat","attributes","schema","key","hasOwnProperty","includes","cleanupItems","items","map"],"mappings":";;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA,MAAMA,kBAAkB,GAAG,CACvB,IADuB,EAEvB,IAFuB,EAGvB,SAHuB,EAIvB,KAJuB,EAKvB,UALuB,EAMvB,KANuB,EAOvB,QAPuB,EAQvB,KARuB,EASvB,SATuB,EAUvB,SAVuB,EAWvB,MAXuB,CAA3B;;AAcO,SAASC,WAAT,CACHC,MADG,EAEHC,IAFG,EAGHC,gBAA0B,GAAG,EAH1B,EAIK;AACR,MAAI,CAACD,IAAL,EAAW;AACP,WAAO,IAAP;AACH;;AACD,QAAME,OAAO,qBACNF,IADM,CAAb;;AAGA,QAAMG,OAAO,GAAGN,kBAAkB,CAACO,MAAnB,CAA0BH,gBAA1B,CAAhB;AACA,QAAMI,UAAU,GAAGN,MAAM,CAACO,MAAP,CAAcD,UAAjC;;AACA,OAAK,MAAME,GAAX,IAAkBP,IAAlB,EAAwB;AACpB,QAAIA,IAAI,CAACQ,cAAL,CAAoBD,GAApB,MAA6B,KAAjC,EAAwC;AACpC;AACH;;AACD,QAAIF,UAAU,CAACE,GAAD,CAAV,IAAmBJ,OAAO,CAACM,QAAR,CAAiBF,GAAjB,MAA0B,KAAjD,EAAwD;AACpD;AACH;;AACD,WAAOL,OAAO,CAACK,GAAD,CAAd;AACH;;AACD,SAAOL,OAAP;AACH;;AAEM,SAASQ,YAAT,CACHX,MADG,EAEHY,KAFG,EAGHV,gBAA0B,GAAG,EAH1B,EAIA;AACH,SAAOU,KAAK,CAACC,GAAN,CAAUZ,IAAI,IAAIF,WAAW,CAAIC,MAAJ,EAAYC,IAAZ,EAAkBC,gBAAlB,CAA7B,CAAP;AACH","sourcesContent":["import { Entity } from \"dynamodb-toolbox\";\n\n/**\n * The attributes defined by us or the dynamodb-toolbox library.\n * Add more attributes if necessary.\n */\nconst attributesToRemove = [\n \"PK\",\n \"SK\",\n \"created\",\n \"_ct\",\n \"modified\",\n \"_mt\",\n \"entity\",\n \"_et\",\n \"GSI1_PK\",\n \"GSI1_SK\",\n \"TYPE\"\n];\n\nexport function cleanupItem<T>(\n entity: Entity<any>,\n item?: (T & Record<string, any>) | null,\n removeAttributes: string[] = []\n): T | null {\n if (!item) {\n return null;\n }\n const newItem = {\n ...item\n };\n const targets = attributesToRemove.concat(removeAttributes);\n const attributes = entity.schema.attributes;\n for (const key in item) {\n if (item.hasOwnProperty(key) === false) {\n continue;\n }\n if (attributes[key] && targets.includes(key) === false) {\n continue;\n }\n delete newItem[key];\n }\n return newItem;\n}\n\nexport function cleanupItems<T>(\n entity: Entity<any>,\n items: (T & Record<string, any>)[],\n removeAttributes: string[] = []\n): T[] {\n return items.map(item => cleanupItem<T>(entity, item, removeAttributes) as T);\n}\n"]}
1
+ {"version":3,"names":["attributesToRemove","cleanupItem","entity","item","removeAttributes","newItem","targets","concat","attributes","schema","key","hasOwnProperty","includes","cleanupItems","items","map"],"sources":["cleanup.ts"],"sourcesContent":["import { Entity } from \"dynamodb-toolbox\";\n\n/**\n * The attributes defined by us or the dynamodb-toolbox library.\n * Add more attributes if necessary.\n */\nconst attributesToRemove = [\n \"PK\",\n \"SK\",\n \"created\",\n \"_ct\",\n \"modified\",\n \"_mt\",\n \"entity\",\n \"_et\",\n \"GSI1_PK\",\n \"GSI1_SK\",\n \"TYPE\"\n];\n\nexport function cleanupItem<T>(\n entity: Entity<any>,\n item?: (T & Record<string, any>) | null,\n removeAttributes: string[] = []\n): T | null {\n if (!item) {\n return null;\n }\n const newItem = {\n ...item\n };\n const targets = attributesToRemove.concat(removeAttributes);\n const attributes = entity.schema.attributes;\n for (const key in item) {\n if (item.hasOwnProperty(key) === false) {\n continue;\n }\n if (attributes[key] && targets.includes(key) === false) {\n continue;\n }\n delete newItem[key];\n }\n return newItem;\n}\n\nexport function cleanupItems<T>(\n entity: Entity<any>,\n items: (T & Record<string, any>)[],\n removeAttributes: string[] = []\n): T[] {\n return items.map(item => cleanupItem<T>(entity, item, removeAttributes) as T);\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA,MAAMA,kBAAkB,GAAG,CACvB,IADuB,EAEvB,IAFuB,EAGvB,SAHuB,EAIvB,KAJuB,EAKvB,UALuB,EAMvB,KANuB,EAOvB,QAPuB,EAQvB,KARuB,EASvB,SATuB,EAUvB,SAVuB,EAWvB,MAXuB,CAA3B;;AAcO,SAASC,WAAT,CACHC,MADG,EAEHC,IAFG,EAGHC,gBAA0B,GAAG,EAH1B,EAIK;EACR,IAAI,CAACD,IAAL,EAAW;IACP,OAAO,IAAP;EACH;;EACD,MAAME,OAAO,qBACNF,IADM,CAAb;;EAGA,MAAMG,OAAO,GAAGN,kBAAkB,CAACO,MAAnB,CAA0BH,gBAA1B,CAAhB;EACA,MAAMI,UAAU,GAAGN,MAAM,CAACO,MAAP,CAAcD,UAAjC;;EACA,KAAK,MAAME,GAAX,IAAkBP,IAAlB,EAAwB;IACpB,IAAIA,IAAI,CAACQ,cAAL,CAAoBD,GAApB,MAA6B,KAAjC,EAAwC;MACpC;IACH;;IACD,IAAIF,UAAU,CAACE,GAAD,CAAV,IAAmBJ,OAAO,CAACM,QAAR,CAAiBF,GAAjB,MAA0B,KAAjD,EAAwD;MACpD;IACH;;IACD,OAAOL,OAAO,CAACK,GAAD,CAAd;EACH;;EACD,OAAOL,OAAP;AACH;;AAEM,SAASQ,YAAT,CACHX,MADG,EAEHY,KAFG,EAGHV,gBAA0B,GAAG,EAH1B,EAIA;EACH,OAAOU,KAAK,CAACC,GAAN,CAAUZ,IAAI,IAAIF,WAAW,CAAIC,MAAJ,EAAYC,IAAZ,EAAkBC,gBAAlB,CAA7B,CAAP;AACH"}
@@ -1 +1 @@
1
- {"version":3,"sources":["cursor.ts"],"names":["encodeCursor","cursor","Buffer","from","JSON","stringify","toString","decodeCursor","parse"],"mappings":";;;;;;;AAAO,MAAMA,YAAY,GAAIC,MAAD,IAAiC;AACzD,MAAI,CAACA,MAAL,EAAa;AACT,WAAO,IAAP;AACH;;AAED,SAAOC,MAAM,CAACC,IAAP,CAAYC,IAAI,CAACC,SAAL,CAAeJ,MAAf,CAAZ,EAAoCK,QAApC,CAA6C,QAA7C,CAAP;AACH,CANM;;;;AAQA,MAAMC,YAAY,GAAIN,MAAD,IAA2C;AACnE,MAAI,CAACA,MAAL,EAAa;AACT,WAAO,IAAP;AACH;;AAED,SAAOG,IAAI,CAACI,KAAL,CAAWN,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoB,QAApB,EAA8BK,QAA9B,CAAuC,OAAvC,CAAX,CAAP;AACH,CANM","sourcesContent":["export const encodeCursor = (cursor?: any): string | null => {\n if (!cursor) {\n return null;\n }\n\n return Buffer.from(JSON.stringify(cursor)).toString(\"base64\");\n};\n\nexport const decodeCursor = (cursor?: string | null): string | null => {\n if (!cursor) {\n return null;\n }\n\n return JSON.parse(Buffer.from(cursor, \"base64\").toString(\"ascii\"));\n};\n"]}
1
+ {"version":3,"names":["encodeCursor","cursor","Buffer","from","JSON","stringify","toString","decodeCursor","parse"],"sources":["cursor.ts"],"sourcesContent":["export const encodeCursor = (cursor?: any): string | null => {\n if (!cursor) {\n return null;\n }\n\n return Buffer.from(JSON.stringify(cursor)).toString(\"base64\");\n};\n\nexport const decodeCursor = (cursor?: string | null): string | null => {\n if (!cursor) {\n return null;\n }\n\n return JSON.parse(Buffer.from(cursor, \"base64\").toString(\"ascii\"));\n};\n"],"mappings":";;;;;;;AAAO,MAAMA,YAAY,GAAIC,MAAD,IAAiC;EACzD,IAAI,CAACA,MAAL,EAAa;IACT,OAAO,IAAP;EACH;;EAED,OAAOC,MAAM,CAACC,IAAP,CAAYC,IAAI,CAACC,SAAL,CAAeJ,MAAf,CAAZ,EAAoCK,QAApC,CAA6C,QAA7C,CAAP;AACH,CANM;;;;AAQA,MAAMC,YAAY,GAAIN,MAAD,IAA2C;EACnE,IAAI,CAACA,MAAL,EAAa;IACT,OAAO,IAAP;EACH;;EAED,OAAOG,IAAI,CAACI,KAAL,CAAWN,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoB,QAApB,EAA8BK,QAA9B,CAAuC,OAAvC,CAAX,CAAP;AACH,CANM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["documentClient.ts"],"names":["getDocumentClient","context","db","WebinyError","driver","documentClient"],"mappings":";;;;;;;;;AACA;;AAIA;AACA;AACA;AACA;AACA;AACO,MAAMA,iBAAiB,GAAyBC,OAAtB,IAAqD;AAClF,MAAI,CAACA,OAAO,CAACC,EAAb,EAAiB;AACb,UAAM,IAAIC,cAAJ,CAAgB,wBAAhB,EAA0C,UAA1C,CAAN;AACH,GAFD,MAEO,IAAI,CAACF,OAAO,CAACC,EAAR,CAAWE,MAAhB,EAAwB;AAC3B,UAAM,IAAID,cAAJ,CAAiB,4CAAjB,EAA8D,cAA9D,CAAN;AACH;;AACD,QAAMC,MAAM,GAAGH,OAAO,CAACC,EAAR,CAAWE,MAA1B;;AACA,MAAI,CAACA,MAAM,CAACC,cAAZ,EAA4B;AACxB,UAAM,IAAIF,cAAJ,CACD,2DADC,EAEF,uBAFE,CAAN;AAIH;;AACD,SAAOC,MAAM,CAACC,cAAd;AACH,CAdM","sourcesContent":["import { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport WebinyError from \"@webiny/error\";\nimport { DbContext } from \"@webiny/handler-db/types\";\nimport DynamoDbDriver from \"~/DynamoDbDriver\";\n\n/**\n * Will be removed in favor of directly passing the documentClient to the storage operations.\n *\n * @deprecated\n */\nexport const getDocumentClient = <T extends DbContext>(context: T): DocumentClient => {\n if (!context.db) {\n throw new WebinyError(\"Missing db on context.\", \"DB_ERROR\");\n } else if (!context.db.driver) {\n throw new WebinyError(`Missing driver on the context.db property.`, \"DRIVER_ERROR\");\n }\n const driver = context.db.driver as DynamoDbDriver;\n if (!driver.documentClient) {\n throw new WebinyError(\n `Missing documentClient on the context.db.driver property.`,\n \"DOCUMENT_CLIENT_ERROR\"\n );\n }\n return driver.documentClient;\n};\n"]}
1
+ {"version":3,"names":["getDocumentClient","context","db","WebinyError","driver","documentClient"],"sources":["documentClient.ts"],"sourcesContent":["import { DocumentClient } from \"aws-sdk/clients/dynamodb\";\nimport WebinyError from \"@webiny/error\";\nimport { DbContext } from \"@webiny/handler-db/types\";\nimport DynamoDbDriver from \"~/DynamoDbDriver\";\n\n/**\n * Will be removed in favor of directly passing the documentClient to the storage operations.\n *\n * @deprecated\n */\nexport const getDocumentClient = <T extends DbContext>(context: T): DocumentClient => {\n if (!context.db) {\n throw new WebinyError(\"Missing db on context.\", \"DB_ERROR\");\n } else if (!context.db.driver) {\n throw new WebinyError(`Missing driver on the context.db property.`, \"DRIVER_ERROR\");\n }\n const driver = context.db.driver as DynamoDbDriver;\n if (!driver.documentClient) {\n throw new WebinyError(\n `Missing documentClient on the context.db.driver property.`,\n \"DOCUMENT_CLIENT_ERROR\"\n );\n }\n return driver.documentClient;\n};\n"],"mappings":";;;;;;;;;AACA;;AAIA;AACA;AACA;AACA;AACA;AACO,MAAMA,iBAAiB,GAAyBC,OAAtB,IAAqD;EAClF,IAAI,CAACA,OAAO,CAACC,EAAb,EAAiB;IACb,MAAM,IAAIC,cAAJ,CAAgB,wBAAhB,EAA0C,UAA1C,CAAN;EACH,CAFD,MAEO,IAAI,CAACF,OAAO,CAACC,EAAR,CAAWE,MAAhB,EAAwB;IAC3B,MAAM,IAAID,cAAJ,CAAiB,4CAAjB,EAA8D,cAA9D,CAAN;EACH;;EACD,MAAMC,MAAM,GAAGH,OAAO,CAACC,EAAR,CAAWE,MAA1B;;EACA,IAAI,CAACA,MAAM,CAACC,cAAZ,EAA4B;IACxB,MAAM,IAAIF,cAAJ,CACD,2DADC,EAEF,uBAFE,CAAN;EAIH;;EACD,OAAOC,MAAM,CAACC,cAAd;AACH,CAdM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["filter.ts"],"names":["getMappedPlugins","params","plugins","byType","type","reduce","plugin","op","property","extractWhereArgs","key","result","split","field","shift","rawOp","length","join","operation","negate","match","replace","findFilterPlugin","WebinyError","multiSearchFieldOperations","createFilters","where","fields","keys","Object","filterPlugins","ValueFilterPlugin","filters","compareValue","undefined","includes","data","transformValue","paths","map","fieldPlugin","find","getField","value","getPath","push","filterPlugin","path","transform","Array","isArray","v","createFilterCallable","item","filter","some","dotProp","get","matched","matches","filterItems","items"],"mappings":"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","sourcesContent":["import dotProp from \"dot-prop\";\nimport WebinyError from \"@webiny/error\";\nimport { Plugin, PluginsContainer } from \"@webiny/plugins\";\nimport { ValueFilterPlugin } from \"~/plugins/definitions/ValueFilterPlugin\";\nimport { FieldPlugin } from \"~/plugins/definitions/FieldPlugin\";\nimport { DynamoDbContainsFilter } from \"~/types\";\n\ntype TransformValue = (value: any) => any;\n\nexport interface Params<T = any> {\n plugins: PluginsContainer;\n items: T[];\n where: Record<string, any>;\n /**\n * An array of fields that require some special operation.\n */\n fields: FieldPlugin[];\n}\n\ninterface MappedPluginParams<T extends Plugin = Plugin> {\n plugins: PluginsContainer;\n type: string;\n property: keyof T;\n}\n\ninterface Filter {\n compareValue: any;\n filterPlugin: ValueFilterPlugin;\n transformValue?: TransformValue;\n paths: string[];\n negate: boolean;\n}\n\nconst getMappedPlugins = <T extends Plugin>(params: MappedPluginParams<T>): Record<string, T> => {\n return params.plugins.byType<T>(params.type).reduce((plugins, plugin) => {\n /**\n * We expect op to be a string, that is why we cast.\n */\n const op = plugin[params.property] as unknown as string;\n plugins[op] = plugin;\n return plugins;\n }, {} as Record<string, T>);\n};\n\ninterface ExtractWhereArgsResult {\n field: string;\n operation: string;\n negate: boolean;\n}\nconst extractWhereArgs = (key: string): ExtractWhereArgsResult => {\n const result = key.split(\"_\");\n const field = result.shift() as string;\n const rawOp = result.length === 0 ? \"eq\" : result.join(\"_\");\n /**\n * When rawOp is not, it means it is equal negated so just return that.\n */\n if (rawOp === \"not\") {\n return {\n field,\n operation: \"eq\",\n negate: true\n };\n }\n const negate = rawOp.match(\"not_\") !== null;\n const operation = rawOp.replace(\"not_\", \"\");\n return {\n field,\n operation,\n negate\n };\n};\n\nconst findFilterPlugin = (\n plugins: Record<string, ValueFilterPlugin>,\n operation: string\n): ValueFilterPlugin => {\n if (plugins[operation]) {\n return plugins[operation];\n }\n throw new WebinyError(`Missing filter plugin definition.`, \"FILTER_PLUGIN_ERROR\", {\n operation\n });\n};\n\nconst multiSearchFieldOperations = [\"contains\", \"fuzzy\"];\n\nconst createFilters = (params: Omit<Params, \"items\">): Filter[] => {\n const { plugins, where, fields } = params;\n\n const keys = Object.keys(where);\n /**\n * Skip everything if there are no conditions to be applied.\n */\n if (keys.length === 0) {\n return [];\n }\n const filterPlugins = getMappedPlugins<ValueFilterPlugin>({\n plugins,\n type: ValueFilterPlugin.type,\n property: \"operation\"\n });\n\n return keys.reduce((filters, key) => {\n const compareValue = where[key];\n if (compareValue === undefined) {\n return filters;\n }\n /**\n * @see DynamoDbContainsFilter\n */\n if (multiSearchFieldOperations.includes(key) === true) {\n const data: DynamoDbContainsFilter = compareValue;\n let transformValue: TransformValue | undefined = undefined;\n const paths = data.fields.map(field => {\n const fieldPlugin = fields.find(plugin => plugin.getField() === field);\n if (fieldPlugin) {\n transformValue = (value: any) => {\n return fieldPlugin.transformValue(value);\n };\n return fieldPlugin.getPath();\n }\n return field;\n });\n filters.push({\n compareValue: data.value,\n filterPlugin: findFilterPlugin(filterPlugins, key),\n transformValue,\n paths,\n negate: false\n });\n return filters;\n }\n\n const { field, operation, negate } = extractWhereArgs(key);\n\n const filterPlugin = findFilterPlugin(filterPlugins, operation);\n\n const fieldPlugin = fields.find(plugin => plugin.getField() === field);\n let path: string = field;\n let transformValue: TransformValue | undefined = undefined;\n if (fieldPlugin) {\n transformValue = (value: any) => {\n return fieldPlugin.transformValue(value);\n };\n path = fieldPlugin.getPath();\n }\n\n filters.push({\n compareValue,\n filterPlugin,\n transformValue,\n paths: [path],\n negate\n });\n\n return filters;\n }, [] as Filter[]);\n};\n/**\n * Transforms the value with given transformer callable.\n */\nconst transform = (value: any, transformValue?: TransformValue): any => {\n if (!transformValue) {\n return value;\n }\n if (Array.isArray(value)) {\n return value.map(v => transformValue(v));\n }\n return transformValue(value);\n};\n/**\n * Creates a filter callable that we can send to the .filter() method of the array.\n */\nconst createFilterCallable = (params: Omit<Params, \"items\">): ((item: any) => boolean) | null => {\n const filters = createFilters(params);\n /**\n * Just return null so there are no filters to be applied.\n * Later in the code we check for null so we do not loop through the items.\n */\n if (filters.length === 0) {\n return null;\n }\n\n return (item: any) => {\n for (const filter of filters) {\n const result = filter.paths.some(path => {\n const value = transform(dotProp.get(item, path), filter.transformValue);\n const compareValue = transform(filter.compareValue, filter.transformValue);\n const matched = filter.filterPlugin.matches({\n value,\n compareValue\n });\n\n return filter.negate ? !matched : matched;\n });\n if (result === false) {\n return false;\n }\n }\n return true;\n };\n};\n\nexport function filterItems<T = any>(params: Params<T>): T[] {\n const filter = createFilterCallable(params);\n /**\n * No point in going through all the items when there are no filters to be applied.\n */\n if (!filter) {\n return params.items;\n }\n return params.items.filter(filter);\n}\n"]}
1
+ {"version":3,"names":["getMappedPlugins","params","plugins","byType","type","reduce","plugin","op","property","extractWhereArgs","key","result","split","field","shift","rawOp","length","join","operation","negate","match","replace","findFilterPlugin","WebinyError","multiSearchFieldOperations","createFilters","where","fields","keys","Object","filterPlugins","ValueFilterPlugin","filters","compareValue","undefined","includes","data","transformValue","paths","map","fieldPlugin","find","getField","value","getPath","push","filterPlugin","path","transform","Array","isArray","v","createFilterCallable","item","filter","some","dotProp","get","matched","matches","filterItems","items"],"sources":["filter.ts"],"sourcesContent":["import dotProp from \"dot-prop\";\nimport WebinyError from \"@webiny/error\";\nimport { Plugin, PluginsContainer } from \"@webiny/plugins\";\nimport { ValueFilterPlugin } from \"~/plugins/definitions/ValueFilterPlugin\";\nimport { FieldPlugin } from \"~/plugins/definitions/FieldPlugin\";\nimport { DynamoDbContainsFilter } from \"~/types\";\n\ntype TransformValue = (value: any) => any;\n\nexport interface Params<T = any> {\n plugins: PluginsContainer;\n items: T[];\n where: Record<string, any>;\n /**\n * An array of fields that require some special operation.\n */\n fields: FieldPlugin[];\n}\n\ninterface MappedPluginParams<T extends Plugin = Plugin> {\n plugins: PluginsContainer;\n type: string;\n property: keyof T;\n}\n\ninterface Filter {\n compareValue: any;\n filterPlugin: ValueFilterPlugin;\n transformValue?: TransformValue;\n paths: string[];\n negate: boolean;\n}\n\nconst getMappedPlugins = <T extends Plugin>(params: MappedPluginParams<T>): Record<string, T> => {\n return params.plugins.byType<T>(params.type).reduce((plugins, plugin) => {\n /**\n * We expect op to be a string, that is why we cast.\n */\n const op = plugin[params.property] as unknown as string;\n plugins[op] = plugin;\n return plugins;\n }, {} as Record<string, T>);\n};\n\ninterface ExtractWhereArgsResult {\n field: string;\n operation: string;\n negate: boolean;\n}\nconst extractWhereArgs = (key: string): ExtractWhereArgsResult => {\n const result = key.split(\"_\");\n const field = result.shift() as string;\n const rawOp = result.length === 0 ? \"eq\" : result.join(\"_\");\n /**\n * When rawOp is not, it means it is equal negated so just return that.\n */\n if (rawOp === \"not\") {\n return {\n field,\n operation: \"eq\",\n negate: true\n };\n }\n const negate = rawOp.match(\"not_\") !== null;\n const operation = rawOp.replace(\"not_\", \"\");\n return {\n field,\n operation,\n negate\n };\n};\n\nconst findFilterPlugin = (\n plugins: Record<string, ValueFilterPlugin>,\n operation: string\n): ValueFilterPlugin => {\n if (plugins[operation]) {\n return plugins[operation];\n }\n throw new WebinyError(`Missing filter plugin definition.`, \"FILTER_PLUGIN_ERROR\", {\n operation\n });\n};\n\nconst multiSearchFieldOperations = [\"contains\", \"fuzzy\"];\n\nconst createFilters = (params: Omit<Params, \"items\">): Filter[] => {\n const { plugins, where, fields } = params;\n\n const keys = Object.keys(where);\n /**\n * Skip everything if there are no conditions to be applied.\n */\n if (keys.length === 0) {\n return [];\n }\n const filterPlugins = getMappedPlugins<ValueFilterPlugin>({\n plugins,\n type: ValueFilterPlugin.type,\n property: \"operation\"\n });\n\n return keys.reduce((filters, key) => {\n const compareValue = where[key];\n if (compareValue === undefined) {\n return filters;\n }\n /**\n * @see DynamoDbContainsFilter\n */\n if (multiSearchFieldOperations.includes(key) === true) {\n const data: DynamoDbContainsFilter = compareValue;\n let transformValue: TransformValue | undefined = undefined;\n const paths = data.fields.map(field => {\n const fieldPlugin = fields.find(plugin => plugin.getField() === field);\n if (fieldPlugin) {\n transformValue = (value: any) => {\n return fieldPlugin.transformValue(value);\n };\n return fieldPlugin.getPath();\n }\n return field;\n });\n filters.push({\n compareValue: data.value,\n filterPlugin: findFilterPlugin(filterPlugins, key),\n transformValue,\n paths,\n negate: false\n });\n return filters;\n }\n\n const { field, operation, negate } = extractWhereArgs(key);\n\n const filterPlugin = findFilterPlugin(filterPlugins, operation);\n\n const fieldPlugin = fields.find(plugin => plugin.getField() === field);\n let path: string = field;\n let transformValue: TransformValue | undefined = undefined;\n if (fieldPlugin) {\n transformValue = (value: any) => {\n return fieldPlugin.transformValue(value);\n };\n path = fieldPlugin.getPath();\n }\n\n filters.push({\n compareValue,\n filterPlugin,\n transformValue,\n paths: [path],\n negate\n });\n\n return filters;\n }, [] as Filter[]);\n};\n/**\n * Transforms the value with given transformer callable.\n */\nconst transform = (value: any, transformValue?: TransformValue): any => {\n if (!transformValue) {\n return value;\n }\n if (Array.isArray(value)) {\n return value.map(v => transformValue(v));\n }\n return transformValue(value);\n};\n/**\n * Creates a filter callable that we can send to the .filter() method of the array.\n */\nconst createFilterCallable = (params: Omit<Params, \"items\">): ((item: any) => boolean) | null => {\n const filters = createFilters(params);\n /**\n * Just return null so there are no filters to be applied.\n * Later in the code we check for null so we do not loop through the items.\n */\n if (filters.length === 0) {\n return null;\n }\n\n return (item: any) => {\n for (const filter of filters) {\n const result = filter.paths.some(path => {\n const value = transform(dotProp.get(item, path), filter.transformValue);\n const compareValue = transform(filter.compareValue, filter.transformValue);\n const matched = filter.filterPlugin.matches({\n value,\n compareValue\n });\n\n return filter.negate ? !matched : matched;\n });\n if (result === false) {\n return false;\n }\n }\n return true;\n };\n};\n\nexport function filterItems<T = any>(params: Params<T>): T[] {\n const filter = createFilterCallable(params);\n /**\n * No point in going through all the items when there are no filters to be applied.\n */\n if (!filter) {\n return params.items;\n }\n return params.items.filter(filter);\n}\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AA8BA,MAAMA,gBAAgB,GAAsBC,MAAnB,IAAwE;EAC7F,OAAOA,MAAM,CAACC,OAAP,CAAeC,MAAf,CAAyBF,MAAM,CAACG,IAAhC,EAAsCC,MAAtC,CAA6C,CAACH,OAAD,EAAUI,MAAV,KAAqB;IACrE;AACR;AACA;IACQ,MAAMC,EAAE,GAAGD,MAAM,CAACL,MAAM,CAACO,QAAR,CAAjB;IACAN,OAAO,CAACK,EAAD,CAAP,GAAcD,MAAd;IACA,OAAOJ,OAAP;EACH,CAPM,EAOJ,EAPI,CAAP;AAQH,CATD;;AAgBA,MAAMO,gBAAgB,GAAIC,GAAD,IAAyC;EAC9D,MAAMC,MAAM,GAAGD,GAAG,CAACE,KAAJ,CAAU,GAAV,CAAf;EACA,MAAMC,KAAK,GAAGF,MAAM,CAACG,KAAP,EAAd;EACA,MAAMC,KAAK,GAAGJ,MAAM,CAACK,MAAP,KAAkB,CAAlB,GAAsB,IAAtB,GAA6BL,MAAM,CAACM,IAAP,CAAY,GAAZ,CAA3C;EACA;AACJ;AACA;;EACI,IAAIF,KAAK,KAAK,KAAd,EAAqB;IACjB,OAAO;MACHF,KADG;MAEHK,SAAS,EAAE,IAFR;MAGHC,MAAM,EAAE;IAHL,CAAP;EAKH;;EACD,MAAMA,MAAM,GAAGJ,KAAK,CAACK,KAAN,CAAY,MAAZ,MAAwB,IAAvC;EACA,MAAMF,SAAS,GAAGH,KAAK,CAACM,OAAN,CAAc,MAAd,EAAsB,EAAtB,CAAlB;EACA,OAAO;IACHR,KADG;IAEHK,SAFG;IAGHC;EAHG,CAAP;AAKH,CArBD;;AAuBA,MAAMG,gBAAgB,GAAG,CACrBpB,OADqB,EAErBgB,SAFqB,KAGD;EACpB,IAAIhB,OAAO,CAACgB,SAAD,CAAX,EAAwB;IACpB,OAAOhB,OAAO,CAACgB,SAAD,CAAd;EACH;;EACD,MAAM,IAAIK,cAAJ,CAAiB,mCAAjB,EAAqD,qBAArD,EAA4E;IAC9EL;EAD8E,CAA5E,CAAN;AAGH,CAVD;;AAYA,MAAMM,0BAA0B,GAAG,CAAC,UAAD,EAAa,OAAb,CAAnC;;AAEA,MAAMC,aAAa,GAAIxB,MAAD,IAA6C;EAC/D,MAAM;IAAEC,OAAF;IAAWwB,KAAX;IAAkBC;EAAlB,IAA6B1B,MAAnC;EAEA,MAAM2B,IAAI,GAAGC,MAAM,CAACD,IAAP,CAAYF,KAAZ,CAAb;EACA;AACJ;AACA;;EACI,IAAIE,IAAI,CAACZ,MAAL,KAAgB,CAApB,EAAuB;IACnB,OAAO,EAAP;EACH;;EACD,MAAMc,aAAa,GAAG9B,gBAAgB,CAAoB;IACtDE,OADsD;IAEtDE,IAAI,EAAE2B,oCAAA,CAAkB3B,IAF8B;IAGtDI,QAAQ,EAAE;EAH4C,CAApB,CAAtC;EAMA,OAAOoB,IAAI,CAACvB,MAAL,CAAY,CAAC2B,OAAD,EAAUtB,GAAV,KAAkB;IACjC,MAAMuB,YAAY,GAAGP,KAAK,CAAChB,GAAD,CAA1B;;IACA,IAAIuB,YAAY,KAAKC,SAArB,EAAgC;MAC5B,OAAOF,OAAP;IACH;IACD;AACR;AACA;;;IACQ,IAAIR,0BAA0B,CAACW,QAA3B,CAAoCzB,GAApC,MAA6C,IAAjD,EAAuD;MACnD,MAAM0B,IAA4B,GAAGH,YAArC;MACA,IAAII,cAA0C,GAAGH,SAAjD;MACA,MAAMI,KAAK,GAAGF,IAAI,CAACT,MAAL,CAAYY,GAAZ,CAAgB1B,KAAK,IAAI;QACnC,MAAM2B,WAAW,GAAGb,MAAM,CAACc,IAAP,CAAYnC,MAAM,IAAIA,MAAM,CAACoC,QAAP,OAAsB7B,KAA5C,CAApB;;QACA,IAAI2B,WAAJ,EAAiB;UACbH,cAAc,GAAIM,KAAD,IAAgB;YAC7B,OAAOH,WAAW,CAACH,cAAZ,CAA2BM,KAA3B,CAAP;UACH,CAFD;;UAGA,OAAOH,WAAW,CAACI,OAAZ,EAAP;QACH;;QACD,OAAO/B,KAAP;MACH,CATa,CAAd;MAUAmB,OAAO,CAACa,IAAR,CAAa;QACTZ,YAAY,EAAEG,IAAI,CAACO,KADV;QAETG,YAAY,EAAExB,gBAAgB,CAACQ,aAAD,EAAgBpB,GAAhB,CAFrB;QAGT2B,cAHS;QAITC,KAJS;QAKTnB,MAAM,EAAE;MALC,CAAb;MAOA,OAAOa,OAAP;IACH;;IAED,MAAM;MAAEnB,KAAF;MAASK,SAAT;MAAoBC;IAApB,IAA+BV,gBAAgB,CAACC,GAAD,CAArD;IAEA,MAAMoC,YAAY,GAAGxB,gBAAgB,CAACQ,aAAD,EAAgBZ,SAAhB,CAArC;IAEA,MAAMsB,WAAW,GAAGb,MAAM,CAACc,IAAP,CAAYnC,MAAM,IAAIA,MAAM,CAACoC,QAAP,OAAsB7B,KAA5C,CAApB;IACA,IAAIkC,IAAY,GAAGlC,KAAnB;IACA,IAAIwB,cAA0C,GAAGH,SAAjD;;IACA,IAAIM,WAAJ,EAAiB;MACbH,cAAc,GAAIM,KAAD,IAAgB;QAC7B,OAAOH,WAAW,CAACH,cAAZ,CAA2BM,KAA3B,CAAP;MACH,CAFD;;MAGAI,IAAI,GAAGP,WAAW,CAACI,OAAZ,EAAP;IACH;;IAEDZ,OAAO,CAACa,IAAR,CAAa;MACTZ,YADS;MAETa,YAFS;MAGTT,cAHS;MAITC,KAAK,EAAE,CAACS,IAAD,CAJE;MAKT5B;IALS,CAAb;IAQA,OAAOa,OAAP;EACH,CAtDM,EAsDJ,EAtDI,CAAP;AAuDH,CAvED;AAwEA;AACA;AACA;;;AACA,MAAMgB,SAAS,GAAG,CAACL,KAAD,EAAaN,cAAb,KAAsD;EACpE,IAAI,CAACA,cAAL,EAAqB;IACjB,OAAOM,KAAP;EACH;;EACD,IAAIM,KAAK,CAACC,OAAN,CAAcP,KAAd,CAAJ,EAA0B;IACtB,OAAOA,KAAK,CAACJ,GAAN,CAAUY,CAAC,IAAId,cAAc,CAACc,CAAD,CAA7B,CAAP;EACH;;EACD,OAAOd,cAAc,CAACM,KAAD,CAArB;AACH,CARD;AASA;AACA;AACA;;;AACA,MAAMS,oBAAoB,GAAInD,MAAD,IAAoE;EAC7F,MAAM+B,OAAO,GAAGP,aAAa,CAACxB,MAAD,CAA7B;EACA;AACJ;AACA;AACA;;EACI,IAAI+B,OAAO,CAAChB,MAAR,KAAmB,CAAvB,EAA0B;IACtB,OAAO,IAAP;EACH;;EAED,OAAQqC,IAAD,IAAe;IAClB,KAAK,MAAMC,MAAX,IAAqBtB,OAArB,EAA8B;MAC1B,MAAMrB,MAAM,GAAG2C,MAAM,CAAChB,KAAP,CAAaiB,IAAb,CAAkBR,IAAI,IAAI;QACrC,MAAMJ,KAAK,GAAGK,SAAS,CAACQ,gBAAA,CAAQC,GAAR,CAAYJ,IAAZ,EAAkBN,IAAlB,CAAD,EAA0BO,MAAM,CAACjB,cAAjC,CAAvB;QACA,MAAMJ,YAAY,GAAGe,SAAS,CAACM,MAAM,CAACrB,YAAR,EAAsBqB,MAAM,CAACjB,cAA7B,CAA9B;QACA,MAAMqB,OAAO,GAAGJ,MAAM,CAACR,YAAP,CAAoBa,OAApB,CAA4B;UACxChB,KADwC;UAExCV;QAFwC,CAA5B,CAAhB;QAKA,OAAOqB,MAAM,CAACnC,MAAP,GAAgB,CAACuC,OAAjB,GAA2BA,OAAlC;MACH,CATc,CAAf;;MAUA,IAAI/C,MAAM,KAAK,KAAf,EAAsB;QAClB,OAAO,KAAP;MACH;IACJ;;IACD,OAAO,IAAP;EACH,CAjBD;AAkBH,CA5BD;;AA8BO,SAASiD,WAAT,CAA8B3D,MAA9B,EAAsD;EACzD,MAAMqD,MAAM,GAAGF,oBAAoB,CAACnD,MAAD,CAAnC;EACA;AACJ;AACA;;EACI,IAAI,CAACqD,MAAL,EAAa;IACT,OAAOrD,MAAM,CAAC4D,KAAd;EACH;;EACD,OAAO5D,MAAM,CAAC4D,KAAP,CAAaP,MAAb,CAAoBA,MAApB,CAAP;AACH"}
package/utils/get.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["get.ts"],"names":["get","params","entity","keys","result","Item"],"mappings":";;;;;;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,GAAG,GAAG,MAAUC,MAAV,IAAyD;AACxE,QAAM;AAAEC,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAmBF,MAAzB;AAEA,QAAMG,MAAM,GAAG,MAAMF,MAAM,CAACF,GAAP,CAAWG,IAAX,CAArB;;AAEA,MAAI,CAACC,MAAD,IAAW,CAACA,MAAM,CAACC,IAAvB,EAA6B;AACzB,WAAO,IAAP;AACH;;AACD,SAAOD,MAAM,CAACC,IAAd;AACH,CATM","sourcesContent":["import { Entity } from \"dynamodb-toolbox\";\n\nexport interface GetRecordParams {\n entity: Entity<any>;\n keys: {\n PK: string;\n SK: string;\n };\n}\n\n/**\n * Gets a single record from the DynamoDB table.\n * Returns either record or null.\n *\n * Be aware to wrap in try/catch to avoid the error killing your app.\n *\n * @throws\n */\nexport const get = async <T>(params: GetRecordParams): Promise<T | null> => {\n const { entity, keys } = params;\n\n const result = await entity.get(keys);\n\n if (!result || !result.Item) {\n return null;\n }\n return result.Item;\n};\n"]}
1
+ {"version":3,"names":["get","params","entity","keys","result","Item"],"sources":["get.ts"],"sourcesContent":["import { Entity } from \"dynamodb-toolbox\";\n\nexport interface GetRecordParams {\n entity: Entity<any>;\n keys: {\n PK: string;\n SK: string;\n };\n}\n\n/**\n * Gets a single record from the DynamoDB table.\n * Returns either record or null.\n *\n * Be aware to wrap in try/catch to avoid the error killing your app.\n *\n * @throws\n */\nexport const get = async <T>(params: GetRecordParams): Promise<T | null> => {\n const { entity, keys } = params;\n\n const result = await entity.get(keys);\n\n if (!result || !result.Item) {\n return null;\n }\n return result.Item;\n};\n"],"mappings":";;;;;;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,GAAG,GAAG,MAAUC,MAAV,IAAyD;EACxE,MAAM;IAAEC,MAAF;IAAUC;EAAV,IAAmBF,MAAzB;EAEA,MAAMG,MAAM,GAAG,MAAMF,MAAM,CAACF,GAAP,CAAWG,IAAX,CAArB;;EAEA,IAAI,CAACC,MAAD,IAAW,CAACA,MAAM,CAACC,IAAvB,EAA6B;IACzB,OAAO,IAAP;EACH;;EACD,OAAOD,MAAM,CAACC,IAAd;AACH,CATM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["listResponse.ts"],"names":["createListResponse","params","items","initialItems","after","totalCount","limit","start","Number","isNaN","hasMoreItems","end","undefined","slice","cursor","length","meta"],"mappings":";;;;;;;AAAA;;AAeO,SAASA,kBAAT,CAA+BC,MAA/B,EAAyF;AAC5F,QAAM;AAAEC,IAAAA,KAAK,EAAEC,YAAT;AAAuBC,IAAAA,KAAvB;AAA8BC,IAAAA,UAA9B;AAA0CC,IAAAA;AAA1C,MAAoDL,MAA1D;AACA,MAAIM,KAAK,GAAGC,MAAM,CAAC,0BAAaJ,KAAb,CAAD,CAAlB;;AACA,MAAIK,KAAK,CAACF,KAAD,CAAL,KAAiB,IAArB,EAA2B;AACvBA,IAAAA,KAAK,GAAG,CAAR;AACH;;AACD,QAAMG,YAAY,GAAGL,UAAU,GAAGE,KAAK,GAAGD,KAA1C;AACA,QAAMK,GAAG,GAAGL,KAAK,GAAGD,UAAU,GAAGE,KAAb,GAAqBD,KAA7B,GAAqCM,SAArC,GAAiDL,KAAK,GAAGD,KAArE;AACA,QAAMJ,KAAK,GAAGS,GAAG,GAAGR,YAAY,CAACU,KAAb,CAAmBN,KAAnB,EAA0BI,GAA1B,CAAH,GAAoCR,YAArD;AAEA,QAAMW,MAAM,GAAGZ,KAAK,CAACa,MAAN,GAAe,CAAf,GAAmB,0BAAaR,KAAK,GAAGD,KAArB,CAAnB,GAAiD,IAAhE;AAEA,QAAMU,IAAI,GAAG;AACTN,IAAAA,YADS;AAETL,IAAAA,UAFS;AAGTS,IAAAA;AAHS,GAAb;AAMA,SAAO,CAACZ,KAAD,EAAQc,IAAR,CAAP;AACH","sourcesContent":["import { decodeCursor, encodeCursor } from \"~/utils/cursor\";\n\ninterface MetaResponse {\n cursor: string | null;\n totalCount: number;\n hasMoreItems: boolean;\n}\n\ninterface CreateListResponseParams<T> {\n items: T[];\n after?: string | null;\n totalCount: number;\n limit: number;\n}\n\nexport function createListResponse<T>(params: CreateListResponseParams<T>): [T[], MetaResponse] {\n const { items: initialItems, after, totalCount, limit } = params;\n let start = Number(decodeCursor(after));\n if (isNaN(start) === true) {\n start = 0;\n }\n const hasMoreItems = totalCount > start + limit;\n const end = limit > totalCount + start + limit ? undefined : start + limit;\n const items = end ? initialItems.slice(start, end) : initialItems;\n\n const cursor = items.length > 0 ? encodeCursor(start + limit) : null;\n\n const meta = {\n hasMoreItems,\n totalCount,\n cursor\n };\n\n return [items, meta];\n}\n"]}
1
+ {"version":3,"names":["createListResponse","params","items","initialItems","after","totalCount","limit","start","Number","decodeCursor","isNaN","hasMoreItems","end","undefined","slice","cursor","length","encodeCursor","meta"],"sources":["listResponse.ts"],"sourcesContent":["import { decodeCursor, encodeCursor } from \"~/utils/cursor\";\n\ninterface MetaResponse {\n cursor: string | null;\n totalCount: number;\n hasMoreItems: boolean;\n}\n\ninterface CreateListResponseParams<T> {\n items: T[];\n after?: string | null;\n totalCount: number;\n limit: number;\n}\n\nexport function createListResponse<T>(params: CreateListResponseParams<T>): [T[], MetaResponse] {\n const { items: initialItems, after, totalCount, limit } = params;\n let start = Number(decodeCursor(after));\n if (isNaN(start) === true) {\n start = 0;\n }\n const hasMoreItems = totalCount > start + limit;\n const end = limit > totalCount + start + limit ? undefined : start + limit;\n const items = end ? initialItems.slice(start, end) : initialItems;\n\n const cursor = items.length > 0 ? encodeCursor(start + limit) : null;\n\n const meta = {\n hasMoreItems,\n totalCount,\n cursor\n };\n\n return [items, meta];\n}\n"],"mappings":";;;;;;;AAAA;;AAeO,SAASA,kBAAT,CAA+BC,MAA/B,EAAyF;EAC5F,MAAM;IAAEC,KAAK,EAAEC,YAAT;IAAuBC,KAAvB;IAA8BC,UAA9B;IAA0CC;EAA1C,IAAoDL,MAA1D;EACA,IAAIM,KAAK,GAAGC,MAAM,CAAC,IAAAC,oBAAA,EAAaL,KAAb,CAAD,CAAlB;;EACA,IAAIM,KAAK,CAACH,KAAD,CAAL,KAAiB,IAArB,EAA2B;IACvBA,KAAK,GAAG,CAAR;EACH;;EACD,MAAMI,YAAY,GAAGN,UAAU,GAAGE,KAAK,GAAGD,KAA1C;EACA,MAAMM,GAAG,GAAGN,KAAK,GAAGD,UAAU,GAAGE,KAAb,GAAqBD,KAA7B,GAAqCO,SAArC,GAAiDN,KAAK,GAAGD,KAArE;EACA,MAAMJ,KAAK,GAAGU,GAAG,GAAGT,YAAY,CAACW,KAAb,CAAmBP,KAAnB,EAA0BK,GAA1B,CAAH,GAAoCT,YAArD;EAEA,MAAMY,MAAM,GAAGb,KAAK,CAACc,MAAN,GAAe,CAAf,GAAmB,IAAAC,oBAAA,EAAaV,KAAK,GAAGD,KAArB,CAAnB,GAAiD,IAAhE;EAEA,MAAMY,IAAI,GAAG;IACTP,YADS;IAETN,UAFS;IAGTU;EAHS,CAAb;EAMA,OAAO,CAACb,KAAD,EAAQgB,IAAR,CAAP;AACH"}
@@ -1 +1 @@
1
- {"version":3,"sources":["query.ts"],"names":["query","params","entity","previous","partitionKey","options","result","next","items","Items","Array","isArray","WebinyError","queryOne","limit","item","shift","queryAll","results","previousResult","undefined","push"],"mappings":";;;;;;;;;;;AACA;;;;;;AA8BA;AACA;AACA;AACA;AACA;AACA,MAAMA,KAAK,GAAG,MAAUC,MAAV,IAA2D;AACrE,QAAM;AAAEC,IAAAA,MAAF;AAAUC,IAAAA,QAAV;AAAoBC,IAAAA,YAApB;AAAkCC,IAAAA;AAAlC,MAA8CJ,MAApD;AACA,MAAIK,MAAJ;AACA;AACJ;AACA;AACA;;AACI,MAAI,CAACH,QAAL,EAAe;AACXG,IAAAA,MAAM,GAAG,MAAMJ,MAAM,CAACF,KAAP,CAAaI,YAAb,EAA2BC,OAA3B,CAAf;AACH,GAFD,MAEO,IAAI,OAAOF,QAAQ,CAACI,IAAhB,KAAyB,UAA7B,EAAyC;AAC5C;AACR;AACA;AACA;AACA;AACQD,IAAAA,MAAM,GAAG,MAAMH,QAAQ,CAACI,IAAT,EAAf;;AACA,QAAID,MAAM,KAAK,KAAf,EAAsB;AAClB,aAAO;AACHA,QAAAA,MAAM,EAAE,IADL;AAEHE,QAAAA,KAAK,EAAE;AAFJ,OAAP;AAIH;AACJ,GAbM,MAaA;AACH;AACR;AACA;AACA;AACA;AACQ,WAAO;AACHF,MAAAA,MAAM,EAAE,IADL;AAEHE,MAAAA,KAAK,EAAE;AAFJ,KAAP;AAIH;AACD;AACJ;AACA;;;AACI,MAAI,CAACF,MAAD,IAAW,CAACA,MAAM,CAACG,KAAnB,IAA4B,CAACC,KAAK,CAACC,OAAN,CAAcL,MAAM,CAACG,KAArB,CAAjC,EAA8D;AAC1D,UAAM,IAAIG,cAAJ,CACF,sDADE,EAEF,aAFE,EAGF;AACIR,MAAAA,YADJ;AAEIC,MAAAA;AAFJ,KAHE,CAAN;AAQH;;AACD,SAAO;AACHC,IAAAA,MADG;AAEHE,IAAAA,KAAK,EAAEF,MAAM,CAACG;AAFX,GAAP;AAIH,CAlDD;AAmDA;AACA;AACA;;;AACO,MAAMI,QAAQ,GAAG,MAAUZ,MAAV,IAAgE;AACpF,QAAM;AAAEO,IAAAA;AAAF,MAAY,MAAMR,KAAK,iCACtBC,MADsB;AAEzBI,IAAAA,OAAO,kCACCJ,MAAM,CAACI,OAAP,IAAkB,EADnB;AAEHS,MAAAA,KAAK,EAAE;AAFJ;AAFkB,KAA7B;AAOA,QAAMC,IAAI,GAAGP,KAAK,CAACQ,KAAN,EAAb;AACA,SAAOD,IAAI,GAAGA,IAAH,GAAU,IAArB;AACH,CAVM;AAWP;AACA;AACA;;;;;AACO,MAAME,QAAQ,GAAG,MAAUhB,MAAV,IAA2D;AAC/E,QAAMO,KAAkB,GAAG,EAA3B;AACA,MAAIU,OAAJ;AACA,MAAIC,cAAmB,GAAGC,SAA1B;;AACA,SAAQF,OAAO,GAAG,MAAMlB,KAAK,iCAAMC,MAAN;AAAcE,IAAAA,QAAQ,EAAEgB;AAAxB,KAA7B,EAAyE;AACrEX,IAAAA,KAAK,CAACa,IAAN,CAAW,GAAGH,OAAO,CAACV,KAAtB;;AACA,QAAI,CAACU,OAAO,CAACZ,MAAb,EAAqB;AACjB,aAAOE,KAAP;AACH;;AACDW,IAAAA,cAAc,GAAGD,OAAO,CAACZ,MAAzB;AACH;;AACD,SAAOE,KAAP;AACH,CAZM","sourcesContent":["import { queryOptions as DynamoDBToolboxQueryOptions } from \"dynamodb-toolbox/dist/classes/Table\";\nimport WebinyError from \"@webiny/error\";\nimport { Entity } from \"dynamodb-toolbox\";\n\nexport interface QueryAllParams {\n entity: Entity<any>;\n partitionKey: string;\n options?: DynamoDBToolboxQueryOptions;\n}\n\nexport interface QueryOneParams extends QueryAllParams {\n options?: Omit<DynamoDBToolboxQueryOptions, \"limit\">;\n}\n\nexport interface QueryParams extends QueryAllParams {\n previous?: any;\n}\n\nexport interface QueryResult<T> {\n result: any | null;\n items: T[];\n}\n\nexport type DbItem<T> = T & {\n PK: string;\n SK: string;\n TYPE: string;\n GSI1_PK?: string;\n GSI1_SK?: string;\n};\n\n/**\n * Will run query only once. Pass the previous to run the query again to fetch new data.\n * It returns the result and the items it found.\n * Result is required to fetch the items that were not fetched in the previous run.\n */\nconst query = async <T>(params: QueryParams): Promise<QueryResult<T>> => {\n const { entity, previous, partitionKey, options } = params;\n let result;\n /**\n * In case there is no previous result we must make a new query.\n * This is the first query on the given partition key.\n */\n if (!previous) {\n result = await entity.query(partitionKey, options);\n } else if (typeof previous.next === \"function\") {\n /**\n * In case we have a previous result and it has a next method, we run it.\n * In case result of the next method is false, it means it has nothing else to read\n * and we return a null to keep the query from repeating.\n */\n result = await previous.next();\n if (result === false) {\n return {\n result: null,\n items: []\n };\n }\n } else {\n /**\n * This could probably never happen but keep it here just in case to break the query loop.\n * Basically, either previous does not exist or it exists and it does not have the next method\n * and at that point a result returned will be null and loop should not start again.\n */\n return {\n result: null,\n items: []\n };\n }\n /**\n * We expect the result to contain an Items array and if not, something went wrong, very wrong.\n */\n if (!result || !result.Items || !Array.isArray(result.Items)) {\n throw new WebinyError(\n \"Error when querying for content entries - no result.\",\n \"QUERY_ERROR\",\n {\n partitionKey,\n options\n }\n );\n }\n return {\n result,\n items: result.Items\n };\n};\n/**\n * Will run the query to fetch the first possible item from the database.\n */\nexport const queryOne = async <T>(params: QueryOneParams): Promise<DbItem<T> | null> => {\n const { items } = await query<DbItem<T>>({\n ...params,\n options: {\n ...(params.options || {}),\n limit: 1\n }\n });\n const item = items.shift();\n return item ? item : null;\n};\n/**\n * Will run the query to fetch the results no matter how much iterations it needs to go through.\n */\nexport const queryAll = async <T>(params: QueryAllParams): Promise<DbItem<T>[]> => {\n const items: DbItem<T>[] = [];\n let results: QueryResult<DbItem<T>>;\n let previousResult: any = undefined;\n while ((results = await query({ ...params, previous: previousResult }))) {\n items.push(...results.items);\n if (!results.result) {\n return items;\n }\n previousResult = results.result;\n }\n return items;\n};\n"]}
1
+ {"version":3,"names":["query","params","entity","previous","partitionKey","options","result","next","items","Items","Array","isArray","WebinyError","queryOne","limit","item","shift","queryAll","results","previousResult","undefined","push"],"sources":["query.ts"],"sourcesContent":["import { queryOptions as DynamoDBToolboxQueryOptions } from \"dynamodb-toolbox/dist/classes/Table\";\nimport WebinyError from \"@webiny/error\";\nimport { Entity } from \"dynamodb-toolbox\";\n\nexport interface QueryAllParams {\n entity: Entity<any>;\n partitionKey: string;\n options?: DynamoDBToolboxQueryOptions;\n}\n\nexport interface QueryOneParams extends QueryAllParams {\n options?: Omit<DynamoDBToolboxQueryOptions, \"limit\">;\n}\n\nexport interface QueryParams extends QueryAllParams {\n previous?: any;\n}\n\nexport interface QueryResult<T> {\n result: any | null;\n items: T[];\n}\n\nexport type DbItem<T> = T & {\n PK: string;\n SK: string;\n TYPE: string;\n GSI1_PK?: string;\n GSI1_SK?: string;\n};\n\n/**\n * Will run query only once. Pass the previous to run the query again to fetch new data.\n * It returns the result and the items it found.\n * Result is required to fetch the items that were not fetched in the previous run.\n */\nconst query = async <T>(params: QueryParams): Promise<QueryResult<T>> => {\n const { entity, previous, partitionKey, options } = params;\n let result;\n /**\n * In case there is no previous result we must make a new query.\n * This is the first query on the given partition key.\n */\n if (!previous) {\n result = await entity.query(partitionKey, options);\n } else if (typeof previous.next === \"function\") {\n /**\n * In case we have a previous result and it has a next method, we run it.\n * In case result of the next method is false, it means it has nothing else to read\n * and we return a null to keep the query from repeating.\n */\n result = await previous.next();\n if (result === false) {\n return {\n result: null,\n items: []\n };\n }\n } else {\n /**\n * This could probably never happen but keep it here just in case to break the query loop.\n * Basically, either previous does not exist or it exists and it does not have the next method\n * and at that point a result returned will be null and loop should not start again.\n */\n return {\n result: null,\n items: []\n };\n }\n /**\n * We expect the result to contain an Items array and if not, something went wrong, very wrong.\n */\n if (!result || !result.Items || !Array.isArray(result.Items)) {\n throw new WebinyError(\n \"Error when querying for content entries - no result.\",\n \"QUERY_ERROR\",\n {\n partitionKey,\n options\n }\n );\n }\n return {\n result,\n items: result.Items\n };\n};\n/**\n * Will run the query to fetch the first possible item from the database.\n */\nexport const queryOne = async <T>(params: QueryOneParams): Promise<DbItem<T> | null> => {\n const { items } = await query<DbItem<T>>({\n ...params,\n options: {\n ...(params.options || {}),\n limit: 1\n }\n });\n const item = items.shift();\n return item ? item : null;\n};\n/**\n * Will run the query to fetch the results no matter how much iterations it needs to go through.\n */\nexport const queryAll = async <T>(params: QueryAllParams): Promise<DbItem<T>[]> => {\n const items: DbItem<T>[] = [];\n let results: QueryResult<DbItem<T>>;\n let previousResult: any = undefined;\n while ((results = await query({ ...params, previous: previousResult }))) {\n items.push(...results.items);\n if (!results.result) {\n return items;\n }\n previousResult = results.result;\n }\n return items;\n};\n"],"mappings":";;;;;;;;;;;AACA;;;;;;AA8BA;AACA;AACA;AACA;AACA;AACA,MAAMA,KAAK,GAAG,MAAUC,MAAV,IAA2D;EACrE,MAAM;IAAEC,MAAF;IAAUC,QAAV;IAAoBC,YAApB;IAAkCC;EAAlC,IAA8CJ,MAApD;EACA,IAAIK,MAAJ;EACA;AACJ;AACA;AACA;;EACI,IAAI,CAACH,QAAL,EAAe;IACXG,MAAM,GAAG,MAAMJ,MAAM,CAACF,KAAP,CAAaI,YAAb,EAA2BC,OAA3B,CAAf;EACH,CAFD,MAEO,IAAI,OAAOF,QAAQ,CAACI,IAAhB,KAAyB,UAA7B,EAAyC;IAC5C;AACR;AACA;AACA;AACA;IACQD,MAAM,GAAG,MAAMH,QAAQ,CAACI,IAAT,EAAf;;IACA,IAAID,MAAM,KAAK,KAAf,EAAsB;MAClB,OAAO;QACHA,MAAM,EAAE,IADL;QAEHE,KAAK,EAAE;MAFJ,CAAP;IAIH;EACJ,CAbM,MAaA;IACH;AACR;AACA;AACA;AACA;IACQ,OAAO;MACHF,MAAM,EAAE,IADL;MAEHE,KAAK,EAAE;IAFJ,CAAP;EAIH;EACD;AACJ;AACA;;;EACI,IAAI,CAACF,MAAD,IAAW,CAACA,MAAM,CAACG,KAAnB,IAA4B,CAACC,KAAK,CAACC,OAAN,CAAcL,MAAM,CAACG,KAArB,CAAjC,EAA8D;IAC1D,MAAM,IAAIG,cAAJ,CACF,sDADE,EAEF,aAFE,EAGF;MACIR,YADJ;MAEIC;IAFJ,CAHE,CAAN;EAQH;;EACD,OAAO;IACHC,MADG;IAEHE,KAAK,EAAEF,MAAM,CAACG;EAFX,CAAP;AAIH,CAlDD;AAmDA;AACA;AACA;;;AACO,MAAMI,QAAQ,GAAG,MAAUZ,MAAV,IAAgE;EACpF,MAAM;IAAEO;EAAF,IAAY,MAAMR,KAAK,iCACtBC,MADsB;IAEzBI,OAAO,kCACCJ,MAAM,CAACI,OAAP,IAAkB,EADnB;MAEHS,KAAK,EAAE;IAFJ;EAFkB,GAA7B;EAOA,MAAMC,IAAI,GAAGP,KAAK,CAACQ,KAAN,EAAb;EACA,OAAOD,IAAI,GAAGA,IAAH,GAAU,IAArB;AACH,CAVM;AAWP;AACA;AACA;;;;;AACO,MAAME,QAAQ,GAAG,MAAUhB,MAAV,IAA2D;EAC/E,MAAMO,KAAkB,GAAG,EAA3B;EACA,IAAIU,OAAJ;EACA,IAAIC,cAAmB,GAAGC,SAA1B;;EACA,OAAQF,OAAO,GAAG,MAAMlB,KAAK,iCAAMC,MAAN;IAAcE,QAAQ,EAAEgB;EAAxB,GAA7B,EAAyE;IACrEX,KAAK,CAACa,IAAN,CAAW,GAAGH,OAAO,CAACV,KAAtB;;IACA,IAAI,CAACU,OAAO,CAACZ,MAAb,EAAqB;MACjB,OAAOE,KAAP;IACH;;IACDW,cAAc,GAAGD,OAAO,CAACZ,MAAzB;EACH;;EACD,OAAOE,KAAP;AACH,CAZM"}
package/utils/sort.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["sort.ts"],"names":["extractSort","sortBy","fields","result","split","length","WebinyError","field","order","fieldPlugin","find","f","getField","isSortable","reverse","toUpperCase","sortItems","params","items","sort","initialSort","Array","isArray","info","sorters","orders","path","getPath","push"],"mappings":";;;;;;;;;AAAA;;AACA;;AAaA,MAAMA,WAAW,GAAG,CAACC,MAAD,EAAiBC,MAAjB,KAAqD;AACrE,QAAMC,MAAM,GAAGF,MAAM,CAACG,KAAP,CAAa,GAAb,CAAf;;AACA,MAAID,MAAM,CAACE,MAAP,KAAkB,CAAtB,EAAyB;AACrB,UAAM,IAAIC,cAAJ,CACF,yDADE,EAEF,YAFE,EAGF;AACIL,MAAAA;AADJ,KAHE,CAAN;AAOH;;AACD,QAAM,CAACM,KAAD,EAAQC,KAAR,IAAiBL,MAAvB;;AAEA,MAAI,CAACI,KAAL,EAAY;AACR,UAAM,IAAID,cAAJ,CAAgB,+BAAhB,EAAiD,qBAAjD,EAAwE;AAC1EC,MAAAA,KAD0E;AAE1EC,MAAAA,KAF0E;AAG1EN,MAAAA;AAH0E,KAAxE,CAAN;AAKH;;AACD,QAAMO,WAAW,GAAGP,MAAM,CAACQ,IAAP,CAAYC,CAAC,IAAIA,CAAC,CAACC,QAAF,OAAiBL,KAAlC,CAApB;AACA,QAAMM,UAAU,GAAGJ,WAAW,GAAGA,WAAW,CAACI,UAAZ,EAAH,GAA8B,IAA5D;;AACA,MAAIA,UAAU,KAAK,KAAnB,EAA0B;AACtB,UAAM,IAAIP,cAAJ,CAAiB,gCAA+BC,KAAM,IAAtD,EAA2D,wBAA3D,EAAqF;AACvFL,MAAAA,MADuF;AAEvFK,MAAAA;AAFuF,KAArF,CAAN;AAIH;;AAED,SAAO;AACHA,IAAAA,KADG;AAEHO,IAAAA,OAAO,EAAEN,KAAK,CAACO,WAAN,OAAwB;AAF9B,GAAP;AAIH,CAjCD;;AAkDO,SAASC,SAAT,CAA4BC,MAA5B,EAAoD;AACvD,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA,IAAI,EAAEC,WAAW,GAAG,EAA7B;AAAiClB,IAAAA,MAAM,GAAG;AAA1C,MAAiDe,MAAvD;AACA;AACJ;AACA;;AACI,MAAIC,KAAK,CAACb,MAAN,IAAgB,CAAhB,IAAqBgB,KAAK,CAACC,OAAN,CAAcF,WAAd,MAA+B,KAApD,IAA6DA,WAAW,CAACf,MAAZ,KAAuB,CAAxF,EAA2F;AACvF,WAAOa,KAAP;AACH;;AAED,QAAMK,IAAU,GAAG;AACfC,IAAAA,OAAO,EAAE,EADM;AAEfC,IAAAA,MAAM,EAAE;AAFO,GAAnB;;AAKA,OAAK,MAAMN,IAAX,IAAmBC,WAAnB,EAAgC;AAC5B;AACR;AACA;AACQ,QAAI,CAACD,IAAL,EAAW;AACP;AACH;;AACD,UAAM;AAAEZ,MAAAA,KAAF;AAASO,MAAAA;AAAT,QAAqBd,WAAW,CAACmB,IAAD,EAAOjB,MAAP,CAAtC;AACA,UAAMO,WAAW,GAAGP,MAAM,CAACQ,IAAP,CAAYC,CAAC,IAAIA,CAAC,CAACC,QAAF,OAAiBL,KAAlC,CAApB;AACA,UAAMmB,IAAI,GAAGjB,WAAW,GAAGA,WAAW,CAACkB,OAAZ,EAAH,GAA2BpB,KAAnD;AAEAgB,IAAAA,IAAI,CAACC,OAAL,CAAaI,IAAb,CAAkBF,IAAlB;AACAH,IAAAA,IAAI,CAACE,MAAL,CAAYG,IAAZ,CAAiBd,OAAO,KAAK,IAAZ,GAAmB,MAAnB,GAA4B,KAA7C;AACH;;AAED,MAAIS,IAAI,CAACC,OAAL,CAAanB,MAAb,KAAwB,CAA5B,EAA+B;AAC3B,WAAOa,KAAP;AACH;;AAED,SAAO,sBAAcA,KAAd,EAAqBK,IAAI,CAACC,OAA1B,EAAmCD,IAAI,CAACE,MAAxC,CAAP;AACH","sourcesContent":["import lodashOrderBy from \"lodash/orderBy\";\nimport WebinyError from \"@webiny/error\";\nimport { FieldPlugin } from \"~/plugins/definitions/FieldPlugin\";\n\ninterface Info {\n sorters: string[];\n orders: (boolean | \"asc\" | \"desc\")[];\n}\n\ninterface Response {\n reverse: boolean;\n field: string;\n}\n\nconst extractSort = (sortBy: string, fields: FieldPlugin[]): Response => {\n const result = sortBy.split(\"_\");\n if (result.length !== 2) {\n throw new WebinyError(\n \"Problem in determining the sorting for the entry items.\",\n \"SORT_ERROR\",\n {\n sortBy\n }\n );\n }\n const [field, order] = result;\n\n if (!field) {\n throw new WebinyError(\"Sorting field does not exist.\", \"SORTING_FIELD_ERROR\", {\n field,\n order,\n fields\n });\n }\n const fieldPlugin = fields.find(f => f.getField() === field);\n const isSortable = fieldPlugin ? fieldPlugin.isSortable() : true;\n if (isSortable === false) {\n throw new WebinyError(`Cannot sort by given field: \"${field}\".`, \"UNSUPPORTED_SORT_ERROR\", {\n fields,\n field\n });\n }\n\n return {\n field,\n reverse: order.toUpperCase() === \"DESC\"\n };\n};\n\ninterface Params<T> {\n /**\n * The items we are sorting.\n */\n items: T[];\n /**\n * Sort options. For example: [\"id_ASC\"]\n */\n sort?: string[];\n /**\n * Fields we can sort by.\n */\n fields?: FieldPlugin[];\n}\n\nexport function sortItems<T = any>(params: Params<T>): T[] {\n const { items, sort: initialSort = [], fields = [] } = params;\n /**\n * Skip sorting if nothing was passed to sort by or nothing to sort.\n */\n if (items.length <= 1 || Array.isArray(initialSort) === false || initialSort.length === 0) {\n return items;\n }\n\n const info: Info = {\n sorters: [],\n orders: []\n };\n\n for (const sort of initialSort) {\n /**\n * Possibly empty array item was passed.\n */\n if (!sort) {\n continue;\n }\n const { field, reverse } = extractSort(sort, fields);\n const fieldPlugin = fields.find(f => f.getField() === field);\n const path = fieldPlugin ? fieldPlugin.getPath() : field;\n\n info.sorters.push(path);\n info.orders.push(reverse === true ? \"desc\" : \"asc\");\n }\n\n if (info.sorters.length === 0) {\n return items;\n }\n\n return lodashOrderBy(items, info.sorters, info.orders);\n}\n"]}
1
+ {"version":3,"names":["extractSort","sortBy","fields","result","split","length","WebinyError","field","order","fieldPlugin","find","f","getField","isSortable","reverse","toUpperCase","sortItems","params","items","sort","initialSort","Array","isArray","info","sorters","orders","path","getPath","push","lodashOrderBy"],"sources":["sort.ts"],"sourcesContent":["import lodashOrderBy from \"lodash/orderBy\";\nimport WebinyError from \"@webiny/error\";\nimport { FieldPlugin } from \"~/plugins/definitions/FieldPlugin\";\n\ninterface Info {\n sorters: string[];\n orders: (boolean | \"asc\" | \"desc\")[];\n}\n\ninterface Response {\n reverse: boolean;\n field: string;\n}\n\nconst extractSort = (sortBy: string, fields: FieldPlugin[]): Response => {\n const result = sortBy.split(\"_\");\n if (result.length !== 2) {\n throw new WebinyError(\n \"Problem in determining the sorting for the entry items.\",\n \"SORT_ERROR\",\n {\n sortBy\n }\n );\n }\n const [field, order] = result;\n\n if (!field) {\n throw new WebinyError(\"Sorting field does not exist.\", \"SORTING_FIELD_ERROR\", {\n field,\n order,\n fields\n });\n }\n const fieldPlugin = fields.find(f => f.getField() === field);\n const isSortable = fieldPlugin ? fieldPlugin.isSortable() : true;\n if (isSortable === false) {\n throw new WebinyError(`Cannot sort by given field: \"${field}\".`, \"UNSUPPORTED_SORT_ERROR\", {\n fields,\n field\n });\n }\n\n return {\n field,\n reverse: order.toUpperCase() === \"DESC\"\n };\n};\n\ninterface Params<T> {\n /**\n * The items we are sorting.\n */\n items: T[];\n /**\n * Sort options. For example: [\"id_ASC\"]\n */\n sort?: string[];\n /**\n * Fields we can sort by.\n */\n fields?: FieldPlugin[];\n}\n\nexport function sortItems<T = any>(params: Params<T>): T[] {\n const { items, sort: initialSort = [], fields = [] } = params;\n /**\n * Skip sorting if nothing was passed to sort by or nothing to sort.\n */\n if (items.length <= 1 || Array.isArray(initialSort) === false || initialSort.length === 0) {\n return items;\n }\n\n const info: Info = {\n sorters: [],\n orders: []\n };\n\n for (const sort of initialSort) {\n /**\n * Possibly empty array item was passed.\n */\n if (!sort) {\n continue;\n }\n const { field, reverse } = extractSort(sort, fields);\n const fieldPlugin = fields.find(f => f.getField() === field);\n const path = fieldPlugin ? fieldPlugin.getPath() : field;\n\n info.sorters.push(path);\n info.orders.push(reverse === true ? \"desc\" : \"asc\");\n }\n\n if (info.sorters.length === 0) {\n return items;\n }\n\n return lodashOrderBy(items, info.sorters, info.orders);\n}\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAaA,MAAMA,WAAW,GAAG,CAACC,MAAD,EAAiBC,MAAjB,KAAqD;EACrE,MAAMC,MAAM,GAAGF,MAAM,CAACG,KAAP,CAAa,GAAb,CAAf;;EACA,IAAID,MAAM,CAACE,MAAP,KAAkB,CAAtB,EAAyB;IACrB,MAAM,IAAIC,cAAJ,CACF,yDADE,EAEF,YAFE,EAGF;MACIL;IADJ,CAHE,CAAN;EAOH;;EACD,MAAM,CAACM,KAAD,EAAQC,KAAR,IAAiBL,MAAvB;;EAEA,IAAI,CAACI,KAAL,EAAY;IACR,MAAM,IAAID,cAAJ,CAAgB,+BAAhB,EAAiD,qBAAjD,EAAwE;MAC1EC,KAD0E;MAE1EC,KAF0E;MAG1EN;IAH0E,CAAxE,CAAN;EAKH;;EACD,MAAMO,WAAW,GAAGP,MAAM,CAACQ,IAAP,CAAYC,CAAC,IAAIA,CAAC,CAACC,QAAF,OAAiBL,KAAlC,CAApB;EACA,MAAMM,UAAU,GAAGJ,WAAW,GAAGA,WAAW,CAACI,UAAZ,EAAH,GAA8B,IAA5D;;EACA,IAAIA,UAAU,KAAK,KAAnB,EAA0B;IACtB,MAAM,IAAIP,cAAJ,CAAiB,gCAA+BC,KAAM,IAAtD,EAA2D,wBAA3D,EAAqF;MACvFL,MADuF;MAEvFK;IAFuF,CAArF,CAAN;EAIH;;EAED,OAAO;IACHA,KADG;IAEHO,OAAO,EAAEN,KAAK,CAACO,WAAN,OAAwB;EAF9B,CAAP;AAIH,CAjCD;;AAkDO,SAASC,SAAT,CAA4BC,MAA5B,EAAoD;EACvD,MAAM;IAAEC,KAAF;IAASC,IAAI,EAAEC,WAAW,GAAG,EAA7B;IAAiClB,MAAM,GAAG;EAA1C,IAAiDe,MAAvD;EACA;AACJ;AACA;;EACI,IAAIC,KAAK,CAACb,MAAN,IAAgB,CAAhB,IAAqBgB,KAAK,CAACC,OAAN,CAAcF,WAAd,MAA+B,KAApD,IAA6DA,WAAW,CAACf,MAAZ,KAAuB,CAAxF,EAA2F;IACvF,OAAOa,KAAP;EACH;;EAED,MAAMK,IAAU,GAAG;IACfC,OAAO,EAAE,EADM;IAEfC,MAAM,EAAE;EAFO,CAAnB;;EAKA,KAAK,MAAMN,IAAX,IAAmBC,WAAnB,EAAgC;IAC5B;AACR;AACA;IACQ,IAAI,CAACD,IAAL,EAAW;MACP;IACH;;IACD,MAAM;MAAEZ,KAAF;MAASO;IAAT,IAAqBd,WAAW,CAACmB,IAAD,EAAOjB,MAAP,CAAtC;IACA,MAAMO,WAAW,GAAGP,MAAM,CAACQ,IAAP,CAAYC,CAAC,IAAIA,CAAC,CAACC,QAAF,OAAiBL,KAAlC,CAApB;IACA,MAAMmB,IAAI,GAAGjB,WAAW,GAAGA,WAAW,CAACkB,OAAZ,EAAH,GAA2BpB,KAAnD;IAEAgB,IAAI,CAACC,OAAL,CAAaI,IAAb,CAAkBF,IAAlB;IACAH,IAAI,CAACE,MAAL,CAAYG,IAAZ,CAAiBd,OAAO,KAAK,IAAZ,GAAmB,MAAnB,GAA4B,KAA7C;EACH;;EAED,IAAIS,IAAI,CAACC,OAAL,CAAanB,MAAb,KAAwB,CAA5B,EAA+B;IAC3B,OAAOa,KAAP;EACH;;EAED,OAAO,IAAAW,gBAAA,EAAcX,KAAd,EAAqBK,IAAI,CAACC,OAA1B,EAAmCD,IAAI,CAACE,MAAxC,CAAP;AACH"}
@@ -1 +1 @@
1
- {"version":3,"sources":["table.ts"],"names":["getTable","context","db","WebinyError","table"],"mappings":";;;;;;;;;AAAA;;AAGA;AACA;AACA;AACA;AACA;AACO,MAAMA,QAAQ,GAAyBC,OAAtB,IAA6C;AACjE,MAAI,CAACA,OAAO,CAACC,EAAb,EAAiB;AACb,UAAM,IAAIC,cAAJ,CAAgB,wBAAhB,EAA0C,UAA1C,CAAN;AACH,GAFD,MAEO,IAAI,CAACF,OAAO,CAACC,EAAR,CAAWE,KAAhB,EAAuB;AAC1B,UAAM,IAAID,cAAJ,CAAgB,8BAAhB,EAAgD,aAAhD,CAAN;AACH;;AACD,SAAOF,OAAO,CAACC,EAAR,CAAWE,KAAlB;AACH,CAPM","sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { DbContext } from \"@webiny/handler-db/types\";\n\n/**\n * Will be removed in favor of passing the table name directly to the storage operations.\n *\n * @deprecated\n */\nexport const getTable = <T extends DbContext>(context: T): string => {\n if (!context.db) {\n throw new WebinyError(\"Missing db on context.\", \"DB_ERROR\");\n } else if (!context.db.table) {\n throw new WebinyError(\"Missing table on context.db.\", \"TABLE_ERROR\");\n }\n return context.db.table;\n};\n"]}
1
+ {"version":3,"names":["getTable","context","db","WebinyError","table"],"sources":["table.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { DbContext } from \"@webiny/handler-db/types\";\n\n/**\n * Will be removed in favor of passing the table name directly to the storage operations.\n *\n * @deprecated\n */\nexport const getTable = <T extends DbContext>(context: T): string => {\n if (!context.db) {\n throw new WebinyError(\"Missing db on context.\", \"DB_ERROR\");\n } else if (!context.db.table) {\n throw new WebinyError(\"Missing table on context.db.\", \"TABLE_ERROR\");\n }\n return context.db.table;\n};\n"],"mappings":";;;;;;;;;AAAA;;AAGA;AACA;AACA;AACA;AACA;AACO,MAAMA,QAAQ,GAAyBC,OAAtB,IAA6C;EACjE,IAAI,CAACA,OAAO,CAACC,EAAb,EAAiB;IACb,MAAM,IAAIC,cAAJ,CAAgB,wBAAhB,EAA0C,UAA1C,CAAN;EACH,CAFD,MAEO,IAAI,CAACF,OAAO,CAACC,EAAR,CAAWE,KAAhB,EAAuB;IAC1B,MAAM,IAAID,cAAJ,CAAgB,8BAAhB,EAAgD,aAAhD,CAAN;EACH;;EACD,OAAOF,OAAO,CAACC,EAAR,CAAWE,KAAlB;AACH,CAPM"}