@exabugs/dynamodb-client 1.0.1 → 1.0.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 +17 -0
- package/dist/server/handler.cjs +27 -27
- package/dist/server/handler.cjs.map +2 -2
- package/dist/server/operations/find/utils.js +16 -16
- package/dist/server/operations/find/utils.js.map +1 -1
- package/dist/server/utils/filter.d.ts +6 -6
- package/dist/server/utils/filter.d.ts.map +1 -1
- package/dist/server/utils/filter.js +28 -28
- package/dist/server/utils/filter.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.0.2] - 2025-12-31
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- **BREAKING**: フィルター演算子を `$` プレフィックス必須に統一
|
|
15
|
+
- `FilterOperator` 型を `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$nin`, `$starts`, `$ends`, `$contains`, `$exists` に変更
|
|
16
|
+
- すべてのサーバー側フィルター処理で `$` プレフィックスを標準とする
|
|
17
|
+
- `$` なしの演算子はエラーとして扱う(明確なエラーメッセージ)
|
|
18
|
+
- MongoDB互換性を完全に保証
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- **サーバーサイドフィルター処理**: `$` プレフィックス付き演算子を正しく処理
|
|
23
|
+
- `find` 操作で `{ id: { $in: [...] } }` 形式のフィルターが正常に動作
|
|
24
|
+
- react-admin統合からのフィルターが正常に動作
|
|
25
|
+
- 一貫性のある演算子処理(モンキーパッチなし)
|
|
26
|
+
|
|
10
27
|
## [1.0.1] - 2025-12-31
|
|
11
28
|
|
|
12
29
|
### Fixed
|
package/dist/server/handler.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// @exabugs/dynamodb-client v1.0.
|
|
2
|
-
// Built: 2025-12-31T00:
|
|
1
|
+
// @exabugs/dynamodb-client v1.0.2
|
|
2
|
+
// Built: 2025-12-31T00:36:11.060Z
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
@@ -29683,7 +29683,7 @@ __name(normalizeSort, "normalizeSort");
|
|
|
29683
29683
|
function parseFilterField(fieldKey) {
|
|
29684
29684
|
const parts = fieldKey.split(":");
|
|
29685
29685
|
if (parts.length === 1) {
|
|
29686
|
-
return { field: parts[0], operator: "eq", type: "string" };
|
|
29686
|
+
return { field: parts[0], operator: "$eq", type: "string" };
|
|
29687
29687
|
}
|
|
29688
29688
|
if (parts.length === 2) {
|
|
29689
29689
|
const operator = parts[1];
|
|
@@ -29708,18 +29708,18 @@ function parseFilterField(fieldKey) {
|
|
|
29708
29708
|
__name(parseFilterField, "parseFilterField");
|
|
29709
29709
|
function isValidOperator(operator) {
|
|
29710
29710
|
return [
|
|
29711
|
-
"eq",
|
|
29712
|
-
"ne",
|
|
29713
|
-
"lt",
|
|
29714
|
-
"lte",
|
|
29715
|
-
"gt",
|
|
29716
|
-
"gte",
|
|
29717
|
-
"in",
|
|
29718
|
-
"nin",
|
|
29719
|
-
"starts",
|
|
29720
|
-
"ends",
|
|
29721
|
-
"contains",
|
|
29722
|
-
"exists"
|
|
29711
|
+
"$eq",
|
|
29712
|
+
"$ne",
|
|
29713
|
+
"$lt",
|
|
29714
|
+
"$lte",
|
|
29715
|
+
"$gt",
|
|
29716
|
+
"$gte",
|
|
29717
|
+
"$in",
|
|
29718
|
+
"$nin",
|
|
29719
|
+
"$starts",
|
|
29720
|
+
"$ends",
|
|
29721
|
+
"$contains",
|
|
29722
|
+
"$exists"
|
|
29723
29723
|
].includes(operator);
|
|
29724
29724
|
}
|
|
29725
29725
|
__name(isValidOperator, "isValidOperator");
|
|
@@ -29788,29 +29788,29 @@ function matchesAllFilters(record, parsedFilters) {
|
|
|
29788
29788
|
const recordValue = record[field];
|
|
29789
29789
|
const filterValue = filter.value;
|
|
29790
29790
|
switch (operator) {
|
|
29791
|
-
case "eq":
|
|
29791
|
+
case "$eq":
|
|
29792
29792
|
return recordValue === filterValue;
|
|
29793
|
-
case "ne":
|
|
29793
|
+
case "$ne":
|
|
29794
29794
|
return recordValue !== filterValue;
|
|
29795
|
-
case "gt":
|
|
29795
|
+
case "$gt":
|
|
29796
29796
|
return recordValue != null && recordValue > filterValue;
|
|
29797
|
-
case "gte":
|
|
29797
|
+
case "$gte":
|
|
29798
29798
|
return recordValue != null && recordValue >= filterValue;
|
|
29799
|
-
case "lt":
|
|
29799
|
+
case "$lt":
|
|
29800
29800
|
return recordValue != null && recordValue < filterValue;
|
|
29801
|
-
case "lte":
|
|
29801
|
+
case "$lte":
|
|
29802
29802
|
return recordValue != null && recordValue <= filterValue;
|
|
29803
|
-
case "in":
|
|
29803
|
+
case "$in":
|
|
29804
29804
|
return Array.isArray(filterValue) && filterValue.includes(recordValue);
|
|
29805
|
-
case "nin":
|
|
29805
|
+
case "$nin":
|
|
29806
29806
|
return Array.isArray(filterValue) && !filterValue.includes(recordValue);
|
|
29807
|
-
case "starts":
|
|
29807
|
+
case "$starts":
|
|
29808
29808
|
return typeof recordValue === "string" && typeof filterValue === "string" && recordValue.startsWith(filterValue);
|
|
29809
|
-
case "ends":
|
|
29809
|
+
case "$ends":
|
|
29810
29810
|
return typeof recordValue === "string" && typeof filterValue === "string" && recordValue.endsWith(filterValue);
|
|
29811
|
-
case "contains":
|
|
29811
|
+
case "$contains":
|
|
29812
29812
|
return typeof recordValue === "string" && typeof filterValue === "string" && recordValue.includes(filterValue);
|
|
29813
|
-
case "exists":
|
|
29813
|
+
case "$exists":
|
|
29814
29814
|
return filterValue ? recordValue !== void 0 && recordValue !== null : recordValue === void 0 || recordValue === null;
|
|
29815
29815
|
default:
|
|
29816
29816
|
return true;
|