CacheControl / CacheControl/json-rules-engine

Right side of Rule condition Fact comparison does not appear in Condition result

未关闭
#310 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
JavaScript
星标
3.1k
派生
507
PR 合并指标
30 天内没有已合并 PR

描述

If I have a Rule condition such as:

```js
{
fact: 'related-study-design',
params,
path: '$.id',
operator: 'equal',
value: {
fact: "active-study-design",
params,
path: '$.id'
}
}
```

Where I'm comparing the values of two Facts, the `factResult` value does not appear to show the actual values of both Facts in the Condition results:
```js
{
fact: "related-study-design",
params: {
id: "study-designs-EFKeEO9bFQrWCr7Nhr5u3/RmPP1lqIkrkPMa5D_KRw6",
},
path: "$.id",
operator: "equal",
value: {
fact: "active-study-design",
params: {
id: "study-designs-EFKeEO9bFQrWCr7Nhr5u3/RmPP1lqIkrkPMa5D_KRw6",
},
path: "$.id",
},
factResult: "study-designs-EFKeEO9bFQrWCr7Nhr5u3/RmPP1lqIkrkPMa5D_KRw6",
result: false,
}
```

As you can see, the value of `"active-study-design"` Fact is not available in the results. Is there any way to get both sides of this comparison in the condition results? I would have expected another `factResult` under `value` like this:
```js
{
fact: "related-study-design",
params: {
id: "study-designs-EFKeEO9bFQrWCr7Nhr5u3/RmPP1lqIkrkPMa5D_KRw6",
},
path: "$.id",
operator: "equal",
value: {
fact: "active-study-design",
params: {
id: "study-designs-EFKeEO9bFQrWCr7Nhr5u3/RmPP1lqIkrkPMa5D_KRw6",
},
path: "$.id",
factResult: "study-designs-EFKeEO9bFQrWCr7Nhr5u3/n4Q2kVkVbGVzTig9ZTF0f",
},
factResult: "study-designs-EFKeEO9bFQrWCr7Nhr5u3/RmPP1lqIkrkPMa5D_KRw6",
result: false,
}
```

贡献指南

这个仓库没有索引到贡献指南

调研方向

首先,使用两个 Fact 比较来复现所示的 Rule 条件,并跟踪 Condition 结果是如何组装的。当结果公开左侧和右侧 Fact 的已解析值,并覆盖此比较用例时,该更改即完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
javascript
领域
backend
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
42/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。