@budibase/server 1.0.27-alpha.0 → 1.0.27-alpha.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 (199) hide show
  1. package/__mocks__/node-fetch.ts +18 -0
  2. package/builder/assets/{index.4a13c4cb.css → index.431d69df.css} +1 -1
  3. package/builder/assets/index.d849c3ee.js +1348 -0
  4. package/builder/index.html +2 -2
  5. package/coverage/clover.xml +576 -476
  6. package/coverage/coverage-final.json +26 -26
  7. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/application.js.html +54 -54
  10. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/component.js.html +4 -4
  15. package/coverage/lcov-report/api/controllers/datasource.js.html +49 -49
  16. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/index.html +20 -20
  19. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/query/index.html +19 -19
  24. package/coverage/lcov-report/api/controllers/query/index.js.html +66 -150
  25. package/coverage/lcov-report/api/controllers/query/validation.js.html +6 -3
  26. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/index.html +16 -16
  30. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +7 -4
  33. package/coverage/lcov-report/api/controllers/row/utils.js.html +29 -20
  34. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  45. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  46. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  49. package/coverage/lcov-report/api/index.html +1 -1
  50. package/coverage/lcov-report/api/index.js.html +5 -5
  51. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/index.html +1 -1
  64. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/query.js.html +24 -3
  70. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  81. package/coverage/lcov-report/automations/actions.js.html +1 -1
  82. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  83. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  84. package/coverage/lcov-report/automations/index.html +1 -1
  85. package/coverage/lcov-report/automations/index.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/executeQuery.js.html +31 -7
  92. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/index.html +11 -11
  95. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  102. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  113. package/coverage/lcov-report/automations/utils.js.html +5 -5
  114. package/coverage/lcov-report/constants/index.html +1 -1
  115. package/coverage/lcov-report/constants/index.js.html +1 -1
  116. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  117. package/coverage/lcov-report/constants/screens.js.html +1 -1
  118. package/coverage/lcov-report/db/client.js.html +1 -1
  119. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  120. package/coverage/lcov-report/db/index.html +1 -1
  121. package/coverage/lcov-report/db/index.js.html +1 -1
  122. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  123. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  124. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  125. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  126. package/coverage/lcov-report/db/newid.js.html +2 -2
  127. package/coverage/lcov-report/db/utils.js.html +18 -18
  128. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  129. package/coverage/lcov-report/events/index.html +1 -1
  130. package/coverage/lcov-report/events/index.js.html +1 -1
  131. package/coverage/lcov-report/events/utils.js.html +1 -1
  132. package/coverage/lcov-report/index.html +63 -63
  133. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  134. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  135. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  136. package/coverage/lcov-report/middleware/authorized.js.html +10 -10
  137. package/coverage/lcov-report/middleware/builder.js.html +8 -8
  138. package/coverage/lcov-report/middleware/currentapp.js.html +28 -28
  139. package/coverage/lcov-report/middleware/index.html +1 -1
  140. package/coverage/lcov-report/middleware/joi-validator.js.html +9 -9
  141. package/coverage/lcov-report/middleware/resourceId.js.html +17 -17
  142. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  143. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  144. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  145. package/coverage/lcov-report/threads/automation.js.html +1 -1
  146. package/coverage/lcov-report/threads/index.html +30 -30
  147. package/coverage/lcov-report/threads/index.js.html +11 -11
  148. package/coverage/lcov-report/threads/query.js.html +358 -91
  149. package/coverage/lcov-report/threads/utils.js.html +352 -10
  150. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  151. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  152. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  153. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  154. package/coverage/lcov-report/utilities/global.js.html +13 -13
  155. package/coverage/lcov-report/utilities/index.html +1 -1
  156. package/coverage/lcov-report/utilities/index.js.html +9 -9
  157. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +2 -2
  158. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  159. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  160. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  161. package/coverage/lcov-report/utilities/rowProcessor/index.html +19 -19
  162. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +46 -10
  163. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  164. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  165. package/coverage/lcov-report/utilities/security.js.html +1 -1
  166. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  167. package/coverage/lcov-report/utilities/users.js.html +1 -1
  168. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  169. package/coverage/lcov.info +1001 -826
  170. package/dist/api/controllers/query/import/sources/curl.js +5 -1
  171. package/dist/api/controllers/query/index.js +29 -47
  172. package/dist/api/controllers/query/validation.js +2 -1
  173. package/dist/api/controllers/row/internalSearch.js +2 -1
  174. package/dist/api/controllers/row/utils.js +13 -6
  175. package/dist/api/routes/query.js +3 -1
  176. package/dist/automations/steps/executeQuery.js +8 -1
  177. package/dist/integrations/rest.js +2 -2
  178. package/dist/package.json +5 -4
  179. package/dist/tests/utilities/TestConfiguration.js +7 -0
  180. package/dist/threads/query.js +145 -52
  181. package/dist/threads/utils.js +104 -0
  182. package/dist/tsconfig.tsbuildinfo +1 -1
  183. package/dist/utilities/rowProcessor/index.js +13 -0
  184. package/package.json +6 -5
  185. package/src/api/controllers/query/import/sources/curl.ts +5 -1
  186. package/src/api/controllers/query/index.js +27 -55
  187. package/src/api/controllers/query/validation.js +2 -1
  188. package/src/api/controllers/row/internalSearch.js +2 -1
  189. package/src/api/controllers/row/utils.js +11 -8
  190. package/src/api/routes/query.js +8 -1
  191. package/src/api/routes/tests/query.spec.js +88 -0
  192. package/src/automations/steps/executeQuery.js +9 -1
  193. package/src/definitions/datasource.ts +10 -0
  194. package/src/integrations/rest.ts +5 -2
  195. package/src/tests/utilities/TestConfiguration.js +10 -0
  196. package/src/threads/query.js +145 -56
  197. package/src/threads/utils.js +114 -0
  198. package/src/utilities/rowProcessor/index.js +12 -0
  199. package/builder/assets/index.e2f56628.js +0 -1320
@@ -160,7 +160,7 @@
160
160
  <div class='footer quiet pad2 space-top1 center small'>
161
161
  Code coverage generated by
162
162
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
163
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
163
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
164
164
  </div>
165
165
  </div>
166
166
  <script src="../../prettify.js"></script>
@@ -184,7 +184,7 @@
184
184
  <div class='footer quiet pad2 space-top1 center small'>
185
185
  Code coverage generated by
186
186
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
187
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
187
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
188
188
  </div>
189
189
  </div>
190
190
  <script src="../../prettify.js"></script>
@@ -184,7 +184,7 @@
184
184
  <div class='footer quiet pad2 space-top1 center small'>
185
185
  Code coverage generated by
186
186
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
187
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
187
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
188
188
  </div>
189
189
  </div>
190
190
  <script src="../../prettify.js"></script>
@@ -172,7 +172,7 @@
172
172
  <div class='footer quiet pad2 space-top1 center small'>
173
173
  Code coverage generated by
174
174
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
175
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
175
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
176
176
  </div>
177
177
  </div>
178
178
  <script src="../../prettify.js"></script>
@@ -397,7 +397,7 @@ exports.TRIGGER_DEFINITIONS = TRIGGER_DEFINITIONS
397
397
  <div class='footer quiet pad2 space-top1 center small'>
398
398
  Code coverage generated by
399
399
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
400
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
400
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
401
401
  </div>
402
402
  </div>
403
403
  <script src="../prettify.js"></script>
@@ -299,15 +299,15 @@
299
299
  <span class="cline-any cline-neutral">&nbsp;</span>
300
300
  <span class="cline-any cline-neutral">&nbsp;</span>
301
301
  <span class="cline-any cline-yes">33x</span>
302
- <span class="cline-any cline-yes">186x</span>
303
- <span class="cline-any cline-yes">186x</span>
304
- <span class="cline-any cline-yes">186x</span>
302
+ <span class="cline-any cline-yes">189x</span>
303
+ <span class="cline-any cline-yes">189x</span>
304
+ <span class="cline-any cline-yes">189x</span>
305
305
  <span class="cline-any cline-no">&nbsp;</span>
306
306
  <span class="cline-any cline-no">&nbsp;</span>
307
307
  <span class="cline-any cline-no">&nbsp;</span>
308
308
  <span class="cline-any cline-neutral">&nbsp;</span>
309
309
  <span class="cline-any cline-neutral">&nbsp;</span>
310
- <span class="cline-any cline-yes">186x</span>
310
+ <span class="cline-any cline-yes">189x</span>
311
311
  <span class="cline-any cline-neutral">&nbsp;</span>
312
312
  <span class="cline-any cline-neutral">&nbsp;</span>
313
313
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -619,7 +619,7 @@ exports.cleanupAutomations = <span class="fstat-no" title="function not covered"
619
619
  <div class='footer quiet pad2 space-top1 center small'>
620
620
  Code coverage generated by
621
621
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
622
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
622
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
623
623
  </div>
624
624
  </div>
625
625
  <script src="../prettify.js"></script>
@@ -125,7 +125,7 @@
125
125
  <div class='footer quiet pad2 space-top1 center small'>
126
126
  Code coverage generated by
127
127
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
128
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
128
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
129
129
  </div>
130
130
  </div>
131
131
  <script src="../prettify.js"></script>
@@ -598,7 +598,7 @@ exports.ObjectStoreBuckets = ObjectStoreBuckets
598
598
  <div class='footer quiet pad2 space-top1 center small'>
599
599
  Code coverage generated by
600
600
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
601
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
601
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
602
602
  </div>
603
603
  </div>
604
604
  <script src="../prettify.js"></script>
@@ -523,7 +523,7 @@ module.exports = {
523
523
  <div class='footer quiet pad2 space-top1 center small'>
524
524
  Code coverage generated by
525
525
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
526
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
526
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
527
527
  </div>
528
528
  </div>
529
529
  <script src="../prettify.js"></script>
@@ -202,7 +202,7 @@ exports.createHomeScreen = () =&gt; ({
202
202
  <div class='footer quiet pad2 space-top1 center small'>
203
203
  Code coverage generated by
204
204
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
205
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
205
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
206
206
  </div>
207
207
  </div>
208
208
  <script src="../prettify.js"></script>
@@ -157,7 +157,7 @@ module.exports = Pouch
157
157
  <div class='footer quiet pad2 space-top1 center small'>
158
158
  Code coverage generated by
159
159
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
160
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
160
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
161
161
  </div>
162
162
  </div>
163
163
  <script src="../prettify.js"></script>
@@ -208,7 +208,7 @@ exports.runView = <span class="fstat-no" title="function not covered" >as</span>
208
208
  <div class='footer quiet pad2 space-top1 center small'>
209
209
  Code coverage generated by
210
210
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
211
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
211
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
212
212
  </div>
213
213
  </div>
214
214
  <script src="../prettify.js"></script>
@@ -155,7 +155,7 @@
155
155
  <div class='footer quiet pad2 space-top1 center small'>
156
156
  Code coverage generated by
157
157
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
158
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
158
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
159
159
  </div>
160
160
  </div>
161
161
  <script src="../prettify.js"></script>
@@ -73,7 +73,7 @@ module.exports = client
73
73
  <div class='footer quiet pad2 space-top1 center small'>
74
74
  Code coverage generated by
75
75
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
76
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
76
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
77
77
  </div>
78
78
  </div>
79
79
  <script src="../prettify.js"></script>
@@ -1468,7 +1468,7 @@ module.exports = LinkController
1468
1468
  <div class='footer quiet pad2 space-top1 center small'>
1469
1469
  Code coverage generated by
1470
1470
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1471
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
1471
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
1472
1472
  </div>
1473
1473
  </div>
1474
1474
  <script src="../../prettify.js"></script>
@@ -125,7 +125,7 @@
125
125
  <div class='footer quiet pad2 space-top1 center small'>
126
126
  Code coverage generated by
127
127
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
128
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
128
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
129
129
  </div>
130
130
  </div>
131
131
  <script src="../../prettify.js"></script>
@@ -742,7 +742,7 @@ exports.squashLinksToPrimaryDisplay = async (appId, table, enriched) =&gt; {
742
742
  <div class='footer quiet pad2 space-top1 center small'>
743
743
  Code coverage generated by
744
744
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
745
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
745
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
746
746
  </div>
747
747
  </div>
748
748
  <script src="../../prettify.js"></script>
@@ -412,7 +412,7 @@ exports.getRelatedTableForField = (table, fieldName) =&gt; {
412
412
  <div class='footer quiet pad2 space-top1 center small'>
413
413
  Code coverage generated by
414
414
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
415
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
415
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
416
416
  </div>
417
417
  </div>
418
418
  <script src="../../prettify.js"></script>
@@ -65,7 +65,7 @@
65
65
  <a name='L6'></a><a href='#L6'>6</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">49x</span>
66
66
  <span class="cline-any cline-neutral">&nbsp;</span>
67
67
  <span class="cline-any cline-yes">49x</span>
68
- <span class="cline-any cline-yes">683x</span>
68
+ <span class="cline-any cline-yes">700x</span>
69
69
  <span class="cline-any cline-neutral">&nbsp;</span>
70
70
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { v4 } = require("uuid")
71
71
  &nbsp;
@@ -79,7 +79,7 @@ module.exports = function () {
79
79
  <div class='footer quiet pad2 space-top1 center small'>
80
80
  Code coverage generated by
81
81
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
82
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
82
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
83
83
  </div>
84
84
  </div>
85
85
  <script src="../prettify.js"></script>
@@ -539,10 +539,10 @@
539
539
  <span class="cline-any cline-neutral">&nbsp;</span>
540
540
  <span class="cline-any cline-neutral">&nbsp;</span>
541
541
  <span class="cline-any cline-neutral">&nbsp;</span>
542
- <span class="cline-any cline-yes">606x</span>
543
- <span class="cline-any cline-yes">593x</span>
542
+ <span class="cline-any cline-yes">615x</span>
543
+ <span class="cline-any cline-yes">602x</span>
544
544
  <span class="cline-any cline-neutral">&nbsp;</span>
545
- <span class="cline-any cline-yes">606x</span>
545
+ <span class="cline-any cline-yes">615x</span>
546
546
  <span class="cline-any cline-neutral">&nbsp;</span>
547
547
  <span class="cline-any cline-neutral">&nbsp;</span>
548
548
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -591,8 +591,8 @@
591
591
  <span class="cline-any cline-neutral">&nbsp;</span>
592
592
  <span class="cline-any cline-neutral">&nbsp;</span>
593
593
  <span class="cline-any cline-yes">49x</span>
594
- <span class="cline-any cline-yes">201x</span>
595
- <span class="cline-any cline-yes">201x</span>
594
+ <span class="cline-any cline-yes">205x</span>
595
+ <span class="cline-any cline-yes">205x</span>
596
596
  <span class="cline-any cline-neutral">&nbsp;</span>
597
597
  <span class="cline-any cline-neutral">&nbsp;</span>
598
598
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -608,7 +608,7 @@
608
608
  <span class="cline-any cline-neutral">&nbsp;</span>
609
609
  <span class="cline-any cline-neutral">&nbsp;</span>
610
610
  <span class="cline-any cline-yes">49x</span>
611
- <span class="cline-any cline-yes">133x</span>
611
+ <span class="cline-any cline-yes">137x</span>
612
612
  <span class="cline-any cline-neutral">&nbsp;</span>
613
613
  <span class="cline-any cline-neutral">&nbsp;</span>
614
614
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -626,7 +626,7 @@
626
626
  <span class="cline-any cline-neutral">&nbsp;</span>
627
627
  <span class="cline-any cline-neutral">&nbsp;</span>
628
628
  <span class="cline-any cline-yes">49x</span>
629
- <span class="cline-any cline-yes">204x</span>
629
+ <span class="cline-any cline-yes">207x</span>
630
630
  <span class="cline-any cline-neutral">&nbsp;</span>
631
631
  <span class="cline-any cline-neutral">&nbsp;</span>
632
632
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -674,11 +674,11 @@
674
674
  <span class="cline-any cline-neutral">&nbsp;</span>
675
675
  <span class="cline-any cline-neutral">&nbsp;</span>
676
676
  <span class="cline-any cline-yes">49x</span>
677
- <span class="cline-any cline-yes">179x</span>
678
- <span class="cline-any cline-yes">179x</span>
677
+ <span class="cline-any cline-yes">182x</span>
678
+ <span class="cline-any cline-yes">182x</span>
679
679
  <span class="cline-any cline-no">&nbsp;</span>
680
680
  <span class="cline-any cline-neutral">&nbsp;</span>
681
- <span class="cline-any cline-yes">179x</span>
681
+ <span class="cline-any cline-yes">182x</span>
682
682
  <span class="cline-any cline-neutral">&nbsp;</span>
683
683
  <span class="cline-any cline-neutral">&nbsp;</span>
684
684
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -686,9 +686,9 @@
686
686
  <span class="cline-any cline-neutral">&nbsp;</span>
687
687
  <span class="cline-any cline-neutral">&nbsp;</span>
688
688
  <span class="cline-any cline-yes">49x</span>
689
- <span class="cline-any cline-yes">179x</span>
690
- <span class="cline-any cline-yes">179x</span>
691
- <span class="cline-any cline-yes">179x</span>
689
+ <span class="cline-any cline-yes">182x</span>
690
+ <span class="cline-any cline-yes">182x</span>
691
+ <span class="cline-any cline-yes">182x</span>
692
692
  <span class="cline-any cline-neutral">&nbsp;</span>
693
693
  <span class="cline-any cline-neutral">&nbsp;</span>
694
694
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -703,7 +703,7 @@
703
703
  <span class="cline-any cline-neutral">&nbsp;</span>
704
704
  <span class="cline-any cline-neutral">&nbsp;</span>
705
705
  <span class="cline-any cline-yes">49x</span>
706
- <span class="cline-any cline-yes">189x</span>
706
+ <span class="cline-any cline-yes">192x</span>
707
707
  <span class="cline-any cline-neutral">&nbsp;</span>
708
708
  <span class="cline-any cline-neutral">&nbsp;</span>
709
709
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -718,7 +718,7 @@
718
718
  <span class="cline-any cline-neutral">&nbsp;</span>
719
719
  <span class="cline-any cline-neutral">&nbsp;</span>
720
720
  <span class="cline-any cline-yes">49x</span>
721
- <span class="cline-any cline-yes">191x</span>
721
+ <span class="cline-any cline-yes">194x</span>
722
722
  <span class="cline-any cline-neutral">&nbsp;</span>
723
723
  <span class="cline-any cline-neutral">&nbsp;</span>
724
724
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -741,7 +741,7 @@
741
741
  <span class="cline-any cline-neutral">&nbsp;</span>
742
742
  <span class="cline-any cline-neutral">&nbsp;</span>
743
743
  <span class="cline-any cline-yes">49x</span>
744
- <span class="cline-any cline-yes">24x</span>
744
+ <span class="cline-any cline-yes">30x</span>
745
745
  <span class="cline-any cline-neutral">&nbsp;</span>
746
746
  <span class="cline-any cline-neutral">&nbsp;</span>
747
747
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -758,7 +758,7 @@
758
758
  <span class="cline-any cline-neutral">&nbsp;</span>
759
759
  <span class="cline-any cline-neutral">&nbsp;</span>
760
760
  <span class="cline-any cline-yes">49x</span>
761
- <span class="cline-any cline-yes">73x</span>
761
+ <span class="cline-any cline-yes">78x</span>
762
762
  <span class="cline-any cline-neutral">&nbsp;</span>
763
763
  <span class="cline-any cline-neutral">&nbsp;</span>
764
764
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1201,7 +1201,7 @@ exports.getMultiIDParams = ids =&gt; {
1201
1201
  <div class='footer quiet pad2 space-top1 center small'>
1202
1202
  Code coverage generated by
1203
1203
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1204
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
1204
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
1205
1205
  </div>
1206
1206
  </div>
1207
1207
  <script src="../prettify.js"></script>
@@ -217,7 +217,7 @@ module.exports = AutomationEmitter
217
217
  <div class='footer quiet pad2 space-top1 center small'>
218
218
  Code coverage generated by
219
219
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
220
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
220
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
221
221
  </div>
222
222
  </div>
223
223
  <script src="../prettify.js"></script>
@@ -125,7 +125,7 @@
125
125
  <div class='footer quiet pad2 space-top1 center small'>
126
126
  Code coverage generated by
127
127
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
128
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
128
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
129
129
  </div>
130
130
  </div>
131
131
  <script src="../prettify.js"></script>
@@ -154,7 +154,7 @@ module.exports = emitter
154
154
  <div class='footer quiet pad2 space-top1 center small'>
155
155
  Code coverage generated by
156
156
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
157
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
157
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
158
158
  </div>
159
159
  </div>
160
160
  <script src="../prettify.js"></script>
@@ -178,7 +178,7 @@ exports.tableEmission = ({ emitter, eventName, appId, table, metadata }) =&gt; {
178
178
  <div class='footer quiet pad2 space-top1 center small'>
179
179
  Code coverage generated by
180
180
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
181
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
181
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
182
182
  </div>
183
183
  </div>
184
184
  <script src="../prettify.js"></script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">73.21% </span>
26
+ <span class="strong">73.89% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>3316/4529</span>
28
+ <span class='fraction'>3423/4632</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">54.22% </span>
33
+ <span class="strong">55.14% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>962/1774</span>
35
+ <span class='fraction'>1003/1819</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">70.56% </span>
40
+ <span class="strong">70.94% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>446/632</span>
42
+ <span class='fraction'>459/647</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">73.4% </span>
47
+ <span class="strong">74.1% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>3277/4464</span>
49
+ <span class='fraction'>3382/4564</span>
50
50
  </div>
51
51
 
52
52
 
@@ -89,47 +89,47 @@
89
89
 
90
90
  <tr>
91
91
  <td class="file medium" data-value="api/controllers"><a href="api/controllers/index.html">api/controllers</a></td>
92
- <td data-value="69.63" class="pic medium">
93
- <div class="chart"><div class="cover-fill" style="width: 69%"></div><div class="cover-empty" style="width: 31%"></div></div>
92
+ <td data-value="70.75" class="pic medium">
93
+ <div class="chart"><div class="cover-fill" style="width: 70%"></div><div class="cover-empty" style="width: 30%"></div></div>
94
94
  </td>
95
- <td data-value="69.63" class="pct medium">69.63%</td>
96
- <td data-value="1077" class="abs medium">750/1077</td>
97
- <td data-value="45.11" class="pct low">45.11%</td>
98
- <td data-value="348" class="abs low">157/348</td>
99
- <td data-value="68.49" class="pct medium">68.49%</td>
100
- <td data-value="146" class="abs medium">100/146</td>
101
- <td data-value="69.83" class="pct medium">69.83%</td>
102
- <td data-value="1064" class="abs medium">743/1064</td>
95
+ <td data-value="70.75" class="pct medium">70.75%</td>
96
+ <td data-value="1077" class="abs medium">762/1077</td>
97
+ <td data-value="46.26" class="pct low">46.26%</td>
98
+ <td data-value="348" class="abs low">161/348</td>
99
+ <td data-value="69.17" class="pct medium">69.17%</td>
100
+ <td data-value="146" class="abs medium">101/146</td>
101
+ <td data-value="70.95" class="pct medium">70.95%</td>
102
+ <td data-value="1064" class="abs medium">755/1064</td>
103
103
  </tr>
104
104
 
105
105
  <tr>
106
106
  <td class="file medium" data-value="api/controllers/query"><a href="api/controllers/query/index.html">api/controllers/query</a></td>
107
- <td data-value="73.95" class="pic medium">
108
- <div class="chart"><div class="cover-fill" style="width: 73%"></div><div class="cover-empty" style="width: 27%"></div></div>
107
+ <td data-value="79.76" class="pic medium">
108
+ <div class="chart"><div class="cover-fill" style="width: 79%"></div><div class="cover-empty" style="width: 21%"></div></div>
109
109
  </td>
110
- <td data-value="73.95" class="pct medium">73.95%</td>
111
- <td data-value="96" class="abs medium">71/96</td>
112
- <td data-value="44.44" class="pct low">44.44%</td>
113
- <td data-value="27" class="abs low">12/27</td>
114
- <td data-value="92.3" class="pct high">92.3%</td>
115
- <td data-value="13" class="abs high">12/13</td>
116
- <td data-value="73.68" class="pct medium">73.68%</td>
117
- <td data-value="95" class="abs medium">70/95</td>
110
+ <td data-value="79.76" class="pct medium">79.76%</td>
111
+ <td data-value="84" class="abs medium">67/84</td>
112
+ <td data-value="64.7" class="pct medium">64.7%</td>
113
+ <td data-value="17" class="abs medium">11/17</td>
114
+ <td data-value="85.71" class="pct high">85.71%</td>
115
+ <td data-value="14" class="abs high">12/14</td>
116
+ <td data-value="79.51" class="pct medium">79.51%</td>
117
+ <td data-value="83" class="abs medium">66/83</td>
118
118
  </tr>
119
119
 
120
120
  <tr>
121
121
  <td class="file medium" data-value="api/controllers/row"><a href="api/controllers/row/index.html">api/controllers/row</a></td>
122
- <td data-value="52.6" class="pic medium">
122
+ <td data-value="52.5" class="pic medium">
123
123
  <div class="chart"><div class="cover-fill" style="width: 52%"></div><div class="cover-empty" style="width: 48%"></div></div>
124
124
  </td>
125
- <td data-value="52.6" class="pct medium">52.6%</td>
126
- <td data-value="595" class="abs medium">313/595</td>
127
- <td data-value="33.46" class="pct low">33.46%</td>
128
- <td data-value="248" class="abs low">83/248</td>
125
+ <td data-value="52.5" class="pct medium">52.5%</td>
126
+ <td data-value="600" class="abs medium">315/600</td>
127
+ <td data-value="33.59" class="pct low">33.59%</td>
128
+ <td data-value="253" class="abs low">85/253</td>
129
129
  <td data-value="43.18" class="pct low">43.18%</td>
130
130
  <td data-value="88" class="abs low">38/88</td>
131
- <td data-value="52.65" class="pct medium">52.65%</td>
132
- <td data-value="583" class="abs medium">307/583</td>
131
+ <td data-value="52.55" class="pct medium">52.55%</td>
132
+ <td data-value="588" class="abs medium">309/588</td>
133
133
  </tr>
134
134
 
135
135
  <tr>
@@ -194,17 +194,17 @@
194
194
 
195
195
  <tr>
196
196
  <td class="file medium" data-value="automations/steps"><a href="automations/steps/index.html">automations/steps</a></td>
197
- <td data-value="74.27" class="pic medium">
198
- <div class="chart"><div class="cover-fill" style="width: 74%"></div><div class="cover-empty" style="width: 26%"></div></div>
197
+ <td data-value="73.96" class="pic medium">
198
+ <div class="chart"><div class="cover-fill" style="width: 73%"></div><div class="cover-empty" style="width: 27%"></div></div>
199
199
  </td>
200
- <td data-value="74.27" class="pct medium">74.27%</td>
201
- <td data-value="241" class="abs medium">179/241</td>
200
+ <td data-value="73.96" class="pct medium">73.96%</td>
201
+ <td data-value="242" class="abs medium">179/242</td>
202
202
  <td data-value="70.78" class="pct medium">70.78%</td>
203
203
  <td data-value="89" class="abs medium">63/89</td>
204
204
  <td data-value="55" class="pct medium">55%</td>
205
205
  <td data-value="20" class="abs medium">11/20</td>
206
- <td data-value="74.27" class="pct medium">74.27%</td>
207
- <td data-value="241" class="abs medium">179/241</td>
206
+ <td data-value="73.96" class="pct medium">73.96%</td>
207
+ <td data-value="242" class="abs medium">179/242</td>
208
208
  </tr>
209
209
 
210
210
  <tr>
@@ -313,18 +313,18 @@
313
313
  </tr>
314
314
 
315
315
  <tr>
316
- <td class="file medium" data-value="threads"><a href="threads/index.html">threads</a></td>
317
- <td data-value="78.8" class="pic medium">
318
- <div class="chart"><div class="cover-fill" style="width: 78%"></div><div class="cover-empty" style="width: 22%"></div></div>
316
+ <td class="file high" data-value="threads"><a href="threads/index.html">threads</a></td>
317
+ <td data-value="84.7" class="pic high">
318
+ <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
319
319
  </td>
320
- <td data-value="78.8" class="pct medium">78.8%</td>
321
- <td data-value="151" class="abs medium">119/151</td>
322
- <td data-value="55.55" class="pct medium">55.55%</td>
323
- <td data-value="63" class="abs medium">35/63</td>
324
- <td data-value="91.66" class="pct high">91.66%</td>
325
- <td data-value="24" class="abs high">22/24</td>
326
- <td data-value="79.19" class="pct medium">79.19%</td>
327
- <td data-value="149" class="abs medium">118/149</td>
320
+ <td data-value="84.7" class="pct high">84.7%</td>
321
+ <td data-value="255" class="abs high">216/255</td>
322
+ <td data-value="63.96" class="pct medium">63.96%</td>
323
+ <td data-value="111" class="abs medium">71/111</td>
324
+ <td data-value="91.89" class="pct high">91.89%</td>
325
+ <td data-value="37" class="abs high">34/37</td>
326
+ <td data-value="85.2" class="pct high">85.2%</td>
327
+ <td data-value="250" class="abs high">213/250</td>
328
328
  </tr>
329
329
 
330
330
  <tr>
@@ -374,17 +374,17 @@
374
374
 
375
375
  <tr>
376
376
  <td class="file medium" data-value="utilities/rowProcessor"><a href="utilities/rowProcessor/index.html">utilities/rowProcessor</a></td>
377
- <td data-value="77.31" class="pic medium">
378
- <div class="chart"><div class="cover-fill" style="width: 77%"></div><div class="cover-empty" style="width: 23%"></div></div>
377
+ <td data-value="73.52" class="pic medium">
378
+ <div class="chart"><div class="cover-fill" style="width: 73%"></div><div class="cover-empty" style="width: 27%"></div></div>
379
379
  </td>
380
- <td data-value="77.31" class="pct medium">77.31%</td>
381
- <td data-value="97" class="abs medium">75/97</td>
382
- <td data-value="60.52" class="pct medium">60.52%</td>
383
- <td data-value="76" class="abs medium">46/76</td>
384
- <td data-value="83.33" class="pct high">83.33%</td>
385
- <td data-value="12" class="abs high">10/12</td>
386
- <td data-value="77.89" class="pct medium">77.89%</td>
387
- <td data-value="95" class="abs medium">74/95</td>
380
+ <td data-value="73.52" class="pct medium">73.52%</td>
381
+ <td data-value="102" class="abs medium">75/102</td>
382
+ <td data-value="58.97" class="pct medium">58.97%</td>
383
+ <td data-value="78" class="abs medium">46/78</td>
384
+ <td data-value="76.92" class="pct medium">76.92%</td>
385
+ <td data-value="13" class="abs medium">10/13</td>
386
+ <td data-value="74" class="pct medium">74%</td>
387
+ <td data-value="100" class="abs medium">74/100</td>
388
388
  </tr>
389
389
 
390
390
  </tbody>
@@ -395,7 +395,7 @@
395
395
  <div class='footer quiet pad2 space-top1 center small'>
396
396
  Code coverage generated by
397
397
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
398
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
398
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
399
399
  </div>
400
400
  </div>
401
401
  <script src="prettify.js"></script>
@@ -64,7 +64,7 @@
64
64
  <div class='footer quiet pad2 space-top1 center small'>
65
65
  Code coverage generated by
66
66
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
67
- at Mon Dec 20 2021 09:21:37 GMT+0000 (Coordinated Universal Time)
67
+ at Wed Jan 05 2022 15:28:48 GMT+0000 (Coordinated Universal Time)
68
68
  </div>
69
69
  </div>
70
70
  <script src="../../prettify.js"></script>