node-red-contrib-prib-functions 0.19.2 → 0.20.4

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 (75) hide show
  1. package/.github/workflows/codeql-analysis.yml +3 -3
  2. package/.github/workflows/npmpublish.yml +6 -6
  3. package/.vs/VSWorkspaceState.json +7 -0
  4. package/.vs/node-red-contrib-prib-functions/v17/.wsuo +0 -0
  5. package/README.md +6 -2
  6. package/arima/index.js +18 -0
  7. package/dataAnalysis/arrayAllRowsSwap.js +15 -0
  8. package/dataAnalysis/arrayCompareToPrecision.js +34 -0
  9. package/dataAnalysis/arrayDifference.js +14 -0
  10. package/dataAnalysis/arrayDifferenceSeasonal.js +15 -0
  11. package/dataAnalysis/arrayDifferenceSeasonalSecondOrder.js +20 -0
  12. package/dataAnalysis/arrayDifferenceSecondOrder.js +14 -0
  13. package/dataAnalysis/arrayForEachRange.js +38 -0
  14. package/dataAnalysis/arrayOverlay.js +13 -0
  15. package/dataAnalysis/arrayProduct.js +11 -0
  16. package/dataAnalysis/arrayRandom.js +14 -0
  17. package/dataAnalysis/arrayReduceRange.js +11 -0
  18. package/dataAnalysis/arrayScale.js +11 -0
  19. package/dataAnalysis/arraySum.js +11 -0
  20. package/dataAnalysis/arraySumSquared.js +11 -0
  21. package/dataAnalysis/arraySwap.js +11 -0
  22. package/dataAnalysis/dataAnalysis.html +31 -14
  23. package/dataAnalysis/dataAnalysis.js +10 -1
  24. package/dataAnalysis/generateMatrixFunction.js +89 -0
  25. package/dataAnalysis/generateVectorFunction.js +25 -0
  26. package/dataAnalysis/pca.js +472 -325
  27. package/dataAnalysis/svd.js +239 -0
  28. package/echart/echart.html +68 -0
  29. package/echart/echart.js +85 -0
  30. package/echart/icons/chart-671.png +0 -0
  31. package/echart/lib/echarts.js +95886 -0
  32. package/lib/Chart.js +177 -0
  33. package/lib/Column.js +99 -0
  34. package/lib/GraphDB.js +14 -0
  35. package/lib/Table.js +185 -0
  36. package/lib/objectExtensions.js +361 -0
  37. package/matrix/matrix.js +2 -48
  38. package/monitor/BarGauge.js +8 -0
  39. package/monitor/Dataset.js +29 -0
  40. package/monitor/DialGauge.js +109 -0
  41. package/monitor/DialNeedle.js +36 -0
  42. package/monitor/Format.js +74 -0
  43. package/monitor/centerElement.js +14 -0
  44. package/monitor/compareElements.js +95 -0
  45. package/monitor/defs.js +23 -0
  46. package/monitor/extensions.js +906 -0
  47. package/monitor/functions.js +36 -0
  48. package/monitor/json2xml.js +103 -0
  49. package/monitor/monitorSystem.html +198 -0
  50. package/monitor/monitorSystem.js +322 -0
  51. package/monitor/svgHTML.js +179 -0
  52. package/monitor/svgObjects.js +64 -0
  53. package/package.json +18 -6
  54. package/test/00-objectExtensions.js +94 -0
  55. package/test/04-tables.js +33 -0
  56. package/test/data/.config.nodes.json +608 -0
  57. package/test/data/.config.nodes.json.backup +608 -0
  58. package/test/data/.config.runtime.json +4 -0
  59. package/test/data/.config.runtime.json.backup +3 -0
  60. package/test/data/.config.users.json +21 -0
  61. package/test/data/.config.users.json.backup +21 -0
  62. package/test/data/.flow.json.backup +2448 -2207
  63. package/test/data/float32vector10.npy +0 -0
  64. package/test/data/flow.json +2412 -2191
  65. package/test/data/int2matrix2x3.npy +0 -0
  66. package/test/data/package-lock.json +158 -0
  67. package/test/data/package.json +11 -0
  68. package/test/dataAnalysisExtensions.js +472 -0
  69. package/test/dataAnalysisPCA.js +54 -0
  70. package/test/dataAnalysisSVD.js +31 -0
  71. package/test/euclideanDistance.js +2 -2
  72. package/test/transformNumPy.js +132 -0
  73. package/transform/NumPy.js +303 -0
  74. package/transform/transform.html +12 -0
  75. package/transform/transform.js +34 -2
@@ -0,0 +1,95 @@
1
+ function compareNodes(oldNode, newNode, compare) { // this function under construction
2
+ if( compare==null)
3
+ var compare= {
4
+ attribute: {
5
+ match: function(attribute) {
6
+ }
7
+ ,mismatch: function(oldAttribute,newAttribute) {
8
+ return '<attribute key="'+oldAttribute.nodeName+'" old="'+oldAttribute.nodeValue+'" new="'+newAttribute.nodeValue+'"/>';
9
+ }
10
+ ,missingNew: function(attribute) {
11
+ return '<attribute key="'+attribute.nodeName+'" new="'+attribute.nodeValue+'"/>';
12
+ }
13
+ ,missingOld : function(attribute) {
14
+ return '<attribute key="'+attribute.nodeName+'" old="'+attribute.nodeValue+'"/>';
15
+ }
16
+ }
17
+ ,node: {
18
+ isSameElement: function(oldNode,newNode) {
19
+ if(oldNode.nodeType != newNode.nodeType) return false;
20
+ if(oldNode.nodeType != 1) return true;
21
+ return (oldNode.nodeName = newNode.nodeName);
22
+ }
23
+ ,match: function(node) {
24
+ }
25
+ ,mismatch: function(oldNode,newNode) {
26
+ return '<pair><new th>"'+node.nodeValue+'</new></node>'
27
+ }
28
+ ,missingNew: function(node) {
29
+ return '<node key="'+node.nodeName+'"><new>"'+node.nodeValue+'</new></node>'
30
+ }
31
+ ,missingOld : function(node) {
32
+ return '<node key="'+node.nodeName+'"><old>"'+node.nodeValue+'</old></node>'
33
+ }
34
+ }
35
+ };
36
+ var diff="";
37
+ if(oldNode == null)
38
+ var oldAttributes=[] , oldNodes=[];
39
+ else
40
+ var oldAttributes=oldNode.attributes , oldNodes=oldNode.childNodes;
41
+ if(newNode == null)
42
+ var newAttributes=[] , newNodes=[];
43
+ else
44
+ var newAttributes=newNode.attributes , newNodes=oldNode.childNodes;
45
+ if( !compare.node.isSameElement(oldNode,newNode)
46
+ || oldNode.nodeValue != newNode.nodeValue )
47
+ diff += compare.node.mismatch(oldNode,newNode);
48
+ else
49
+ diff += compare.node.match(oldNode,newNode);
50
+ var o=0;n=0;
51
+ while (o<oldAttributes.length || n<newAttributes.length) {
52
+ var oldAttribute=oldAttributes[o],newAttribute=newAttributes[n];
53
+ if(oldAttributes.nodeName==newAttribute.nodeName) {
54
+ if(oldAttribute.nodeValue==newAttribute.nodeValue)
55
+ diff += compare.attribute.match(oldAttribute);
56
+ else
57
+ diff += compare.attribute.mismatch(oldAttribute,newAttribute);
58
+ o++;n++;
59
+ continue;
60
+ }
61
+ if(oldAttribute.nodeName>newAttribute.nodeName) {
62
+ diff += compare.attribute.missingNew(newAttribute);
63
+ n++;
64
+ continue;
65
+ }
66
+ diff+= compare.attribute.missingOld(oldAttribute);
67
+ o++;
68
+ }
69
+ for (o=o;oldAttributes.length;o++) diff += compare.attribute.missingOld(oldAttributes[o]);
70
+ for (n=n;newAttributes.length;n++) diff += compare.attribute.missingANew(newAttributes[n]);
71
+ o=0;n=0;
72
+ while (o<oldNodes.length || n<newNodes.length) {
73
+ var oldNode=oldNodes[o]; newNode=newNodes[n];
74
+ if(compare.node.isSameElement(oldNode,newNode)) {
75
+ diff+=compareNodes(oldNode,newNode,compare);
76
+ n++;o++;
77
+ continue;
78
+ }
79
+ for (i=o;i<oldNodes.length;i++) // search for same element
80
+ if(compare.node.isSameElement(oldNodes[i],newNode)) break;
81
+ for (j=n;j<newNodes.length;j++) // search for same element
82
+ if(compare.node.isSameElement(oldNode,newNodes[j])) break;
83
+
84
+ if(i>=oldNodes.length) i=9999;
85
+ if(j>=newNodes.length) j=9999;
86
+ if((i-o)>(j-n))
87
+ for (n=n;n<j;n++) compare.node.missingNew(newNodes[n]);
88
+ else
89
+ for (o=o;o<i;o++) compare.node.missingOld(oldNodes[o]);
90
+ continue;
91
+ }
92
+ for (o=o;o<oldNodes.length;o++) compare.node.missingOld(oldNodes[o]);
93
+ for (n=n;n<newNodes.length;n++) compare.node.missingNew(newNodes[n]);
94
+ }
95
+
@@ -0,0 +1,23 @@
1
+ const heatGradient=[
2
+ {action:"stop",offset:"5%","stop-color":"lightgreen"},
3
+ {action:"stop",offset:"80%","stop-color":"yellow"},
4
+ {action:"stop",offset:"95%","stop-color":"red`"}
5
+ ]
6
+ const heatGradientReverse=[
7
+ {action:"stop",offset:"95%","stop-color":"lightgreen"},
8
+ {action:"stop",offset:"20%","stop-color":"yellow"},
9
+ {action:"stop",offset:"5%","stop-color":"red`"}
10
+ ]
11
+
12
+ const defs=
13
+ {action:"defs",children:[
14
+ {action:"style",children:[".red2green { background: conic-gradient(red, orange, yellow, green)}"]},
15
+ {action:"linearGradient",id:"heatGradientAcross",children:heatGradient},
16
+ {action:"linearGradient",id:"heatGradientAcrossCircle",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:heatGradient},
17
+ {action:"linearGradient",id:"heatGradientAcrossReverse",children:heatGradientReverse},
18
+ {action:"linearGradient",id:"heatGradientDown",children:heatGradient,gradientTransform:"rotate(90)"},
19
+ {action:"linearGradient",id:"heatGradientDownReverse",children:heatGradientReverse,gradientTransform:"rotate(90)"},
20
+ {action:"radialGradient",id:"heatGradientRadial",cx:"50%",cy:"50%",r:"50%",fx:"50%",fy:"50%",children:heatGradient}
21
+ ]}
22
+
23
+ module.exports=defs