Nrlint does not allow subraction of Dates
colinl opened this issue · 2 comments
Current Behavior
Using nrlint 1.0.2 the following code shows the error that the left hand side of an arithmetic operation must of type 'any', 'Number' ...
The function does run ok (it subtracts the millisecond values).
const d1 = new Date()
const d2 = new Date(d1.getTime() + 1000)
msg.payload = d2 - d1
return msg;
Expected Behavior
No error should be reported
Steps To Reproduce
See example flow
Example flow
[{"id":"0ae098f0f8d40b2e","type":"inject","z":"84405ff5.25fa6","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":230,"y":2540,"wires":[["377b3ad15f21e80e"]]},{"id":"377b3ad15f21e80e","type":"function","z":"84405ff5.25fa6","name":"nrlint test","func":"const d1 = new Date()\nconst d2 = new Date(d1.getTime() + 1000)\nmsg.payload = d2 - d1\nreturn msg;","outputs":1,"noerr":2,"initialize":"","finalize":"","libs":[],"x":380,"y":2540,"wires":[["680355ca417c9cf1"]]},{"id":"680355ca417c9cf1","type":"debug","z":"84405ff5.25fa6","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":560,"y":2540,"wires":[]}]
Environment
- nrlint version: 1.0.2
- Node-RED version: 2.0.6
- Node.js version: 14.17.6
- npm version: 614.15
- Platform/OS: Ubuntu
- Browser: Firefox
When I run this through nrlint, I don't get any errors.
I do so an error when I edit this code using monaco - it complains about the types in the sum. Is that what you're referring to? IN which case, this isn't an nrlint bug - its something to do with monaco and its own built-in javascript validation.
Yes, it was the types in the sum I was referring to, I should have been more explicit. You are correct, it isn't an nrlint issue, it only appears when using Monaco. I will close this.