<commit_before># node-red-contrib-wait-paths

![Alt text](example.jpg?raw=true "Optional Title")

Wait parallel branches to continue flow.
This node wait for any value in all defined variables in the configuration array of variables. It uses the context.flow to store temporary values until all variables are inicialized with values.
the variables must be/are stored under msg.paths["variable_name"].
When all variables are initialized with a value (through diferent arrived messages) then only one output message is sended, with all configured variables merged under msg.paths, and the temporary context.flow variables are deleted.
The key to store varibles in context.flow includes the msg._msgid value, to prevent merge of flow instances for example between parallel http request-response execution flow instances.

Initial properties interface must be improved. warning! Pending validation of json argument in properties.

## Example

```javascript
[{"id":"90bd5827.aa91f8","type":"inject","z":"d4c3ac41.1b7ad","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":109,"y":71.00000190734863,"wires":[["b6754421.af9328","92c7a271.f5e14"]]},{"id":"92c7a271.f5e14","type":"delay","z":"d4c3ac41.1b7ad","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":182,"y":150.00000381469727,"wires":[["1d8a1bc.691bfe4"]]},{"id":"1d8a1bc.691bfe4","type":"change","z":"d4c3ac41.1b7ad","name":"","rules":[{"t":"set","p":"paths[\"other_path\"]","pt":"msg","to":"{\"pepe\":\"true\",\"camino\":\"2\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":375,"y":214.00000476837158,"wires":[["dea7d157.7e525"]]},{"id":"b6754421.af9328","type":"change","z":"d4c3ac41.1b7ad","name":"","rules":[{"t":"set","p":"paths[\"path_1\"]","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":379.0000305175781,"y":91.00000286102295,"wires":[["dea7d157.7e525"]]},{"id":"dea7d157.7e525","type":"wait-paths","z":"d4c3ac41.1b7ad","name":"","paths":"[\"path_1\",\"other_path\"]","x":599.1666717529297,"y":157.88889122009277,"wires":[["855fe189.f8657"]]},{"id":"855fe189.f8657","type":"debug","z":"d4c3ac41.1b7ad","name":"","active":true,"console":"false","complete":"true","x":763.1000556945801,"y":207.60004806518555,"wires":[]}]
```<commit_msg>cambios en ejemplo<commit_after># node-red-contrib-wait-paths

![Alt text](example.jpg?raw=true "Optional Title")

Wait parallel branches to continue flow.
This node wait for any value in all defined variables in the configuration array of variables. It uses the context.flow to store temporary values until all variables are inicialized with values.
the variables must be/are stored under msg.paths["variable_name"].
When all variables are initialized with a value (through diferent arrived messages) then only one output message is sended, with all configured variables merged under msg.paths, and the temporary context.flow variables are deleted.
The key to store varibles in context.flow includes the msg._msgid value, to prevent merge of flow instances for example between parallel http request-response execution flow instances.

Initial properties interface must be improved. warning! Pending validation of json argument in properties.

## Example

```javascript
[{"id":"42bc4050.7b659","type":"inject","z":"53c0e5f0.e465fc","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":123,"y":77,"wires":[["8791c8ba.f5d388","77945912.9e95a8"]]},{"id":"77945912.9e95a8","type":"delay","z":"53c0e5f0.e465fc","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":196,"y":156.00000190734863,"wires":[["a057c6d2.c75488"]]},{"id":"a057c6d2.c75488","type":"change","z":"53c0e5f0.e465fc","name":"","rules":[{"t":"set","p":"paths[\"other_path\"]","pt":"msg","to":"{\"pepe\":\"true\",\"camino\":\"2\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":389,"y":220.00000286102295,"wires":[["3b52fab3.687a86"]]},{"id":"8791c8ba.f5d388","type":"change","z":"53c0e5f0.e465fc","name":"","rules":[{"t":"set","p":"paths[\"path_1\"]","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":393.0000305175781,"y":97.00000095367432,"wires":[["3b52fab3.687a86"]]},{"id":"3b52fab3.687a86","type":"wait-paths","z":"53c0e5f0.e465fc","name":"","paths":"[\"path_1\",\"other_path\"]","timeout":"15000","finalTimeout":"60000","x":613.1666717529297,"y":163.88888931274414,"wires":[["dec836b4.5ca998"]]},{"id":"dec836b4.5ca998","type":"debug","z":"53c0e5f0.e465fc","name":"","active":true,"console":"false","complete":"true","x":777.1000556945801,"y":213.6000461578369,"wires":[]}]
```
{'fraction_non_alphanumeric': 0.2563329312424608, 'fraction_numerical': 0.12685967028548453, 'mean_word_length': 11.563131313131313, 'pattern_counts': {'":': 174, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3446376', 'n_tokens_mistral': 2007, 'n_tokens_neox': 1668, 'n_words': 254}