@webiny/db-dynamodb 6.0.0-beta.0 → 6.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DynamoDbDriver.d.ts +14 -12
- package/DynamoDbDriver.js +214 -22
- package/DynamoDbDriver.js.map +1 -1
- package/README.md +6 -62
- package/index.d.ts +4 -3
- package/index.js +4 -36
- package/index.js.map +1 -1
- package/package.json +19 -26
- package/plugins/definitions/AttributePlugin.d.ts +1 -1
- package/plugins/definitions/AttributePlugin.js +4 -12
- package/plugins/definitions/AttributePlugin.js.map +1 -1
- package/plugins/definitions/DateTimeTransformPlugin.d.ts +2 -1
- package/plugins/definitions/DateTimeTransformPlugin.js +6 -14
- package/plugins/definitions/DateTimeTransformPlugin.js.map +1 -1
- package/plugins/definitions/FieldPathPlugin.js +6 -14
- package/plugins/definitions/FieldPathPlugin.js.map +1 -1
- package/plugins/definitions/FieldPlugin.d.ts +2 -2
- package/plugins/definitions/FieldPlugin.js +2 -9
- package/plugins/definitions/FieldPlugin.js.map +1 -1
- package/plugins/definitions/TimeTransformPlugin.d.ts +2 -1
- package/plugins/definitions/TimeTransformPlugin.js +12 -19
- package/plugins/definitions/TimeTransformPlugin.js.map +1 -1
- package/plugins/definitions/ValueFilterPlugin.d.ts +2 -2
- package/plugins/definitions/ValueFilterPlugin.js +5 -13
- package/plugins/definitions/ValueFilterPlugin.js.map +1 -1
- package/plugins/definitions/ValueTransformPlugin.js +6 -14
- package/plugins/definitions/ValueTransformPlugin.js.map +1 -1
- package/plugins/definitions/assignFields.js +4 -12
- package/plugins/definitions/assignFields.js.map +1 -1
- package/plugins/filters/andIn.d.ts +2 -2
- package/plugins/filters/andIn.js +5 -12
- package/plugins/filters/andIn.js.map +1 -1
- package/plugins/filters/between.d.ts +2 -2
- package/plugins/filters/between.js +5 -12
- package/plugins/filters/between.js.map +1 -1
- package/plugins/filters/contains.d.ts +2 -2
- package/plugins/filters/contains.js +24 -11
- package/plugins/filters/contains.js.map +1 -1
- package/plugins/filters/eq.d.ts +2 -2
- package/plugins/filters/eq.js +5 -11
- package/plugins/filters/eq.js.map +1 -1
- package/plugins/filters/fuzzy.d.ts +2 -2
- package/plugins/filters/fuzzy.js +5 -12
- package/plugins/filters/fuzzy.js.map +1 -1
- package/plugins/filters/gt.d.ts +2 -2
- package/plugins/filters/gt.js +3 -9
- package/plugins/filters/gt.js.map +1 -1
- package/plugins/filters/gte.d.ts +2 -2
- package/plugins/filters/gte.js +3 -9
- package/plugins/filters/gte.js.map +1 -1
- package/plugins/filters/in.d.ts +2 -2
- package/plugins/filters/in.js +5 -12
- package/plugins/filters/in.js.map +1 -1
- package/plugins/filters/index.d.ts +1 -1
- package/plugins/filters/index.js +12 -20
- package/plugins/filters/index.js.map +1 -1
- package/plugins/filters/lt.d.ts +2 -2
- package/plugins/filters/lt.js +3 -9
- package/plugins/filters/lt.js.map +1 -1
- package/plugins/filters/lte.d.ts +2 -2
- package/plugins/filters/lte.js +3 -9
- package/plugins/filters/lte.js.map +1 -1
- package/plugins/filters/startsWith.d.ts +2 -2
- package/plugins/filters/startsWith.js +3 -9
- package/plugins/filters/startsWith.js.map +1 -1
- package/plugins/index.d.ts +9 -1
- package/plugins/index.js +11 -11
- package/plugins/index.js.map +1 -1
- package/store/entity.d.ts +6 -0
- package/store/entity.js +11 -0
- package/store/entity.js.map +1 -0
- package/store/keys.d.ts +6 -0
- package/store/keys.js +16 -0
- package/store/keys.js.map +1 -0
- package/store/types.d.ts +6 -0
- package/store/types.js +3 -0
- package/store/types.js.map +1 -0
- package/toolbox.d.ts +7 -2
- package/toolbox.js +2 -17
- package/toolbox.js.map +1 -1
- package/types.d.ts +3 -24
- package/types.js +1 -5
- package/types.js.map +1 -1
- package/utils/attributes.d.ts +3 -3
- package/utils/attributes.js +4 -12
- package/utils/attributes.js.map +1 -1
- package/utils/{batchRead.d.ts → batch/batchRead.d.ts} +3 -2
- package/utils/{batchRead.js → batch/batchRead.js} +5 -13
- package/utils/batch/batchRead.js.map +1 -0
- package/utils/batch/batchWrite.d.ts +13 -0
- package/utils/{batchWrite.js → batch/batchWrite.js} +3 -11
- package/utils/batch/batchWrite.js.map +1 -0
- package/utils/batch/index.d.ts +3 -0
- package/utils/batch/index.js +5 -0
- package/utils/batch/index.js.map +1 -0
- package/utils/batch/types.d.ts +30 -0
- package/utils/batch/types.js +3 -0
- package/utils/batch/types.js.map +1 -0
- package/utils/cleanup.d.ts +3 -3
- package/utils/cleanup.js +3 -10
- package/utils/cleanup.js.map +1 -1
- package/utils/count.d.ts +1 -1
- package/utils/count.js +1 -8
- package/utils/count.js.map +1 -1
- package/utils/createEntity.d.ts +36 -53
- package/utils/createEntity.js +75 -51
- package/utils/createEntity.js.map +1 -1
- package/utils/createTable.d.ts +10 -6
- package/utils/createTable.js +25 -15
- package/utils/createTable.js.map +1 -1
- package/utils/cursor.js +2 -10
- package/utils/cursor.js.map +1 -1
- package/utils/delete.d.ts +8 -8
- package/utils/delete.js +1 -8
- package/utils/delete.js.map +1 -1
- package/utils/entity/Entity.d.ts +28 -0
- package/utils/entity/Entity.js +99 -0
- package/utils/entity/Entity.js.map +1 -0
- package/utils/entity/EntityReadBatch.d.ts +18 -0
- package/utils/entity/EntityReadBatch.js +39 -0
- package/utils/entity/EntityReadBatch.js.map +1 -0
- package/utils/entity/EntityReadBatchBuilder.d.ts +10 -0
- package/utils/entity/EntityReadBatchBuilder.js +21 -0
- package/utils/entity/EntityReadBatchBuilder.js.map +1 -0
- package/utils/entity/EntityWriteBatch.d.ts +23 -0
- package/utils/entity/EntityWriteBatch.js +51 -0
- package/utils/entity/EntityWriteBatch.js.map +1 -0
- package/utils/entity/EntityWriteBatchBuilder.d.ts +11 -0
- package/utils/entity/EntityWriteBatchBuilder.js +20 -0
- package/utils/entity/EntityWriteBatchBuilder.js.map +1 -0
- package/utils/entity/getEntity.d.ts +4 -0
- package/utils/entity/getEntity.js +12 -0
- package/utils/entity/getEntity.js.map +1 -0
- package/utils/entity/index.d.ts +7 -0
- package/utils/entity/index.js +9 -0
- package/utils/entity/index.js.map +1 -0
- package/utils/entity/types.d.ts +75 -0
- package/utils/entity/types.js +4 -0
- package/utils/entity/types.js.map +1 -0
- package/utils/filter.d.ts +2 -2
- package/utils/filter.js +7 -14
- package/utils/filter.js.map +1 -1
- package/utils/get.d.ts +6 -5
- package/utils/get.js +4 -12
- package/utils/get.js.map +1 -1
- package/utils/index.d.ts +17 -17
- package/utils/index.js +17 -192
- package/utils/index.js.map +1 -1
- package/utils/listResponse.js +4 -10
- package/utils/listResponse.js.map +1 -1
- package/utils/put.d.ts +10 -9
- package/utils/put.js +3 -9
- package/utils/put.js.map +1 -1
- package/utils/query.d.ts +11 -12
- package/utils/query.js +30 -22
- package/utils/query.js.map +1 -1
- package/utils/scan.d.ts +11 -7
- package/utils/scan.js +22 -12
- package/utils/scan.js.map +1 -1
- package/utils/sort.d.ts +1 -1
- package/utils/sort.js +7 -14
- package/utils/sort.js.map +1 -1
- package/utils/table/Table.d.ts +10 -0
- package/utils/table/Table.js +27 -0
- package/utils/table/Table.js.map +1 -0
- package/utils/table/TableReadBatch.d.ts +19 -0
- package/utils/table/TableReadBatch.js +54 -0
- package/utils/table/TableReadBatch.js.map +1 -0
- package/utils/table/TableWriteBatch.d.ts +21 -0
- package/utils/table/TableWriteBatch.js +61 -0
- package/utils/table/TableWriteBatch.js.map +1 -0
- package/utils/table/index.d.ts +4 -0
- package/utils/table/index.js +6 -0
- package/utils/table/index.js.map +1 -0
- package/utils/table/types.d.ts +39 -0
- package/utils/table/types.js +3 -0
- package/utils/table/types.js.map +1 -0
- package/utils/update.d.ts +2 -1
- package/utils/update.js +3 -9
- package/utils/update.js.map +1 -1
- package/plugins/definitions/NumberTransformPlugin.d.ts +0 -4
- package/plugins/definitions/NumberTransformPlugin.js +0 -36
- package/plugins/definitions/NumberTransformPlugin.js.map +0 -1
- package/utils/batchRead.js.map +0 -1
- package/utils/batchWrite.d.ts +0 -29
- package/utils/batchWrite.js.map +0 -1
- package/utils/table.d.ts +0 -7
- package/utils/table.js +0 -24
- package/utils/table.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["createEntity","globalEntityAttributes","PK","partitionKey","SK","sortKey","GSI1_PK","type","GSI1_SK","GSI2_PK","GSI2_SK","TYPE","required","data","expiresAt","createGlobalEntity","params","attributes","standardEntityAttributes","GSI_TENANT","createStandardEntity"],"sources":["createEntity.ts"],"sourcesContent":["import type { AttributeDefinitions } from \"~/toolbox.js\";\nimport { createEntity, type EntityConstructor } from \"~/utils/entity/index.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\nexport type IGlobalEntityAttributes<T = undefined> = {\n PK: string;\n SK: string;\n TYPE: string;\n GSI1_PK?: string;\n GSI1_SK?: string;\n GSI2_PK?: string;\n GSI2_SK?: string;\n expiresAt?: string | null;\n} & (T extends undefined ? { data?: undefined } : { data: T });\n\nexport const globalEntityAttributes: AttributeDefinitions = {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n GSI2_PK: {\n type: \"string\"\n },\n GSI2_SK: {\n type: \"string\"\n },\n TYPE: {\n type: \"string\",\n required: true\n },\n data: {\n type: \"map\"\n },\n expiresAt: {\n type: \"number\"\n }\n};\n\nexport const createGlobalEntity = <T extends GenericRecord = GenericRecord>(\n params: Omit<EntityConstructor, \"attributes\"> & Partial<Pick<EntityConstructor, \"attributes\">>\n) => {\n return createEntity<IGlobalEntityAttributes<T>>({\n ...params,\n attributes: {\n ...globalEntityAttributes,\n ...params.attributes\n }\n });\n};\n\nexport type IStandardEntityAttributes<T = undefined> = {\n PK: string;\n SK: string;\n GSI_TENANT: string;\n TYPE: string;\n GSI1_PK?: string;\n GSI1_SK?: string;\n GSI2_PK?: string;\n GSI2_SK?: string;\n expiresAt?: number | null;\n} & (T extends undefined ? { data?: undefined } : { data: T });\n\nexport const standardEntityAttributes: AttributeDefinitions = {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n GSI_TENANT: {\n type: \"string\",\n required: true\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n GSI2_PK: {\n type: \"string\"\n },\n GSI2_SK: {\n type: \"string\"\n },\n TYPE: {\n type: \"string\",\n required: true\n },\n data: {\n type: \"map\"\n },\n expiresAt: {\n type: \"number\"\n }\n};\n\nexport const createStandardEntity = <T extends GenericRecord = GenericRecord>(\n params: Omit<EntityConstructor, \"attributes\"> & Partial<Pick<EntityConstructor, \"attributes\">>\n) => {\n return createEntity<IStandardEntityAttributes<T>>({\n ...params,\n attributes: {\n ...standardEntityAttributes,\n ...params.attributes\n }\n });\n};\n"],"mappings":"AACA,SAASA,YAAY;AAcrB,OAAO,MAAMC,sBAA4C,GAAG;EACxDC,EAAE,EAAE;IACAC,YAAY,EAAE;EAClB,CAAC;EACDC,EAAE,EAAE;IACAC,OAAO,EAAE;EACb,CAAC;EACDC,OAAO,EAAE;IACLC,IAAI,EAAE;EACV,CAAC;EACDC,OAAO,EAAE;IACLD,IAAI,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACLF,IAAI,EAAE;EACV,CAAC;EACDG,OAAO,EAAE;IACLH,IAAI,EAAE;EACV,CAAC;EACDI,IAAI,EAAE;IACFJ,IAAI,EAAE,QAAQ;IACdK,QAAQ,EAAE;EACd,CAAC;EACDC,IAAI,EAAE;IACFN,IAAI,EAAE;EACV,CAAC;EACDO,SAAS,EAAE;IACPP,IAAI,EAAE;EACV;AACJ,CAAC;AAED,OAAO,MAAMQ,kBAAkB,GAC3BC,MAA8F,IAC7F;EACD,OAAOhB,YAAY,CAA6B;IAC5C,GAAGgB,MAAM;IACTC,UAAU,EAAE;MACR,GAAGhB,sBAAsB;MACzB,GAAGe,MAAM,CAACC;IACd;EACJ,CAAC,CAAC;AACN,CAAC;AAcD,OAAO,MAAMC,wBAA8C,GAAG;EAC1DhB,EAAE,EAAE;IACAC,YAAY,EAAE;EAClB,CAAC;EACDC,EAAE,EAAE;IACAC,OAAO,EAAE;EACb,CAAC;EACDc,UAAU,EAAE;IACRZ,IAAI,EAAE,QAAQ;IACdK,QAAQ,EAAE;EACd,CAAC;EACDN,OAAO,EAAE;IACLC,IAAI,EAAE;EACV,CAAC;EACDC,OAAO,EAAE;IACLD,IAAI,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACLF,IAAI,EAAE;EACV,CAAC;EACDG,OAAO,EAAE;IACLH,IAAI,EAAE;EACV,CAAC;EACDI,IAAI,EAAE;IACFJ,IAAI,EAAE,QAAQ;IACdK,QAAQ,EAAE;EACd,CAAC;EACDC,IAAI,EAAE;IACFN,IAAI,EAAE;EACV,CAAC;EACDO,SAAS,EAAE;IACPP,IAAI,EAAE;EACV;AACJ,CAAC;AAED,OAAO,MAAMa,oBAAoB,GAC7BJ,MAA8F,IAC7F;EACD,OAAOhB,YAAY,CAA+B;IAC9C,GAAGgB,MAAM;IACTC,UAAU,EAAE;MACR,GAAGC,wBAAwB;MAC3B,GAAGF,MAAM,CAACC;IACd;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
|
package/utils/createTable.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export interface
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import type { ITable } from "../utils/table/index.js";
|
|
2
|
+
import type { TableConstructor } from "../toolbox.js";
|
|
3
|
+
export interface ICreateTableParamsIndexDefinition {
|
|
4
|
+
partitionKey: string;
|
|
5
|
+
sortKey?: string;
|
|
6
6
|
}
|
|
7
|
-
export
|
|
7
|
+
export type ICreateTableParams = Partial<Omit<TableConstructor<string, string, string>, "DocumentClient">> & {
|
|
8
|
+
name: string;
|
|
9
|
+
documentClient: Pick<TableConstructor<string, string, string>, "DocumentClient">["DocumentClient"];
|
|
10
|
+
};
|
|
11
|
+
export declare const createTable: (params: ICreateTableParams) => ITable<string, "PK", "SK">;
|
package/utils/createTable.js
CHANGED
|
@@ -1,29 +1,39 @@
|
|
|
1
|
-
|
|
1
|
+
import { Table } from "./table/index.js";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
3
|
+
// export interface ICreateTableParams {
|
|
4
|
+
// name?: string;
|
|
5
|
+
// documentClient: DynamoDBDocument;
|
|
6
|
+
// indexes?: GenericRecord<string, ICreateTableParamsIndexDefinition>;
|
|
7
|
+
// }
|
|
8
|
+
|
|
9
|
+
export const createTable = params => {
|
|
10
|
+
const {
|
|
11
|
+
documentClient,
|
|
12
|
+
indexes = {},
|
|
13
|
+
...rest
|
|
14
|
+
} = params;
|
|
15
|
+
return new Table({
|
|
14
16
|
partitionKey: "PK",
|
|
15
17
|
sortKey: "SK",
|
|
16
18
|
DocumentClient: documentClient,
|
|
17
19
|
indexes: {
|
|
20
|
+
GSI_TENANT: {
|
|
21
|
+
partitionKey: "GSI_TENANT"
|
|
22
|
+
},
|
|
18
23
|
GSI1: {
|
|
19
24
|
partitionKey: "GSI1_PK",
|
|
20
25
|
sortKey: "GSI1_SK"
|
|
21
|
-
}
|
|
26
|
+
},
|
|
27
|
+
GSI2: {
|
|
28
|
+
partitionKey: "GSI2_PK",
|
|
29
|
+
sortKey: "GSI2_SK"
|
|
30
|
+
},
|
|
31
|
+
...indexes
|
|
22
32
|
},
|
|
23
33
|
autoExecute: true,
|
|
24
|
-
autoParse: true
|
|
34
|
+
autoParse: true,
|
|
35
|
+
...rest
|
|
25
36
|
});
|
|
26
37
|
};
|
|
27
|
-
exports.createTable = createTable;
|
|
28
38
|
|
|
29
39
|
//# sourceMappingURL=createTable.js.map
|
package/utils/createTable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Table","createTable","params","documentClient","indexes","rest","partitionKey","sortKey","DocumentClient","GSI_TENANT","GSI1","GSI2","autoExecute","autoParse"],"sources":["createTable.ts"],"sourcesContent":["import type { ITable } from \"~/utils/table/index.js\";\nimport { Table } from \"~/utils/table/index.js\";\nimport type { TableConstructor } from \"~/toolbox.js\";\n\nexport interface ICreateTableParamsIndexDefinition {\n partitionKey: string;\n sortKey?: string;\n}\n\n// export interface ICreateTableParams {\n// name?: string;\n// documentClient: DynamoDBDocument;\n// indexes?: GenericRecord<string, ICreateTableParamsIndexDefinition>;\n// }\n\nexport type ICreateTableParams = Partial<\n Omit<TableConstructor<string, string, string>, \"DocumentClient\">\n> & {\n name: string;\n documentClient: Pick<\n TableConstructor<string, string, string>,\n \"DocumentClient\"\n >[\"DocumentClient\"];\n};\n\nexport const createTable = (params: ICreateTableParams): ITable<string, \"PK\", \"SK\"> => {\n const { documentClient, indexes = {}, ...rest } = params;\n return new Table({\n partitionKey: \"PK\",\n sortKey: \"SK\",\n DocumentClient: documentClient,\n indexes: {\n GSI_TENANT: {\n partitionKey: \"GSI_TENANT\"\n },\n GSI1: {\n partitionKey: \"GSI1_PK\",\n sortKey: \"GSI1_SK\"\n },\n GSI2: {\n partitionKey: \"GSI2_PK\",\n sortKey: \"GSI2_SK\"\n },\n ...indexes\n },\n autoExecute: true,\n autoParse: true,\n ...rest\n });\n};\n"],"mappings":"AACA,SAASA,KAAK;;AAQd;AACA;AACA;AACA;AACA;;AAYA,OAAO,MAAMC,WAAW,GAAIC,MAA0B,IAAiC;EACnF,MAAM;IAAEC,cAAc;IAAEC,OAAO,GAAG,CAAC,CAAC;IAAE,GAAGC;EAAK,CAAC,GAAGH,MAAM;EACxD,OAAO,IAAIF,KAAK,CAAC;IACbM,YAAY,EAAE,IAAI;IAClBC,OAAO,EAAE,IAAI;IACbC,cAAc,EAAEL,cAAc;IAC9BC,OAAO,EAAE;MACLK,UAAU,EAAE;QACRH,YAAY,EAAE;MAClB,CAAC;MACDI,IAAI,EAAE;QACFJ,YAAY,EAAE,SAAS;QACvBC,OAAO,EAAE;MACb,CAAC;MACDI,IAAI,EAAE;QACFL,YAAY,EAAE,SAAS;QACvBC,OAAO,EAAE;MACb,CAAC;MACD,GAAGH;IACP,CAAC;IACDQ,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE,IAAI;IACf,GAAGR;EACP,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
|
package/utils/cursor.js
CHANGED
|
@@ -1,22 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.encodeCursor = exports.decodeCursor = void 0;
|
|
7
|
-
const encodeCursor = cursor => {
|
|
1
|
+
export const encodeCursor = cursor => {
|
|
8
2
|
if (!cursor) {
|
|
9
3
|
return null;
|
|
10
4
|
}
|
|
11
5
|
return Buffer.from(JSON.stringify(cursor)).toString("base64");
|
|
12
6
|
};
|
|
13
|
-
|
|
14
|
-
const decodeCursor = cursor => {
|
|
7
|
+
export const decodeCursor = cursor => {
|
|
15
8
|
if (!cursor) {
|
|
16
9
|
return null;
|
|
17
10
|
}
|
|
18
11
|
return JSON.parse(Buffer.from(cursor, "base64").toString("ascii"));
|
|
19
12
|
};
|
|
20
|
-
exports.decodeCursor = decodeCursor;
|
|
21
13
|
|
|
22
14
|
//# sourceMappingURL=cursor.js.map
|
package/utils/cursor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["encodeCursor","cursor","Buffer","from","JSON","stringify","toString","
|
|
1
|
+
{"version":3,"names":["encodeCursor","cursor","Buffer","from","JSON","stringify","toString","decodeCursor","parse"],"sources":["cursor.ts"],"sourcesContent":["export const encodeCursor = (cursor?: any): string | null => {\n if (!cursor) {\n return null;\n }\n\n return Buffer.from(JSON.stringify(cursor)).toString(\"base64\");\n};\n\nexport const decodeCursor = (cursor?: string | null): string | null => {\n if (!cursor) {\n return null;\n }\n\n return JSON.parse(Buffer.from(cursor, \"base64\").toString(\"ascii\"));\n};\n"],"mappings":"AAAA,OAAO,MAAMA,YAAY,GAAIC,MAAY,IAAoB;EACzD,IAAI,CAACA,MAAM,EAAE;IACT,OAAO,IAAI;EACf;EAEA,OAAOC,MAAM,CAACC,IAAI,CAACC,IAAI,CAACC,SAAS,CAACJ,MAAM,CAAC,CAAC,CAACK,QAAQ,CAAC,QAAQ,CAAC;AACjE,CAAC;AAED,OAAO,MAAMC,YAAY,GAAIN,MAAsB,IAAoB;EACnE,IAAI,CAACA,MAAM,EAAE;IACT,OAAO,IAAI;EACf;EAEA,OAAOG,IAAI,CAACI,KAAK,CAACN,MAAM,CAACC,IAAI,CAACF,MAAM,EAAE,QAAQ,CAAC,CAACK,QAAQ,CAAC,OAAO,CAAC,CAAC;AACtE,CAAC","ignoreList":[]}
|
package/utils/delete.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Entity } from "../toolbox";
|
|
2
|
-
interface
|
|
1
|
+
import type { Entity } from "../toolbox.js";
|
|
2
|
+
export interface IDeleteItemKeys {
|
|
3
|
+
PK: string;
|
|
4
|
+
SK: string;
|
|
5
|
+
}
|
|
6
|
+
export interface IDeleteItemParams {
|
|
3
7
|
entity: Entity;
|
|
4
|
-
keys:
|
|
5
|
-
PK: string;
|
|
6
|
-
SK: string;
|
|
7
|
-
};
|
|
8
|
+
keys: IDeleteItemKeys;
|
|
8
9
|
}
|
|
9
|
-
export declare const deleteItem: (params:
|
|
10
|
-
export {};
|
|
10
|
+
export declare const deleteItem: (params: IDeleteItemParams) => Promise<import("@aws-sdk/lib-dynamodb").DeleteCommandOutput>;
|
package/utils/delete.js
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.deleteItem = void 0;
|
|
7
|
-
const deleteItem = async params => {
|
|
1
|
+
export const deleteItem = async params => {
|
|
8
2
|
const {
|
|
9
3
|
entity,
|
|
10
4
|
keys
|
|
@@ -13,6 +7,5 @@ const deleteItem = async params => {
|
|
|
13
7
|
execute: true
|
|
14
8
|
});
|
|
15
9
|
};
|
|
16
|
-
exports.deleteItem = deleteItem;
|
|
17
10
|
|
|
18
11
|
//# sourceMappingURL=delete.js.map
|
package/utils/delete.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["deleteItem","params","entity","keys","delete","execute"
|
|
1
|
+
{"version":3,"names":["deleteItem","params","entity","keys","delete","execute"],"sources":["delete.ts"],"sourcesContent":["import type { Entity } from \"~/toolbox.js\";\nexport interface IDeleteItemKeys {\n PK: string;\n SK: string;\n}\nexport interface IDeleteItemParams {\n entity: Entity;\n keys: IDeleteItemKeys;\n}\n\nexport const deleteItem = async (params: IDeleteItemParams) => {\n const { entity, keys } = params;\n\n return await entity.delete(keys, {\n execute: true\n });\n};\n"],"mappings":"AAUA,OAAO,MAAMA,UAAU,GAAG,MAAOC,MAAyB,IAAK;EAC3D,MAAM;IAAEC,MAAM;IAAEC;EAAK,CAAC,GAAGF,MAAM;EAE/B,OAAO,MAAMC,MAAM,CAACE,MAAM,CAACD,IAAI,EAAE;IAC7BE,OAAO,EAAE;EACb,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AttributeDefinitions, EntityConstructor as BaseEntityConstructor, Readonly, TableDef } from "../../toolbox.js";
|
|
2
|
+
import { Entity as BaseEntity } from "../../toolbox.js";
|
|
3
|
+
import type { ITableWriteBatch } from "../table/types.js";
|
|
4
|
+
import type { IEntity, IEntityCreateEntityReaderParams, IEntityCreateEntityWriterParams, IEntityDeleteResult, IEntityGetCleanResult, IEntityGetResult, IEntityPutResult, IEntityQueryAllCleanResult, IEntityQueryAllParams, IEntityQueryAllResult, IEntityQueryOneCleanResult, IEntityQueryOneParams, IEntityQueryOneResult, IEntityQueryPerPageParams, IEntityReadBatch, IEntityWriteBatch } from "./types.js";
|
|
5
|
+
import type { IPutParamsItem } from "../put.js";
|
|
6
|
+
import type { GetRecordParamsKeys } from "../get.js";
|
|
7
|
+
import type { IDeleteItemKeys } from "../delete.js";
|
|
8
|
+
import type { GenericRecord } from "@webiny/api/types.js";
|
|
9
|
+
export type EntityConstructor<T extends Readonly<AttributeDefinitions> = Readonly<AttributeDefinitions>> = BaseEntityConstructor<TableDef, string, true, true, true, "created", "modified", "entity", false, T>;
|
|
10
|
+
export declare class Entity<T extends GenericRecord = GenericRecord> implements IEntity<T> {
|
|
11
|
+
readonly entity: BaseEntity;
|
|
12
|
+
get name(): string;
|
|
13
|
+
get table(): TableDef;
|
|
14
|
+
constructor(params: EntityConstructor);
|
|
15
|
+
createEntityReader(params?: IEntityCreateEntityReaderParams): IEntityReadBatch<T>;
|
|
16
|
+
createEntityWriter(params?: IEntityCreateEntityWriterParams): IEntityWriteBatch<T>;
|
|
17
|
+
createTableWriter(): ITableWriteBatch;
|
|
18
|
+
put<T extends GenericRecord = GenericRecord>(item: IPutParamsItem<T>): IEntityPutResult;
|
|
19
|
+
get<T>(keys: GetRecordParamsKeys): IEntityGetResult<T>;
|
|
20
|
+
getClean<T>(keys: GetRecordParamsKeys): IEntityGetCleanResult<T>;
|
|
21
|
+
delete(keys: IDeleteItemKeys): IEntityDeleteResult;
|
|
22
|
+
queryOne<T>(params: IEntityQueryOneParams): IEntityQueryOneResult<T>;
|
|
23
|
+
queryOneClean<T>(params: IEntityQueryOneParams): IEntityQueryOneCleanResult<T>;
|
|
24
|
+
queryAll<T>(params: IEntityQueryAllParams): IEntityQueryAllResult<T>;
|
|
25
|
+
queryAllClean<T>(params: IEntityQueryAllParams): IEntityQueryAllCleanResult<T>;
|
|
26
|
+
queryPerPage<T>(params: IEntityQueryPerPageParams): Promise<import("../query.js").IQueryPageResponse<T>>;
|
|
27
|
+
}
|
|
28
|
+
export declare const createEntity: <T extends GenericRecord = GenericRecord>(params: EntityConstructor) => IEntity<T>;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Entity as BaseEntity } from "../../toolbox.js";
|
|
2
|
+
import { put } from "../put.js";
|
|
3
|
+
import { get, getClean } from "../get.js";
|
|
4
|
+
import { deleteItem } from "../delete.js";
|
|
5
|
+
import { createEntityReadBatch } from "./EntityReadBatch.js";
|
|
6
|
+
import { createEntityWriteBatch } from "./EntityWriteBatch.js";
|
|
7
|
+
import { createTableWriteBatch } from "../table/TableWriteBatch.js";
|
|
8
|
+
import { queryAll, queryAllClean, queryOne, queryOneClean, queryPerPage } from "../query.js";
|
|
9
|
+
export class Entity {
|
|
10
|
+
get name() {
|
|
11
|
+
return this.entity.name;
|
|
12
|
+
}
|
|
13
|
+
get table() {
|
|
14
|
+
/**
|
|
15
|
+
* Not possible to be undefined.
|
|
16
|
+
*/
|
|
17
|
+
return this.entity.table;
|
|
18
|
+
}
|
|
19
|
+
constructor(params) {
|
|
20
|
+
this.entity = new BaseEntity(params);
|
|
21
|
+
}
|
|
22
|
+
createEntityReader(params) {
|
|
23
|
+
return createEntityReadBatch({
|
|
24
|
+
entity: this.entity,
|
|
25
|
+
read: params?.read
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
createEntityWriter(params) {
|
|
29
|
+
return createEntityWriteBatch({
|
|
30
|
+
entity: this.entity,
|
|
31
|
+
put: params?.put,
|
|
32
|
+
delete: params?.delete
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
createTableWriter() {
|
|
36
|
+
return createTableWriteBatch({
|
|
37
|
+
table: this.entity.table
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
async put(item) {
|
|
41
|
+
return put({
|
|
42
|
+
entity: this.entity,
|
|
43
|
+
item
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
async get(keys) {
|
|
47
|
+
return get({
|
|
48
|
+
entity: this.entity,
|
|
49
|
+
keys
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
async getClean(keys) {
|
|
53
|
+
return getClean({
|
|
54
|
+
entity: this.entity,
|
|
55
|
+
keys
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
async delete(keys) {
|
|
59
|
+
return deleteItem({
|
|
60
|
+
entity: this.entity,
|
|
61
|
+
keys
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
async queryOne(params) {
|
|
65
|
+
return queryOne({
|
|
66
|
+
...params,
|
|
67
|
+
entity: this.entity
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
async queryOneClean(params) {
|
|
71
|
+
return queryOneClean({
|
|
72
|
+
...params,
|
|
73
|
+
entity: this.entity
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
async queryAll(params) {
|
|
77
|
+
return queryAll({
|
|
78
|
+
...params,
|
|
79
|
+
entity: this.entity
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
async queryAllClean(params) {
|
|
83
|
+
return queryAllClean({
|
|
84
|
+
...params,
|
|
85
|
+
entity: this.entity
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
async queryPerPage(params) {
|
|
89
|
+
return queryPerPage({
|
|
90
|
+
...params,
|
|
91
|
+
entity: this.entity
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
export const createEntity = params => {
|
|
96
|
+
return new Entity(params);
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
//# sourceMappingURL=Entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Entity","BaseEntity","put","get","getClean","deleteItem","createEntityReadBatch","createEntityWriteBatch","createTableWriteBatch","queryAll","queryAllClean","queryOne","queryOneClean","queryPerPage","name","entity","table","constructor","params","createEntityReader","read","createEntityWriter","delete","createTableWriter","item","keys","createEntity"],"sources":["Entity.ts"],"sourcesContent":["import type {\n AttributeDefinitions,\n EntityConstructor as BaseEntityConstructor,\n Readonly,\n TableDef\n} from \"~/toolbox.js\";\nimport { Entity as BaseEntity } from \"~/toolbox.js\";\nimport type { ITableWriteBatch } from \"../table/types.js\";\nimport type {\n IEntity,\n IEntityCreateEntityReaderParams,\n IEntityCreateEntityWriterParams,\n IEntityDeleteResult,\n IEntityGetCleanResult,\n IEntityGetResult,\n IEntityPutResult,\n IEntityQueryAllCleanResult,\n IEntityQueryAllParams,\n IEntityQueryAllResult,\n IEntityQueryOneCleanResult,\n IEntityQueryOneParams,\n IEntityQueryOneResult,\n IEntityQueryPerPageParams,\n IEntityReadBatch,\n IEntityWriteBatch\n} from \"./types.js\";\nimport type { IPutParamsItem } from \"../put.js\";\nimport { put } from \"../put.js\";\nimport type { GetRecordParamsKeys } from \"../get.js\";\nimport { get, getClean } from \"../get.js\";\nimport type { IDeleteItemKeys } from \"../delete.js\";\nimport { deleteItem } from \"../delete.js\";\nimport { createEntityReadBatch } from \"./EntityReadBatch.js\";\nimport { createEntityWriteBatch } from \"./EntityWriteBatch.js\";\nimport { createTableWriteBatch } from \"~/utils/table/TableWriteBatch.js\";\nimport { queryAll, queryAllClean, queryOne, queryOneClean, queryPerPage } from \"../query.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\nexport type EntityConstructor<\n T extends Readonly<AttributeDefinitions> = Readonly<AttributeDefinitions>\n> = BaseEntityConstructor<\n TableDef,\n string,\n true,\n true,\n true,\n \"created\",\n \"modified\",\n \"entity\",\n false,\n T\n>;\n\nexport class Entity<T extends GenericRecord = GenericRecord> implements IEntity<T> {\n public readonly entity: BaseEntity;\n\n public get name(): string {\n return this.entity.name;\n }\n\n public get table(): TableDef {\n /**\n * Not possible to be undefined.\n */\n return this.entity.table!;\n }\n\n public constructor(params: EntityConstructor) {\n this.entity = new BaseEntity(params);\n }\n\n public createEntityReader(params?: IEntityCreateEntityReaderParams): IEntityReadBatch<T> {\n return createEntityReadBatch({\n entity: this.entity,\n read: params?.read\n });\n }\n\n public createEntityWriter(params?: IEntityCreateEntityWriterParams): IEntityWriteBatch<T> {\n return createEntityWriteBatch({\n entity: this.entity,\n put: params?.put,\n delete: params?.delete\n });\n }\n\n public createTableWriter(): ITableWriteBatch {\n return createTableWriteBatch({\n table: this.entity.table as TableDef\n });\n }\n\n public async put<T extends GenericRecord = GenericRecord>(\n item: IPutParamsItem<T>\n ): IEntityPutResult {\n return put({\n entity: this.entity,\n item\n });\n }\n\n public async get<T>(keys: GetRecordParamsKeys): IEntityGetResult<T> {\n return get<T>({\n entity: this.entity,\n keys\n });\n }\n\n public async getClean<T>(keys: GetRecordParamsKeys): IEntityGetCleanResult<T> {\n return getClean<T>({\n entity: this.entity,\n keys\n });\n }\n\n public async delete(keys: IDeleteItemKeys): IEntityDeleteResult {\n return deleteItem({\n entity: this.entity,\n keys\n });\n }\n\n public async queryOne<T>(params: IEntityQueryOneParams): IEntityQueryOneResult<T> {\n return queryOne<T>({\n ...params,\n entity: this.entity\n });\n }\n\n public async queryOneClean<T>(params: IEntityQueryOneParams): IEntityQueryOneCleanResult<T> {\n return queryOneClean<T>({\n ...params,\n entity: this.entity\n });\n }\n\n public async queryAll<T>(params: IEntityQueryAllParams): IEntityQueryAllResult<T> {\n return queryAll<T>({\n ...params,\n entity: this.entity\n });\n }\n\n public async queryAllClean<T>(params: IEntityQueryAllParams): IEntityQueryAllCleanResult<T> {\n return queryAllClean<T>({\n ...params,\n entity: this.entity\n });\n }\n\n public async queryPerPage<T>(params: IEntityQueryPerPageParams) {\n return queryPerPage<T>({\n ...params,\n entity: this.entity\n });\n }\n}\n\nexport const createEntity = <T extends GenericRecord = GenericRecord>(\n params: EntityConstructor\n): IEntity<T> => {\n return new Entity<T>(params);\n};\n"],"mappings":"AAMA,SAASA,MAAM,IAAIC,UAAU;AAqB7B,SAASC,GAAG;AAEZ,SAASC,GAAG,EAAEC,QAAQ;AAEtB,SAASC,UAAU;AACnB,SAASC,qBAAqB;AAC9B,SAASC,sBAAsB;AAC/B,SAASC,qBAAqB;AAC9B,SAASC,QAAQ,EAAEC,aAAa,EAAEC,QAAQ,EAAEC,aAAa,EAAEC,YAAY;AAkBvE,OAAO,MAAMb,MAAM,CAAgE;EAG/E,IAAWc,IAAIA,CAAA,EAAW;IACtB,OAAO,IAAI,CAACC,MAAM,CAACD,IAAI;EAC3B;EAEA,IAAWE,KAAKA,CAAA,EAAa;IACzB;AACR;AACA;IACQ,OAAO,IAAI,CAACD,MAAM,CAACC,KAAK;EAC5B;EAEOC,WAAWA,CAACC,MAAyB,EAAE;IAC1C,IAAI,CAACH,MAAM,GAAG,IAAId,UAAU,CAACiB,MAAM,CAAC;EACxC;EAEOC,kBAAkBA,CAACD,MAAwC,EAAuB;IACrF,OAAOZ,qBAAqB,CAAC;MACzBS,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBK,IAAI,EAAEF,MAAM,EAAEE;IAClB,CAAC,CAAC;EACN;EAEOC,kBAAkBA,CAACH,MAAwC,EAAwB;IACtF,OAAOX,sBAAsB,CAAC;MAC1BQ,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBb,GAAG,EAAEgB,MAAM,EAAEhB,GAAG;MAChBoB,MAAM,EAAEJ,MAAM,EAAEI;IACpB,CAAC,CAAC;EACN;EAEOC,iBAAiBA,CAAA,EAAqB;IACzC,OAAOf,qBAAqB,CAAC;MACzBQ,KAAK,EAAE,IAAI,CAACD,MAAM,CAACC;IACvB,CAAC,CAAC;EACN;EAEA,MAAad,GAAGA,CACZsB,IAAuB,EACP;IAChB,OAAOtB,GAAG,CAAC;MACPa,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBS;IACJ,CAAC,CAAC;EACN;EAEA,MAAarB,GAAGA,CAAIsB,IAAyB,EAAuB;IAChE,OAAOtB,GAAG,CAAI;MACVY,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBU;IACJ,CAAC,CAAC;EACN;EAEA,MAAarB,QAAQA,CAAIqB,IAAyB,EAA4B;IAC1E,OAAOrB,QAAQ,CAAI;MACfW,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBU;IACJ,CAAC,CAAC;EACN;EAEA,MAAaH,MAAMA,CAACG,IAAqB,EAAuB;IAC5D,OAAOpB,UAAU,CAAC;MACdU,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBU;IACJ,CAAC,CAAC;EACN;EAEA,MAAad,QAAQA,CAAIO,MAA6B,EAA4B;IAC9E,OAAOP,QAAQ,CAAI;MACf,GAAGO,MAAM;MACTH,MAAM,EAAE,IAAI,CAACA;IACjB,CAAC,CAAC;EACN;EAEA,MAAaH,aAAaA,CAAIM,MAA6B,EAAiC;IACxF,OAAON,aAAa,CAAI;MACpB,GAAGM,MAAM;MACTH,MAAM,EAAE,IAAI,CAACA;IACjB,CAAC,CAAC;EACN;EAEA,MAAaN,QAAQA,CAAIS,MAA6B,EAA4B;IAC9E,OAAOT,QAAQ,CAAI;MACf,GAAGS,MAAM;MACTH,MAAM,EAAE,IAAI,CAACA;IACjB,CAAC,CAAC;EACN;EAEA,MAAaL,aAAaA,CAAIQ,MAA6B,EAAiC;IACxF,OAAOR,aAAa,CAAI;MACpB,GAAGQ,MAAM;MACTH,MAAM,EAAE,IAAI,CAACA;IACjB,CAAC,CAAC;EACN;EAEA,MAAaF,YAAYA,CAAIK,MAAiC,EAAE;IAC5D,OAAOL,YAAY,CAAI;MACnB,GAAGK,MAAM;MACTH,MAAM,EAAE,IAAI,CAACA;IACjB,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMW,YAAY,GACrBR,MAAyB,IACZ;EACb,OAAO,IAAIlB,MAAM,CAAIkB,MAAM,CAAC;AAChC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { IReadBatchItem } from "../../utils/batch/types.js";
|
|
2
|
+
import type { IEntityReadBatch, IEntityReadBatchBuilderGetResponse, IEntityReadBatchKey } from "./types.js";
|
|
3
|
+
import type { EntityOption } from "./getEntity.js";
|
|
4
|
+
export interface IEntityReadBatchParams {
|
|
5
|
+
entity: EntityOption;
|
|
6
|
+
read?: IReadBatchItem[];
|
|
7
|
+
}
|
|
8
|
+
export declare class EntityReadBatch<T> implements IEntityReadBatch<T> {
|
|
9
|
+
private readonly entity;
|
|
10
|
+
private readonly builder;
|
|
11
|
+
private readonly _items;
|
|
12
|
+
get total(): number;
|
|
13
|
+
get items(): IEntityReadBatchBuilderGetResponse[];
|
|
14
|
+
constructor(params: IEntityReadBatchParams);
|
|
15
|
+
get(input: IEntityReadBatchKey | IEntityReadBatchKey[]): void;
|
|
16
|
+
execute(): Promise<T[]>;
|
|
17
|
+
}
|
|
18
|
+
export declare const createEntityReadBatch: <T>(params: IEntityReadBatchParams) => IEntityReadBatch<T>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { batchReadAll } from "../batch/batchRead.js";
|
|
2
|
+
import { createEntityReadBatchBuilder } from "./EntityReadBatchBuilder.js";
|
|
3
|
+
import { getEntity } from "./getEntity.js";
|
|
4
|
+
export class EntityReadBatch {
|
|
5
|
+
_items = [];
|
|
6
|
+
get total() {
|
|
7
|
+
return this._items.length;
|
|
8
|
+
}
|
|
9
|
+
get items() {
|
|
10
|
+
return Array.from(this._items);
|
|
11
|
+
}
|
|
12
|
+
constructor(params) {
|
|
13
|
+
this.entity = getEntity(params.entity);
|
|
14
|
+
this.builder = createEntityReadBatchBuilder(this.entity);
|
|
15
|
+
for (const item of params.read || []) {
|
|
16
|
+
this.get(item);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
get(input) {
|
|
20
|
+
if (Array.isArray(input)) {
|
|
21
|
+
this._items.push(...input.map(item => {
|
|
22
|
+
return this.builder.get(item);
|
|
23
|
+
}));
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
this._items.push(this.builder.get(input));
|
|
27
|
+
}
|
|
28
|
+
async execute() {
|
|
29
|
+
return await batchReadAll({
|
|
30
|
+
table: this.entity.table,
|
|
31
|
+
items: this._items
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export const createEntityReadBatch = params => {
|
|
36
|
+
return new EntityReadBatch(params);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=EntityReadBatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["batchReadAll","createEntityReadBatchBuilder","getEntity","EntityReadBatch","_items","total","length","items","Array","from","constructor","params","entity","builder","item","read","get","input","isArray","push","map","execute","table","createEntityReadBatch"],"sources":["EntityReadBatch.ts"],"sourcesContent":["import type { IReadBatchItem } from \"~/utils/batch/types.js\";\nimport type {\n IEntityReadBatch,\n IEntityReadBatchBuilder,\n IEntityReadBatchBuilderGetResponse,\n IEntityReadBatchKey\n} from \"./types.js\";\nimport type { Entity as ToolboxEntity, TableDef } from \"~/toolbox.js\";\nimport { batchReadAll } from \"~/utils/batch/batchRead.js\";\nimport { createEntityReadBatchBuilder } from \"./EntityReadBatchBuilder.js\";\nimport type { EntityOption } from \"./getEntity.js\";\nimport { getEntity } from \"./getEntity.js\";\n\nexport interface IEntityReadBatchParams {\n entity: EntityOption;\n read?: IReadBatchItem[];\n}\n\nexport class EntityReadBatch<T> implements IEntityReadBatch<T> {\n private readonly entity: ToolboxEntity;\n private readonly builder: IEntityReadBatchBuilder;\n private readonly _items: IEntityReadBatchBuilderGetResponse[] = [];\n\n public get total(): number {\n return this._items.length;\n }\n\n public get items(): IEntityReadBatchBuilderGetResponse[] {\n return Array.from(this._items);\n }\n\n public constructor(params: IEntityReadBatchParams) {\n this.entity = getEntity(params.entity);\n this.builder = createEntityReadBatchBuilder(this.entity);\n for (const item of params.read || []) {\n this.get(item);\n }\n }\n\n public get(input: IEntityReadBatchKey | IEntityReadBatchKey[]): void {\n if (Array.isArray(input)) {\n this._items.push(\n ...input.map(item => {\n return this.builder.get(item);\n })\n );\n return;\n }\n this._items.push(this.builder.get(input));\n }\n\n public async execute() {\n return await batchReadAll<T>({\n table: this.entity.table as TableDef,\n items: this._items\n });\n }\n}\n\nexport const createEntityReadBatch = <T>(params: IEntityReadBatchParams): IEntityReadBatch<T> => {\n return new EntityReadBatch<T>(params);\n};\n"],"mappings":"AAQA,SAASA,YAAY;AACrB,SAASC,4BAA4B;AAErC,SAASC,SAAS;AAOlB,OAAO,MAAMC,eAAe,CAAmC;EAG1CC,MAAM,GAAyC,EAAE;EAElE,IAAWC,KAAKA,CAAA,EAAW;IACvB,OAAO,IAAI,CAACD,MAAM,CAACE,MAAM;EAC7B;EAEA,IAAWC,KAAKA,CAAA,EAAyC;IACrD,OAAOC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACL,MAAM,CAAC;EAClC;EAEOM,WAAWA,CAACC,MAA8B,EAAE;IAC/C,IAAI,CAACC,MAAM,GAAGV,SAAS,CAACS,MAAM,CAACC,MAAM,CAAC;IACtC,IAAI,CAACC,OAAO,GAAGZ,4BAA4B,CAAC,IAAI,CAACW,MAAM,CAAC;IACxD,KAAK,MAAME,IAAI,IAAIH,MAAM,CAACI,IAAI,IAAI,EAAE,EAAE;MAClC,IAAI,CAACC,GAAG,CAACF,IAAI,CAAC;IAClB;EACJ;EAEOE,GAAGA,CAACC,KAAkD,EAAQ;IACjE,IAAIT,KAAK,CAACU,OAAO,CAACD,KAAK,CAAC,EAAE;MACtB,IAAI,CAACb,MAAM,CAACe,IAAI,CACZ,GAAGF,KAAK,CAACG,GAAG,CAACN,IAAI,IAAI;QACjB,OAAO,IAAI,CAACD,OAAO,CAACG,GAAG,CAACF,IAAI,CAAC;MACjC,CAAC,CACL,CAAC;MACD;IACJ;IACA,IAAI,CAACV,MAAM,CAACe,IAAI,CAAC,IAAI,CAACN,OAAO,CAACG,GAAG,CAACC,KAAK,CAAC,CAAC;EAC7C;EAEA,MAAaI,OAAOA,CAAA,EAAG;IACnB,OAAO,MAAMrB,YAAY,CAAI;MACzBsB,KAAK,EAAE,IAAI,CAACV,MAAM,CAACU,KAAiB;MACpCf,KAAK,EAAE,IAAI,CAACH;IAChB,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMmB,qBAAqB,GAAOZ,MAA8B,IAA0B;EAC7F,OAAO,IAAIR,eAAe,CAAIQ,MAAM,CAAC;AACzC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Entity as ToolboxEntity } from "../../toolbox.js";
|
|
2
|
+
import type { IEntityReadBatchBuilder, IEntityReadBatchBuilderGetResponse, IEntityReadBatchKey } from "./types.js";
|
|
3
|
+
import type { Entity } from "./Entity.js";
|
|
4
|
+
import type { EntityOption } from "./getEntity.js";
|
|
5
|
+
export declare class EntityReadBatchBuilder implements IEntityReadBatchBuilder {
|
|
6
|
+
private readonly entity;
|
|
7
|
+
constructor(entity: EntityOption);
|
|
8
|
+
get(item: IEntityReadBatchKey): IEntityReadBatchBuilderGetResponse;
|
|
9
|
+
}
|
|
10
|
+
export declare const createEntityReadBatchBuilder: (entity: ToolboxEntity | Entity) => IEntityReadBatchBuilder;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { WebinyError } from "@webiny/error";
|
|
2
|
+
import { getEntity } from "./getEntity.js";
|
|
3
|
+
export class EntityReadBatchBuilder {
|
|
4
|
+
constructor(entity) {
|
|
5
|
+
this.entity = getEntity(entity);
|
|
6
|
+
}
|
|
7
|
+
get(item) {
|
|
8
|
+
const result = this.entity.getBatch(item);
|
|
9
|
+
if (!result.Table) {
|
|
10
|
+
throw new WebinyError(`No table provided for entity ${this.entity.name}.`);
|
|
11
|
+
} else if (!result.Key) {
|
|
12
|
+
throw new WebinyError(`No key provided for entity ${this.entity.name}.`);
|
|
13
|
+
}
|
|
14
|
+
return result;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export const createEntityReadBatchBuilder = entity => {
|
|
18
|
+
return new EntityReadBatchBuilder(entity);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=EntityReadBatchBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["WebinyError","getEntity","EntityReadBatchBuilder","constructor","entity","get","item","result","getBatch","Table","name","Key","createEntityReadBatchBuilder"],"sources":["EntityReadBatchBuilder.ts"],"sourcesContent":["import type { Entity as ToolboxEntity } from \"~/toolbox.js\";\nimport type {\n IEntityReadBatchBuilder,\n IEntityReadBatchBuilderGetResponse,\n IEntityReadBatchKey\n} from \"./types.js\";\nimport { WebinyError } from \"@webiny/error\";\nimport type { Entity } from \"./Entity.js\";\nimport type { EntityOption } from \"./getEntity.js\";\nimport { getEntity } from \"./getEntity.js\";\n\nexport class EntityReadBatchBuilder implements IEntityReadBatchBuilder {\n private readonly entity: ToolboxEntity;\n\n public constructor(entity: EntityOption) {\n this.entity = getEntity(entity);\n }\n\n public get(item: IEntityReadBatchKey): IEntityReadBatchBuilderGetResponse {\n const result = this.entity.getBatch(item);\n if (!result.Table) {\n throw new WebinyError(`No table provided for entity ${this.entity.name}.`);\n } else if (!result.Key) {\n throw new WebinyError(`No key provided for entity ${this.entity.name}.`);\n }\n return result as unknown as IEntityReadBatchBuilderGetResponse;\n }\n}\n\nexport const createEntityReadBatchBuilder = (\n entity: ToolboxEntity | Entity\n): IEntityReadBatchBuilder => {\n return new EntityReadBatchBuilder(entity);\n};\n"],"mappings":"AAMA,SAASA,WAAW,QAAQ,eAAe;AAG3C,SAASC,SAAS;AAElB,OAAO,MAAMC,sBAAsB,CAAoC;EAG5DC,WAAWA,CAACC,MAAoB,EAAE;IACrC,IAAI,CAACA,MAAM,GAAGH,SAAS,CAACG,MAAM,CAAC;EACnC;EAEOC,GAAGA,CAACC,IAAyB,EAAsC;IACtE,MAAMC,MAAM,GAAG,IAAI,CAACH,MAAM,CAACI,QAAQ,CAACF,IAAI,CAAC;IACzC,IAAI,CAACC,MAAM,CAACE,KAAK,EAAE;MACf,MAAM,IAAIT,WAAW,CAAC,gCAAgC,IAAI,CAACI,MAAM,CAACM,IAAI,GAAG,CAAC;IAC9E,CAAC,MAAM,IAAI,CAACH,MAAM,CAACI,GAAG,EAAE;MACpB,MAAM,IAAIX,WAAW,CAAC,8BAA8B,IAAI,CAACI,MAAM,CAACM,IAAI,GAAG,CAAC;IAC5E;IACA,OAAOH,MAAM;EACjB;AACJ;AAEA,OAAO,MAAMK,4BAA4B,GACrCR,MAA8B,IACJ;EAC1B,OAAO,IAAIF,sBAAsB,CAACE,MAAM,CAAC;AAC7C,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { BatchWriteItem, BatchWriteResult, IDeleteBatchItem, IPutBatchItem } from "../../utils/batch/types.js";
|
|
2
|
+
import type { IEntityWriteBatch } from "./types.js";
|
|
3
|
+
import type { ITableWriteBatch } from "../../utils/table/types.js";
|
|
4
|
+
import type { EntityOption } from "./getEntity.js";
|
|
5
|
+
import type { GenericRecord } from "@webiny/api/types.js";
|
|
6
|
+
export interface IEntityWriteBatchParams<T = GenericRecord> {
|
|
7
|
+
entity: EntityOption;
|
|
8
|
+
put?: IPutBatchItem<T>[];
|
|
9
|
+
delete?: IDeleteBatchItem[];
|
|
10
|
+
}
|
|
11
|
+
export declare class EntityWriteBatch<T> implements IEntityWriteBatch<T> {
|
|
12
|
+
private readonly entity;
|
|
13
|
+
private readonly _items;
|
|
14
|
+
private readonly builder;
|
|
15
|
+
get total(): number;
|
|
16
|
+
get items(): BatchWriteItem[];
|
|
17
|
+
constructor(params: IEntityWriteBatchParams);
|
|
18
|
+
put(item: IPutBatchItem<T>): void;
|
|
19
|
+
delete(item: IDeleteBatchItem): void;
|
|
20
|
+
combine(items: BatchWriteItem[]): ITableWriteBatch;
|
|
21
|
+
execute(): Promise<BatchWriteResult>;
|
|
22
|
+
}
|
|
23
|
+
export declare const createEntityWriteBatch: (params: IEntityWriteBatchParams) => IEntityWriteBatch;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { batchWriteAll } from "../batch/batchWrite.js";
|
|
2
|
+
import { createTableWriteBatch } from "../table/TableWriteBatch.js";
|
|
3
|
+
import { createEntityWriteBatchBuilder } from "./EntityWriteBatchBuilder.js";
|
|
4
|
+
import { getEntity } from "./getEntity.js";
|
|
5
|
+
export class EntityWriteBatch {
|
|
6
|
+
_items = [];
|
|
7
|
+
get total() {
|
|
8
|
+
return this._items.length;
|
|
9
|
+
}
|
|
10
|
+
get items() {
|
|
11
|
+
return Array.from(this._items);
|
|
12
|
+
}
|
|
13
|
+
constructor(params) {
|
|
14
|
+
this.entity = getEntity(params.entity);
|
|
15
|
+
this.builder = createEntityWriteBatchBuilder(this.entity);
|
|
16
|
+
for (const item of params.put || []) {
|
|
17
|
+
this.put(item);
|
|
18
|
+
}
|
|
19
|
+
for (const item of params.delete || []) {
|
|
20
|
+
this.delete(item);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
put(item) {
|
|
24
|
+
this._items.push(this.builder.put(item));
|
|
25
|
+
}
|
|
26
|
+
delete(item) {
|
|
27
|
+
this._items.push(this.builder.delete(item));
|
|
28
|
+
}
|
|
29
|
+
combine(items) {
|
|
30
|
+
return createTableWriteBatch({
|
|
31
|
+
table: this.entity.table,
|
|
32
|
+
items: this._items.concat(items)
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async execute() {
|
|
36
|
+
if (this._items.length === 0) {
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
const items = Array.from(this._items);
|
|
40
|
+
this._items.length = 0;
|
|
41
|
+
return await batchWriteAll({
|
|
42
|
+
items,
|
|
43
|
+
table: this.entity.table
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export const createEntityWriteBatch = params => {
|
|
48
|
+
return new EntityWriteBatch(params);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=EntityWriteBatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["batchWriteAll","createTableWriteBatch","createEntityWriteBatchBuilder","getEntity","EntityWriteBatch","_items","total","length","items","Array","from","constructor","params","entity","builder","item","put","delete","push","combine","table","concat","execute","createEntityWriteBatch"],"sources":["EntityWriteBatch.ts"],"sourcesContent":["import type { Entity as ToolboxEntity, TableDef } from \"~/toolbox.js\";\nimport { batchWriteAll } from \"~/utils/batch/batchWrite.js\";\nimport type {\n BatchWriteItem,\n BatchWriteResult,\n IDeleteBatchItem,\n IPutBatchItem\n} from \"~/utils/batch/types.js\";\nimport type { IEntityWriteBatch, IEntityWriteBatchBuilder } from \"./types.js\";\nimport type { ITableWriteBatch } from \"~/utils/table/types.js\";\nimport { createTableWriteBatch } from \"~/utils/table/TableWriteBatch.js\";\nimport { createEntityWriteBatchBuilder } from \"./EntityWriteBatchBuilder.js\";\nimport type { EntityOption } from \"./getEntity.js\";\nimport { getEntity } from \"./getEntity.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\nexport interface IEntityWriteBatchParams<T = GenericRecord> {\n entity: EntityOption;\n put?: IPutBatchItem<T>[];\n delete?: IDeleteBatchItem[];\n}\n\nexport class EntityWriteBatch<T> implements IEntityWriteBatch<T> {\n private readonly entity: ToolboxEntity;\n private readonly _items: BatchWriteItem[] = [];\n private readonly builder: IEntityWriteBatchBuilder;\n\n public get total(): number {\n return this._items.length;\n }\n\n public get items(): BatchWriteItem[] {\n return Array.from(this._items);\n }\n\n public constructor(params: IEntityWriteBatchParams) {\n this.entity = getEntity(params.entity);\n this.builder = createEntityWriteBatchBuilder(this.entity);\n for (const item of params.put || []) {\n this.put(item);\n }\n for (const item of params.delete || []) {\n this.delete(item);\n }\n }\n\n public put(item: IPutBatchItem<T>): void {\n this._items.push(this.builder.put(item));\n }\n\n public delete(item: IDeleteBatchItem): void {\n this._items.push(this.builder.delete(item));\n }\n\n public combine(items: BatchWriteItem[]): ITableWriteBatch {\n return createTableWriteBatch({\n table: this.entity!.table as TableDef,\n items: this._items.concat(items)\n });\n }\n\n public async execute(): Promise<BatchWriteResult> {\n if (this._items.length === 0) {\n return [];\n }\n const items = Array.from(this._items);\n this._items.length = 0;\n return await batchWriteAll({\n items,\n table: this.entity.table\n });\n }\n}\n\nexport const createEntityWriteBatch = (params: IEntityWriteBatchParams): IEntityWriteBatch => {\n return new EntityWriteBatch(params);\n};\n"],"mappings":"AACA,SAASA,aAAa;AAStB,SAASC,qBAAqB;AAC9B,SAASC,6BAA6B;AAEtC,SAASC,SAAS;AASlB,OAAO,MAAMC,gBAAgB,CAAoC;EAE5CC,MAAM,GAAqB,EAAE;EAG9C,IAAWC,KAAKA,CAAA,EAAW;IACvB,OAAO,IAAI,CAACD,MAAM,CAACE,MAAM;EAC7B;EAEA,IAAWC,KAAKA,CAAA,EAAqB;IACjC,OAAOC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACL,MAAM,CAAC;EAClC;EAEOM,WAAWA,CAACC,MAA+B,EAAE;IAChD,IAAI,CAACC,MAAM,GAAGV,SAAS,CAACS,MAAM,CAACC,MAAM,CAAC;IACtC,IAAI,CAACC,OAAO,GAAGZ,6BAA6B,CAAC,IAAI,CAACW,MAAM,CAAC;IACzD,KAAK,MAAME,IAAI,IAAIH,MAAM,CAACI,GAAG,IAAI,EAAE,EAAE;MACjC,IAAI,CAACA,GAAG,CAACD,IAAI,CAAC;IAClB;IACA,KAAK,MAAMA,IAAI,IAAIH,MAAM,CAACK,MAAM,IAAI,EAAE,EAAE;MACpC,IAAI,CAACA,MAAM,CAACF,IAAI,CAAC;IACrB;EACJ;EAEOC,GAAGA,CAACD,IAAsB,EAAQ;IACrC,IAAI,CAACV,MAAM,CAACa,IAAI,CAAC,IAAI,CAACJ,OAAO,CAACE,GAAG,CAACD,IAAI,CAAC,CAAC;EAC5C;EAEOE,MAAMA,CAACF,IAAsB,EAAQ;IACxC,IAAI,CAACV,MAAM,CAACa,IAAI,CAAC,IAAI,CAACJ,OAAO,CAACG,MAAM,CAACF,IAAI,CAAC,CAAC;EAC/C;EAEOI,OAAOA,CAACX,KAAuB,EAAoB;IACtD,OAAOP,qBAAqB,CAAC;MACzBmB,KAAK,EAAE,IAAI,CAACP,MAAM,CAAEO,KAAiB;MACrCZ,KAAK,EAAE,IAAI,CAACH,MAAM,CAACgB,MAAM,CAACb,KAAK;IACnC,CAAC,CAAC;EACN;EAEA,MAAac,OAAOA,CAAA,EAA8B;IAC9C,IAAI,IAAI,CAACjB,MAAM,CAACE,MAAM,KAAK,CAAC,EAAE;MAC1B,OAAO,EAAE;IACb;IACA,MAAMC,KAAK,GAAGC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACL,MAAM,CAAC;IACrC,IAAI,CAACA,MAAM,CAACE,MAAM,GAAG,CAAC;IACtB,OAAO,MAAMP,aAAa,CAAC;MACvBQ,KAAK;MACLY,KAAK,EAAE,IAAI,CAACP,MAAM,CAACO;IACvB,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMG,sBAAsB,GAAIX,MAA+B,IAAwB;EAC1F,OAAO,IAAIR,gBAAgB,CAACQ,MAAM,CAAC;AACvC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Entity } from "../../toolbox.js";
|
|
2
|
+
import type { BatchWriteItem, IDeleteBatchItem, IPutBatchItem } from "../../utils/batch/types.js";
|
|
3
|
+
import type { IEntityWriteBatchBuilder } from "./types.js";
|
|
4
|
+
import type { EntityOption } from "./getEntity.js";
|
|
5
|
+
export declare class EntityWriteBatchBuilder implements IEntityWriteBatchBuilder {
|
|
6
|
+
private readonly entity;
|
|
7
|
+
constructor(entity: EntityOption);
|
|
8
|
+
put<T extends Record<string, any>>(item: IPutBatchItem<T>): BatchWriteItem;
|
|
9
|
+
delete(item: IDeleteBatchItem): BatchWriteItem;
|
|
10
|
+
}
|
|
11
|
+
export declare const createEntityWriteBatchBuilder: (entity: Entity) => IEntityWriteBatchBuilder;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { getEntity } from "./getEntity.js";
|
|
2
|
+
export class EntityWriteBatchBuilder {
|
|
3
|
+
constructor(entity) {
|
|
4
|
+
this.entity = getEntity(entity);
|
|
5
|
+
}
|
|
6
|
+
put(item) {
|
|
7
|
+
return this.entity.putBatch(item, {
|
|
8
|
+
execute: true,
|
|
9
|
+
strictSchemaCheck: false
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
delete(item) {
|
|
13
|
+
return this.entity.deleteBatch(item);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export const createEntityWriteBatchBuilder = entity => {
|
|
17
|
+
return new EntityWriteBatchBuilder(entity);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=EntityWriteBatchBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getEntity","EntityWriteBatchBuilder","constructor","entity","put","item","putBatch","execute","strictSchemaCheck","delete","deleteBatch","createEntityWriteBatchBuilder"],"sources":["EntityWriteBatchBuilder.ts"],"sourcesContent":["import type { Entity } from \"~/toolbox.js\";\nimport type { BatchWriteItem, IDeleteBatchItem, IPutBatchItem } from \"~/utils/batch/types.js\";\nimport type { IEntityWriteBatchBuilder } from \"./types.js\";\nimport type { EntityOption } from \"./getEntity.js\";\nimport { getEntity } from \"./getEntity.js\";\n\nexport class EntityWriteBatchBuilder implements IEntityWriteBatchBuilder {\n private readonly entity: Entity;\n\n public constructor(entity: EntityOption) {\n this.entity = getEntity(entity);\n }\n\n public put<T extends Record<string, any>>(item: IPutBatchItem<T>): BatchWriteItem {\n return this.entity.putBatch(item, {\n execute: true,\n strictSchemaCheck: false\n });\n }\n\n public delete(item: IDeleteBatchItem): BatchWriteItem {\n return this.entity.deleteBatch(item);\n }\n}\n\nexport const createEntityWriteBatchBuilder = (entity: Entity): IEntityWriteBatchBuilder => {\n return new EntityWriteBatchBuilder(entity);\n};\n"],"mappings":"AAIA,SAASA,SAAS;AAElB,OAAO,MAAMC,uBAAuB,CAAqC;EAG9DC,WAAWA,CAACC,MAAoB,EAAE;IACrC,IAAI,CAACA,MAAM,GAAGH,SAAS,CAACG,MAAM,CAAC;EACnC;EAEOC,GAAGA,CAAgCC,IAAsB,EAAkB;IAC9E,OAAO,IAAI,CAACF,MAAM,CAACG,QAAQ,CAACD,IAAI,EAAE;MAC9BE,OAAO,EAAE,IAAI;MACbC,iBAAiB,EAAE;IACvB,CAAC,CAAC;EACN;EAEOC,MAAMA,CAACJ,IAAsB,EAAkB;IAClD,OAAO,IAAI,CAACF,MAAM,CAACO,WAAW,CAACL,IAAI,CAAC;EACxC;AACJ;AAEA,OAAO,MAAMM,6BAA6B,GAAIR,MAAc,IAA+B;EACvF,OAAO,IAAIF,uBAAuB,CAACE,MAAM,CAAC;AAC9C,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Entity as ToolboxEntity } from "../../toolbox.js";
|
|
2
|
+
export const getEntity = entity => {
|
|
3
|
+
const result = entity instanceof ToolboxEntity ? entity : entity.entity;
|
|
4
|
+
if (!result.name) {
|
|
5
|
+
throw new Error(`No name provided for entity.`);
|
|
6
|
+
} else if (!result.table) {
|
|
7
|
+
throw new Error(`No table provided for entity ${result.name}.`);
|
|
8
|
+
}
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=getEntity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Entity","ToolboxEntity","getEntity","entity","result","name","Error","table"],"sources":["getEntity.ts"],"sourcesContent":["import { Entity as ToolboxEntity } from \"~/toolbox.js\";\nimport type { Entity } from \"./Entity.js\";\n\nexport type EntityOption = ToolboxEntity | Entity;\n\nexport const getEntity = (entity: EntityOption): ToolboxEntity => {\n const result = entity instanceof ToolboxEntity ? entity : entity.entity;\n if (!result.name) {\n throw new Error(`No name provided for entity.`);\n } else if (!result.table) {\n throw new Error(`No table provided for entity ${result.name}.`);\n }\n return result;\n};\n"],"mappings":"AAAA,SAASA,MAAM,IAAIC,aAAa;AAKhC,OAAO,MAAMC,SAAS,GAAIC,MAAoB,IAAoB;EAC9D,MAAMC,MAAM,GAAGD,MAAM,YAAYF,aAAa,GAAGE,MAAM,GAAGA,MAAM,CAACA,MAAM;EACvE,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;IACd,MAAM,IAAIC,KAAK,CAAC,8BAA8B,CAAC;EACnD,CAAC,MAAM,IAAI,CAACF,MAAM,CAACG,KAAK,EAAE;IACtB,MAAM,IAAID,KAAK,CAAC,gCAAgCF,MAAM,CAACC,IAAI,GAAG,CAAC;EACnE;EACA,OAAOD,MAAM;AACjB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./Entity.js";
|
|
2
|
+
export * from "./EntityReadBatch.js";
|
|
3
|
+
export * from "./EntityReadBatchBuilder.js";
|
|
4
|
+
export * from "./EntityWriteBatch.js";
|
|
5
|
+
export * from "./EntityWriteBatchBuilder.js";
|
|
6
|
+
export * from "./getEntity.js";
|
|
7
|
+
export * from "./types.js";
|