@gregoriusrippenstein/node-red-contrib-introspection 0.6.3 → 0.6.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.
@@ -0,0 +1,700 @@
1
+ [
2
+ {
3
+ "id": "83845250ed044b44",
4
+ "type": "group",
5
+ "z": "2987ed484d13ec3d",
6
+ "name": "before",
7
+ "style": {
8
+ "label": true
9
+ },
10
+ "nodes": [
11
+ "93e6a6d72f4c6637",
12
+ "b59034ae165ce433",
13
+ "416a9d45070b67ed",
14
+ "3da9c9d604fdf082",
15
+ "9ad9f753392ea2de",
16
+ "f9771f77f9b73000",
17
+ "be08743c7d633c91",
18
+ "a2780b99386606f3",
19
+ "c2f31d8a5ae1d657",
20
+ "31fa15baf8d83e05",
21
+ "8b349b14f2aa5d4e",
22
+ "681198dca2591b3a",
23
+ "16538eb8086080d1",
24
+ "26792d12ddbc2e1d",
25
+ "e8a3ce7a828b747f",
26
+ "b15dcdd2b826754c",
27
+ "fc9827121147f2af",
28
+ "25cc50797bfd4852",
29
+ "e6e53d6782e45289"
30
+ ],
31
+ "x": 464,
32
+ "y": 450.4285731315613,
33
+ "w": 1373,
34
+ "h": 737.5714268684387
35
+ },
36
+ {
37
+ "id": "93e6a6d72f4c6637",
38
+ "type": "switch",
39
+ "z": "2987ed484d13ec3d",
40
+ "g": "83845250ed044b44",
41
+ "name": "",
42
+ "property": "payload",
43
+ "propertyType": "msg",
44
+ "rules": [
45
+ {
46
+ "t": "eq",
47
+ "v": "",
48
+ "vt": "str"
49
+ },
50
+ {
51
+ "t": "eq",
52
+ "v": "",
53
+ "vt": "str"
54
+ },
55
+ {
56
+ "t": "eq",
57
+ "v": "",
58
+ "vt": "str"
59
+ },
60
+ {
61
+ "t": "eq",
62
+ "v": "",
63
+ "vt": "str"
64
+ },
65
+ {
66
+ "t": "eq",
67
+ "v": "",
68
+ "vt": "str"
69
+ },
70
+ {
71
+ "t": "eq",
72
+ "v": "",
73
+ "vt": "str"
74
+ },
75
+ {
76
+ "t": "eq",
77
+ "v": "",
78
+ "vt": "str"
79
+ }
80
+ ],
81
+ "checkall": "true",
82
+ "repair": false,
83
+ "outputs": 7,
84
+ "x": 540,
85
+ "y": 643,
86
+ "wires": [
87
+ [
88
+ "25cc50797bfd4852"
89
+ ],
90
+ [
91
+ "31fa15baf8d83e05"
92
+ ],
93
+ [
94
+ "a2780b99386606f3"
95
+ ],
96
+ [
97
+ "fc9827121147f2af"
98
+ ],
99
+ [
100
+ "681198dca2591b3a"
101
+ ],
102
+ [
103
+ "31fa15baf8d83e05"
104
+ ],
105
+ [
106
+ "681198dca2591b3a"
107
+ ]
108
+ ]
109
+ },
110
+ {
111
+ "id": "b59034ae165ce433",
112
+ "type": "debug",
113
+ "z": "2987ed484d13ec3d",
114
+ "g": "83845250ed044b44",
115
+ "name": "debug 197",
116
+ "active": true,
117
+ "tosidebar": true,
118
+ "console": false,
119
+ "tostatus": false,
120
+ "complete": "false",
121
+ "statusVal": "",
122
+ "statusType": "auto",
123
+ "x": 1587,
124
+ "y": 587,
125
+ "wires": []
126
+ },
127
+ {
128
+ "id": "416a9d45070b67ed",
129
+ "type": "function",
130
+ "z": "2987ed484d13ec3d",
131
+ "g": "83845250ed044b44",
132
+ "name": "function 31",
133
+ "func": "\nreturn msg;",
134
+ "outputs": 1,
135
+ "timeout": 0,
136
+ "noerr": 0,
137
+ "initialize": "",
138
+ "finalize": "",
139
+ "libs": [],
140
+ "x": 1222,
141
+ "y": 658,
142
+ "wires": [
143
+ []
144
+ ]
145
+ },
146
+ {
147
+ "id": "3da9c9d604fdf082",
148
+ "type": "switch",
149
+ "z": "2987ed484d13ec3d",
150
+ "g": "83845250ed044b44",
151
+ "name": "",
152
+ "property": "payload",
153
+ "propertyType": "msg",
154
+ "rules": [
155
+ {
156
+ "t": "eq",
157
+ "v": "",
158
+ "vt": "str"
159
+ }
160
+ ],
161
+ "checkall": "true",
162
+ "repair": false,
163
+ "outputs": 1,
164
+ "x": 1205,
165
+ "y": 733,
166
+ "wires": [
167
+ [
168
+ "e8a3ce7a828b747f"
169
+ ]
170
+ ]
171
+ },
172
+ {
173
+ "id": "9ad9f753392ea2de",
174
+ "type": "switch",
175
+ "z": "2987ed484d13ec3d",
176
+ "g": "83845250ed044b44",
177
+ "name": "",
178
+ "property": "payload",
179
+ "propertyType": "msg",
180
+ "rules": [
181
+ {
182
+ "t": "eq",
183
+ "v": "",
184
+ "vt": "str"
185
+ }
186
+ ],
187
+ "checkall": "true",
188
+ "repair": false,
189
+ "outputs": 1,
190
+ "x": 1225,
191
+ "y": 806,
192
+ "wires": [
193
+ [
194
+ "e6e53d6782e45289"
195
+ ]
196
+ ]
197
+ },
198
+ {
199
+ "id": "f9771f77f9b73000",
200
+ "type": "link out",
201
+ "z": "2987ed484d13ec3d",
202
+ "g": "83845250ed044b44",
203
+ "name": "link out 137",
204
+ "mode": "link",
205
+ "links": [
206
+ "be08743c7d633c91",
207
+ "907eee20f82107d5"
208
+ ],
209
+ "x": 1052,
210
+ "y": 971,
211
+ "wires": []
212
+ },
213
+ {
214
+ "id": "be08743c7d633c91",
215
+ "type": "link in",
216
+ "z": "2987ed484d13ec3d",
217
+ "g": "83845250ed044b44",
218
+ "name": "link in 7",
219
+ "links": [
220
+ "f9771f77f9b73000",
221
+ "681198dca2591b3a"
222
+ ],
223
+ "x": 1140,
224
+ "y": 806,
225
+ "wires": [
226
+ [
227
+ "9ad9f753392ea2de"
228
+ ]
229
+ ]
230
+ },
231
+ {
232
+ "id": "a2780b99386606f3",
233
+ "type": "link out",
234
+ "z": "2987ed484d13ec3d",
235
+ "g": "83845250ed044b44",
236
+ "name": "link out 138",
237
+ "mode": "link",
238
+ "links": [
239
+ "c2f31d8a5ae1d657",
240
+ "2a517164a1b3c0b3"
241
+ ],
242
+ "x": 887,
243
+ "y": 742,
244
+ "wires": []
245
+ },
246
+ {
247
+ "id": "c2f31d8a5ae1d657",
248
+ "type": "link in",
249
+ "z": "2987ed484d13ec3d",
250
+ "g": "83845250ed044b44",
251
+ "name": "link in 8",
252
+ "links": [
253
+ "a2780b99386606f3"
254
+ ],
255
+ "x": 1120,
256
+ "y": 733,
257
+ "wires": [
258
+ [
259
+ "3da9c9d604fdf082"
260
+ ]
261
+ ]
262
+ },
263
+ {
264
+ "id": "31fa15baf8d83e05",
265
+ "type": "link out",
266
+ "z": "2987ed484d13ec3d",
267
+ "g": "83845250ed044b44",
268
+ "name": "link out 139",
269
+ "mode": "link",
270
+ "links": [
271
+ "8b349b14f2aa5d4e",
272
+ "3a52f33b8723488c"
273
+ ],
274
+ "x": 881,
275
+ "y": 664,
276
+ "wires": []
277
+ },
278
+ {
279
+ "id": "8b349b14f2aa5d4e",
280
+ "type": "link in",
281
+ "z": "2987ed484d13ec3d",
282
+ "g": "83845250ed044b44",
283
+ "name": "link in 9",
284
+ "links": [
285
+ "31fa15baf8d83e05"
286
+ ],
287
+ "x": 1119,
288
+ "y": 658,
289
+ "wires": [
290
+ [
291
+ "416a9d45070b67ed"
292
+ ]
293
+ ]
294
+ },
295
+ {
296
+ "id": "681198dca2591b3a",
297
+ "type": "link out",
298
+ "z": "2987ed484d13ec3d",
299
+ "g": "83845250ed044b44",
300
+ "name": "link out 140",
301
+ "mode": "link",
302
+ "links": [
303
+ "be08743c7d633c91",
304
+ "907eee20f82107d5"
305
+ ],
306
+ "x": 830,
307
+ "y": 1038,
308
+ "wires": []
309
+ },
310
+ {
311
+ "id": "16538eb8086080d1",
312
+ "type": "function",
313
+ "z": "2987ed484d13ec3d",
314
+ "g": "83845250ed044b44",
315
+ "name": "function 32",
316
+ "func": "\nreturn msg;",
317
+ "outputs": 1,
318
+ "timeout": 0,
319
+ "noerr": 0,
320
+ "initialize": "",
321
+ "finalize": "",
322
+ "libs": [],
323
+ "x": 1526,
324
+ "y": 734,
325
+ "wires": [
326
+ [
327
+ "26792d12ddbc2e1d"
328
+ ]
329
+ ]
330
+ },
331
+ {
332
+ "id": "26792d12ddbc2e1d",
333
+ "type": "debug",
334
+ "z": "2987ed484d13ec3d",
335
+ "g": "83845250ed044b44",
336
+ "name": "debug 198",
337
+ "active": true,
338
+ "tosidebar": true,
339
+ "console": false,
340
+ "tostatus": false,
341
+ "complete": "false",
342
+ "statusVal": "",
343
+ "statusType": "auto",
344
+ "x": 1721,
345
+ "y": 827,
346
+ "wires": []
347
+ },
348
+ {
349
+ "id": "e8a3ce7a828b747f",
350
+ "type": "debug",
351
+ "z": "2987ed484d13ec3d",
352
+ "g": "83845250ed044b44",
353
+ "name": "debug 199",
354
+ "active": true,
355
+ "tosidebar": true,
356
+ "console": false,
357
+ "tostatus": false,
358
+ "complete": "false",
359
+ "statusVal": "",
360
+ "statusType": "auto",
361
+ "x": 1484,
362
+ "y": 670,
363
+ "wires": []
364
+ },
365
+ {
366
+ "id": "b15dcdd2b826754c",
367
+ "type": "inject",
368
+ "z": "2987ed484d13ec3d",
369
+ "g": "83845250ed044b44",
370
+ "name": "",
371
+ "props": [
372
+ {
373
+ "p": "payload"
374
+ },
375
+ {
376
+ "p": "topic",
377
+ "vt": "str"
378
+ }
379
+ ],
380
+ "repeat": "",
381
+ "crontab": "",
382
+ "once": false,
383
+ "onceDelay": 0.1,
384
+ "topic": "",
385
+ "payload": "",
386
+ "payloadType": "date",
387
+ "x": 824,
388
+ "y": 1147,
389
+ "wires": [
390
+ [
391
+ "f9771f77f9b73000"
392
+ ]
393
+ ]
394
+ },
395
+ {
396
+ "id": "fc9827121147f2af",
397
+ "type": "junction",
398
+ "z": "2987ed484d13ec3d",
399
+ "g": "83845250ed044b44",
400
+ "x": 814,
401
+ "y": 807,
402
+ "wires": [
403
+ [
404
+ "f9771f77f9b73000"
405
+ ]
406
+ ]
407
+ },
408
+ {
409
+ "id": "25cc50797bfd4852",
410
+ "type": "junction",
411
+ "z": "2987ed484d13ec3d",
412
+ "g": "83845250ed044b44",
413
+ "x": 1049.8571391105652,
414
+ "y": 476.4285731315613,
415
+ "wires": [
416
+ [
417
+ "b59034ae165ce433"
418
+ ]
419
+ ]
420
+ },
421
+ {
422
+ "id": "e6e53d6782e45289",
423
+ "type": "junction",
424
+ "z": "2987ed484d13ec3d",
425
+ "g": "83845250ed044b44",
426
+ "x": 1415.4285974502563,
427
+ "y": 957.7142782211304,
428
+ "wires": [
429
+ [
430
+ "16538eb8086080d1"
431
+ ]
432
+ ]
433
+ },
434
+ {
435
+ "id": "f04901be1c0aa5d9",
436
+ "type": "group",
437
+ "z": "2987ed484d13ec3d",
438
+ "name": "after coalesce junctions and link nodes, remove debugs and groups",
439
+ "style": {
440
+ "label": true
441
+ },
442
+ "nodes": [
443
+ "cc6f24e2614cf3e8",
444
+ "60612452d52607c6",
445
+ "6122ff56c108fd1f",
446
+ "95364fd2983d5bd2",
447
+ "907eee20f82107d5",
448
+ "2a517164a1b3c0b3",
449
+ "3a52f33b8723488c",
450
+ "0421485641430a9b",
451
+ "a0484aa0b4136358"
452
+ ],
453
+ "x": 582,
454
+ "y": 1461.5,
455
+ "w": 1158,
456
+ "h": 623.5
457
+ },
458
+ {
459
+ "id": "cc6f24e2614cf3e8",
460
+ "type": "switch",
461
+ "z": "2987ed484d13ec3d",
462
+ "g": "f04901be1c0aa5d9",
463
+ "name": "",
464
+ "property": "payload",
465
+ "propertyType": "msg",
466
+ "rules": [
467
+ {
468
+ "t": "eq",
469
+ "v": "",
470
+ "vt": "str"
471
+ },
472
+ {
473
+ "t": "eq",
474
+ "v": "",
475
+ "vt": "str"
476
+ },
477
+ {
478
+ "t": "eq",
479
+ "v": "",
480
+ "vt": "str"
481
+ },
482
+ {
483
+ "t": "eq",
484
+ "v": "",
485
+ "vt": "str"
486
+ },
487
+ {
488
+ "t": "eq",
489
+ "v": "",
490
+ "vt": "str"
491
+ },
492
+ {
493
+ "t": "eq",
494
+ "v": "",
495
+ "vt": "str"
496
+ },
497
+ {
498
+ "t": "eq",
499
+ "v": "",
500
+ "vt": "str"
501
+ }
502
+ ],
503
+ "checkall": "true",
504
+ "repair": false,
505
+ "outputs": 7,
506
+ "x": 658,
507
+ "y": 1540,
508
+ "wires": [
509
+ [],
510
+ [
511
+ "60612452d52607c6"
512
+ ],
513
+ [
514
+ "6122ff56c108fd1f"
515
+ ],
516
+ [
517
+ "95364fd2983d5bd2"
518
+ ],
519
+ [
520
+ "95364fd2983d5bd2"
521
+ ],
522
+ [
523
+ "60612452d52607c6"
524
+ ],
525
+ [
526
+ "95364fd2983d5bd2"
527
+ ]
528
+ ]
529
+ },
530
+ {
531
+ "id": "60612452d52607c6",
532
+ "type": "function",
533
+ "z": "2987ed484d13ec3d",
534
+ "g": "f04901be1c0aa5d9",
535
+ "name": "function 31",
536
+ "func": "\nreturn msg;",
537
+ "outputs": 1,
538
+ "timeout": 0,
539
+ "noerr": 0,
540
+ "initialize": "",
541
+ "finalize": "",
542
+ "libs": [],
543
+ "x": 1340,
544
+ "y": 1555,
545
+ "wires": [
546
+ []
547
+ ]
548
+ },
549
+ {
550
+ "id": "6122ff56c108fd1f",
551
+ "type": "switch",
552
+ "z": "2987ed484d13ec3d",
553
+ "g": "f04901be1c0aa5d9",
554
+ "name": "",
555
+ "property": "payload",
556
+ "propertyType": "msg",
557
+ "rules": [
558
+ {
559
+ "t": "eq",
560
+ "v": "",
561
+ "vt": "str"
562
+ }
563
+ ],
564
+ "checkall": "true",
565
+ "repair": false,
566
+ "outputs": 1,
567
+ "x": 1323,
568
+ "y": 1630,
569
+ "wires": [
570
+ []
571
+ ]
572
+ },
573
+ {
574
+ "id": "95364fd2983d5bd2",
575
+ "type": "switch",
576
+ "z": "2987ed484d13ec3d",
577
+ "g": "f04901be1c0aa5d9",
578
+ "name": "",
579
+ "property": "payload",
580
+ "propertyType": "msg",
581
+ "rules": [
582
+ {
583
+ "t": "eq",
584
+ "v": "",
585
+ "vt": "str"
586
+ }
587
+ ],
588
+ "checkall": "true",
589
+ "repair": false,
590
+ "outputs": 1,
591
+ "x": 1343,
592
+ "y": 1703,
593
+ "wires": [
594
+ [
595
+ "0421485641430a9b"
596
+ ]
597
+ ]
598
+ },
599
+ {
600
+ "id": "907eee20f82107d5",
601
+ "type": "link in",
602
+ "z": "2987ed484d13ec3d",
603
+ "g": "f04901be1c0aa5d9",
604
+ "name": "link in 7",
605
+ "links": [
606
+ "f9771f77f9b73000",
607
+ "681198dca2591b3a"
608
+ ],
609
+ "x": 1258,
610
+ "y": 1703,
611
+ "wires": [
612
+ [
613
+ "95364fd2983d5bd2"
614
+ ]
615
+ ]
616
+ },
617
+ {
618
+ "id": "2a517164a1b3c0b3",
619
+ "type": "link in",
620
+ "z": "2987ed484d13ec3d",
621
+ "g": "f04901be1c0aa5d9",
622
+ "name": "link in 8",
623
+ "links": [
624
+ "a2780b99386606f3"
625
+ ],
626
+ "x": 1238,
627
+ "y": 1630,
628
+ "wires": [
629
+ [
630
+ "6122ff56c108fd1f"
631
+ ]
632
+ ]
633
+ },
634
+ {
635
+ "id": "3a52f33b8723488c",
636
+ "type": "link in",
637
+ "z": "2987ed484d13ec3d",
638
+ "g": "f04901be1c0aa5d9",
639
+ "name": "link in 9",
640
+ "links": [
641
+ "31fa15baf8d83e05"
642
+ ],
643
+ "x": 1237,
644
+ "y": 1555,
645
+ "wires": [
646
+ [
647
+ "60612452d52607c6"
648
+ ]
649
+ ]
650
+ },
651
+ {
652
+ "id": "0421485641430a9b",
653
+ "type": "function",
654
+ "z": "2987ed484d13ec3d",
655
+ "g": "f04901be1c0aa5d9",
656
+ "name": "function 32",
657
+ "func": "\nreturn msg;",
658
+ "outputs": 1,
659
+ "timeout": 0,
660
+ "noerr": 0,
661
+ "initialize": "",
662
+ "finalize": "",
663
+ "libs": [],
664
+ "x": 1644,
665
+ "y": 1631,
666
+ "wires": [
667
+ []
668
+ ]
669
+ },
670
+ {
671
+ "id": "a0484aa0b4136358",
672
+ "type": "inject",
673
+ "z": "2987ed484d13ec3d",
674
+ "g": "f04901be1c0aa5d9",
675
+ "name": "",
676
+ "props": [
677
+ {
678
+ "p": "payload"
679
+ },
680
+ {
681
+ "p": "topic",
682
+ "vt": "str"
683
+ }
684
+ ],
685
+ "repeat": "",
686
+ "crontab": "",
687
+ "once": false,
688
+ "onceDelay": 0.1,
689
+ "topic": "",
690
+ "payload": "",
691
+ "payloadType": "date",
692
+ "x": 942,
693
+ "y": 2044,
694
+ "wires": [
695
+ [
696
+ "95364fd2983d5bd2"
697
+ ]
698
+ ]
699
+ }
700
+ ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gregoriusrippenstein/node-red-contrib-introspection",
3
- "version": "0.6.3",
3
+ "version": "0.6.5",
4
4
  "dependencies": {
5
5
  "got": "^13",
6
6
  "uglify-js": "^3.17.4"
@@ -2,7 +2,7 @@
2
2
  (function() {
3
3
  var globalRefToSvgData;
4
4
 
5
- let obfuscateHelpers={getFlowDataFromCurrentWorkspace:e=>{var e=e||RED.workspaces.active(),t=RED.nodes.groups(e),e=(t=(t=t.concat(RED.nodes.junctions(e))).concat(RED.nodes.filterNodes({z:e})),RED.nodes.eachConfig(function(e){e.z===RED.workspaces.active()&&!1===e._def.hasUsers&&t.push(e)}),RED.nodes.workspace(e)||RED.nodes.subflow(e));return t.unshift(e),RED.nodes.createExportableNodeSet(t)},openImportDialog:e=>{RED.clipboard.import();let t=e;setTimeout(()=>{$("#red-ui-clipboard-dialog-import-text").val(JSON.stringify(t)).trigger("paste")},300)}};function obfuscatieCurrentFlow(t){let c=obfuscateHelpers.getFlowDataFromCurrentWorkspace(),u=(t.remove_groups&&(c=c.filter(e=>"group"!=e.type)).forEach(e=>{delete e.g}),{}),r=[],s={},d={},o={},i=[],a={};if(c.forEach(e=>{"subflow"==(u[e.id]=e).type&&(a[e.id]=e),"junction"==e.type&&(s[e.id]=e),"link out"==e.type&&(o[e.id]=e),"link in"==e.type&&(d[e.id]=e),"link call"==e.type&&i.push(e.id),!t.javascript||"javascript"!=e.format&&"function"!=e.type||r.push(e)}),t.remove_junctions&&(Object.keys(s).forEach(o=>{let i=s[o];a[i.z]||c.forEach(t=>{for(let e=0;e<(t.wires||[]).length;e++){var r=t.wires[e].indexOf(o);-1<r&&(t.wires[e].splice(r,1),t.wires[e].push(...i.wires[0]))}})}),c=c.filter(e=>!("junction"==e.type&&!a[e.z]))),t.remove_linknodes){let r=[],l=(Object.keys(o).forEach(i=>{var e=o[i],t=e.links||[];t.reduce((e,t)=>e&&!!d[t],!0)&&"return"!=e.mode&&(r.push(i),t.forEach(o=>{d[o]&&c.forEach(t=>{for(let e=0;e<(t.wires||[]).length;e++){var r=t.wires[e].indexOf(i);-1<r&&(t.wires[e].splice(r,1),t.wires[e].push(...d[o].wires[0]))}})}))}),(o,e)=>{let t=[],i=[],r=[];function n(e){if(r.indexOf(e.id)<0)if(r.push(e.id),t.push(e),"link out"===e.type){if("return"!=e.mode)throw"not handable"}else RED.nodes.getNodeLinks(e).forEach(function(e){n(e.target)})}try{RED.nodes.getNodeLinks(e).forEach(function(e){n(e.target),i.push(e.target.id)});let r={};var s=t.map(e=>{var t={...u[e.id]};return t.id=RED.nodes.id(),t.x=o.x,t.y=o.y,r[e.id]=t});return s.forEach(e=>{e.wires&&(e.wires=e.wires.map(e=>e.map(e=>{var t=r[e];return"link out"==t.type?[...o.wires[0],(t||{}).id||e]:(t||{}).id||e}).flat()))}),{nodes:s.filter(e=>"link out"!=e.type),entryNodes:i.map(e=>r[e])}}catch(e){return console.log(e),!1}}),t=[],p=[];i.forEach(n=>{let s=u[n],a=d[s.links[0]];a&&l(s,a)&&(t.push(s.id),c.forEach(t=>{for(let e=0;e<(t.wires||[]).length;e++){var r,o,i=t.wires[e].indexOf(n);-1<i&&(o=(r=l(s,a)).entryNodes.map(e=>e.id),t.wires[e].splice(i,1),t.wires[e].push(...o),p.push(...r.nodes))}}))}),(c=c.filter(e=>r.indexOf(e.id)<0&&t.indexOf(e.id)<0)).push(...p)}var e;c.forEach(e=>{t.name&&(e.name=e.id),t.info&&(e.info="",delete e.outputLabels,delete e.inputLabels),t.position&&(e.x=150,e.y=150),t.remove_icons&&delete e.icon}),0<r.length?(e={parse:{},compress:{},mangle:{reserved:["$","export","require"]},output:null,sourceMap:null,nameCache:null,toplevel:!1,warnings:!1},$.ajax({url:"ClientCode/"+RED.nodes.id()+"/ugify",type:"POST",contentType:"application/json; charset=utf-8",data:JSON.stringify({nodes:r,cfg:e}),success:function(e){e.forEach(e=>{var t=u[e.id];"function"==t.type?t.func=e.func:"javascript"==t.format&&(t.template=e.template)}),obfuscateHelpers.openImportDialog(c)},error:function(e,t,r){RED.notify("ClientCode Communcation Failure: "+n.id+": "+t,{type:"error",timeout:3e3})}})):obfuscateHelpers.openImportDialog(c)}
5
+ let obfuscateHelpers={getFlowDataFromCurrentWorkspace:e=>{var e=e||RED.workspaces.active(),r=RED.nodes.groups(e),e=(r=(r=r.concat(RED.nodes.junctions(e))).concat(RED.nodes.filterNodes({z:e})),RED.nodes.eachConfig(function(e){e.z===RED.workspaces.active()&&!1===e._def.hasUsers&&r.push(e)}),RED.nodes.workspace(e)||RED.nodes.subflow(e));return r.unshift(e),RED.nodes.createExportableNodeSet(r)},openImportDialog:e=>{RED.clipboard.import();let r=e;setTimeout(()=>{$("#red-ui-clipboard-dialog-import-text").val(JSON.stringify(r)).trigger("paste")},300)}};function obfuscatieCurrentFlow(r){let l=obfuscateHelpers.getFlowDataFromCurrentWorkspace(),u=(r.remove_groups&&(l=l.filter(e=>"group"!=e.type)).forEach(e=>{delete e.g}),{}),o=[],s={},d={},c={},i=[],a={};if(l.forEach(e=>{"subflow"==(u[e.id]=e).type&&(a[e.id]=e),"junction"==e.type&&(s[e.id]=e),"link out"==e.type&&(c[e.id]=e),"link in"==e.type&&(d[e.id]=e),"link call"==e.type&&i.push(e.id),!r.javascript||"javascript"!=e.format&&"function"!=e.type||o.push(e)}),r.remove_junctions&&(Object.keys(s).forEach(t=>{let i=s[t];a[i.z]||l.forEach(r=>{for(let e=0;e<(r.wires||[]).length;e++){var o=r.wires[e].indexOf(t);-1<o&&(r.wires[e].splice(o,1),r.wires[e].push(...i.wires[0]))}})}),l=l.filter(e=>!("junction"==e.type&&!a[e.z]))),r.remove_linkout_nodes||r.remove_linkcall_nodes){let t=[],o=[],s=[],a=(r.remove_linkout_nodes&&!r.copy_linkin_nodes&&Object.keys(c).forEach(i=>{var e=c[i],r=e.links||[];r.reduce((e,r)=>e&&!!d[r],!0)&&"return"!=e.mode&&(t.push(i),r.forEach(t=>{l.forEach(r=>{for(let e=0;e<(r.wires||[]).length;e++){var o=r.wires[e].indexOf(i);-1<o&&(r.wires[e].splice(o,1),r.wires[e].push(...d[t].wires[0]))}})}))}),(i,e)=>{if(!e)return!1;let r=[],n=[],o=[];function s(e){if(o.indexOf(e.id)<0)if(o.push(e.id),r.push(e),"link out"===e.type){if("return"!=e.mode)throw"not handable"}else RED.nodes.getNodeLinks(e).forEach(function(e){s(e.target)})}try{if(RED.nodes.getNodeLinks(e).forEach(function(e){s(e.target),n.push(e.target.id)}),0==r.length)return!1;let o={};var a=r[0];let t={x:i.x-a.x,y:i.y-a.y};var l=r.map(e=>{var r=structuredClone(u[e.id]);return r||console.log("WARNING: nodeid not found",[e.id,u[e.id]]),r.id=RED.nodes.id(),r.x+=t.x,r.y+=t.y,o[e.id]=r});return l.forEach(e=>{e.wires&&(e.wires=e.wires.map(e=>e.map(e=>{var r=o[e];return r&&"link out"==r.type?[...i.wires[0],(r||{}).id||e]:(r||{}).id||e}).flat()))}),{nodes:l.filter(e=>"link out"!=e.type),entryNodes:n.map(e=>o[e])}}catch(e){return console.log(e),!1}});r.remove_linkout_nodes&&r.copy_linkin_nodes&&Object.keys(c).forEach(n=>{let o=c[n];var e=o.links||[];"return"!=o.mode&&(e=e.map(e=>{var r=d[e],r=a(o,r);if(r)return[e,r]})).reduce((e,r)=>e&&!!r,!0)&&(t.push(n),e.forEach(([,i])=>{l.forEach(r=>{for(let e=0;e<(r.wires||[]).length;e++){var o,t=r.wires[e].indexOf(n);-1<t&&(o=i.entryNodes.map(e=>e.id),r.wires[e].splice(t,1),r.wires[e].push(...o),s.push(...i.nodes))}})}))}),r.remove_linkcall_nodes&&i.forEach(i=>{var e=u[i],r=d[e.links[0]];let n=a(e,r);r&&n&&(o.push(e.id),l.forEach(r=>{for(let e=0;e<(r.wires||[]).length;e++){var o,t=r.wires[e].indexOf(i);-1<t&&(o=n.entryNodes.map(e=>e.id),r.wires[e].splice(t,1),r.wires[e].push(...o),s.push(...n.nodes))}}))}),(l=l.filter(e=>t.indexOf(e.id)<0&&o.indexOf(e.id)<0)).push(...s)}var e;(l=r.remove_debugs?l.filter(e=>"debug"!=e.type):l).forEach(e=>{r.name&&(e.name=e.id),r.info&&(e.info="",delete e.outputLabels,delete e.inputLabels),r.position&&(e.x=150,e.y=150),r.remove_icons&&delete e.icon}),0<o.length?(e={parse:{},compress:{},mangle:{reserved:["$","export","require"]},output:null,sourceMap:null,nameCache:null,toplevel:!1,warnings:!1},$.ajax({url:"ClientCode/"+RED.nodes.id()+"/ugify",type:"POST",contentType:"application/json; charset=utf-8",data:JSON.stringify({nodes:o,cfg:e}),success:function(e){e.forEach(e=>{var r=u[e.id];"function"==r.type?r.func=e.func:"javascript"==r.format&&(r.template=e.template)}),obfuscateHelpers.openImportDialog(l)},error:function(e,r,o){RED.notify("ClientCode Communcation Failure: "+n.id+": "+r,{type:"error",timeout:3e3})}})):obfuscateHelpers.openImportDialog(l)}
6
6
 
7
7
  function setupTreelist(){var e=collectOrphans();if(0==e.length){RED.notify("No Orphans Found",{type:"warning",timeout:2e3});try{$("#node-input-orphan-target-container-div").treeList("empty")}catch(e){}}else{try{$("#node-input-orphan-target-container-div").treeList("empty")}catch(e){$("#node-input-orphan-target-container-div").css({width:"100%",height:"calc(100%)"}).treeList({multi:!1}).on("treelistitemmouseover",function(e,t){}).on("treelistitemmouseout",function(e,t){}).on("treelistselect",function(e,t){t.node&&(RED.workspaces.show(t.node.z,!1,!1,!0),RED.view.reveal(t.node.id,!0),RED.view.redraw())}).on("treelistconfirm",function(e,t){var n;t.node&&(n=t.node.id,setTimeout(()=>{var e=RED.nodes.node(n);e&&(RED.view.reveal(e.id),RED.view.select(e.id),RED.editor.edit(e)),n==RED.workspaces.active()&&RED.workspaces.edit()},50))}),$("#node-input-orphan-target-filter").show();var n=$("#node-input-orphan-target-filter").searchBox({style:"compact",delay:300,change:function(){var e,t=$(this).val().trim().toLowerCase();""===t?($("#node-input-orphan-target-container-div").treeList("filter",null),n.searchBox("count","")):(e=$("#node-input-orphan-target-container-div").treeList("filter",function(e){return-1<e.label.toLowerCase().indexOf(t)||-1<e.node.type.toLowerCase().indexOf(t)}),n.searchBox("count",e+" / "+$("#node-input-orphan-target-container-div").treeList("data").length))}})}$("#node-input-orphan-target-container-div").treeList("data",e.sort((e,t)=>e.node.z>t.node.z))}}function collectOrphans(){const t=new Set;var n=[],i=(RED.nodes.eachLink(e=>{t.add(e.source),t.add(e.target)}),RED.nodes.eachNode(e=>{t.has(e)||n.push(e)}),[]),r={};return n.forEach(function(e){var t=RED.nodes.getType(e.type);if(t){var n=t.label,n=("function"==typeof n?n.call(e):n)||"",o=e.type;if(0===o.indexOf("subflow:"))return}t&&n||(n=e.type),r[e.id]={node:e,label:n,sublabel:o,selected:!1,checkbox:!1},i.push(r[e.id])}),i}
8
8
 
@@ -68,9 +68,14 @@
68
68
  position: $('#node-input-obfuscate-position').is(":checked"),
69
69
  remove_groups: $('#node-input-obfuscate-remove-groups').is(":checked"),
70
70
  javascript: $('#node-input-obfuscate-javascript').is(":checked"),
71
+
71
72
  remove_junctions: $('#node-input-obfuscate-remove-junctions').is(":checked"),
72
- remove_linknodes: $('#node-input-obfuscate-remove-linknodes').is(":checked"),
73
73
  remove_icons: $('#node-input-obfuscate-remove-icons').is(":checked"),
74
+ remove_debugs: $('#node-input-obfuscate-remove-debugs').is(":checked"),
75
+
76
+ remove_linkout_nodes: $('#node-input-obfuscate-remove-linknodes').is(":checked"),
77
+ copy_linkin_nodes: $('#node-input-obfuscate-copy-linkin-nodes').is(":checked"),
78
+ remove_linkcall_nodes: $("#node-input-obfuscate-remove-linkcall-nodes").is(":checked"),
74
79
  })
75
80
  })
76
81
 
@@ -139,7 +144,7 @@
139
144
  width: 100% !important;
140
145
  }
141
146
  .w-30 {
142
- width: 30% !important;
147
+ width: 40% !important;
143
148
  margin-left: 10px;
144
149
  }
145
150
  </style>
@@ -216,27 +221,37 @@
216
221
  style="display:inline-block; width:15px; vertical-align:baseline;">
217
222
  </div>
218
223
 
219
- <div class="form-row col-100">
220
- <label for="node-input-obfuscate-remove-icons" class="w-30">
221
- <i class="fa fa-tag"></i>
222
- <span>Remove Icon?</span>
223
- </label>
224
- <input type="checkbox" checked=checked id="node-input-obfuscate-remove-icons"
225
- style="display:inline-block; width:15px; vertical-align:baseline;">
226
- </div>
227
-
228
224
  <div class="form-row">
229
225
  <label for="node-input-obfuscate-position" class="w-30">
230
- <i class="fa fa-map-pin"></i>
231
- <span>Obfuscate Position?</span>
226
+ <i class="fa fa-map-pin"></i>
227
+ <span>Obfuscate Position?</span>
232
228
  </label>
233
229
  <input type="checkbox" checked=checked id="node-input-obfuscate-position"
234
230
  style="display:inline-block; width:15px; vertical-align:baseline;">
235
231
  </div>
232
+
233
+ <div class="form-row">
234
+ <label for="node-input-obfuscate-javascript" class="w-30">
235
+ <i class="fa fa-code"></i>
236
+ <span>Obfuscate Javascript?</span>
237
+ </label>
238
+ <input type="checkbox" checked=checked id="node-input-obfuscate-javascript"
239
+ style="display:inline-block; width:15px; vertical-align:baseline;">
240
+ </div>
241
+
242
+ <div class="form-row col-100">
243
+ <label for="node-input-obfuscate-remove-icons" class="w-30">
244
+ <i class="fa fa-adjust"></i>
245
+ <span>Remove Icon?</span>
246
+ </label>
247
+ <input type="checkbox" checked=checked id="node-input-obfuscate-remove-icons"
248
+ style="display:inline-block; width:15px; vertical-align:baseline;">
249
+ </div>
250
+
236
251
  <div class="form-row">
237
252
  <label for="node-input-obfuscate-info" class="w-30">
238
- <i class="fa fa-info"></i>
239
- <span>Obfuscate Info?</span>
253
+ <i class="fa fa-info"></i>
254
+ <span>Remove Info?</span>
240
255
  </label>
241
256
  <input type="checkbox" checked=checked id="node-input-obfuscate-info"
242
257
  style="display:inline-block; width:15px; vertical-align:baseline;">
@@ -244,25 +259,26 @@
244
259
 
245
260
  <div class="form-row">
246
261
  <label for="node-input-obfuscate-remove-groups" class="w-30">
247
- <i class="fa fa-info"></i>
248
- <span>Remove Groups?</span>
262
+ <i class="fa fa-object-group"></i>
263
+ <span>Remove Groups?</span>
249
264
  </label>
250
265
  <input type="checkbox" checked=checked id="node-input-obfuscate-remove-groups"
251
266
  style="display:inline-block; width:15px; vertical-align:baseline;">
252
267
  </div>
253
268
 
254
269
  <div class="form-row">
255
- <label for="node-input-obfuscate-javascript" class="w-30">
256
- <i class="fa fa-code"></i>
257
- <span>Obfuscate Javascript?</span>
258
- </label>
259
- <input type="checkbox" checked=checked id="node-input-obfuscate-javascript"
260
- style="display:inline-block; width:15px; vertical-align:baseline;">
270
+ <label for="node-input-obfuscate-remove-debugs" class="w-30">
271
+ <i class="fa fa-bug"></i>
272
+ <span>Remove debugs?</span>
273
+ </label>
274
+ <input type="checkbox" checked=checked id="node-input-obfuscate-remove-debugs"
275
+ style="display:inline-block; width:15px; vertical-align:baseline;">
261
276
  </div>
277
+
262
278
  <div class="form-row">
263
279
  <label for="node-input-obfuscate-remove-junctions" class="w-30">
264
- <i class="fa fa-sitemap"></i>
265
- <span>Remove Junctions?</span>
280
+ <i class="fa fa-sitemap"></i>
281
+ <span>Coalesce Junctions?</span>
266
282
  </label>
267
283
  <input type="checkbox" checked=checked id="node-input-obfuscate-remove-junctions"
268
284
  style="display:inline-block; width:15px; vertical-align:baseline;">
@@ -270,13 +286,30 @@
270
286
 
271
287
  <div class="form-row">
272
288
  <label for="node-input-obfuscate-remove-linknodes" class="w-30">
273
- <i class="fa fa-link"></i>
274
- <span>Remove Link Nodes?</span>
289
+ <i class="fa fa-link"></i>
290
+ <span>Coalesce Link Out Nodes?</span>
275
291
  </label>
276
292
  <input type="checkbox" checked=checked id="node-input-obfuscate-remove-linknodes"
277
293
  style="display:inline-block; width:15px; vertical-align:baseline;">
294
+
295
+ <label for="node-input-obfuscate-copy-linkin-nodes" class="w-30">
296
+ <span>Copy Link-In Nodes?</span>
297
+ </label>
298
+ <input type="checkbox" checked=checked id="node-input-obfuscate-copy-linkin-nodes"
299
+ style="display:inline-block; width:15px; vertical-align:baseline;">
278
300
  </div>
279
301
 
302
+
303
+ <div class="form-row">
304
+ <label for="node-input-obfuscate-remove-linkcall-nodes" class="w-30">
305
+ <i class="fa fa-link"></i>
306
+ <span>Coalesce Link Call Nodes?</span>
307
+ </label>
308
+ <input type="checkbox" checked=checked id="node-input-obfuscate-remove-linkcall-nodes"
309
+ style="display:inline-block; width:15px; vertical-align:baseline;">
310
+ </div>
311
+
312
+
280
313
  <div class="form-row" style="margin-left: 10px">
281
314
  <b>Warning</b>: No guarantee is made that the obfuscated flow still works. This has not be
282
315
  thoroughly tested or promises to fulfil any purpose - good or bad.