@node-red/nodes 3.1.3 → 3.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/core/function/10-function.js +1 -1
  2. package/core/network/21-httprequest.js +4 -12
  3. package/locales/es-ES/common/20-inject.html +37 -0
  4. package/locales/es-ES/common/21-debug.html +26 -0
  5. package/locales/es-ES/common/24-complete.html +24 -0
  6. package/locales/es-ES/common/25-catch.html +36 -0
  7. package/locales/es-ES/common/25-status.html +34 -0
  8. package/locales/es-ES/common/60-link.html +53 -0
  9. package/locales/es-ES/common/90-comment.html +21 -0
  10. package/locales/es-ES/common/91-global-config.html +3 -0
  11. package/locales/es-ES/common/98-unknown.html +24 -0
  12. package/locales/es-ES/function/10-function.html +55 -0
  13. package/locales/es-ES/function/10-switch.html +37 -0
  14. package/locales/es-ES/function/15-change.html +33 -0
  15. package/locales/es-ES/function/16-range.html +42 -0
  16. package/locales/es-ES/function/80-template.html +51 -0
  17. package/locales/es-ES/function/89-delay.html +39 -0
  18. package/locales/es-ES/function/89-trigger.html +37 -0
  19. package/locales/es-ES/function/90-exec.html +75 -0
  20. package/locales/es-ES/function/rbe.html +32 -0
  21. package/locales/es-ES/messages.json +1146 -0
  22. package/locales/es-ES/network/05-tls.html +19 -0
  23. package/locales/es-ES/network/06-httpproxy.html +22 -0
  24. package/locales/es-ES/network/10-mqtt.html +135 -0
  25. package/locales/es-ES/network/21-httpin.html +83 -0
  26. package/locales/es-ES/network/21-httprequest.html +81 -0
  27. package/locales/es-ES/network/22-websocket.html +36 -0
  28. package/locales/es-ES/network/31-tcpin.html +35 -0
  29. package/locales/es-ES/network/32-udp.html +28 -0
  30. package/locales/es-ES/parsers/70-CSV.html +49 -0
  31. package/locales/es-ES/parsers/70-HTML.html +33 -0
  32. package/locales/es-ES/parsers/70-JSON.html +44 -0
  33. package/locales/es-ES/parsers/70-XML.html +49 -0
  34. package/locales/es-ES/parsers/70-YAML.html +34 -0
  35. package/locales/es-ES/sequence/17-split.html +146 -0
  36. package/locales/es-ES/sequence/18-sort.html +41 -0
  37. package/locales/es-ES/sequence/19-batch.html +35 -0
  38. package/locales/es-ES/storage/10-file.html +62 -0
  39. package/locales/es-ES/storage/23-watch.html +30 -0
  40. package/package.json +1 -1
@@ -315,7 +315,7 @@ module.exports = function(RED) {
315
315
  var spec = module.module;
316
316
  if (spec && (spec !== "")) {
317
317
  moduleLoadPromises.push(RED.import(module.module).then(lib => {
318
- sandbox[vname] = lib.default;
318
+ sandbox[vname] = lib.default || lib;
319
319
  }).catch(err => {
320
320
  node.error(RED._("function.error.moduleLoadError",{module:module.spec, error:err.toString()}))
321
321
  throw err;
@@ -141,15 +141,7 @@ in your Node-RED user directory (${RED.settings.userDir}).
141
141
  });
142
142
  }
143
143
  }
144
- /**
145
- * @param {Object} headersObject
146
- * @param {string} name
147
- * @return {any} value
148
- */
149
- const getHeaderValue = (headersObject, name) => {
150
- const asLowercase = name.toLowercase();
151
- return headersObject[Object.keys(headersObject).find(k => k.toLowerCase() === asLowercase)];
152
- }
144
+
153
145
  this.on("input",function(msg,nodeSend,nodeDone) {
154
146
  checkNodeAgentPatch();
155
147
  //reset redirectList on each request
@@ -300,7 +292,7 @@ in your Node-RED user directory (${RED.settings.userDir}).
300
292
  }
301
293
 
302
294
  opts.headers = {};
303
- //add msg.headers
295
+ //add msg.headers
304
296
  //NOTE: ui headers will take precidence over msg.headers
305
297
  if (msg.headers) {
306
298
  if (msg.headers.hasOwnProperty('x-node-red-request-node')) {
@@ -633,7 +625,7 @@ in your Node-RED user directory (${RED.settings.userDir}).
633
625
  msg.payload = msg.payload.toString('utf8'); // txt
634
626
 
635
627
  if (node.ret === "obj") {
636
- if (msg.statusCode == 204){msg.payload= "{}"};
628
+ if (msg.statusCode == 204){msg.payload= "{}"};
637
629
  try { msg.payload = JSON.parse(msg.payload); } // obj
638
630
  catch(e) { node.warn(RED._("httpin.errors.json-error")); }
639
631
  }
@@ -740,7 +732,7 @@ in your Node-RED user directory (${RED.settings.userDir}).
740
732
  *
741
733
  * If the algorithm directive's value ends with "-sess", then HA1 is
742
734
  * HA1=digestCompute(digestCompute(username:realm:password):nonce:cnonce)
743
- *
735
+ *
744
736
  * If the algorithm directive's value does not end with "-sess", then HA1 is
745
737
  * HA1=digestCompute(username:realm:password)
746
738
  */
@@ -0,0 +1,37 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="inject">
18
+ <p>Inyecta un mensaje en un flujo ya sea manualmente o a intervalos regulares. La carga del mensaje puede ser de diversos tipos, incluidas cadenas, objetos JavaScript o la hora actual.</p>
19
+ <h3>Salidas</h3>
20
+ <dl class="message-properties">
21
+ <dt>payload<span class="property-type">varios</span></dt>
22
+ <dd>La carga útil configurada del mensaje.</dd>
23
+ <dt class="optional">topic <span class="property-type">texto</span></dt>
24
+ <dd>Una propiedad opcional que se puede configurar en el nodo.</dd>
25
+ </dl>
26
+ <h3>Detalles</h3>
27
+ <p>El nodo Inject puede iniciar un flujo con un valor de carga específico.
28
+ La carga predeterminada es una marca de tiempo de la hora actual en milisegundos desde el 1 de enero de 1970.</p>
29
+ <p>El nodo también admite la inyección de cadenas, números, valores booleanos, objetos JavaScript o valores de contexto global/de flujo.</p>
30
+ <p>De forma predeterminada, el nodo se activa manualmente haciendo clic en su botón dentro del editor. También se puede configurar para inyectar a intervalos regulares o según un cronograma.</p>
31
+ <p>También se puede configurar para inyectar una vez cuando se inician los flujos.</p>
32
+ <p>El <i>intervalo</i> máximo que se puede especificar es de aproximadamente 596 horas/24 días. Sin embargo, si necesitas intervalos superiores a un día, deberías considerar el uso de un nodo programador que pueda hacer frente a cortes de energía y reinicios.</p>
33
+ <p><b>Nota</b>: Las opciones <i>"Intervalo entre tiempos"</i> y <i>"en un momento específico"</i> utilizan el sistema cron estándar.
34
+ Esto significa que 20 minutos serán en la próxima hora, 20 minutos después y 40 minutos después, no dentro de 20 minutos.
35
+ Si quieres cada 20 minutos a partir de ahora, utiliza la opción <i>"intervalo"</i>.</p>
36
+ <p><b>Nota</b>: Para incluir una nueva línea en una cadena, debes usar el nodo Función o Plantilla para crear la carga.</p>
37
+ </script>
@@ -0,0 +1,26 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="debug">
18
+ <p>Muestra las propiedades del mensaje seleccionado en la pestaña de la barra lateral de depuración y, opcionalmente, el registro de tiempo de ejecución. De forma predeterminada muestra <code>msg.payload</code>, pero se puede configurar para mostrar cualquier propiedad, el mensaje completo o el resultado de una expresión JSONata.</p>
19
+ <h3>Detalles</h3>
20
+ <p>La barra lateral de depuración proporciona una vista estructurada de los mensajes que se envían, lo que facilita la comprensión de su estructura.</p>
21
+ <p>Los objetos y matrices de JavaScript se pueden contraer y expandir según sea necesario. Los objetos del búfer se pueden mostrar como datos sin procesar o como una cadena, si es posible.</p>
22
+ <p>Junto a cada mensaje, la barra lateral de depuración incluye información sobre la hora en que se recibió el mensaje, el nodo que lo envió y el tipo de mensaje.
23
+ Al hacer clic en la identificación del nodo de origen, se mostrará ese nodo dentro del espacio de trabajo.</p>
24
+ <p>El botón del nodo se puede utilizar para habilitar o deshabilitar su salida. Se recomienda deshabilitar o eliminar cualquier nodo de depuración que no se esté utilizando.</p>
25
+ <p>El nodo también se puede configurar para enviar todos los mensajes al registro de ejecución o para enviar mensajes breves (32 caracteres) al texto de estado en el nodo de depuración.</p>
26
+ </script>
@@ -0,0 +1,24 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="complete">
18
+ <p>Activar un flujo cuando otro nodo completa su manejo de un mensaje.</p>
19
+ <h3>Detalles</h3>
20
+ <p>Si un nodo informa cuando ha terminado de manejar un mensaje, este nodo se puede utilizar para desencadenar un segundo flujo.</p>
21
+ <p>Por ejemplo, esto se puede utilizar junto con un nodo sin puerto de salida, como el nodo de envío de correo electrónico, para continuar el flujo.</p>
22
+ <p>Este nodo debe configurarse para manejar el evento para los nodos seleccionados en el flujo. A diferencia del nodo Catch (Captura), no proporciona un modo de "manejar todo" que se aplica automáticamente a todos los nodos del flujo.</p>
23
+ <p>No todos los nodos activarán este evento; dependerá de si se han implementado para admitir esta característica tal como se introdujo en Node-RED 1.0.</p>
24
+ </script>
@@ -0,0 +1,36 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="catch">
18
+ <p>Capturar errores arrojados por nodos en la misma pestaña.</p>
19
+ <h3>Salidas</h3>
20
+ <dl class="message-properties">
21
+ <dt>error.message <span class="property-type">texto</span></dt>
22
+ <dd>el mensaje de error.</dd>
23
+ <dt>error.source.id <span class="property-type">texto</span></dt>
24
+ <dd>la identificación del nodo que arrojó el error.</dd>
25
+ <dt>error.source.type <span class="property-type">texto</span></dt>
26
+ <dd>el tipo de nodo que arrojó el error.</dd>
27
+ <dt>error.source.name <span class="property-type">texto</span></dt>
28
+ <dd>el nombre, si está configurado, del nodo que arrojó el error.</dd>
29
+ </dl>
30
+ <h3>Detalles</h3>
31
+ <p>Si un nodo genera un error mientras maneja un mensaje, el flujo normalmente se detendrá. Este nodo se puede utilizar para detectar esos errores y manejarlos con un flujo dedicado.</p>
32
+ <p>De forma predeterminada, el nodo detectará los errores generados por cualquier nodo en la misma pestaña. Alternativamente, puede dirigirse a nodos específicos o configurarse para detectar solo errores que aún no hayan sido detectados por un nodo de captura "dirigido".</p>
33
+ <p>Cuando se produce un error, todos los nodos de captura coincidentes recibirán el mensaje.</p>
34
+ <p>Si se produce un error dentro de un subflujo, el error será manejado por cualquier nodo de captura dentro del subflujo. Si no existe ninguno, el error se propagará hasta la pestaña en la que se encuentra la instancia del subflujo.</p>
35
+ <p>Si el mensaje ya tiene una propiedad <code>error</code>, se copia a <code>_error</code>.</p>
36
+ </script>
@@ -0,0 +1,34 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="status">
18
+ <p>Informar mensajes de estado de otros nodos en la misma pestaña.</p>
19
+ <h3>Salidas</h3>
20
+ <dl class="message-properties">
21
+ <dt>status.text <span class="property-type">texto</span></dt>
22
+ <dd>el texto de estado.</dd>
23
+ <dt>status.source.type <span class="property-type">texto</span></dt>
24
+ <dd>el tipo de nodo que informó el estado.</dd>
25
+ <dt>status.source.id <span class="property-type">texto</span></dt>
26
+ <dd>la identificación del nodo que informó el estado.</dd>
27
+ <dt>status.source.name <span class="property-type">texto</span></dt>
28
+ <dd>el nombre, si está configurado, del nodo que informó el estado.</dd>
29
+ </dl>
30
+ <h3>Detalles</h3>
31
+ <p>Este nodo no produce una <code>carga</code>.</p>
32
+ <p>De forma predeterminada, el nodo informa el estado de todos los nodos en la misma pestaña del espacio de trabajo.
33
+ Se puede configurar para informar selectivamente el estado de nodos individuales.</p>
34
+ </script>
@@ -0,0 +1,53 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="link in">
18
+ <p>Crea cables virtuales entre flujos.</p>
19
+ <h3>Detalles</h3>
20
+ <p>El nodo se puede conectar a cualquier nodo <code>enlace salida</code> que exista en cualquier pestaña. Una vez conectados, se comportan como si estuvieran conectados entre si.</p>
21
+ <p>Los cables entre los nodos de enlace solo se muestran cuando se selecciona un nodo de enlace. Si hay cables a otras pestañas, se muestra un nodo virtual en el que se puede hacer clic para saltar a la pestaña correspondiente.</p>
22
+ <p><b>Nota: </b>No se pueden crear enlaces que entren o salgan de un subflujo.</p>
23
+ </script>
24
+
25
+ <script type="text/html" data-help-name="link out">
26
+ <p>Crea cables virtuales entre flujos.</p>
27
+ <h3>Detalles</h3>
28
+ <p>Este nodo se puede configurar para enviar mensajes a todos los nodos <code>enlace entrada</code> a los que está conectado o para enviar una respuesta al nodo <code>enlace llamada</code> que activó el flujo.</p>
29
+ <p>Cuando está en modo 'enviar a todos', los cables entre los nodos de enlace solo se muestran cuando se selecciona el nodo. Si hay cables a otras pestañas, se muestra un nodo virtual en el que se puede hacer clic para saltar a la pestaña correspondiente.</p>
30
+ <p><b>Nota: </b>No se pueden crear enlaces que entren o salgan de un subflujo.</p>
31
+ </script>
32
+
33
+ <script type="text/html" data-help-name="link call">
34
+ <p>Llama a un flujo que comienza con un enlace <code>entrada</code> y transmite la respuesta.</p>
35
+ <h3>Entradas</h3>
36
+ <dl class="message-properties">
37
+ <dt class="optional">target<span class="property-type">texto</span></dt>
38
+ <dd>Cuando la opción <b>Tipo de enlace</b> está configurada en "Destino dinámico", establece <code>msg.target</code> al nombre del nodo <code>enlace entrada</code> al que quieres llamar.</dd>
39
+ </dl>
40
+ <h3>Detalles</h3>
41
+ <p>Este nodo se puede conectar a un nodo <code>enlace entrada</code> que existe en cualquier pestaña. El flujo conectado a ese nodo debe finalizar con un nodo <code>enlace salida</code> configurado en modo 'retorno'.</p>
42
+ <p>Cuando este nodo recibe un mensaje, se pasa al nodo <code>enlace entrada</code> conectado.
43
+ Luego espera una respuesta que enviará.</p>
44
+ <p>Si no se recibe respuesta dentro del tiempo de espera configurado, predeterminado de 30 segundos, el nodo registrará un error que se puede detectar utilizando el nodo <code>captura</code>.</p>
45
+ <p>Cuando la opción <b>Tipo de enlace</b> está configurada en "Destino dinámico", code>msg.target</code> puedes usarse para realizar una llamada al nodo <code>enlace entrada</code> por nombre o ID.
46
+ <ul>
47
+ <li>Si hay un nodo <code>enlace entrada</code> con el mismo ID, se llamará</li>
48
+ <li>Si hay dos o más nodos <code>enlace entrada</code> con el mismo nombre, se generará un error</li>
49
+ <li>Un <code>enlace llamada</code> no puede llamar a un nodo <code>enlace entrada</code> dentro de un subflujo</li>
50
+ </ul>
51
+ </p>
52
+ El flujo conectado a ese nodo debe finalizar con un nodo <code>enlace salida</code> configurado en modo 'retorno'.</p>
53
+ </script>
@@ -0,0 +1,21 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="comment">
18
+ <p>Un nodo que puedes utilizar para agregar comentarios a tus flujos.</p>
19
+ <h3>Detalles</h3>
20
+ <p>El panel de edición aceptará la sintaxis de Markdown. El texto se representará en el panel lateral de información.</p>
21
+ </script>
@@ -0,0 +1,3 @@
1
+ <script type="text/html" data-help-name="global-config">
2
+ <p>Un nodo para mantener la configuración global de flujos.</p>
3
+ </script>
@@ -0,0 +1,24 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="unknown">
18
+ <p>Este nodo es un tipo desconocido para tu instalación de Node-RED.</p>
19
+ <h3>Detalles</h3>
20
+ <p><i>Si realizas la instanciación con el nodo en este estado, se conservará tu configuración, pero el flujo no se iniciará hasta que se instales el tipo que falta.</i></p>
21
+ <p>Utiliza la opción <code>Menú - Administrar paleta</code> para buscar e instalar nodos, o <b>npm install &lt;module&gt;</b> para instalar cualquier módulo que falte, reinicia Node-RED y vuelva a importar los nodos.</p>
22
+ <p>Es posible que este tipo de nodo ya esté instalado, pero le falte una dependencia. Consulta el registro de inicio de Node-RED para ver si hay mensajes de error asociados con el tipo de nodo que falta.</p>
23
+ <p>De lo contrario, debe ponerse en contacto con el autor del flujo para obtener una copia del tipo de nodo que falta.</p>
24
+ </script>
@@ -0,0 +1,55 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="function">
18
+ <p>Una función de JavaScript que se ejecuta en los mensajes que recibe el nodo.</p>
19
+ <p>Los mensajes se pasan como un objeto JavaScript llamado <code>msg</code>.</p>
20
+ <p>Por convención, tendrá una propiedad <code>msg.payload</code> que contiene el cuerpo del mensaje.</p>
21
+ <p>Se espera que la función devuelva un objeto de mensaje (o varios objetos de mensaje), pero puede optar por no devolver nada para detener un flujo.</p>
22
+ <p>La pestaña <b>Al iniciar</b> contiene código que se ejecutará cada vez que se inicie el nodo. La pestaña <b>Al detener</b> contiene código que se ejecutará cuando se detenga el nodo.</p>
23
+ <p>Si el código <b>Al iniciar</b> devuelve un objeto Promise, el nodo no comenzará a manejar mensajes hasta que se resuelva la promesa.</p>
24
+ <h3>Detalles</h3>
25
+ <p>Ver la <a target="_blank" href="https://nodered.org/docs/writing-functions.html">documentación online</a> para obtener más información sobre cómo escribir funciones.</p>
26
+ <h4>Enviando mensajes</h4>
27
+ <p>La función puede devolver los mensajes que quieras pasar a los siguientes nodos del flujo o puede llamar a <code>node.send(messages)</code>.</p>
28
+ <p>Puede devolver/enviar:</p>
29
+ <ul>
30
+ <li>un único objeto de mensaje - pasado a los nodos conectados a la primera salida</li>
31
+ <li>una matriz de objetos de mensaje - pasados a nodos conectados a las salidas correspondientes</li>
32
+ </ul>
33
+ <p>Nota: El código de configuración se ejecuta durante la inicialización de los nodos. Por lo tanto, si se llama a <code>node.send</code> en la pestaña de configuración, es posible que los nodos posteriores no puedan recibir el mensaje.</p>
34
+ <p>Si algún elemento de la matriz es en sí mismo una matriz de mensajes, se envían varios mensajes a la salida correspondiente.</p>
35
+ <p>Si se devuelve nulo, ya sea solo o como elemento de la matriz, no se transmite ningún mensaje.</p>
36
+ <h4>Registro y manejo de errores</h4>
37
+ <p>Para registrar cualquier información o informar de un error, están disponibles las siguientes funciones:</p>
38
+ <ul>
39
+ <li><code>node.log("Log message")</code></li>
40
+ <li><code>node.warn("Warning")</code></li>
41
+ <li><code>node.error("Error")</code></li>
42
+ </ul>
43
+ </p>
44
+ <p>El nodo Captura (Catch) también se puede utilizar para gestionar errores. Para invocar un nodo Catch, pasa <code>msg</code> como segundo argumento a <code>node.error</code>:</p>
45
+ <pre>node.error("Error",msg);</pre>
46
+ <h4>Accediendo a la información del nodo</h4>
47
+ <p>Las siguientes propiedades están disponibles para acceder a información sobre el nodo:</p>
48
+ <ul>
49
+ <li><code>node.id</code> - identificación del nodo</li>
50
+ <li><code>node.name</code> - nombre del nodo</li>
51
+ <li><code>node.outputCount</code> - número de salidas de nodo</li>
52
+ </ul>
53
+ <h4>Usar variables de entorno</h4>
54
+ <p>Se puede acceder a las variables de entorno utilizando <code>env.get("MY_ENV_VAR")</code>.</p>
55
+ </script>
@@ -0,0 +1,37 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="switch">
18
+ <p>Enruta mensajes según los valores de sus propiedades o la posición de la secuencia.</p>
19
+ <h3>Detalles</h3>
20
+ <p>Cuando llega un mensaje, el nodo evaluará cada una de las reglas definidas y reenviará el mensaje a las salidas correspondientes de cualquier regla coincidente.</p>
21
+ <p>Opcionalmente, se puede configurar el nodo para que deje de evaluar reglas una vez que encuentre una que coincida.</p>
22
+ <p>Las reglas se pueden evaluar en función de una propiedad de mensaje individual, una propiedad de flujo o contexto global, una variable de entorno o el resultado de una expresión JSONata.</p>
23
+ <h4>Reglas</h4>
24
+ <p>Hay cuatro tipos de reglas.:</p>
25
+ <ol>
26
+ Las reglas <li><b>valor</b> se evalúan con respecto a la propiedad configurada</li>
27
+ Las reglas <li><b>Secuencia</b> se pueden utilizar en secuencias de mensajes, como las generadas por el nodo Dividir</li>
28
+ <li>Se puede proporcionar una <b>expresión</b> JSONata que se evaluará en relación con todo el mensaje y coincidirá si la expresión devuelve un valor verdadero.</li>
29
+ <li>Se puede utilizar una regla <b>de lo contrario</b> para hacer coincidir si ninguna de las reglas anteriores coincide.</li>
30
+ </ol>
31
+ <h4>Notas</h4>
32
+ <p>Las reglas <code>verdadero/falso</code> y <code>es nulo</code> realizan comparaciones estrictas con esos tipos. No convierten entre tipos.</p>
33
+ <p>Las reglas <code>está vacío</code> y <code>no está vacío</code> se pueden utilizar para probar la longitud de cadenas, matrices y buffers, o el número de propiedades que tiene un objeto. Ninguna regla se aprobará si la propiedad que se está probando tiene un valor <code>booleano</code>, <code>null</code> o <code>indefinido</code>.</p>
34
+ <h4>Manejo de secuencias de mensajes</h4>
35
+ <p>De forma predeterminada, el nodo no modifica la propiedad <code>msg.parts</code> de los mensajes que forman parte de una secuencia.</p>
36
+ <p>La opción <b>recrear secuencias de mensajes</b> se puede habilitar para generar nuevas secuencias de mensajes para cada regla que coincida. En este modo, el nodo almacenará en buffer toda la secuencia entrante antes de enviar las nuevas secuencias. La configuración de tiempo de ejecución <code>nodeMessageBufferMaxLength</code> se puede utilizar para limitar cuántos nodos de mensajes almacenarán en el buffer.</p>
37
+ </script>
@@ -0,0 +1,33 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="change">
18
+ <p>Establecer, cambiar, eliminar o mover propiedades de un mensaje, contexto de flujo o contexto global.</p>
19
+ <p>El nodo puede especificar múltiples reglas que se aplicarán en el orden en que se definan.</p>
20
+ <h3>Detalles</h3>
21
+ <p>Las operaciones disponibles son:</p>
22
+ <dl class="message-properties">
23
+ <dt>Establecer</dt>
24
+ <dd>establecer una propiedad. El valor puede ser de varios tipos diferentes o puede tomarse de un mensaje existente o de una propiedad de contexto.</dd>
25
+ <dt>Cambiar</dt>
26
+ <dd>buscar y reemplazar partes de la propiedad. Si las expresiones regulares están habilitadas, la propiedad "reemplazar con" puede incluir grupos de captura, por ejemplo <code>$1</code>. Reemplazar solo cambiará el tipo si hay una coincidencia completa.</dd>
27
+ <dt>Eliminar</dt>
28
+ <dd>eliminar una propiedad.</dd>
29
+ <dt>Mover</dt>
30
+ <dd>mover o cambiar el nombre de una propiedad.</dd>
31
+ </dl>
32
+ <p>El tipo "expresión" utiliza el lenguaje de consulta y expresión <a href="http://jsonata.org/" target="_new">JSONata</a>.</p>
33
+ </script>
@@ -0,0 +1,42 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="range">
18
+ <p>Asigna un valor numérico a un rango diferente.</p>
19
+ <h3>Entradas</h3>
20
+ <dl class="message-properties">
21
+ <dt>payload <span class="property-type">número</span></dt>
22
+ <dd>La carga <i>debe</i> ser un número. Cualquier otra cosa intentará analizarse como un número y rechazarse si falla.</dd>
23
+ </dl>
24
+ <h3>Salidas</h3>
25
+ <dl class="message-properties">
26
+ <dt>payload <span class="property-type">número</span></dt>
27
+ <dd>El valor asignado al nuevo rango.</dd>
28
+ </dl>
29
+ <h3>Detalles</h3>
30
+ <p>Este nodo escalará linealmente el valor recibido. De forma predeterminada, el resultado no está restringido al rango definido en el nodo.</p>
31
+ <p><i>Escalar y limitar al rango objetivo</i> significa que el resultado nunca estará fuera del rango especificado dentro del rango objetivo.</p>
32
+ <p><i>Escalar y ajustar dentro del rango objetivo</i> significa que el resultado se ajustará dentro del rango objetivo.</p>
33
+ <p><i>Escalar, pero eliminar si está fuera del rango de entrada</i> significa que el resultado se escalará, pero cualquier entrada fuera del rango de entrada y salida se eliminará.</p>
34
+ <p>Por ejemplo, una entrada 0 - 10 asignada a 0 - 100.</p>
35
+ <table style="outline-width:#888 solid thin">
36
+ <tr><th width="80px">modo</th><th width="80px">entrada</th><th width="80px">salida</th></tr>
37
+ <tr><td><center>scale</center></td><td><center>12</center></td><td><center>120</center></td></tr>
38
+ <tr><td><center>limit</center></td><td><center>12</center></td><td><center>100</center></td></tr>
39
+ <tr><td><center>wrap</center></td><td><center>12</center></td><td><center>20</center></td></tr>
40
+ <tr><td><center>drop</center></td><td><center>12</center></td><td><center><i>(sin salida)</i></center></td></tr>
41
+ </table>
42
+ </script>
@@ -0,0 +1,51 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="template">
18
+ <p>Establece una propiedad basada en la plantilla proporcionada.</p>
19
+ <h3>Entradas</h3>
20
+ <dl class="message-properties">
21
+ <dt>msg <span class="property-type">objeto</span></dt>
22
+ <dd>Un objeto de mensaje que contiene información para completar la plantilla.</dd>
23
+ <dt class="optional">template <span class="property-type">texto</span></dt>
24
+ <dd>Una plantilla que se completará desde <code>msg.payload</code>. Si no está configurado en el panel de edición, esto se puede configurar como una propiedad de msg.</dd>
25
+ </dl>
26
+ <h3>Salidas</h3>
27
+ <dl class="message-properties">
28
+ <dt>msg <span class="property-type">objeto</span></dt>
29
+ <dd>un mensaje con una propiedad establecida al completar la plantilla configurada con propiedades del mensaje entrante.</dd>
30
+ </dl>
31
+ <h3>Detalles</h3>
32
+ <p>De forma predeterminada, esto utiliza el formato <i><a href="http://mustache.github.io/mustache.5.html" target="_blank">mustache</a></i>, pero se puede desactivar si es necesario.</p>
33
+ <p>Por ejemplo, cuando una plantilla de:
34
+ <pre>Hola {{payload.name}}. Hoy es {{date}}</pre>
35
+ <p>recibe un mensaje que contiene:
36
+ <pre>{
37
+ date: "lunes",
38
+ payload: {
39
+ name: "Fred"
40
+ }
41
+ }</pre>
42
+ <p>La propiedad resultante será:
43
+ <pre>Hola Fred. Hoy es lunes</pre>
44
+ <p>Es posible utilizar una propiedad del contexto de flujo o del contexto global. Simplemente usa <code>{{flow.name}}</code> o <code>{{global.name}}</code>, o para el almacén persistente <code>store</code> usa <code>{{ flow[store].name}}</code> o <code>{{global[store].name}}</code>.
45
+ <p><b>Nota: </b>De forma predeterminada, <i>mustache</i> codificará cualquier entidad HTML o no alfanumérica en los valores que sustituye. Para evitar esto, utilice llaves <code>{{{triple}}}</code>.</p>
46
+ <p>Si necesita utilizar <code>{{ }}</code> en su contenido, puede cambiar los caracteres utilizados para marcar las secciones con plantilla. Por ejemplo, para usar <code>[[ ]]</code> en su lugar, agregue la siguiente línea en la parte superior de la plantilla:</p>
47
+ <pre>{{=[[ ]]=}}</pre>
48
+ <h4>Usando variables de entorno</h4>
49
+ <p>El nodo de plantilla puede acceder a variables de entorno utilizando la sintaxis:</p>
50
+ <pre>Mi color favorito es {{env.COLOUR}}.</pre>
51
+ </script>
@@ -0,0 +1,39 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="delay">
18
+ <p>Retrasa cada mensaje que pasa por el nodo o limita la velocidad a la que pueden pasar.</p>
19
+ <h3>Entradas</h3>
20
+ <dl class="message-properties">
21
+ <dt class="optional">delay <span class="property-type">número</span></dt>
22
+ <dd>Establece el retraso, en milisegundos, que se aplicará al mensaje. Esta opción solo se aplica si el nodo está configurado para permitir que el mensaje anule el intervalo de retardo predeterminado configurado.</dd>
23
+ <dt class="optional">rate <span class="property-type">número</span></dt>
24
+ <dd>Establece el valor de la tasa en milisegundos entre mensajes. Esta propiedad sobrescribe el valor de tasa existente definido en la configuración del nodo cuando recibe el mensaje que contiene el valor <code>msg.rate</code> en milisegundos. Esta opción solo se aplica si el nodo está configurado para permitir que el mensaje anule el intervalo de velocidad predeterminado configurado.</dd>
25
+ <dt class="optional">reset</dt>
26
+ <dd>Si el mensaje recibido tiene esta propiedad establecida en cualquier valor, todos los mensajes pendientes retenidos por el nodo se borran sin enviarse.</dd>
27
+ <dt class="optional">flush</dt>
28
+ <dd>Si el mensaje recibido tiene esta propiedad establecida en un valor numérico, esa cantidad de mensajes se publicará inmediatamente. Si se establece en cualquier otro tipo (por ejemplo, booleano), todos los mensajes pendientes retenidos por el nodo se envían inmediatamente.</dd>
29
+ <dt class="optional">toFront</dt>
30
+ <dd>Cuando está en modo de límite de velocidad, si el mensaje recibido tiene esta propiedad establecida en booleano <code>verdadero</code>, entonces el mensaje se envía al frente de la cola y se publicará a continuación. Esto se puede utilizar en combinación con <code>msg.flush=1</code> para reenviar inmediatamente.
31
+ </dd>
32
+ </dl>
33
+ <h3>Detalles</h3>
34
+ <p>Cuando se configura para retrasar mensajes, el intervalo de retraso puede ser un valor fijo, un valor aleatorio dentro de un rango o establecerse dinámicamente para cada mensaje. Cada mensaje se retrasa independientemente de cualquier otro mensaje, según la hora de su llegada.</p>
35
+ <p>Cuando se configura para calificar los mensajes con límite, su entrega se distribuye durante el período de tiempo configurado. El estado muestra la cantidad de mensajes actualmente en la cola. Opcionalmente, puede descartar mensajes intermedios a medida que llegan.</p>
36
+ <p>Si se configura para permitir modificar la frecuencia, la nueva tasa se aplicará inmediatamente y permanecerá vigente hasta que se cambie nuevamente, se restablezca el nodo o se reinicie el flujo.</p>
37
+ <p>La limitación de velocidad se puede aplicar a todos los mensajes o agruparlos según su valor <code>msg.topic</code>. Al agrupar, los mensajes intermedios se eliminan automáticamente. En cada intervalo de tiempo, el nodo puede publicar el mensaje más reciente para todos los temas o publicar el mensaje más reciente para el siguiente tema.</p>
38
+ <p><b>Nota</b>: En el modo de límite de velocidad, la profundidad máxima de la cola se puede establecer mediante una propiedad en su archivo <i>settings.js</i>. Por ejemplo <code>nodeMessageBufferMaxLength: 1000,</code></p>
39
+ </script>