@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 +1 -1
- package/package.json +9 -9
- package/utils/scan.js +14 -4
- package/utils/scan.js.map +1 -1
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.
|
|
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.
|
|
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.
|
|
14
|
-
"@webiny/db": "5.37.1-beta.
|
|
15
|
-
"@webiny/error": "5.37.1-beta.
|
|
16
|
-
"@webiny/handler-db": "5.37.1-beta.
|
|
17
|
-
"@webiny/plugins": "5.37.1-beta.
|
|
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.
|
|
29
|
-
"@webiny/project-utils": "5.37.1-beta.
|
|
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": "
|
|
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
|
|
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 =
|
|
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":["
|
|
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"}
|