Merge branch 'node-red:dev' into dev

This commit is contained in:
Kazuhito Yokoi
2022-12-05 01:08:45 +09:00
committed by GitHub
21 changed files with 519 additions and 311 deletions

View File

@@ -10,6 +10,7 @@
<option value="scale" data-i18n="range.scale.payload"></option>
<option value="clamp" data-i18n="range.scale.limit"></option>
<option value="roll" data-i18n="range.scale.wrap"></option>
<option value="drop" data-i18n="range.scale.drop"></option>
</select>
</div>
<br/>

View File

@@ -32,11 +32,15 @@ module.exports = function(RED) {
if (value !== undefined) {
var n = Number(value);
if (!isNaN(n)) {
if (node.action == "clamp") {
if (node.action === "drop") {
if (n < node.minin) { done(); return; }
if (n > node.maxin) { done(); return; }
}
if (node.action === "clamp") {
if (n < node.minin) { n = node.minin; }
if (n > node.maxin) { n = node.maxin; }
}
if (node.action == "roll") {
if (node.action === "roll") {
var divisor = node.maxin - node.minin;
n = ((n - node.minin) % divisor + divisor) % divisor + node.minin;
}

View File

@@ -34,11 +34,14 @@
the range specified within the target range.</p>
<p><i>Scale and wrap within the target range</i> means that the result will
be wrapped within the target range.</p>
<p><i>Scale, but drop if outside input range</i> means that the result will
be scaled, but any inputs outside of the inout range will be dropped.</p>
<p>For example an input 0 - 10 mapped to 0 - 100.</p>
<table style="outline-width:#888 solid thin">
<tr><th width="80px">mode</th><th width="80px">input</th><th width="80px">output</th></tr>
<tr><td><center>scale</center></td><td><center>12</center></td><td><center>120</center></td></tr>
<tr><td><center>limit</center></td><td><center>12</center></td><td><center>100</center></td></tr>
<tr><td><center>wrap</center></td><td><center>12</center></td><td><center>20</center></td></tr>
<tr><td><center>drop</center></td><td><center>12</center></td><td><center><i>(no output)</i></center></td></tr>
</table>
</script>

View File

@@ -813,7 +813,8 @@
"scale": {
"payload": "Scale the message property",
"limit": "Scale and limit to the target range",
"wrap": "Scale and wrap within the target range"
"wrap": "Scale and wrap within the target range",
"drop": "Scale, but drop msg if outside input range"
},
"tip": "Tip: This node ONLY works with numbers.",
"errors": {

View File

@@ -15,22 +15,22 @@
}
],
"dependencies": {
"acorn": "8.7.1",
"acorn": "8.8.1",
"acorn-walk": "8.2.0",
"ajv": "8.11.0",
"body-parser": "1.20.0",
"ajv": "8.11.2",
"body-parser": "1.20.1",
"cheerio": "1.0.0-rc.10",
"content-type": "1.0.4",
"cookie-parser": "1.4.6",
"cookie": "0.5.0",
"cors": "2.8.5",
"cronosjs": "1.7.1",
"denque": "2.0.1",
"denque": "2.1.0",
"form-data": "4.0.0",
"fs-extra": "10.1.0",
"got": "11.8.5",
"hash-sum": "2.0.0",
"hpagent": "1.0.0",
"hpagent": "1.2.0",
"https-proxy-agent": "5.0.1",
"is-utf8": "0.2.1",
"js-yaml": "4.1.0",
@@ -41,7 +41,7 @@
"node-watch": "0.7.3",
"on-headers": "1.0.2",
"raw-body": "2.5.1",
"tough-cookie": "4.0.0",
"tough-cookie": "4.1.2",
"uuid": "8.3.2",
"ws": "7.5.6",
"xml2js": "0.4.23",