CacheControl / CacheControl/json-rules-engine
Cannot convert object to primitive value
- Ngôn ngữ chính
- JavaScript
- Star
- 3.1k
- Fork
- 507
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
In `almanac` you have debug lines like this:
```js
(0, _debug2.default)('almanac::constructor initialized runtime fact:' + fact.id + ' with ' + fact.value + '<' + _typeof(fact.value) + '>');
```
This line does string concatenation on `fact.value` which seems to also consider passed in `params` as facts. This basically requires that all passed in `params` have a `toString()` function such as what is available in a prototype. However, not all JavaScript variables are guaranteed to have a prototype or a `toString()` function (e.g. `new Object(null)`).
For starters, since this appears to be a debug log line, is there a way to disable this entirely? If not, this should be changed to use something like `fast-safe-stringify` or similar to convert param values to a String form.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Issue nêu tên một dòng debug của almanac; hãy bắt đầu từ đó và tái hiện lỗi với `new Object(null)`. Công việc được xem là hoàn thành khi việc ghi log debug có thể xử lý giá trị mà không ném ra exception, và hành vi được chọn được kiểm thử bằng một regression test.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- javascript
- Lĩnh vực
- backend
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 42/100