@webiny/db-dynamodb 5.37.0-beta.0 → 5.37.0-beta.2

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 (68) 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 +12 -12
  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 +5 -1
  30. package/plugins/filters/fuzzy.js.map +1 -1
  31. package/plugins/filters/gt.js.map +1 -1
  32. package/plugins/filters/gte.js.map +1 -1
  33. package/plugins/filters/in.js.map +1 -1
  34. package/plugins/filters/index.js.map +1 -1
  35. package/plugins/filters/lt.js.map +1 -1
  36. package/plugins/filters/lte.js.map +1 -1
  37. package/plugins/filters/startsWith.js.map +1 -1
  38. package/plugins/index.js.map +1 -1
  39. package/statements/createKeyConditionExpressionArgs.js.map +1 -1
  40. package/statements/processStatement.js.map +1 -1
  41. package/utils/attributes.js.map +1 -1
  42. package/utils/batchRead.d.ts +4 -5
  43. package/utils/batchRead.js.map +1 -1
  44. package/utils/batchWrite.d.ts +4 -5
  45. package/utils/batchWrite.js.map +1 -1
  46. package/utils/cleanup.js.map +1 -1
  47. package/utils/createEntity.d.ts +14 -0
  48. package/utils/createEntity.js +60 -0
  49. package/utils/createEntity.js.map +1 -0
  50. package/utils/createTable.d.ts +7 -0
  51. package/utils/createTable.js +25 -0
  52. package/utils/createTable.js.map +1 -0
  53. package/utils/cursor.js.map +1 -1
  54. package/utils/filter.js.map +1 -1
  55. package/utils/get.js.map +1 -1
  56. package/utils/index.d.ts +3 -1
  57. package/utils/index.js +26 -4
  58. package/utils/index.js.map +1 -1
  59. package/utils/listResponse.js.map +1 -1
  60. package/utils/query.js.map +1 -1
  61. package/utils/scan.d.ts +25 -0
  62. package/utils/scan.js +42 -0
  63. package/utils/scan.js.map +1 -0
  64. package/utils/sort.js.map +1 -1
  65. package/utils/table.js.map +1 -1
  66. package/utils/createStandardEntity.d.ts +0 -2
  67. package/utils/createStandardEntity.js +0 -34
  68. package/utils/createStandardEntity.js.map +0 -1
@@ -1 +1 @@
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":"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"}
1
+ {"version":3,"names":["BatchProcess","constructor","batch","documentClient","_defineProperty2","default","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","_objectSpread2","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","_default","exports"],"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":"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"}
@@ -1 +1 @@
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
+ {"version":3,"names":["_dynamodb","require","_BatchProcess","_interopRequireDefault","_QueryGenerator","LOG_KEYS","primary","unique","name","fields","DynamoDbDriver","constructor","documentClient","_defineProperty2","default","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","_objectSpread2","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","_default","exports"],"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,"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,cAAc,CAAC;EACjBC,QAAQ,CAACC,MAAsB,EAAE;IAC7B,MAAM;MAAEC,KAAK;MAAEC,IAAI;MAAEC,IAAI;MAAEC,KAAK;MAAEC;IAAU,CAAC,GAAGL,MAAM;IACtD;IACA,MAAMM,GAAG,GAAG,IAAI,CAACC,YAAY,CAACN,KAAK,EAAEC,IAAI,CAAC;IAE1C,IAAI,CAACI,GAAG,EAAE;MACN,MAAM,IAAIE,KAAK,CAAC,uCAAuC,CAAC;IAC5D;;IAEA;IACA,MAAMC,mBAA2C,GAAG,CAAC,CAAC;IACtD,MAAMC,sBAA8C,GAAG,CAAC,CAAC;IACzD,KAAK,MAAMC,QAAQ,IAAIV,KAAK,EAAE;MAC1B,IAAIK,GAAG,CAACM,MAAM,CAACC,IAAI,CAAEC,IAAmB,IAAKA,IAAI,CAACC,IAAI,KAAKJ,QAAQ,CAAC,EAAE;QAClEF,mBAAmB,CAACE,QAAQ,CAAC,GAAGV,KAAK,CAACU,QAAQ,CAAC;MACnD,CAAC,MAAM;QACHD,sBAAsB,CAACC,QAAQ,CAAC,GAAGV,KAAK,CAACU,QAAQ,CAAC;MACtD;IACJ;IAEA,MAAMK,sBAAsB,GAAG,IAAAC,yCAAgC,EAAC;MAC5DhB,KAAK,EAAEQ,mBAAmB;MAC1BN,IAAI;MACJG;IACJ,CAAC,CAAC;IAEF,mEAAYU,sBAAsB;MAAEE,SAAS,EAAEb,SAAS;MAAEc,KAAK,EAAEf;IAAK;EAC1E;EAEAG,YAAY,CAACN,KAAY,GAAG,CAAC,CAAC,EAAEC,IAAe,GAAG,EAAE,EAAmB;IACnE,KAAK,IAAIkB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGlB,IAAI,CAACmB,MAAM,EAAED,CAAC,EAAE,EAAE;MAClC,MAAMd,GAAG,GAAGJ,IAAI,CAACkB,CAAC,CAAC;MACnB,IAAIE,YAAY,GAAG,IAAI;MACvB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGjB,GAAG,CAACM,MAAM,CAACS,MAAM,EAAEE,CAAC,EAAE,EAAE;QACxC,MAAMC,KAAK,GAAGlB,GAAG,CAACM,MAAM,CAACW,CAAC,CAAC;QAC3B,IAAI,CAACtB,KAAK,CAACuB,KAAK,CAACT,IAAI,CAAC,EAAE;UACpBO,YAAY,GAAG,KAAK;UACpB;QACJ;MACJ;MAEA,IAAIA,YAAY,EAAE;QACd,OAAOhB,GAAG;MACd;IACJ;IACA,OAAO,IAAI;EACf;AACJ;AAAC,eAEcR,cAAc;AAAA"}
1
+ {"version":3,"names":["_createKeyConditionExpressionArgs","_interopRequireDefault","require","QueryGenerator","generate","params","query","keys","sort","limit","tableName","key","findQueryKey","Error","keyAttributesValues","nonKeyAttributesValues","queryKey","fields","find","item","name","keyConditionExpression","createKeyConditionExpressionArgs","_objectSpread2","default","TableName","Limit","i","length","hasAllFields","j","field","_default","exports"],"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,IAAAA,iCAAA,GAAAC,sBAAA,CAAAC,OAAA;AAUA,MAAMC,cAAc,CAAC;EACjBC,QAAQA,CAACC,MAAsB,EAAE;IAC7B,MAAM;MAAEC,KAAK;MAAEC,IAAI;MAAEC,IAAI;MAAEC,KAAK;MAAEC;IAAU,CAAC,GAAGL,MAAM;IACtD;IACA,MAAMM,GAAG,GAAG,IAAI,CAACC,YAAY,CAACN,KAAK,EAAEC,IAAI,CAAC;IAE1C,IAAI,CAACI,GAAG,EAAE;MACN,MAAM,IAAIE,KAAK,CAAC,uCAAuC,CAAC;IAC5D;;IAEA;IACA,MAAMC,mBAA2C,GAAG,CAAC,CAAC;IACtD,MAAMC,sBAA8C,GAAG,CAAC,CAAC;IACzD,KAAK,MAAMC,QAAQ,IAAIV,KAAK,EAAE;MAC1B,IAAIK,GAAG,CAACM,MAAM,CAACC,IAAI,CAAEC,IAAmB,IAAKA,IAAI,CAACC,IAAI,KAAKJ,QAAQ,CAAC,EAAE;QAClEF,mBAAmB,CAACE,QAAQ,CAAC,GAAGV,KAAK,CAACU,QAAQ,CAAC;MACnD,CAAC,MAAM;QACHD,sBAAsB,CAACC,QAAQ,CAAC,GAAGV,KAAK,CAACU,QAAQ,CAAC;MACtD;IACJ;IAEA,MAAMK,sBAAsB,GAAG,IAAAC,yCAAgC,EAAC;MAC5DhB,KAAK,EAAEQ,mBAAmB;MAC1BN,IAAI;MACJG;IACJ,CAAC,CAAC;IAEF,WAAAY,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MAAYH,sBAAsB;MAAEI,SAAS,EAAEf,SAAS;MAAEgB,KAAK,EAAEjB;IAAK;EAC1E;EAEAG,YAAYA,CAACN,KAAY,GAAG,CAAC,CAAC,EAAEC,IAAe,GAAG,EAAE,EAAmB;IACnE,KAAK,IAAIoB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGpB,IAAI,CAACqB,MAAM,EAAED,CAAC,EAAE,EAAE;MAClC,MAAMhB,GAAG,GAAGJ,IAAI,CAACoB,CAAC,CAAC;MACnB,IAAIE,YAAY,GAAG,IAAI;MACvB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnB,GAAG,CAACM,MAAM,CAACW,MAAM,EAAEE,CAAC,EAAE,EAAE;QACxC,MAAMC,KAAK,GAAGpB,GAAG,CAACM,MAAM,CAACa,CAAC,CAAC;QAC3B,IAAI,CAACxB,KAAK,CAACyB,KAAK,CAACX,IAAI,CAAC,EAAE;UACpBS,YAAY,GAAG,KAAK;UACpB;QACJ;MACJ;MAEA,IAAIA,YAAY,EAAE;QACd,OAAOlB,GAAG;MACd;IACJ;IACA,OAAO,IAAI;EACf;AACJ;AAAC,IAAAqB,QAAA,GAEc7B,cAAc;AAAA8B,OAAA,CAAAT,OAAA,GAAAQ,QAAA"}
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["import { default as DynamoDbDriver } from \"./DynamoDbDriver\";\nexport * from \"./utils\";\nexport { DbItem } from \"./types\";\n\nexport { DynamoDbDriver };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA"}
1
+ {"version":3,"names":["_DynamoDbDriver","_interopRequireDefault","require","_utils","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_types"],"sources":["index.ts"],"sourcesContent":["import { default as DynamoDbDriver } from \"./DynamoDbDriver\";\nexport * from \"./utils\";\nexport { DbItem } from \"./types\";\n\nexport { DynamoDbDriver };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,MAAA,GAAAd,OAAA"}
@@ -1 +1 @@
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;EAAM,CAAC,KAAK;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,aAAa,CAAC,KAAK,WAAW;EAC/D,CAAC;EACDC,OAAO,EAAE,CAAC;IAAEC,GAAG;IAAEF,KAAK;IAAEG;EAAK,CAAC,KAAK;IAC/BA,IAAI,CAACC,UAAU,IAAK,iBAAgBF,GAAI,MAAKA,GAAI,GAAE;IACnDC,IAAI,CAACE,cAAc,CAAE,IAAGH,GAAI,EAAC,CAAC,GAAGA,GAAG;IACpCC,IAAI,CAACG,eAAe,CAAE,IAAGJ,GAAI,EAAC,CAAC,GAAGF,KAAK,CAAC,aAAa,CAAC;EAC1D;AACJ,CAAC;AAAC,eAEaF,UAAU;AAAA"}
1
+ {"version":3,"names":["beginsWith","canProcess","value","process","key","args","expression","attributeNames","attributeValues","_default","exports","default"],"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,EAAEA,CAAC;IAAEC;EAAM,CAAC,KAAK;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,aAAa,CAAC,KAAK,WAAW;EAC/D,CAAC;EACDC,OAAO,EAAEA,CAAC;IAAEC,GAAG;IAAEF,KAAK;IAAEG;EAAK,CAAC,KAAK;IAC/BA,IAAI,CAACC,UAAU,IAAK,iBAAgBF,GAAI,MAAKA,GAAI,GAAE;IACnDC,IAAI,CAACE,cAAc,CAAE,IAAGH,GAAI,EAAC,CAAC,GAAGA,GAAG;IACpCC,IAAI,CAACG,eAAe,CAAE,IAAGJ,GAAI,EAAC,CAAC,GAAGF,KAAK,CAAC,aAAa,CAAC;EAC1D;AACJ,CAAC;AAAC,IAAAO,QAAA,GAEaT,UAAU;AAAAU,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1 +1 @@
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;EAAM,CAAC,KAAK;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,UAAU,CAAC,KAAK,WAAW;EAC5D,CAAC;EACDC,OAAO,EAAE,CAAC;IAAEC,GAAG;IAAEF;EAAM,CAAC,KAAK;IACzB,OAAO;MACHG,SAAS,EAAG,IAAGD,GAAI,aAAYA,GAAI,YAAWA,GAAI,KAAI;MACtDE,cAAc,EAAE;QACZ,CAAE,IAAGF,GAAI,EAAC,GAAGA;MACjB,CAAC;MACDG,eAAe,EAAE;QACb,CAAE,IAAGH,GAAI,KAAI,GAAGF,KAAK,CAAC,CAAC,CAAC;QACxB,CAAE,IAAGE,GAAI,KAAI,GAAGF,KAAK,CAAC,CAAC;MAC3B;IACJ,CAAC;EACL;AACJ,CAAC;AAAC,eAEaF,OAAO;AAAA"}
1
+ {"version":3,"names":["between","canProcess","value","process","key","statement","attributeNames","attributeValues","_default","exports","default"],"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,EAAEA,CAAC;IAAEC;EAAM,CAAC,KAAK;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,UAAU,CAAC,KAAK,WAAW;EAC5D,CAAC;EACDC,OAAO,EAAEA,CAAC;IAAEC,GAAG;IAAEF;EAAM,CAAC,KAAK;IACzB,OAAO;MACHG,SAAS,EAAG,IAAGD,GAAI,aAAYA,GAAI,YAAWA,GAAI,KAAI;MACtDE,cAAc,EAAE;QACZ,CAAE,IAAGF,GAAI,EAAC,GAAGA;MACjB,CAAC;MACDG,eAAe,EAAE;QACb,CAAE,IAAGH,GAAI,KAAI,GAAGF,KAAK,CAAC,CAAC,CAAC;QACxB,CAAE,IAAGE,GAAI,KAAI,GAAGF,KAAK,CAAC,CAAC;MAC3B;IACJ,CAAC;EACL;AACJ,CAAC;AAAC,IAAAM,QAAA,GAEaR,OAAO;AAAAS,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1 +1 @@
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,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;AAElD,MAAMC,EAAY,GAAG;EACjBC,UAAU,EAAE,CAAC;IAAEC,GAAG;IAAEC;EAAM,CAAC,KAAK;IAC5B,IAAID,GAAG,IAAIA,GAAG,CAACE,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;MAC9B,OAAO,KAAK;IAChB;IAEA,IAAID,KAAK,IAAI,OAAOA,KAAK,CAAC,KAAK,CAAC,KAAK,WAAW,EAAE;MAC9C,OAAO,IAAI;IACf;IAEA,OAAOJ,UAAU,CAACM,QAAQ,CAAC,OAAOF,KAAK,CAAC;EAC5C,CAAC;EACDG,OAAO,EAAE,CAAC;IAAEJ,GAAG;IAAEC,KAAK;IAAEI;EAAK,CAAC,KAAK;IAC/BA,IAAI,CAACC,UAAU,IAAK,IAAGN,GAAI,OAAMA,GAAI,EAAC;IACtCK,IAAI,CAACE,cAAc,CAAE,IAAGP,GAAI,EAAC,CAAC,GAAGA,GAAG;IACpCK,IAAI,CAACG,eAAe,CAAE,IAAGR,GAAI,EAAC,CAAC,GAAGC,KAAK;EAC3C;AACJ,CAAC;AAAC,eAEaH,EAAE;AAAA"}
1
+ {"version":3,"names":["validTypes","eq","canProcess","key","value","charAt","includes","process","args","expression","attributeNames","attributeValues","_default","exports","default"],"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,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;AAElD,MAAMC,EAAY,GAAG;EACjBC,UAAU,EAAEA,CAAC;IAAEC,GAAG;IAAEC;EAAM,CAAC,KAAK;IAC5B,IAAID,GAAG,IAAIA,GAAG,CAACE,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;MAC9B,OAAO,KAAK;IAChB;IAEA,IAAID,KAAK,IAAI,OAAOA,KAAK,CAAC,KAAK,CAAC,KAAK,WAAW,EAAE;MAC9C,OAAO,IAAI;IACf;IAEA,OAAOJ,UAAU,CAACM,QAAQ,CAAC,OAAOF,KAAK,CAAC;EAC5C,CAAC;EACDG,OAAO,EAAEA,CAAC;IAAEJ,GAAG;IAAEC,KAAK;IAAEI;EAAK,CAAC,KAAK;IAC/BA,IAAI,CAACC,UAAU,IAAK,IAAGN,GAAI,OAAMA,GAAI,EAAC;IACtCK,IAAI,CAACE,cAAc,CAAE,IAAGP,GAAI,EAAC,CAAC,GAAGA,GAAG;IACpCK,IAAI,CAACG,eAAe,CAAE,IAAGR,GAAI,EAAC,CAAC,GAAGC,KAAK;EAC3C;AACJ,CAAC;AAAC,IAAAQ,QAAA,GAEaX,EAAE;AAAAY,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1 +1 @@
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;EAAM,CAAC,KAAK;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,KAAK,CAAC,KAAK,WAAW;EACvD,CAAC;EACDC,OAAO,EAAE,CAAC;IAAEC,GAAG;IAAEF,KAAK;IAAEG;EAAK,CAAC,KAAK;IAC/BA,IAAI,CAACC,UAAU,IAAK,IAAGF,GAAI,OAAMA,GAAI,EAAC;IACtCC,IAAI,CAACE,cAAc,CAAE,IAAGH,GAAI,EAAC,CAAC,GAAGA,GAAG;IACpCC,IAAI,CAACG,eAAe,CAAE,IAAGJ,GAAI,EAAC,CAAC,GAAGF,KAAK,CAAC,KAAK,CAAC;EAClD;AACJ,CAAC;AAAC,eAEaF,EAAE;AAAA"}
1
+ {"version":3,"names":["gt","canProcess","value","process","key","args","expression","attributeNames","attributeValues","_default","exports","default"],"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,EAAEA,CAAC;IAAEC;EAAM,CAAC,KAAK;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,KAAK,CAAC,KAAK,WAAW;EACvD,CAAC;EACDC,OAAO,EAAEA,CAAC;IAAEC,GAAG;IAAEF,KAAK;IAAEG;EAAK,CAAC,KAAK;IAC/BA,IAAI,CAACC,UAAU,IAAK,IAAGF,GAAI,OAAMA,GAAI,EAAC;IACtCC,IAAI,CAACE,cAAc,CAAE,IAAGH,GAAI,EAAC,CAAC,GAAGA,GAAG;IACpCC,IAAI,CAACG,eAAe,CAAE,IAAGJ,GAAI,EAAC,CAAC,GAAGF,KAAK,CAAC,KAAK,CAAC;EAClD;AACJ,CAAC;AAAC,IAAAO,QAAA,GAEaT,EAAE;AAAAU,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1 +1 @@
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;EAAM,CAAC,KAAK;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,MAAM,CAAC,KAAK,WAAW;EACxD,CAAC;EACDC,OAAO,EAAE,CAAC;IAAEC,GAAG;IAAEF,KAAK;IAAEG;EAAK,CAAC,KAAK;IAC/BA,IAAI,CAACC,UAAU,IAAK,IAAGF,GAAI,QAAOA,GAAI,EAAC;IACvCC,IAAI,CAACE,cAAc,CAAE,IAAGH,GAAI,EAAC,CAAC,GAAGA,GAAG;IACpCC,IAAI,CAACG,eAAe,CAAE,IAAGJ,GAAI,EAAC,CAAC,GAAGF,KAAK,CAAC,MAAM,CAAC;EACnD;AACJ,CAAC;AAAC,eAEaF,GAAG;AAAA"}
1
+ {"version":3,"names":["gte","canProcess","value","process","key","args","expression","attributeNames","attributeValues","_default","exports","default"],"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,EAAEA,CAAC;IAAEC;EAAM,CAAC,KAAK;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,MAAM,CAAC,KAAK,WAAW;EACxD,CAAC;EACDC,OAAO,EAAEA,CAAC;IAAEC,GAAG;IAAEF,KAAK;IAAEG;EAAK,CAAC,KAAK;IAC/BA,IAAI,CAACC,UAAU,IAAK,IAAGF,GAAI,QAAOA,GAAI,EAAC;IACvCC,IAAI,CAACE,cAAc,CAAE,IAAGH,GAAI,EAAC,CAAC,GAAGA,GAAG;IACpCC,IAAI,CAACG,eAAe,CAAE,IAAGJ,GAAI,EAAC,CAAC,GAAGF,KAAK,CAAC,MAAM,CAAC;EACnD;AACJ,CAAC;AAAC,IAAAO,QAAA,GAEaT,GAAG;AAAAU,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1 +1 @@
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;EAAM,CAAC,KAAK;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,KAAK,CAAC,KAAK,WAAW;EACvD,CAAC;EACDC,OAAO,EAAE,CAAC;IAAEC,GAAG;IAAEF,KAAK;IAAEG;EAAK,CAAC,KAAK;IAC/BA,IAAI,CAACC,UAAU,IAAK,IAAGF,GAAI,OAAMA,GAAI,EAAC;IACtCC,IAAI,CAACE,cAAc,CAAE,IAAGH,GAAI,EAAC,CAAC,GAAGA,GAAG;IACpCC,IAAI,CAACG,eAAe,CAAE,IAAGJ,GAAI,EAAC,CAAC,GAAGF,KAAK,CAAC,KAAK,CAAC;EAClD;AACJ,CAAC;AAAC,eAEaF,EAAE;AAAA"}
1
+ {"version":3,"names":["lt","canProcess","value","process","key","args","expression","attributeNames","attributeValues","_default","exports","default"],"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,EAAEA,CAAC;IAAEC;EAAM,CAAC,KAAK;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,KAAK,CAAC,KAAK,WAAW;EACvD,CAAC;EACDC,OAAO,EAAEA,CAAC;IAAEC,GAAG;IAAEF,KAAK;IAAEG;EAAK,CAAC,KAAK;IAC/BA,IAAI,CAACC,UAAU,IAAK,IAAGF,GAAI,OAAMA,GAAI,EAAC;IACtCC,IAAI,CAACE,cAAc,CAAE,IAAGH,GAAI,EAAC,CAAC,GAAGA,GAAG;IACpCC,IAAI,CAACG,eAAe,CAAE,IAAGJ,GAAI,EAAC,CAAC,GAAGF,KAAK,CAAC,KAAK,CAAC;EAClD;AACJ,CAAC;AAAC,IAAAO,QAAA,GAEaT,EAAE;AAAAU,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1 +1 @@
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;EAAM,CAAC,KAAK;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,MAAM,CAAC,KAAK,WAAW;EACxD,CAAC;EACDC,OAAO,EAAE,CAAC;IAAEC,GAAG;IAAEF,KAAK;IAAEG;EAAK,CAAC,KAAK;IAC/BA,IAAI,CAACC,UAAU,IAAK,IAAGF,GAAI,QAAOA,GAAI,EAAC;IACvCC,IAAI,CAACE,cAAc,CAAE,IAAGH,GAAI,EAAC,CAAC,GAAGA,GAAG;IACpCC,IAAI,CAACG,eAAe,CAAE,IAAGJ,GAAI,EAAC,CAAC,GAAGF,KAAK,CAAC,MAAM,CAAC;EACnD;AACJ,CAAC;AAAC,eAEaF,GAAG;AAAA"}
1
+ {"version":3,"names":["lte","canProcess","value","process","key","args","expression","attributeNames","attributeValues","_default","exports","default"],"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,EAAEA,CAAC;IAAEC;EAAM,CAAC,KAAK;IACvB,OAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC,MAAM,CAAC,KAAK,WAAW;EACxD,CAAC;EACDC,OAAO,EAAEA,CAAC;IAAEC,GAAG;IAAEF,KAAK;IAAEG;EAAK,CAAC,KAAK;IAC/BA,IAAI,CAACC,UAAU,IAAK,IAAGF,GAAI,QAAOA,GAAI,EAAC;IACvCC,IAAI,CAACE,cAAc,CAAE,IAAGH,GAAI,EAAC,CAAC,GAAGA,GAAG;IACpCC,IAAI,CAACG,eAAe,CAAE,IAAGJ,GAAI,EAAC,CAAC,GAAGF,KAAK,CAAC,MAAM,CAAC;EACnD;AACJ,CAAC;AAAC,IAAAO,QAAA,GAEaT,GAAG;AAAAU,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1 +1 @@
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;AAAkC,eAEnB;EACXA,IAAI,EAAJA,YAAI;EACJC,GAAG,EAAHA,WAAG;EACHC,WAAW,EAAXA,mBAAW;EACXC,QAAQ,EAARA,gBAAQ;EACRC,GAAG,EAAHA,WAAG;EACHC,GAAG,EAAHA,WAAG;EACHC,IAAI,EAAJA,YAAI;EACJC,GAAG,EAAHA,WAAG;EACHC,IAAI,EAAJA;AACJ,CAAC;AAAA"}
1
+ {"version":3,"names":["_and","_interopRequireDefault","require","_or","_beginsWith","_between","_gt","_gte","_lt","_lte","_eq","_default","$and","$or","$beginsWith","$between","$eq","$gt","$gte","$lt","$lte","exports","default"],"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,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,GAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,GAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,IAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,GAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,IAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,GAAA,GAAAT,sBAAA,CAAAC,OAAA;AAAkC,IAAAS,QAAA,GAEnB;EACXC,IAAI,EAAJA,YAAI;EACJC,GAAG,EAAHA,WAAG;EACHC,WAAW,EAAXA,mBAAW;EACXC,QAAQ,EAARA,gBAAQ;EACRC,GAAG,EAAHA,WAAG;EACHC,GAAG,EAAHA,WAAG;EACHC,IAAI,EAAJA,YAAI;EACJC,GAAG,EAAHA,WAAG;EACHC,IAAI,EAAJA;AACJ,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAX,QAAA"}
@@ -1 +1 @@
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,KAAiC,EACjCC,OAAkC,EAClCC,gBAA0C,KACzC;EACD,MAAMC,IAA+B,GAAG;IACpCC,UAAU,EAAE,EAAE;IACdC,cAAc,EAAE,CAAC,CAAC;IAClBC,eAAe,EAAE,CAAC;EACtB,CAAC;EAEDJ,gBAAgB,CAAC;IAAEC,IAAI;IAAEH;EAAM,CAAC,CAAC;EAEjCO,MAAM,CAACC,MAAM,CAACP,OAAO,CAACI,cAAc,EAAEF,IAAI,CAACE,cAAc,CAAC;EAC1DE,MAAM,CAACC,MAAM,CAACP,OAAO,CAACK,eAAe,EAAEH,IAAI,CAACG,eAAe,CAAC;EAE5D,IAAIL,OAAO,CAACG,UAAU,KAAK,EAAE,EAAE;IAC3BH,OAAO,CAACG,UAAU,GAAGD,IAAI,CAACC,UAAU;EACxC,CAAC,MAAM;IACHH,OAAO,CAACG,UAAU,IAAI,OAAO,GAAGD,IAAI,CAACC,UAAU;EACnD;AACJ,CAAC;AAED,MAAMK,GAAa,GAAG;EAClBC,UAAU,EAAE,CAAC;IAAEC;EAAI,CAAC,KAAK;IACrB,OAAOA,GAAG,KAAK,MAAM;EACzB,CAAC;EACDC,OAAO,EAAE,CAAC;IAAEC,KAAK;IAAEV,IAAI;IAAED;EAAiB,CAAC,KAAK;IAC5C,MAAMD,OAAO,GAAG;MACZG,UAAU,EAAE,EAAE;MACdC,cAAc,EAAE,CAAC,CAAC;MAClBC,eAAe,EAAE,CAAC;IACtB,CAAC;IAED,IAAIQ,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;MACtB,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;QACnCjB,YAAY,CAACc,KAAK,CAACG,CAAC,CAAC,EAAEf,OAAO,EAAEC,gBAAgB,CAAC;MACrD;IACJ,CAAC,MAAM;MACH,KAAK,MAAM,CAACgB,MAAM,EAAEC,QAAQ,CAAC,IAAIZ,MAAM,CAACa,OAAO,CAACP,KAAK,CAAC,EAAE;QACpDd,YAAY,CAAC;UAAE,CAACmB,MAAM,GAAGC;QAAS,CAAC,EAAElB,OAAO,EAAEC,gBAAgB,CAAC;MACnE;IACJ;IAEAC,IAAI,CAACC,UAAU,IAAI,GAAG,GAAGH,OAAO,CAACG,UAAU,GAAG,GAAG;IACjDG,MAAM,CAACC,MAAM,CAACL,IAAI,CAACE,cAAc,EAAEJ,OAAO,CAACI,cAAc,CAAC;IAC1DE,MAAM,CAACC,MAAM,CAACL,IAAI,CAACG,eAAe,EAAEL,OAAO,CAACK,eAAe,CAAC;EAChE;AACJ,CAAC;AAAC,eAEaG,GAAG;AAAA"}
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","_default","exports","default"],"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,GAAGA,CACjBC,KAAiC,EACjCC,OAAkC,EAClCC,gBAA0C,KACzC;EACD,MAAMC,IAA+B,GAAG;IACpCC,UAAU,EAAE,EAAE;IACdC,cAAc,EAAE,CAAC,CAAC;IAClBC,eAAe,EAAE,CAAC;EACtB,CAAC;EAEDJ,gBAAgB,CAAC;IAAEC,IAAI;IAAEH;EAAM,CAAC,CAAC;EAEjCO,MAAM,CAACC,MAAM,CAACP,OAAO,CAACI,cAAc,EAAEF,IAAI,CAACE,cAAc,CAAC;EAC1DE,MAAM,CAACC,MAAM,CAACP,OAAO,CAACK,eAAe,EAAEH,IAAI,CAACG,eAAe,CAAC;EAE5D,IAAIL,OAAO,CAACG,UAAU,KAAK,EAAE,EAAE;IAC3BH,OAAO,CAACG,UAAU,GAAGD,IAAI,CAACC,UAAU;EACxC,CAAC,MAAM;IACHH,OAAO,CAACG,UAAU,IAAI,OAAO,GAAGD,IAAI,CAACC,UAAU;EACnD;AACJ,CAAC;AAED,MAAMK,GAAa,GAAG;EAClBC,UAAU,EAAEA,CAAC;IAAEC;EAAI,CAAC,KAAK;IACrB,OAAOA,GAAG,KAAK,MAAM;EACzB,CAAC;EACDC,OAAO,EAAEA,CAAC;IAAEC,KAAK;IAAEV,IAAI;IAAED;EAAiB,CAAC,KAAK;IAC5C,MAAMD,OAAO,GAAG;MACZG,UAAU,EAAE,EAAE;MACdC,cAAc,EAAE,CAAC,CAAC;MAClBC,eAAe,EAAE,CAAC;IACtB,CAAC;IAED,IAAIQ,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;MACtB,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;QACnCjB,YAAY,CAACc,KAAK,CAACG,CAAC,CAAC,EAAEf,OAAO,EAAEC,gBAAgB,CAAC;MACrD;IACJ,CAAC,MAAM;MACH,KAAK,MAAM,CAACgB,MAAM,EAAEC,QAAQ,CAAC,IAAIZ,MAAM,CAACa,OAAO,CAACP,KAAK,CAAC,EAAE;QACpDd,YAAY,CAAC;UAAE,CAACmB,MAAM,GAAGC;QAAS,CAAC,EAAElB,OAAO,EAAEC,gBAAgB,CAAC;MACnE;IACJ;IAEAC,IAAI,CAACC,UAAU,IAAI,GAAG,GAAGH,OAAO,CAACG,UAAU,GAAG,GAAG;IACjDG,MAAM,CAACC,MAAM,CAACL,IAAI,CAACE,cAAc,EAAEJ,OAAO,CAACI,cAAc,CAAC;IAC1DE,MAAM,CAACC,MAAM,CAACL,IAAI,CAACG,eAAe,EAAEL,OAAO,CAACK,eAAe,CAAC;EAChE;AACJ,CAAC;AAAC,IAAAe,QAAA,GAEaZ,GAAG;AAAAa,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1 +1 @@
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,KAAiC,EACjCC,MAAiC,EACjCC,gBAA0C,KACzC;EACD,MAAMC,IAA+B,GAAG;IACpCC,UAAU,EAAE,EAAE;IACdC,cAAc,EAAE,CAAC,CAAC;IAClBC,eAAe,EAAE,CAAC;EACtB,CAAC;EAEDJ,gBAAgB,CAAC;IAAEC,IAAI;IAAEH;EAAM,CAAC,CAAC;EAEjCO,MAAM,CAACC,MAAM,CAACP,MAAM,CAACI,cAAc,EAAEF,IAAI,CAACE,cAAc,CAAC;EACzDE,MAAM,CAACC,MAAM,CAACP,MAAM,CAACK,eAAe,EAAEH,IAAI,CAACG,eAAe,CAAC;EAE3D,IAAIL,MAAM,CAACG,UAAU,KAAK,EAAE,EAAE;IAC1BH,MAAM,CAACG,UAAU,GAAGD,IAAI,CAACC,UAAU;EACvC,CAAC,MAAM;IACHH,MAAM,CAACG,UAAU,IAAI,MAAM,GAAGD,IAAI,CAACC,UAAU;EACjD;AACJ,CAAC;AAED,MAAMK,EAAY,GAAG;EACjBC,UAAU,EAAE,CAAC;IAAEC;EAAI,CAAC,KAAK;IACrB,OAAOA,GAAG,KAAK,KAAK;EACxB,CAAC;EACDC,OAAO,EAAE,CAAC;IAAEC,KAAK;IAAEV,IAAI;IAAED;EAAiB,CAAC,KAAK;IAC5C,MAAMD,MAAiC,GAAG;MACtCG,UAAU,EAAE,EAAE;MACdC,cAAc,EAAE,CAAC,CAAC;MAClBC,eAAe,EAAE,CAAC;IACtB,CAAC;IAED,IAAIQ,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;MACtB,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;QACnCjB,YAAY,CAACc,KAAK,CAACG,CAAC,CAAC,EAAEf,MAAM,EAAEC,gBAAgB,CAAC;MACpD;IACJ,CAAC,MAAM;MACH,KAAK,MAAM,CAACgB,KAAK,EAAEC,OAAO,CAAC,IAAIZ,MAAM,CAACa,OAAO,CAACP,KAAK,CAAC,EAAE;QAClDd,YAAY,CAAC;UAAE,CAACmB,KAAK,GAAGC;QAAQ,CAAC,EAAElB,MAAM,EAAEC,gBAAgB,CAAC;MAChE;IACJ;IAEAC,IAAI,CAACC,UAAU,IAAI,GAAG,GAAGH,MAAM,CAACG,UAAU,GAAG,GAAG;IAChDG,MAAM,CAACC,MAAM,CAACL,IAAI,CAACE,cAAc,EAAEJ,MAAM,CAACI,cAAc,CAAC;IACzDE,MAAM,CAACC,MAAM,CAACL,IAAI,CAACG,eAAe,EAAEL,MAAM,CAACK,eAAe,CAAC;EAC/D;AACJ,CAAC;AAAC,eAEaG,EAAE;AAAA"}
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","_default","exports","default"],"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,GAAGA,CACjBC,KAAiC,EACjCC,MAAiC,EACjCC,gBAA0C,KACzC;EACD,MAAMC,IAA+B,GAAG;IACpCC,UAAU,EAAE,EAAE;IACdC,cAAc,EAAE,CAAC,CAAC;IAClBC,eAAe,EAAE,CAAC;EACtB,CAAC;EAEDJ,gBAAgB,CAAC;IAAEC,IAAI;IAAEH;EAAM,CAAC,CAAC;EAEjCO,MAAM,CAACC,MAAM,CAACP,MAAM,CAACI,cAAc,EAAEF,IAAI,CAACE,cAAc,CAAC;EACzDE,MAAM,CAACC,MAAM,CAACP,MAAM,CAACK,eAAe,EAAEH,IAAI,CAACG,eAAe,CAAC;EAE3D,IAAIL,MAAM,CAACG,UAAU,KAAK,EAAE,EAAE;IAC1BH,MAAM,CAACG,UAAU,GAAGD,IAAI,CAACC,UAAU;EACvC,CAAC,MAAM;IACHH,MAAM,CAACG,UAAU,IAAI,MAAM,GAAGD,IAAI,CAACC,UAAU;EACjD;AACJ,CAAC;AAED,MAAMK,EAAY,GAAG;EACjBC,UAAU,EAAEA,CAAC;IAAEC;EAAI,CAAC,KAAK;IACrB,OAAOA,GAAG,KAAK,KAAK;EACxB,CAAC;EACDC,OAAO,EAAEA,CAAC;IAAEC,KAAK;IAAEV,IAAI;IAAED;EAAiB,CAAC,KAAK;IAC5C,MAAMD,MAAiC,GAAG;MACtCG,UAAU,EAAE,EAAE;MACdC,cAAc,EAAE,CAAC,CAAC;MAClBC,eAAe,EAAE,CAAC;IACtB,CAAC;IAED,IAAIQ,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;MACtB,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;QACnCjB,YAAY,CAACc,KAAK,CAACG,CAAC,CAAC,EAAEf,MAAM,EAAEC,gBAAgB,CAAC;MACpD;IACJ,CAAC,MAAM;MACH,KAAK,MAAM,CAACgB,KAAK,EAAEC,OAAO,CAAC,IAAIZ,MAAM,CAACa,OAAO,CAACP,KAAK,CAAC,EAAE;QAClDd,YAAY,CAAC;UAAE,CAACmB,KAAK,GAAGC;QAAQ,CAAC,EAAElB,MAAM,EAAEC,gBAAgB,CAAC;MAChE;IACJ;IAEAC,IAAI,CAACC,UAAU,IAAI,GAAG,GAAGH,MAAM,CAACG,UAAU,GAAG,GAAG;IAChDG,MAAM,CAACC,MAAM,CAACL,IAAI,CAACE,cAAc,EAAEJ,MAAM,CAACI,cAAc,CAAC;IACzDE,MAAM,CAACC,MAAM,CAACL,IAAI,CAACG,eAAe,EAAEL,MAAM,CAACK,eAAe,CAAC;EAC/D;AACJ,CAAC;AAAC,IAAAe,QAAA,GAEaZ,EAAE;AAAAa,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/db-dynamodb",
3
- "version": "5.37.0-beta.0",
3
+ "version": "5.37.0-beta.2",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -10,11 +10,11 @@
10
10
  "author": "Webiny Ltd",
11
11
  "license": "MIT",
12
12
  "dependencies": {
13
- "@webiny/api": "5.37.0-beta.0",
14
- "@webiny/db": "5.37.0-beta.0",
15
- "@webiny/error": "5.37.0-beta.0",
16
- "@webiny/handler-db": "5.37.0-beta.0",
17
- "@webiny/plugins": "5.37.0-beta.0",
13
+ "@webiny/api": "5.37.0-beta.2",
14
+ "@webiny/db": "5.37.0-beta.2",
15
+ "@webiny/error": "5.37.0-beta.2",
16
+ "@webiny/handler-db": "5.37.0-beta.2",
17
+ "@webiny/plugins": "5.37.0-beta.2",
18
18
  "date-fns": "2.29.3",
19
19
  "dot-prop": "6.0.1",
20
20
  "fuse.js": "6.6.2",
@@ -22,13 +22,13 @@
22
22
  "lodash": "4.17.21"
23
23
  },
24
24
  "devDependencies": {
25
- "@babel/cli": "7.20.7",
26
- "@babel/core": "7.20.12",
25
+ "@babel/cli": "7.22.6",
26
+ "@babel/core": "7.22.8",
27
27
  "@types/is-number": "7.0.3",
28
- "@webiny/cli": "5.37.0-beta.0",
29
- "@webiny/project-utils": "5.37.0-beta.0",
28
+ "@webiny/cli": "5.37.0-beta.2",
29
+ "@webiny/project-utils": "5.37.0-beta.2",
30
30
  "dynamodb-toolbox": "0.3.5",
31
- "jest": "28.1.3",
31
+ "jest": "29.5.0",
32
32
  "jest-dynalite": "3.6.1",
33
33
  "rimraf": "3.0.2",
34
34
  "ttypescript": "1.5.15",
@@ -42,5 +42,5 @@
42
42
  "build": "yarn webiny run build",
43
43
  "watch": "yarn webiny run watch"
44
44
  },
45
- "gitHead": "7bb6232942f0414e22a4549113dd112bb92e52c5"
45
+ "gitHead": "8d3f4ba102f9f73b0a17455fc401a15aea68ce63"
46
46
  }
@@ -1 +1 @@
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,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC;AAU7C,MAAeC,eAAe,SAASC,eAAM,CAAC;EAMjD,IAAWC,MAAM,GAAW;IACxB,OAAO,IAAI,CAACC,OAAO;EACvB;EAEA,IAAWC,SAAS,GAAW;IAC3B,OAAO,IAAI,CAACC,UAAU;EAC1B;EAEOC,WAAW,CAAC;IAAEJ,MAAM;IAAEE,SAAS;IAAEG;EAA8B,CAAC,EAAE;IACrE,KAAK,EAAE;IAAC;IAAA;IAAA;IAER,IAAI,CAACC,gBAAgB,CAACJ,SAAS,CAAC;IAEhC,IAAI,CAACD,OAAO,GAAGD,MAAM;IACrB,IAAI,CAACG,UAAU,GAAGD,SAAS;IAC3B,IAAI,CAACK,OAAO,GAAGF,MAAM;EACzB;EAEOG,aAAa,GAAqC;IACrD,OAAO;MACH,CAAC,IAAI,CAACN,SAAS,GAAG,IAAI,CAACK;IAC3B,CAAC;EACL;EAEQD,gBAAgB,CAACJ,SAAiB,EAAQ;IAC9C,IAAIL,cAAc,CAACY,QAAQ,CAACP,SAAS,CAAC,KAAK,KAAK,EAAE;MAC9C;IACJ;IACA,MAAM,IAAIQ,cAAW,CAChB,mBAAkBR,SAAU,mBAAkB,EAC/C,uBAAuB,EACvB;MACIA;IACJ,CAAC,CACJ;EACL;AACJ;AAAC;AAAA,8BA1CqBJ,eAAe,UACc,uBAAuB"}
1
+ {"version":3,"names":["_plugins","require","_error","_interopRequireDefault","reservedFields","AttributePlugin","Plugin","entity","_entity","attribute","_attribute","constructor","params","_defineProperty2","default","validateReserved","_params","getDefinition","includes","WebinyError","exports"],"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,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAMA,MAAMG,cAAc,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC;AAU7C,MAAeC,eAAe,SAASC,eAAM,CAAC;EAMjD,IAAWC,MAAMA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACC,OAAO;EACvB;EAEA,IAAWC,SAASA,CAAA,EAAW;IAC3B,OAAO,IAAI,CAACC,UAAU;EAC1B;EAEOC,WAAWA,CAAC;IAAEJ,MAAM;IAAEE,SAAS;IAAEG;EAA8B,CAAC,EAAE;IACrE,KAAK,CAAC,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAER,IAAI,CAACC,gBAAgB,CAACN,SAAS,CAAC;IAEhC,IAAI,CAACD,OAAO,GAAGD,MAAM;IACrB,IAAI,CAACG,UAAU,GAAGD,SAAS;IAC3B,IAAI,CAACO,OAAO,GAAGJ,MAAM;EACzB;EAEOK,aAAaA,CAAA,EAAqC;IACrD,OAAO;MACH,CAAC,IAAI,CAACR,SAAS,GAAG,IAAI,CAACO;IAC3B,CAAC;EACL;EAEQD,gBAAgBA,CAACN,SAAiB,EAAQ;IAC9C,IAAIL,cAAc,CAACc,QAAQ,CAACT,SAAS,CAAC,KAAK,KAAK,EAAE;MAC9C;IACJ;IACA,MAAM,IAAIU,cAAW,CAChB,mBAAkBV,SAAU,mBAAkB,EAC/C,uBAAuB,EACvB;MACIA;IACJ,CACJ,CAAC;EACL;AACJ;AAACW,OAAA,CAAAf,eAAA,GAAAA,eAAA;AAAA,IAAAQ,gBAAA,CAAAC,OAAA,EA1CqBT,eAAe,UACc,uBAAuB"}
@@ -1 +1 @@
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,MAAiD,IAAoB;EAC5F,MAAM;IAAEC;EAAM,CAAC,GAAGD,MAAM;EACxB,IAAIC,KAAK,KAAK,IAAI,EAAE;IAChB,OAAO,IAAI;EACf;EACA,IAAIA,KAAK,IAAI,OAAQA,KAAK,CAASC,OAAO,KAAK,UAAU,EAAE;IACvD;AACR;AACA;IACQ,OAAQD,KAAK,CAAUC,OAAO,EAAE;EACpC;EACA,MAAMC,cAAc,GAAG,IAAAC,iBAAQ,EAACH,KAAK,CAAC,CAACC,OAAO,EAAE;EAChD,IAAIG,KAAK,CAACF,cAAc,CAAC,KAAK,KAAK,EAAE;IACjC,OAAOA,cAAc;EACzB;EACA,MAAM,IAAIG,cAAW,CAAC,uCAAuC,EAAE,kBAAkB,EAAE;IAC/EL;EACJ,CAAC,CAAC;AACN,CAAC;AAEM,MAAMM,uBAAuB,SAASC,0CAAoB,CAAC;EACvDC,WAAW,CAACT,MAAqD,EAAE;IACtE,KAAK;MACDU,SAAS,EAAEX;IAAiB,GACzBC,MAAM,EACX;EACN;AACJ;AAAC"}
1
+ {"version":3,"names":["_ValueTransformPlugin","require","_error","_interopRequireDefault","_dateFns","transformDateTime","params","value","getTime","parsedDateTime","parseISO","isNaN","WebinyError","DateTimeTransformPlugin","ValueTransformPlugin","constructor","_objectSpread2","default","transform","exports"],"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,IAAAA,qBAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAEA,MAAMI,iBAAiB,GAAIC,MAAiD,IAAoB;EAC5F,MAAM;IAAEC;EAAM,CAAC,GAAGD,MAAM;EACxB,IAAIC,KAAK,KAAK,IAAI,EAAE;IAChB,OAAO,IAAI;EACf;EACA,IAAIA,KAAK,IAAI,OAAQA,KAAK,CAASC,OAAO,KAAK,UAAU,EAAE;IACvD;AACR;AACA;IACQ,OAAQD,KAAK,CAAUC,OAAO,CAAC,CAAC;EACpC;EACA,MAAMC,cAAc,GAAG,IAAAC,iBAAQ,EAACH,KAAK,CAAC,CAACC,OAAO,CAAC,CAAC;EAChD,IAAIG,KAAK,CAACF,cAAc,CAAC,KAAK,KAAK,EAAE;IACjC,OAAOA,cAAc;EACzB;EACA,MAAM,IAAIG,cAAW,CAAC,uCAAuC,EAAE,kBAAkB,EAAE;IAC/EL;EACJ,CAAC,CAAC;AACN,CAAC;AAEM,MAAMM,uBAAuB,SAASC,0CAAoB,CAAC;EACvDC,WAAWA,CAACT,MAAqD,EAAE;IACtE,KAAK,KAAAU,cAAA,CAAAC,OAAA;MACDC,SAAS,EAAEb;IAAiB,GACzBC,MAAM,CACZ,CAAC;EACN;AACJ;AAACa,OAAA,CAAAN,uBAAA,GAAAA,uBAAA"}
@@ -1 +1 @@
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,eAAe,SAASC,eAAM,CAAC;EAIjCC,WAAW,CAACC,MAA6B,EAAE;IAC9C,KAAK,EAAE;IAAC;IACR,IAAI,CAACC,OAAO,+DACLD,MAAM;MACTE,MAAM,EAAE,IAAAC,0BAAY,EAACH,MAAM,CAACE,MAAM;IAAC,EACtC;EACL;EAEOE,SAAS,CAACC,KAAa,EAAW;IACrC,OAAO,IAAI,CAACJ,OAAO,CAACC,MAAM,CAACI,QAAQ,CAACD,KAAK,CAAC;EAC9C;EAEOE,UAAU,CAACF,KAAa,EAAU;IACrC,IAAI,CAAC,IAAI,CAACJ,OAAO,CAACM,UAAU,EAAE;MAC1B,MAAM,IAAIC,cAAW,CAAE,qCAAoC,EAAE,iBAAiB,EAAE;QAC5EN,MAAM,EAAE,IAAI,CAACD,OAAO,CAACC;MACzB,CAAC,CAAC;IACN;IACA,OAAO,IAAI,CAACD,OAAO,CAACM,UAAU,CAACF,KAAK,CAAC;EACzC;AACJ;AAAC;AAAA,8BAxBYR,eAAe,UACuB,qBAAqB"}
1
+ {"version":3,"names":["_plugins","require","_error","_interopRequireDefault","_assignFields","FieldPathPlugin","Plugin","constructor","params","_defineProperty2","default","_params","_objectSpread2","fields","assignFields","canCreate","field","includes","createPath","WebinyError","exports"],"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,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAiBO,MAAMI,eAAe,SAASC,eAAM,CAAC;EAIjCC,WAAWA,CAACC,MAA6B,EAAE;IAC9C,KAAK,CAAC,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA;IACR,IAAI,CAACC,OAAO,OAAAC,cAAA,CAAAF,OAAA,MAAAE,cAAA,CAAAF,OAAA,MACLF,MAAM;MACTK,MAAM,EAAE,IAAAC,0BAAY,EAACN,MAAM,CAACK,MAAM;IAAC,EACtC;EACL;EAEOE,SAASA,CAACC,KAAa,EAAW;IACrC,OAAO,IAAI,CAACL,OAAO,CAACE,MAAM,CAACI,QAAQ,CAACD,KAAK,CAAC;EAC9C;EAEOE,UAAUA,CAACF,KAAa,EAAU;IACrC,IAAI,CAAC,IAAI,CAACL,OAAO,CAACO,UAAU,EAAE;MAC1B,MAAM,IAAIC,cAAW,CAAE,qCAAoC,EAAE,iBAAiB,EAAE;QAC5EN,MAAM,EAAE,IAAI,CAACF,OAAO,CAACE;MACzB,CAAC,CAAC;IACN;IACA,OAAO,IAAI,CAACF,OAAO,CAACO,UAAU,CAACF,KAAK,CAAC;EACzC;AACJ;AAACI,OAAA,CAAAf,eAAA,GAAAA,eAAA;AAAA,IAAAI,gBAAA,CAAAC,OAAA,EAxBYL,eAAe,UACuB,qBAAqB"}
@@ -1 +1 @@
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,WAAW,SAASC,eAAM,CAAC;EAQtCC,WAAW,CAACC,MAAyB,EAAE;IAC1C,KAAK,EAAE;IAAC;IAAA;IAAA;IAAA;IAAA;IAAA;IACR,IAAI,CAACC,SAAS,GAAGD,MAAM,CAACE,IAAI,IAAI,QAAQ;IACxC,IAAI,CAACC,YAAY,GAAGH,MAAM,CAACE,IAAI,KAAK,MAAM,GAAG,QAAQ,GAAGF,MAAM,CAACE,IAAI;IACnE,IAAI,CAACE,KAAK,GAAGJ,MAAM,CAACI,KAAK;IACzB,IAAI,CAACC,IAAI,GAAGL,MAAM,CAACK,IAAI;IACvB,IAAI,CAACC,QAAQ,GAAGN,MAAM,CAACM,QAAQ,KAAKC,SAAS,GAAG,IAAI,GAAGP,MAAM,CAACM,QAAQ;IACtE,IAAI,CAACE,eAAe,GAAGR,MAAM,CAACS,cAAc;EAChD;EAEOC,OAAO,GAAW;IACrB,OAAO,IAAI,CAACL,IAAI,IAAI,IAAI,CAACD,KAAK;EAClC;EAEOO,OAAO,GAAc;IACxB,OAAO,IAAI,CAACV,SAAS;EACzB;EAEOW,QAAQ,GAAW;IACtB,OAAO,IAAI,CAACR,KAAK;EACrB;EAEOS,eAAe,GAAW;IAC7B,OAAO,IAAI,CAACV,YAAY;EAC5B;EAEOM,cAAc,CAACK,KAAU,EAAO;IACnC,IAAI,IAAI,CAACN,eAAe,EAAE;MACtB,OAAO,IAAI,CAACC,cAAc,CAACK,KAAK,CAAC;IACrC;IACA,QAAQ,IAAI,CAACb,SAAS;MAClB,KAAK,QAAQ;QACT,OAAOc,MAAM,CAACD,KAAK,CAAC;MACxB,KAAK,MAAM;QACP,IAAI,CAACA,KAAK,EAAE;UACR,OAAO,IAAI;QACf;QACA,OAAO,IAAIE,IAAI,CAACF,KAAK,CAAC;IAAC;IAE/B,OAAOA,KAAK;EAChB;EAEOG,UAAU,GAAY;IACzB,OAAO,IAAI,CAACX,QAAQ;EACxB;AACJ;AAAC"}
1
+ {"version":3,"names":["_plugins","require","FieldPlugin","Plugin","constructor","params","_defineProperty2","default","fieldType","type","dynamoDbType","field","path","sortable","undefined","_transformValue","transformValue","getPath","getType","getField","getDynamoDbType","value","Number","Date","isSortable","exports"],"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,IAAAA,QAAA,GAAAC,OAAA;AAwBO,MAAeC,WAAW,SAASC,eAAM,CAAC;EAQtCC,WAAWA,CAACC,MAAyB,EAAE;IAC1C,KAAK,CAAC,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IACR,IAAI,CAACC,SAAS,GAAGH,MAAM,CAACI,IAAI,IAAI,QAAQ;IACxC,IAAI,CAACC,YAAY,GAAGL,MAAM,CAACI,IAAI,KAAK,MAAM,GAAG,QAAQ,GAAGJ,MAAM,CAACI,IAAI;IACnE,IAAI,CAACE,KAAK,GAAGN,MAAM,CAACM,KAAK;IACzB,IAAI,CAACC,IAAI,GAAGP,MAAM,CAACO,IAAI;IACvB,IAAI,CAACC,QAAQ,GAAGR,MAAM,CAACQ,QAAQ,KAAKC,SAAS,GAAG,IAAI,GAAGT,MAAM,CAACQ,QAAQ;IACtE,IAAI,CAACE,eAAe,GAAGV,MAAM,CAACW,cAAc;EAChD;EAEOC,OAAOA,CAAA,EAAW;IACrB,OAAO,IAAI,CAACL,IAAI,IAAI,IAAI,CAACD,KAAK;EAClC;EAEOO,OAAOA,CAAA,EAAc;IACxB,OAAO,IAAI,CAACV,SAAS;EACzB;EAEOW,QAAQA,CAAA,EAAW;IACtB,OAAO,IAAI,CAACR,KAAK;EACrB;EAEOS,eAAeA,CAAA,EAAW;IAC7B,OAAO,IAAI,CAACV,YAAY;EAC5B;EAEOM,cAAcA,CAACK,KAAU,EAAO;IACnC,IAAI,IAAI,CAACN,eAAe,EAAE;MACtB,OAAO,IAAI,CAACC,cAAc,CAACK,KAAK,CAAC;IACrC;IACA,QAAQ,IAAI,CAACb,SAAS;MAClB,KAAK,QAAQ;QACT,OAAOc,MAAM,CAACD,KAAK,CAAC;MACxB,KAAK,MAAM;QACP,IAAI,CAACA,KAAK,EAAE;UACR,OAAO,IAAI;QACf;QACA,OAAO,IAAIE,IAAI,CAACF,KAAK,CAAC;IAC9B;IACA,OAAOA,KAAK;EAChB;EAEOG,UAAUA,CAAA,EAAY;IACzB,OAAO,IAAI,CAACX,QAAQ;EACxB;AACJ;AAACY,OAAA,CAAAvB,WAAA,GAAAA,WAAA"}
@@ -1 +1 @@
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,MAAiD,IAAa;EACnF,MAAM;IAAEC;EAAM,CAAC,GAAGD,MAAM;EACxB,MAAME,MAAM,GAAG,OAAOD,KAAK;EAC3B;AACJ;AACA;EACI,IAAIC,MAAM,KAAK,QAAQ,IAAI,IAAAC,iBAAQ,EAACF,KAAK,CAAC,KAAK,IAAI,EAAE;IACjD,OAAOG,MAAM,CAACH,KAAK,CAAC;EACxB;EACA,MAAM,IAAII,cAAW,CAAC,uCAAuC,EAAE,cAAc,EAAE;IAC3EJ;EACJ,CAAC,CAAC;AACN,CAAC;AAEM,MAAMK,qBAAqB,SAASC,0CAAoB,CAAC;EACrDC,WAAW,CAACR,MAAqD,EAAE;IACtE,KAAK;MACDS,SAAS,EAAEV;IAAe,GACvBC,MAAM,EACX;EACN;AACJ;AAAC"}
1
+ {"version":3,"names":["_ValueTransformPlugin","require","_error","_interopRequireDefault","_isNumber","transformNumber","params","value","typeOf","isNumber","Number","WebinyError","NumberTransformPlugin","ValueTransformPlugin","constructor","_objectSpread2","default","transform","exports"],"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,IAAAA,qBAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AAEA,MAAMI,eAAe,GAAIC,MAAiD,IAAa;EACnF,MAAM;IAAEC;EAAM,CAAC,GAAGD,MAAM;EACxB,MAAME,MAAM,GAAG,OAAOD,KAAK;EAC3B;AACJ;AACA;EACI,IAAIC,MAAM,KAAK,QAAQ,IAAI,IAAAC,iBAAQ,EAACF,KAAK,CAAC,KAAK,IAAI,EAAE;IACjD,OAAOG,MAAM,CAACH,KAAK,CAAC;EACxB;EACA,MAAM,IAAII,cAAW,CAAC,uCAAuC,EAAE,cAAc,EAAE;IAC3EJ;EACJ,CAAC,CAAC;AACN,CAAC;AAEM,MAAMK,qBAAqB,SAASC,0CAAoB,CAAC;EACrDC,WAAWA,CAACR,MAAqD,EAAE;IACtE,KAAK,KAAAS,cAAA,CAAAC,OAAA;MACDC,SAAS,EAAEZ;IAAe,GACvBC,MAAM,CACZ,CAAC;EACN;AACJ;AAACY,OAAA,CAAAN,qBAAA,GAAAA,qBAAA"}
@@ -1 +1 @@
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,MAAiD,IAAa;EACjF,MAAM;IAAEC;EAAM,CAAC,GAAGD,MAAM;EACxB,MAAME,MAAM,GAAG,OAAOD,KAAK;EAC3B;AACJ;AACA;EACI,IAAIC,MAAM,KAAK,QAAQ,IAAI,IAAAC,iBAAQ,EAACF,KAAK,CAAC,KAAK,IAAI,EAAE;IACjD,OAAOG,MAAM,CAACH,KAAK,CAAC;EACxB,CAAC,MAAM,IAAIC,MAAM,KAAK,QAAQ,EAAE;IAC5B,MAAM,IAAIG,cAAW,CACjB,gEAAgE,EAChE,kBAAkB,EAClB;MACIJ;IACJ,CAAC,CACJ;EACL;EACA;AACJ;AACA;EACI,MAAM,CAACK,IAAI,EAAEC,YAAY,GAAG,CAAC,CAAC,GAAIN,KAAK,CAASO,KAAK,CAAC,GAAG,CAAC;EAC1D,MAAMC,MAAM,GAAGH,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC,CAACE,GAAG,CAACN,MAAM,CAAC;EAC1C,IAAIK,MAAM,CAACE,MAAM,GAAG,CAAC,EAAE;IACnB,MAAM,IAAIN,cAAW,CAAC,+CAA+C,EAAE,kBAAkB,EAAE;MACvFJ;IACJ,CAAC,CAAC;EACN;EACA,MAAM,CAACW,KAAK,EAAEC,OAAO,EAAEC,OAAO,GAAG,CAAC,CAAC,GAAGL,MAAM;EAC5C,OAAO,CAACG,KAAK,GAAG,EAAE,GAAG,EAAE,GAAGC,OAAO,GAAG,EAAE,GAAGC,OAAO,IAAI,IAAI,GAAGV,MAAM,CAACG,YAAY,CAAC;AACnF,CAAC;AAEM,MAAMQ,mBAAmB,SAASC,0CAAoB,CAAC;EACnDC,WAAW,CAACjB,MAAqD,EAAE;IACtE,KAAK;MACDkB,SAAS,EAAEnB;IAAa,GACrBC,MAAM,EACX;EACN;AACJ;AAAC"}
1
+ {"version":3,"names":["_ValueTransformPlugin","require","_error","_interopRequireDefault","_isNumber","transformTime","params","value","typeOf","isNumber","Number","WebinyError","time","milliseconds","split","values","map","length","hours","minutes","seconds","TimeTransformPlugin","ValueTransformPlugin","constructor","_objectSpread2","default","transform","exports"],"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,IAAAA,qBAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AAEA,MAAMI,aAAa,GAAIC,MAAiD,IAAa;EACjF,MAAM;IAAEC;EAAM,CAAC,GAAGD,MAAM;EACxB,MAAME,MAAM,GAAG,OAAOD,KAAK;EAC3B;AACJ;AACA;EACI,IAAIC,MAAM,KAAK,QAAQ,IAAI,IAAAC,iBAAQ,EAACF,KAAK,CAAC,KAAK,IAAI,EAAE;IACjD,OAAOG,MAAM,CAACH,KAAK,CAAC;EACxB,CAAC,MAAM,IAAIC,MAAM,KAAK,QAAQ,EAAE;IAC5B,MAAM,IAAIG,cAAW,CACjB,gEAAgE,EAChE,kBAAkB,EAClB;MACIJ;IACJ,CACJ,CAAC;EACL;EACA;AACJ;AACA;EACI,MAAM,CAACK,IAAI,EAAEC,YAAY,GAAG,CAAC,CAAC,GAAIN,KAAK,CAASO,KAAK,CAAC,GAAG,CAAC;EAC1D,MAAMC,MAAM,GAAGH,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC,CAACE,GAAG,CAACN,MAAM,CAAC;EAC1C,IAAIK,MAAM,CAACE,MAAM,GAAG,CAAC,EAAE;IACnB,MAAM,IAAIN,cAAW,CAAC,+CAA+C,EAAE,kBAAkB,EAAE;MACvFJ;IACJ,CAAC,CAAC;EACN;EACA,MAAM,CAACW,KAAK,EAAEC,OAAO,EAAEC,OAAO,GAAG,CAAC,CAAC,GAAGL,MAAM;EAC5C,OAAO,CAACG,KAAK,GAAG,EAAE,GAAG,EAAE,GAAGC,OAAO,GAAG,EAAE,GAAGC,OAAO,IAAI,IAAI,GAAGV,MAAM,CAACG,YAAY,CAAC;AACnF,CAAC;AAEM,MAAMQ,mBAAmB,SAASC,0CAAoB,CAAC;EACnDC,WAAWA,CAACjB,MAAqD,EAAE;IACtE,KAAK,KAAAkB,cAAA,CAAAC,OAAA;MACDC,SAAS,EAAErB;IAAa,GACrBC,MAAM,CACZ,CAAC;EACN;AACJ;AAACqB,OAAA,CAAAN,mBAAA,GAAAA,mBAAA"}
@@ -1 +1 @@
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,iBAAiB,SAASC,eAAM,CAAC;EAI1C,IAAWC,SAAS,GAAW;IAC3B,OAAO,IAAI,CAACC,YAAY,EAAE;EAC9B;EAEOC,WAAW,CAACC,MAA+B,EAAE;IAChD,KAAK,EAAE;IAAC;IACR,IAAI,CAACC,OAAO,GAAGD,MAAM;EACzB;EAEOE,OAAO,CAACF,MAA4C,EAAW;IAClE,IAAI,CAAC,IAAI,CAACC,OAAO,IAAI,CAAC,IAAI,CAACA,OAAO,CAACC,OAAO,EAAE;MACxC,MAAM,IAAIC,cAAW,CAAE,kCAAiC,EAAE,eAAe,EAAE;QACvEC,MAAM,EAAE,IAAI;QACZJ;MACJ,CAAC,CAAC;IACN;IACA,OAAO,IAAI,CAACC,OAAO,CAACC,OAAO,CAACF,MAAM,CAAC;EACvC;EAEOF,YAAY,GAAW;IAC1B,IAAI,CAAC,IAAI,CAACG,OAAO,IAAI,CAAC,IAAI,CAACA,OAAO,CAACJ,SAAS,EAAE;MAC1C,MAAM,IAAIM,cAAW,CAAE,oCAAmC,EAAE,iBAAiB,CAAC;IAClF;IACA,OAAO,IAAI,CAACF,OAAO,CAACJ,SAAS;EACjC;AACJ;AAAC;AAAA,8BA7BYF,iBAAiB,UACqB,uBAAuB"}
1
+ {"version":3,"names":["_plugins","require","_error","_interopRequireDefault","ValueFilterPlugin","Plugin","operation","getOperation","constructor","params","_defineProperty2","default","_params","matches","WebinyError","plugin","exports"],"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,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAeO,MAAMG,iBAAiB,SAASC,eAAM,CAAC;EAI1C,IAAWC,SAASA,CAAA,EAAW;IAC3B,OAAO,IAAI,CAACC,YAAY,CAAC,CAAC;EAC9B;EAEOC,WAAWA,CAACC,MAA+B,EAAE;IAChD,KAAK,CAAC,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA;IACR,IAAI,CAACC,OAAO,GAAGH,MAAM;EACzB;EAEOI,OAAOA,CAACJ,MAA4C,EAAW;IAClE,IAAI,CAAC,IAAI,CAACG,OAAO,IAAI,CAAC,IAAI,CAACA,OAAO,CAACC,OAAO,EAAE;MACxC,MAAM,IAAIC,cAAW,CAAE,kCAAiC,EAAE,eAAe,EAAE;QACvEC,MAAM,EAAE,IAAI;QACZN;MACJ,CAAC,CAAC;IACN;IACA,OAAO,IAAI,CAACG,OAAO,CAACC,OAAO,CAACJ,MAAM,CAAC;EACvC;EAEOF,YAAYA,CAAA,EAAW;IAC1B,IAAI,CAAC,IAAI,CAACK,OAAO,IAAI,CAAC,IAAI,CAACA,OAAO,CAACN,SAAS,EAAE;MAC1C,MAAM,IAAIQ,cAAW,CAAE,oCAAmC,EAAE,iBAAiB,CAAC;IAClF;IACA,OAAO,IAAI,CAACF,OAAO,CAACN,SAAS;EACjC;AACJ;AAACU,OAAA,CAAAZ,iBAAA,GAAAA,iBAAA;AAAA,IAAAM,gBAAA,CAAAC,OAAA,EA7BYP,iBAAiB,UACqB,uBAAuB"}
@@ -1 +1 @@
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,oBAAoB,SAASC,eAAM,CAAC;EAKtCC,WAAW,CAACC,MAAkC,EAAE;IACnD,KAAK,EAAE;IAAC;IACR,IAAI,CAACC,OAAO,+DACLD,MAAM;MACTE,MAAM,EAAE,IAAAC,0BAAY,EAACH,MAAM,CAACE,MAAM;IAAC,EACtC;EACL;EAEOE,YAAY,CAACC,KAAa,EAAW;IACxC,IAAI,CAAC,IAAI,CAACJ,OAAO,CAACG,YAAY,EAAE;MAC5B,OAAO,IAAI,CAACH,OAAO,CAACC,MAAM,CAACI,QAAQ,CAACD,KAAK,CAAC;IAC9C;IACA,OAAO,IAAI,CAACJ,OAAO,CAACG,YAAY,CAACC,KAAK,CAAC;EAC3C;EAEOE,SAAS,CAACP,MAAiD,EAAO;IACrE,IAAI,CAAC,IAAI,CAACC,OAAO,CAACM,SAAS,EAAE;MACzB,MAAM,IAAIC,cAAW,CAAE,oCAAmC,EAAE,iBAAiB,EAAE;QAC3EN,MAAM,EAAE,IAAI,CAACD,OAAO,CAACC;MACzB,CAAC,CAAC;IACN;IACA,OAAO,IAAI,CAACD,OAAO,CAACM,SAAS,CAACP,MAAM,CAAC;EACzC;AACJ;AAAC;AAAA,8BA5BYH,oBAAoB,UACkB,0BAA0B"}
1
+ {"version":3,"names":["_plugins","require","_error","_interopRequireDefault","_assignFields","ValueTransformPlugin","Plugin","constructor","params","_defineProperty2","default","_params","_objectSpread2","fields","assignFields","canTransform","field","includes","transform","WebinyError","exports"],"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,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAiBO,MAAMI,oBAAoB,SAASC,eAAM,CAAC;EAKtCC,WAAWA,CAACC,MAAkC,EAAE;IACnD,KAAK,CAAC,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA;IACR,IAAI,CAACC,OAAO,OAAAC,cAAA,CAAAF,OAAA,MAAAE,cAAA,CAAAF,OAAA,MACLF,MAAM;MACTK,MAAM,EAAE,IAAAC,0BAAY,EAACN,MAAM,CAACK,MAAM;IAAC,EACtC;EACL;EAEOE,YAAYA,CAACC,KAAa,EAAW;IACxC,IAAI,CAAC,IAAI,CAACL,OAAO,CAACI,YAAY,EAAE;MAC5B,OAAO,IAAI,CAACJ,OAAO,CAACE,MAAM,CAACI,QAAQ,CAACD,KAAK,CAAC;IAC9C;IACA,OAAO,IAAI,CAACL,OAAO,CAACI,YAAY,CAACC,KAAK,CAAC;EAC3C;EAEOE,SAASA,CAACV,MAAiD,EAAO;IACrE,IAAI,CAAC,IAAI,CAACG,OAAO,CAACO,SAAS,EAAE;MACzB,MAAM,IAAIC,cAAW,CAAE,oCAAmC,EAAE,iBAAiB,EAAE;QAC3EN,MAAM,EAAE,IAAI,CAACF,OAAO,CAACE;MACzB,CAAC,CAAC;IACN;IACA,OAAO,IAAI,CAACF,OAAO,CAACO,SAAS,CAACV,MAAM,CAAC;EACzC;AACJ;AAACY,OAAA,CAAAf,oBAAA,GAAAA,oBAAA;AAAA,IAAAI,gBAAA,CAAAC,OAAA,EA5BYL,oBAAoB,UACkB,0BAA0B"}
@@ -1 +1 @@
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,QAA2B,IAAe;EACnE,MAAMC,KAAK,GAAGC,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,GAAGA,QAAQ,GAAG,CAACA,QAAQ,CAAC;EAC7D,IAAIC,KAAK,CAACG,MAAM,KAAK,CAAC,EAAE;IACpB,MAAM,IAAIC,cAAW,CACjB,iDAAiD,EACjD,qBAAqB,CACxB;EACL;EACA,MAAMC,MAAgB,GAAG,EAAE;EAC3B,KAAK,MAAMC,KAAK,IAAIN,KAAK,EAAE;IACvB;AACR;AACA;IACQ,IAAI,CAACM,KAAK,EAAE;MACR,MAAM,IAAIF,cAAW,CACjB,2CAA2C,EAC3C,mBAAmB,EACnB;QACIC,MAAM,EAAEL;MACZ,CAAC,CACJ;IACL;IACAK,MAAM,CAACE,IAAI,CAACD,KAAK,CAAC;EACtB;EACA,OAAOD,MAAM;AACjB,CAAC;AAAC"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","assignFields","rawInput","input","Array","isArray","length","WebinyError","fields","field","push","exports"],"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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEO,MAAMC,YAAY,GAAIC,QAA2B,IAAe;EACnE,MAAMC,KAAK,GAAGC,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,GAAGA,QAAQ,GAAG,CAACA,QAAQ,CAAC;EAC7D,IAAIC,KAAK,CAACG,MAAM,KAAK,CAAC,EAAE;IACpB,MAAM,IAAIC,cAAW,CACjB,iDAAiD,EACjD,qBACJ,CAAC;EACL;EACA,MAAMC,MAAgB,GAAG,EAAE;EAC3B,KAAK,MAAMC,KAAK,IAAIN,KAAK,EAAE;IACvB;AACR;AACA;IACQ,IAAI,CAACM,KAAK,EAAE;MACR,MAAM,IAAIF,cAAW,CACjB,2CAA2C,EAC3C,mBAAmB,EACnB;QACIC,MAAM,EAAEL;MACZ,CACJ,CAAC;IACL;IACAK,MAAM,CAACE,IAAI,CAACD,KAAK,CAAC;EACtB;EACA,OAAOD,MAAM;AACjB,CAAC;AAACG,OAAA,CAAAV,YAAA,GAAAA,YAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","WebinyError","every","c","includes","name"],"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\nconst plugin = 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\nplugin.name = \"dynamodb.value.filter.and_in\";\n\nexport default plugin;\n"],"mappings":";;;;;;;AAAA;AACA;AAOA,MAAMA,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,QAAQ;EACnBC,OAAO,EAAE,CAAC;IAAEC,KAAK;IAAEC;EAA4B,CAAC,KAAK;IACjD,IAAI,CAACA,YAAY,IAAIC,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,KAAK,KAAK,EAAE;MACxD,MAAM,IAAIG,cAAW,CAChB,qDAAoD,EACrD,qBAAqB,EACrB;QACIJ,KAAK;QACLC;MACJ,CAAC,CACJ;IACL;IACA,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,KAAK,IAAI,EAAE;MAC/B,OAAOC,YAAY,CAACI,KAAK,CAACC,CAAC,IAAIN,KAAK,CAACO,QAAQ,CAACD,CAAC,CAAC,CAAC;IACrD;IACA,OAAOL,YAAY,CAACM,QAAQ,CAACP,KAAK,CAAC;EACvC;AACJ,CAAC,CAAC;AAEFJ,MAAM,CAACY,IAAI,GAAG,8BAA8B;AAAC,eAE9BZ,MAAM;AAAA"}
1
+ {"version":3,"names":["_ValueFilterPlugin","require","_error","_interopRequireDefault","plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","WebinyError","every","c","includes","name","_default","exports","default"],"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\nconst plugin = 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\nplugin.name = \"dynamodb.value.filter.and_in\";\n\nexport default plugin;\n"],"mappings":";;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAOA,MAAMG,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,QAAQ;EACnBC,OAAO,EAAEA,CAAC;IAAEC,KAAK;IAAEC;EAA4B,CAAC,KAAK;IACjD,IAAI,CAACA,YAAY,IAAIC,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,KAAK,KAAK,EAAE;MACxD,MAAM,IAAIG,cAAW,CAChB,qDAAoD,EACrD,qBAAqB,EACrB;QACIJ,KAAK;QACLC;MACJ,CACJ,CAAC;IACL;IACA,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,KAAK,IAAI,EAAE;MAC/B,OAAOC,YAAY,CAACI,KAAK,CAACC,CAAC,IAAIN,KAAK,CAACO,QAAQ,CAACD,CAAC,CAAC,CAAC;IACrD;IACA,OAAOL,YAAY,CAACM,QAAQ,CAACP,KAAK,CAAC;EACvC;AACJ,CAAC,CAAC;AAEFJ,MAAM,CAACY,IAAI,GAAG,8BAA8B;AAAC,IAAAC,QAAA,GAE9Bb,MAAM;AAAAc,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","length","WebinyError","from","to","name"],"sources":["between.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nconst plugin = 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\nplugin.name = \"dynamodb.value.filter.between\";\n\nexport default plugin;\n"],"mappings":";;;;;;;AAAA;AACA;AAEA,MAAMA,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,SAAS;EACpBC,OAAO,EAAE,CAAC;IAAEC,KAAK;IAAEC;EAAa,CAAC,KAAK;IAClC,IAAIC,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,EAAE;MAC7B,IAAIA,YAAY,CAACG,MAAM,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAIC,cAAW,CACjB,8EAA8E,EAC9E,cAAc,EACd;UACIL,KAAK;UACLC;QACJ,CAAC,CACJ;MACL;MACA,MAAM,CAACK,IAAI,EAAEC,EAAE,CAAC,GAAGN,YAAY;MAC/B,OAAOD,KAAK,IAAIM,IAAI,IAAIN,KAAK,IAAIO,EAAE;IACvC;IACA,OAAOP,KAAK,IAAIC,YAAY,IAAID,KAAK,IAAIC,YAAY;EACzD;AACJ,CAAC,CAAC;AAEFL,MAAM,CAACY,IAAI,GAAG,+BAA+B;AAAC,eAE/BZ,MAAM;AAAA"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_ValueFilterPlugin","plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","length","WebinyError","from","to","name","_default","exports","default"],"sources":["between.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nconst plugin = 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\nplugin.name = \"dynamodb.value.filter.between\";\n\nexport default plugin;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAEA,MAAME,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,SAAS;EACpBC,OAAO,EAAEA,CAAC;IAAEC,KAAK;IAAEC;EAAa,CAAC,KAAK;IAClC,IAAIC,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,EAAE;MAC7B,IAAIA,YAAY,CAACG,MAAM,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAIC,cAAW,CACjB,8EAA8E,EAC9E,cAAc,EACd;UACIL,KAAK;UACLC;QACJ,CACJ,CAAC;MACL;MACA,MAAM,CAACK,IAAI,EAAEC,EAAE,CAAC,GAAGN,YAAY;MAC/B,OAAOD,KAAK,IAAIM,IAAI,IAAIN,KAAK,IAAIO,EAAE;IACvC;IACA,OAAOP,KAAK,IAAIC,YAAY,IAAID,KAAK,IAAIC,YAAY;EACzD;AACJ,CAAC,CAAC;AAEFL,MAAM,CAACY,IAAI,GAAG,+BAA+B;AAAC,IAAAC,QAAA,GAE/Bb,MAAM;AAAAc,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","re","RegExp","some","v","match","name"],"sources":["contains.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nconst plugin = 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\nplugin.name = \"dynamodb.value.filter.contains\";\n\nexport default plugin;\n"],"mappings":";;;;;;AAAA;AAEA,MAAMA,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,UAAU;EACrBC,OAAO,EAAE,CAAC;IAAEC,KAAK;IAAEC;EAAa,CAAC,KAAK;IAClC,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;MAC3B,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,KAAK,IAAI,EAAE;QAC/B,MAAMI,EAAE,GAAG,IAAIC,MAAM,CAACJ,YAAY,EAAE,GAAG,CAAC;QACxC,OAAOD,KAAK,CAACM,IAAI,CAAEC,CAAS,IAAK;UAC7B,OAAOA,CAAC,CAACC,KAAK,CAACJ,EAAE,CAAC,KAAK,IAAI;QAC/B,CAAC,CAAC;MACN;MACA,OAAO,KAAK;IAChB;IACA,MAAMA,EAAE,GAAG,IAAIC,MAAM,CAACJ,YAAY,EAAE,GAAG,CAAC;IACxC,OAAOD,KAAK,CAACQ,KAAK,CAACJ,EAAE,CAAC,KAAK,IAAI;EACnC;AACJ,CAAC,CAAC;AAEFR,MAAM,CAACa,IAAI,GAAG,gCAAgC;AAAC,eAEhCb,MAAM;AAAA"}
1
+ {"version":3,"names":["_ValueFilterPlugin","require","plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","re","RegExp","some","v","match","name","_default","exports","default"],"sources":["contains.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nconst plugin = 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\nplugin.name = \"dynamodb.value.filter.contains\";\n\nexport default plugin;\n"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAEA,MAAMC,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,UAAU;EACrBC,OAAO,EAAEA,CAAC;IAAEC,KAAK;IAAEC;EAAa,CAAC,KAAK;IAClC,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;MAC3B,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,KAAK,IAAI,EAAE;QAC/B,MAAMI,EAAE,GAAG,IAAIC,MAAM,CAACJ,YAAY,EAAE,GAAG,CAAC;QACxC,OAAOD,KAAK,CAACM,IAAI,CAAEC,CAAS,IAAK;UAC7B,OAAOA,CAAC,CAACC,KAAK,CAACJ,EAAE,CAAC,KAAK,IAAI;QAC/B,CAAC,CAAC;MACN;MACA,OAAO,KAAK;IAChB;IACA,MAAMA,EAAE,GAAG,IAAIC,MAAM,CAACJ,YAAY,EAAE,GAAG,CAAC;IACxC,OAAOD,KAAK,CAACQ,KAAK,CAACJ,EAAE,CAAC,KAAK,IAAI;EACnC;AACJ,CAAC,CAAC;AAEFR,MAAM,CAACa,IAAI,GAAG,gCAAgC;AAAC,IAAAC,QAAA,GAEhCd,MAAM;AAAAe,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","some","v","includes","every","name"],"sources":["eq.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nconst plugin = 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\nplugin.name = \"dynamodb.value.filter.eq\";\n\nexport default plugin;\n"],"mappings":";;;;;;AAAA;AAEA,MAAMA,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE,CAAC;IAAEC,KAAK;IAAEC;EAAa,CAAC,KAAK;IAClC;AACR;AACA;IACQ,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,KAAK,IAAI,EAAE;MAC/B,OAAOA,KAAK,CAACI,IAAI,CAAEC,CAAS,IAAK;QAC7B,OAAOH,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,GAAGA,YAAY,CAACK,QAAQ,CAACD,CAAC,CAAC,GAAGJ,YAAY,KAAKI,CAAC;MACtF,CAAC,CAAC;IACN,CAAC,MAAM,IAAIH,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,KAAK,IAAI,EAAE;MAC7C,OAAOA,YAAY,CAACM,KAAK,CAAEF,CAAS,IAAK;QACrC,OAAOL,KAAK,KAAKK,CAAC;MACtB,CAAC,CAAC;IACN;IACA,OAAOL,KAAK,KAAKC,YAAY;EACjC;AACJ,CAAC,CAAC;AAEFL,MAAM,CAACY,IAAI,GAAG,0BAA0B;AAAC,eAE1BZ,MAAM;AAAA"}
1
+ {"version":3,"names":["_ValueFilterPlugin","require","plugin","ValueFilterPlugin","operation","matches","value","compareValue","Array","isArray","some","v","includes","every","name","_default","exports","default"],"sources":["eq.ts"],"sourcesContent":["import { ValueFilterPlugin } from \"../definitions/ValueFilterPlugin\";\n\nconst plugin = 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\nplugin.name = \"dynamodb.value.filter.eq\";\n\nexport default plugin;\n"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAEA,MAAMC,MAAM,GAAG,IAAIC,oCAAiB,CAAC;EACjCC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAEA,CAAC;IAAEC,KAAK;IAAEC;EAAa,CAAC,KAAK;IAClC;AACR;AACA;IACQ,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,KAAK,IAAI,EAAE;MAC/B,OAAOA,KAAK,CAACI,IAAI,CAAEC,CAAS,IAAK;QAC7B,OAAOH,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,GAAGA,YAAY,CAACK,QAAQ,CAACD,CAAC,CAAC,GAAGJ,YAAY,KAAKI,CAAC;MACtF,CAAC,CAAC;IACN,CAAC,MAAM,IAAIH,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,KAAK,IAAI,EAAE;MAC7C,OAAOA,YAAY,CAACM,KAAK,CAAEF,CAAS,IAAK;QACrC,OAAOL,KAAK,KAAKK,CAAC;MACtB,CAAC,CAAC;IACN;IACA,OAAOL,KAAK,KAAKC,YAAY;EACjC;AACJ,CAAC,CAAC;AAEFL,MAAM,CAACY,IAAI,GAAG,0BAA0B;AAAC,IAAAC,QAAA,GAE1Bb,MAAM;AAAAc,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -16,7 +16,11 @@ const plugin = new _ValueFilterPlugin.ValueFilterPlugin({
16
16
  if (typeof value !== "string") {
17
17
  return false;
18
18
  }
19
- const f = new _fuse.default([value], {});
19
+ const f = new _fuse.default([value], {
20
+ includeScore: true,
21
+ minMatchCharLength: 3,
22
+ threshold: 0.6
23
+ });
20
24
  const result = f.search(compareValue);
21
25
  return result.length > 0;
22
26
  }