@exabugs/dynamodb-client 1.4.1 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.4.2] - 2026-03-14
11
+
12
+ ### Fixed
13
+
14
+ - `$starts` フィルターを DynamoDB `KeyConditionExpression` の `begins_with` に最適化(ソートフィールドと一致する場合)
15
+ - 変更前: `begins_with(SK, '{field}#')` → 全件取得後メモリフィルタ
16
+ - 変更後: `begins_with(SK, '{field}#{prefix}')` → プレフィックス一致で DynamoDB レベルで絞り込み
17
+
10
18
  ## [1.3.55] - 2026-03-05
11
19
 
12
20
  ### Changed
@@ -1,5 +1,5 @@
1
- // @exabugs/dynamodb-client v1.4.1
2
- // Built: 2026-03-07T00:25:54.929Z
1
+ // @exabugs/dynamodb-client v1.4.2
2
+ // Built: 2026-03-14T04:13:49.892Z
3
3
  "use strict";
4
4
  var __create = Object.create;
5
5
  var __defProp = Object.defineProperty;
@@ -30978,6 +30978,14 @@ function buildKeyCondition(resource, sortField, optimizableFilter) {
30978
30978
  ":skValue": `${skValue}#id#~`
30979
30979
  }
30980
30980
  };
30981
+ case "$starts":
30982
+ return {
30983
+ keyConditionExpression: "PK = :pk AND begins_with(SK, :skValue)",
30984
+ expressionAttributeValues: {
30985
+ ...expressionAttributeValues,
30986
+ ":skValue": skValue
30987
+ }
30988
+ };
30981
30989
  default:
30982
30990
  return {
30983
30991
  keyConditionExpression: "PK = :pk AND begins_with(SK, :skPrefix)",
@@ -34355,7 +34363,7 @@ async function handler(event) {
34355
34363
  return createCorsResponse(HTTP_STATUS.OK);
34356
34364
  }
34357
34365
  if (event.requestContext.http.method === "GET" && event.requestContext.http.path === "/version") {
34358
- const version = "1.4.1";
34366
+ const version = "1.4.2";
34359
34367
  return createSuccessResponse({ version, timestamp: (/* @__PURE__ */ new Date()).toISOString() }, requestId);
34360
34368
  }
34361
34369
  if (event.requestContext.http.method !== "POST") {