@infra-blocks/aws-dynamodb 0.4.0 → 0.5.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.
Files changed (51) hide show
  1. package/lib/cjs/client.d.ts +4 -3
  2. package/lib/cjs/client.js +10 -15
  3. package/lib/cjs/client.js.map +1 -1
  4. package/lib/cjs/{condition-expression.d.ts → commands/expressions/condition.d.ts} +1 -1
  5. package/lib/cjs/{condition-expression.js → commands/expressions/condition.js} +1 -1
  6. package/lib/cjs/commands/expressions/condition.js.map +1 -0
  7. package/lib/cjs/commands/expressions/index.d.ts +2 -0
  8. package/lib/cjs/commands/expressions/index.js +19 -0
  9. package/lib/cjs/commands/expressions/index.js.map +1 -0
  10. package/lib/{esm/key-condition-expression.d.ts → cjs/commands/expressions/key-condition.d.ts} +3 -3
  11. package/lib/cjs/{key-condition-expression.js → commands/expressions/key-condition.js} +5 -5
  12. package/lib/cjs/commands/expressions/key-condition.js.map +1 -0
  13. package/lib/cjs/commands/index.d.ts +2 -0
  14. package/lib/cjs/commands/index.js +15 -0
  15. package/lib/cjs/commands/index.js.map +1 -1
  16. package/lib/cjs/commands/put-item.d.ts +1 -1
  17. package/lib/cjs/commands/query.d.ts +20 -0
  18. package/lib/cjs/commands/query.js +35 -0
  19. package/lib/cjs/commands/query.js.map +1 -0
  20. package/lib/cjs/index.d.ts +0 -2
  21. package/lib/cjs/index.js +0 -2
  22. package/lib/cjs/index.js.map +1 -1
  23. package/lib/cjs/types.d.ts +0 -6
  24. package/lib/esm/client.d.ts +4 -3
  25. package/lib/esm/client.js +11 -16
  26. package/lib/esm/client.js.map +1 -1
  27. package/lib/esm/{condition-expression.d.ts → commands/expressions/condition.d.ts} +1 -1
  28. package/lib/esm/{condition-expression.js → commands/expressions/condition.js} +1 -1
  29. package/lib/esm/commands/expressions/condition.js.map +1 -0
  30. package/lib/esm/commands/expressions/index.d.ts +2 -0
  31. package/lib/esm/commands/expressions/index.js +3 -0
  32. package/lib/esm/commands/expressions/index.js.map +1 -0
  33. package/lib/{cjs/key-condition-expression.d.ts → esm/commands/expressions/key-condition.d.ts} +3 -3
  34. package/lib/esm/{key-condition-expression.js → commands/expressions/key-condition.js} +5 -5
  35. package/lib/esm/commands/expressions/key-condition.js.map +1 -0
  36. package/lib/esm/commands/index.d.ts +2 -0
  37. package/lib/esm/commands/index.js +1 -1
  38. package/lib/esm/commands/index.js.map +1 -1
  39. package/lib/esm/commands/put-item.d.ts +1 -1
  40. package/lib/esm/commands/query.d.ts +20 -0
  41. package/lib/esm/commands/query.js +31 -0
  42. package/lib/esm/commands/query.js.map +1 -0
  43. package/lib/esm/index.d.ts +0 -2
  44. package/lib/esm/index.js +0 -2
  45. package/lib/esm/index.js.map +1 -1
  46. package/lib/esm/types.d.ts +0 -6
  47. package/package.json +2 -1
  48. package/lib/cjs/condition-expression.js.map +0 -1
  49. package/lib/cjs/key-condition-expression.js.map +0 -1
  50. package/lib/esm/condition-expression.js.map +0 -1
  51. package/lib/esm/key-condition-expression.js.map +0 -1
@@ -6,8 +6,9 @@ import { type Retry, type RetryConfig } from "@infra-blocks/retry";
6
6
  import { type CreateTableParams } from "./commands/create-table.js";
7
7
  import { type GetItemParams } from "./commands/get-item.js";
8
8
  import { type PutItemParams } from "./commands/put-item.js";
9
+ import { type QueryParams } from "./commands/query.js";
9
10
  import { type WriteTransactionParams } from "./commands/write-transaction.js";
10
- import type { Attributes, Query } from "./types.js";
11
+ import type { Attributes } from "./types.js";
11
12
  /**
12
13
  * Creation parameters for the {@link DynamoDbClient}.
13
14
  */
@@ -90,7 +91,7 @@ export declare class DynamoDbClient {
90
91
  *
91
92
  * @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html
92
93
  */
93
- query<T extends Attributes = Attributes>(params: Query): AsyncGenerator<T>;
94
+ query<T extends Attributes = Attributes>(params: QueryParams): AsyncGenerator<T>;
94
95
  /**
95
96
  * Convenience method over the {@link query} method enforcing that the query
96
97
  * matches at most one item.
@@ -102,7 +103,7 @@ export declare class DynamoDbClient {
102
103
  *
103
104
  * @returns The only item matching the query, or `undefined` if no item matches.
104
105
  */
105
- queryOne<T extends Attributes = Attributes>(params: Query): Promise<T | undefined>;
106
+ queryOne<T extends Attributes = Attributes>(params: QueryParams): Promise<T | undefined>;
106
107
  /**
107
108
  * Awaits until the DynamoDB service is ready to accept requests.
108
109
  *
package/lib/cjs/client.js CHANGED
@@ -8,6 +8,7 @@ const retry_1 = require("@infra-blocks/retry");
8
8
  const create_table_js_1 = require("./commands/create-table.js");
9
9
  const get_item_js_1 = require("./commands/get-item.js");
10
10
  const put_item_js_1 = require("./commands/put-item.js");
11
+ const query_js_1 = require("./commands/query.js");
11
12
  const write_transaction_js_1 = require("./commands/write-transaction.js");
12
13
  class DynamoDbClientError extends Error {
13
14
  constructor(message, options) {
@@ -112,32 +113,26 @@ class DynamoDbClient {
112
113
  * @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html
113
114
  */
114
115
  async *query(params) {
116
+ if (this.logger.isDebugEnabled()) {
117
+ this.logger.debug("query(%s)", JSON.stringify(params));
118
+ }
115
119
  try {
116
- const { expression, attributeValues } = params.condition.toJson();
117
- let response = await this.client.send(new lib_dynamodb_1.QueryCommand({
118
- TableName: params.table,
119
- IndexName: params.index,
120
- KeyConditionExpression: expression,
121
- ExpressionAttributeValues: attributeValues,
122
- }));
120
+ let response = await this.client.send(query_js_1.Query.from(params).toAwsCommand());
123
121
  for (const item of response.Items || []) {
124
122
  yield item;
125
123
  }
126
124
  while (response.LastEvaluatedKey != null) {
127
- response = await this.client.send(new lib_dynamodb_1.QueryCommand({
128
- TableName: params.table,
129
- IndexName: params.index,
130
- KeyConditionExpression: expression,
131
- ExpressionAttributeValues: attributeValues,
132
- ExclusiveStartKey: response.LastEvaluatedKey,
133
- }));
125
+ response = await this.client.send(query_js_1.Query.from({
126
+ ...params,
127
+ exclusiveStartKey: response.LastEvaluatedKey,
128
+ }).toAwsCommand());
134
129
  for (const item of response.Items || []) {
135
130
  yield item;
136
131
  }
137
132
  }
138
133
  }
139
134
  catch (err) {
140
- throw new DynamoDbClientError(`error while querying DynamoDB on table ${params.table}${params.index != null ? ` and index ${params.index}` : ""}`, {
135
+ throw new DynamoDbClientError("error while querying table", {
141
136
  cause: err,
142
137
  });
143
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AttributePath, AttributeType, AttributeValue } from "./types.js";
1
+ import type { AttributePath, AttributeType, AttributeValue } from "../../types.js";
2
2
  type AttributeSubstitution = `#${string}`;
3
3
  type ValueReference = `:${string}`;
4
4
  export type ExpressionAwsInput = {
@@ -114,4 +114,4 @@ class ConditionExpression {
114
114
  }
115
115
  }
116
116
  exports.ConditionExpression = ConditionExpression;
117
- //# sourceMappingURL=condition-expression.js.map
117
+ //# sourceMappingURL=condition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../../src/commands/expressions/condition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./condition.js";
2
+ export * from "./key-condition.js";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./condition.js"), exports);
18
+ __exportStar(require("./key-condition.js"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/expressions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,qDAAmC"}
@@ -1,4 +1,4 @@
1
- import type { Attributes } from "./types.js";
1
+ import type { Attributes } from "../../types.js";
2
2
  export declare class KeyConditionExpression {
3
3
  private readonly expression;
4
4
  private readonly attributeValues;
@@ -8,12 +8,12 @@ export declare class KeyConditionExpression {
8
8
  attributeValues: Attributes;
9
9
  };
10
10
  static partitionKeyEquals(params: {
11
- attributeName: string;
11
+ name: string;
12
12
  value: string;
13
13
  token?: string;
14
14
  }): KeyConditionExpression;
15
15
  static equals(params: {
16
- attributeName: string;
16
+ name: string;
17
17
  value: string;
18
18
  token: string;
19
19
  }): KeyConditionExpression;
@@ -16,20 +16,20 @@ class KeyConditionExpression {
16
16
  };
17
17
  }
18
18
  static partitionKeyEquals(params) {
19
- const { attributeName, value, token = ":pk" } = params;
19
+ const { name, value, token = ":pk" } = params;
20
20
  return KeyConditionExpression.equals({
21
- attributeName,
21
+ name,
22
22
  value,
23
23
  token,
24
24
  });
25
25
  }
26
26
  static equals(params) {
27
- const { attributeName, value, token } = params;
27
+ const { name, value, token } = params;
28
28
  return new KeyConditionExpression({
29
- expression: `${attributeName} = ${token}`,
29
+ expression: `${name} = ${token}`,
30
30
  attributeValues: { [token]: value },
31
31
  });
32
32
  }
33
33
  }
34
34
  exports.KeyConditionExpression = KeyConditionExpression;
35
- //# sourceMappingURL=key-condition-expression.js.map
35
+ //# sourceMappingURL=key-condition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-condition.js","sourceRoot":"","sources":["../../../../src/commands/expressions/key-condition.ts"],"names":[],"mappings":";;;AAEA,MAAa,sBAAsB;IAChB,UAAU,CAAS;IACnB,eAAe,CAAa;IAE7C,YAAoB,MAGnB;QACC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,MAAM;QACJ,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,MAIzB;QACC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAC9C,OAAO,sBAAsB,CAAC,MAAM,CAAC;YACnC,IAAI;YACJ,KAAK;YACL,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAIb;QACC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAEtC,OAAO,IAAI,sBAAsB,CAAC;YAChC,UAAU,EAAE,GAAG,IAAI,MAAM,KAAK,EAAE;YAChC,eAAe,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;CACF;AA7CD,wDA6CC"}
@@ -1,4 +1,6 @@
1
1
  export { CreateTableParams } from "./create-table.js";
2
+ export * from "./expressions/index.js";
2
3
  export { GetItemParams } from "./get-item.js";
3
4
  export { PutItemParams } from "./put-item.js";
5
+ export { QueryParams } from "./query.js";
4
6
  export { WriteTransactionParams } from "./write-transaction.js";
@@ -1,3 +1,18 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./expressions/index.js"), exports);
3
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,yDAAuC"}
@@ -1,6 +1,6 @@
1
1
  import { PutCommand, type PutCommandInput } from "@aws-sdk/lib-dynamodb";
2
- import type { ConditionExpression } from "../condition-expression.js";
3
2
  import type { Attributes } from "../types.js";
3
+ import type { ConditionExpression } from "./expressions/condition.js";
4
4
  import type { Command } from "./types.js";
5
5
  export interface PutItemParams {
6
6
  table: string;
@@ -0,0 +1,20 @@
1
+ import { QueryCommand, type QueryCommandInput } from "@aws-sdk/lib-dynamodb";
2
+ import type { AttributeValue } from "../types.js";
3
+ import type { KeyConditionExpression } from "./expressions/key-condition.js";
4
+ import type { Command } from "./types.js";
5
+ export interface QueryParams {
6
+ table: string;
7
+ index?: string;
8
+ condition: KeyConditionExpression;
9
+ exclusiveStartKey?: Record<string, AttributeValue>;
10
+ }
11
+ export declare class Query implements Command<QueryCommandInput, QueryCommand> {
12
+ private readonly table;
13
+ private readonly index?;
14
+ private readonly condition;
15
+ private readonly exclusiveStartKey?;
16
+ private constructor();
17
+ toAwsCommandInput(): QueryCommandInput;
18
+ toAwsCommand(): QueryCommand;
19
+ static from(params: QueryParams): Query;
20
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Query = void 0;
4
+ const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
5
+ class Query {
6
+ table;
7
+ index;
8
+ condition;
9
+ exclusiveStartKey;
10
+ constructor(params) {
11
+ const { table, index, condition, exclusiveStartKey } = params;
12
+ this.table = table;
13
+ this.index = index;
14
+ this.condition = condition;
15
+ this.exclusiveStartKey = exclusiveStartKey;
16
+ }
17
+ toAwsCommandInput() {
18
+ const { expression, attributeValues } = this.condition.toJson();
19
+ return {
20
+ TableName: this.table,
21
+ IndexName: this.index,
22
+ KeyConditionExpression: expression,
23
+ ExpressionAttributeValues: attributeValues,
24
+ ExclusiveStartKey: this.exclusiveStartKey,
25
+ };
26
+ }
27
+ toAwsCommand() {
28
+ return new lib_dynamodb_1.QueryCommand(this.toAwsCommandInput());
29
+ }
30
+ static from(params) {
31
+ return new Query(params);
32
+ }
33
+ }
34
+ exports.Query = Query;
35
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/commands/query.ts"],"names":[],"mappings":";;;AAAA,wDAA6E;AAY7E,MAAa,KAAK;IACC,KAAK,CAAS;IACd,KAAK,CAAU;IACf,SAAS,CAAyB;IAClC,iBAAiB,CAAkC;IAEpE,YAAoB,MAAmB;QACrC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,iBAAiB;QACf,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAChE,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,sBAAsB,EAAE,UAAU;YAClC,yBAAyB,EAAE,eAAe;YAC1C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,IAAI,2BAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAmB;QAC7B,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;CACF;AAhCD,sBAgCC"}
@@ -1,5 +1,3 @@
1
1
  export * from "./client.js";
2
2
  export * from "./commands/index.js";
3
- export * from "./condition-expression.js";
4
- export * from "./key-condition-expression.js";
5
3
  export * from "./types.js";
package/lib/cjs/index.js CHANGED
@@ -16,7 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./client.js"), exports);
18
18
  __exportStar(require("./commands/index.js"), exports);
19
- __exportStar(require("./condition-expression.js"), exports);
20
- __exportStar(require("./key-condition-expression.js"), exports);
21
19
  __exportStar(require("./types.js"), exports);
22
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,sDAAoC;AACpC,4DAA0C;AAC1C,gEAA8C;AAC9C,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,sDAAoC;AACpC,6CAA2B"}
@@ -1,6 +1,5 @@
1
1
  import type { ScalarAttributeType } from "@aws-sdk/client-dynamodb";
2
2
  import type { NativeAttributeValue } from "@aws-sdk/lib-dynamodb";
3
- import type { KeyConditionExpression } from "./key-condition-expression.js";
4
3
  export type AttributeName = string;
5
4
  export type AttributeValue = NativeAttributeValue;
6
5
  export type AttributePath = AttributeName;
@@ -19,8 +18,3 @@ export interface Index {
19
18
  partitionKey: IndexField;
20
19
  sortKey?: IndexField;
21
20
  }
22
- export interface Query {
23
- table: string;
24
- index?: string;
25
- condition: KeyConditionExpression;
26
- }
@@ -6,8 +6,9 @@ import { type Retry, type RetryConfig } from "@infra-blocks/retry";
6
6
  import { type CreateTableParams } from "./commands/create-table.js";
7
7
  import { type GetItemParams } from "./commands/get-item.js";
8
8
  import { type PutItemParams } from "./commands/put-item.js";
9
+ import { type QueryParams } from "./commands/query.js";
9
10
  import { type WriteTransactionParams } from "./commands/write-transaction.js";
10
- import type { Attributes, Query } from "./types.js";
11
+ import type { Attributes } from "./types.js";
11
12
  /**
12
13
  * Creation parameters for the {@link DynamoDbClient}.
13
14
  */
@@ -90,7 +91,7 @@ export declare class DynamoDbClient {
90
91
  *
91
92
  * @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html
92
93
  */
93
- query<T extends Attributes = Attributes>(params: Query): AsyncGenerator<T>;
94
+ query<T extends Attributes = Attributes>(params: QueryParams): AsyncGenerator<T>;
94
95
  /**
95
96
  * Convenience method over the {@link query} method enforcing that the query
96
97
  * matches at most one item.
@@ -102,7 +103,7 @@ export declare class DynamoDbClient {
102
103
  *
103
104
  * @returns The only item matching the query, or `undefined` if no item matches.
104
105
  */
105
- queryOne<T extends Attributes = Attributes>(params: Query): Promise<T | undefined>;
106
+ queryOne<T extends Attributes = Attributes>(params: QueryParams): Promise<T | undefined>;
106
107
  /**
107
108
  * Awaits until the DynamoDB service is ready to accept requests.
108
109
  *
package/lib/esm/client.js CHANGED
@@ -1,10 +1,11 @@
1
1
  import { DynamoDBClient, ListTablesCommand } from "@aws-sdk/client-dynamodb";
2
- import { DynamoDBDocumentClient, QueryCommand } from "@aws-sdk/lib-dynamodb";
2
+ import { DynamoDBDocumentClient } from "@aws-sdk/lib-dynamodb";
3
3
  import { NullLogger } from "@infra-blocks/null-logger";
4
4
  import { retry } from "@infra-blocks/retry";
5
5
  import { CreateTable, } from "./commands/create-table.js";
6
6
  import { GetItem } from "./commands/get-item.js";
7
7
  import { PutItem } from "./commands/put-item.js";
8
+ import { Query } from "./commands/query.js";
8
9
  import { WriteTransaction, } from "./commands/write-transaction.js";
9
10
  export class DynamoDbClientError extends Error {
10
11
  constructor(message, options) {
@@ -108,32 +109,26 @@ export class DynamoDbClient {
108
109
  * @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html
109
110
  */
110
111
  async *query(params) {
112
+ if (this.logger.isDebugEnabled()) {
113
+ this.logger.debug("query(%s)", JSON.stringify(params));
114
+ }
111
115
  try {
112
- const { expression, attributeValues } = params.condition.toJson();
113
- let response = await this.client.send(new QueryCommand({
114
- TableName: params.table,
115
- IndexName: params.index,
116
- KeyConditionExpression: expression,
117
- ExpressionAttributeValues: attributeValues,
118
- }));
116
+ let response = await this.client.send(Query.from(params).toAwsCommand());
119
117
  for (const item of response.Items || []) {
120
118
  yield item;
121
119
  }
122
120
  while (response.LastEvaluatedKey != null) {
123
- response = await this.client.send(new QueryCommand({
124
- TableName: params.table,
125
- IndexName: params.index,
126
- KeyConditionExpression: expression,
127
- ExpressionAttributeValues: attributeValues,
128
- ExclusiveStartKey: response.LastEvaluatedKey,
129
- }));
121
+ response = await this.client.send(Query.from({
122
+ ...params,
123
+ exclusiveStartKey: response.LastEvaluatedKey,
124
+ }).toAwsCommand());
130
125
  for (const item of response.Items || []) {
131
126
  yield item;
132
127
  }
133
128
  }
134
129
  }
135
130
  catch (err) {
136
- throw new DynamoDbClientError(`error while querying DynamoDB on table ${params.table}${params.index != null ? ` and index ${params.index}` : ""}`, {
131
+ throw new DynamoDbClientError("error while querying table", {
137
132
  cause: err,
138
133
  });
139
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AttributePath, AttributeType, AttributeValue } from "./types.js";
1
+ import type { AttributePath, AttributeType, AttributeValue } from "../../types.js";
2
2
  type AttributeSubstitution = `#${string}`;
3
3
  type ValueReference = `:${string}`;
4
4
  export type ExpressionAwsInput = {
@@ -110,4 +110,4 @@ export class ConditionExpression {
110
110
  });
111
111
  }
112
112
  }
113
- //# sourceMappingURL=condition-expression.js.map
113
+ //# sourceMappingURL=condition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../../src/commands/expressions/condition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./condition.js";
2
+ export * from "./key-condition.js";
@@ -0,0 +1,3 @@
1
+ export * from "./condition.js";
2
+ export * from "./key-condition.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/expressions/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Attributes } from "./types.js";
1
+ import type { Attributes } from "../../types.js";
2
2
  export declare class KeyConditionExpression {
3
3
  private readonly expression;
4
4
  private readonly attributeValues;
@@ -8,12 +8,12 @@ export declare class KeyConditionExpression {
8
8
  attributeValues: Attributes;
9
9
  };
10
10
  static partitionKeyEquals(params: {
11
- attributeName: string;
11
+ name: string;
12
12
  value: string;
13
13
  token?: string;
14
14
  }): KeyConditionExpression;
15
15
  static equals(params: {
16
- attributeName: string;
16
+ name: string;
17
17
  value: string;
18
18
  token: string;
19
19
  }): KeyConditionExpression;
@@ -13,19 +13,19 @@ export class KeyConditionExpression {
13
13
  };
14
14
  }
15
15
  static partitionKeyEquals(params) {
16
- const { attributeName, value, token = ":pk" } = params;
16
+ const { name, value, token = ":pk" } = params;
17
17
  return KeyConditionExpression.equals({
18
- attributeName,
18
+ name,
19
19
  value,
20
20
  token,
21
21
  });
22
22
  }
23
23
  static equals(params) {
24
- const { attributeName, value, token } = params;
24
+ const { name, value, token } = params;
25
25
  return new KeyConditionExpression({
26
- expression: `${attributeName} = ${token}`,
26
+ expression: `${name} = ${token}`,
27
27
  attributeValues: { [token]: value },
28
28
  });
29
29
  }
30
30
  }
31
- //# sourceMappingURL=key-condition-expression.js.map
31
+ //# sourceMappingURL=key-condition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-condition.js","sourceRoot":"","sources":["../../../../src/commands/expressions/key-condition.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,sBAAsB;IAChB,UAAU,CAAS;IACnB,eAAe,CAAa;IAE7C,YAAoB,MAGnB;QACC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,MAAM;QACJ,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,MAIzB;QACC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAC9C,OAAO,sBAAsB,CAAC,MAAM,CAAC;YACnC,IAAI;YACJ,KAAK;YACL,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAIb;QACC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAEtC,OAAO,IAAI,sBAAsB,CAAC;YAChC,UAAU,EAAE,GAAG,IAAI,MAAM,KAAK,EAAE;YAChC,eAAe,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,4 +1,6 @@
1
1
  export { CreateTableParams } from "./create-table.js";
2
+ export * from "./expressions/index.js";
2
3
  export { GetItemParams } from "./get-item.js";
3
4
  export { PutItemParams } from "./put-item.js";
5
+ export { QueryParams } from "./query.js";
4
6
  export { WriteTransactionParams } from "./write-transaction.js";
@@ -1,2 +1,2 @@
1
- export {};
1
+ export * from "./expressions/index.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"AACA,cAAc,wBAAwB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { PutCommand, type PutCommandInput } from "@aws-sdk/lib-dynamodb";
2
- import type { ConditionExpression } from "../condition-expression.js";
3
2
  import type { Attributes } from "../types.js";
3
+ import type { ConditionExpression } from "./expressions/condition.js";
4
4
  import type { Command } from "./types.js";
5
5
  export interface PutItemParams {
6
6
  table: string;
@@ -0,0 +1,20 @@
1
+ import { QueryCommand, type QueryCommandInput } from "@aws-sdk/lib-dynamodb";
2
+ import type { AttributeValue } from "../types.js";
3
+ import type { KeyConditionExpression } from "./expressions/key-condition.js";
4
+ import type { Command } from "./types.js";
5
+ export interface QueryParams {
6
+ table: string;
7
+ index?: string;
8
+ condition: KeyConditionExpression;
9
+ exclusiveStartKey?: Record<string, AttributeValue>;
10
+ }
11
+ export declare class Query implements Command<QueryCommandInput, QueryCommand> {
12
+ private readonly table;
13
+ private readonly index?;
14
+ private readonly condition;
15
+ private readonly exclusiveStartKey?;
16
+ private constructor();
17
+ toAwsCommandInput(): QueryCommandInput;
18
+ toAwsCommand(): QueryCommand;
19
+ static from(params: QueryParams): Query;
20
+ }
@@ -0,0 +1,31 @@
1
+ import { QueryCommand } from "@aws-sdk/lib-dynamodb";
2
+ export class Query {
3
+ table;
4
+ index;
5
+ condition;
6
+ exclusiveStartKey;
7
+ constructor(params) {
8
+ const { table, index, condition, exclusiveStartKey } = params;
9
+ this.table = table;
10
+ this.index = index;
11
+ this.condition = condition;
12
+ this.exclusiveStartKey = exclusiveStartKey;
13
+ }
14
+ toAwsCommandInput() {
15
+ const { expression, attributeValues } = this.condition.toJson();
16
+ return {
17
+ TableName: this.table,
18
+ IndexName: this.index,
19
+ KeyConditionExpression: expression,
20
+ ExpressionAttributeValues: attributeValues,
21
+ ExclusiveStartKey: this.exclusiveStartKey,
22
+ };
23
+ }
24
+ toAwsCommand() {
25
+ return new QueryCommand(this.toAwsCommandInput());
26
+ }
27
+ static from(params) {
28
+ return new Query(params);
29
+ }
30
+ }
31
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/commands/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0B,MAAM,uBAAuB,CAAC;AAY7E,MAAM,OAAO,KAAK;IACC,KAAK,CAAS;IACd,KAAK,CAAU;IACf,SAAS,CAAyB;IAClC,iBAAiB,CAAkC;IAEpE,YAAoB,MAAmB;QACrC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,iBAAiB;QACf,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAChE,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,sBAAsB,EAAE,UAAU;YAClC,yBAAyB,EAAE,eAAe;YAC1C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAmB;QAC7B,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;CACF"}
@@ -1,5 +1,3 @@
1
1
  export * from "./client.js";
2
2
  export * from "./commands/index.js";
3
- export * from "./condition-expression.js";
4
- export * from "./key-condition-expression.js";
5
3
  export * from "./types.js";
package/lib/esm/index.js CHANGED
@@ -1,6 +1,4 @@
1
1
  export * from "./client.js";
2
2
  export * from "./commands/index.js";
3
- export * from "./condition-expression.js";
4
- export * from "./key-condition-expression.js";
5
3
  export * from "./types.js";
6
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import type { ScalarAttributeType } from "@aws-sdk/client-dynamodb";
2
2
  import type { NativeAttributeValue } from "@aws-sdk/lib-dynamodb";
3
- import type { KeyConditionExpression } from "./key-condition-expression.js";
4
3
  export type AttributeName = string;
5
4
  export type AttributeValue = NativeAttributeValue;
6
5
  export type AttributePath = AttributeName;
@@ -19,8 +18,3 @@ export interface Index {
19
18
  partitionKey: IndexField;
20
19
  sortKey?: IndexField;
21
20
  }
22
- export interface Query {
23
- table: string;
24
- index?: string;
25
- condition: KeyConditionExpression;
26
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infra-blocks/aws-dynamodb",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "A convenience wrapper over @aws-sdk/client-dynamodb and @aws-sdk/lib-dynamodb.",
5
5
  "keywords": [
6
6
  "aws",
@@ -42,6 +42,7 @@
42
42
  "devDependencies": {
43
43
  "@biomejs/biome": "^2.0.6",
44
44
  "@infra-blocks/checks": "^0.2.7",
45
+ "@infra-blocks/iter": "^0.2.7",
45
46
  "@infra-blocks/node-console-logger": "^0.3.1",
46
47
  "@infra-blocks/test": "^0.4.0",
47
48
  "@infra-blocks/types": "^0.10.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"condition-expression.js","sourceRoot":"","sources":["../../src/condition-expression.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"key-condition-expression.js","sourceRoot":"","sources":["../../src/key-condition-expression.ts"],"names":[],"mappings":";;;AAEA,MAAa,sBAAsB;IAChB,UAAU,CAAS;IACnB,eAAe,CAAa;IAE7C,YAAoB,MAGnB;QACC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,MAAM;QACJ,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,MAIzB;QACC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QACvD,OAAO,sBAAsB,CAAC,MAAM,CAAC;YACnC,aAAa;YACb,KAAK;YACL,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAIb;QACC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAE/C,OAAO,IAAI,sBAAsB,CAAC;YAChC,UAAU,EAAE,GAAG,aAAa,MAAM,KAAK,EAAE;YACzC,eAAe,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;CACF;AA7CD,wDA6CC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"condition-expression.js","sourceRoot":"","sources":["../../src/condition-expression.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,MAAM,sBAAsB;IACT,KAAK,CAA4C;IAElE;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAwC,CAAC;IAC/D,CAAC;IAED,UAAU,CAAC,SAAwB;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACtC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,UAAU;QACR,MAAM,MAAM,GAAiD,EAAE,CAAC;QAChE,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D,MAAM,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;QACjC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,kBAAkB,CAAC,SAAwB;QACjD,OAAO,IAAI,SAAS,EAA2B,CAAC;IAClD,CAAC;CACF;AAID,MAAM,eAAe;IACF,MAAM,CAAsC;IACrD,OAAO,CAAS;IAExB;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAkC,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,KAAqB;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,UAAU;QACR,MAAM,MAAM,GAA2C,EAAE,CAAC;QAC1D,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QAC5B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,iBAAiB;QACvB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,EAAoB,CAAC;QACvD,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAQD,MAAM,OAAO,mBAAmB;IACb,UAAU,CAAS;IACnB,aAAa,CAA0B;IACvC,MAAM,CAAmB;IAE1C,YAAoB,MAInB;QACC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,UAAU;QACR,MAAM,MAAM,GAAuB;YACjC,mBAAmB,EAAE,IAAI,CAAC,UAAU;SACrC,CAAC;QACF,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;YAC/B,MAAM,CAAC,wBAAwB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QACpE,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,yBAAyB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC9D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,SAAwB;QAChD,MAAM,aAAa,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAChD,OAAO,IAAI,mBAAmB,CAAC;YAC7B,UAAU,EAAE,wBAAwB,GAAG,GAAG;YAC1C,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,SAAwB;QAC7C,MAAM,aAAa,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAChD,OAAO,IAAI,mBAAmB,CAAC;YAC7B,UAAU,EAAE,oBAAoB,GAAG,GAAG;YACtC,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,aAAa,CAClB,SAAwB,EACxB,IAAmB;QAEnB,MAAM,aAAa,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,mBAAmB,CAAC;YAC7B,UAAU,EAAE,kBAAkB,GAAG,KAAK,QAAQ,GAAG;YACjD,aAAa;YACb,MAAM;SACP,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"key-condition-expression.js","sourceRoot":"","sources":["../../src/key-condition-expression.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,sBAAsB;IAChB,UAAU,CAAS;IACnB,eAAe,CAAa;IAE7C,YAAoB,MAGnB;QACC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,MAAM;QACJ,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,MAIzB;QACC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QACvD,OAAO,sBAAsB,CAAC,MAAM,CAAC;YACnC,aAAa;YACb,KAAK;YACL,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAIb;QACC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAE/C,OAAO,IAAI,sBAAsB,CAAC;YAChC,UAAU,EAAE,GAAG,aAAa,MAAM,KAAK,EAAE;YACzC,eAAe,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;CACF"}