This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
| 3 | ESM only,不打包(`exports: "./src/index.js"`) |
|
||||
| 4 | 两种输出:`FindOptionsWhere[]`(对象式)+ QueryBuilder 条件(表达式式) |
|
||||
| 5 | AND 项合并同一对象;OR 项拆数组元素(TypeORM 语义) |
|
||||
| 6 | 嵌套分组(Q6)用括号表达式递归生成 |
|
||||
| 6 | **深层 OR 嵌套(v0.1.1)**:`toFindOptionsWhere` 接受 `toTree` 树输入,递归 + 分配律展开(`X AND (A OR B)` → `[{X,A},{X,B}]`),同字段 AND 用 `And()` 组合 |
|
||||
| 7 | 参数化绑定(`:p1 :p2`),杜绝字符串拼接注入 |
|
||||
| 8 | 空 value 且非 NULL 查询自动跳过;LIKE 自动补 `%` |
|
||||
| 9 | `disabled`/`hidden` 默认跳过(对齐 Q60/Q61),`skipEmpty` 可配 |
|
||||
@@ -40,5 +40,5 @@ EQ NE GT GTE LT LTE LIKE IN NOT_IN BETWEEN IS_NULL IS_NOT_NULL
|
||||
|
||||
## 未决项 / 后续
|
||||
|
||||
- TypeORM `FindOptionsWhere` 对深层 OR 嵌套(如 `A OR (B AND C)` 内嵌)表达能力有限,深层场景建议走 `applyToQueryBuilder`
|
||||
- 可选:`trans-form-knex`(决策 #24 提及的另一适配方向)
|
||||
- 分配律展开的最坏情况指数增长:极端复杂布尔树走 `applyToQueryBuilder`(括号表达式,无展开成本)
|
||||
|
||||
Reference in New Issue
Block a user