@budibase/server 1.0.80 → 1.0.81-alpha.2

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 (322) hide show
  1. package/__mocks__/node-fetch.ts +1 -0
  2. package/builder/assets/{index.c8d1e8f0.css → index.8b1dc06c.css} +2 -2
  3. package/builder/assets/index.e4d4c510.js +1291 -0
  4. package/builder/assets/{vendor.20f80cec.js → vendor.a7c6ad0a.js} +190 -216
  5. package/builder/index.html +3 -3
  6. package/coverage/clover.xml +2531 -2440
  7. package/coverage/coverage-final.json +138 -137
  8. package/coverage/lcov-report/api/controllers/analytics.js.html +6 -6
  9. package/coverage/lcov-report/api/controllers/apikeys.js.html +6 -6
  10. package/coverage/lcov-report/api/controllers/application.js.html +152 -149
  11. package/coverage/lcov-report/api/controllers/auth.js.html +7 -7
  12. package/coverage/lcov-report/api/controllers/automation.js.html +21 -21
  13. package/coverage/lcov-report/api/controllers/backup.js.html +3 -3
  14. package/coverage/lcov-report/api/controllers/cloud.js.html +11 -11
  15. package/coverage/lcov-report/api/controllers/component.js.html +5 -5
  16. package/coverage/lcov-report/api/controllers/datasource.js.html +16 -16
  17. package/coverage/lcov-report/api/controllers/dev.js.html +19 -19
  18. package/coverage/lcov-report/api/controllers/index.html +16 -16
  19. package/coverage/lcov-report/api/controllers/integration.js.html +4 -4
  20. package/coverage/lcov-report/api/controllers/layout.js.html +6 -6
  21. package/coverage/lcov-report/api/controllers/metadata.js.html +9 -9
  22. package/coverage/lcov-report/api/controllers/migrations.js.html +4 -4
  23. package/coverage/lcov-report/api/controllers/permission.js.html +15 -15
  24. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  25. package/coverage/lcov-report/api/controllers/query/index.js.html +26 -26
  26. package/coverage/lcov-report/api/controllers/query/validation.js.html +10 -10
  27. package/coverage/lcov-report/api/controllers/role.js.html +9 -9
  28. package/coverage/lcov-report/api/controllers/routing.js.html +9 -9
  29. package/coverage/lcov-report/api/controllers/row/external.js.html +86 -23
  30. package/coverage/lcov-report/api/controllers/row/index.html +46 -46
  31. package/coverage/lcov-report/api/controllers/row/index.js.html +76 -49
  32. package/coverage/lcov-report/api/controllers/row/internal.js.html +144 -84
  33. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +204 -204
  34. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +24 -24
  35. package/coverage/lcov-report/api/controllers/row/utils.js.html +29 -29
  36. package/coverage/lcov-report/api/controllers/screen.js.html +7 -7
  37. package/coverage/lcov-report/api/controllers/script.js.html +4 -4
  38. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +49 -49
  39. package/coverage/lcov-report/api/controllers/table/external.js.html +62 -20
  40. package/coverage/lcov-report/api/controllers/table/index.html +20 -20
  41. package/coverage/lcov-report/api/controllers/table/index.js.html +47 -44
  42. package/coverage/lcov-report/api/controllers/table/internal.js.html +50 -50
  43. package/coverage/lcov-report/api/controllers/table/utils.js.html +80 -80
  44. package/coverage/lcov-report/api/controllers/templates.js.html +5 -5
  45. package/coverage/lcov-report/api/controllers/user.js.html +19 -19
  46. package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
  47. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  48. package/coverage/lcov-report/api/controllers/view/index.js.html +14 -14
  49. package/coverage/lcov-report/api/controllers/view/utils.js.html +12 -12
  50. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
  51. package/coverage/lcov-report/api/controllers/webhook.js.html +18 -27
  52. package/coverage/lcov-report/api/index.html +10 -10
  53. package/coverage/lcov-report/api/index.js.html +37 -28
  54. package/coverage/lcov-report/api/routes/analytics.js.html +6 -6
  55. package/coverage/lcov-report/api/routes/apikeys.js.html +8 -8
  56. package/coverage/lcov-report/api/routes/application.js.html +9 -9
  57. package/coverage/lcov-report/api/routes/auth.js.html +6 -6
  58. package/coverage/lcov-report/api/routes/automation.js.html +19 -109
  59. package/coverage/lcov-report/api/routes/backup.js.html +8 -8
  60. package/coverage/lcov-report/api/routes/cloud.js.html +8 -8
  61. package/coverage/lcov-report/api/routes/component.js.html +8 -8
  62. package/coverage/lcov-report/api/routes/datasource.js.html +18 -156
  63. package/coverage/lcov-report/api/routes/deploy.js.html +8 -8
  64. package/coverage/lcov-report/api/routes/dev.js.html +13 -13
  65. package/coverage/lcov-report/api/routes/index.html +35 -35
  66. package/coverage/lcov-report/api/routes/index.js.html +38 -32
  67. package/coverage/lcov-report/api/routes/integration.js.html +8 -8
  68. package/coverage/lcov-report/api/routes/layout.js.html +8 -8
  69. package/coverage/lcov-report/api/routes/metadata.js.html +9 -9
  70. package/coverage/lcov-report/api/routes/migrations.js.html +7 -7
  71. package/coverage/lcov-report/api/routes/permission.js.html +16 -58
  72. package/coverage/lcov-report/api/routes/query.js.html +10 -10
  73. package/coverage/lcov-report/api/routes/role.js.html +15 -78
  74. package/coverage/lcov-report/api/routes/routing.js.html +8 -8
  75. package/coverage/lcov-report/api/routes/row.js.html +80 -14
  76. package/coverage/lcov-report/api/routes/screen.js.html +14 -95
  77. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/static.js.html +13 -13
  79. package/coverage/lcov-report/api/routes/table.js.html +17 -62
  80. package/coverage/lcov-report/api/routes/templates.js.html +8 -8
  81. package/coverage/lcov-report/api/routes/user.js.html +8 -8
  82. package/coverage/lcov-report/api/routes/utils/index.html +111 -0
  83. package/coverage/lcov-report/api/routes/utils/validators.js.html +737 -0
  84. package/coverage/lcov-report/api/routes/view.js.html +10 -10
  85. package/coverage/lcov-report/api/routes/webhook.js.html +14 -62
  86. package/coverage/lcov-report/automations/actions.js.html +24 -24
  87. package/coverage/lcov-report/automations/automationUtils.js.html +5 -5
  88. package/coverage/lcov-report/automations/bullboard.js.html +16 -16
  89. package/coverage/lcov-report/automations/index.html +1 -1
  90. package/coverage/lcov-report/automations/index.js.html +7 -7
  91. package/coverage/lcov-report/automations/steps/bash.js.html +6 -6
  92. package/coverage/lcov-report/automations/steps/createRow.js.html +7 -7
  93. package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
  94. package/coverage/lcov-report/automations/steps/deleteRow.js.html +7 -7
  95. package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
  96. package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
  97. package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
  98. package/coverage/lcov-report/automations/steps/filter.js.html +12 -9
  99. package/coverage/lcov-report/automations/steps/index.html +1 -1
  100. package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
  101. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
  102. package/coverage/lcov-report/automations/steps/queryRows.js.html +11 -11
  103. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
  104. package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
  105. package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
  106. package/coverage/lcov-report/automations/steps/updateRow.js.html +6 -6
  107. package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
  108. package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
  109. package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
  110. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
  111. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  112. package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
  113. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
  114. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
  115. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
  116. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
  117. package/coverage/lcov-report/automations/triggers.js.html +26 -26
  118. package/coverage/lcov-report/automations/utils.js.html +35 -35
  119. package/coverage/lcov-report/constants/index.html +5 -5
  120. package/coverage/lcov-report/constants/index.js.html +40 -28
  121. package/coverage/lcov-report/constants/layouts.js.html +5 -5
  122. package/coverage/lcov-report/constants/screens.js.html +4 -4
  123. package/coverage/lcov-report/db/client.js.html +18 -18
  124. package/coverage/lcov-report/db/inMemoryView.js.html +7 -7
  125. package/coverage/lcov-report/db/index.html +15 -15
  126. package/coverage/lcov-report/db/index.js.html +3 -3
  127. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +21 -21
  128. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  129. package/coverage/lcov-report/db/linkedRows/index.js.html +36 -36
  130. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +30 -30
  131. package/coverage/lcov-report/db/newid.js.html +4 -4
  132. package/coverage/lcov-report/db/utils.js.html +123 -87
  133. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  134. package/coverage/lcov-report/events/index.html +1 -1
  135. package/coverage/lcov-report/events/index.js.html +8 -8
  136. package/coverage/lcov-report/events/utils.js.html +18 -18
  137. package/coverage/lcov-report/index.html +91 -76
  138. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  139. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  140. package/coverage/lcov-report/middleware/appInfo.js.html +5 -5
  141. package/coverage/lcov-report/middleware/authorized.js.html +29 -29
  142. package/coverage/lcov-report/middleware/builder.js.html +16 -16
  143. package/coverage/lcov-report/middleware/currentapp.js.html +44 -44
  144. package/coverage/lcov-report/middleware/index.html +1 -1
  145. package/coverage/lcov-report/middleware/joi-validator.js.html +14 -14
  146. package/coverage/lcov-report/middleware/resourceId.js.html +29 -29
  147. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  148. package/coverage/lcov-report/middleware/usageQuota.js.html +17 -17
  149. package/coverage/lcov-report/middleware/utils.js.html +4 -4
  150. package/coverage/lcov-report/threads/automation.js.html +1 -1
  151. package/coverage/lcov-report/threads/index.html +19 -19
  152. package/coverage/lcov-report/threads/index.js.html +10 -10
  153. package/coverage/lcov-report/threads/query.js.html +123 -39
  154. package/coverage/lcov-report/threads/utils.js.html +14 -14
  155. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  156. package/coverage/lcov-report/utilities/budibaseDir.js.html +7 -7
  157. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  158. package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
  159. package/coverage/lcov-report/utilities/global.js.html +28 -28
  160. package/coverage/lcov-report/utilities/index.html +18 -18
  161. package/coverage/lcov-report/utilities/index.js.html +24 -24
  162. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +9 -9
  163. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  164. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  165. package/coverage/lcov-report/utilities/routing/index.js.html +6 -6
  166. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  167. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +60 -60
  168. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +13 -13
  169. package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
  170. package/coverage/lcov-report/utilities/security.js.html +8 -8
  171. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  172. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  173. package/coverage/lcov-report/utilities/usageQuota/index.js.html +12 -12
  174. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +8 -8
  175. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  176. package/coverage/lcov-report/utilities/users.js.html +5 -5
  177. package/coverage/lcov-report/utilities/workerRequests.js.html +200 -53
  178. package/coverage/lcov.info +3555 -3411
  179. package/dist/api/controllers/application.js +1 -0
  180. package/dist/api/controllers/public/applications.js +94 -0
  181. package/dist/api/controllers/public/mapping/applications.js +29 -0
  182. package/dist/api/controllers/public/mapping/index.js +11 -0
  183. package/dist/api/controllers/public/mapping/queries.js +36 -0
  184. package/dist/api/controllers/public/mapping/rows.js +24 -0
  185. package/dist/api/controllers/public/mapping/tables.js +23 -0
  186. package/dist/api/controllers/public/mapping/types.js +2 -0
  187. package/dist/api/controllers/public/mapping/users.js +29 -0
  188. package/dist/api/controllers/public/queries.js +38 -0
  189. package/dist/api/controllers/public/rows.js +97 -0
  190. package/dist/api/controllers/public/tables.js +75 -0
  191. package/dist/api/controllers/public/users.js +95 -0
  192. package/dist/api/controllers/public/utils.js +49 -0
  193. package/dist/api/controllers/row/external.js +18 -0
  194. package/dist/api/controllers/row/index.js +11 -0
  195. package/dist/api/controllers/row/internal.js +15 -1
  196. package/dist/api/controllers/table/external.js +8 -2
  197. package/dist/api/controllers/table/index.js +2 -1
  198. package/dist/api/controllers/webhook.js +3 -5
  199. package/dist/api/index.js +3 -1
  200. package/dist/api/routes/automation.js +3 -31
  201. package/dist/api/routes/datasource.js +3 -50
  202. package/dist/api/routes/index.js +2 -0
  203. package/dist/api/routes/permission.js +4 -14
  204. package/dist/api/routes/public/applications.js +141 -0
  205. package/dist/api/routes/public/index.js +101 -0
  206. package/dist/api/routes/public/middleware/mapper.js +94 -0
  207. package/dist/api/routes/public/queries.js +77 -0
  208. package/dist/api/routes/public/rows.js +229 -0
  209. package/dist/api/routes/public/tables.js +154 -0
  210. package/dist/api/routes/public/users.js +137 -0
  211. package/dist/api/routes/public/utils/Endpoint.js +36 -0
  212. package/dist/api/routes/role.js +3 -19
  213. package/dist/api/routes/row.js +18 -5
  214. package/dist/api/routes/screen.js +2 -23
  215. package/dist/api/routes/table.js +3 -17
  216. package/dist/api/routes/tests/utilities/index.js +23 -0
  217. package/dist/api/routes/utils/validators.js +200 -0
  218. package/dist/api/routes/webhook.js +2 -17
  219. package/dist/automations/steps/filter.js +2 -2
  220. package/dist/automations/steps/queryRows.js +1 -1
  221. package/dist/automations/utils.js +2 -2
  222. package/dist/constants/index.js +3 -0
  223. package/dist/db/utils.js +11 -0
  224. package/dist/definitions/openapi.js +6 -0
  225. package/dist/environment.js +1 -0
  226. package/dist/integrations/base/sql.js +16 -1
  227. package/dist/integrations/base/sqlTable.js +21 -9
  228. package/dist/integrations/googlesheets.js +3 -0
  229. package/dist/integrations/microsoftSqlServer.js +60 -43
  230. package/dist/integrations/mysql.js +3 -0
  231. package/dist/integrations/oracle.js +14 -19
  232. package/dist/integrations/postgres.js +34 -28
  233. package/dist/integrations/utils.js +32 -15
  234. package/dist/package.json +11 -7
  235. package/dist/tests/utilities/TestConfiguration.js +25 -8
  236. package/dist/threads/query.js +33 -8
  237. package/dist/tsconfig.tsbuildinfo +1 -1
  238. package/dist/utilities/workerRequests.js +50 -15
  239. package/package.json +12 -8
  240. package/scripts/integrations/mssql/data/setup.sql +18 -1
  241. package/scripts/integrations/oracle/oracle.md +2 -2
  242. package/scripts/integrations/postgres/init.sql +11 -3
  243. package/scripts/likeCypress.ts +9 -6
  244. package/specs/generate.js +94 -0
  245. package/specs/openapi.json +2232 -0
  246. package/specs/openapi.yaml +1538 -0
  247. package/specs/parameters.js +59 -0
  248. package/specs/resources/application.js +101 -0
  249. package/specs/resources/index.js +24 -0
  250. package/specs/resources/misc.js +12 -0
  251. package/specs/resources/query.js +189 -0
  252. package/specs/resources/row.js +125 -0
  253. package/specs/resources/table.js +191 -0
  254. package/specs/resources/user.js +126 -0
  255. package/specs/resources/utils/Resource.js +26 -0
  256. package/specs/resources/utils/index.js +11 -0
  257. package/specs/security.js +7 -0
  258. package/src/api/controllers/application.js +1 -0
  259. package/src/api/controllers/public/applications.ts +74 -0
  260. package/src/api/controllers/public/mapping/applications.ts +32 -0
  261. package/src/api/controllers/public/mapping/index.ts +13 -0
  262. package/src/api/controllers/public/mapping/queries.ts +39 -0
  263. package/src/api/controllers/public/mapping/rows.ts +31 -0
  264. package/src/api/controllers/public/mapping/tables.ts +26 -0
  265. package/src/api/controllers/public/mapping/types.ts +13 -0
  266. package/src/api/controllers/public/mapping/users.ts +32 -0
  267. package/src/api/controllers/public/queries.ts +20 -0
  268. package/src/api/controllers/public/rows.ts +77 -0
  269. package/src/api/controllers/public/tables.ts +56 -0
  270. package/src/api/controllers/public/users.ts +82 -0
  271. package/src/api/controllers/public/utils.ts +38 -0
  272. package/src/api/controllers/row/ExternalRequest.ts +1 -1
  273. package/src/api/controllers/row/external.js +21 -0
  274. package/src/api/controllers/row/index.js +9 -0
  275. package/src/api/controllers/row/internal.js +20 -0
  276. package/src/api/controllers/table/external.js +16 -2
  277. package/src/api/controllers/table/index.js +2 -1
  278. package/src/api/controllers/webhook.js +3 -6
  279. package/src/api/index.js +4 -1
  280. package/src/api/routes/automation.js +3 -33
  281. package/src/api/routes/datasource.js +6 -52
  282. package/src/api/routes/index.js +2 -0
  283. package/src/api/routes/permission.js +4 -18
  284. package/src/api/routes/public/applications.ts +156 -0
  285. package/src/api/routes/public/index.ts +118 -0
  286. package/src/api/routes/public/middleware/mapper.ts +81 -0
  287. package/src/api/routes/public/queries.ts +81 -0
  288. package/src/api/routes/public/rows.ts +242 -0
  289. package/src/api/routes/public/tables.ts +169 -0
  290. package/src/api/routes/public/tests/compare.spec.js +184 -0
  291. package/src/api/routes/public/users.ts +144 -0
  292. package/src/api/routes/public/utils/Endpoint.ts +51 -0
  293. package/src/api/routes/role.js +3 -24
  294. package/src/api/routes/row.js +24 -2
  295. package/src/api/routes/screen.js +2 -29
  296. package/src/api/routes/table.js +4 -19
  297. package/src/api/routes/tests/utilities/index.js +24 -0
  298. package/src/api/routes/utils/validators.js +219 -0
  299. package/src/api/routes/webhook.js +2 -18
  300. package/src/automations/steps/filter.js +3 -2
  301. package/src/automations/steps/queryRows.js +1 -1
  302. package/src/automations/utils.js +2 -2
  303. package/src/constants/index.js +4 -0
  304. package/src/db/utils.js +12 -0
  305. package/src/definitions/common.ts +4 -0
  306. package/src/definitions/datasource.ts +7 -0
  307. package/src/definitions/openapi.ts +943 -0
  308. package/src/environment.js +1 -0
  309. package/src/integrations/base/datasourcePlus.ts +3 -0
  310. package/src/integrations/base/sql.ts +16 -1
  311. package/src/integrations/base/sqlTable.ts +35 -13
  312. package/src/integrations/googlesheets.ts +5 -2
  313. package/src/integrations/microsoftSqlServer.ts +86 -61
  314. package/src/integrations/mysql.ts +4 -0
  315. package/src/integrations/oracle.ts +27 -35
  316. package/src/integrations/postgres.ts +33 -26
  317. package/src/integrations/utils.ts +43 -15
  318. package/src/tests/utilities/TestConfiguration.js +23 -2
  319. package/src/threads/query.js +37 -9
  320. package/src/utilities/workerRequests.js +65 -16
  321. package/builder/assets/index.22a39cc9.js +0 -1352
  322. package/scripts/proxy/generateProxyConfig.js +0 -70
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">8.2% </span>
26
+ <span class="strong">7.97% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>11/134</span>
28
+ <span class='fraction'>11/138</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/76</span>
35
+ <span class='fraction'>0/79</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">8.2% </span>
47
+ <span class="strong">7.97% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>11/134</span>
49
+ <span class='fraction'>11/138</span>
50
50
  </div>
51
51
 
52
52
 
@@ -361,27 +361,42 @@
361
361
  <a name='L302'></a><a href='#L302'>302</a>
362
362
  <a name='L303'></a><a href='#L303'>303</a>
363
363
  <a name='L304'></a><a href='#L304'>304</a>
364
- <a name='L305'></a><a href='#L305'>305</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
364
+ <a name='L305'></a><a href='#L305'>305</a>
365
+ <a name='L306'></a><a href='#L306'>306</a>
366
+ <a name='L307'></a><a href='#L307'>307</a>
367
+ <a name='L308'></a><a href='#L308'>308</a>
368
+ <a name='L309'></a><a href='#L309'>309</a>
369
+ <a name='L310'></a><a href='#L310'>310</a>
370
+ <a name='L311'></a><a href='#L311'>311</a>
371
+ <a name='L312'></a><a href='#L312'>312</a>
372
+ <a name='L313'></a><a href='#L313'>313</a>
373
+ <a name='L314'></a><a href='#L314'>314</a>
374
+ <a name='L315'></a><a href='#L315'>315</a>
375
+ <a name='L316'></a><a href='#L316'>316</a>
376
+ <a name='L317'></a><a href='#L317'>317</a>
377
+ <a name='L318'></a><a href='#L318'>318</a>
378
+ <a name='L319'></a><a href='#L319'>319</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
365
379
  <span class="cline-any cline-neutral">&nbsp;</span>
366
380
  <span class="cline-any cline-neutral">&nbsp;</span>
367
- <span class="cline-any cline-yes">39x</span>
381
+ <span class="cline-any cline-yes">40x</span>
368
382
  <span class="cline-any cline-neutral">&nbsp;</span>
369
383
  <span class="cline-any cline-neutral">&nbsp;</span>
370
384
  <span class="cline-any cline-neutral">&nbsp;</span>
371
385
  <span class="cline-any cline-neutral">&nbsp;</span>
372
386
  <span class="cline-any cline-neutral">&nbsp;</span>
373
387
  <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-yes">39x</span>
388
+ <span class="cline-any cline-yes">40x</span>
375
389
  <span class="cline-any cline-neutral">&nbsp;</span>
376
390
  <span class="cline-any cline-neutral">&nbsp;</span>
377
391
  <span class="cline-any cline-neutral">&nbsp;</span>
378
392
  <span class="cline-any cline-neutral">&nbsp;</span>
379
- <span class="cline-any cline-yes">39x</span>
380
- <span class="cline-any cline-yes">39x</span>
381
- <span class="cline-any cline-yes">39x</span>
382
- <span class="cline-any cline-yes">39x</span>
383
- <span class="cline-any cline-yes">39x</span>
384
- <span class="cline-any cline-yes">39x</span>
393
+ <span class="cline-any cline-yes">40x</span>
394
+ <span class="cline-any cline-yes">40x</span>
395
+ <span class="cline-any cline-yes">40x</span>
396
+ <span class="cline-any cline-yes">40x</span>
397
+ <span class="cline-any cline-yes">40x</span>
398
+ <span class="cline-any cline-yes">40x</span>
399
+ <span class="cline-any cline-neutral">&nbsp;</span>
385
400
  <span class="cline-any cline-neutral">&nbsp;</span>
386
401
  <span class="cline-any cline-neutral">&nbsp;</span>
387
402
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -405,6 +420,9 @@
405
420
  <span class="cline-any cline-no">&nbsp;</span>
406
421
  <span class="cline-any cline-neutral">&nbsp;</span>
407
422
  <span class="cline-any cline-no">&nbsp;</span>
423
+ <span class="cline-any cline-no">&nbsp;</span>
424
+ <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-no">&nbsp;</span>
408
426
  <span class="cline-any cline-neutral">&nbsp;</span>
409
427
  <span class="cline-any cline-neutral">&nbsp;</span>
410
428
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -521,7 +539,8 @@
521
539
  <span class="cline-any cline-no">&nbsp;</span>
522
540
  <span class="cline-any cline-neutral">&nbsp;</span>
523
541
  <span class="cline-any cline-neutral">&nbsp;</span>
524
- <span class="cline-any cline-yes">39x</span>
542
+ <span class="cline-any cline-yes">40x</span>
543
+ <span class="cline-any cline-no">&nbsp;</span>
525
544
  <span class="cline-any cline-no">&nbsp;</span>
526
545
  <span class="cline-any cline-neutral">&nbsp;</span>
527
546
  <span class="cline-any cline-no">&nbsp;</span>
@@ -606,6 +625,13 @@
606
625
  <span class="cline-any cline-neutral">&nbsp;</span>
607
626
  <span class="cline-any cline-no">&nbsp;</span>
608
627
  <span class="cline-any cline-neutral">&nbsp;</span>
628
+ <span class="cline-any cline-neutral">&nbsp;</span>
629
+ <span class="cline-any cline-neutral">&nbsp;</span>
630
+ <span class="cline-any cline-neutral">&nbsp;</span>
631
+ <span class="cline-any cline-neutral">&nbsp;</span>
632
+ <span class="cline-any cline-neutral">&nbsp;</span>
633
+ <span class="cline-any cline-neutral">&nbsp;</span>
634
+ <span class="cline-any cline-neutral">&nbsp;</span>
609
635
  <span class="cline-any cline-no">&nbsp;</span>
610
636
  <span class="cline-any cline-no">&nbsp;</span>
611
637
  <span class="cline-any cline-no">&nbsp;</span>
@@ -623,12 +649,14 @@
623
649
  <span class="cline-any cline-neutral">&nbsp;</span>
624
650
  <span class="cline-any cline-neutral">&nbsp;</span>
625
651
  <span class="cline-any cline-no">&nbsp;</span>
652
+ <span class="cline-any cline-neutral">&nbsp;</span>
653
+ <span class="cline-any cline-no">&nbsp;</span>
626
654
  <span class="cline-any cline-no">&nbsp;</span>
627
655
  <span class="cline-any cline-neutral">&nbsp;</span>
628
656
  <span class="cline-any cline-no">&nbsp;</span>
629
657
  <span class="cline-any cline-neutral">&nbsp;</span>
630
658
  <span class="cline-any cline-neutral">&nbsp;</span>
631
- <span class="cline-any cline-yes">39x</span>
659
+ <span class="cline-any cline-yes">40x</span>
632
660
  <span class="cline-any cline-no">&nbsp;</span>
633
661
  <span class="cline-any cline-no">&nbsp;</span>
634
662
  <span class="cline-any cline-no">&nbsp;</span>
@@ -650,7 +678,7 @@
650
678
  <span class="cline-any cline-no">&nbsp;</span>
651
679
  <span class="cline-any cline-neutral">&nbsp;</span>
652
680
  <span class="cline-any cline-neutral">&nbsp;</span>
653
- <span class="cline-any cline-yes">39x</span>
681
+ <span class="cline-any cline-yes">40x</span>
654
682
  <span class="cline-any cline-no">&nbsp;</span>
655
683
  <span class="cline-any cline-no">&nbsp;</span>
656
684
  <span class="cline-any cline-no">&nbsp;</span>
@@ -692,7 +720,8 @@ async function <span class="fstat-no" title="function not covered" >makeTableReq
692
720
  operation,
693
721
  table,
694
722
  tables,
695
- oldTable = <span class="branch-0 cbranch-no" title="branch not covered" >null</span>
723
+ oldTable = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
724
+ renamed = <span class="branch-0 cbranch-no" title="branch not covered" >null</span>
696
725
  ) {
697
726
  const json = <span class="cstat-no" title="statement not covered" >{</span>
698
727
  endpoint: {
@@ -708,6 +737,9 @@ async function <span class="fstat-no" title="function not covered" >makeTableReq
708
737
  <span class="cstat-no" title="statement not covered" > if (oldTable) {</span>
709
738
  <span class="cstat-no" title="statement not covered" > json.meta.table = oldTable</span>
710
739
  }
740
+ <span class="cstat-no" title="statement not covered" > if (renamed) {</span>
741
+ <span class="cstat-no" title="statement not covered" > json.meta.renamed = renamed</span>
742
+ }
711
743
  <span class="cstat-no" title="statement not covered" > return makeExternalQuery(datasource, json)</span>
712
744
  }
713
745
  &nbsp;
@@ -827,6 +859,7 @@ function <span class="fstat-no" title="function not covered" >isRelationshipSetu
827
859
  &nbsp;
828
860
  exports.save = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
829
861
  const table = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
862
+ const { _rename: renamed } = <span class="cstat-no" title="statement not covered" >table</span>
830
863
  // can't do this right now
831
864
  <span class="cstat-no" title="statement not covered" > delete table.dataImport</span>
832
865
  const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(ctx.request.body)</span>
@@ -908,7 +941,14 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
908
941
  const operation = <span class="cstat-no" title="statement not covered" >oldTable</span>
909
942
  ? DataSourceOperation.UPDATE_TABLE
910
943
  : DataSourceOperation.CREATE_TABLE
911
- <span class="cstat-no" title="statement not covered" > await makeTableRequest(datasource, operation, tableToSave, tables, oldTable)</span>
944
+ <span class="cstat-no" title="statement not covered" > await makeTableRequest(</span>
945
+ datasource,
946
+ operation,
947
+ tableToSave,
948
+ tables,
949
+ oldTable,
950
+ renamed
951
+ )
912
952
  // update any extra tables (like foreign keys in other tables)
913
953
  <span class="cstat-no" title="statement not covered" > for (let extraTable of extraTablesToUpdate) {</span>
914
954
  const oldExtraTable = <span class="cstat-no" title="statement not covered" >oldTables[extraTable.name]</span>
@@ -925,6 +965,8 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
925
965
  )
926
966
  }
927
967
  &nbsp;
968
+ // remove the rename prop
969
+ <span class="cstat-no" title="statement not covered" > delete tableToSave._rename</span>
928
970
  // store it into couch now for budibase reference
929
971
  <span class="cstat-no" title="statement not covered" > datasource.entities[tableToSave.name] = tableToSave</span>
930
972
  <span class="cstat-no" title="statement not covered" > await db.put(datasource)</span>
@@ -976,7 +1018,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
976
1018
  <div class='footer quiet pad2 space-top1 center small'>
977
1019
  Code coverage generated by
978
1020
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
979
- at Tue Mar 08 2022 08:50:56 GMT+0000 (Coordinated Universal Time)
1021
+ at Tue Mar 08 2022 15:58:36 GMT+0000 (Coordinated Universal Time)
980
1022
  </div>
981
1023
  </div>
982
1024
  <script src="../../../prettify.js"></script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">53.32% </span>
26
+ <span class="strong">53.01% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>289/542</span>
28
+ <span class='fraction'>290/547</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">36.04% </span>
33
+ <span class="strong">35.66% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>102/283</span>
35
+ <span class='fraction'>102/286</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">53.68% </span>
47
+ <span class="strong">53.37% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>284/529</span>
49
+ <span class='fraction'>285/534</span>
50
50
  </div>
51
51
 
52
52
 
@@ -89,32 +89,32 @@
89
89
 
90
90
  <tr>
91
91
  <td class="file low" data-value="external.js"><a href="external.js.html">external.js</a></td>
92
- <td data-value="8.2" class="pic low">
93
- <div class="chart"><div class="cover-fill" style="width: 8%"></div><div class="cover-empty" style="width: 92%"></div></div>
92
+ <td data-value="7.97" class="pic low">
93
+ <div class="chart"><div class="cover-fill" style="width: 7%"></div><div class="cover-empty" style="width: 93%"></div></div>
94
94
  </td>
95
- <td data-value="8.2" class="pct low">8.2%</td>
96
- <td data-value="134" class="abs low">11/134</td>
95
+ <td data-value="7.97" class="pct low">7.97%</td>
96
+ <td data-value="138" class="abs low">11/138</td>
97
97
  <td data-value="0" class="pct low">0%</td>
98
- <td data-value="76" class="abs low">0/76</td>
98
+ <td data-value="79" class="abs low">0/79</td>
99
99
  <td data-value="0" class="pct low">0%</td>
100
100
  <td data-value="14" class="abs low">0/14</td>
101
- <td data-value="8.2" class="pct low">8.2%</td>
102
- <td data-value="134" class="abs low">11/134</td>
101
+ <td data-value="7.97" class="pct low">7.97%</td>
102
+ <td data-value="138" class="abs low">11/138</td>
103
103
  </tr>
104
104
 
105
105
  <tr>
106
106
  <td class="file medium" data-value="index.js"><a href="index.js.html">index.js</a></td>
107
- <td data-value="76.78" class="pic medium">
108
- <div class="chart"><div class="cover-fill" style="width: 76%"></div><div class="cover-empty" style="width: 24%"></div></div>
107
+ <td data-value="77.19" class="pic medium">
108
+ <div class="chart"><div class="cover-fill" style="width: 77%"></div><div class="cover-empty" style="width: 23%"></div></div>
109
109
  </td>
110
- <td data-value="76.78" class="pct medium">76.78%</td>
111
- <td data-value="56" class="abs medium">43/56</td>
110
+ <td data-value="77.19" class="pct medium">77.19%</td>
111
+ <td data-value="57" class="abs medium">44/57</td>
112
112
  <td data-value="73.91" class="pct medium">73.91%</td>
113
113
  <td data-value="23" class="abs medium">17/23</td>
114
114
  <td data-value="66.66" class="pct medium">66.66%</td>
115
115
  <td data-value="9" class="abs medium">6/9</td>
116
- <td data-value="78.18" class="pct medium">78.18%</td>
117
- <td data-value="55" class="abs medium">43/55</td>
116
+ <td data-value="78.57" class="pct medium">78.57%</td>
117
+ <td data-value="56" class="abs medium">44/56</td>
118
118
  </tr>
119
119
 
120
120
  <tr>
@@ -155,7 +155,7 @@
155
155
  <div class='footer quiet pad2 space-top1 center small'>
156
156
  Code coverage generated by
157
157
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
158
- at Tue Mar 08 2022 08:50:56 GMT+0000 (Coordinated Universal Time)
158
+ at Tue Mar 08 2022 15:58:36 GMT+0000 (Coordinated Universal Time)
159
159
  </div>
160
160
  </div>
161
161
  <script src="../../../prettify.js"></script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">76.78% </span>
26
+ <span class="strong">77.19% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>43/56</span>
28
+ <span class='fraction'>44/57</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">78.18% </span>
47
+ <span class="strong">78.57% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>43/55</span>
49
+ <span class='fraction'>44/56</span>
50
50
  </div>
51
51
 
52
52
 
@@ -155,39 +155,40 @@
155
155
  <a name='L96'></a><a href='#L96'>96</a>
156
156
  <a name='L97'></a><a href='#L97'>97</a>
157
157
  <a name='L98'></a><a href='#L98'>98</a>
158
- <a name='L99'></a><a href='#L99'>99</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
159
- <span class="cline-any cline-yes">39x</span>
160
- <span class="cline-any cline-yes">39x</span>
161
- <span class="cline-any cline-yes">39x</span>
162
- <span class="cline-any cline-yes">39x</span>
163
- <span class="cline-any cline-yes">39x</span>
164
- <span class="cline-any cline-yes">39x</span>
158
+ <a name='L99'></a><a href='#L99'>99</a>
159
+ <a name='L100'></a><a href='#L100'>100</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">40x</span>
160
+ <span class="cline-any cline-yes">40x</span>
161
+ <span class="cline-any cline-yes">40x</span>
162
+ <span class="cline-any cline-yes">40x</span>
163
+ <span class="cline-any cline-yes">40x</span>
164
+ <span class="cline-any cline-yes">40x</span>
165
+ <span class="cline-any cline-yes">40x</span>
165
166
  <span class="cline-any cline-neutral">&nbsp;</span>
166
167
  <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-yes">103x</span>
168
- <span class="cline-any cline-yes">101x</span>
168
+ <span class="cline-any cline-yes">109x</span>
169
+ <span class="cline-any cline-yes">106x</span>
169
170
  <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-yes">103x</span>
171
+ <span class="cline-any cline-yes">109x</span>
171
172
  <span class="cline-any cline-no">&nbsp;</span>
172
- <span class="cline-any cline-yes">103x</span>
173
+ <span class="cline-any cline-yes">109x</span>
173
174
  <span class="cline-any cline-no">&nbsp;</span>
174
175
  <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-yes">103x</span>
176
+ <span class="cline-any cline-yes">109x</span>
176
177
  <span class="cline-any cline-neutral">&nbsp;</span>
177
178
  <span class="cline-any cline-neutral">&nbsp;</span>
178
179
  <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-yes">39x</span>
180
- <span class="cline-any cline-yes">1x</span>
180
+ <span class="cline-any cline-yes">40x</span>
181
+ <span class="cline-any cline-yes">2x</span>
181
182
  <span class="cline-any cline-neutral">&nbsp;</span>
182
- <span class="cline-any cline-yes">1x</span>
183
+ <span class="cline-any cline-yes">2x</span>
183
184
  <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-yes">1x</span>
185
+ <span class="cline-any cline-yes">2x</span>
185
186
  <span class="cline-any cline-neutral">&nbsp;</span>
186
187
  <span class="cline-any cline-neutral">&nbsp;</span>
187
188
  <span class="cline-any cline-neutral">&nbsp;</span>
188
189
  <span class="cline-any cline-neutral">&nbsp;</span>
189
190
  <span class="cline-any cline-neutral">&nbsp;</span>
190
- <span class="cline-any cline-yes">1x</span>
191
+ <span class="cline-any cline-yes">2x</span>
191
192
  <span class="cline-any cline-no">&nbsp;</span>
192
193
  <span class="cline-any cline-no">&nbsp;</span>
193
194
  <span class="cline-any cline-no">&nbsp;</span>
@@ -201,36 +202,37 @@
201
202
  <span class="cline-any cline-neutral">&nbsp;</span>
202
203
  <span class="cline-any cline-neutral">&nbsp;</span>
203
204
  <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-yes">1x</span>
205
+ <span class="cline-any cline-yes">2x</span>
205
206
  <span class="cline-any cline-neutral">&nbsp;</span>
206
207
  <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-yes">39x</span>
208
- <span class="cline-any cline-yes">19x</span>
209
- <span class="cline-any cline-yes">19x</span>
208
+ <span class="cline-any cline-yes">40x</span>
209
+ <span class="cline-any cline-yes">20x</span>
210
+ <span class="cline-any cline-yes">20x</span>
210
211
  <span class="cline-any cline-neutral">&nbsp;</span>
211
212
  <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-yes">39x</span>
213
- <span class="cline-any cline-yes">101x</span>
214
- <span class="cline-any cline-yes">101x</span>
215
- <span class="cline-any cline-yes">101x</span>
216
- <span class="cline-any cline-yes">101x</span>
217
- <span class="cline-any cline-yes">101x</span>
218
- <span class="cline-any cline-yes">101x</span>
213
+ <span class="cline-any cline-yes">40x</span>
214
+ <span class="cline-any cline-yes">106x</span>
215
+ <span class="cline-any cline-yes">106x</span>
216
+ <span class="cline-any cline-yes">106x</span>
217
+ <span class="cline-any cline-yes">106x</span>
218
+ <span class="cline-any cline-yes">106x</span>
219
+ <span class="cline-any cline-yes">106x</span>
219
220
  <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-yes">101x</span>
221
+ <span class="cline-any cline-yes">106x</span>
221
222
  <span class="cline-any cline-neutral">&nbsp;</span>
222
223
  <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-yes">39x</span>
224
- <span class="cline-any cline-yes">2x</span>
225
- <span class="cline-any cline-yes">2x</span>
226
- <span class="cline-any cline-yes">2x</span>
227
- <span class="cline-any cline-yes">2x</span>
224
+ <span class="cline-any cline-yes">40x</span>
225
+ <span class="cline-any cline-yes">3x</span>
226
+ <span class="cline-any cline-yes">3x</span>
227
+ <span class="cline-any cline-yes">3x</span>
228
+ <span class="cline-any cline-yes">3x</span>
228
229
  <span class="cline-any cline-neutral">&nbsp;</span>
229
- <span class="cline-any cline-yes">2x</span>
230
- <span class="cline-any cline-yes">2x</span>
230
+ <span class="cline-any cline-yes">3x</span>
231
+ <span class="cline-any cline-yes">3x</span>
232
+ <span class="cline-any cline-yes">3x</span>
231
233
  <span class="cline-any cline-neutral">&nbsp;</span>
232
234
  <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-yes">39x</span>
235
+ <span class="cline-any cline-yes">40x</span>
234
236
  <span class="cline-any cline-no">&nbsp;</span>
235
237
  <span class="cline-any cline-no">&nbsp;</span>
236
238
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -240,7 +242,7 @@
240
242
  <span class="cline-any cline-no">&nbsp;</span>
241
243
  <span class="cline-any cline-neutral">&nbsp;</span>
242
244
  <span class="cline-any cline-neutral">&nbsp;</span>
243
- <span class="cline-any cline-yes">39x</span>
245
+ <span class="cline-any cline-yes">40x</span>
244
246
  <span class="cline-any cline-neutral">&nbsp;</span>
245
247
  <span class="cline-any cline-yes">1x</span>
246
248
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -303,7 +305,7 @@ exports.fetch = async function (ctx) {
303
305
  }
304
306
  &nbsp;
305
307
  exports.find = async function (ctx) {
306
- const tableId = ctx.params.id
308
+ const tableId = ctx.params.tableId
307
309
  ctx.body = await getTable(tableId)
308
310
  }
309
311
  &nbsp;
@@ -325,6 +327,7 @@ exports.destroy = async function (ctx) {
325
327
  ctx.eventEmitter &amp;&amp;
326
328
  ctx.eventEmitter.emitTable(`table:delete`, appId, deletedTable)
327
329
  ctx.status = 200
330
+ ctx.table = deletedTable
328
331
  ctx.body = { message: `Table ${tableId} deleted.` }
329
332
  }
330
333
  &nbsp;
@@ -358,7 +361,7 @@ exports.validateCSVSchema = async function (ctx) {
358
361
  <div class='footer quiet pad2 space-top1 center small'>
359
362
  Code coverage generated by
360
363
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
361
- at Tue Mar 08 2022 08:50:56 GMT+0000 (Coordinated Universal Time)
364
+ at Tue Mar 08 2022 15:58:36 GMT+0000 (Coordinated Universal Time)
362
365
  </div>
363
366
  </div>
364
367
  <script src="../../../prettify.js"></script>