@budibase/server 1.0.105-alpha.21 → 1.0.105-alpha.24

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 (292) hide show
  1. package/builder/assets/{index.8d922c8c.js → index.06b1c616.js} +150 -147
  2. package/builder/assets/{index.b7e0672d.css → index.e3fb1cb4.css} +2 -2
  3. package/builder/index.html +2 -2
  4. package/coverage/clover.xml +517 -1564
  5. package/coverage/coverage-final.json +27 -43
  6. package/coverage/lcov-report/api/controllers/analytics.js.html +8 -3
  7. package/coverage/lcov-report/api/controllers/apikeys.js.html +9 -4
  8. package/coverage/lcov-report/api/controllers/auth.js.html +8 -3
  9. package/coverage/lcov-report/api/controllers/automation.js.html +8 -3
  10. package/coverage/lcov-report/api/controllers/backup.js.html +8 -3
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +8 -3
  12. package/coverage/lcov-report/api/controllers/component.js.html +8 -3
  13. package/coverage/lcov-report/api/controllers/datasource.js.html +11 -6
  14. package/coverage/lcov-report/api/controllers/dev.js.html +8 -3
  15. package/coverage/lcov-report/api/controllers/index.html +16 -26
  16. package/coverage/lcov-report/api/controllers/integration.js.html +8 -3
  17. package/coverage/lcov-report/api/controllers/layout.js.html +8 -3
  18. package/coverage/lcov-report/api/controllers/metadata.js.html +8 -3
  19. package/coverage/lcov-report/api/controllers/migrations.js.html +8 -3
  20. package/coverage/lcov-report/api/controllers/permission.js.html +8 -3
  21. package/coverage/lcov-report/api/controllers/query/index.html +16 -26
  22. package/coverage/lcov-report/api/controllers/query/validation.js.html +8 -3
  23. package/coverage/lcov-report/api/controllers/role.js.html +10 -5
  24. package/coverage/lcov-report/api/controllers/routing.js.html +9 -4
  25. package/coverage/lcov-report/api/controllers/row/external.js.html +8 -3
  26. package/coverage/lcov-report/api/controllers/row/index.html +23 -33
  27. package/coverage/lcov-report/api/controllers/row/internal.js.html +32 -24
  28. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +21 -16
  29. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +24 -19
  30. package/coverage/lcov-report/api/controllers/row/utils.js.html +20 -15
  31. package/coverage/lcov-report/api/controllers/screen.js.html +9 -4
  32. package/coverage/lcov-report/api/controllers/script.js.html +8 -3
  33. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +52 -47
  34. package/coverage/lcov-report/api/controllers/table/external.js.html +8 -3
  35. package/coverage/lcov-report/api/controllers/table/index.html +17 -42
  36. package/coverage/lcov-report/api/controllers/table/index.js.html +20 -15
  37. package/coverage/lcov-report/api/controllers/templates.js.html +8 -3
  38. package/coverage/lcov-report/api/controllers/user.js.html +8 -3
  39. package/coverage/lcov-report/api/controllers/view/exporters.js.html +8 -3
  40. package/coverage/lcov-report/api/controllers/view/index.html +8 -3
  41. package/coverage/lcov-report/api/controllers/view/index.js.html +10 -5
  42. package/coverage/lcov-report/api/controllers/view/utils.js.html +8 -3
  43. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +8 -3
  44. package/coverage/lcov-report/api/controllers/webhook.js.html +10 -5
  45. package/coverage/lcov-report/api/index.html +18 -13
  46. package/coverage/lcov-report/api/index.js.html +28 -8
  47. package/coverage/lcov-report/api/routes/analytics.js.html +8 -3
  48. package/coverage/lcov-report/api/routes/apikeys.js.html +8 -3
  49. package/coverage/lcov-report/api/routes/auth.js.html +8 -3
  50. package/coverage/lcov-report/api/routes/automation.js.html +8 -3
  51. package/coverage/lcov-report/api/routes/backup.js.html +8 -3
  52. package/coverage/lcov-report/api/routes/cloud.js.html +8 -3
  53. package/coverage/lcov-report/api/routes/component.js.html +8 -3
  54. package/coverage/lcov-report/api/routes/datasource.js.html +8 -3
  55. package/coverage/lcov-report/api/routes/deploy.js.html +8 -3
  56. package/coverage/lcov-report/api/routes/dev.js.html +9 -4
  57. package/coverage/lcov-report/api/routes/index.html +13 -68
  58. package/coverage/lcov-report/api/routes/integration.js.html +8 -3
  59. package/coverage/lcov-report/api/routes/layout.js.html +8 -3
  60. package/coverage/lcov-report/api/routes/metadata.js.html +8 -3
  61. package/coverage/lcov-report/api/routes/migrations.js.html +8 -3
  62. package/coverage/lcov-report/api/routes/permission.js.html +8 -3
  63. package/coverage/lcov-report/api/routes/query.js.html +8 -3
  64. package/coverage/lcov-report/api/routes/role.js.html +8 -3
  65. package/coverage/lcov-report/api/routes/routing.js.html +8 -3
  66. package/coverage/lcov-report/api/routes/screen.js.html +8 -3
  67. package/coverage/lcov-report/api/routes/script.js.html +8 -3
  68. package/coverage/lcov-report/api/routes/table.js.html +8 -3
  69. package/coverage/lcov-report/api/routes/templates.js.html +8 -3
  70. package/coverage/lcov-report/api/routes/user.js.html +8 -3
  71. package/coverage/lcov-report/api/routes/utils/index.html +8 -3
  72. package/coverage/lcov-report/api/routes/utils/validators.js.html +8 -3
  73. package/coverage/lcov-report/api/routes/view.js.html +8 -3
  74. package/coverage/lcov-report/api/routes/webhook.js.html +8 -3
  75. package/coverage/lcov-report/automations/actions.js.html +9 -4
  76. package/coverage/lcov-report/automations/automationUtils.js.html +20 -15
  77. package/coverage/lcov-report/automations/bullboard.js.html +8 -3
  78. package/coverage/lcov-report/automations/index.html +16 -26
  79. package/coverage/lcov-report/automations/index.js.html +8 -3
  80. package/coverage/lcov-report/automations/steps/bash.js.html +8 -3
  81. package/coverage/lcov-report/automations/steps/delay.js.html +8 -3
  82. package/coverage/lcov-report/automations/steps/discord.js.html +8 -3
  83. package/coverage/lcov-report/automations/steps/executeQuery.js.html +8 -3
  84. package/coverage/lcov-report/automations/steps/executeScript.js.html +8 -3
  85. package/coverage/lcov-report/automations/steps/filter.js.html +8 -3
  86. package/coverage/lcov-report/automations/steps/index.html +16 -41
  87. package/coverage/lcov-report/automations/steps/integromat.js.html +8 -3
  88. package/coverage/lcov-report/automations/steps/loop.js.html +8 -3
  89. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +9 -4
  90. package/coverage/lcov-report/automations/steps/queryRows.js.html +9 -4
  91. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +8 -3
  92. package/coverage/lcov-report/automations/steps/serverLog.js.html +8 -3
  93. package/coverage/lcov-report/automations/steps/slack.js.html +8 -3
  94. package/coverage/lcov-report/automations/steps/updateRow.js.html +8 -3
  95. package/coverage/lcov-report/automations/steps/utils.js.html +14 -9
  96. package/coverage/lcov-report/automations/steps/zapier.js.html +8 -3
  97. package/coverage/lcov-report/automations/triggerInfo/app.js.html +8 -3
  98. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +8 -3
  99. package/coverage/lcov-report/automations/triggerInfo/index.html +8 -3
  100. package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -3
  101. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +8 -3
  102. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +8 -3
  103. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +8 -3
  104. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +8 -3
  105. package/coverage/lcov-report/automations/triggers.js.html +16 -11
  106. package/coverage/lcov-report/block-navigation.js +8 -0
  107. package/coverage/lcov-report/constants/index.html +8 -3
  108. package/coverage/lcov-report/constants/index.js.html +35 -30
  109. package/coverage/lcov-report/constants/layouts.js.html +8 -3
  110. package/coverage/lcov-report/constants/screens.js.html +8 -3
  111. package/coverage/lcov-report/db/client.js.html +26 -21
  112. package/coverage/lcov-report/db/inMemoryView.js.html +8 -3
  113. package/coverage/lcov-report/db/index.html +8 -3
  114. package/coverage/lcov-report/db/index.js.html +10 -5
  115. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +20 -15
  116. package/coverage/lcov-report/db/linkedRows/index.html +8 -3
  117. package/coverage/lcov-report/db/linkedRows/index.js.html +22 -17
  118. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +12 -7
  119. package/coverage/lcov-report/db/newid.js.html +11 -6
  120. package/coverage/lcov-report/db/utils.js.html +83 -78
  121. package/coverage/lcov-report/events/AutomationEmitter.js.html +14 -9
  122. package/coverage/lcov-report/events/index.html +8 -3
  123. package/coverage/lcov-report/events/index.js.html +9 -4
  124. package/coverage/lcov-report/events/utils.js.html +18 -13
  125. package/coverage/lcov-report/index.html +122 -117
  126. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +8 -3
  127. package/coverage/lcov-report/integrations/tests/index.html +8 -3
  128. package/coverage/lcov-report/middleware/appInfo.js.html +8 -3
  129. package/coverage/lcov-report/middleware/builder.js.html +8 -3
  130. package/coverage/lcov-report/middleware/currentapp.js.html +11 -6
  131. package/coverage/lcov-report/middleware/index.html +16 -41
  132. package/coverage/lcov-report/middleware/joi-validator.js.html +9 -4
  133. package/coverage/lcov-report/middleware/publicApi.js.html +8 -3
  134. package/coverage/lcov-report/middleware/resourceId.js.html +8 -3
  135. package/coverage/lcov-report/middleware/selfhost.js.html +9 -4
  136. package/coverage/lcov-report/middleware/utils.js.html +8 -3
  137. package/coverage/lcov-report/sorter.js +26 -0
  138. package/coverage/lcov-report/threads/automation.js.html +55 -50
  139. package/coverage/lcov-report/threads/index.html +16 -26
  140. package/coverage/lcov-report/threads/query.js.html +10 -5
  141. package/coverage/lcov-report/threads/utils.js.html +11 -6
  142. package/coverage/lcov-report/utilities/bcrypt.js.html +8 -3
  143. package/coverage/lcov-report/utilities/budibaseDir.js.html +8 -3
  144. package/coverage/lcov-report/utilities/centralPath.js.html +8 -3
  145. package/coverage/lcov-report/utilities/csvParser.js.html +10 -5
  146. package/coverage/lcov-report/utilities/global.js.html +9 -4
  147. package/coverage/lcov-report/utilities/index.html +8 -3
  148. package/coverage/lcov-report/utilities/index.js.html +11 -6
  149. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +32 -9
  150. package/coverage/lcov-report/utilities/queue/index.html +12 -7
  151. package/coverage/lcov-report/utilities/routing/index.html +8 -3
  152. package/coverage/lcov-report/utilities/routing/index.js.html +8 -3
  153. package/coverage/lcov-report/utilities/rowProcessor/index.html +8 -3
  154. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +46 -41
  155. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +18 -13
  156. package/coverage/lcov-report/utilities/scriptRunner.js.html +8 -3
  157. package/coverage/lcov-report/utilities/security.js.html +9 -4
  158. package/coverage/lcov-report/utilities/statusCodes.js.html +8 -3
  159. package/coverage/lcov-report/utilities/usageQuota/index.html +24 -34
  160. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +45 -40
  161. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +8 -3
  162. package/coverage/lcov-report/utilities/users.js.html +8 -3
  163. package/coverage/lcov-report/utilities/workerRequests.js.html +9 -4
  164. package/coverage/lcov.info +759 -2599
  165. package/dist/api/controllers/application.js +138 -70
  166. package/dist/api/controllers/deploy/index.js +64 -35
  167. package/dist/api/controllers/public/applications.js +29 -9
  168. package/dist/api/controllers/public/queries.js +27 -7
  169. package/dist/api/controllers/public/rows.js +32 -12
  170. package/dist/api/controllers/public/tables.js +2 -2
  171. package/dist/api/controllers/public/users.js +8 -8
  172. package/dist/api/controllers/public/utils.js +1 -1
  173. package/dist/api/controllers/query/import/index.js +3 -3
  174. package/dist/api/controllers/query/index.js +57 -44
  175. package/dist/api/controllers/row/ExternalRequest.js +27 -27
  176. package/dist/api/controllers/row/index.js +83 -60
  177. package/dist/api/controllers/row/internal.js +2 -1
  178. package/dist/api/controllers/table/internal.js +40 -34
  179. package/dist/api/controllers/table/utils.js +271 -229
  180. package/dist/api/index.js +5 -0
  181. package/dist/api/routes/application.js +39 -13
  182. package/dist/api/routes/index.js +61 -56
  183. package/dist/api/routes/public/index.js +6 -9
  184. package/dist/api/routes/public/queries.js +1 -1
  185. package/dist/api/routes/public/rows.js +1 -1
  186. package/dist/api/routes/public/tables.js +3 -3
  187. package/dist/api/routes/public/users.js +1 -1
  188. package/dist/api/routes/row.js +43 -17
  189. package/dist/api/routes/static.js +40 -13
  190. package/dist/api/routes/tests/utilities/TestFunctions.js +62 -26
  191. package/dist/app.js +11 -4
  192. package/dist/automations/steps/createRow.js +12 -12
  193. package/dist/automations/steps/deleteRow.js +13 -16
  194. package/dist/automations/tests/utilities/index.js +0 -2
  195. package/dist/automations/utils.js +187 -132
  196. package/dist/environment.js +0 -2
  197. package/dist/integrations/base/sql.js +2 -2
  198. package/dist/integrations/base/sqlTable.js +2 -2
  199. package/dist/integrations/googlesheets.js +1 -1
  200. package/dist/integrations/microsoftSqlServer.js +8 -8
  201. package/dist/integrations/mysql.js +9 -9
  202. package/dist/integrations/oracle.js +7 -7
  203. package/dist/integrations/postgres.js +7 -7
  204. package/dist/integrations/rest.js +1 -1
  205. package/dist/middleware/authorized.js +51 -51
  206. package/dist/migrations/functions/appUrls.js +1 -1
  207. package/dist/migrations/functions/developerQuota.js +49 -0
  208. package/dist/migrations/functions/publishedAppsQuota.js +47 -0
  209. package/dist/migrations/functions/quotas1.js +6 -2
  210. package/dist/migrations/functions/usageQuotas/index.js +0 -4
  211. package/dist/migrations/functions/usageQuotas/syncApps.js +4 -7
  212. package/dist/migrations/functions/usageQuotas/syncDevelopers.js +24 -0
  213. package/dist/migrations/functions/usageQuotas/syncPublishedApps.js +26 -0
  214. package/dist/migrations/functions/usageQuotas/syncRows.js +5 -8
  215. package/dist/migrations/index.js +17 -1
  216. package/dist/package.json +10 -8
  217. package/dist/threads/index.js +35 -8
  218. package/dist/tsconfig.build.tsbuildinfo +1 -0
  219. package/dist/utilities/queue/inMemoryQueue.js +6 -1
  220. package/nodemon.json +1 -1
  221. package/package.json +11 -9
  222. package/scripts/dev/manage.js +2 -0
  223. package/src/api/controllers/{application.js → application.ts} +103 -44
  224. package/src/api/controllers/deploy/{index.js → index.ts} +45 -28
  225. package/src/api/controllers/public/applications.ts +2 -2
  226. package/src/api/controllers/public/queries.ts +1 -1
  227. package/src/api/controllers/public/rows.ts +1 -1
  228. package/src/api/controllers/query/{index.js → index.ts} +51 -48
  229. package/src/api/controllers/row/ExternalRequest.ts +1 -1
  230. package/src/api/controllers/row/{index.js → index.ts} +24 -17
  231. package/src/api/controllers/row/internal.js +2 -1
  232. package/src/api/controllers/table/{internal.js → internal.ts} +27 -24
  233. package/src/api/controllers/table/{utils.js → utils.ts} +86 -69
  234. package/src/api/index.js +5 -0
  235. package/src/api/routes/{application.js → application.ts} +8 -14
  236. package/src/api/routes/index.ts +60 -0
  237. package/src/api/routes/public/index.ts +1 -4
  238. package/src/api/routes/{row.js → row.ts} +7 -15
  239. package/src/api/routes/{static.js → static.ts} +11 -11
  240. package/src/api/routes/tests/utilities/{TestFunctions.js → TestFunctions.ts} +42 -25
  241. package/src/app.ts +1 -2
  242. package/src/automations/steps/{createRow.js → createRow.ts} +9 -15
  243. package/src/automations/steps/{deleteRow.js → deleteRow.ts} +10 -16
  244. package/src/automations/tests/automation.spec.js +0 -1
  245. package/src/automations/tests/{createRow.spec.js → createRow.spec.ts} +4 -15
  246. package/src/automations/tests/{deleteRow.spec.js → deleteRow.spec.ts} +3 -5
  247. package/src/automations/tests/utilities/index.js +0 -2
  248. package/src/automations/{utils.js → utils.ts} +39 -27
  249. package/src/environment.js +0 -2
  250. package/src/middleware/{authorized.js → authorized.ts} +20 -14
  251. package/src/migrations/functions/developerQuota.ts +15 -0
  252. package/src/migrations/functions/publishedAppsQuota.ts +13 -0
  253. package/src/migrations/functions/tests/quotas1.spec.js +0 -2
  254. package/src/migrations/functions/usageQuotas/index.ts +0 -5
  255. package/src/migrations/functions/usageQuotas/syncApps.ts +3 -6
  256. package/src/migrations/functions/usageQuotas/syncDevelopers.ts +19 -0
  257. package/src/migrations/functions/usageQuotas/syncPublishedApps.ts +21 -0
  258. package/src/migrations/functions/usageQuotas/syncRows.ts +3 -6
  259. package/src/migrations/functions/usageQuotas/tests/syncApps.spec.ts +32 -0
  260. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +38 -0
  261. package/src/migrations/index.ts +13 -1
  262. package/src/module.d.ts +4 -0
  263. package/src/threads/{index.js → index.ts} +14 -12
  264. package/src/utilities/queue/inMemoryQueue.js +7 -1
  265. package/tsconfig.build.json +10 -0
  266. package/tsconfig.json +2 -2
  267. package/coverage/lcov-report/api/controllers/application.js.html +0 -1430
  268. package/coverage/lcov-report/api/controllers/query/index.js.html +0 -713
  269. package/coverage/lcov-report/api/controllers/row/index.js.html +0 -524
  270. package/coverage/lcov-report/api/controllers/table/internal.js.html +0 -548
  271. package/coverage/lcov-report/api/controllers/table/utils.js.html +0 -1331
  272. package/coverage/lcov-report/api/routes/application.js.html +0 -179
  273. package/coverage/lcov-report/api/routes/index.js.html +0 -266
  274. package/coverage/lcov-report/api/routes/row.js.html +0 -908
  275. package/coverage/lcov-report/api/routes/static.js.html +0 -245
  276. package/coverage/lcov-report/automations/steps/createRow.js.html +0 -380
  277. package/coverage/lcov-report/automations/steps/deleteRow.js.html +0 -347
  278. package/coverage/lcov-report/automations/utils.js.html +0 -662
  279. package/coverage/lcov-report/middleware/authorized.js.html +0 -458
  280. package/coverage/lcov-report/middleware/usageQuota.js.html +0 -572
  281. package/coverage/lcov-report/threads/index.js.html +0 -278
  282. package/coverage/lcov-report/utilities/usageQuota/index.js.html +0 -359
  283. package/dist/middleware/usageQuota.js +0 -154
  284. package/dist/tsconfig.tsbuildinfo +0 -1
  285. package/dist/utilities/usageQuota/index.js +0 -86
  286. package/src/api/routes/index.js +0 -62
  287. package/src/middleware/tests/usageQuota.spec.js +0 -134
  288. package/src/middleware/usageQuota.js +0 -164
  289. package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +0 -37
  290. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +0 -43
  291. package/src/utilities/tests/usageQuota/usageQuota.spec.js +0 -72
  292. package/src/utilities/usageQuota/index.js +0 -93
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
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
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line medium'></div>
59
65
  <pre><table class="coverage">
@@ -534,13 +540,13 @@
534
540
  <span class="cline-any cline-neutral">&nbsp;</span>
535
541
  <span class="cline-any cline-neutral">&nbsp;</span>
536
542
  <span class="cline-any cline-neutral">&nbsp;</span>
537
- <span class="cline-any cline-yes">78x</span>
538
- <span class="cline-any cline-yes">78x</span>
543
+ <span class="cline-any cline-yes">77x</span>
544
+ <span class="cline-any cline-yes">77x</span>
539
545
  <span class="cline-any cline-neutral">&nbsp;</span>
540
- <span class="cline-any cline-yes">78x</span>
541
- <span class="cline-any cline-yes">78x</span>
542
- <span class="cline-any cline-yes">216x</span>
543
- <span class="cline-any cline-yes">216x</span>
546
+ <span class="cline-any cline-yes">77x</span>
547
+ <span class="cline-any cline-yes">77x</span>
548
+ <span class="cline-any cline-yes">214x</span>
549
+ <span class="cline-any cline-yes">214x</span>
544
550
  <span class="cline-any cline-neutral">&nbsp;</span>
545
551
  <span class="cline-any cline-no">&nbsp;</span>
546
552
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -574,7 +580,7 @@
574
580
  <span class="cline-any cline-no">&nbsp;</span>
575
581
  <span class="cline-any cline-neutral">&nbsp;</span>
576
582
  <span class="cline-any cline-neutral">&nbsp;</span>
577
- <span class="cline-any cline-yes">78x</span>
583
+ <span class="cline-any cline-yes">77x</span>
578
584
  <span class="cline-any cline-neutral">&nbsp;</span>
579
585
  <span class="cline-any cline-yes">40x</span>
580
586
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -588,17 +594,17 @@
588
594
  <span class="cline-any cline-neutral">&nbsp;</span>
589
595
  <span class="cline-any cline-yes">40x</span>
590
596
  <span class="cline-any cline-neutral">&nbsp;</span>
591
- <span class="cline-any cline-yes">182x</span>
597
+ <span class="cline-any cline-yes">180x</span>
592
598
  <span class="cline-any cline-no">&nbsp;</span>
593
599
  <span class="cline-any cline-neutral">&nbsp;</span>
594
600
  <span class="cline-any cline-neutral">&nbsp;</span>
595
- <span class="cline-any cline-yes">182x</span>
601
+ <span class="cline-any cline-yes">180x</span>
596
602
  <span class="cline-any cline-yes">16x</span>
597
- <span class="cline-any cline-yes">166x</span>
603
+ <span class="cline-any cline-yes">164x</span>
598
604
  <span class="cline-any cline-yes">22x</span>
599
605
  <span class="cline-any cline-neutral">&nbsp;</span>
600
606
  <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-yes">144x</span>
607
+ <span class="cline-any cline-yes">142x</span>
602
608
  <span class="cline-any cline-neutral">&nbsp;</span>
603
609
  <span class="cline-any cline-neutral">&nbsp;</span>
604
610
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -616,36 +622,36 @@
616
622
  <span class="cline-any cline-neutral">&nbsp;</span>
617
623
  <span class="cline-any cline-neutral">&nbsp;</span>
618
624
  <span class="cline-any cline-neutral">&nbsp;</span>
619
- <span class="cline-any cline-yes">78x</span>
625
+ <span class="cline-any cline-yes">77x</span>
620
626
  <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-yes">78x</span>
622
- <span class="cline-any cline-yes">78x</span>
623
- <span class="cline-any cline-yes">78x</span>
624
- <span class="cline-any cline-yes">353x</span>
627
+ <span class="cline-any cline-yes">77x</span>
628
+ <span class="cline-any cline-yes">77x</span>
629
+ <span class="cline-any cline-yes">77x</span>
630
+ <span class="cline-any cline-yes">349x</span>
625
631
  <span class="cline-any cline-neutral">&nbsp;</span>
626
- <span class="cline-any cline-yes">353x</span>
627
- <span class="cline-any cline-yes">172x</span>
632
+ <span class="cline-any cline-yes">349x</span>
633
+ <span class="cline-any cline-yes">170x</span>
628
634
  <span class="cline-any cline-yes">3x</span>
629
635
  <span class="cline-any cline-neutral">&nbsp;</span>
630
- <span class="cline-any cline-yes">172x</span>
636
+ <span class="cline-any cline-yes">170x</span>
631
637
  <span class="cline-any cline-neutral">&nbsp;</span>
632
638
  <span class="cline-any cline-neutral">&nbsp;</span>
633
- <span class="cline-any cline-yes">181x</span>
639
+ <span class="cline-any cline-yes">179x</span>
634
640
  <span class="cline-any cline-no">&nbsp;</span>
635
641
  <span class="cline-any cline-neutral">&nbsp;</span>
636
642
  <span class="cline-any cline-neutral">&nbsp;</span>
637
643
  <span class="cline-any cline-neutral">&nbsp;</span>
638
- <span class="cline-any cline-yes">181x</span>
644
+ <span class="cline-any cline-yes">179x</span>
639
645
  <span class="cline-any cline-neutral">&nbsp;</span>
640
646
  <span class="cline-any cline-neutral">&nbsp;</span>
641
647
  <span class="cline-any cline-neutral">&nbsp;</span>
642
- <span class="cline-any cline-yes">78x</span>
643
- <span class="cline-any cline-yes">72x</span>
644
- <span class="cline-any cline-yes">72x</span>
648
+ <span class="cline-any cline-yes">77x</span>
649
+ <span class="cline-any cline-yes">71x</span>
650
+ <span class="cline-any cline-yes">71x</span>
645
651
  <span class="cline-any cline-neutral">&nbsp;</span>
646
652
  <span class="cline-any cline-neutral">&nbsp;</span>
647
653
  <span class="cline-any cline-neutral">&nbsp;</span>
648
- <span class="cline-any cline-yes">78x</span>
654
+ <span class="cline-any cline-yes">77x</span>
649
655
  <span class="cline-any cline-neutral">&nbsp;</span>
650
656
  <span class="cline-any cline-neutral">&nbsp;</span>
651
657
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -658,20 +664,20 @@
658
664
  <span class="cline-any cline-neutral">&nbsp;</span>
659
665
  <span class="cline-any cline-neutral">&nbsp;</span>
660
666
  <span class="cline-any cline-yes">40x</span>
661
- <span class="cline-any cline-yes">113x</span>
662
- <span class="cline-any cline-yes">113x</span>
663
- <span class="cline-any cline-yes">99x</span>
664
- <span class="cline-any cline-yes">99x</span>
667
+ <span class="cline-any cline-yes">112x</span>
668
+ <span class="cline-any cline-yes">112x</span>
669
+ <span class="cline-any cline-yes">98x</span>
670
+ <span class="cline-any cline-yes">98x</span>
665
671
  <span class="cline-any cline-neutral">&nbsp;</span>
666
672
  <span class="cline-any cline-neutral">&nbsp;</span>
667
- <span class="cline-any cline-yes">113x</span>
673
+ <span class="cline-any cline-yes">112x</span>
668
674
  <span class="cline-any cline-neutral">&nbsp;</span>
669
675
  <span class="cline-any cline-neutral">&nbsp;</span>
670
- <span class="cline-any cline-yes">113x</span>
676
+ <span class="cline-any cline-yes">112x</span>
671
677
  <span class="cline-any cline-neutral">&nbsp;</span>
672
678
  <span class="cline-any cline-neutral">&nbsp;</span>
673
- <span class="cline-any cline-yes">113x</span>
674
- <span class="cline-any cline-yes">322x</span>
679
+ <span class="cline-any cline-yes">112x</span>
680
+ <span class="cline-any cline-yes">320x</span>
675
681
  <span class="cline-any cline-yes">8x</span>
676
682
  <span class="cline-any cline-yes">8x</span>
677
683
  <span class="cline-any cline-yes">6x</span>
@@ -682,10 +688,10 @@
682
688
  <span class="cline-any cline-neutral">&nbsp;</span>
683
689
  <span class="cline-any cline-neutral">&nbsp;</span>
684
690
  <span class="cline-any cline-neutral">&nbsp;</span>
685
- <span class="cline-any cline-yes">113x</span>
691
+ <span class="cline-any cline-yes">112x</span>
686
692
  <span class="cline-any cline-yes">33x</span>
687
693
  <span class="cline-any cline-neutral">&nbsp;</span>
688
- <span class="cline-any cline-yes">113x</span>
694
+ <span class="cline-any cline-yes">112x</span>
689
695
  <span class="cline-any cline-neutral">&nbsp;</span>
690
696
  <span class="cline-any cline-neutral">&nbsp;</span>
691
697
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -878,7 +884,7 @@ function processAutoColumn(
878
884
  // if a row doesn't have a revision then it doesn't exist yet
879
885
  const creating = !row._rev
880
886
  for (let [key, schema] of Object.entries(table.schema)) {
881
- if (!schema.autocolumn) {
887
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (!schema.autocolumn) {
882
888
  continue
883
889
  }
884
890
  <span class="cstat-no" title="statement not covered" > switch (schema.subtype) {</span>
@@ -1039,11 +1045,11 @@ exports.outputProcessing = async (table, rows, opts = { squash: true }) =&gt; {
1039
1045
  */
1040
1046
  exports.cleanupAttachments = async (table, { row, rows, oldRow, oldTable }) =&gt; {
1041
1047
  const appId = getAppId()
1042
- if (!isProdAppID(appId)) {
1048
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (!isProdAppID(appId)) {
1043
1049
  const prodAppId = getProdAppID(appId)
1044
1050
  // if prod exists, then don't allow deleting
1045
1051
  const exists = await dbExists(prodAppId)
1046
- if (exists) {
1052
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (exists) {
1047
1053
  return
1048
1054
  }
1049
1055
  }
@@ -1080,10 +1086,9 @@ exports.cleanupAttachments = async (table, { row, rows, oldRow, oldTable }) =&gt
1080
1086
  </div><!-- /wrapper -->
1081
1087
  <div class='footer quiet pad2 space-top1 center small'>
1082
1088
  Code coverage generated by
1083
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1084
- at Tue Apr 19 2022 12:05:25 GMT+0000 (Coordinated Universal Time)
1089
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1090
+ at Thu Apr 21 2022 11:51:51 GMT+0000 (Coordinated Universal Time)
1085
1091
  </div>
1086
- </div>
1087
1092
  <script src="../../prettify.js"></script>
1088
1093
  <script>
1089
1094
  window.onload = function () {
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
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
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line medium'></div>
59
65
  <pre><table class="coverage">
@@ -107,19 +113,19 @@
107
113
  <span class="cline-any cline-neutral">&nbsp;</span>
108
114
  <span class="cline-any cline-neutral">&nbsp;</span>
109
115
  <span class="cline-any cline-neutral">&nbsp;</span>
110
- <span class="cline-any cline-yes">281x</span>
111
- <span class="cline-any cline-yes">281x</span>
112
- <span class="cline-any cline-yes">168x</span>
113
- <span class="cline-any cline-yes">168x</span>
116
+ <span class="cline-any cline-yes">278x</span>
117
+ <span class="cline-any cline-yes">278x</span>
118
+ <span class="cline-any cline-yes">166x</span>
119
+ <span class="cline-any cline-yes">166x</span>
114
120
  <span class="cline-any cline-neutral">&nbsp;</span>
115
- <span class="cline-any cline-yes">281x</span>
116
- <span class="cline-any cline-yes">804x</span>
117
- <span class="cline-any cline-yes">804x</span>
121
+ <span class="cline-any cline-yes">278x</span>
122
+ <span class="cline-any cline-yes">798x</span>
123
+ <span class="cline-any cline-yes">798x</span>
118
124
  <span class="cline-any cline-neutral">&nbsp;</span>
119
125
  <span class="cline-any cline-neutral">&nbsp;</span>
120
126
  <span class="cline-any cline-neutral">&nbsp;</span>
121
127
  <span class="cline-any cline-neutral">&nbsp;</span>
122
- <span class="cline-any cline-yes">804x</span>
128
+ <span class="cline-any cline-yes">798x</span>
123
129
  <span class="cline-any cline-neutral">&nbsp;</span>
124
130
  <span class="cline-any cline-neutral">&nbsp;</span>
125
131
  <span class="cline-any cline-no">&nbsp;</span>
@@ -133,7 +139,7 @@
133
139
  <span class="cline-any cline-neutral">&nbsp;</span>
134
140
  <span class="cline-any cline-neutral">&nbsp;</span>
135
141
  <span class="cline-any cline-neutral">&nbsp;</span>
136
- <span class="cline-any cline-yes">281x</span>
142
+ <span class="cline-any cline-yes">278x</span>
137
143
  <span class="cline-any cline-neutral">&nbsp;</span>
138
144
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { FieldTypes, FormulaTypes } = require("../../constants")
139
145
  const { processStringSync } = require("@budibase/string-templates")
@@ -153,7 +159,7 @@ exports.processFormulas = (
153
159
  }
154
160
  for (let [column, schema] of Object.entries(table.schema)) {
155
161
  const isStatic = schema.formulaType === FormulaTypes.STATIC
156
- if (
162
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (
157
163
  schema.type !== FieldTypes.FORMULA ||
158
164
  (<span class="branch-1 cbranch-no" title="branch not covered" >dynamic </span>&amp;&amp; <span class="branch-2 cbranch-no" title="branch not covered" >isStatic)</span> ||
159
165
  (<span class="branch-3 cbranch-no" title="branch not covered" >!dynamic </span>&amp;&amp; <span class="branch-4 cbranch-no" title="branch not covered" >!isStatic)</span>
@@ -180,10 +186,9 @@ exports.processFormulas = (
180
186
  </div><!-- /wrapper -->
181
187
  <div class='footer quiet pad2 space-top1 center small'>
182
188
  Code coverage generated by
183
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
184
- at Tue Apr 19 2022 12:05:25 GMT+0000 (Coordinated Universal Time)
189
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
190
+ at Thu Apr 21 2022 11:51:51 GMT+0000 (Coordinated Universal Time)
185
191
  </div>
186
- </div>
187
192
  <script src="../../prettify.js"></script>
188
193
  <script>
189
194
  window.onload = function () {
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
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
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line low'></div>
59
65
  <pre><table class="coverage">
@@ -135,10 +141,9 @@ module.exports = ScriptRunner
135
141
  </div><!-- /wrapper -->
136
142
  <div class='footer quiet pad2 space-top1 center small'>
137
143
  Code coverage generated by
138
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
139
- at Tue Apr 19 2022 12:05:25 GMT+0000 (Coordinated Universal Time)
144
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
145
+ at Thu Apr 21 2022 11:51:51 GMT+0000 (Coordinated Universal Time)
140
146
  </div>
141
- </div>
142
147
  <script src="../prettify.js"></script>
143
148
  <script>
144
149
  window.onload = function () {
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
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
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line high'></div>
59
65
  <pre><table class="coverage">
@@ -255,7 +261,7 @@ exports.getBasePermissions = resourceId =&gt; {
255
261
  ) {
256
262
  const level = typedPermission.level
257
263
  permissions[level] = lowerBuiltinRoleID(permissions[level], roleId)
258
- if (isPermissionLevelHigherThanRead(level)) {
264
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (isPermissionLevelHigherThanRead(level)) {
259
265
  permissions[PermissionLevels.READ] = lowerBuiltinRoleID(
260
266
  permissions[PermissionLevels.READ],
261
267
  roleId
@@ -273,10 +279,9 @@ exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
273
279
  </div><!-- /wrapper -->
274
280
  <div class='footer quiet pad2 space-top1 center small'>
275
281
  Code coverage generated by
276
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
277
- at Tue Apr 19 2022 12:05:25 GMT+0000 (Coordinated Universal Time)
282
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
283
+ at Thu Apr 21 2022 11:51:51 GMT+0000 (Coordinated Universal Time)
278
284
  </div>
279
- </div>
280
285
  <script src="../prettify.js"></script>
281
286
  <script>
282
287
  window.onload = function () {
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
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
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line low'></div>
59
65
  <pre><table class="coverage">
@@ -84,10 +90,9 @@
84
90
  </div><!-- /wrapper -->
85
91
  <div class='footer quiet pad2 space-top1 center small'>
86
92
  Code coverage generated by
87
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
88
- at Tue Apr 19 2022 12:05:25 GMT+0000 (Coordinated Universal Time)
93
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
94
+ at Thu Apr 21 2022 11:51:51 GMT+0000 (Coordinated Universal Time)
89
95
  </div>
90
- </div>
91
96
  <script src="../prettify.js"></script>
92
97
  <script>
93
98
  window.onload = function () {
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">84.21% </span>
26
+ <span class="strong">82.92% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>64/76</span>
28
+ <span class='fraction'>34/41</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">70.37% </span>
33
+ <span class="strong">70% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>19/27</span>
35
+ <span class='fraction'>7/10</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">80% </span>
40
+ <span class="strong">71.42% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>8/10</span>
42
+ <span class='fraction'>5/7</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">84.21% </span>
47
+ <span class="strong">82.92% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>64/76</span>
49
+ <span class='fraction'>34/41</span>
50
50
  </div>
51
51
 
52
52
 
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
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
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line high'></div>
59
65
  <div class="pad1">
@@ -73,33 +79,18 @@
73
79
  </tr>
74
80
  </thead>
75
81
  <tbody><tr>
76
- <td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
77
- <td data-value="88.57" class="pic high">
78
- <div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
79
- </td>
80
- <td data-value="88.57" class="pct high">88.57%</td>
81
- <td data-value="35" class="abs high">31/35</td>
82
- <td data-value="76.47" class="pct medium">76.47%</td>
83
- <td data-value="17" class="abs medium">13/17</td>
84
- <td data-value="100" class="pct high">100%</td>
85
- <td data-value="3" class="abs high">3/3</td>
86
- <td data-value="88.57" class="pct high">88.57%</td>
87
- <td data-value="35" class="abs high">31/35</td>
88
- </tr>
89
-
90
- <tr>
91
82
  <td class="file high" data-value="rows.js"><a href="rows.js.html">rows.js</a></td>
92
- <td data-value="91.66" class="pic high">
93
- <div class="chart"><div class="cover-fill" style="width: 91%"></div><div class="cover-empty" style="width: 9%"></div></div>
83
+ <td data-value="94.44" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
94
85
  </td>
95
- <td data-value="91.66" class="pct high">91.66%</td>
96
- <td data-value="36" class="abs high">33/36</td>
97
- <td data-value="75" class="pct medium">75%</td>
98
- <td data-value="8" class="abs medium">6/8</td>
86
+ <td data-value="94.44" class="pct high">94.44%</td>
87
+ <td data-value="36" class="abs high">34/36</td>
88
+ <td data-value="87.5" class="pct high">87.5%</td>
89
+ <td data-value="8" class="abs high">7/8</td>
99
90
  <td data-value="100" class="pct high">100%</td>
100
91
  <td data-value="5" class="abs high">5/5</td>
101
- <td data-value="91.66" class="pct high">91.66%</td>
102
- <td data-value="36" class="abs high">33/36</td>
92
+ <td data-value="94.44" class="pct high">94.44%</td>
93
+ <td data-value="36" class="abs high">34/36</td>
103
94
  </tr>
104
95
 
105
96
  <tr>
@@ -124,10 +115,9 @@
124
115
  </div><!-- /wrapper -->
125
116
  <div class='footer quiet pad2 space-top1 center small'>
126
117
  Code coverage generated by
127
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
128
- at Tue Apr 19 2022 12:05:25 GMT+0000 (Coordinated Universal Time)
118
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
+ at Thu Apr 21 2022 11:51:51 GMT+0000 (Coordinated Universal Time)
129
120
  </div>
130
- </div>
131
121
  <script src="../../prettify.js"></script>
132
122
  <script>
133
123
  window.onload = function () {
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">91.66% </span>
26
+ <span class="strong">94.44% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>33/36</span>
28
+ <span class='fraction'>34/36</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">75% </span>
33
+ <span class="strong">87.5% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>6/8</span>
35
+ <span class='fraction'>7/8</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">91.66% </span>
47
+ <span class="strong">94.44% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>33/36</span>
49
+ <span class='fraction'>34/36</span>
50
50
  </div>
51
51
 
52
52
 
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
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
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line high'></div>
59
65
  <pre><table class="coverage">
@@ -132,39 +138,39 @@
132
138
  <a name='L73'></a><a href='#L73'>73</a>
133
139
  <a name='L74'></a><a href='#L74'>74</a>
134
140
  <a name='L75'></a><a href='#L75'>75</a>
135
- <a name='L76'></a><a href='#L76'>76</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">26x</span>
136
- <span class="cline-any cline-yes">26x</span>
137
- <span class="cline-any cline-yes">26x</span>
141
+ <a name='L76'></a><a href='#L76'>76</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
142
+ <span class="cline-any cline-yes">39x</span>
143
+ <span class="cline-any cline-yes">39x</span>
138
144
  <span class="cline-any cline-neutral">&nbsp;</span>
139
- <span class="cline-any cline-yes">26x</span>
145
+ <span class="cline-any cline-yes">39x</span>
140
146
  <span class="cline-any cline-neutral">&nbsp;</span>
141
- <span class="cline-any cline-yes">26x</span>
147
+ <span class="cline-any cline-yes">39x</span>
142
148
  <span class="cline-any cline-neutral">&nbsp;</span>
143
149
  <span class="cline-any cline-neutral">&nbsp;</span>
144
- <span class="cline-any cline-yes">1x</span>
145
- <span class="cline-any cline-yes">1x</span>
146
- <span class="cline-any cline-yes">4x</span>
147
- <span class="cline-any cline-yes">4x</span>
148
- <span class="cline-any cline-yes">2x</span>
150
+ <span class="cline-any cline-yes">37x</span>
151
+ <span class="cline-any cline-yes">37x</span>
152
+ <span class="cline-any cline-yes">16x</span>
153
+ <span class="cline-any cline-yes">16x</span>
154
+ <span class="cline-any cline-yes">14x</span>
149
155
  <span class="cline-any cline-neutral">&nbsp;</span>
150
- <span class="cline-any cline-yes">4x</span>
151
- <span class="cline-any cline-yes">2x</span>
156
+ <span class="cline-any cline-yes">16x</span>
157
+ <span class="cline-any cline-yes">14x</span>
152
158
  <span class="cline-any cline-neutral">&nbsp;</span>
153
159
  <span class="cline-any cline-yes">2x</span>
154
160
  <span class="cline-any cline-neutral">&nbsp;</span>
155
161
  <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-yes">1x</span>
162
+ <span class="cline-any cline-yes">37x</span>
157
163
  <span class="cline-any cline-neutral">&nbsp;</span>
158
164
  <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-yes">26x</span>
165
+ <span class="cline-any cline-yes">39x</span>
160
166
  <span class="cline-any cline-neutral">&nbsp;</span>
161
- <span class="cline-any cline-yes">4x</span>
162
- <span class="cline-any cline-yes">4x</span>
167
+ <span class="cline-any cline-yes">16x</span>
168
+ <span class="cline-any cline-yes">16x</span>
163
169
  <span class="cline-any cline-neutral">&nbsp;</span>
164
170
  <span class="cline-any cline-neutral">&nbsp;</span>
165
171
  <span class="cline-any cline-neutral">&nbsp;</span>
166
172
  <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-yes">4x</span>
173
+ <span class="cline-any cline-yes">16x</span>
168
174
  <span class="cline-any cline-yes">3x</span>
169
175
  <span class="cline-any cline-neutral">&nbsp;</span>
170
176
  <span class="cline-any cline-yes">3x</span>
@@ -181,18 +187,18 @@
181
187
  <span class="cline-any cline-neutral">&nbsp;</span>
182
188
  <span class="cline-any cline-neutral">&nbsp;</span>
183
189
  <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-yes">26x</span>
185
- <span class="cline-any cline-yes">1x</span>
186
- <span class="cline-any cline-yes">1x</span>
190
+ <span class="cline-any cline-yes">39x</span>
191
+ <span class="cline-any cline-yes">37x</span>
192
+ <span class="cline-any cline-yes">37x</span>
187
193
  <span class="cline-any cline-neutral">&nbsp;</span>
188
- <span class="cline-any cline-yes">1x</span>
189
- <span class="cline-any cline-yes">2x</span>
190
- <span class="cline-any cline-yes">2x</span>
191
- <span class="cline-any cline-yes">4x</span>
192
- <span class="cline-any cline-no">&nbsp;</span>
194
+ <span class="cline-any cline-yes">37x</span>
195
+ <span class="cline-any cline-yes">14x</span>
196
+ <span class="cline-any cline-yes">14x</span>
197
+ <span class="cline-any cline-yes">28x</span>
198
+ <span class="cline-any cline-yes">12x</span>
193
199
  <span class="cline-any cline-neutral">&nbsp;</span>
194
- <span class="cline-any cline-yes">4x</span>
195
- <span class="cline-any cline-yes">4x</span>
200
+ <span class="cline-any cline-yes">16x</span>
201
+ <span class="cline-any cline-yes">16x</span>
196
202
  <span class="cline-any cline-neutral">&nbsp;</span>
197
203
  <span class="cline-any cline-no">&nbsp;</span>
198
204
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -202,10 +208,10 @@
202
208
  <span class="cline-any cline-neutral">&nbsp;</span>
203
209
  <span class="cline-any cline-neutral">&nbsp;</span>
204
210
  <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-yes">2x</span>
211
+ <span class="cline-any cline-yes">14x</span>
206
212
  <span class="cline-any cline-neutral">&nbsp;</span>
207
213
  <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-yes">1x</span>
214
+ <span class="cline-any cline-yes">37x</span>
209
215
  <span class="cline-any cline-neutral">&nbsp;</span>
210
216
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { getRowParams, USER_METDATA_PREFIX } = require("../../db/utils")
211
217
  const CouchDB = require("../../db")
@@ -263,8 +269,8 @@ exports.getUniqueRows = async appIds =&gt; {
263
269
  for (let pair of Object.values(pairs)) {
264
270
  let appRows = []
265
271
  for (let appId of [pair.devId, pair.prodId]) {
266
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!appId) {
267
- <span class="cstat-no" title="statement not covered" > continue</span>
272
+ if (!appId) {
273
+ continue
268
274
  }
269
275
  try {
270
276
  appRows.push(await getAppRows(appId))
@@ -288,10 +294,9 @@ exports.getUniqueRows = async appIds =&gt; {
288
294
  </div><!-- /wrapper -->
289
295
  <div class='footer quiet pad2 space-top1 center small'>
290
296
  Code coverage generated by
291
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
292
- at Tue Apr 19 2022 12:05:25 GMT+0000 (Coordinated Universal Time)
297
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
298
+ at Thu Apr 21 2022 11:51:51 GMT+0000 (Coordinated Universal Time)
293
299
  </div>
294
- </div>
295
300
  <script src="../../prettify.js"></script>
296
301
  <script>
297
302
  window.onload = function () {