hyperscript-rxjs 1.3.13 → 1.3.15

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 (279) hide show
  1. package/package.json +16 -27
  2. package/src/array/advance.d.ts +9 -0
  3. package/src/array/advance.js +13 -0
  4. package/src/array/advance.test.js +12 -0
  5. package/src/array/arrayInsert.d.ts +8 -0
  6. package/src/array/arrayInsert.js +13 -0
  7. package/src/array/arrayInsert.test.js +13 -0
  8. package/src/array/arrayRemove.d.ts +7 -0
  9. package/src/array/arrayRemove.js +15 -0
  10. package/src/array/arrayRemove.test.js +13 -0
  11. package/src/array/findLastIndex.d.ts +14 -0
  12. package/src/array/findLastIndex.js +20 -0
  13. package/src/array/findLastIndex.test.js +41 -0
  14. package/src/array/index.d.ts +9 -0
  15. package/src/array/index.js +9 -0
  16. package/src/array/isRange.d.ts +7 -0
  17. package/src/array/isRange.js +15 -0
  18. package/src/array/isRange.test.js +6 -0
  19. package/src/array/rangeArray.d.ts +7 -0
  20. package/src/array/rangeArray.js +10 -0
  21. package/src/array/rangeArray.test.js +11 -0
  22. package/src/array/unwrapArgs.d.ts +10 -0
  23. package/src/array/unwrapArgs.js +15 -0
  24. package/src/array/unwrapArgs.test.js +33 -0
  25. package/src/array/zipArray.d.ts +11 -0
  26. package/src/array/zipArray.js +24 -0
  27. package/src/array/zipArray.test.js +16 -0
  28. package/src/comparers/Comparer.d.ts +101 -0
  29. package/src/comparers/Comparer.js +149 -0
  30. package/src/comparers/comparers.d.ts +21 -0
  31. package/src/comparers/comparers.js +10 -0
  32. package/src/comparers/differenceSet.d.ts +20 -0
  33. package/src/comparers/differenceSet.js +35 -0
  34. package/src/comparers/differenceSet.test.js +11 -0
  35. package/src/comparers/distinctArray.d.ts +13 -0
  36. package/src/comparers/distinctArray.js +30 -0
  37. package/src/comparers/distinctArray.test.js +10 -0
  38. package/src/comparers/findIndexInSet.d.ts +20 -0
  39. package/src/comparers/findIndexInSet.js +27 -0
  40. package/src/comparers/findIndexInSet.test.js +8 -0
  41. package/src/comparers/groupArrayBy.d.ts +19 -0
  42. package/src/comparers/groupArrayBy.js +29 -0
  43. package/src/comparers/groupArrayBy.test.js +38 -0
  44. package/src/comparers/groupSortedEntries.d.ts +17 -0
  45. package/src/comparers/groupSortedEntries.js +38 -0
  46. package/src/comparers/groupSortedEntries.test.js +46 -0
  47. package/src/comparers/index.d.ts +14 -0
  48. package/src/comparers/index.js +14 -0
  49. package/src/comparers/intersectSet.d.ts +19 -0
  50. package/src/comparers/intersectSet.js +35 -0
  51. package/src/comparers/intersectSet.test.js +14 -0
  52. package/src/comparers/isEqualset.d.ts +22 -0
  53. package/src/comparers/isEqualset.js +33 -0
  54. package/src/comparers/isEqualset.test.js +22 -0
  55. package/src/comparers/isSubset.d.ts +21 -0
  56. package/src/comparers/isSubset.js +33 -0
  57. package/src/comparers/isSubset.test.js +21 -0
  58. package/src/comparers/isSuperset.d.ts +21 -0
  59. package/src/comparers/isSuperset.js +13 -0
  60. package/src/comparers/isSuperset.test.js +21 -0
  61. package/src/comparers/sortedArrayToSet.d.ts +20 -0
  62. package/src/comparers/sortedArrayToSet.js +35 -0
  63. package/src/comparers/sortedArrayToSet.test.js +11 -0
  64. package/src/comparers/unionSet.d.ts +21 -0
  65. package/src/comparers/unionSet.js +34 -0
  66. package/src/comparers/unionSet.test.js +11 -0
  67. package/src/comparison/compareDate.d.ts +8 -0
  68. package/src/comparison/compareDate.js +11 -0
  69. package/src/comparison/compareEntries.d.ts +13 -0
  70. package/src/comparison/compareEntries.js +13 -0
  71. package/src/comparison/compareKey.d.ts +11 -0
  72. package/src/comparison/compareKey.js +25 -0
  73. package/src/comparison/compareKey.test.js +21 -0
  74. package/src/comparison/compareKeyPath.d.ts +15 -0
  75. package/src/comparison/compareKeyPath.js +33 -0
  76. package/src/comparison/compareKeyPath.test.js +28 -0
  77. package/src/comparison/compareNumber.d.ts +11 -0
  78. package/src/comparison/compareNumber.js +27 -0
  79. package/src/comparison/compareNumber.test.js +21 -0
  80. package/src/comparison/defaultCompare.d.ts +8 -0
  81. package/src/comparison/defaultCompare.js +12 -0
  82. package/src/comparison/defaultCompare.test.js +24 -0
  83. package/src/comparison/index.d.ts +7 -0
  84. package/src/comparison/index.js +7 -0
  85. package/src/comparison/infinity.test.js +122 -0
  86. package/src/comparison/typeof.test.js +64 -0
  87. package/src/comparison/types.d.ts +5 -0
  88. package/src/comparison/types.js +11 -0
  89. package/src/deep/Deep.d.ts +58 -0
  90. package/src/deep/Deep.js +267 -0
  91. package/src/deep/Deep.test.js +130 -0
  92. package/src/deep/deepCombineLatest.test.js +36 -0
  93. package/src/deep/deepMerge.test.js +34 -0
  94. package/src/deep/differenceDeep.test.js +31 -0
  95. package/src/deep/freshValueDeep.test.js +17 -0
  96. package/src/deep/index.d.ts +1 -0
  97. package/src/deep/index.js +2 -0
  98. package/src/deep/intersectDeep.test.js +25 -0
  99. package/src/deep/intersectEntries.d.ts +13 -0
  100. package/src/deep/intersectEntries.js +37 -0
  101. package/src/deep/intersectEntries.test.js +20 -0
  102. package/src/deep/objectToDeep.test.js +31 -0
  103. package/src/deep/replaceValueDeep.test.js +21 -0
  104. package/src/deep/unionDeep.test.js +30 -0
  105. package/src/deep/zipValueDeep.test.js +21 -0
  106. package/src/deep-rxjs/ObservableArray.d.ts +55 -0
  107. package/src/deep-rxjs/ObservableArray.js +94 -0
  108. package/src/deep-rxjs/ObservableArray.test.js +117 -0
  109. package/src/deep-rxjs/index.d.ts +2 -0
  110. package/src/deep-rxjs/index.js +2 -0
  111. package/src/deep-rxjs/isRxType.d.ts +9 -0
  112. package/src/deep-rxjs/isRxType.js +15 -0
  113. package/src/deep-rxjs/isRxType.test.js +43 -0
  114. package/src/hyperscript-rxjs/HyperscriptExtensions.d.ts +20 -0
  115. package/src/hyperscript-rxjs/checkbox.d.ts +13 -0
  116. package/src/hyperscript-rxjs/checkbox.js +47 -0
  117. package/src/hyperscript-rxjs/checkbox.test.js +68 -0
  118. package/src/hyperscript-rxjs/choice.d.ts +13 -0
  119. package/src/hyperscript-rxjs/choice.js +24 -0
  120. package/src/hyperscript-rxjs/choice.test.js +108 -0
  121. package/src/hyperscript-rxjs/collapse.d.ts +14 -0
  122. package/src/hyperscript-rxjs/collapse.js +32 -0
  123. package/src/hyperscript-rxjs/collapse.test.js +67 -0
  124. package/src/hyperscript-rxjs/displays/blockLevelFamily.d.ts +5 -0
  125. package/src/hyperscript-rxjs/displays/blockLevelFamily.js +51 -0
  126. package/src/hyperscript-rxjs/displays/getDisplay.d.ts +7 -0
  127. package/src/hyperscript-rxjs/displays/getDisplay.js +51 -0
  128. package/src/hyperscript-rxjs/displays/getDisplay.test.js +56 -0
  129. package/src/hyperscript-rxjs/displays/index.d.ts +3 -0
  130. package/src/hyperscript-rxjs/displays/index.js +3 -0
  131. package/src/hyperscript-rxjs/displays/inlineFamily.d.ts +5 -0
  132. package/src/hyperscript-rxjs/displays/inlineFamily.js +73 -0
  133. package/src/hyperscript-rxjs/flip.d.ts +15 -0
  134. package/src/hyperscript-rxjs/flip.js +29 -0
  135. package/src/hyperscript-rxjs/flip.test.js +85 -0
  136. package/src/hyperscript-rxjs/fragment.d.ts +10 -0
  137. package/src/hyperscript-rxjs/fragment.js +22 -0
  138. package/src/hyperscript-rxjs/fragment.test.js +70 -0
  139. package/src/hyperscript-rxjs/hyperscript.d.ts +15 -0
  140. package/src/hyperscript-rxjs/hyperscript.js +170 -0
  141. package/src/hyperscript-rxjs/hyperscript.test.js +75 -0
  142. package/src/hyperscript-rxjs/index.d.ts +19 -0
  143. package/src/hyperscript-rxjs/index.js +19 -0
  144. package/src/hyperscript-rxjs/multiselect.d.ts +18 -0
  145. package/src/hyperscript-rxjs/multiselect.js +41 -0
  146. package/src/hyperscript-rxjs/multiselect.test.js +121 -0
  147. package/src/hyperscript-rxjs/numberbox.d.ts +14 -0
  148. package/src/hyperscript-rxjs/numberbox.js +73 -0
  149. package/src/hyperscript-rxjs/numberbox.test.js +84 -0
  150. package/src/hyperscript-rxjs/radio.d.ts +15 -0
  151. package/src/hyperscript-rxjs/radio.js +53 -0
  152. package/src/hyperscript-rxjs/radio.test.js +59 -0
  153. package/src/hyperscript-rxjs/select.d.ts +28 -0
  154. package/src/hyperscript-rxjs/select.js +88 -0
  155. package/src/hyperscript-rxjs/select.test.js +101 -0
  156. package/src/hyperscript-rxjs/tabControls/bindTabIndex.d.ts +12 -0
  157. package/src/hyperscript-rxjs/tabControls/bindTabIndex.js +59 -0
  158. package/src/hyperscript-rxjs/tabControls/index.d.ts +8 -0
  159. package/src/hyperscript-rxjs/tabControls/index.js +10 -0
  160. package/src/hyperscript-rxjs/tabControls/tabControl.d.ts +19 -0
  161. package/src/hyperscript-rxjs/tabControls/tabControl.js +40 -0
  162. package/src/hyperscript-rxjs/tabControls/tabControl.test.js +98 -0
  163. package/src/hyperscript-rxjs/tabControls/tabNavItem.d.ts +9 -0
  164. package/src/hyperscript-rxjs/tabControls/tabNavItem.js +30 -0
  165. package/src/hyperscript-rxjs/tabControls/tabPanel.d.ts +9 -0
  166. package/src/hyperscript-rxjs/tabControls/tabPanel.js +21 -0
  167. package/src/hyperscript-rxjs/tabControls/tabRoot.d.ts +7 -0
  168. package/src/hyperscript-rxjs/tabControls/tabRoot.js +26 -0
  169. package/src/hyperscript-rxjs/tags.d.ts +193 -0
  170. package/src/hyperscript-rxjs/tags.js +751 -0
  171. package/src/hyperscript-rxjs/tags.test.js +75 -0
  172. package/src/hyperscript-rxjs/textNode.d.ts +11 -0
  173. package/src/hyperscript-rxjs/textNode.js +51 -0
  174. package/src/hyperscript-rxjs/textNode.test.js +56 -0
  175. package/src/hyperscript-rxjs/textarea.d.ts +17 -0
  176. package/src/hyperscript-rxjs/textarea.js +45 -0
  177. package/src/hyperscript-rxjs/textarea.test.js +52 -0
  178. package/src/hyperscript-rxjs/textbox.d.ts +15 -0
  179. package/src/hyperscript-rxjs/textbox.js +42 -0
  180. package/src/hyperscript-rxjs/textbox.test.js +52 -0
  181. package/src/index.d.ts +19 -0
  182. package/src/index.js +19 -0
  183. package/src/nodes/attachSubscriptionToNode.d.ts +13 -0
  184. package/src/nodes/attachSubscriptionToNode.js +25 -0
  185. package/src/nodes/attachSubscriptionToNode.test.js +73 -0
  186. package/src/nodes/index.d.ts +6 -0
  187. package/src/nodes/index.js +6 -0
  188. package/src/nodes/normalizeChildNodes.d.ts +9 -0
  189. package/src/nodes/normalizeChildNodes.js +15 -0
  190. package/src/nodes/normalizeChildNodes.test.js +55 -0
  191. package/src/nodes/parseHyperscriptArgs.d.ts +10 -0
  192. package/src/nodes/parseHyperscriptArgs.js +57 -0
  193. package/src/nodes/parseHyperscriptArgs.test.js +85 -0
  194. package/src/nodes/pipeEvent.d.ts +15 -0
  195. package/src/nodes/pipeEvent.js +49 -0
  196. package/src/nodes/pipeEvent.test.js +97 -0
  197. package/src/nodes/subscribeEvent.d.ts +15 -0
  198. package/src/nodes/subscribeEvent.js +56 -0
  199. package/src/nodes/subscribeEvent.test.js +88 -0
  200. package/src/object/index.d.ts +10 -0
  201. package/src/object/index.js +11 -0
  202. package/src/object/intersectObject.d.ts +12 -0
  203. package/src/object/intersectObject.js +23 -0
  204. package/src/object/intersectObject.test.js +69 -0
  205. package/src/object/isEmptyObject.d.ts +7 -0
  206. package/src/object/isEmptyObject.js +13 -0
  207. package/src/object/isEmptyObject.test.js +33 -0
  208. package/src/object/isPlainObject.d.ts +11 -0
  209. package/src/object/isPlainObject.js +18 -0
  210. package/src/object/nestedCombineLatest.d.ts +11 -0
  211. package/src/object/nestedCombineLatest.js +18 -0
  212. package/src/object/nestedCombineLatest.test.js +25 -0
  213. package/src/object/nestedMerge.d.ts +11 -0
  214. package/src/object/nestedMerge.js +11 -0
  215. package/src/object/nestedMerge.test.js +61 -0
  216. package/src/object/pickBehaviorSubject.d.ts +13 -0
  217. package/src/object/pickBehaviorSubject.js +81 -0
  218. package/src/object/pickBehaviorSubject.test.js +88 -0
  219. package/src/object/pluckProperty.d.ts +13 -0
  220. package/src/object/pluckProperty.js +24 -0
  221. package/src/object/pluckProperty.test.js +37 -0
  222. package/src/object/restore.d.ts +12 -0
  223. package/src/object/restore.js +69 -0
  224. package/src/object/restore.test.js +124 -0
  225. package/src/object/splitObjectByObservable.d.ts +12 -0
  226. package/src/object/splitObjectByObservable.js +41 -0
  227. package/src/object/splitObjectByObservable.test.js +78 -0
  228. package/src/props/getNestedProperty.d.ts +12 -0
  229. package/src/props/getNestedProperty.js +31 -0
  230. package/src/props/getNestedProperty.test.js +72 -0
  231. package/src/props/index.d.ts +7 -0
  232. package/src/props/index.js +7 -0
  233. package/src/props/parsePropName.d.ts +13 -0
  234. package/src/props/parsePropName.js +45 -0
  235. package/src/props/parsePropName.test.js +67 -0
  236. package/src/props/setProp.d.ts +16 -0
  237. package/src/props/setProp.js +42 -0
  238. package/src/props/setProp.test.js +59 -0
  239. package/src/props/setProps.d.ts +14 -0
  240. package/src/props/setProps.js +47 -0
  241. package/src/props/setProps.test.js +97 -0
  242. package/src/props/subscribeProp.d.ts +16 -0
  243. package/src/props/subscribeProp.js +47 -0
  244. package/src/props/subscribeProp.test.js +81 -0
  245. package/src/ramda/compose.d.ts +10 -0
  246. package/src/ramda/compose.js +36 -0
  247. package/src/ramda/compose.test.js +73 -0
  248. package/src/ramda/cond.d.ts +12 -0
  249. package/src/ramda/cond.js +29 -0
  250. package/src/ramda/cond.test.js +88 -0
  251. package/src/ramda/fold.d.ts +13 -0
  252. package/src/ramda/fold.js +20 -0
  253. package/src/ramda/fold.test.js +51 -0
  254. package/src/ramda/index.d.ts +6 -0
  255. package/src/ramda/index.js +6 -0
  256. package/src/ramda/pipe.d.ts +13 -0
  257. package/src/ramda/pipe.js +27 -0
  258. package/src/ramda/pipe.test.js +77 -0
  259. package/src/ramda/unfold.d.ts +11 -0
  260. package/src/ramda/unfold.js +20 -0
  261. package/src/ramda/unfold.test.js +29 -0
  262. package/src/unquoted-json/ajax.test.js +1074 -0
  263. package/src/unquoted-json/index.d.ts +13 -0
  264. package/src/unquoted-json/index.js +12 -0
  265. package/src/unquoted-json/queryStringify.d.ts +8 -0
  266. package/src/unquoted-json/queryStringify.js +70 -0
  267. package/src/unquoted-json/queryStringify.test.js +110 -0
  268. package/src/unquoted-json/stringifyKey.d.ts +7 -0
  269. package/src/unquoted-json/stringifyKey.js +16 -0
  270. package/src/unquoted-json/stringifyKey.test.js +51 -0
  271. package/src/unquoted-json/stringifyStringValue.d.ts +7 -0
  272. package/src/unquoted-json/stringifyStringValue.js +17 -0
  273. package/src/unquoted-json/stringifyStringValue.test.js +52 -0
  274. package/src/unquoted-json/unquotedJsonStringify.d.ts +7 -0
  275. package/src/unquoted-json/unquotedJsonStringify.js +39 -0
  276. package/src/unquoted-json/unquotedJsonStringify.test.js +52 -0
  277. package/dist/hyperscript-rxjs.d.ts +0 -1412
  278. package/dist/hyperscript-rxjs.js +0 -1
  279. package/dist/tsdoc-metadata.json +0 -11
@@ -0,0 +1,1074 @@
1
+ import { queryStringify } from './queryStringify'
2
+
3
+ let domain = 'GET {{domain}}/'
4
+
5
+ describe('desulphur http test', () => {
6
+ test('wetAir', () => {
7
+ const wetAir = {
8
+ press: 100760,
9
+ temp: 40.2,
10
+ humid: 6.2,
11
+ }
12
+ let result = {
13
+ H2O: 0.28725592751177875,
14
+ O2: 23.22484420997048,
15
+ N2: 76.48789986251775,
16
+ //CO2: 0,
17
+ //SO2: 0,
18
+ //SO3: 0,
19
+ //HCl: 0,
20
+ //HF: 0,
21
+ //ash: 0,
22
+ }
23
+ const url = domain + 'desulphur/wetAir?' + queryStringify(wetAir)
24
+ console.log(url)
25
+ })
26
+
27
+ test('airVol', () => {
28
+ let result = {
29
+ H2O: 0.4592288468337155,
30
+ O2: 20.90356194216492,
31
+ N2: 78.63720921100138,
32
+ //CO2: 0,
33
+ //SO2: 0,
34
+ //SO3: 0,
35
+ //HCl: 0,
36
+ //HF: 0,
37
+ //ash: 0,
38
+ }
39
+
40
+ const airVol = {
41
+ press: 100760,
42
+ temp: 40.2,
43
+ humid: 6.2,
44
+ }
45
+
46
+ const url = domain + 'desulphur/airVol?' + queryStringify(airVol)
47
+ console.log(url)
48
+
49
+ })
50
+
51
+ test('oxiair', () => {
52
+ let result = {
53
+ H2O: 31.345671554590226,
54
+ N2: 8346.440777597383,
55
+ compressTemp: 100.10842183196479,
56
+ saturTemp: 42.43372920495008,
57
+ saturWater: 322.0221989821269,
58
+ nvolume: 8853.9780540765,
59
+ }
60
+ const oxiair = {
61
+ air: {
62
+ H2O: 0.28725592751177875,
63
+ O2: 23.22484420997048,
64
+ N2: 76.48789986251775,
65
+ temperature: 40.2,
66
+ pressure: 100760,
67
+ },
68
+ O2: 2534.319639,
69
+ cp: 185760,
70
+ }
71
+
72
+ const url = domain + 'desulphur/oxiair?' + queryStringify(oxiair)
73
+ console.log(url)
74
+
75
+ })
76
+
77
+ test('sootblow', () => {
78
+ let result = {
79
+ H2O: 0.06514855278714678,
80
+ O2: 5.267306412413295,
81
+ N2: 17.347165034799556,
82
+ CO2: 0,
83
+ SO2: 0,
84
+ SO3: 0,
85
+ HCl: 0,
86
+ HF: 0,
87
+ ash: 0,
88
+ }
89
+ const sootblow = {
90
+ H2O: 0.287255927511778,
91
+ O2: 23.2248442099704,
92
+ N2: 76.4878998625177,
93
+ total: 22.67962,
94
+ }
95
+
96
+ const url = domain + 'desulphur/sootblow?' + queryStringify(sootblow)
97
+ console.log(url)
98
+
99
+ })
100
+
101
+ test('removal', () => {
102
+ let result = {
103
+ //H2O: 0,
104
+ //O2: 0,
105
+ //N2: 0,
106
+ //CO2: 0,
107
+ SO2: 4102.1856,
108
+ SO3: 13.607772,
109
+ HCl: 47.3005,
110
+ HF: 36.556,
111
+ ash: 273.18149999999997,
112
+ }
113
+ const removal = {
114
+ inlet: {
115
+ SO2: 4273.11,
116
+ SO3: 45.35924,
117
+ HCl: 49.79,
118
+ HF: 38.48,
119
+ ash: 321.39,
120
+ },
121
+ effect: {
122
+ SO2: 96,
123
+ SO3: 30,
124
+ HCl: 95,
125
+ HF: 95,
126
+ ash: 85,
127
+ },
128
+ dirtyLeakage: -1,
129
+ cleanLeakage: -1,
130
+ }
131
+
132
+ const url = domain + 'desulphur/removal?' + queryStringify(removal)
133
+ console.log(url)
134
+
135
+ })
136
+
137
+ test('react', () => {
138
+ let result = {
139
+ limestone: {
140
+ //'CaSO4*2H2O': 0,
141
+ //'CaSO3*(1/2)H2O': 0,
142
+ CaCO3: 6600.369973699361,
143
+ //MgSO4: 0,
144
+ MgCO3: 366.68722076107565,
145
+ inerts: 366.68722076107565,
146
+ //ash: 0,
147
+ //CaF2: 0,
148
+ //MgF2: 0,
149
+ //'Cl-': 0,
150
+ //'F-': 0,
151
+ //'Mg++': 0,
152
+ //'Ca++': 0,
153
+ //'SO4--': 0,
154
+ H2O: 385.98654816955326,
155
+ },
156
+ removal: {
157
+ H2O: -28.144487098515274,
158
+ O2: 1021.4843347455095,
159
+ //N2: 0,
160
+ CO2: -2894.2863782058675,
161
+ //SO2: 4102.1856,
162
+ //SO3: 13.607772,
163
+ //HCl: 47.3005,
164
+ //HF: 36.556,
165
+ //ash: 273.181499999999,
166
+ },
167
+ productA: {
168
+ 'CaSO4*2H2O': 10766.385008447176,
169
+ 'CaSO3*(1/2)H2O': 24.235060076732797,
170
+ CaCO3: 322.85092538285147,
171
+ MgSO4: 3.567921853359905,
172
+ MgCO3: 110.0061662283227,
173
+ inerts: 366.68722076107565,
174
+ ash: 273.181499999999,
175
+ CaF2: 0,
176
+ MgF2: 55.78117689351725,
177
+ 'Cl-': 45.992907108264355,
178
+ 'F-': 0.6942854278129148,
179
+ 'Mg++': 51.511299478832086,
180
+ 'Ca++': 0,
181
+ 'SO4--': 139.52632304455665,
182
+ //H2O: 0,
183
+ },
184
+ reactHeat: 22159591.471252136,
185
+ tss: 11922.694979643034,
186
+ //rtuSr: 0.9407599999999998,
187
+ //rtuGrind: 0.9611310000000001,
188
+ }
189
+ const react = {
190
+ removal: {
191
+ SO2: 4102.1856,
192
+ SO3: 13.607772,
193
+ HCl: 47.3005,
194
+ HF: 36.556,
195
+ ash: 273.181499999999,
196
+ },
197
+ limestone: {
198
+ availableMgCO3: 70,
199
+ CaCO3: 90,
200
+ MgCO3: 5,
201
+ stoich: 1.03,
202
+ solids: 95,
203
+ grind: 90,
204
+ },
205
+ }
206
+
207
+ const url = domain + 'desulphur/react?' + queryStringify(react)
208
+ console.log(url)
209
+
210
+ })
211
+
212
+ test('absorberOutlet', () => {
213
+ let result = {
214
+ absOutlet: {
215
+ H2O: 256338.3260317102,
216
+ O2: 223750.91530425448,
217
+ N2: 2261773.0607775976,
218
+ CO2: 602927.6263782058,
219
+ SO2: 170.92439999999988,
220
+ SO3: 31.751468,
221
+ HCl: 2.4894999999999996,
222
+ HF: 1.9239999999999995,
223
+ ash: 48.20850000000098,
224
+ temperature: 50.21548592021981,
225
+ //pressure: 101560,
226
+ },
227
+ absOutletVolume: 3061979.6479478264,
228
+ ppmSO2: 659.8102488997475,
229
+ }
230
+
231
+ const absorberOutlet = {
232
+ terminal: {
233
+ H2O: 134008.52,
234
+ O2: 222238.08,
235
+ N2: 2253426.62,
236
+ CO2: 600033.34,
237
+ SO2: 4273.11,
238
+ SO3: 45.35924,
239
+ HCl: 49.79,
240
+ HF: 38.48,
241
+ ash: 321.39,
242
+ temperature: 125.3195261,
243
+ pressure: 101560,
244
+ },
245
+ oxiair: {
246
+ H2O: 322.022198982126,
247
+ O2: 2534.319639,
248
+ N2: 8346.44077759738,
249
+ temperature: 42.43372920495,
250
+ pressure: 185760,
251
+ },
252
+ removal: {
253
+ H2O: -28.1444870985152,
254
+ O2: 1021.4843347455,
255
+ CO2: -2894.28637820586,
256
+ SO2: 4102.1856,
257
+ SO3: 13.607772,
258
+ HCl: 47.3005,
259
+ HF: 36.556,
260
+ ash: 273.181499999999,
261
+ },
262
+ }
263
+
264
+ const url = domain + 'desulphur/absorberOutlet?' + queryStringify(absorberOutlet)
265
+ console.log(url)
266
+
267
+ })
268
+
269
+ test('gghOutlet', () => {
270
+ let result = {
271
+ gghEnth: 115146127.60269403,
272
+ absInlet: {
273
+ H2O: 135375.2060843304,
274
+ O2: 223444.32933523163,
275
+ N2: 2265561.1610859465,
276
+ CO2: 603265.5217040115,
277
+ SO2: 4260.8847488145975,
278
+ SO3: 45.48472454303104,
279
+ HCl: 49.65177400395168,
280
+ HF: 38.3731725983543,
281
+ ash: 320.77053443140005,
282
+ temperature: 90.72763418768724,
283
+ pressure: 0,
284
+ },
285
+ absOutlet: {
286
+ H2O: 211229.2245003531,
287
+ O2: 224960.0870823201,
288
+ N2: 2273907.601863544,
289
+ CO2: 606151.5755307679,
290
+ SO2: 170.43538995258768,
291
+ SO3: 31.839307180121743,
292
+ HCl: 2.4825887001975815,
293
+ HF: 1.9186586299178003,
294
+ ash: 48.115580164710025,
295
+ temperature: 46.76724634124608,
296
+ pressure: 102260,
297
+ },
298
+ gghOutlet: {
299
+ H2O: 209862.60356457543,
300
+ O2: 223759.1050535009,
301
+ N2: 2261790.407942632,
302
+ CO2: 602919.3938267564,
303
+ SO2: 182.6606411379907,
304
+ SO3: 31.71382263709071,
305
+ HCl: 2.620814696245902,
306
+ HF: 2.0254860315634993,
307
+ ash: 48.73504573330999,
308
+ temperature: 80,
309
+ pressure: 101560,
310
+ },
311
+ absOutletVolume: 2957615.6261888472,
312
+ ppmSO2: 654.4003164229068,
313
+ }
314
+
315
+ const gghOutlet = {
316
+ terminal: {
317
+ H2O: 134008.52,
318
+ O2: 222238.08,
319
+ N2: 2253426.62,
320
+ CO2: 600033.34,
321
+ SO2: 4273.11,
322
+ SO3: 45.35924,
323
+ HCl: 49.79,
324
+ HF: 38.48,
325
+ ash: 321.39,
326
+ temperature: 125.3195261,
327
+ pressure: 101560,
328
+ },
329
+ oxiair: {
330
+ H2O: 322.022198982126,
331
+ O2: 2534.319639,
332
+ N2: 8346.44077759738,
333
+ temperature: 42.43372920495,
334
+ pressure: 185760,
335
+ },
336
+ removal: {
337
+ H2O: -28.0663529397994,
338
+ O2: 1018.56189191151,
339
+ CO2: -2886.05382675645,
340
+ SO2: 4090.44935886201,
341
+ SO3: 13.6454173629093,
342
+ HCl: 47.1691853037541,
343
+ HF: 36.4545139684365,
344
+ ash: 272.65495426669,
345
+ },
346
+ effect: {
347
+ SO2: 96,
348
+ SO3: 30,
349
+ HCl: 95,
350
+ HF: 95,
351
+ ash: 85,
352
+ },
353
+ ggh: {
354
+ dirtyPressureDrop: 700,
355
+ cleanPressureDrop: 700,
356
+ dirtyLeakage: 0.32,
357
+ cleanLeakage: 0.85,
358
+ temperature: 80,
359
+ },
360
+ sootblow: {
361
+ H2O: 0.0651485527871468,
362
+ O2: 5.2673064124133,
363
+ N2: 17.3471650347995,
364
+ temperature: 40.2,
365
+ pressure: 105760,
366
+ },
367
+ }
368
+
369
+ const url = domain + 'desulphur/gghOutlet?' + queryStringify(gghOutlet)
370
+ console.log(url)
371
+
372
+ })
373
+
374
+ test('absorberWithUnderspray', () => {
375
+ let result = {
376
+ operatingHeaders: 3,
377
+ totalFlow: 36600,
378
+ flux: 134.6992928006329,
379
+ lg: 11.953051361569242,
380
+ stdLg: 12.2757448236214,
381
+ spraysDp: 472.79543441654516,
382
+ spraysStdDp: 456.0476369050476,
383
+ trayMaxVel: 11.53854758445197,
384
+ trayPressureDrop: 485.4078711543768,
385
+ trayStdPressureDrop: 480.9150929082027,
386
+ trayNg: 0.736544689417284,
387
+ undersprayPressureDrop: 0,
388
+ inletPressureDrop: 167.52024485382807,
389
+ stdDp: 936.9627298132503
390
+ }
391
+ const absorberWithUnderspray = {
392
+ flow: 3061979.64794782,
393
+ diameter: 18.6,
394
+ pumpFlow: 12200,
395
+ sprays: ['Std on', 'Std on', 'Std on', 'None', 'None', 'None'],
396
+ openArea: 40,
397
+ undersprayFlow: 0,
398
+ inletVelocity: 12.5,
399
+ saturTemperature: 50.2154859202198,
400
+ inletTemperature: 125.3195261,
401
+ }
402
+
403
+ const url = domain +
404
+ 'desulphur/absorberWithUnderspray?' +
405
+ queryStringify(absorberWithUnderspray)
406
+ console.log(url)
407
+
408
+ })
409
+
410
+ test('tower', () => {
411
+ let result = {
412
+ dll: 8.465556002018305,
413
+ slurryVolume: 2787.571927153254,
414
+ solidsMass: 500706.06475244067,
415
+ minO2: 2026.7918288349736,
416
+ injectPressure: 187480.34339106604,
417
+ retentionTime: 4.569790044513531,
418
+ residenceTime: 41.996047504977206,
419
+ pH: 5.364546560854443,
420
+ }
421
+ const tower = {
422
+ size: {
423
+ diameter: 18.6,
424
+ high: 9,
425
+ injectElevation: 1.5,
426
+ flare: 1,
427
+ flareHeight: 2,
428
+ },
429
+
430
+ slurry: {
431
+ temperature: 50.2154859202198,
432
+ tds: 7146.68701133084,
433
+ fw: 69133.9084146004,
434
+ solids: 15,
435
+ density: 1197.47239494259,
436
+ totalPumpFlow: 36600,
437
+ productAtss: 11922.694979643,
438
+ stoich: 1.03,
439
+ velocity: 3.13028607429039,
440
+ },
441
+
442
+ absInlet: {
443
+ pressure: 102985.723550424,
444
+ SO2: 4273.11,
445
+ O2: 222238.08,
446
+ },
447
+
448
+ airVolume: 8853.9780540765,
449
+ reactO2: 1021.4843347455,
450
+ }
451
+
452
+ const url = domain + 'desulphur/tower?' + queryStringify(tower)
453
+ console.log(url)
454
+
455
+ })
456
+
457
+ test('ionBalance', () => {
458
+ let result = {
459
+ gypsumBleed: {
460
+ 'CaSO4*2H2O': 12196.250420121249,
461
+ 'CaSO3*(1/2)H2O': 49.07775934822823,
462
+ CaCO3: 469.0653122127321,
463
+ MgSO4: 7.225301259335207,
464
+ MgCO3: 222.77048770999576,
465
+ inerts: 742.5682923666525,
466
+ ash: 1724.8206904805772,
467
+ CaF2: 0,
468
+ MgF2: 352.19269256994215,
469
+ 'Cl-': 1786.5833750211204,
470
+ 'F-': 26.96934985931984,
471
+ 'Mg++': 2000.943994646492,
472
+ 'Ca++': 0,
473
+ 'SO4--': 5419.866340313145,
474
+ H2O: 80094.80569121595,
475
+ },
476
+ phof: {
477
+ 'CaSO4*2H2O': 1219.6250420121246,
478
+ 'CaSO3*(1/2)H2O': 24.538879674114114,
479
+ CaCO3: 140.7195936638196,
480
+ MgSO4: 3.6126506296676033,
481
+ MgCO3: 111.38524385499788,
482
+ inerts: 371.28414618332624,
483
+ ash: 1491.2433942018877,
484
+ CaF2: 0,
485
+ MgF2: 304.49833375709767,
486
+ 'Cl-': 1544.6421015791734,
487
+ 'F-': 23.31712800385334,
488
+ 'Mg++': 1729.9737477946953,
489
+ 'Ca++': 0,
490
+ 'SO4--': 4685.901509679363,
491
+ H2O: 69248.27059190159,
492
+ },
493
+ phuf: {
494
+ 'CaSO4*2H2O': 10976.625378109124,
495
+ 'CaSO3*(1/2)H2O': 24.538879674114114,
496
+ CaCO3: 328.34571854891254,
497
+ MgSO4: 3.6126506296676033,
498
+ MgCO3: 111.38524385499788,
499
+ inerts: 371.28414618332624,
500
+ ash: 233.57729627868957,
501
+ CaF2: 0,
502
+ MgF2: 47.69435881284447,
503
+ 'Cl-': 241.94127344194712,
504
+ 'F-': 3.652221855466501,
505
+ 'Mg++': 270.9702468517966,
506
+ 'Ca++': 0,
507
+ 'SO4--': 733.9648306337823,
508
+ H2O: 10846.535099314366,
509
+ },
510
+ vffeed: {
511
+ 'CaSO4*2H2O': 10976.625378109124,
512
+ 'CaSO3*(1/2)H2O': 24.538879674114114,
513
+ CaCO3: 328.34571854891254,
514
+ MgSO4: 3.6126506296676033,
515
+ MgCO3: 111.38524385499788,
516
+ inerts: 371.28414618332624,
517
+ ash: 233.57729627868957,
518
+ CaF2: 0,
519
+ MgF2: 47.69435881284447,
520
+ 'Cl-': 241.94127344194712,
521
+ 'F-': 3.652221855466501,
522
+ 'Mg++': 270.9702468517966,
523
+ 'Ca++': 0,
524
+ 'SO4--': 733.9648306337823,
525
+ H2O: 10846.535099314366,
526
+ },
527
+ gypsum: {
528
+ 'CaSO4*2H2O': 10757.092870546941,
529
+ 'CaSO3*(1/2)H2O': 24.048102080631832,
530
+ CaCO3: 321.77880417793426,
531
+ MgSO4: 3.5403976170742513,
532
+ MgCO3: 109.15753897789793,
533
+ inerts: 363.8584632596597,
534
+ ash: 228.9057503531158,
535
+ CaF2: 0,
536
+ MgF2: 46.740471636587586,
537
+ 'Cl-': 0.13172358220722044,
538
+ 'F-': 0.001988431899086383,
539
+ 'Mg++': 0.14752824550813107,
540
+ 'Ca++': 0,
541
+ 'SO4--': 0.39960307445598264,
542
+ H2O: 1316.554978738134,
543
+ },
544
+ wash: 3275.86078292178,
545
+ filtrate: {
546
+ 'CaSO4*2H2O': 219.53250756218222,
547
+ 'CaSO3*(1/2)H2O': 0.49077759348228156,
548
+ CaCO3: 6.566914370978282,
549
+ MgSO4: 0.07225301259335204,
550
+ MgCO3: 2.227704877099953,
551
+ inerts: 7.425682923666557,
552
+ ash: 4.671545925573781,
553
+ CaF2: 0,
554
+ MgF2: 0.9538871762568846,
555
+ 'Cl-': 241.8095498597399,
556
+ 'F-': 3.6502334235674145,
557
+ 'Mg++': 270.8227186062885,
558
+ 'Ca++': 0,
559
+ 'SO4--': 733.5652275593263,
560
+ H2O: 12805.840903498012,
561
+ },
562
+ shff: {
563
+ 'CaSO4*2H2O': 46.460689501174805,
564
+ 'CaSO3*(1/2)H2O': 0.934789980504821,
565
+ CaCO3: 5.360606024586049,
566
+ MgSO4: 0.13762118142826849,
567
+ MgCO3: 4.24313625212383,
568
+ inerts: 14.143787507079434,
569
+ ash: 56.80778429605511,
570
+ CaF2: 0,
571
+ MgF2: 11.599632715784274,
572
+ 'Cl-': 58.84196748987272,
573
+ 'F-': 0.8882482787159829,
574
+ 'Mg++': 65.9020357673781,
575
+ 'Ca++': 0,
576
+ 'SO4--': 178.505858419505,
577
+ H2O: 2637.9602645381647,
578
+ },
579
+ shof: {
580
+ 'CaSO4*2H2O': 9.292137900234959,
581
+ 'CaSO3*(1/2)H2O': 0.18695799610096417,
582
+ CaCO3: 1.0721212049172095,
583
+ MgSO4: 0.027524236285653692,
584
+ MgCO3: 0.8486272504247659,
585
+ inerts: 2.828757501415886,
586
+ ash: 44.275749646884215,
587
+ CaF2: 0,
588
+ MgF2: 9.04070525692967,
589
+ 'Cl-': 45.861183526086265,
590
+ 'F-': 0.6922969959142682,
591
+ 'Mg++': 51.36377123335658,
592
+ 'Ca++': 0,
593
+ 'SO4--': 139.12671997018904,
594
+ H2O: 2056.015204578767,
595
+ },
596
+ shuf: {
597
+ 'CaSO4*2H2O': 37.16855160093984,
598
+ 'CaSO3*(1/2)H2O': 0.7478319844038568,
599
+ CaCO3: 4.28848481966884,
600
+ MgSO4: 0.11009694514261478,
601
+ MgCO3: 3.394509001699064,
602
+ inerts: 11.315030005663548,
603
+ ash: 12.532034649170894,
604
+ CaF2: 0,
605
+ MgF2: 2.5589274588546043,
606
+ 'Cl-': 12.980783963786456,
607
+ 'F-': 0.19595128280171473,
608
+ 'Mg++': 14.538264534021504,
609
+ 'Ca++': 0,
610
+ 'SO4--': 39.37913844931595,
611
+ H2O: 581.9450599593972,
612
+ },
613
+ reclaimWater: {
614
+ 'CaSO4*2H2O': 1392.6968600731325,
615
+ 'CaSO3*(1/2)H2O': 24.094867287091574,
616
+ CaCO3: 141.92590201021181,
617
+ MgSO4: 3.547282460832687,
618
+ MgCO3: 109.36981247997402,
619
+ inerts: 364.5660415999133,
620
+ ash: 1439.1071558314063,
621
+ CaF2: 0,
622
+ MgF2: 293.8525882175703,
623
+ 'Cl-': 1727.741407531248,
624
+ 'F-': 26.08110158060386,
625
+ 'Mg++': 1935.041958879114,
626
+ 'Ca++': 0,
627
+ 'SO4--': 5241.36048189364,
628
+ H2O: 77456.84542667778,
629
+ },
630
+ }
631
+ const ionBalance = {
632
+ productA: {
633
+ 'CaSO4*2H2O': 10766.385008447176,
634
+ 'CaSO3*(1/2)H2O': 24.235060076732797,
635
+ CaCO3: 322.85092538285147,
636
+ MgSO4: 3.567921853359905,
637
+ MgCO3: 110.0061662283227,
638
+ inerts: 366.68722076107565,
639
+ ash: 273.18149999999997,
640
+ CaF2: 0,
641
+ MgF2: 55.78117689351725,
642
+ 'Cl-': 45.992907108264355,
643
+ 'F-': 0.6942854278129148,
644
+ 'Mg++': 51.511299478832086,
645
+ 'Ca++': 0,
646
+ 'SO4--': 139.52632304455665,
647
+ },
648
+ opt: {
649
+ ext: 'Primary + Secondary',
650
+ phof: 'to Filtrate Tank',
651
+ bleed: 'SH OF',
652
+ shuf: 'to Absorber',
653
+ solids: 15,
654
+ concCl: 20000,
655
+ },
656
+ ph: {
657
+ 'CaSO4*2H2O': 90,
658
+ 'CaSO3*(1/2)H2O': 50,
659
+ CaCO3: 70,
660
+ MgSO4: 50,
661
+ MgCO3: 50,
662
+ inerts: 50,
663
+ solids: 50,
664
+ },
665
+ vf: {
666
+ 'CaSO4*2H2O': 98,
667
+ 'CaSO3*(1/2)H2O': 98,
668
+ CaCO3: 98,
669
+ MgSO4: 98,
670
+ MgCO3: 98,
671
+ inerts: 98,
672
+ ash: 98,
673
+ CaF2: 98,
674
+ MgF2: 98,
675
+ solids: 90,
676
+ concCl: 100,
677
+ },
678
+ sh: {
679
+ 'CaSO4*2H2O': 80,
680
+ 'CaSO3*(1/2)H2O': 80,
681
+ CaCO3: 80,
682
+ MgSO4: 80,
683
+ MgCO3: 80,
684
+ inerts: 80,
685
+ solids: 10,
686
+ },
687
+ }
688
+
689
+ const url = domain + 'desulphur/ionBalance?' + queryStringify(ionBalance)
690
+ console.log(url)
691
+
692
+ })
693
+
694
+ test('phofChlorideBleed', () => {
695
+ let result = {
696
+ gypsumBleed: {
697
+ 'CaSO4*2H2O': 11007.549652281925,
698
+ 'CaSO3*(1/2)H2O': 24.97288672035039,
699
+ CaCO3: 331.3762640685481,
700
+ MgSO4: 3.676545797242017,
701
+ MgCO3: 113.35525965530371,
702
+ inerts: 377.8508655176808,
703
+ ash: 283.44343934397097,
704
+ CaF2: 0,
705
+ MgF2: 57.87657154438721,
706
+ 'Cl-': 1382.6781682919996,
707
+ 'F-': 20.872203214736412,
708
+ 'Mg++': 1548.5768064644508,
709
+ 'Ca++': 0,
710
+ 'SO4--': 4194.559833359596,
711
+ H2O: 61987.2214032692,
712
+ },
713
+ phof: {
714
+ 'CaSO4*2H2O': 1100.7549652281923,
715
+ 'CaSO3*(1/2)H2O': 12.486443360175196,
716
+ CaCO3: 99.4128792205644,
717
+ MgSO4: 1.8382728986210084,
718
+ MgCO3: 56.677629827651856,
719
+ inerts: 188.9254327588404,
720
+ ash: 240.59813652012505,
721
+ CaF2: 0,
722
+ MgF2: 49.12795051451049,
723
+ 'Cl-': 1173.6725727999853,
724
+ 'F-': 17.717161526680304,
725
+ 'Mg++': 1314.49397719693,
726
+ 'Ca++': 0,
727
+ 'SO4--': 3560.510279455694,
728
+ H2O: 52617.23464901998,
729
+ },
730
+ phuf: {
731
+ 'CaSO4*2H2O': 9906.794687053733,
732
+ 'CaSO3*(1/2)H2O': 12.486443360175196,
733
+ CaCO3: 231.9633848479837,
734
+ MgSO4: 1.8382728986210084,
735
+ MgCO3: 56.677629827651856,
736
+ inerts: 188.9254327588404,
737
+ ash: 42.84530282384591,
738
+ CaF2: 0,
739
+ MgF2: 8.748621029876729,
740
+ 'Cl-': 209.00559549201435,
741
+ 'F-': 3.1550416880561096,
742
+ 'Mg++': 234.0828292675207,
743
+ 'Ca++': 0,
744
+ 'SO4--': 634.0495539039022,
745
+ H2O: 9369.986754249225,
746
+ },
747
+ vffeed: {
748
+ 'CaSO4*2H2O': 9906.794687053733,
749
+ 'CaSO3*(1/2)H2O': 12.486443360175196,
750
+ CaCO3: 231.9633848479837,
751
+ MgSO4: 1.8382728986210084,
752
+ MgCO3: 56.677629827651856,
753
+ inerts: 188.9254327588404,
754
+ ash: 42.84530282384591,
755
+ CaF2: 0,
756
+ MgF2: 8.748621029876729,
757
+ 'Cl-': 209.00559549201435,
758
+ 'F-': 3.1550416880561096,
759
+ 'Mg++': 234.0828292675207,
760
+ 'Ca++': 0,
761
+ 'SO4--': 634.0495539039022,
762
+ H2O: 9369.986754249225,
763
+ },
764
+ gypsum: {
765
+ 'CaSO4*2H2O': 9708.658793312658,
766
+ 'CaSO3*(1/2)H2O': 12.236714492971691,
767
+ CaCO3: 227.324117151024,
768
+ MgSO4: 1.8015074406485883,
769
+ MgCO3: 55.54407723109882,
770
+ inerts: 185.1469241036636,
771
+ ash: 41.988396767369,
772
+ CaF2: 0,
773
+ MgF2: 8.573648609279195,
774
+ 'Cl-': 0.11379193532343011,
775
+ 'F-': 0.001717744919052772,
776
+ 'Mg++': 0.12744509593453915,
777
+ 'Ca++': 0,
778
+ 'SO4--': 0.3452047571254581,
779
+ H2O: 1137.3311937009985,
780
+ },
781
+ wash: 2829.9149787194533,
782
+ filtrate: {
783
+ 'CaSO4*2H2O': 198.13589374107505,
784
+ 'CaSO3*(1/2)H2O': 0.24972886720350473,
785
+ CaCO3: 4.639267696959678,
786
+ MgSO4: 0.036765457972420146,
787
+ MgCO3: 1.133552596553038,
788
+ inerts: 3.7785086551768075,
789
+ ash: 0.856906056476916,
790
+ CaF2: 0,
791
+ MgF2: 0.17497242059753404,
792
+ 'Cl-': 208.89180355669092,
793
+ 'F-': 3.1533239431370568,
794
+ 'Mg++': 233.95538417158616,
795
+ 'Ca++': 0,
796
+ 'SO4--': 633.7043491467767,
797
+ H2O: 11062.57053926768,
798
+ },
799
+ bleed: {
800
+ 'CaSO4*2H2O': 43.02875009375089,
801
+ 'CaSO3*(1/2)H2O': 0.4880977764141845,
802
+ CaCO3: 3.8860709887373845,
803
+ MgSO4: 0.07185848590969643,
804
+ MgCO3: 2.215540830428672,
805
+ inerts: 7.385136101428941,
806
+ ash: 9.405033287495064,
807
+ CaF2: 0,
808
+ MgF2: 1.920422230272481,
809
+ 'Cl-': 45.87911517294946,
810
+ 'F-': 0.692567682893991,
811
+ 'Mg++': 51.38385438290708,
812
+ 'Ca++': 0,
813
+ 'SO4--': 139.1811182874566,
814
+ H2O: 2056.819103121266,
815
+ },
816
+ reclaimWater: {
817
+ 'CaSO4*2H2O': 241.1646438348257,
818
+ 'CaSO3*(1/2)H2O': 0.7378266436176887,
819
+ CaCO3: 8.525338685697061,
820
+ MgSO4: 0.10862394388211663,
821
+ MgCO3: 3.34909342698171,
822
+ inerts: 11.163644756605752,
823
+ ash: 10.261939343971978,
824
+ CaF2: 0,
825
+ MgF2: 2.0953946508700145,
826
+ 'Cl-': 254.8847106649638,
827
+ 'F-': 3.8476093709501002,
828
+ 'Mg++': 285.46668365042774,
829
+ 'Ca++': 0,
830
+ 'SO4--': 773.2306721913587,
831
+ H2O: 11426.80585737049,
832
+ },
833
+ }
834
+ const phofChlorideBleed = {
835
+ productA: {
836
+ 'CaSO4*2H2O': 10766.3850084471,
837
+ 'CaSO3*(1/2)H2O': 24.2350600767327,
838
+ CaCO3: 322.850925382851,
839
+ MgSO4: 3.5679218533599,
840
+ MgCO3: 110.006166228322,
841
+ inerts: 366.687220761075,
842
+ ash: 273.181499999999,
843
+ CaF2: 0,
844
+ MgF2: 55.7811768935172,
845
+ 'Cl-': 45.9929071082643,
846
+ 'F-': 0.694285427812914,
847
+ 'Mg++': 51.511299478832,
848
+ 'Ca++': 0,
849
+ 'SO4--': 139.526323044556,
850
+ },
851
+ opt: {
852
+ ext: 'Primary + Secondary',
853
+ phof: 'to Filtrate Tank',
854
+ bleed: 'PH OF',
855
+ solids: 15,
856
+ concCl: 20000,
857
+ },
858
+ ph: {
859
+ 'CaSO4*2H2O': 90,
860
+ 'CaSO3*(1/2)H2O': 50,
861
+ CaCO3: 70,
862
+ MgSO4: 50,
863
+ MgCO3: 50,
864
+ inerts: 50,
865
+ solids: 50,
866
+ },
867
+ vf: {
868
+ 'CaSO4*2H2O': 98,
869
+ 'CaSO3*(1/2)H2O': 98,
870
+ CaCO3: 98,
871
+ MgSO4: 98,
872
+ MgCO3: 98,
873
+ inerts: 98,
874
+ ash: 98,
875
+ CaF2: 98,
876
+ MgF2: 98,
877
+ solids: 90,
878
+ concCl: 100,
879
+ },
880
+ }
881
+
882
+ const url = domain +
883
+ 'desulphur/phofChlorideBleed?' +
884
+ queryStringify(phofChlorideBleed)
885
+ console.log(url)
886
+
887
+ })
888
+
889
+ test('makeup', () => {
890
+ let result = 127120.11984926909
891
+ const makeup = {
892
+ gasInlet: 134008.52,
893
+ oxifeed: 31.3456715545902,
894
+ sootblow: 0,
895
+ limestone: 385.986548169553,
896
+ removal: -28.1444870985152,
897
+ gasOutlet: 256338.32603171,
898
+ gypsum: {
899
+ H2O: 1137.331193701,
900
+ 'CaSO4*2H2O': 9708.65879331272,
901
+ 'CaSO3*(1/2)H2O': 12.2367144929717,
902
+ },
903
+ cl: {
904
+ H2O: 2056.81910312126,
905
+ 'CaSO4*2H2O': 43.0287500937509,
906
+ 'CaSO3*(1/2)H2O': 0.488097776414183,
907
+ },
908
+ }
909
+
910
+ const url = domain + 'desulphur/makeup?' + queryStringify(makeup)
911
+ console.log(url)
912
+
913
+ })
914
+
915
+ test('toprep', () => {
916
+ let result = [
917
+ {
918
+ 'CaSO4*2H2O': 600.0608033998624,
919
+ 'CaSO3*(1/2)H2O': 1.8358447635561614,
920
+ CaCO3: 21.212568723378222,
921
+ MgSO4: 0.2702758165455064,
922
+ MgCO3: 8.333143948879396,
923
+ inerts: 27.777146496264656,
924
+ ash: 25.533542020371307,
925
+ CaF2: 0,
926
+ MgF2: 5.213716976282774,
927
+ 'Cl-': 634.1987856259432,
928
+ 'F-': 9.573540854033556,
929
+ 'Mg++': 710.2922087223195,
930
+ 'Ca++': 0,
931
+ 'SO4--': 1923.9363241253104,
932
+ H2O: 28431.93842196945,
933
+ },
934
+ {
935
+ 'CaSO4*2H2O': 600.0608033998624,
936
+ 'CaSO3*(1/2)H2O': 1.8358447635561614,
937
+ CaCO3: 6621.582542422739,
938
+ MgSO4: 0.2702758165455064,
939
+ MgCO3: 375.02036470995444,
940
+ inerts: 394.4643672573397,
941
+ ash: 25.533542020371307,
942
+ CaF2: 0,
943
+ MgF2: 5.213716976282774,
944
+ 'Cl-': 634.1987856259432,
945
+ 'F-': 9.573540854033556,
946
+ 'Mg++': 710.2922087223195,
947
+ 'Ca++': 0,
948
+ 'SO4--': 1923.9363241253104,
949
+ H2O: 28817.924970139004,
950
+ },
951
+ ]
952
+ const toprep = {
953
+ limestone: {
954
+ CaCO3: 6600.36997369936,
955
+ MgCO3: 366.687220761075,
956
+ inerts: 366.687220761075,
957
+ H2O: 385.986548169553,
958
+ },
959
+ reclaim: {
960
+ 'CaSO4*2H2O': 241.164643834827,
961
+ 'CaSO3*(1/2)H2O': 0.737826643617688,
962
+ CaCO3: 8.52533868569705,
963
+ MgSO4: 0.108623943882116,
964
+ MgCO3: 3.34909342698171,
965
+ inerts: 11.1636447566057,
966
+ ash: 10.2619393439719,
967
+ CaF2: 0,
968
+ MgF2: 2.09539465087,
969
+ 'Cl-': 254.884710664965,
970
+ 'F-': 3.84760937095012,
971
+ 'Mg++': 285.466683650429,
972
+ 'Ca++': 0,
973
+ 'SO4--': 773.230672191366,
974
+ H2O: 11426.8058573705,
975
+ },
976
+
977
+ solids: 20,
978
+ }
979
+
980
+ const url = domain + 'desulphur/toprep?' + queryStringify(toprep)
981
+ console.log(url)
982
+
983
+ })
984
+
985
+ test('gasVolume', () => {
986
+ let result = {
987
+ nvolume: 2432581.6254747123,
988
+ volume: 3491410.5369153935,
989
+ dnvolume: 2265852.772674201,
990
+ dvolume: 3252109.677540563,
991
+ }
992
+ const gasVolume = {
993
+ H2O: 134008.52,
994
+ O2: 222238.08,
995
+ N2: 2253426.62,
996
+ CO2: 600033.34,
997
+ SO2: 4273.11,
998
+ SO3: 45.35924,
999
+ HCl: 49.79,
1000
+ HF: 38.48,
1001
+ temperature: 125.3195261,
1002
+ pressure: 102985.723550424,
1003
+ }
1004
+
1005
+ const url = domain + 'desulphur/gasVolume?' + queryStringify(gasVolume)
1006
+ console.log(url)
1007
+
1008
+ })
1009
+
1010
+ test('liquidVolume', () => {
1011
+ let result = {
1012
+ tss: 12200.101484929482,
1013
+ tds: 7146.687011330827,
1014
+ fw: 69133.90841460033,
1015
+ tf: 81334.0098995298,
1016
+ concCl: 19999.9999999999,
1017
+ solids: 15.000000000000014,
1018
+ sgSolution: 1.1033745549068585,
1019
+ sgSolid: 2.31737709283726,
1020
+ sg: 1.1974723949425978,
1021
+ density: 1197.472394942598,
1022
+ volume: 67.92140699279221
1023
+ }
1024
+
1025
+ const liquidVolume = {
1026
+ 'CaSO4*2H2O': 11007.549652282,
1027
+ 'CaSO3*(1/2)H2O': 24.9728867203504,
1028
+ CaCO3: 331.376264068548,
1029
+ MgSO4: 3.67654579724202,
1030
+ MgCO3: 113.355259655304,
1031
+ inerts: 377.850865517681,
1032
+ ash: 283.443439343971,
1033
+ CaF2: 0,
1034
+ MgF2: 57.8765715443872,
1035
+ 'Cl-': 1382.678168292,
1036
+ 'F-': 20.8722032147365,
1037
+ 'Mg++': 1548.57680646446,
1038
+ 'Ca++': 0,
1039
+ 'SO4--': 4194.55983335963,
1040
+ H2O: 61987.2214032695,
1041
+ }
1042
+
1043
+ const url = domain + 'desulphur/liquidVolume?' + queryStringify(liquidVolume)
1044
+ console.log(url)
1045
+
1046
+ })
1047
+
1048
+ test('idealCombus', () => {
1049
+ let result = {
1050
+ H2O: 2.6709050653286437,
1051
+ O2: -5.156557055808755,
1052
+ N2: 0.031056565786373662,
1053
+ CO2: 4.310323295061903,
1054
+ SO2: 0.029106162045844382,
1055
+ //SO3: 0,
1056
+ //HCl: 0,
1057
+ //HF: 0,
1058
+ //ash: 0,
1059
+ }
1060
+ const idealCombus = {
1061
+ C: 51.77,
1062
+ H: 4.31,
1063
+ O: 8.06,
1064
+ N: 0.87,
1065
+ S: 0.933289086,
1066
+ H2O: 9.6,
1067
+ A: 24.4567109139999,
1068
+ }
1069
+
1070
+ const url = domain + 'desulphur/idealCombus?' + queryStringify(idealCombus)
1071
+ console.log(url)
1072
+
1073
+ })
1074
+ })