@webiny/db-dynamodb 5.37.1-beta.0 → 5.37.1-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.
package/BatchProcess.d.ts CHANGED
@@ -42,6 +42,6 @@ declare class BatchProcess {
42
42
  addBatchDelete(args: AddBatchOperationArgs): AddBatchOperationResponse;
43
43
  addBatchGet(args: AddBatchOperationArgs): AddBatchOperationResponse;
44
44
  allOperationsAdded(): boolean;
45
- startExecution(): import("aws-sdk/lib/request").Request<DocumentClient.BatchGetItemOutput, import("aws-sdk/lib/error").AWSError> | import("aws-sdk/lib/request").Request<DocumentClient.BatchWriteItemOutput, import("aws-sdk/lib/error").AWSError>;
45
+ startExecution(): import("aws-sdk/lib/request").Request<DocumentClient.BatchWriteItemOutput, import("aws-sdk/lib/error").AWSError> | import("aws-sdk/lib/request").Request<DocumentClient.BatchGetItemOutput, import("aws-sdk/lib/error").AWSError>;
46
46
  }
47
47
  export default BatchProcess;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/db-dynamodb",
3
- "version": "5.37.1-beta.0",
3
+ "version": "5.37.1-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.1-beta.0",
14
- "@webiny/db": "5.37.1-beta.0",
15
- "@webiny/error": "5.37.1-beta.0",
16
- "@webiny/handler-db": "5.37.1-beta.0",
17
- "@webiny/plugins": "5.37.1-beta.0",
13
+ "@webiny/api": "5.37.1-beta.2",
14
+ "@webiny/db": "5.37.1-beta.2",
15
+ "@webiny/error": "5.37.1-beta.2",
16
+ "@webiny/handler-db": "5.37.1-beta.2",
17
+ "@webiny/plugins": "5.37.1-beta.2",
18
18
  "date-fns": "2.29.3",
19
19
  "dot-prop": "6.0.1",
20
20
  "fuse.js": "6.6.2",
@@ -25,8 +25,8 @@
25
25
  "@babel/cli": "7.22.6",
26
26
  "@babel/core": "7.22.8",
27
27
  "@types/is-number": "7.0.3",
28
- "@webiny/cli": "5.37.1-beta.0",
29
- "@webiny/project-utils": "5.37.1-beta.0",
28
+ "@webiny/cli": "5.37.1-beta.2",
29
+ "@webiny/project-utils": "5.37.1-beta.2",
30
30
  "dynamodb-toolbox": "0.3.5",
31
31
  "jest": "29.5.0",
32
32
  "jest-dynalite": "3.6.1",
@@ -42,5 +42,5 @@
42
42
  "build": "yarn webiny run build",
43
43
  "watch": "yarn webiny run watch"
44
44
  },
45
- "gitHead": "a4e7b419fbf3f4475d14506c92d22d58ec5e5ef8"
45
+ "gitHead": "674dad566114ea2a68775c7a4108c49e393689b9"
46
46
  }
package/utils/scan.js CHANGED
@@ -4,15 +4,25 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.scanWithCallback = exports.scan = void 0;
7
+ const createNext = result => {
8
+ if (!(result !== null && result !== void 0 && result.LastEvaluatedKey) || !result.next) {
9
+ return undefined;
10
+ }
11
+ return async () => {
12
+ const response = await result.next();
13
+ return convertResult(response);
14
+ };
15
+ };
7
16
  const convertResult = result => {
17
+ var _result$$response;
8
18
  return {
9
19
  items: result.Items,
10
20
  count: result.Count,
11
21
  scannedCount: result.ScannedCount,
12
- lastEvaluatedKey: result.LastEvaluatedKey,
13
- next: result.LastEvaluatedKey ? result.next : undefined,
22
+ lastEvaluatedKey: result.LastEvaluatedKey || undefined,
23
+ next: createNext(result),
14
24
  error: result.error,
15
- requestId: result.$response.requestId
25
+ requestId: ((_result$$response = result.$response) === null || _result$$response === void 0 ? void 0 : _result$$response.requestId) || ""
16
26
  };
17
27
  };
18
28
  const scan = async params => {
@@ -32,7 +42,7 @@ const scanWithCallback = async (params, callback) => {
32
42
  }
33
43
  await callback(result);
34
44
  while (result.next) {
35
- result = convertResult(await result.next());
45
+ result = await result.next();
36
46
  await callback(result);
37
47
  if (!result.next) {
38
48
  return;
package/utils/scan.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["convertResult","result","items","Items","count","Count","scannedCount","ScannedCount","lastEvaluatedKey","LastEvaluatedKey","next","undefined","error","requestId","$response","scan","params","entity","options","table","exports","scanWithCallback","callback","_result$items","length"],"sources":["scan.ts"],"sourcesContent":["import DocumentClient from \"aws-sdk/clients/dynamodb\";\nimport { scanOptions as DynamoDBToolboxScanOptions } from \"dynamodb-toolbox/dist/classes/Table\";\nimport { Entity } from \"dynamodb-toolbox\";\n\nexport interface ScanParams {\n entity: Entity<any>;\n options: DynamoDBToolboxScanOptions;\n params?: Partial<DocumentClient.ScanInput>;\n}\n\nexport interface ScanResponse<T> {\n items: T[];\n count: number;\n scannedCount: number;\n lastEvaluatedKey?: DocumentClient.Key;\n next?: () => Promise<ScanResponse<T>>;\n requestId: string;\n error: any;\n}\n\nconst convertResult = <T>(result: any): ScanResponse<T> => {\n return {\n items: result.Items as T[],\n count: result.Count,\n scannedCount: result.ScannedCount,\n lastEvaluatedKey: result.LastEvaluatedKey,\n next: result.LastEvaluatedKey ? result.next : undefined,\n error: result.error,\n requestId: result.$response.requestId\n };\n};\n\nexport type ScanDbItem<T> = T & {\n PK: string;\n SK: string;\n GSI1_PK: string;\n GSI1_SK: string;\n};\n\nexport const scan = async <T>(params: ScanParams): Promise<ScanResponse<T>> => {\n const { entity, options } = params;\n\n const result = await entity.table.scan(options, params.params);\n\n return convertResult(result);\n};\n\nexport const scanWithCallback = async <T>(\n params: ScanParams,\n callback: (result: ScanResponse<ScanDbItem<T>>) => Promise<void>\n): Promise<void> => {\n let result = await scan<ScanDbItem<T>>(params);\n if (!result.items?.length && !result.lastEvaluatedKey) {\n return;\n }\n await callback(result);\n\n while (result.next) {\n result = convertResult(await result.next());\n await callback(result);\n if (!result.next) {\n return;\n }\n }\n};\n"],"mappings":";;;;;;AAoBA,MAAMA,aAAa,GAAOC,MAAW,IAAsB;EACvD,OAAO;IACHC,KAAK,EAAED,MAAM,CAACE,KAAY;IAC1BC,KAAK,EAAEH,MAAM,CAACI,KAAK;IACnBC,YAAY,EAAEL,MAAM,CAACM,YAAY;IACjCC,gBAAgB,EAAEP,MAAM,CAACQ,gBAAgB;IACzCC,IAAI,EAAET,MAAM,CAACQ,gBAAgB,GAAGR,MAAM,CAACS,IAAI,GAAGC,SAAS;IACvDC,KAAK,EAAEX,MAAM,CAACW,KAAK;IACnBC,SAAS,EAAEZ,MAAM,CAACa,SAAS,CAACD;EAChC,CAAC;AACL,CAAC;AASM,MAAME,IAAI,GAAG,MAAUC,MAAkB,IAA+B;EAC3E,MAAM;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGF,MAAM;EAElC,MAAMf,MAAM,GAAG,MAAMgB,MAAM,CAACE,KAAK,CAACJ,IAAI,CAACG,OAAO,EAAEF,MAAM,CAACA,MAAM,CAAC;EAE9D,OAAOhB,aAAa,CAACC,MAAM,CAAC;AAChC,CAAC;AAACmB,OAAA,CAAAL,IAAA,GAAAA,IAAA;AAEK,MAAMM,gBAAgB,GAAG,MAAAA,CAC5BL,MAAkB,EAClBM,QAAgE,KAChD;EAAA,IAAAC,aAAA;EAChB,IAAItB,MAAM,GAAG,MAAMc,IAAI,CAAgBC,MAAM,CAAC;EAC9C,IAAI,GAAAO,aAAA,GAACtB,MAAM,CAACC,KAAK,cAAAqB,aAAA,eAAZA,aAAA,CAAcC,MAAM,KAAI,CAACvB,MAAM,CAACO,gBAAgB,EAAE;IACnD;EACJ;EACA,MAAMc,QAAQ,CAACrB,MAAM,CAAC;EAEtB,OAAOA,MAAM,CAACS,IAAI,EAAE;IAChBT,MAAM,GAAGD,aAAa,CAAC,MAAMC,MAAM,CAACS,IAAI,CAAC,CAAC,CAAC;IAC3C,MAAMY,QAAQ,CAACrB,MAAM,CAAC;IACtB,IAAI,CAACA,MAAM,CAACS,IAAI,EAAE;MACd;IACJ;EACJ;AACJ,CAAC;AAACU,OAAA,CAAAC,gBAAA,GAAAA,gBAAA"}
1
+ {"version":3,"names":["createNext","result","LastEvaluatedKey","next","undefined","response","convertResult","_result$$response","items","Items","count","Count","scannedCount","ScannedCount","lastEvaluatedKey","error","requestId","$response","scan","params","entity","options","table","exports","scanWithCallback","callback","_result$items","length"],"sources":["scan.ts"],"sourcesContent":["import DocumentClient from \"aws-sdk/clients/dynamodb\";\nimport { scanOptions as DynamoDBToolboxScanOptions } from \"dynamodb-toolbox/dist/classes/Table\";\nimport { Entity } from \"dynamodb-toolbox\";\n\nexport interface ScanParams {\n entity: Entity<any>;\n options: DynamoDBToolboxScanOptions;\n params?: Partial<DocumentClient.ScanInput>;\n}\n\nexport interface ScanResponse<T> {\n items: T[];\n count: number;\n scannedCount: number;\n lastEvaluatedKey?: DocumentClient.Key;\n next?: () => Promise<ScanResponse<T>>;\n requestId: string;\n error: any;\n}\n\ninterface DdbScanResult<T> {\n Items: T[];\n Count: number;\n ScannedCount: number;\n LastEvaluatedKey?: DocumentClient.Key;\n next?: () => Promise<DdbScanResult<T>>;\n error?: any;\n $response?: {\n requestId: string;\n };\n}\n\ntype NextCb<T> = () => Promise<ScanResponse<T>>;\n\nconst createNext = <T>(result: DdbScanResult<T>): NextCb<T> | undefined => {\n if (!result?.LastEvaluatedKey || !result.next) {\n return undefined;\n }\n return async () => {\n const response = await result!.next!();\n return convertResult(response);\n };\n};\n\nconst convertResult = <T>(result: DdbScanResult<T>): ScanResponse<T> => {\n return {\n items: result.Items,\n count: result.Count,\n scannedCount: result.ScannedCount,\n lastEvaluatedKey: result.LastEvaluatedKey || undefined,\n next: createNext<T>(result),\n error: result.error,\n requestId: result.$response?.requestId || \"\"\n };\n};\n\nexport type ScanDbItem<T> = T & {\n PK: string;\n SK: string;\n GSI1_PK: string;\n GSI1_SK: string;\n};\n\nexport const scan = async <T>(params: ScanParams): Promise<ScanResponse<T>> => {\n const { entity, options } = params;\n\n const result = await entity.table.scan(options, params.params);\n\n return convertResult(result);\n};\n\nexport const scanWithCallback = async <T>(\n params: ScanParams,\n callback: (result: ScanResponse<ScanDbItem<T>>) => Promise<void>\n): Promise<void> => {\n let result = await scan<ScanDbItem<T>>(params);\n if (!result.items?.length && !result.lastEvaluatedKey) {\n return;\n }\n await callback(result);\n\n while (result.next) {\n result = await result.next();\n await callback(result);\n if (!result.next) {\n return;\n }\n }\n};\n"],"mappings":";;;;;;AAkCA,MAAMA,UAAU,GAAOC,MAAwB,IAA4B;EACvE,IAAI,EAACA,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEC,gBAAgB,KAAI,CAACD,MAAM,CAACE,IAAI,EAAE;IAC3C,OAAOC,SAAS;EACpB;EACA,OAAO,YAAY;IACf,MAAMC,QAAQ,GAAG,MAAMJ,MAAM,CAAEE,IAAI,CAAE,CAAC;IACtC,OAAOG,aAAa,CAACD,QAAQ,CAAC;EAClC,CAAC;AACL,CAAC;AAED,MAAMC,aAAa,GAAOL,MAAwB,IAAsB;EAAA,IAAAM,iBAAA;EACpE,OAAO;IACHC,KAAK,EAAEP,MAAM,CAACQ,KAAK;IACnBC,KAAK,EAAET,MAAM,CAACU,KAAK;IACnBC,YAAY,EAAEX,MAAM,CAACY,YAAY;IACjCC,gBAAgB,EAAEb,MAAM,CAACC,gBAAgB,IAAIE,SAAS;IACtDD,IAAI,EAAEH,UAAU,CAAIC,MAAM,CAAC;IAC3Bc,KAAK,EAAEd,MAAM,CAACc,KAAK;IACnBC,SAAS,EAAE,EAAAT,iBAAA,GAAAN,MAAM,CAACgB,SAAS,cAAAV,iBAAA,uBAAhBA,iBAAA,CAAkBS,SAAS,KAAI;EAC9C,CAAC;AACL,CAAC;AASM,MAAME,IAAI,GAAG,MAAUC,MAAkB,IAA+B;EAC3E,MAAM;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGF,MAAM;EAElC,MAAMlB,MAAM,GAAG,MAAMmB,MAAM,CAACE,KAAK,CAACJ,IAAI,CAACG,OAAO,EAAEF,MAAM,CAACA,MAAM,CAAC;EAE9D,OAAOb,aAAa,CAACL,MAAM,CAAC;AAChC,CAAC;AAACsB,OAAA,CAAAL,IAAA,GAAAA,IAAA;AAEK,MAAMM,gBAAgB,GAAG,MAAAA,CAC5BL,MAAkB,EAClBM,QAAgE,KAChD;EAAA,IAAAC,aAAA;EAChB,IAAIzB,MAAM,GAAG,MAAMiB,IAAI,CAAgBC,MAAM,CAAC;EAC9C,IAAI,GAAAO,aAAA,GAACzB,MAAM,CAACO,KAAK,cAAAkB,aAAA,eAAZA,aAAA,CAAcC,MAAM,KAAI,CAAC1B,MAAM,CAACa,gBAAgB,EAAE;IACnD;EACJ;EACA,MAAMW,QAAQ,CAACxB,MAAM,CAAC;EAEtB,OAAOA,MAAM,CAACE,IAAI,EAAE;IAChBF,MAAM,GAAG,MAAMA,MAAM,CAACE,IAAI,CAAC,CAAC;IAC5B,MAAMsB,QAAQ,CAACxB,MAAM,CAAC;IACtB,IAAI,CAACA,MAAM,CAACE,IAAI,EAAE;MACd;IACJ;EACJ;AACJ,CAAC;AAACoB,OAAA,CAAAC,gBAAA,GAAAA,gBAAA"}