@budibase/server 1.0.123 → 1.0.125

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 (325) hide show
  1. package/builder/assets/index.3d890df7.js +1299 -0
  2. package/builder/assets/index.89795487.css +6 -0
  3. package/builder/assets/{vendor.8e34a169.js → vendor.5240f480.js} +1 -1
  4. package/builder/index.html +3 -3
  5. package/coverage/clover.xml +695 -1678
  6. package/coverage/coverage-final.json +28 -43
  7. package/coverage/lcov-report/api/controllers/analytics.js.html +8 -3
  8. package/coverage/lcov-report/api/controllers/apikeys.js.html +9 -4
  9. package/coverage/lcov-report/api/controllers/auth.js.html +8 -3
  10. package/coverage/lcov-report/api/controllers/automation.js.html +8 -3
  11. package/coverage/lcov-report/api/controllers/backup.js.html +8 -3
  12. package/coverage/lcov-report/api/controllers/cloud.js.html +8 -3
  13. package/coverage/lcov-report/api/controllers/component.js.html +8 -3
  14. package/coverage/lcov-report/api/controllers/datasource.js.html +11 -6
  15. package/coverage/lcov-report/api/controllers/dev.js.html +8 -3
  16. package/coverage/lcov-report/api/controllers/index.html +16 -26
  17. package/coverage/lcov-report/api/controllers/integration.js.html +8 -3
  18. package/coverage/lcov-report/api/controllers/layout.js.html +8 -3
  19. package/coverage/lcov-report/api/controllers/metadata.js.html +8 -3
  20. package/coverage/lcov-report/api/controllers/migrations.js.html +8 -3
  21. package/coverage/lcov-report/api/controllers/permission.js.html +8 -3
  22. package/coverage/lcov-report/api/controllers/query/index.html +16 -26
  23. package/coverage/lcov-report/api/controllers/query/validation.js.html +8 -3
  24. package/coverage/lcov-report/api/controllers/role.js.html +10 -5
  25. package/coverage/lcov-report/api/controllers/routing.js.html +9 -4
  26. package/coverage/lcov-report/api/controllers/row/external.js.html +8 -3
  27. package/coverage/lcov-report/api/controllers/row/index.html +25 -35
  28. package/coverage/lcov-report/api/controllers/row/internal.js.html +32 -24
  29. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +21 -16
  30. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +24 -19
  31. package/coverage/lcov-report/api/controllers/row/utils.js.html +33 -19
  32. package/coverage/lcov-report/api/controllers/screen.js.html +9 -4
  33. package/coverage/lcov-report/api/controllers/script.js.html +8 -3
  34. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +55 -50
  35. package/coverage/lcov-report/api/controllers/table/external.js.html +8 -3
  36. package/coverage/lcov-report/api/controllers/table/index.html +19 -44
  37. package/coverage/lcov-report/api/controllers/table/index.js.html +20 -15
  38. package/coverage/lcov-report/api/controllers/templates.js.html +8 -3
  39. package/coverage/lcov-report/api/controllers/user.js.html +8 -3
  40. package/coverage/lcov-report/api/controllers/view/exporters.js.html +8 -3
  41. package/coverage/lcov-report/api/controllers/view/index.html +8 -3
  42. package/coverage/lcov-report/api/controllers/view/index.js.html +10 -5
  43. package/coverage/lcov-report/api/controllers/view/utils.js.html +8 -3
  44. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +8 -3
  45. package/coverage/lcov-report/api/controllers/webhook.js.html +10 -5
  46. package/coverage/lcov-report/api/index.html +18 -13
  47. package/coverage/lcov-report/api/index.js.html +28 -8
  48. package/coverage/lcov-report/api/routes/analytics.js.html +8 -3
  49. package/coverage/lcov-report/api/routes/apikeys.js.html +8 -3
  50. package/coverage/lcov-report/api/routes/auth.js.html +8 -3
  51. package/coverage/lcov-report/api/routes/automation.js.html +8 -3
  52. package/coverage/lcov-report/api/routes/backup.js.html +8 -3
  53. package/coverage/lcov-report/api/routes/cloud.js.html +8 -3
  54. package/coverage/lcov-report/api/routes/component.js.html +8 -3
  55. package/coverage/lcov-report/api/routes/datasource.js.html +8 -3
  56. package/coverage/lcov-report/api/routes/deploy.js.html +8 -3
  57. package/coverage/lcov-report/api/routes/dev.js.html +9 -4
  58. package/coverage/lcov-report/api/routes/index.html +13 -68
  59. package/coverage/lcov-report/api/routes/integration.js.html +8 -3
  60. package/coverage/lcov-report/api/routes/layout.js.html +8 -3
  61. package/coverage/lcov-report/api/routes/metadata.js.html +8 -3
  62. package/coverage/lcov-report/api/routes/migrations.js.html +8 -3
  63. package/coverage/lcov-report/api/routes/permission.js.html +8 -3
  64. package/coverage/lcov-report/api/routes/query.js.html +8 -3
  65. package/coverage/lcov-report/api/routes/role.js.html +8 -3
  66. package/coverage/lcov-report/api/routes/routing.js.html +8 -3
  67. package/coverage/lcov-report/api/routes/screen.js.html +8 -3
  68. package/coverage/lcov-report/api/routes/script.js.html +8 -3
  69. package/coverage/lcov-report/api/routes/table.js.html +8 -3
  70. package/coverage/lcov-report/api/routes/templates.js.html +8 -3
  71. package/coverage/lcov-report/api/routes/user.js.html +8 -3
  72. package/coverage/lcov-report/api/routes/utils/index.html +8 -3
  73. package/coverage/lcov-report/api/routes/utils/validators.js.html +8 -3
  74. package/coverage/lcov-report/api/routes/view.js.html +8 -3
  75. package/coverage/lcov-report/api/routes/webhook.js.html +8 -3
  76. package/coverage/lcov-report/automations/actions.js.html +21 -7
  77. package/coverage/lcov-report/automations/automationUtils.js.html +64 -23
  78. package/coverage/lcov-report/automations/bullboard.js.html +8 -3
  79. package/coverage/lcov-report/automations/index.html +27 -37
  80. package/coverage/lcov-report/automations/index.js.html +8 -3
  81. package/coverage/lcov-report/automations/steps/bash.js.html +8 -3
  82. package/coverage/lcov-report/automations/steps/delay.js.html +8 -3
  83. package/coverage/lcov-report/automations/steps/discord.js.html +8 -3
  84. package/coverage/lcov-report/automations/steps/executeQuery.js.html +8 -3
  85. package/coverage/lcov-report/automations/steps/executeScript.js.html +8 -3
  86. package/coverage/lcov-report/automations/steps/filter.js.html +8 -3
  87. package/coverage/lcov-report/automations/steps/index.html +31 -41
  88. package/coverage/lcov-report/automations/steps/integromat.js.html +8 -3
  89. package/coverage/lcov-report/{api/routes/static.js.html → automations/steps/loop.js.html} +70 -80
  90. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +9 -4
  91. package/coverage/lcov-report/automations/steps/queryRows.js.html +9 -4
  92. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +8 -3
  93. package/coverage/lcov-report/automations/steps/serverLog.js.html +8 -3
  94. package/coverage/lcov-report/automations/steps/slack.js.html +8 -3
  95. package/coverage/lcov-report/automations/steps/updateRow.js.html +8 -3
  96. package/coverage/lcov-report/automations/steps/utils.js.html +14 -9
  97. package/coverage/lcov-report/automations/steps/zapier.js.html +8 -3
  98. package/coverage/lcov-report/automations/triggerInfo/app.js.html +8 -3
  99. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +8 -3
  100. package/coverage/lcov-report/automations/triggerInfo/index.html +8 -3
  101. package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -3
  102. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +8 -3
  103. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +8 -3
  104. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +8 -3
  105. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +8 -3
  106. package/coverage/lcov-report/automations/triggers.js.html +16 -11
  107. package/coverage/lcov-report/block-navigation.js +8 -0
  108. package/coverage/lcov-report/constants/index.html +12 -7
  109. package/coverage/lcov-report/constants/index.js.html +55 -32
  110. package/coverage/lcov-report/constants/layouts.js.html +8 -3
  111. package/coverage/lcov-report/constants/screens.js.html +8 -3
  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 +9 -4
  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 +84 -79
  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 +125 -120
  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 +65 -15
  131. package/coverage/lcov-report/middleware/index.html +25 -50
  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 +581 -90
  139. package/coverage/lcov-report/threads/index.html +30 -40
  140. package/coverage/lcov-report/threads/query.js.html +9 -4
  141. package/coverage/lcov-report/threads/utils.js.html +17 -9
  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 +48 -43
  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 +44 -39
  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 +1144 -2875
  165. package/dist/api/controllers/application.js +145 -73
  166. package/dist/api/controllers/deploy/index.js +68 -36
  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/row/utils.js +2 -1
  179. package/dist/api/controllers/static/templates/BudibaseApp.svelte +3 -0
  180. package/dist/api/controllers/table/bulkFormula.js +2 -1
  181. package/dist/api/controllers/table/internal.js +41 -35
  182. package/dist/api/controllers/table/utils.js +271 -229
  183. package/dist/api/index.js +5 -0
  184. package/dist/api/routes/application.js +39 -13
  185. package/dist/api/routes/index.js +61 -56
  186. package/dist/api/routes/public/index.js +6 -9
  187. package/dist/api/routes/public/queries.js +1 -1
  188. package/dist/api/routes/public/rows.js +1 -1
  189. package/dist/api/routes/public/tables.js +3 -3
  190. package/dist/api/routes/public/users.js +1 -1
  191. package/dist/api/routes/row.js +43 -17
  192. package/dist/api/routes/static.js +40 -13
  193. package/dist/api/routes/tests/utilities/TestFunctions.js +75 -33
  194. package/dist/app.js +8 -4
  195. package/dist/automations/actions.js +3 -0
  196. package/dist/automations/automationUtils.js +10 -0
  197. package/dist/automations/steps/createRow.js +12 -12
  198. package/dist/automations/steps/deleteRow.js +13 -16
  199. package/dist/automations/steps/loop.js +51 -0
  200. package/dist/automations/tests/utilities/index.js +13 -11
  201. package/dist/automations/utils.js +187 -133
  202. package/dist/constants/index.js +5 -0
  203. package/dist/definitions/datasource.js +1 -0
  204. package/dist/environment.js +2 -3
  205. package/dist/index.js +4 -0
  206. package/dist/integrations/base/sql.js +2 -2
  207. package/dist/integrations/base/sqlTable.js +2 -2
  208. package/dist/integrations/googlesheets.js +1 -1
  209. package/dist/integrations/index.js +4 -0
  210. package/dist/integrations/microsoftSqlServer.js +8 -8
  211. package/dist/integrations/mysql.js +9 -9
  212. package/dist/integrations/oracle.js +7 -7
  213. package/dist/integrations/postgres.js +7 -7
  214. package/dist/integrations/queries/sql.js +2 -2
  215. package/dist/integrations/redis.js +158 -0
  216. package/dist/integrations/rest.js +1 -1
  217. package/dist/middleware/authorized.js +51 -51
  218. package/dist/middleware/currentapp.js +15 -1
  219. package/dist/migrations/functions/appUrls.js +1 -1
  220. package/dist/migrations/functions/developerQuota.js +49 -0
  221. package/dist/migrations/functions/publishedAppsQuota.js +47 -0
  222. package/dist/migrations/functions/quotas1.js +6 -2
  223. package/dist/migrations/functions/usageQuotas/index.js +0 -4
  224. package/dist/migrations/functions/usageQuotas/syncApps.js +4 -7
  225. package/dist/migrations/functions/usageQuotas/syncDevelopers.js +24 -0
  226. package/dist/migrations/functions/usageQuotas/syncPublishedApps.js +26 -0
  227. package/dist/migrations/functions/usageQuotas/syncRows.js +5 -8
  228. package/dist/migrations/index.js +17 -1
  229. package/dist/package.json +14 -8
  230. package/dist/threads/automation.js +149 -27
  231. package/dist/threads/index.js +36 -10
  232. package/dist/threads/utils.js +1 -0
  233. package/dist/tsconfig.build.tsbuildinfo +1 -0
  234. package/dist/utilities/queue/inMemoryQueue.js +6 -1
  235. package/nodemon.json +1 -1
  236. package/package.json +15 -9
  237. package/scripts/dev/manage.js +2 -0
  238. package/src/api/controllers/{application.js → application.ts} +118 -51
  239. package/src/api/controllers/deploy/{index.js → index.ts} +53 -29
  240. package/src/api/controllers/public/applications.ts +2 -2
  241. package/src/api/controllers/public/queries.ts +1 -1
  242. package/src/api/controllers/public/rows.ts +1 -1
  243. package/src/api/controllers/query/{index.js → index.ts} +51 -48
  244. package/src/api/controllers/row/ExternalRequest.ts +1 -1
  245. package/src/api/controllers/row/{index.js → index.ts} +24 -17
  246. package/src/api/controllers/row/internal.js +2 -1
  247. package/src/api/controllers/row/utils.js +4 -1
  248. package/src/api/controllers/static/templates/BudibaseApp.svelte +3 -0
  249. package/src/api/controllers/table/bulkFormula.js +1 -1
  250. package/src/api/controllers/table/{internal.js → internal.ts} +30 -26
  251. package/src/api/controllers/table/{utils.js → utils.ts} +86 -69
  252. package/src/api/index.js +5 -0
  253. package/src/api/routes/{application.js → application.ts} +8 -14
  254. package/src/api/routes/index.ts +60 -0
  255. package/src/api/routes/public/index.ts +1 -4
  256. package/src/api/routes/{row.js → row.ts} +7 -15
  257. package/src/api/routes/{static.js → static.ts} +11 -11
  258. package/src/api/routes/tests/misc.spec.js +39 -37
  259. package/src/api/routes/tests/utilities/{TestFunctions.js → TestFunctions.ts} +57 -33
  260. package/src/app.ts +1 -2
  261. package/src/automations/actions.js +3 -0
  262. package/src/automations/automationUtils.js +12 -0
  263. package/src/automations/steps/{createRow.js → createRow.ts} +9 -15
  264. package/src/automations/steps/{deleteRow.js → deleteRow.ts} +10 -16
  265. package/src/automations/steps/loop.js +50 -0
  266. package/src/automations/tests/automation.spec.js +0 -1
  267. package/src/automations/tests/{createRow.spec.js → createRow.spec.ts} +4 -15
  268. package/src/automations/tests/{deleteRow.spec.js → deleteRow.spec.ts} +3 -5
  269. package/src/automations/tests/utilities/index.js +12 -10
  270. package/src/automations/{utils.js → utils.ts} +39 -28
  271. package/src/constants/index.js +6 -0
  272. package/src/definitions/common.ts +1 -0
  273. package/src/definitions/datasource.ts +1 -0
  274. package/src/environment.js +2 -3
  275. package/src/index.ts +3 -0
  276. package/src/integrations/index.ts +4 -0
  277. package/src/integrations/redis.ts +152 -0
  278. package/src/integrations/tests/redis.spec.js +60 -0
  279. package/src/middleware/{authorized.js → authorized.ts} +20 -14
  280. package/src/middleware/currentapp.js +16 -1
  281. package/src/middleware/tests/currentapp.spec.js +8 -4
  282. package/src/migrations/functions/developerQuota.ts +15 -0
  283. package/src/migrations/functions/publishedAppsQuota.ts +13 -0
  284. package/src/migrations/functions/tests/quotas1.spec.js +0 -2
  285. package/src/migrations/functions/usageQuotas/index.ts +0 -5
  286. package/src/migrations/functions/usageQuotas/syncApps.ts +3 -6
  287. package/src/migrations/functions/usageQuotas/syncDevelopers.ts +19 -0
  288. package/src/migrations/functions/usageQuotas/syncPublishedApps.ts +21 -0
  289. package/src/migrations/functions/usageQuotas/syncRows.ts +3 -6
  290. package/src/migrations/functions/usageQuotas/tests/syncApps.spec.ts +34 -0
  291. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +40 -0
  292. package/src/migrations/index.ts +13 -1
  293. package/src/threads/automation.js +196 -34
  294. package/src/threads/{index.js → index.ts} +18 -14
  295. package/src/threads/utils.js +1 -0
  296. package/src/utilities/queue/inMemoryQueue.js +7 -1
  297. package/tsconfig.build.json +10 -0
  298. package/tsconfig.json +2 -2
  299. package/builder/assets/index.68a7f4e3.css +0 -6
  300. package/builder/assets/index.8d4a5b33.js +0 -1291
  301. package/coverage/lcov-report/api/controllers/application.js.html +0 -1436
  302. package/coverage/lcov-report/api/controllers/query/index.js.html +0 -713
  303. package/coverage/lcov-report/api/controllers/row/index.js.html +0 -524
  304. package/coverage/lcov-report/api/controllers/table/internal.js.html +0 -620
  305. package/coverage/lcov-report/api/controllers/table/utils.js.html +0 -1331
  306. package/coverage/lcov-report/api/routes/application.js.html +0 -179
  307. package/coverage/lcov-report/api/routes/index.js.html +0 -266
  308. package/coverage/lcov-report/api/routes/row.js.html +0 -908
  309. package/coverage/lcov-report/automations/steps/createRow.js.html +0 -380
  310. package/coverage/lcov-report/automations/steps/deleteRow.js.html +0 -347
  311. package/coverage/lcov-report/automations/utils.js.html +0 -665
  312. package/coverage/lcov-report/middleware/authorized.js.html +0 -458
  313. package/coverage/lcov-report/middleware/usageQuota.js.html +0 -572
  314. package/coverage/lcov-report/threads/index.js.html +0 -296
  315. package/coverage/lcov-report/utilities/usageQuota/index.js.html +0 -359
  316. package/dist/middleware/usageQuota.js +0 -154
  317. package/dist/tsconfig.tsbuildinfo +0 -1
  318. package/dist/utilities/usageQuota/index.js +0 -86
  319. package/src/api/routes/index.js +0 -62
  320. package/src/middleware/tests/usageQuota.spec.js +0 -120
  321. package/src/middleware/usageQuota.js +0 -164
  322. package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +0 -41
  323. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +0 -45
  324. package/src/utilities/tests/usageQuota/usageQuota.spec.js +0 -72
  325. 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 high'></div>
59
65
  <pre><table class="coverage">
@@ -180,10 +186,9 @@ exports.run = async function delay({ inputs }) {
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 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
189
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
190
+ at Wed Apr 27 2022 09:28:42 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">
@@ -312,10 +318,9 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
312
318
  </div><!-- /wrapper -->
313
319
  <div class='footer quiet pad2 space-top1 center small'>
314
320
  Code coverage generated by
315
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
316
- at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
321
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
322
+ at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
317
323
  </div>
318
- </div>
319
324
  <script src="../../prettify.js"></script>
320
325
  <script>
321
326
  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">
@@ -330,10 +336,9 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
330
336
  </div><!-- /wrapper -->
331
337
  <div class='footer quiet pad2 space-top1 center small'>
332
338
  Code coverage generated by
333
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
334
- at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
339
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
340
+ at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
335
341
  </div>
336
- </div>
337
342
  <script src="../../prettify.js"></script>
338
343
  <script>
339
344
  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">
@@ -273,10 +279,9 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
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 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
282
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
283
+ at Wed Apr 27 2022 09:28:42 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 high'></div>
59
65
  <pre><table class="coverage">
@@ -339,10 +345,9 @@ exports.run = async function filter({ inputs }) {
339
345
  </div><!-- /wrapper -->
340
346
  <div class='footer quiet pad2 space-top1 center small'>
341
347
  Code coverage generated by
342
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
343
- at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
348
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
349
+ at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
344
350
  </div>
345
- </div>
346
351
  <script src="../../prettify.js"></script>
347
352
  <script>
348
353
  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">73.75% </span>
26
+ <span class="strong">70.14% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>177/240</span>
28
+ <span class='fraction'>148/211</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">68.18% </span>
33
+ <span class="strong">65% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>60/88</span>
35
+ <span class='fraction'>52/80</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">55% </span>
40
+ <span class="strong">50% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>11/20</span>
42
+ <span class='fraction'>9/18</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">73.75% </span>
47
+ <span class="strong">70.14% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>177/240</span>
49
+ <span class='fraction'>148/211</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 medium'></div>
59
65
  <div class="pad1">
@@ -87,21 +93,6 @@
87
93
  <td data-value="17" class="abs low">6/17</td>
88
94
  </tr>
89
95
 
90
- <tr>
91
- <td class="file high" data-value="createRow.js"><a href="createRow.js.html">createRow.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="16" class="abs high">16/16</td>
97
- <td data-value="100" class="pct high">100%</td>
98
- <td data-value="4" class="abs high">4/4</td>
99
- <td data-value="100" class="pct high">100%</td>
100
- <td data-value="1" class="abs high">1/1</td>
101
- <td data-value="100" class="pct high">100%</td>
102
- <td data-value="16" class="abs high">16/16</td>
103
- </tr>
104
-
105
96
  <tr>
106
97
  <td class="file high" data-value="delay.js"><a href="delay.js.html">delay.js</a></td>
107
98
  <td data-value="100" class="pic high">
@@ -117,21 +108,6 @@
117
108
  <td data-value="5" class="abs high">5/5</td>
118
109
  </tr>
119
110
 
120
- <tr>
121
- <td class="file high" data-value="deleteRow.js"><a href="deleteRow.js.html">deleteRow.js</a></td>
122
- <td data-value="100" class="pic high">
123
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
124
- </td>
125
- <td data-value="100" class="pct high">100%</td>
126
- <td data-value="14" class="abs high">14/14</td>
127
- <td data-value="100" class="pct high">100%</td>
128
- <td data-value="4" class="abs high">4/4</td>
129
- <td data-value="100" class="pct high">100%</td>
130
- <td data-value="1" class="abs high">1/1</td>
131
- <td data-value="100" class="pct high">100%</td>
132
- <td data-value="14" class="abs high">14/14</td>
133
- </tr>
134
-
135
111
  <tr>
136
112
  <td class="file low" data-value="discord.js"><a href="discord.js.html">discord.js</a></td>
137
113
  <td data-value="42.85" class="pic low">
@@ -207,6 +183,21 @@
207
183
  <td data-value="8" class="abs medium">4/8</td>
208
184
  </tr>
209
185
 
186
+ <tr>
187
+ <td class="file high" data-value="loop.js"><a href="loop.js.html">loop.js</a></td>
188
+ <td data-value="100" class="pic high">
189
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
190
+ </td>
191
+ <td data-value="100" class="pct high">100%</td>
192
+ <td data-value="1" class="abs high">1/1</td>
193
+ <td data-value="100" class="pct high">100%</td>
194
+ <td data-value="0" class="abs high">0/0</td>
195
+ <td data-value="100" class="pct high">100%</td>
196
+ <td data-value="0" class="abs high">0/0</td>
197
+ <td data-value="100" class="pct high">100%</td>
198
+ <td data-value="1" class="abs high">1/1</td>
199
+ </tr>
200
+
210
201
  <tr>
211
202
  <td class="file high" data-value="outgoingWebhook.js"><a href="outgoingWebhook.js.html">outgoingWebhook.js</a></td>
212
203
  <td data-value="84" class="pic high">
@@ -334,10 +325,9 @@
334
325
  </div><!-- /wrapper -->
335
326
  <div class='footer quiet pad2 space-top1 center small'>
336
327
  Code coverage generated by
337
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
338
- at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
328
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
329
+ at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
339
330
  </div>
340
- </div>
341
331
  <script src="../../prettify.js"></script>
342
332
  <script>
343
333
  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">
@@ -324,10 +330,9 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
324
330
  </div><!-- /wrapper -->
325
331
  <div class='footer quiet pad2 space-top1 center small'>
326
332
  Code coverage generated by
327
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
328
- at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
333
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
334
+ at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
329
335
  </div>
330
- </div>
331
336
  <script src="../../prettify.js"></script>
332
337
  <script>
333
338
  window.onload = function () {
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for api/routes/static.js</title>
6
+ <title>Code coverage report for automations/steps/loop.js</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../base.css" />
@@ -19,20 +19,20 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">api/routes</a> static.js</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">automations/steps</a> loop.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>12/12</span>
28
+ <span class='fraction'>1/1</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">50% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>1/2</span>
35
+ <span class='fraction'>0/0</span>
36
36
  </div>
37
37
 
38
38
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>12/12</span>
49
+ <span class='fraction'>1/1</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">
@@ -107,24 +113,14 @@
107
113
  <a name='L48'></a><a href='#L48'>48</a>
108
114
  <a name='L49'></a><a href='#L49'>49</a>
109
115
  <a name='L50'></a><a href='#L50'>50</a>
110
- <a name='L51'></a><a href='#L51'>51</a>
111
- <a name='L52'></a><a href='#L52'>52</a>
112
- <a name='L53'></a><a href='#L53'>53</a>
113
- <a name='L54'></a><a href='#L54'>54</a>
114
- <a name='L55'></a><a href='#L55'>55</a>
115
- <a name='L56'></a><a href='#L56'>56</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">24x</span>
116
- <span class="cline-any cline-yes">24x</span>
117
- <span class="cline-any cline-yes">24x</span>
118
- <span class="cline-any cline-yes">24x</span>
116
+ <a name='L51'></a><a href='#L51'>51</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">41x</span>
117
+ <span class="cline-any cline-neutral">&nbsp;</span>
118
+ <span class="cline-any cline-neutral">&nbsp;</span>
119
119
  <span class="cline-any cline-neutral">&nbsp;</span>
120
120
  <span class="cline-any cline-neutral">&nbsp;</span>
121
121
  <span class="cline-any cline-neutral">&nbsp;</span>
122
122
  <span class="cline-any cline-neutral">&nbsp;</span>
123
- <span class="cline-any cline-yes">24x</span>
124
- <span class="cline-any cline-yes">24x</span>
125
- <span class="cline-any cline-yes">24x</span>
126
123
  <span class="cline-any cline-neutral">&nbsp;</span>
127
- <span class="cline-any cline-yes">24x</span>
128
124
  <span class="cline-any cline-neutral">&nbsp;</span>
129
125
  <span class="cline-any cline-neutral">&nbsp;</span>
130
126
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -144,11 +140,8 @@
144
140
  <span class="cline-any cline-neutral">&nbsp;</span>
145
141
  <span class="cline-any cline-neutral">&nbsp;</span>
146
142
  <span class="cline-any cline-neutral">&nbsp;</span>
147
- <span class="cline-any cline-yes">24x</span>
148
- <span class="cline-any cline-yes">24x</span>
149
143
  <span class="cline-any cline-neutral">&nbsp;</span>
150
144
  <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-yes">24x</span>
152
145
  <span class="cline-any cline-neutral">&nbsp;</span>
153
146
  <span class="cline-any cline-neutral">&nbsp;</span>
154
147
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -166,72 +159,69 @@
166
159
  <span class="cline-any cline-neutral">&nbsp;</span>
167
160
  <span class="cline-any cline-neutral">&nbsp;</span>
168
161
  <span class="cline-any cline-neutral">&nbsp;</span>
169
- <span class="cline-any cline-yes">24x</span>
170
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Router = require("@koa/router")
171
- const controller = require("../controllers/static")
172
- const { budibaseTempDir } = require("../../utilities/budibaseDir")
173
- const authorized = require("../../middleware/authorized")
174
- const {
175
- BUILDER,
176
- PermissionTypes,
177
- PermissionLevels,
178
- } = require("@budibase/backend-core/permissions")
179
- const env = require("../../environment")
180
- const { paramResource } = require("../../middleware/resourceId")
181
- &nbsp;
182
- const router = Router()
183
- &nbsp;
184
- /* istanbul ignore next */
185
- router.param("file", async (file, ctx, next) =&gt; {
186
- ctx.file = file &amp;&amp; file.includes(".") ? file : "index.html"
187
- if (!ctx.file.startsWith("budibase-client")) {
188
- return next()
189
- }
190
- // test serves from require
191
- if (env.isTest()) {
192
- ctx.devPath = require.resolve("@budibase/client").split(ctx.file)[0]
193
- } else if (env.isDev()) {
194
- // Serving the client library from your local dir in dev
195
- ctx.devPath = budibaseTempDir()
196
- }
197
- return next()
198
- })
199
- &nbsp;
200
- // only used in development for retrieving the client library,
201
- // in production the client lib is always stored in the object store.
202
- if (env.isDev()) {
203
- router.get("/api/assets/client", controller.serveClientLibrary)
162
+ <span class="cline-any cline-neutral">&nbsp;</span>
163
+ <span class="cline-any cline-neutral">&nbsp;</span>
164
+ <span class="cline-any cline-neutral">&nbsp;</span>
165
+ <span class="cline-any cline-neutral">&nbsp;</span>
166
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">exports.definition = {
167
+ name: "Looping",
168
+ icon: "Reuse",
169
+ tagline: "Loop the block",
170
+ description: "Loop",
171
+ stepId: "LOOP",
172
+ internal: true,
173
+ inputs: {},
174
+ schema: {
175
+ inputs: {
176
+ properties: {
177
+ option: {
178
+ customType: "loopOption",
179
+ title: "Input type",
180
+ },
181
+ binding: {
182
+ type: "string",
183
+ title: "Binding / Value",
184
+ },
185
+ iterations: {
186
+ type: "number",
187
+ title: "Max loop iterations",
188
+ },
189
+ failure: {
190
+ type: "string",
191
+ title: "Failure Condition",
192
+ },
193
+ },
194
+ required: ["type", "value", "iterations", "failure"],
195
+ },
196
+ outputs: {
197
+ properties: {
198
+ items: {
199
+ customType: "item",
200
+ description: "The item currently being executed",
201
+ },
202
+ success: {
203
+ type: "boolean",
204
+ description: "Whether the message loop was successfully",
205
+ },
206
+ iterations: {
207
+ type: "number",
208
+ descriptions: "The amount of times the block ran",
209
+ },
210
+ },
211
+ required: ["success", "items", "iterations"],
212
+ },
213
+ },
214
+ type: "LOGIC",
204
215
  }
205
- &nbsp;
206
- router
207
- // TODO: for now this builder endpoint is not authorized/secured, will need to be
208
- .get("/builder/:file*", controller.serveBuilder)
209
- .post("/api/attachments/process", authorized(BUILDER), controller.uploadFile)
210
- .post(
211
- "/api/attachments/:tableId/upload",
212
- paramResource("tableId"),
213
- authorized(PermissionTypes.TABLE, PermissionLevels.WRITE),
214
- controller.uploadFile
215
- )
216
- .get("/:appId/:path*", controller.serveApp)
217
- .get("/app/:appUrl/:path*", controller.serveApp)
218
- .post(
219
- "/api/attachments/:datasourceId/url",
220
- authorized(PermissionTypes.TABLE, PermissionLevels.READ),
221
- controller.getSignedUploadURL
222
- )
223
- &nbsp;
224
- module.exports = router
225
216
  &nbsp;</pre></td></tr></table></pre>
226
217
 
227
218
  <div class='push'></div><!-- for sticky footer -->
228
219
  </div><!-- /wrapper -->
229
220
  <div class='footer quiet pad2 space-top1 center small'>
230
221
  Code coverage generated by
231
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
232
- at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
222
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
223
+ at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
233
224
  </div>
234
- </div>
235
225
  <script src="../../prettify.js"></script>
236
226
  <script>
237
227
  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">
@@ -403,7 +409,7 @@ exports.definition = {
403
409
  &nbsp;
404
410
  exports.run = async function ({ inputs }) {
405
411
  let { requestMethod, url, requestBody, headers } = inputs
406
- if (!url.startsWith("http")) {
412
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (!url.startsWith("http")) {
407
413
  url = `http://${url}`
408
414
  }
409
415
  const request = {
@@ -462,10 +468,9 @@ exports.run = async function ({ inputs }) {
462
468
  </div><!-- /wrapper -->
463
469
  <div class='footer quiet pad2 space-top1 center small'>
464
470
  Code coverage generated by
465
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
466
- at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
471
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
472
+ at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
467
473
  </div>
468
- </div>
469
474
  <script src="../../prettify.js"></script>
470
475
  <script>
471
476
  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">
@@ -378,7 +384,7 @@ exports.run = async function ({ inputs, appId }) {
378
384
  const { tableId, filters, sortColumn, sortOrder, limit } = inputs
379
385
  const table = await getTable(appId, tableId)
380
386
  let sortType = FieldTypes.STRING
381
- if (table &amp;&amp; table.schema &amp;&amp; table.schema[sortColumn] &amp;&amp; sortColumn) {
387
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (table &amp;&amp; table.schema &amp;&amp; table.schema[sortColumn] &amp;&amp; sortColumn) {
382
388
  const fieldType = table.schema[sortColumn].type
383
389
  sortType =
384
390
  fieldType === FieldTypes.NUMBER ? <span class="branch-0 cbranch-no" title="branch not covered" >FieldTypes.NUMBER </span>: FieldTypes.STRING
@@ -414,10 +420,9 @@ exports.run = async function ({ inputs, appId }) {
414
420
  </div><!-- /wrapper -->
415
421
  <div class='footer quiet pad2 space-top1 center small'>
416
422
  Code coverage generated by
417
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
418
- at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
423
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
424
+ at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
419
425
  </div>
420
- </div>
421
426
  <script src="../../prettify.js"></script>
422
427
  <script>
423
428
  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">
@@ -267,10 +273,9 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
267
273
  </div><!-- /wrapper -->
268
274
  <div class='footer quiet pad2 space-top1 center small'>
269
275
  Code coverage generated by
270
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
271
- at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
276
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
277
+ at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
272
278
  </div>
273
- </div>
274
279
  <script src="../../prettify.js"></script>
275
280
  <script>
276
281
  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">
@@ -198,10 +204,9 @@ exports.run = <span class="fstat-no" title="function not covered" >as</span>ync
198
204
  </div><!-- /wrapper -->
199
205
  <div class='footer quiet pad2 space-top1 center small'>
200
206
  Code coverage generated by
201
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
202
- at Tue Apr 26 2022 17:11:02 GMT+0000 (Coordinated Universal Time)
207
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
208
+ at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
203
209
  </div>
204
- </div>
205
210
  <script src="../../prettify.js"></script>
206
211
  <script>
207
212
  window.onload = function () {