@squiz/db-lib 1.71.3 → 1.72.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/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Change Log
2
2
 
3
+ ## 1.72.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 464fd13: add dynamodb support management api
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [464fd13]
12
+ - @squiz/dx-common-lib@1.69.0
13
+
3
14
  ## 1.71.3
4
15
 
5
16
  ### Patch Changes
@@ -1,12 +1,23 @@
1
1
  import { DynamoDBDocument } from '@aws-sdk/lib-dynamodb';
2
2
  import { Transaction, DynamoDbManager } from '..';
3
+ export type QueryFilterTypeBeginsWith = {
4
+ type: 'begins_with';
5
+ keyword: string;
6
+ };
7
+ export type QueryOptions = {
8
+ useSortKey?: boolean;
9
+ index?: keyof TableIndexes;
10
+ limit?: number;
11
+ order?: 'desc' | 'asc';
12
+ filter?: QueryFilterTypeBeginsWith;
13
+ };
3
14
  interface Reader<T> {
4
- queryItems(partialItem: Partial<T>, useSortKey?: boolean, index?: keyof TableIndexes): Promise<T[]>;
15
+ queryItems(partialItem: Partial<T>, options?: QueryOptions): Promise<T[]>;
5
16
  getItem(id: string | Partial<T>): Promise<T | undefined>;
6
17
  }
7
18
  interface Writer<T> {
8
19
  createItem(item: Partial<T>): Promise<T>;
9
- updateItem(partialItem: Partial<T>, newValue: Partial<T>): Promise<T | undefined>;
20
+ updateItem(partialItem: Partial<T>): Promise<T | undefined>;
10
21
  deleteItem(partialItem: Partial<T>): Promise<number>;
11
22
  }
12
23
  type Repository<T> = Reader<T> & Writer<T>;
@@ -54,38 +65,61 @@ export declare abstract class AbstractDynamoDbRepository<SHAPE extends object, D
54
65
  * @throws MissingKeyValuesError
55
66
  */
56
67
  getItem(item: Partial<SHAPE>): Promise<DATA_CLASS | undefined>;
68
+ /**
69
+ * Get the single item each matching the key fields value in the given
70
+ * partial items. Will throw MissingKeyValuesError if key field values
71
+ * are missing
72
+ * Uses batchGet() to request 100 items in a batch
73
+ *
74
+ * @param item
75
+ *
76
+ * @throws MissingKeyValuesError
77
+ */
78
+ getItems(items: Partial<SHAPE>[]): Promise<DATA_CLASS[]>;
79
+ /**
80
+ * Returns the batch items from the items primary key
81
+ *
82
+ * @param items
83
+ * @returns
84
+ */
85
+ private getBatchItems;
57
86
  /**
58
87
  * Finds all the items matching the partition key or
59
88
  * the gsi key (when gsi index name is specified)
60
89
  *
61
90
  * @param item
62
- * @param useSortKey
63
- * @param index
91
+ * @param options
64
92
  * @throws MissingKeyValuesError
65
93
  */
66
- queryItems(item: Partial<SHAPE>, useSortKey?: boolean, index?: keyof TableIndexes): Promise<DATA_CLASS[]>;
94
+ queryItems(item: Partial<SHAPE>, options?: QueryOptions): Promise<DATA_CLASS[]>;
95
+ /**
96
+ * Evaluate filter condition for sort key
97
+ * @param filter
98
+ * @returns string
99
+ */
100
+ private getFilterKeyConditionExpression;
67
101
  /**
68
102
  * Update the existing item matching the key fields value
69
- * in the passed in partialItem
70
- * @param partialItem
103
+ * in the passed newValue
71
104
  * @param newValue
72
105
  * @param transaction
73
106
  *
74
107
  * @returns Promise<SHAPE | undefined>
75
108
  * @throws MissingKeyValuesError
76
109
  */
77
- updateItem(partialItem: Partial<SHAPE>, newValue: Exclude<Partial<SHAPE>, Record<string, never>>, transaction?: Transaction): Promise<DATA_CLASS | undefined>;
110
+ updateItem(newValue: Partial<SHAPE>, transaction?: Transaction): Promise<DATA_CLASS | undefined>;
78
111
  /**
79
112
  * Adds new item to the table
80
113
  *
81
114
  * @param value
82
115
  * @param transaction
116
+ * @param additionalValue Additional item properties that are not part of the DATA_CLASS
83
117
  *
84
118
  * @returns Promise<SHAPE>
85
119
  * @throws DuplicateItemError
86
120
  * @throws MissingKeyValuesError
87
121
  */
88
- createItem(value: DATA_CLASS, transaction?: Transaction): Promise<DATA_CLASS>;
122
+ createItem(value: DATA_CLASS, transaction?: Transaction, additionalValue?: Partial<SHAPE>): Promise<DATA_CLASS>;
89
123
  /**
90
124
  * Deletes an item from the table
91
125
  *
@@ -151,6 +185,12 @@ export declare abstract class AbstractDynamoDbRepository<SHAPE extends object, D
151
185
  * @throw MissingKeyValuesError
152
186
  */
153
187
  protected getKey(item: Partial<SHAPE>, attributeName: keyof KeysFormat): string;
188
+ /**
189
+ * Whether the given property name is part of the entity's pk/sk string
190
+ * @param propertyName
191
+ * @returns boolean
192
+ */
193
+ private isPropertyPartOfKeys;
154
194
  /**
155
195
  * Validate the data matches with "DATA_MODEL"
156
196
  * @param value
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractDynamoDbRepository.d.ts","sourceRoot":"","sources":["../../src/dynamodb/AbstractDynamoDbRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractDynamoDbRepository.d.ts","sourceRoot":"","sources":["../../src/dynamodb/AbstractDynamoDbRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAKjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,eAAe,EAA+C,MAAM,IAAI,CAAC;AAG/F,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAGzB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;IAE3B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAEvB,MAAM,CAAC,EAAE,yBAAyB,CAAC;CACpC,CAAC;AAEF,UAAU,MAAM,CAAC,CAAC;IAChB,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAE1E,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CAC1D;AAED,UAAU,MAAM,CAAC,CAAC;IAChB,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC5D,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtD;AAED,KAAK,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAE3C,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAEpD,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE;QACF,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,EAAE,EAAE;QACF,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAErD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,MAAM,CAAC,CAAC;AAE9E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC;IACtB,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,8BAAsB,0BAA0B,CAAC,KAAK,SAAS,MAAM,EAAE,UAAU,SAAS,KAAK,CAC7F,YAAW,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;IAYrC,SAAS,CAAC,SAAS,EAAE,MAAM;IAC3B,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC,YAAY,CAAC;IAClD,SAAS,CAAC,UAAU,EAAE,MAAM;IAC5B,SAAS,CAAC,gBAAgB,EAAE,gBAAgB;IAC5C,SAAS,CAAC,QAAQ,EAAE;QAAE,KAAK,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAAA;KAAE;IAd1E,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAEnC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC;IAChC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAGjC,SAAS,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC;gBAG3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,eAAe,CAAC,YAAY,CAAC,EACxC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE;QAAE,KAAK,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAAA;KAAE;IAmB1E;;;;;;;;OAQG;IACU,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAc3E;;;;;;;;;OASG;IACU,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAYrE;;;;;OAKG;YACW,aAAa;IAsB3B;;;;;;;OAOG;IACU,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAiD5F;;;;OAIG;IACH,OAAO,CAAC,+BAA+B;IASvC;;;;;;;;OAQG;IACU,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IA0EjH;;;;;;;;;;OAUG;IACU,UAAU,CACrB,KAAK,EAAE,UAAU,EACjB,WAAW,GAAE,WAAgB,EAC7B,eAAe,GAAE,OAAO,CAAC,KAAK,CAAM,GACnC,OAAO,CAAC,UAAU,CAAC;IA2CtB;;;;;;;OAOG;IACU,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCpG;;;;OAIG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU;IAahE,SAAS,CAAC,iCAAiC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQzE;;;;;OAKG;IACH,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM;IAI7C;;;;;;OAMG;IACH,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM;IAI7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,MAAM,UAAU,GAAG,MAAM;IAuC/E;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAWhC"}
@@ -46,16 +46,64 @@ class AbstractDynamoDbRepository {
46
46
  }
47
47
  return this.hydrateItem(output.Item);
48
48
  }
49
+ /**
50
+ * Get the single item each matching the key fields value in the given
51
+ * partial items. Will throw MissingKeyValuesError if key field values
52
+ * are missing
53
+ * Uses batchGet() to request 100 items in a batch
54
+ *
55
+ * @param item
56
+ *
57
+ * @throws MissingKeyValuesError
58
+ */
59
+ async getItems(items) {
60
+ // this is the maximum items allowed by BatchGetItem()
61
+ const batchSize = 100;
62
+ let result = [];
63
+ for (let i = 0; i < items.length; i += batchSize) {
64
+ const batchResult = await this.getBatchItems(items.slice(i, i + batchSize));
65
+ result = result.concat(batchResult);
66
+ }
67
+ return result;
68
+ }
69
+ /**
70
+ * Returns the batch items from the items primary key
71
+ *
72
+ * @param items
73
+ * @returns
74
+ */
75
+ async getBatchItems(items) {
76
+ const keys = [];
77
+ for (const item of items) {
78
+ keys.push({
79
+ [this.keys.pk.attributeName]: this.getPk(item),
80
+ [this.keys.sk.attributeName]: this.getSk(item),
81
+ });
82
+ }
83
+ const output = await this.client.batchGet({
84
+ RequestItems: {
85
+ [this.tableName]: {
86
+ Keys: keys,
87
+ },
88
+ },
89
+ });
90
+ if (output.Responses && output.Responses[this.tableName].length) {
91
+ return output.Responses[this.tableName].map((i) => this.hydrateItem(i));
92
+ }
93
+ return [];
94
+ }
49
95
  /**
50
96
  * Finds all the items matching the partition key or
51
97
  * the gsi key (when gsi index name is specified)
52
98
  *
53
99
  * @param item
54
- * @param useSortKey
55
- * @param index
100
+ * @param options
56
101
  * @throws MissingKeyValuesError
57
102
  */
58
- async queryItems(item, useSortKey = false, index) {
103
+ async queryItems(item, options) {
104
+ var _a, _b;
105
+ const useSortKey = (options === null || options === void 0 ? void 0 : options.useSortKey) || (options === null || options === void 0 ? void 0 : options.filter);
106
+ const index = options === null || options === void 0 ? void 0 : options.index;
59
107
  let pkName = this.keys.pk.attributeName;
60
108
  let skName = this.keys.sk.attributeName;
61
109
  let indexName = null;
@@ -72,8 +120,8 @@ class AbstractDynamoDbRepository {
72
120
  const expressionAttributeNames = { '#pkName': pkName };
73
121
  const expressionAttributeValues = { ':pkValue': pk };
74
122
  if (useSortKey) {
75
- const sk = this.getKey(item, skName);
76
- keyConditionExpression.push('#skName = :skValue');
123
+ const sk = (_b = (_a = options === null || options === void 0 ? void 0 : options.filter) === null || _a === void 0 ? void 0 : _a.keyword) !== null && _b !== void 0 ? _b : this.getKey(item, skName);
124
+ keyConditionExpression.push(this.getFilterKeyConditionExpression(options === null || options === void 0 ? void 0 : options.filter));
77
125
  expressionAttributeNames['#skName'] = skName;
78
126
  expressionAttributeValues[':skValue'] = sk;
79
127
  }
@@ -86,22 +134,41 @@ class AbstractDynamoDbRepository {
86
134
  if (indexName) {
87
135
  queryCommandInput['IndexName'] = String(indexName);
88
136
  }
137
+ if ((options === null || options === void 0 ? void 0 : options.order) !== undefined) {
138
+ queryCommandInput.ScanIndexForward = options.order === 'asc';
139
+ }
140
+ if ((options === null || options === void 0 ? void 0 : options.limit) !== undefined) {
141
+ queryCommandInput.Limit = options.limit;
142
+ }
89
143
  const output = await this.client.query(queryCommandInput);
90
144
  return !output.Items ? [] : output.Items.map((item) => this.hydrateItem(item));
91
145
  }
146
+ /**
147
+ * Evaluate filter condition for sort key
148
+ * @param filter
149
+ * @returns string
150
+ */
151
+ getFilterKeyConditionExpression(filter) {
152
+ if (filter === undefined) {
153
+ return '#skName = :skValue';
154
+ }
155
+ else if (filter.type === 'begins_with') {
156
+ return 'begins_with(#skName, :skValue)';
157
+ }
158
+ throw new Error(`Invalid query filter type: ${filter === null || filter === void 0 ? void 0 : filter.type}`);
159
+ }
92
160
  /**
93
161
  * Update the existing item matching the key fields value
94
- * in the passed in partialItem
95
- * @param partialItem
162
+ * in the passed newValue
96
163
  * @param newValue
97
164
  * @param transaction
98
165
  *
99
166
  * @returns Promise<SHAPE | undefined>
100
167
  * @throws MissingKeyValuesError
101
168
  */
102
- async updateItem(partialItem, newValue, transaction = {}) {
169
+ async updateItem(newValue, transaction = {}) {
103
170
  var _a, _b;
104
- const oldValue = await this.getItem(partialItem);
171
+ const oldValue = await this.getItem(newValue);
105
172
  if (oldValue === undefined) {
106
173
  return undefined;
107
174
  }
@@ -112,17 +179,26 @@ class AbstractDynamoDbRepository {
112
179
  const expressionAttributeNames = {};
113
180
  const expressionAttributeValues = {};
114
181
  for (const modelProperty of Object.keys(newValue)) {
182
+ const propValue = (_a = newValue[modelProperty]) !== null && _a !== void 0 ? _a : null;
183
+ if (propValue === oldValue[modelProperty]) {
184
+ // don't need to update the properties that are unchanged
185
+ continue;
186
+ }
115
187
  const propName = `#${modelProperty}`;
116
- const propValue = `:${modelProperty}`;
117
- updateExpression.push(`${propName} = ${propValue}`);
188
+ const propValuePlaceHolder = `:${modelProperty}`;
189
+ updateExpression.push(`${propName} = ${propValuePlaceHolder}`);
118
190
  expressionAttributeNames[propName] = modelProperty;
119
- expressionAttributeValues[propValue] = (_a = newValue[modelProperty]) !== null && _a !== void 0 ? _a : null;
191
+ expressionAttributeValues[propValuePlaceHolder] = propValue;
192
+ }
193
+ if (!updateExpression.length) {
194
+ // nothing to update
195
+ return value;
120
196
  }
121
197
  const updateCommandInput = {
122
198
  TableName: this.tableName,
123
199
  Key: {
124
- [this.keys.pk.attributeName]: this.getPk(partialItem),
125
- [this.keys.sk.attributeName]: this.getSk(partialItem),
200
+ [this.keys.pk.attributeName]: this.getPk(newValue),
201
+ [this.keys.sk.attributeName]: this.getSk(newValue),
126
202
  },
127
203
  UpdateExpression: 'SET ' + updateExpression.join(','),
128
204
  ExpressionAttributeValues: expressionAttributeValues,
@@ -161,12 +237,13 @@ class AbstractDynamoDbRepository {
161
237
  *
162
238
  * @param value
163
239
  * @param transaction
240
+ * @param additionalValue Additional item properties that are not part of the DATA_CLASS
164
241
  *
165
242
  * @returns Promise<SHAPE>
166
243
  * @throws DuplicateItemError
167
244
  * @throws MissingKeyValuesError
168
245
  */
169
- async createItem(value, transaction = {}) {
246
+ async createItem(value, transaction = {}, additionalValue = {}) {
170
247
  var _a;
171
248
  this.assertValueMatchesModel(value);
172
249
  const columns = {};
@@ -175,13 +252,13 @@ class AbstractDynamoDbRepository {
175
252
  }
176
253
  this.convertSelectedValuesToJsonString(columns);
177
254
  const keyFields = {
178
- [this.keys.pk.attributeName]: this.getPk(value),
179
- [this.keys.sk.attributeName]: this.getSk(value),
255
+ [this.keys.pk.attributeName]: this.getPk({ ...value, ...additionalValue }),
256
+ [this.keys.sk.attributeName]: this.getSk({ ...value, ...additionalValue }),
180
257
  };
181
258
  Object.keys(this.indexes).forEach((key) => {
182
259
  const index = this.indexes[key];
183
- keyFields[index.pk.attributeName] = this.getKey(value, index.pk.attributeName);
184
- keyFields[index.sk.attributeName] = this.getKey(value, index.sk.attributeName);
260
+ keyFields[index.pk.attributeName] = this.getKey({ ...value, ...additionalValue }, index.pk.attributeName);
261
+ keyFields[index.sk.attributeName] = this.getKey({ ...value, ...additionalValue }, index.sk.attributeName);
185
262
  });
186
263
  const putCommandInput = {
187
264
  TableName: this.tableName,
@@ -346,6 +423,18 @@ class AbstractDynamoDbRepository {
346
423
  }
347
424
  return keyFormat;
348
425
  }
426
+ /**
427
+ * Whether the given property name is part of the entity's pk/sk string
428
+ * @param propertyName
429
+ * @returns boolean
430
+ */
431
+ isPropertyPartOfKeys(propertyName) {
432
+ if (this.keysFormat[this.keys.pk.attributeName].search(`{${propertyName}}`) !== -1)
433
+ return true;
434
+ if (this.keysFormat[this.keys.sk.attributeName].search(`{${propertyName}}`) !== -1)
435
+ return true;
436
+ return false;
437
+ }
349
438
  /**
350
439
  * Validate the data matches with "DATA_MODEL"
351
440
  * @param value
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractDynamoDbRepository.js","sourceRoot":"","sources":["../../src/dynamodb/AbstractDynamoDbRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractDynamoDbRepository.js","sourceRoot":"","sources":["../../src/dynamodb/AbstractDynamoDbRepository.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractDynamoDbRepository.spec.d.ts","sourceRoot":"","sources":["../../src/dynamodb/AbstractDynamoDbRepository.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAkB1E,OAAO,EAAE,eAAe,EAAe,MAAM,mBAAmB,CAAC;AAIjE,OAAO,0BAA0B,CAAC;AAQlC,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,cAAM,QAAS,YAAW,SAAS;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEV,IAAI,GAAE,OAAO,CAAC,SAAS,CAAM;CAoB1C;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,kBAAkB,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;AAgC9D,cAAM,kBAAmB,SAAQ,0BAA0B,CAAC,SAAS,EAAE,QAAQ,CAAC;gBAClE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa;CAGxD"}
1
+ {"version":3,"file":"AbstractDynamoDbRepository.spec.d.ts","sourceRoot":"","sources":["../../src/dynamodb/AbstractDynamoDbRepository.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAgB,MAAM,8BAA8B,CAAC;AAoBxF,OAAO,EAAE,eAAe,EAAe,MAAM,mBAAmB,CAAC;AAIjE,OAAO,0BAA0B,CAAC;AAQlC,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,cAAM,QAAS,YAAW,SAAS;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEV,IAAI,GAAE,OAAO,CAAC,SAAS,CAAM;CAoB1C;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,kBAAkB,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;AAgC9D,cAAM,kBAAmB,SAAQ,0BAA0B,CAAC,SAAS,EAAE,QAAQ,CAAC;gBAClE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa;CAGxD"}