@exabugs/dynamodb-client 1.3.20 → 1.3.21

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,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.3.21] - 2026-01-04
11
+
12
+ ### Changed
13
+
14
+ - **Shadow仕様変更**: オブジェクト型はシャドウを作成しない仕様に変更
15
+ - `inferFieldType`: オブジェクト型に対して`null`を返すように変更
16
+ - `generateShadowRecords`: オブジェクト型を明示的にスキップ
17
+ - `formatFieldValue`: `object`型のケースを削除
18
+ - 理由: オブジェクトは構造が複雑で、シャドウキーとして適切でない
19
+ - 例外: GeoCoordinates型(`{latitude, longitude}`)は地理空間検索用にGeoHashシャドウを生成
20
+
10
21
  ## [1.3.20] - 2026-01-03
11
22
 
12
23
  ### Added
@@ -1,5 +1,5 @@
1
- // @exabugs/dynamodb-client v1.3.20
2
- // Built: 2026-01-02T23:49:33.625Z
1
+ // @exabugs/dynamodb-client v1.3.21
2
+ // Built: 2026-01-04T11:18:43.181Z
3
3
  "use strict";
4
4
  var __create = Object.create;
5
5
  var __defProp = Object.defineProperty;
@@ -29373,7 +29373,7 @@ function inferFieldType(value) {
29373
29373
  return "array";
29374
29374
  }
29375
29375
  if (typeof value === "object") {
29376
- return "object";
29376
+ return null;
29377
29377
  }
29378
29378
  return null;
29379
29379
  }
@@ -29451,8 +29451,7 @@ function formatFieldValue2(type, value, config) {
29451
29451
  return formatDatetime2(value);
29452
29452
  case "boolean":
29453
29453
  return formatBoolean2(value);
29454
- case "array":
29455
- case "object": {
29454
+ case "array": {
29456
29455
  const normalized = normalizeJson(value);
29457
29456
  const jsonStr = JSON.stringify(normalized);
29458
29457
  const maxBytes = config.stringMaxBytes * 2;
@@ -29480,17 +29479,19 @@ function generateShadowRecords(record, resourceName, config) {
29480
29479
  if (value === null || value === void 0) {
29481
29480
  continue;
29482
29481
  }
29483
- if (isGeoCoordinates(value)) {
29484
- const geohash = encodeGeoHash(
29485
- value.latitude,
29486
- value.longitude,
29487
- DEFAULT_GEOHASH_CONFIG.shadowPrecision
29488
- );
29489
- const sk2 = `${fieldName}#${geohash}#id#${record.id}`;
29490
- shadows.push({
29491
- PK: resourceName,
29492
- SK: sk2
29493
- });
29482
+ if (typeof value === "object" && !Array.isArray(value)) {
29483
+ if (isGeoCoordinates(value)) {
29484
+ const geohash = encodeGeoHash(
29485
+ value.latitude,
29486
+ value.longitude,
29487
+ DEFAULT_GEOHASH_CONFIG.shadowPrecision
29488
+ );
29489
+ const sk2 = `${fieldName}#${geohash}#id#${record.id}`;
29490
+ shadows.push({
29491
+ PK: resourceName,
29492
+ SK: sk2
29493
+ });
29494
+ }
29494
29495
  continue;
29495
29496
  }
29496
29497
  const type = inferFieldType(value);
@@ -33458,7 +33459,7 @@ async function handler(event) {
33458
33459
  return createCorsResponse(HTTP_STATUS.OK);
33459
33460
  }
33460
33461
  if (event.requestContext.http.method === "GET" && event.requestContext.http.path === "/version") {
33461
- const version = "1.3.20";
33462
+ const version = "1.3.21";
33462
33463
  return createSuccessResponse({ version, timestamp: (/* @__PURE__ */ new Date()).toISOString() }, requestId);
33463
33464
  }
33464
33465
  if (event.requestContext.http.method !== "POST") {