@budibase/server 1.0.25 → 1.0.27-alpha.10

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 (255) hide show
  1. package/__mocks__/node-fetch.ts +21 -0
  2. package/builder/assets/bb-spaceship.8f6e81e1.svg +227 -0
  3. package/builder/assets/{index.4fb3f887.css → index.0dce895b.css} +1 -1
  4. package/builder/assets/index.39751e34.js +1348 -0
  5. package/builder/assets/{vendor.470042a4.js → vendor.f9faf6ab.js} +88 -88
  6. package/builder/index.html +3 -3
  7. package/coverage/clover.xml +1263 -1036
  8. package/coverage/coverage-final.json +36 -35
  9. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/application.js.html +54 -54
  12. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/automation.js.html +22 -10
  14. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/component.js.html +4 -4
  17. package/coverage/lcov-report/api/controllers/datasource.js.html +62 -62
  18. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/index.html +39 -54
  21. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/query/index.html +126 -0
  26. package/coverage/lcov-report/api/controllers/{query.js.html → query/index.js.html} +225 -114
  27. package/coverage/lcov-report/api/controllers/query/validation.js.html +206 -0
  28. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/index.html +22 -22
  32. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/row/internal.js.html +38 -11
  34. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +7 -4
  35. package/coverage/lcov-report/api/controllers/row/utils.js.html +29 -20
  36. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  40. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/user.js.html +108 -9
  45. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  46. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  49. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  50. package/coverage/lcov-report/api/controllers/webhook.js.html +18 -6
  51. package/coverage/lcov-report/api/index.html +1 -1
  52. package/coverage/lcov-report/api/index.js.html +5 -5
  53. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/index.html +9 -9
  66. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/query.js.html +19 -85
  72. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  80. package/coverage/lcov-report/api/routes/user.js.html +32 -2
  81. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  82. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  83. package/coverage/lcov-report/automations/actions.js.html +1 -1
  84. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  85. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  86. package/coverage/lcov-report/automations/index.html +20 -20
  87. package/coverage/lcov-report/automations/index.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/executeQuery.js.html +31 -7
  94. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/index.html +11 -11
  97. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +5 -8
  99. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  102. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  104. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  105. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  113. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  114. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  115. package/coverage/lcov-report/automations/utils.js.html +48 -15
  116. package/coverage/lcov-report/constants/index.html +1 -1
  117. package/coverage/lcov-report/constants/index.js.html +22 -22
  118. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  119. package/coverage/lcov-report/constants/screens.js.html +1 -1
  120. package/coverage/lcov-report/db/client.js.html +18 -18
  121. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  122. package/coverage/lcov-report/db/index.html +15 -15
  123. package/coverage/lcov-report/db/index.js.html +3 -3
  124. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  125. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  126. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  127. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  128. package/coverage/lcov-report/db/newid.js.html +4 -4
  129. package/coverage/lcov-report/db/utils.js.html +107 -80
  130. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  131. package/coverage/lcov-report/events/index.html +1 -1
  132. package/coverage/lcov-report/events/index.js.html +1 -1
  133. package/coverage/lcov-report/events/utils.js.html +1 -1
  134. package/coverage/lcov-report/index.html +99 -84
  135. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  136. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  137. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  138. package/coverage/lcov-report/middleware/authorized.js.html +10 -10
  139. package/coverage/lcov-report/middleware/builder.js.html +8 -8
  140. package/coverage/lcov-report/middleware/currentapp.js.html +28 -28
  141. package/coverage/lcov-report/middleware/index.html +1 -1
  142. package/coverage/lcov-report/middleware/joi-validator.js.html +11 -11
  143. package/coverage/lcov-report/middleware/resourceId.js.html +17 -17
  144. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  145. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  146. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  147. package/coverage/lcov-report/threads/automation.js.html +1 -1
  148. package/coverage/lcov-report/threads/index.html +31 -31
  149. package/coverage/lcov-report/threads/index.js.html +11 -11
  150. package/coverage/lcov-report/threads/query.js.html +394 -67
  151. package/coverage/lcov-report/threads/utils.js.html +356 -11
  152. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  153. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  154. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  155. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  156. package/coverage/lcov-report/utilities/global.js.html +13 -13
  157. package/coverage/lcov-report/utilities/index.html +19 -19
  158. package/coverage/lcov-report/utilities/index.js.html +68 -35
  159. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +2 -2
  160. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  161. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  162. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  163. package/coverage/lcov-report/utilities/rowProcessor/index.html +19 -19
  164. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +235 -10
  165. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  166. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  167. package/coverage/lcov-report/utilities/security.js.html +2 -2
  168. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  169. package/coverage/lcov-report/utilities/users.js.html +1 -1
  170. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  171. package/coverage/lcov.info +2117 -1728
  172. package/dist/api/controllers/automation.js +7 -5
  173. package/dist/api/controllers/query/import/index.js +79 -0
  174. package/dist/api/controllers/query/import/sources/base/index.js +64 -0
  175. package/dist/api/controllers/query/import/sources/base/openapi.js +42 -0
  176. package/dist/api/controllers/query/import/sources/curl.js +96 -0
  177. package/dist/api/controllers/query/import/sources/openapi2.js +142 -0
  178. package/dist/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +253 -0
  179. package/dist/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +1054 -0
  180. package/dist/api/controllers/{query.js → query/index.js} +86 -52
  181. package/dist/api/controllers/query/validation.js +38 -0
  182. package/dist/api/controllers/row/internal.js +14 -6
  183. package/dist/api/controllers/row/internalSearch.js +2 -1
  184. package/dist/api/controllers/row/utils.js +13 -6
  185. package/dist/api/controllers/user.js +37 -1
  186. package/dist/api/controllers/webhook.js +4 -0
  187. package/dist/api/routes/query.js +5 -33
  188. package/dist/api/routes/user.js +3 -1
  189. package/dist/automations/steps/executeQuery.js +8 -1
  190. package/dist/automations/steps/outgoingWebhook.js +2 -3
  191. package/dist/automations/utils.js +10 -0
  192. package/dist/db/utils.js +8 -0
  193. package/dist/definitions/datasource.js +6 -1
  194. package/dist/integrations/base/sqlTable.js +1 -1
  195. package/dist/integrations/rest.js +207 -117
  196. package/dist/package.json +11 -4
  197. package/dist/tests/utilities/TestConfiguration.js +7 -0
  198. package/dist/threads/query.js +148 -40
  199. package/dist/threads/utils.js +105 -0
  200. package/dist/tsconfig.tsbuildinfo +1 -1
  201. package/dist/utilities/fileSystem/utilities.js +2 -1
  202. package/dist/utilities/index.js +10 -0
  203. package/dist/utilities/rowProcessor/index.js +76 -0
  204. package/package.json +12 -5
  205. package/src/api/controllers/automation.js +8 -4
  206. package/src/api/controllers/query/import/index.ts +85 -0
  207. package/src/api/controllers/query/import/sources/base/index.ts +87 -0
  208. package/src/api/controllers/query/import/sources/base/openapi.ts +24 -0
  209. package/src/api/controllers/query/import/sources/curl.ts +102 -0
  210. package/src/api/controllers/query/import/sources/openapi2.ts +163 -0
  211. package/src/api/controllers/query/import/sources/tests/curl/curl.spec.js +103 -0
  212. package/src/api/controllers/query/import/sources/tests/curl/data/delete.txt +1 -0
  213. package/src/api/controllers/query/import/sources/tests/curl/data/empty-body.txt +2 -0
  214. package/src/api/controllers/query/import/sources/tests/curl/data/get.txt +1 -0
  215. package/src/api/controllers/query/import/sources/tests/curl/data/headers.txt +3 -0
  216. package/src/api/controllers/query/import/sources/tests/curl/data/patch.txt +2 -0
  217. package/src/api/controllers/query/import/sources/tests/curl/data/path.txt +1 -0
  218. package/src/api/controllers/query/import/sources/tests/curl/data/post.txt +2 -0
  219. package/src/api/controllers/query/import/sources/tests/curl/data/put.txt +2 -0
  220. package/src/api/controllers/query/import/sources/tests/curl/data/query.txt +1 -0
  221. package/src/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +253 -0
  222. package/src/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.yaml +160 -0
  223. package/src/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +1054 -0
  224. package/src/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.yaml +711 -0
  225. package/src/api/controllers/query/import/sources/tests/openapi2/openapi2.spec.js +238 -0
  226. package/src/api/controllers/query/import/tests/index.spec.js +109 -0
  227. package/src/api/controllers/query/index.js +195 -0
  228. package/src/api/controllers/query/validation.js +42 -0
  229. package/src/api/controllers/row/internal.js +14 -5
  230. package/src/api/controllers/row/internalSearch.js +2 -1
  231. package/src/api/controllers/row/utils.js +11 -8
  232. package/src/api/controllers/user.js +33 -0
  233. package/src/api/controllers/webhook.js +4 -0
  234. package/src/api/routes/query.js +13 -35
  235. package/src/api/routes/tests/query.spec.js +88 -0
  236. package/src/api/routes/user.js +10 -0
  237. package/src/automations/steps/executeQuery.js +9 -1
  238. package/src/automations/steps/outgoingWebhook.js +2 -3
  239. package/src/automations/utils.js +11 -0
  240. package/src/db/utils.js +9 -0
  241. package/src/definitions/common.ts +2 -16
  242. package/src/definitions/datasource.ts +83 -1
  243. package/src/integrations/base/IntegrationBase.ts +4 -4
  244. package/src/integrations/base/sqlTable.ts +1 -1
  245. package/src/integrations/oracle.ts +1 -1
  246. package/src/integrations/rest.ts +230 -137
  247. package/src/integrations/tests/rest.spec.js +167 -19
  248. package/src/tests/utilities/TestConfiguration.js +10 -0
  249. package/src/threads/query.js +149 -40
  250. package/src/threads/utils.js +115 -0
  251. package/src/utilities/fileSystem/utilities.js +2 -0
  252. package/src/utilities/index.js +11 -0
  253. package/src/utilities/rowProcessor/index.js +75 -0
  254. package/builder/assets/index.f01106f0.js +0 -1316
  255. package/src/api/controllers/query.js +0 -158
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">44.44% </span>
26
+ <span class="strong">55.55% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>48/108</span>
28
+ <span class='fraction'>60/108</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">19.44% </span>
33
+ <span class="strong">30.55% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>7/36</span>
35
+ <span class='fraction'>11/36</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">50% </span>
40
+ <span class="strong">56.25% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>8/16</span>
42
+ <span class='fraction'>9/16</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">43.92% </span>
47
+ <span class="strong">55.14% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>47/107</span>
49
+ <span class='fraction'>59/107</span>
50
50
  </div>
51
51
 
52
52
 
@@ -55,7 +55,7 @@
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
57
  </div>
58
- <div class='status-line low'></div>
58
+ <div class='status-line medium'></div>
59
59
  <pre><table class="coverage">
60
60
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
61
  <a name='L2'></a><a href='#L2'>2</a>
@@ -272,7 +272,7 @@
272
272
  <a name='L213'></a><a href='#L213'>213</a>
273
273
  <a name='L214'></a><a href='#L214'>214</a>
274
274
  <a name='L215'></a><a href='#L215'>215</a>
275
- <a name='L216'></a><a href='#L216'>216</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">33x</span>
275
+ <a name='L216'></a><a href='#L216'>216</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
276
276
  <span class="cline-any cline-neutral">&nbsp;</span>
277
277
  <span class="cline-any cline-neutral">&nbsp;</span>
278
278
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -280,12 +280,12 @@
280
280
  <span class="cline-any cline-neutral">&nbsp;</span>
281
281
  <span class="cline-any cline-neutral">&nbsp;</span>
282
282
  <span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-yes">33x</span>
284
- <span class="cline-any cline-yes">33x</span>
285
- <span class="cline-any cline-yes">33x</span>
286
- <span class="cline-any cline-yes">33x</span>
283
+ <span class="cline-any cline-yes">34x</span>
284
+ <span class="cline-any cline-yes">34x</span>
285
+ <span class="cline-any cline-yes">34x</span>
286
+ <span class="cline-any cline-yes">34x</span>
287
287
  <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-yes">33x</span>
288
+ <span class="cline-any cline-yes">34x</span>
289
289
  <span class="cline-any cline-yes">2x</span>
290
290
  <span class="cline-any cline-neutral">&nbsp;</span>
291
291
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -314,7 +314,7 @@
314
314
  <span class="cline-any cline-yes">2x</span>
315
315
  <span class="cline-any cline-neutral">&nbsp;</span>
316
316
  <span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-yes">33x</span>
317
+ <span class="cline-any cline-yes">34x</span>
318
318
  <span class="cline-any cline-no">&nbsp;</span>
319
319
  <span class="cline-any cline-no">&nbsp;</span>
320
320
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -331,65 +331,65 @@
331
331
  <span class="cline-any cline-no">&nbsp;</span>
332
332
  <span class="cline-any cline-neutral">&nbsp;</span>
333
333
  <span class="cline-any cline-neutral">&nbsp;</span>
334
- <span class="cline-any cline-yes">33x</span>
335
- <span class="cline-any cline-no">&nbsp;</span>
336
- <span class="cline-any cline-no">&nbsp;</span>
337
- <span class="cline-any cline-no">&nbsp;</span>
338
- <span class="cline-any cline-no">&nbsp;</span>
334
+ <span class="cline-any cline-yes">34x</span>
335
+ <span class="cline-any cline-yes">2x</span>
336
+ <span class="cline-any cline-yes">2x</span>
337
+ <span class="cline-any cline-yes">2x</span>
338
+ <span class="cline-any cline-yes">2x</span>
339
339
  <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-no">&nbsp;</span>
341
- <span class="cline-any cline-no">&nbsp;</span>
340
+ <span class="cline-any cline-yes">2x</span>
341
+ <span class="cline-any cline-yes">2x</span>
342
342
  <span class="cline-any cline-neutral">&nbsp;</span>
343
343
  <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-no">&nbsp;</span>
345
- <span class="cline-any cline-no">&nbsp;</span>
346
- <span class="cline-any cline-no">&nbsp;</span>
344
+ <span class="cline-any cline-yes">2x</span>
345
+ <span class="cline-any cline-yes">2x</span>
346
+ <span class="cline-any cline-yes">2x</span>
347
347
  <span class="cline-any cline-no">&nbsp;</span>
348
348
  <span class="cline-any cline-neutral">&nbsp;</span>
349
349
  <span class="cline-any cline-neutral">&nbsp;</span>
350
350
  <span class="cline-any cline-neutral">&nbsp;</span>
351
- <span class="cline-any cline-no">&nbsp;</span>
352
- <span class="cline-any cline-no">&nbsp;</span>
353
- <span class="cline-any cline-no">&nbsp;</span>
351
+ <span class="cline-any cline-yes">2x</span>
352
+ <span class="cline-any cline-yes">2x</span>
353
+ <span class="cline-any cline-yes">2x</span>
354
354
  <span class="cline-any cline-neutral">&nbsp;</span>
355
355
  <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-yes">33x</span>
357
- <span class="cline-any cline-yes">24x</span>
358
- <span class="cline-any cline-yes">24x</span>
359
- <span class="cline-any cline-yes">24x</span>
356
+ <span class="cline-any cline-yes">34x</span>
357
+ <span class="cline-any cline-yes">30x</span>
358
+ <span class="cline-any cline-yes">30x</span>
359
+ <span class="cline-any cline-yes">30x</span>
360
360
  <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-yes">24x</span>
361
+ <span class="cline-any cline-yes">30x</span>
362
362
  <span class="cline-any cline-neutral">&nbsp;</span>
363
363
  <span class="cline-any cline-neutral">&nbsp;</span>
364
364
  <span class="cline-any cline-neutral">&nbsp;</span>
365
365
  <span class="cline-any cline-neutral">&nbsp;</span>
366
366
  <span class="cline-any cline-neutral">&nbsp;</span>
367
- <span class="cline-any cline-yes">24x</span>
368
- <span class="cline-any cline-yes">24x</span>
367
+ <span class="cline-any cline-yes">30x</span>
368
+ <span class="cline-any cline-yes">30x</span>
369
369
  <span class="cline-any cline-no">&nbsp;</span>
370
370
  <span class="cline-any cline-no">&nbsp;</span>
371
371
  <span class="cline-any cline-no">&nbsp;</span>
372
372
  <span class="cline-any cline-neutral">&nbsp;</span>
373
373
  <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-yes">24x</span>
375
- <span class="cline-any cline-yes">24x</span>
374
+ <span class="cline-any cline-yes">30x</span>
375
+ <span class="cline-any cline-yes">30x</span>
376
376
  <span class="cline-any cline-neutral">&nbsp;</span>
377
377
  <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-yes">24x</span>
379
- <span class="cline-any cline-yes">24x</span>
380
- <span class="cline-any cline-yes">24x</span>
378
+ <span class="cline-any cline-yes">30x</span>
379
+ <span class="cline-any cline-yes">30x</span>
380
+ <span class="cline-any cline-yes">30x</span>
381
381
  <span class="cline-any cline-no">&nbsp;</span>
382
382
  <span class="cline-any cline-neutral">&nbsp;</span>
383
383
  <span class="cline-any cline-neutral">&nbsp;</span>
384
384
  <span class="cline-any cline-neutral">&nbsp;</span>
385
- <span class="cline-any cline-yes">24x</span>
386
- <span class="cline-any cline-yes">24x</span>
385
+ <span class="cline-any cline-yes">30x</span>
386
+ <span class="cline-any cline-yes">30x</span>
387
387
  <span class="cline-any cline-no">&nbsp;</span>
388
388
  <span class="cline-any cline-neutral">&nbsp;</span>
389
- <span class="cline-any cline-yes">24x</span>
389
+ <span class="cline-any cline-yes">30x</span>
390
390
  <span class="cline-any cline-neutral">&nbsp;</span>
391
391
  <span class="cline-any cline-neutral">&nbsp;</span>
392
- <span class="cline-any cline-yes">33x</span>
392
+ <span class="cline-any cline-yes">34x</span>
393
393
  <span class="cline-any cline-yes">1x</span>
394
394
  <span class="cline-any cline-neutral">&nbsp;</span>
395
395
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -411,13 +411,13 @@
411
411
  <span class="cline-any cline-yes">1x</span>
412
412
  <span class="cline-any cline-neutral">&nbsp;</span>
413
413
  <span class="cline-any cline-neutral">&nbsp;</span>
414
- <span class="cline-any cline-yes">33x</span>
414
+ <span class="cline-any cline-yes">34x</span>
415
415
  <span class="cline-any cline-yes">1x</span>
416
416
  <span class="cline-any cline-yes">1x</span>
417
417
  <span class="cline-any cline-neutral">&nbsp;</span>
418
418
  <span class="cline-any cline-neutral">&nbsp;</span>
419
419
  <span class="cline-any cline-neutral">&nbsp;</span>
420
- <span class="cline-any cline-yes">33x</span>
420
+ <span class="cline-any cline-yes">34x</span>
421
421
  <span class="cline-any cline-yes">1x</span>
422
422
  <span class="cline-any cline-yes">1x</span>
423
423
  <span class="cline-any cline-yes">1x</span>
@@ -443,7 +443,7 @@
443
443
  <span class="cline-any cline-no">&nbsp;</span>
444
444
  <span class="cline-any cline-neutral">&nbsp;</span>
445
445
  <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-yes">33x</span>
446
+ <span class="cline-any cline-yes">34x</span>
447
447
  <span class="cline-any cline-no">&nbsp;</span>
448
448
  <span class="cline-any cline-neutral">&nbsp;</span>
449
449
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -546,26 +546,26 @@ exports.buildSchemaFromDb = <span class="fstat-no" title="function not covered"
546
546
  <span class="cstat-no" title="statement not covered" > ctx.body = response</span>
547
547
  }
548
548
  &nbsp;
549
- exports.update = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
550
- const db = <span class="cstat-no" title="statement not covered" >new CouchDB(ctx.appId)</span>
551
- const datasourceId = <span class="cstat-no" title="statement not covered" >ctx.params.datasourceId</span>
552
- let datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
553
- <span class="cstat-no" title="statement not covered" > datasource = { ...datasource, ...ctx.request.body }</span>
549
+ exports.update = async function (ctx) {
550
+ const db = new CouchDB(ctx.appId)
551
+ const datasourceId = ctx.params.datasourceId
552
+ let datasource = await db.get(datasourceId)
553
+ datasource = { ...datasource, ...ctx.request.body }
554
554
  &nbsp;
555
- const response = <span class="cstat-no" title="statement not covered" >await db.put(datasource)</span>
556
- <span class="cstat-no" title="statement not covered" > datasource._rev = response.rev</span>
555
+ const response = await db.put(datasource)
556
+ datasource._rev = response.rev
557
557
  &nbsp;
558
558
  // Drain connection pools when configuration is changed
559
- <span class="cstat-no" title="statement not covered" > if (datasource.source) {</span>
560
- const source = <span class="cstat-no" title="statement not covered" >integrations[datasource.source]</span>
561
- <span class="cstat-no" title="statement not covered" > if (source &amp;&amp; source.pool) {</span>
559
+ if (datasource.source) {
560
+ const source = integrations[datasource.source]
561
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (source &amp;&amp; source.pool) {
562
562
  <span class="cstat-no" title="statement not covered" > await source.pool.end()</span>
563
563
  }
564
564
  }
565
565
  &nbsp;
566
- <span class="cstat-no" title="statement not covered" > ctx.status = 200</span>
567
- <span class="cstat-no" title="statement not covered" > ctx.message = "Datasource saved successfully."</span>
568
- <span class="cstat-no" title="statement not covered" > ctx.body = { datasource }</span>
566
+ ctx.status = 200
567
+ ctx.message = "Datasource saved successfully."
568
+ ctx.body = { datasource }
569
569
  }
570
570
  &nbsp;
571
571
  exports.save = async function (ctx) {
@@ -709,7 +709,7 @@ const buildSchemaHelper = <span class="fstat-no" title="function not covered" >a
709
709
  <div class='footer quiet pad2 space-top1 center small'>
710
710
  Code coverage generated by
711
711
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
712
- at Thu Dec 16 2021 18:30:12 GMT+0000 (Coordinated Universal Time)
712
+ at Tue Jan 11 2022 13:49:36 GMT+0000 (Coordinated Universal Time)
713
713
  </div>
714
714
  </div>
715
715
  <script src="../../prettify.js"></script>
@@ -430,7 +430,7 @@ exports.getBudibaseVersion = <span class="fstat-no" title="function not covered"
430
430
  <div class='footer quiet pad2 space-top1 center small'>
431
431
  Code coverage generated by
432
432
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
433
- at Thu Dec 16 2021 18:30:12 GMT+0000 (Coordinated Universal Time)
433
+ at Tue Jan 11 2022 13:49:36 GMT+0000 (Coordinated Universal Time)
434
434
  </div>
435
435
  </div>
436
436
  <script src="../../prettify.js"></script>
@@ -130,7 +130,7 @@ exports.getDeployedApps = <span class="fstat-no" title="function not covered" >a
130
130
  <div class='footer quiet pad2 space-top1 center small'>
131
131
  Code coverage generated by
132
132
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
133
- at Thu Dec 16 2021 18:30:12 GMT+0000 (Coordinated Universal Time)
133
+ at Tue Jan 11 2022 13:49:36 GMT+0000 (Coordinated Universal Time)
134
134
  </div>
135
135
  </div>
136
136
  <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">71.61% </span>
26
+ <span class="strong">70.75% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>805/1124</span>
28
+ <span class='fraction'>762/1077</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">45.79% </span>
33
+ <span class="strong">46.26% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>169/369</span>
35
+ <span class='fraction'>161/348</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">71.24% </span>
40
+ <span class="strong">69.17% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>109/153</span>
42
+ <span class='fraction'>101/146</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">71.8% </span>
47
+ <span class="strong">70.95% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>797/1110</span>
49
+ <span class='fraction'>755/1064</span>
50
50
  </div>
51
51
 
52
52
 
@@ -134,17 +134,17 @@
134
134
 
135
135
  <tr>
136
136
  <td class="file high" data-value="automation.js"><a href="automation.js.html">automation.js</a></td>
137
- <td data-value="89.47" class="pic high">
137
+ <td data-value="89.69" class="pic high">
138
138
  <div class="chart"><div class="cover-fill" style="width: 89%"></div><div class="cover-empty" style="width: 11%"></div></div>
139
139
  </td>
140
- <td data-value="89.47" class="pct high">89.47%</td>
141
- <td data-value="95" class="abs high">85/95</td>
140
+ <td data-value="89.69" class="pct high">89.69%</td>
141
+ <td data-value="97" class="abs high">87/97</td>
142
142
  <td data-value="71.87" class="pct medium">71.87%</td>
143
143
  <td data-value="32" class="abs medium">23/32</td>
144
144
  <td data-value="92.85" class="pct high">92.85%</td>
145
145
  <td data-value="14" class="abs high">13/14</td>
146
- <td data-value="89.36" class="pct high">89.36%</td>
147
- <td data-value="94" class="abs high">84/94</td>
146
+ <td data-value="89.58" class="pct high">89.58%</td>
147
+ <td data-value="96" class="abs high">86/96</td>
148
148
  </tr>
149
149
 
150
150
  <tr>
@@ -193,18 +193,18 @@
193
193
  </tr>
194
194
 
195
195
  <tr>
196
- <td class="file low" data-value="datasource.js"><a href="datasource.js.html">datasource.js</a></td>
197
- <td data-value="44.44" class="pic low">
198
- <div class="chart"><div class="cover-fill" style="width: 44%"></div><div class="cover-empty" style="width: 56%"></div></div>
196
+ <td class="file medium" data-value="datasource.js"><a href="datasource.js.html">datasource.js</a></td>
197
+ <td data-value="55.55" class="pic medium">
198
+ <div class="chart"><div class="cover-fill" style="width: 55%"></div><div class="cover-empty" style="width: 45%"></div></div>
199
199
  </td>
200
- <td data-value="44.44" class="pct low">44.44%</td>
201
- <td data-value="108" class="abs low">48/108</td>
202
- <td data-value="19.44" class="pct low">19.44%</td>
203
- <td data-value="36" class="abs low">7/36</td>
204
- <td data-value="50" class="pct medium">50%</td>
205
- <td data-value="16" class="abs medium">8/16</td>
206
- <td data-value="43.92" class="pct low">43.92%</td>
207
- <td data-value="107" class="abs low">47/107</td>
200
+ <td data-value="55.55" class="pct medium">55.55%</td>
201
+ <td data-value="108" class="abs medium">60/108</td>
202
+ <td data-value="30.55" class="pct low">30.55%</td>
203
+ <td data-value="36" class="abs low">11/36</td>
204
+ <td data-value="56.25" class="pct medium">56.25%</td>
205
+ <td data-value="16" class="abs medium">9/16</td>
206
+ <td data-value="55.14" class="pct medium">55.14%</td>
207
+ <td data-value="107" class="abs medium">59/107</td>
208
208
  </tr>
209
209
 
210
210
  <tr>
@@ -297,21 +297,6 @@
297
297
  <td data-value="78" class="abs high">77/78</td>
298
298
  </tr>
299
299
 
300
- <tr>
301
- <td class="file high" data-value="query.js"><a href="query.js.html">query.js</a></td>
302
- <td data-value="84.5" class="pic high">
303
- <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
304
- </td>
305
- <td data-value="84.5" class="pct high">84.5%</td>
306
- <td data-value="71" class="abs high">60/71</td>
307
- <td data-value="48" class="pct low">48%</td>
308
- <td data-value="25" class="abs low">12/25</td>
309
- <td data-value="100" class="pct high">100%</td>
310
- <td data-value="9" class="abs high">9/9</td>
311
- <td data-value="84.28" class="pct high">84.28%</td>
312
- <td data-value="70" class="abs high">59/70</td>
313
- </tr>
314
-
315
300
  <tr>
316
301
  <td class="file high" data-value="role.js"><a href="role.js.html">role.js</a></td>
317
302
  <td data-value="87.03" class="pic high">
@@ -389,32 +374,32 @@
389
374
 
390
375
  <tr>
391
376
  <td class="file low" data-value="user.js"><a href="user.js.html">user.js</a></td>
392
- <td data-value="37.37" class="pic low">
393
- <div class="chart"><div class="cover-fill" style="width: 37%"></div><div class="cover-empty" style="width: 63%"></div></div>
377
+ <td data-value="32.5" class="pic low">
378
+ <div class="chart"><div class="cover-fill" style="width: 32%"></div><div class="cover-empty" style="width: 68%"></div></div>
394
379
  </td>
395
- <td data-value="37.37" class="pct low">37.37%</td>
396
- <td data-value="99" class="abs low">37/99</td>
380
+ <td data-value="32.5" class="pct low">32.5%</td>
381
+ <td data-value="120" class="abs low">39/120</td>
397
382
  <td data-value="0" class="pct low">0%</td>
398
- <td data-value="33" class="abs low">0/33</td>
399
- <td data-value="35.71" class="pct low">35.71%</td>
400
- <td data-value="14" class="abs low">5/14</td>
401
- <td data-value="37.75" class="pct low">37.75%</td>
402
- <td data-value="98" class="abs low">37/98</td>
383
+ <td data-value="37" class="abs low">0/37</td>
384
+ <td data-value="31.25" class="pct low">31.25%</td>
385
+ <td data-value="16" class="abs low">5/16</td>
386
+ <td data-value="32.77" class="pct low">32.77%</td>
387
+ <td data-value="119" class="abs low">39/119</td>
403
388
  </tr>
404
389
 
405
390
  <tr>
406
391
  <td class="file high" data-value="webhook.js"><a href="webhook.js.html">webhook.js</a></td>
407
- <td data-value="91.22" class="pic high">
392
+ <td data-value="91.37" class="pic high">
408
393
  <div class="chart"><div class="cover-fill" style="width: 91%"></div><div class="cover-empty" style="width: 9%"></div></div>
409
394
  </td>
410
- <td data-value="91.22" class="pct high">91.22%</td>
411
- <td data-value="57" class="abs high">52/57</td>
395
+ <td data-value="91.37" class="pct high">91.37%</td>
396
+ <td data-value="58" class="abs high">53/58</td>
412
397
  <td data-value="40" class="pct low">40%</td>
413
398
  <td data-value="10" class="abs low">4/10</td>
414
399
  <td data-value="100" class="pct high">100%</td>
415
400
  <td data-value="7" class="abs high">7/7</td>
416
- <td data-value="91.07" class="pct high">91.07%</td>
417
- <td data-value="56" class="abs high">51/56</td>
401
+ <td data-value="91.22" class="pct high">91.22%</td>
402
+ <td data-value="57" class="abs high">52/57</td>
418
403
  </tr>
419
404
 
420
405
  </tbody>
@@ -425,7 +410,7 @@
425
410
  <div class='footer quiet pad2 space-top1 center small'>
426
411
  Code coverage generated by
427
412
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
428
- at Thu Dec 16 2021 18:30:12 GMT+0000 (Coordinated Universal Time)
413
+ at Tue Jan 11 2022 13:49:36 GMT+0000 (Coordinated Universal Time)
429
414
  </div>
430
415
  </div>
431
416
  <script src="../../prettify.js"></script>
@@ -100,7 +100,7 @@ exports.find = async function (ctx) {
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
103
- at Thu Dec 16 2021 18:30:12 GMT+0000 (Coordinated Universal Time)
103
+ at Tue Jan 11 2022 13:49:36 GMT+0000 (Coordinated Universal Time)
104
104
  </div>
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
@@ -217,7 +217,7 @@ exports.destroy = async function (ctx) {
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 Thu Dec 16 2021 18:30:12 GMT+0000 (Coordinated Universal Time)
220
+ at Tue Jan 11 2022 13:49:36 GMT+0000 (Coordinated Universal Time)
221
221
  </div>
222
222
  </div>
223
223
  <script src="../../prettify.js"></script>
@@ -202,7 +202,7 @@ exports.getMetadata = async ctx =&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 Thu Dec 16 2021 18:30:12 GMT+0000 (Coordinated Universal Time)
205
+ at Tue Jan 11 2022 13:49:36 GMT+0000 (Coordinated Universal Time)
206
206
  </div>
207
207
  </div>
208
208
  <script src="../../prettify.js"></script>
@@ -589,7 +589,7 @@ exports.removePermission = async function (ctx) {
589
589
  <div class='footer quiet pad2 space-top1 center small'>
590
590
  Code coverage generated by
591
591
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
592
- at Thu Dec 16 2021 18:30:12 GMT+0000 (Coordinated Universal Time)
592
+ at Tue Jan 11 2022 13:49:36 GMT+0000 (Coordinated Universal Time)
593
593
  </div>
594
594
  </div>
595
595
  <script src="../../prettify.js"></script>
@@ -0,0 +1,126 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for api/controllers/query</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> api/controllers/query</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">75.51% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>74/98</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">63.15% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>12/19</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">76.47% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>13/17</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">76.04% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>73/96</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ </div>
58
+ <div class='status-line medium'></div>
59
+ <div class="pad1">
60
+ <table class="coverage-summary">
61
+ <thead>
62
+ <tr>
63
+ <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
64
+ <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
65
+ <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
66
+ <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
67
+ <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
68
+ <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
69
+ <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
70
+ <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
71
+ <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
72
+ <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
73
+ </tr>
74
+ </thead>
75
+ <tbody><tr>
76
+ <td class="file medium" data-value="index.js"><a href="index.js.html">index.js</a></td>
77
+ <td data-value="73.33" class="pic medium">
78
+ <div class="chart"><div class="cover-fill" style="width: 73%"></div><div class="cover-empty" style="width: 27%"></div></div>
79
+ </td>
80
+ <td data-value="73.33" class="pct medium">73.33%</td>
81
+ <td data-value="90" class="abs medium">66/90</td>
82
+ <td data-value="63.15" class="pct medium">63.15%</td>
83
+ <td data-value="19" class="abs medium">12/19</td>
84
+ <td data-value="71.42" class="pct medium">71.42%</td>
85
+ <td data-value="14" class="abs medium">10/14</td>
86
+ <td data-value="73.86" class="pct medium">73.86%</td>
87
+ <td data-value="88" class="abs medium">65/88</td>
88
+ </tr>
89
+
90
+ <tr>
91
+ <td class="file high" data-value="validation.js"><a href="validation.js.html">validation.js</a></td>
92
+ <td data-value="100" class="pic high">
93
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
94
+ </td>
95
+ <td data-value="100" class="pct high">100%</td>
96
+ <td data-value="8" class="abs high">8/8</td>
97
+ <td data-value="100" class="pct high">100%</td>
98
+ <td data-value="0" class="abs high">0/0</td>
99
+ <td data-value="100" class="pct high">100%</td>
100
+ <td data-value="3" class="abs high">3/3</td>
101
+ <td data-value="100" class="pct high">100%</td>
102
+ <td data-value="8" class="abs high">8/8</td>
103
+ </tr>
104
+
105
+ </tbody>
106
+ </table>
107
+ </div>
108
+ <div class='push'></div><!-- for sticky footer -->
109
+ </div><!-- /wrapper -->
110
+ <div class='footer quiet pad2 space-top1 center small'>
111
+ Code coverage generated by
112
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
113
+ at Tue Jan 11 2022 13:49:36 GMT+0000 (Coordinated Universal Time)
114
+ </div>
115
+ </div>
116
+ <script src="../../../prettify.js"></script>
117
+ <script>
118
+ window.onload = function () {
119
+ prettyPrint();
120
+ };
121
+ </script>
122
+ <script src="../../../sorter.js"></script>
123
+ <script src="../../../block-navigation.js"></script>
124
+ </body>
125
+ </html>
126
+