@skillswaveca/nova-shared-libraries 3.5.0 → 3.5.5

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 (740) hide show
  1. package/.github/workflows/release.yml +30 -1
  2. package/.release-it.json +5 -10
  3. package/.releaserc.json +7 -2
  4. package/docs-base/package-info.js +4 -4
  5. package/package.json +2 -1
  6. package/packages/drivers/package.json +2 -2
  7. package/packages/nova-middleware/package.json +2 -2
  8. package/packages/nova-model/package.json +2 -2
  9. package/packages/nova-utils/package.json +2 -2
  10. package/scripts/update-versions.js +54 -0
  11. package/CHANGELOG.md +0 -86
  12. package/docs/accelerator-7PKwHj6p.js +0 -7
  13. package/docs/accelerator-CTGFUnJj.js +0 -7
  14. package/docs/access-special-BRCQ6BOA.js +0 -7
  15. package/docs/accessibility-check-DDEnCM3T.js +0 -7
  16. package/docs/add-CC95oWZj.js +0 -7
  17. package/docs/add-Dok7V7iV.js +0 -7
  18. package/docs/add-file-CDcwFmxE.js +0 -9
  19. package/docs/add-file-DSIehH-a.js +0 -8
  20. package/docs/add-message-C2J88NtD.js +0 -8
  21. package/docs/add-message-C74U_c_a.js +0 -8
  22. package/docs/add-to-lor-Cx3ALzs6.js +0 -10
  23. package/docs/add-to-lor-mWdPFUuq.js +0 -10
  24. package/docs/add-user-7oZmllZp.js +0 -8
  25. package/docs/add-user-Ct61dWhf.js +0 -8
  26. package/docs/ai-CXRsBcvO.js +0 -7
  27. package/docs/ai-D1Iq7PBt.js +0 -9
  28. package/docs/ai-DvFNdjTJ.js +0 -7
  29. package/docs/alarmbell-BptBR2Jr.js +0 -7
  30. package/docs/alarmbell-CB5dhFiR.js +0 -7
  31. package/docs/alert-DlHwdVP6.js +0 -7
  32. package/docs/alert-V7mrtHbK.js +0 -9
  33. package/docs/alert-p0Ge30rc.js +0 -8
  34. package/docs/align-center--wiBdBfZ.js +0 -7
  35. package/docs/align-full-BfwFgwgv.js +0 -7
  36. package/docs/align-left-DaZbAxVg.js +0 -7
  37. package/docs/align-right-DJm8Hnyk.js +0 -7
  38. package/docs/angry-CLkqqzeH.js +0 -7
  39. package/docs/arrow-collapse-CKVijIdk.js +0 -7
  40. package/docs/arrow-collapse-DgaM5Q7K.js +0 -7
  41. package/docs/arrow-collapse-small-BfTzkoWL.js +0 -7
  42. package/docs/arrow-expand-Bk1J3lIZ.js +0 -7
  43. package/docs/arrow-expand-small-B7KVZXkf.js +0 -7
  44. package/docs/arrow-thin-down-ClfvHk99.js +0 -7
  45. package/docs/arrow-thin-left-D0lmhbm9.js +0 -7
  46. package/docs/arrow-thin-right-CZH1S-Ev.js +0 -7
  47. package/docs/arrow-thin-up-kbf0Hayy.js +0 -7
  48. package/docs/arrow-toggle-down-CWSCkUi8.js +0 -7
  49. package/docs/arrow-toggle-up-sUgzJAuI.js +0 -7
  50. package/docs/assignments-BpNN8uRi.js +0 -9
  51. package/docs/assignments-BwrFNhJf.js +0 -14
  52. package/docs/assignments-DJuzE5TS.js +0 -8
  53. package/docs/attach-CxYJqjr7.js +0 -8
  54. package/docs/attach-DoURgNqH.js +0 -7
  55. package/docs/attendance-Bh8NDNxG.js +0 -7
  56. package/docs/attendance-CKrWYCoi.js +0 -8
  57. package/docs/awards-08R3caDo.js +0 -7
  58. package/docs/awards-CGFZ1AmF.js +0 -7
  59. package/docs/binder-DqjAKrO6.js +0 -7
  60. package/docs/binder-sPoCLPbv.js +0 -9
  61. package/docs/blocked-BqqEqoxS.js +0 -7
  62. package/docs/blocked-CdL2qnqB.js +0 -7
  63. package/docs/blog-EWWLpv3J.js +0 -11
  64. package/docs/blog-mImHk1UE.js +0 -11
  65. package/docs/bold-DvEMGUJQ.js +0 -7
  66. package/docs/book-management-BycZ58Mx.js +0 -8
  67. package/docs/book-management-C5EVLmWE.js +0 -7
  68. package/docs/bookmark-ZSLGVyMZ.js +0 -8
  69. package/docs/bookmark-filled-By-e1Vik.js +0 -7
  70. package/docs/bookmark-filled-C5_hpJmC.js +0 -7
  71. package/docs/bookmark-hollow-BERVrtPe.js +0 -7
  72. package/docs/bookmark-hollow-DmYIKVj-.js +0 -7
  73. package/docs/broken-link-0mE-24kB.js +0 -7
  74. package/docs/broken-link-B0FAWC4d.js +0 -7
  75. package/docs/browser-Bkf2Pqxa.js +0 -11
  76. package/docs/browser-DDKpAnFL.js +0 -7
  77. package/docs/bullet-WEelL-Oz.js +0 -7
  78. package/docs/bullseye-BGaOsg34.js +0 -9
  79. package/docs/bullseye-BI26Yr2r.js +0 -11
  80. package/docs/bullseye-D8leZHHy.js +0 -10
  81. package/docs/calculate-7BO4aJsc.js +0 -7
  82. package/docs/calculate-C1k19iEm.js +0 -17
  83. package/docs/calendar-10jvL2iw.js +0 -7
  84. package/docs/calendar-CAOKFxG8.js +0 -7
  85. package/docs/calendar-N5k43N09.js +0 -7
  86. package/docs/capture-BXEbu8tr.js +0 -7
  87. package/docs/change-file-3zLEwSjU.js +0 -10
  88. package/docs/change-file-CVDVitRF.js +0 -10
  89. package/docs/chat-BLpVloRi.js +0 -7
  90. package/docs/chat-CJvurd17.js +0 -7
  91. package/docs/chat-DkYoPSJD.js +0 -7
  92. package/docs/check-6yKqAXn0.js +0 -7
  93. package/docs/check-BDGGpjpw.js +0 -7
  94. package/docs/check-box-COb-iQnp.js +0 -8
  95. package/docs/check-box-unchecked-CihNEcBY.js +0 -7
  96. package/docs/check-circle-BHCbtC9e.js +0 -8
  97. package/docs/check-circle-CcqlS16f.js +0 -7
  98. package/docs/check-circle-D-88S9HE.js +0 -8
  99. package/docs/check-manual-D118hJse.js +0 -10
  100. package/docs/check-user-CzXE-sqy.js +0 -9
  101. package/docs/checklist-D3dcWqlj.js +0 -12
  102. package/docs/checklist-VRzqF3Cn.js +0 -7
  103. package/docs/chevron-down-CmgQXzCG.js +0 -7
  104. package/docs/chevron-down-NDFaTQA4.js +0 -7
  105. package/docs/chevron-down-eOc83-I6.js +0 -7
  106. package/docs/chevron-down-medium-ZHL8V0yD.js +0 -7
  107. package/docs/chevron-down-small-Cxu3u8oN.js +0 -7
  108. package/docs/chevron-left-CTXSr5gY.js +0 -7
  109. package/docs/chevron-left-DGHEARqj.js +0 -7
  110. package/docs/chevron-left-Dv2XEN1W.js +0 -7
  111. package/docs/chevron-left-circle-DC2ldsYl.js +0 -8
  112. package/docs/chevron-right-DyJ0vK9x.js +0 -7
  113. package/docs/chevron-right-X9aw5FQZ.js +0 -7
  114. package/docs/chevron-right-circle-CfufyneZ.js +0 -8
  115. package/docs/chevron-right-dtXLd_t_.js +0 -7
  116. package/docs/chevron-up-BLvFJkrs.js +0 -7
  117. package/docs/chevron-up-CBgDUU-S.js +0 -7
  118. package/docs/chevron-up-Cz4arn0k.js +0 -7
  119. package/docs/class-MfNPJCE3.js +0 -7
  120. package/docs/classes-BrimJoaQ.js +0 -7
  121. package/docs/classes-DNZeYwP9.js +0 -7
  122. package/docs/classlist-CT7aR3Qp.js +0 -9
  123. package/docs/classlist-lNAGMMK9.js +0 -7
  124. package/docs/close-DZhoaKqc.js +0 -7
  125. package/docs/close-circle-BUNfgKRi.js +0 -8
  126. package/docs/close-default-dnnWtHBx.js +0 -7
  127. package/docs/close-large-bMM1w3Qq.js +0 -7
  128. package/docs/close-large-thick-CIk4u_x5.js +0 -7
  129. package/docs/close-small-BM6jWA00.js +0 -7
  130. package/docs/close-thick-CSMgayuW.js +0 -7
  131. package/docs/comment-filled-BIwNhQOh.js +0 -7
  132. package/docs/comment-hollow-BuEIRoVu.js +0 -7
  133. package/docs/contacts-0c5Ejeie.js +0 -8
  134. package/docs/contacts-0p7GRork.js +0 -9
  135. package/docs/content-BkmZJI2k.js +0 -10
  136. package/docs/copy-ByxRV0Fv.js +0 -9
  137. package/docs/copy-C0jJBW8t.js +0 -8
  138. package/docs/copy-CrrPol58.js +0 -9
  139. package/docs/course-B7-GuqH0.js +0 -9
  140. package/docs/course-progress-complete-D-88S9HE.js +0 -8
  141. package/docs/course-progress-in-progress-CMNxGcwl.js +0 -7
  142. package/docs/course-progress-not-started-CZkienJ8.js +0 -7
  143. package/docs/course-tile-sort-DBH3sD6Y.js +0 -7
  144. package/docs/course-tile-sort-LVnGtfEg.js +0 -7
  145. package/docs/coursebuilder-CksHR_dY.js +0 -7
  146. package/docs/coursebuilder-mK3UOKAz.js +0 -7
  147. package/docs/cut-BSxIDiPd.js +0 -7
  148. package/docs/delete-XUr3hb61.js +0 -8
  149. package/docs/delete-n_0tMiML.js +0 -7
  150. package/docs/direction-ltr-DOOIOEMV.js +0 -7
  151. package/docs/direction-rtl-Zq209crM.js +0 -7
  152. package/docs/disable-CfhAdhZ4.js +0 -8
  153. package/docs/discussions-BV-rVYTJ.js +0 -8
  154. package/docs/discussions-DcjKXpsJ.js +0 -8
  155. package/docs/discussions-FfXuJJ0A.js +0 -8
  156. package/docs/divider-DYcReEjI.js +0 -12
  157. package/docs/divider-big-CNFI3Pvd.js +0 -11
  158. package/docs/divider-solid-BwFmdIq7.js +0 -7
  159. package/docs/dot-GOmm6Bys.js +0 -7
  160. package/docs/dot-THJbh2QW.js +0 -7
  161. package/docs/download-B8F8Cdcb.js +0 -8
  162. package/docs/download-D0w9z3Z3.js +0 -8
  163. package/docs/download-SHKxw6bp.js +0 -8
  164. package/docs/draft-mP5du8rd.js +0 -9
  165. package/docs/draft-vZl_0H-L.js +0 -8
  166. package/docs/dragger-aZ6zsEfR.js +0 -7
  167. package/docs/drivers/assets/anchor.js +0 -350
  168. package/docs/drivers/assets/bass-addons.css +0 -12
  169. package/docs/drivers/assets/bass.css +0 -544
  170. package/docs/drivers/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
  171. package/docs/drivers/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
  172. package/docs/drivers/assets/fonts/LICENSE.txt +0 -93
  173. package/docs/drivers/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
  174. package/docs/drivers/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
  175. package/docs/drivers/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
  176. package/docs/drivers/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
  177. package/docs/drivers/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
  178. package/docs/drivers/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
  179. package/docs/drivers/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
  180. package/docs/drivers/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
  181. package/docs/drivers/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
  182. package/docs/drivers/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
  183. package/docs/drivers/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
  184. package/docs/drivers/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
  185. package/docs/drivers/assets/fonts/source-code-pro.css +0 -23
  186. package/docs/drivers/assets/github.css +0 -123
  187. package/docs/drivers/assets/site.js +0 -168
  188. package/docs/drivers/assets/split.css +0 -15
  189. package/docs/drivers/assets/split.js +0 -782
  190. package/docs/drivers/assets/style.css +0 -147
  191. package/docs/drivers/index.html +0 -6180
  192. package/docs/edit-XTluWOyY.js +0 -7
  193. package/docs/edit-bulk-CbUTb41B.js +0 -7
  194. package/docs/edit-not-editable-BtNDjkNt.js +0 -9
  195. package/docs/edit-rtSBrFnZ.js +0 -7
  196. package/docs/email-B77IV5dc.js +0 -8
  197. package/docs/email-DShyqmyr.js +0 -7
  198. package/docs/email-Dr_fUQo7.js +0 -7
  199. package/docs/email-open-CNPI-nbt.js +0 -9
  200. package/docs/email-open-sMmv4goK.js +0 -8
  201. package/docs/email-read-D4PMZMhZ.js +0 -8
  202. package/docs/enable-BXJKKu9V.js +0 -8
  203. package/docs/enrollment-D_f33z-t.js +0 -7
  204. package/docs/eportfolio-CmIoQSs-.js +0 -7
  205. package/docs/eportfolio-DiR128Ch.js +0 -8
  206. package/docs/equation-graphical-DEK4DR0o.js +0 -7
  207. package/docs/equation-graphical-chemistry-deGj_Wo1.js +0 -7
  208. package/docs/equation-latex-OwF3WKZs.js +0 -7
  209. package/docs/equation-mathml-BVFy7F04.js +0 -8
  210. package/docs/evaluate-all-D8Ed6wUQ.js +0 -15
  211. package/docs/evaluate-all-DRA08hvM.js +0 -13
  212. package/docs/event-log-BBnLruqh.js +0 -7
  213. package/docs/exemption-add-CuNjn-gE.js +0 -8
  214. package/docs/exemption-remove-C6gurfls.js +0 -10
  215. package/docs/export-B00I40zU.js +0 -8
  216. package/docs/export-C_qczGjD.js +0 -8
  217. package/docs/external-CGUtobc0.js +0 -6
  218. package/docs/external-D14KafxI.js +0 -9
  219. package/docs/external-XLH4ZIpG.js +0 -9
  220. package/docs/feed-CpSir1Op.js +0 -7
  221. package/docs/feed-Dp9gnfxV.js +0 -12
  222. package/docs/feedback-CYkdDNHj.js +0 -7
  223. package/docs/feedback-zuS0X61K.js +0 -7
  224. package/docs/file-archive-BqyAeRx6.js +0 -14
  225. package/docs/file-archive-aUsV28fR.js +0 -14
  226. package/docs/file-audio-C0gLVZ1J.js +0 -7
  227. package/docs/file-audio-DlPChJJD.js +0 -7
  228. package/docs/file-audio-Ez8GKNqD.js +0 -8
  229. package/docs/file-document-OV_yiZc9.js +0 -7
  230. package/docs/file-document-PtERBBjG.js +0 -9
  231. package/docs/file-document-RAyDjBV0.js +0 -9
  232. package/docs/file-image-2kUlJRfa.js +0 -7
  233. package/docs/file-image-DEvp4loc.js +0 -8
  234. package/docs/file-presentation-DnSQf6dJ.js +0 -10
  235. package/docs/file-presentation-Dvm4dJkX.js +0 -11
  236. package/docs/file-presentation-DynwRY3d.js +0 -7
  237. package/docs/file-video-Baynsug6.js +0 -8
  238. package/docs/file-video-DubiL6Pa.js +0 -7
  239. package/docs/file-video-Dz0Xv-nt.js +0 -8
  240. package/docs/filter-BXmy_W6Z.js +0 -7
  241. package/docs/filter-CjP2TU9o.js +0 -11
  242. package/docs/flag-fill-Bon2nRGs.js +0 -7
  243. package/docs/flag-filled-B0f2EsXm.js +0 -7
  244. package/docs/flag-hollow-CaU1iNOl.js +0 -7
  245. package/docs/flag-hollow-DfEoHVNP.js +0 -7
  246. package/docs/folder-D4EQiKEf.js +0 -7
  247. package/docs/folder-DjGOP9kC.js +0 -7
  248. package/docs/folder-up-level-CmUITqEa.js +0 -8
  249. package/docs/forms-BzBisiyk.js +0 -8
  250. package/docs/forms-QmRSltZO.js +0 -7
  251. package/docs/forward-B7OsyI-4.js +0 -8
  252. package/docs/fullscreen-DW5UhnuF.js +0 -8
  253. package/docs/fullscreen-Dos-vYUL.js +0 -7
  254. package/docs/game-BPXtsa4R.js +0 -12
  255. package/docs/game-CAeZpf2P.js +0 -12
  256. package/docs/game-CJBm4W_4.js +0 -6
  257. package/docs/gear-BXgew4r5.js +0 -8
  258. package/docs/gear-BefUgJUH.js +0 -8
  259. package/docs/gear-Dozogx0s.js +0 -7
  260. package/docs/glossary-BYZOnXFD.js +0 -10
  261. package/docs/glossary-pJwGMnFw.js +0 -7
  262. package/docs/google-drive-BY7aNeo4.js +0 -7
  263. package/docs/google-drive-C2K-Q1Sz.js +0 -7
  264. package/docs/google-drive-UaaDdmWX.js +0 -7
  265. package/docs/grabber-DDfgK4q3.js +0 -7
  266. package/docs/grabber-small--2Gc1-LB.js +0 -7
  267. package/docs/grade-BG_E-8NT.js +0 -8
  268. package/docs/grade-D2MISbK9.js +0 -7
  269. package/docs/grade-NOWaSTNa.js +0 -8
  270. package/docs/grade-remove-Ph1Izm-7.js +0 -8
  271. package/docs/grade-visible-CDb-9-br.js +0 -7
  272. package/docs/group-DtqVtMH3.js +0 -8
  273. package/docs/group-locker-ftiR0a03.js +0 -7
  274. package/docs/happy-LeP0nGOv.js +0 -7
  275. package/docs/help-CkV4Dp7d.js +0 -9
  276. package/docs/help-Dxodc931.js +0 -9
  277. package/docs/help-FOiT3jKO.js +0 -7
  278. package/docs/history-DARTknKW.js +0 -8
  279. package/docs/history-rho7wY5T.js +0 -8
  280. package/docs/home-BE2SQvvs.js +0 -7
  281. package/docs/home-D_tSkasl.js +0 -8
  282. package/docs/home-DbQqnxwO.js +0 -7
  283. package/docs/image-BCnN94lf.js +0 -9
  284. package/docs/image-Dmy_y4Fd.js +0 -8
  285. package/docs/import-D_Njyhb9.js +0 -8
  286. package/docs/import-YfiMqwWh.js +0 -8
  287. package/docs/important-2qm6frSZ.js +0 -9
  288. package/docs/indent-decrease-CQm4KxII.js +0 -7
  289. package/docs/indent-increase-BO1QVrc8.js +0 -7
  290. package/docs/index.html +0 -1
  291. package/docs/inline-module-index-0.js +0 -9551
  292. package/docs/insert-attributes-B4iHYS-t.js +0 -8
  293. package/docs/insert-emoticon-BC9tKUjH.js +0 -11
  294. package/docs/insights-portal-Cm3Wea4M.js +0 -10
  295. package/docs/insights-portal-Depbhlwj.js +0 -8
  296. package/docs/italic-AhBNAWI0.js +0 -7
  297. package/docs/link-BgD3fOWi.js +0 -8
  298. package/docs/link-CPDrunkx.js +0 -7
  299. package/docs/link-CmNVOd0t.js +0 -7
  300. package/docs/list-bullet-CyrIsY33.js +0 -11
  301. package/docs/list-ordered-BnmtMuSC.js +0 -7
  302. package/docs/list-view-EI9pvwuC.js +0 -11
  303. package/docs/location-CzWLCAQ8.js +0 -7
  304. package/docs/location-DcnFhfnk.js +0 -10
  305. package/docs/locations-B9k1Fx7T.js +0 -13
  306. package/docs/locations-CSxT0wIK.js +0 -7
  307. package/docs/lock-BWzWh9B7.js +0 -8
  308. package/docs/lock-E8wu8HD6.js +0 -8
  309. package/docs/lock-locked-D5lyHWqQ.js +0 -7
  310. package/docs/lock-unlock-WCjSz1i-.js +0 -7
  311. package/docs/lock-unlocked-CAJCLSet.js +0 -8
  312. package/docs/lock-unlocked-DExBKORh.js +0 -8
  313. package/docs/locker-B10MJtSA.js +0 -7
  314. package/docs/locker-Cqcf7p8D.js +0 -10
  315. package/docs/lol-D_JxRmpk.js +0 -7
  316. package/docs/lor-LgltaGp1.js +0 -7
  317. package/docs/lor-NF8M-dTl.js +0 -7
  318. package/docs/low-priority-CYw20_i6.js +0 -9
  319. package/docs/manage-dates-7pdHHIpP.js +0 -8
  320. package/docs/manage-dates-BvldV3qd.js +0 -10
  321. package/docs/manage-dates-edit-BL7TE5Ca.js +0 -7
  322. package/docs/manage-dates-offset-C36mTMRI.js +0 -8
  323. package/docs/manage-files-CztcMg2T.js +0 -8
  324. package/docs/manage-files-DjhMboB5.js +0 -8
  325. package/docs/manual-run-mkeXX4ZT.js +0 -8
  326. package/docs/media-BIt0cvtO.js +0 -8
  327. package/docs/media-BP3ScDqX.js +0 -7
  328. package/docs/meh-VZVAbZG3.js +0 -7
  329. package/docs/menu-Bax-k1Yb.js +0 -9
  330. package/docs/menu-hamburger-C2vj4eRY.js +0 -7
  331. package/docs/menu-hamburger-DjawJZYW.js +0 -7
  332. package/docs/menu-hamburger-JIneUuO7.js +0 -7
  333. package/docs/merge-9psevQT-.js +0 -11
  334. package/docs/message-new-C2a9sicZ.js +0 -8
  335. package/docs/messages-BfrTLnON.js +0 -12
  336. package/docs/messages-BlNvFjBH.js +0 -7
  337. package/docs/mic-B_QU0QmO.js +0 -8
  338. package/docs/mic-Dq5WbNIP.js +0 -8
  339. package/docs/mobile-DqC65aN6.js +0 -6
  340. package/docs/more-CfLcaduh.js +0 -7
  341. package/docs/move-down-D9PWLWhn.js +0 -7
  342. package/docs/move-down-DNE-3gT2.js +0 -8
  343. package/docs/move-to-Bt5a4Jcj.js +0 -8
  344. package/docs/move-to-CmhSXqJ1.js +0 -8
  345. package/docs/move-up-BaS-oCU5.js +0 -7
  346. package/docs/move-up-ByeMSeVd.js +0 -8
  347. package/docs/my-computer-DTsn7C9t.js +0 -8
  348. package/docs/navigate-BUpXfdU3.js +0 -8
  349. package/docs/navigate-D1BhWZtz.js +0 -11
  350. package/docs/new-line-8f0I71Mh.js +0 -7
  351. package/docs/new-window-B5Ln_cc3.js +0 -8
  352. package/docs/news-C1mrMSqE.js +0 -7
  353. package/docs/news-DlE9A-vs.js +0 -9
  354. package/docs/news-NiNcL5vl.js +0 -8
  355. package/docs/no-entry-C3dnCBCI.js +0 -8
  356. package/docs/notification-bell-D_RdfZKS.js +0 -9
  357. package/docs/nova-middleware/assets/anchor.js +0 -350
  358. package/docs/nova-middleware/assets/bass-addons.css +0 -12
  359. package/docs/nova-middleware/assets/bass.css +0 -544
  360. package/docs/nova-middleware/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
  361. package/docs/nova-middleware/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
  362. package/docs/nova-middleware/assets/fonts/LICENSE.txt +0 -93
  363. package/docs/nova-middleware/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
  364. package/docs/nova-middleware/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
  365. package/docs/nova-middleware/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
  366. package/docs/nova-middleware/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
  367. package/docs/nova-middleware/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
  368. package/docs/nova-middleware/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
  369. package/docs/nova-middleware/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
  370. package/docs/nova-middleware/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
  371. package/docs/nova-middleware/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
  372. package/docs/nova-middleware/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
  373. package/docs/nova-middleware/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
  374. package/docs/nova-middleware/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
  375. package/docs/nova-middleware/assets/fonts/source-code-pro.css +0 -23
  376. package/docs/nova-middleware/assets/github.css +0 -123
  377. package/docs/nova-middleware/assets/site.js +0 -168
  378. package/docs/nova-middleware/assets/split.css +0 -15
  379. package/docs/nova-middleware/assets/split.js +0 -782
  380. package/docs/nova-middleware/assets/style.css +0 -147
  381. package/docs/nova-middleware/index.html +0 -406
  382. package/docs/nova-model/assets/anchor.js +0 -350
  383. package/docs/nova-model/assets/bass-addons.css +0 -12
  384. package/docs/nova-model/assets/bass.css +0 -544
  385. package/docs/nova-model/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
  386. package/docs/nova-model/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
  387. package/docs/nova-model/assets/fonts/LICENSE.txt +0 -93
  388. package/docs/nova-model/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
  389. package/docs/nova-model/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
  390. package/docs/nova-model/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
  391. package/docs/nova-model/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
  392. package/docs/nova-model/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
  393. package/docs/nova-model/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
  394. package/docs/nova-model/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
  395. package/docs/nova-model/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
  396. package/docs/nova-model/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
  397. package/docs/nova-model/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
  398. package/docs/nova-model/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
  399. package/docs/nova-model/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
  400. package/docs/nova-model/assets/fonts/source-code-pro.css +0 -23
  401. package/docs/nova-model/assets/github.css +0 -123
  402. package/docs/nova-model/assets/site.js +0 -168
  403. package/docs/nova-model/assets/split.css +0 -15
  404. package/docs/nova-model/assets/split.js +0 -782
  405. package/docs/nova-model/assets/style.css +0 -147
  406. package/docs/nova-model/index.html +0 -3244
  407. package/docs/nova-utils/assets/anchor.js +0 -350
  408. package/docs/nova-utils/assets/bass-addons.css +0 -12
  409. package/docs/nova-utils/assets/bass.css +0 -544
  410. package/docs/nova-utils/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
  411. package/docs/nova-utils/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
  412. package/docs/nova-utils/assets/fonts/LICENSE.txt +0 -93
  413. package/docs/nova-utils/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
  414. package/docs/nova-utils/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
  415. package/docs/nova-utils/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
  416. package/docs/nova-utils/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
  417. package/docs/nova-utils/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
  418. package/docs/nova-utils/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
  419. package/docs/nova-utils/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
  420. package/docs/nova-utils/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
  421. package/docs/nova-utils/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
  422. package/docs/nova-utils/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
  423. package/docs/nova-utils/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
  424. package/docs/nova-utils/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
  425. package/docs/nova-utils/assets/fonts/source-code-pro.css +0 -23
  426. package/docs/nova-utils/assets/github.css +0 -123
  427. package/docs/nova-utils/assets/site.js +0 -168
  428. package/docs/nova-utils/assets/split.css +0 -15
  429. package/docs/nova-utils/assets/split.js +0 -782
  430. package/docs/nova-utils/assets/style.css +0 -147
  431. package/docs/nova-utils/index.html +0 -986
  432. package/docs/one-drive-B17qEGg3.js +0 -10
  433. package/docs/one-drive-DJkLjiFC.js +0 -6
  434. package/docs/online-C94s_rb_.js +0 -10
  435. package/docs/online-D-ZCoHHm.js +0 -9
  436. package/docs/online-rooms-1mVK1aGi.js +0 -7
  437. package/docs/online-rooms-CDdAm2UO.js +0 -9
  438. package/docs/outcomes-BBf-Ha_8.js +0 -7
  439. package/docs/outcomes-C0izuLnk.js +0 -7
  440. package/docs/password-DLPNSwzE.js +0 -7
  441. package/docs/password-Dh7gVC6R.js +0 -7
  442. package/docs/paste-B-PIibRN.js +0 -7
  443. package/docs/pause-ClttiH9R.js +0 -9
  444. package/docs/pause-CytomPFa.js +0 -7
  445. package/docs/pause-borderless-BI_BVCJy.js +0 -8
  446. package/docs/pic-C5FMoERH.js +0 -7
  447. package/docs/pic-CfSFIefC.js +0 -8
  448. package/docs/pic-Dmy_y4Fd.js +0 -8
  449. package/docs/pin-filled-CXkRNZ5O.js +0 -7
  450. package/docs/pin-filled-w3eah_ZK.js +0 -7
  451. package/docs/pin-hollow-DEWfTASy.js +0 -7
  452. package/docs/pin-hollow-DVbwzH1M.js +0 -7
  453. package/docs/play-DMAGMc2B.js +0 -8
  454. package/docs/play-DbZdG7Gq.js +0 -7
  455. package/docs/play-borderless-DqQ17-YW.js +0 -7
  456. package/docs/plus-default-DHk06f01.js +0 -7
  457. package/docs/plus-large-DfxPCCrT.js +0 -7
  458. package/docs/plus-large-thick-gmHCMimx.js +0 -7
  459. package/docs/preview-BgaRQpP1.js +0 -9
  460. package/docs/preview-DiNoAoRq.js +0 -9
  461. package/docs/preview-DucwBKG_.js +0 -8
  462. package/docs/print-YZ-X09iP.js +0 -7
  463. package/docs/print-p1KbTvQ3.js +0 -8
  464. package/docs/profile-default-CR9VzwIc.js +0 -7
  465. package/docs/profile-default-CrRCaKe0.js +0 -7
  466. package/docs/profile-default-DjZMHiLd.js +0 -7
  467. package/docs/profile-pic-B1r87rnD.js +0 -8
  468. package/docs/profile-pic-FXAOU2-x.js +0 -7
  469. package/docs/profile-pic-WGNyfyzw.js +0 -7
  470. package/docs/project-BmdrPymq.js +0 -9
  471. package/docs/publish-all-C91CIIOg.js +0 -9
  472. package/docs/publish-all-CgPj17Qp.js +0 -9
  473. package/docs/publish-to-lor-BzzkuSPc.js +0 -8
  474. package/docs/publish-to-lor-NqvGf8fs.js +0 -10
  475. package/docs/quicklink-C5CDhyK0.js +0 -6
  476. package/docs/quicklink-DpoklXCh.js +0 -7
  477. package/docs/quiz-submissions-BAMFpmlt.js +0 -12
  478. package/docs/quizzing-B5p4bkL1.js +0 -7
  479. package/docs/quizzing-Bn5KKwty.js +0 -17
  480. package/docs/quizzing-ZT1VsQDi.js +0 -10
  481. package/docs/read-DhyDmmkk.js +0 -7
  482. package/docs/read-DzsAK1Gp.js +0 -7
  483. package/docs/read-unread-BaKkzPgA.js +0 -7
  484. package/docs/read-unread-ayEnU2WS.js +0 -7
  485. package/docs/reading-V8BekXyi.js +0 -9
  486. package/docs/reading-Z7La5_yK.js +0 -7
  487. package/docs/redo-DqrjRBg2.js +0 -7
  488. package/docs/reflection-Bx089gqz.js +0 -10
  489. package/docs/reflection-CWFEnLpT.js +0 -10
  490. package/docs/refresh-CLDK3svm.js +0 -7
  491. package/docs/refresh-DAtZSM_N.js +0 -7
  492. package/docs/release-conditions-BXxl9Dlf.js +0 -7
  493. package/docs/release-conditions-OLqc9pTg.js +0 -7
  494. package/docs/remove-user-B26LnqCu.js +0 -10
  495. package/docs/remove-user-DNXiNHBs.js +0 -10
  496. package/docs/reorder-BIFjdLxG.js +0 -7
  497. package/docs/reorder-Y4_r1Ayt.js +0 -7
  498. package/docs/repeat-JHaa8nfm.js +0 -7
  499. package/docs/replied-D2ix7Rk6.js +0 -8
  500. package/docs/reply-BqzsKC85.js +0 -7
  501. package/docs/reply-CKQu6lmN.js +0 -8
  502. package/docs/reply-all-g5VAmAX4.js +0 -8
  503. package/docs/reporting-ChEapxxJ.js +0 -9
  504. package/docs/reporting-D3LvXPru.js +0 -7
  505. package/docs/reports-Beth_W4X.js +0 -12
  506. package/docs/resize-left-GFaUaulC.js +0 -7
  507. package/docs/resize-right-DT6LaX2w.js +0 -7
  508. package/docs/reverse-order-aSt4RUV4.js +0 -7
  509. package/docs/role-switch-DLSQpVpI.js +0 -7
  510. package/docs/rss-4WhjKoVd.js +0 -7
  511. package/docs/rss-Bkw2Vu26.js +0 -9
  512. package/docs/rubric-C7Bvkdy8.js +0 -7
  513. package/docs/rubric-DCEXGTtW.js +0 -7
  514. package/docs/rubric-graded-DRJ7bKvJ.js +0 -13
  515. package/docs/rubric-graded-UxgPY7mA.js +0 -8
  516. package/docs/rubrics-CbER8LnL.js +0 -7
  517. package/docs/sad-BoDjvLIi.js +0 -7
  518. package/docs/save-C6Wm6dlX.js +0 -7
  519. package/docs/save-jMj_12iN.js +0 -8
  520. package/docs/scorm-BEMJkg_y.js +0 -6
  521. package/docs/scorm-DSQ_wzsf.js +0 -7
  522. package/docs/scorm-DwyYD2cQ.js +0 -7
  523. package/docs/search-Ba4VfUac.js +0 -8
  524. package/docs/search-CcFHrjV6.js +0 -7
  525. package/docs/search-Cg93dHlN.js +0 -7
  526. package/docs/seating-CenUmq00.js +0 -7
  527. package/docs/seating-Diwp3OZ0.js +0 -7
  528. package/docs/self-assessment-DtdsDcKC.js +0 -7
  529. package/docs/self-assessment-YnMgOzTH.js +0 -10
  530. package/docs/send-WLvWpVV4.js +0 -7
  531. package/docs/send-kamyQxgU.js +0 -7
  532. package/docs/share-DGresL3N.js +0 -7
  533. package/docs/share-MaE8kOCt.js +0 -8
  534. package/docs/share-hollow-CfuLT6Gb.js +0 -7
  535. package/docs/share-parent-filled-CvoEBnpc.js +0 -10
  536. package/docs/share-parent-hollow-DyLlXxk9.js +0 -10
  537. package/docs/shout-B8aYlnCU.js +0 -7
  538. package/docs/smallscreen-CAmSoX_a.js +0 -7
  539. package/docs/smallscreen-CJyGrrRY.js +0 -7
  540. package/docs/sort-type-Ccq_znjS.js +0 -10
  541. package/docs/source-editor-Bp_3QBP_.js +0 -7
  542. package/docs/spellcheck-Besf5dkX.js +0 -8
  543. package/docs/spellcheck-DOYSjTvo.js +0 -8
  544. package/docs/stop-DWabYiNA.js +0 -8
  545. package/docs/stop-borderless-CxP7Xjd-.js +0 -7
  546. package/docs/strikethrough-DBZqp7V2.js +0 -7
  547. package/docs/style-BbyPYYVo.js +0 -7
  548. package/docs/style-CDgs5AnH.js +0 -7
  549. package/docs/subscribe-filled-BQyc3NsS.js +0 -7
  550. package/docs/subscribe-filled-DnVzUac6.js +0 -7
  551. package/docs/subscribe-hollow-45odrrmr.js +0 -7
  552. package/docs/subscribe-hollow-C6hluycF.js +0 -7
  553. package/docs/subscript-BjAIARSd.js +0 -7
  554. package/docs/superscript-Bhxn6gvd.js +0 -7
  555. package/docs/support-DUKjOc66.js +0 -7
  556. package/docs/surveys-BE8aGBrC.js +0 -7
  557. package/docs/surveys-DoAUhIgW.js +0 -11
  558. package/docs/syllabus-CkqNQZI-.js +0 -7
  559. package/docs/syllabus-Dp2bL_st.js +0 -8
  560. package/docs/syllabus-QUazS8jY.js +0 -8
  561. package/docs/symbol-Bc-zvfel.js +0 -7
  562. package/docs/table-cell-merge-BE8joEWx.js +0 -8
  563. package/docs/table-cell-properties-CMFT10BB.js +0 -8
  564. package/docs/table-cell-split-DDUBTvcc.js +0 -7
  565. package/docs/table-column-insert-after-DzN38SQI.js +0 -7
  566. package/docs/table-column-insert-before-DeAvcikX.js +0 -7
  567. package/docs/table-column-remove-DYiXM8Jb.js +0 -8
  568. package/docs/table-delete-40sq_iUx.js +0 -8
  569. package/docs/table-of-contents-CpoMBmA3.js +0 -7
  570. package/docs/table-of-contents-DmVLblsk.js +0 -11
  571. package/docs/table-properties-C1ZRZ4ga.js +0 -8
  572. package/docs/table-row-copy-C0NVkTuO.js +0 -8
  573. package/docs/table-row-cut-D8ApKTxR.js +0 -7
  574. package/docs/table-row-insert-after-ZiQdbITr.js +0 -7
  575. package/docs/table-row-insert-before-DOqBNAv2.js +0 -7
  576. package/docs/table-row-paste-above-svu4TZL-.js +0 -7
  577. package/docs/table-row-paste-below-DnVjYP_H.js +0 -7
  578. package/docs/table-row-properties-DKKmT8xi.js +0 -8
  579. package/docs/table-row-remove-BpX_iTdC.js +0 -8
  580. package/docs/tag-CLCrd3YD.js +0 -9
  581. package/docs/tag-Dvlrl1rN.js +0 -7
  582. package/docs/tag-hollow-C4R57T76.js +0 -8
  583. package/docs/thumbs-down-_y6J-GBx.js +0 -7
  584. package/docs/thumbs-up-DmpTufP-.js +0 -14
  585. package/docs/tile-view-DAEgJlr5.js +0 -12
  586. package/docs/time-j7PVTeX4.js +0 -7
  587. package/docs/time-y--dvj05.js +0 -8
  588. package/docs/tools-ApXN5SG4.js +0 -8
  589. package/docs/tools-CI_7JQXe.js +0 -7
  590. package/docs/topic-last-CBI3iGxL.js +0 -8
  591. package/docs/topic-last-Db8wiEGR.js +0 -8
  592. package/docs/turnitin-HVqx-UXy.js +0 -8
  593. package/docs/unapproved-DWiZCrwv.js +0 -10
  594. package/docs/unapproved-Dhu_8xZD.js +0 -10
  595. package/docs/underline-DxnwXTaI.js +0 -7
  596. package/docs/undo-Di_HG7p_.js +0 -7
  597. package/docs/undo-KeM-So3F.js +0 -7
  598. package/docs/unsaved-Cc_mMbdm.js +0 -10
  599. package/docs/unsaved-DeP04L83.js +0 -8
  600. package/docs/upload-AImNeKVm.js +0 -8
  601. package/docs/upload-BIQxUfMy.js +0 -8
  602. package/docs/upload-nuZBVJjg.js +0 -8
  603. package/docs/user-competencies-8dMwEPL6.js +0 -7
  604. package/docs/user-competencies-Y57bDKtV.js +0 -19
  605. package/docs/user-progress-CUzNTpLo.js +0 -10
  606. package/docs/user-progress-DQUFGV7M.js +0 -10
  607. package/docs/validate-TiDv-LdA.js +0 -16
  608. package/docs/video-assignment-C-Eh-N2b.js +0 -10
  609. package/docs/video-assignment-DJhOt4CY.js +0 -11
  610. package/docs/view-submission-list-D56QhpGG.js +0 -13
  611. package/docs/view-submission-list-KS3OLMnE.js +0 -15
  612. package/docs/viewed-notviewed-CSNppbac.js +0 -7
  613. package/docs/virtual-classroom-Cxhu5Mw0.js +0 -10
  614. package/docs/virtual-classroom-De9_fVB7.js +0 -6
  615. package/docs/visibility-conditional-BbN-53aD.js +0 -9
  616. package/docs/visibility-hide-B2KKT0mx.js +0 -7
  617. package/docs/visibility-hide-Bctc7bkg.js +0 -7
  618. package/docs/visibility-show-BD2PP0kM.js +0 -8
  619. package/docs/visibility-show-BwU9PNHL.js +0 -7
  620. package/docs/volume-CYc0W77d.js +0 -8
  621. package/docs/volume-DrPpJaf1.js +0 -7
  622. package/docs/volume-muted-CK8EQ9dK.js +0 -12
  623. package/docs/volume-muted-D2mJNGq6.js +0 -7
  624. package/docs/widgets-BEcQiVkC.js +0 -12
  625. package/docs/wizard-D-phsxRW.js +0 -11
  626. package/docs/wizard-cZqtBjee.js +0 -11
  627. package/docs/zoom-in-Dpu97xmF.js +0 -7
  628. package/docs/zoom-out-Cu3SsLeV.js +0 -7
  629. package/packages/drivers/docs/assets/anchor.js +0 -350
  630. package/packages/drivers/docs/assets/bass-addons.css +0 -12
  631. package/packages/drivers/docs/assets/bass.css +0 -544
  632. package/packages/drivers/docs/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
  633. package/packages/drivers/docs/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
  634. package/packages/drivers/docs/assets/fonts/LICENSE.txt +0 -93
  635. package/packages/drivers/docs/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
  636. package/packages/drivers/docs/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
  637. package/packages/drivers/docs/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
  638. package/packages/drivers/docs/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
  639. package/packages/drivers/docs/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
  640. package/packages/drivers/docs/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
  641. package/packages/drivers/docs/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
  642. package/packages/drivers/docs/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
  643. package/packages/drivers/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
  644. package/packages/drivers/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
  645. package/packages/drivers/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
  646. package/packages/drivers/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
  647. package/packages/drivers/docs/assets/fonts/source-code-pro.css +0 -23
  648. package/packages/drivers/docs/assets/github.css +0 -123
  649. package/packages/drivers/docs/assets/site.js +0 -168
  650. package/packages/drivers/docs/assets/split.css +0 -15
  651. package/packages/drivers/docs/assets/split.js +0 -782
  652. package/packages/drivers/docs/assets/style.css +0 -147
  653. package/packages/drivers/docs/index.html +0 -6180
  654. package/packages/drivers/test/.eslintrc.yaml +0 -27
  655. package/packages/drivers/test/aws/dynamodb.test.js +0 -119
  656. package/packages/drivers/test/aws/secrets-manager.js +0 -146
  657. package/packages/drivers/test/http.test.js +0 -118
  658. package/packages/drivers/test/oauth.test.js +0 -211
  659. package/packages/drivers/test/wave.test.js +0 -109
  660. package/packages/nova-middleware/docs/assets/anchor.js +0 -350
  661. package/packages/nova-middleware/docs/assets/bass-addons.css +0 -12
  662. package/packages/nova-middleware/docs/assets/bass.css +0 -544
  663. package/packages/nova-middleware/docs/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
  664. package/packages/nova-middleware/docs/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
  665. package/packages/nova-middleware/docs/assets/fonts/LICENSE.txt +0 -93
  666. package/packages/nova-middleware/docs/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
  667. package/packages/nova-middleware/docs/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
  668. package/packages/nova-middleware/docs/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
  669. package/packages/nova-middleware/docs/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
  670. package/packages/nova-middleware/docs/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
  671. package/packages/nova-middleware/docs/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
  672. package/packages/nova-middleware/docs/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
  673. package/packages/nova-middleware/docs/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
  674. package/packages/nova-middleware/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
  675. package/packages/nova-middleware/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
  676. package/packages/nova-middleware/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
  677. package/packages/nova-middleware/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
  678. package/packages/nova-middleware/docs/assets/fonts/source-code-pro.css +0 -23
  679. package/packages/nova-middleware/docs/assets/github.css +0 -123
  680. package/packages/nova-middleware/docs/assets/site.js +0 -168
  681. package/packages/nova-middleware/docs/assets/split.css +0 -15
  682. package/packages/nova-middleware/docs/assets/split.js +0 -782
  683. package/packages/nova-middleware/docs/assets/style.css +0 -147
  684. package/packages/nova-middleware/docs/index.html +0 -406
  685. package/packages/nova-middleware/test/.eslintrc.yaml +0 -27
  686. package/packages/nova-middleware/test/oauth-middleware.test.js +0 -14
  687. package/packages/nova-model/docs/assets/anchor.js +0 -350
  688. package/packages/nova-model/docs/assets/bass-addons.css +0 -12
  689. package/packages/nova-model/docs/assets/bass.css +0 -544
  690. package/packages/nova-model/docs/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
  691. package/packages/nova-model/docs/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
  692. package/packages/nova-model/docs/assets/fonts/LICENSE.txt +0 -93
  693. package/packages/nova-model/docs/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
  694. package/packages/nova-model/docs/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
  695. package/packages/nova-model/docs/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
  696. package/packages/nova-model/docs/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
  697. package/packages/nova-model/docs/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
  698. package/packages/nova-model/docs/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
  699. package/packages/nova-model/docs/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
  700. package/packages/nova-model/docs/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
  701. package/packages/nova-model/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
  702. package/packages/nova-model/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
  703. package/packages/nova-model/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
  704. package/packages/nova-model/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
  705. package/packages/nova-model/docs/assets/fonts/source-code-pro.css +0 -23
  706. package/packages/nova-model/docs/assets/github.css +0 -123
  707. package/packages/nova-model/docs/assets/site.js +0 -168
  708. package/packages/nova-model/docs/assets/split.css +0 -15
  709. package/packages/nova-model/docs/assets/split.js +0 -782
  710. package/packages/nova-model/docs/assets/style.css +0 -147
  711. package/packages/nova-model/docs/index.html +0 -3244
  712. package/packages/nova-model/test/.eslintrc.yaml +0 -27
  713. package/packages/nova-model/test/nova-model.test.js +0 -123
  714. package/packages/nova-utils/docs/assets/anchor.js +0 -350
  715. package/packages/nova-utils/docs/assets/bass-addons.css +0 -12
  716. package/packages/nova-utils/docs/assets/bass.css +0 -544
  717. package/packages/nova-utils/docs/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
  718. package/packages/nova-utils/docs/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
  719. package/packages/nova-utils/docs/assets/fonts/LICENSE.txt +0 -93
  720. package/packages/nova-utils/docs/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
  721. package/packages/nova-utils/docs/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
  722. package/packages/nova-utils/docs/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
  723. package/packages/nova-utils/docs/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
  724. package/packages/nova-utils/docs/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
  725. package/packages/nova-utils/docs/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
  726. package/packages/nova-utils/docs/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
  727. package/packages/nova-utils/docs/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
  728. package/packages/nova-utils/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
  729. package/packages/nova-utils/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
  730. package/packages/nova-utils/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
  731. package/packages/nova-utils/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
  732. package/packages/nova-utils/docs/assets/fonts/source-code-pro.css +0 -23
  733. package/packages/nova-utils/docs/assets/github.css +0 -123
  734. package/packages/nova-utils/docs/assets/site.js +0 -168
  735. package/packages/nova-utils/docs/assets/split.css +0 -15
  736. package/packages/nova-utils/docs/assets/split.js +0 -782
  737. package/packages/nova-utils/docs/assets/style.css +0 -147
  738. package/packages/nova-utils/docs/index.html +0 -986
  739. package/packages/nova-utils/test/config.test.js +0 -250
  740. package/packages/nova-utils/test/tenant-utiils.test.js +0 -50
@@ -1,27 +0,0 @@
1
- extends:
2
- - brightspace/testing-config
3
-
4
- rules:
5
- indent:
6
- - error
7
- - 2
8
- - SwitchCase: 1
9
- no-console:
10
- - off
11
- sort-imports:
12
- - error
13
- - ignoreCase: true
14
- ignoreDeclarationSort: false
15
- ignoreMemberSort: false
16
- memberSyntaxSortOrder:
17
- - none
18
- - all
19
- - multiple
20
- - single
21
- allowSeparatedGroups: true
22
- import/no-extraneous-dependencies:
23
- - error
24
- - devDependencies:
25
- - "**/test/**/*.js"
26
- - "**/*.spec.js"
27
- - "**/*.test.js"
@@ -1,119 +0,0 @@
1
- import { expect } from 'chai';
2
-
3
- // eslint-disable-next-line import/no-extraneous-dependencies
4
- import sinon from 'sinon';
5
-
6
- import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
7
- import { DynamoDbDriver } from '../../src/aws/dynamodb.js';
8
-
9
- describe('DynamoDb', () => {
10
- let dynamoDbInstance;
11
- let sandbox;
12
- let mockClient;
13
-
14
- beforeEach(() => {
15
- sandbox = sinon.createSandbox();
16
- mockClient = {
17
- send: sandbox.stub().resolves({}),
18
- };
19
- sandbox.stub(DynamoDBDocumentClient, 'from').returns(mockClient);
20
- dynamoDbInstance = new DynamoDbDriver({});
21
- });
22
-
23
- afterEach(() => {
24
- sandbox.restore();
25
- });
26
-
27
- describe('put', () => {
28
- it('should call the put method of the DynamoDB client', async() => {
29
- const params = { TableName: 'testTable', Item: { id: '1', value: 'test' } };
30
-
31
- await dynamoDbInstance.put(params);
32
-
33
- expect(mockClient.send.calledOnce).to.be.true;
34
- // Ensure the PutCommand was instantiated with the correct parameters
35
- const [putCommand] = mockClient.send.firstCall.args;
36
- expect(putCommand.input).to.deep.equal(params);
37
- });
38
- });
39
-
40
- describe('get', () => {
41
- it('should call the get method of the DynamoDB client', async() => {
42
- const params = { TableName: 'testTable', Key: { id: '1' } };
43
-
44
- await dynamoDbInstance.get(params);
45
-
46
- expect(mockClient.send.calledOnce).to.be.true;
47
- const [getCommand] = mockClient.send.firstCall.args;
48
- expect(getCommand.input).to.deep.equal(params);
49
- });
50
- });
51
-
52
- describe('batchGet', () => {
53
- it('should process batch get requests', async() => {
54
- const params = {
55
- RequestItems: {
56
- 'testTable': {
57
- Keys: [{ id: '1' }, { id: '2' }],
58
- },
59
- },
60
- };
61
- mockClient.send.resolves({
62
- Responses: { 'testTable': [{ id: '1', value: 'item1' }, { id: '2', value: 'item2' }] },
63
- UnprocessedKeys: {},
64
- });
65
-
66
- const result = await dynamoDbInstance.batchGet(params);
67
-
68
- expect(result).to.have.property('Responses').that.is.an('object');
69
- expect(result.Responses['testTable']).to.have.lengthOf(2);
70
- });
71
- });
72
-
73
- describe('delete', () => {
74
- it('should call the delete method of the DynamoDB client', async() => {
75
- const params = { TableName: 'testTable', Key: { id: '1' } };
76
-
77
- await dynamoDbInstance.delete(params);
78
-
79
- expect(mockClient.send.calledOnce).to.be.true;
80
- const [deleteCommand] = mockClient.send.firstCall.args;
81
- expect(deleteCommand.input).to.deep.equal(params);
82
- });
83
- });
84
-
85
- describe('query', () => {
86
- it('should call the query method of the DynamoDB client', async() => {
87
- const params = { TableName: 'testTable', KeyConditionExpression: 'id = :id', ExpressionAttributeValues: { ':id': '1' } };
88
-
89
- await dynamoDbInstance.query(params);
90
-
91
- expect(mockClient.send.calledOnce).to.be.true;
92
- const [queryCommand] = mockClient.send.firstCall.args;
93
- expect(queryCommand.input).to.deep.equal(params);
94
- });
95
- });
96
-
97
- describe('getAllResultsRecursive', () => {
98
- it('should recursively fetch all items', async() => {
99
- const params = { TableName: 'testTable', KeyConditionExpression: 'id = :id', ExpressionAttributeValues: { ':id': '1' } };
100
- const itemsPage1 = Array(10).fill(null).map((_, index) => ({ id: `1-${index}` }));
101
- const itemsPage2 = Array(5).fill(null).map((_, index) => ({ id: `2-${index}` }));
102
-
103
- // Setup stub to simulate paginated response
104
- mockClient.send.onFirstCall().resolves({
105
- Items: itemsPage1,
106
- LastEvaluatedKey: { id: '1-9' },
107
- }).onSecondCall().resolves({
108
- Items: itemsPage2,
109
- LastEvaluatedKey: null, // Indicate no more pages
110
- });
111
-
112
- const results = await dynamoDbInstance.getAllResultsRecursive(params, [], undefined, 0, 0);
113
-
114
- expect(results.length).to.equal(15);
115
- expect(results).to.deep.include.members(itemsPage1);
116
- expect(results).to.deep.include.members(itemsPage2);
117
- });
118
- });
119
- });
@@ -1,146 +0,0 @@
1
- // Import the necessary libraries
2
- import { expect } from 'chai';
3
- import sinon from 'sinon';
4
- import { GetSecretValueCommand, SecretsManagerClient } from '@aws-sdk/client-secrets-manager';
5
-
6
- import { SecretsManager } from '../../src/aws/secrets-manager.js';
7
-
8
- describe('SecretsManager', () => {
9
- let secretsManager;
10
- let stubSend;
11
-
12
- beforeEach(() => {
13
- // Initialize the SecretsManager instance
14
- secretsManager = new SecretsManager();
15
-
16
- // Stub the send method of SecretsManagerClient
17
- stubSend = sinon.stub(SecretsManagerClient.prototype, 'send');
18
- });
19
-
20
- afterEach(() => {
21
- // Restore the stubbed send method to its original state
22
- sinon.restore();
23
- });
24
-
25
- it('should fetch and return the correct secret value', async() => {
26
- const secretName = 'testSecret';
27
- const secretValue = 'secretValue';
28
- const secretString = JSON.stringify({ [secretValue]: 'TestValue' });
29
-
30
- stubSend.resolves({
31
- SecretString: secretString,
32
- });
33
-
34
- const result = await secretsManager.getSecret(secretName);
35
- expect(result).to.equal('TestValue');
36
- });
37
-
38
- it('should throw an error if secretName is not provided', async() => {
39
- try {
40
- await secretsManager.getSecret();
41
- } catch (error) {
42
- expect(error.message).to.equal('Missing secret name to fetch secret');
43
- }
44
- });
45
-
46
- it('should handle and rethrow AWS SDK errors', async() => {
47
- const secretName = 'invalidSecret';
48
- stubSend.rejects(new Error('The requested secret does not exist'));
49
-
50
- try {
51
- await secretsManager.getSecret(secretName);
52
- } catch (error) {
53
- expect(error.message).to.include('SecretsManager: The requested secret does not exist');
54
- }
55
- });
56
-
57
- it('should return the entire secret object if keyId is "allKeys"', async() => {
58
- const secretName = 'complexSecret';
59
- const secretObject = { key1: 'value1', key2: 'value2', key3: 'value3' };
60
- const secretString = JSON.stringify(secretObject);
61
-
62
- stubSend.resolves({
63
- SecretString: secretString,
64
- });
65
-
66
- const result = await secretsManager.getSecret(secretName, 'allKeys');
67
- expect(result).to.deep.equal(secretObject);
68
- });
69
-
70
- it('should return a specific key-value pair from the secret', async() => {
71
- const secretName = 'specificKeySecret';
72
- const secretObject = { specificKey: 'specificValue', otherKey: 'otherValue' };
73
- const secretString = JSON.stringify(secretObject);
74
-
75
- stubSend.resolves({
76
- SecretString: secretString,
77
- });
78
-
79
- const result = await secretsManager.getSecret(secretName, 'specificKey');
80
- expect(result).to.equal('specificValue');
81
- });
82
-
83
- it('should return the prod specific value if in production environment', async() => {
84
- // Simulate production environment
85
- secretsManager.isProdEnvironment = true;
86
- const secretName = 'envSpecificSecret';
87
- const secretObject = { dev: 'devValue', prod: 'prodValue' };
88
- const secretString = JSON.stringify(secretObject);
89
-
90
- stubSend.resolves({
91
- SecretString: secretString,
92
- });
93
-
94
- const result = await secretsManager.getSecret(secretName);
95
- expect(result).to.equal('prodValue');
96
- });
97
-
98
- it('should return the dev specific value if not in production environment', async() => {
99
- // Ensure non-production environment
100
- secretsManager.isProdEnvironment = false;
101
- const secretName = 'envSpecificSecret';
102
- const secretObject = { dev: 'devValue', unused: 'unusedValue' };
103
- const secretString = JSON.stringify(secretObject);
104
-
105
- stubSend.resolves({
106
- SecretString: secretString,
107
- });
108
-
109
- const result = await secretsManager.getSecret(secretName);
110
- expect(result).to.equal('devValue');
111
- });
112
-
113
- it('should throw an error if the specified keyId does not exist in the secret', async() => {
114
- const secretName = 'missingKeySecret';
115
- const secretObject = { existingKey: 'existingValue' };
116
- const secretString = JSON.stringify(secretObject);
117
-
118
- stubSend.resolves({
119
- SecretString: secretString,
120
- });
121
-
122
- try {
123
- await secretsManager.getSecret(secretName, 'nonExistingKey');
124
- } catch (error) {
125
- expect(error.message).to.equal('SecretsManager: nonExistingKey does not exist');
126
- }
127
- });
128
-
129
- it('should log the error before rethrowing', async() => {
130
- const secretName = 'erroredSecret';
131
- const errorMessage = 'Simulated failure';
132
- stubSend.rejects(new Error(errorMessage));
133
-
134
- const logSpy = sinon.spy(console, 'log');
135
-
136
- try {
137
- await secretsManager.getSecret(secretName);
138
- } catch (error) {
139
- // The error should be logged before being rethrown
140
- sinon.assert.calledWith(logSpy, sinon.match.instanceOf(Error));
141
- expect(error.message).to.include(`SecretsManager: ${errorMessage}`);
142
- } finally {
143
- logSpy.restore();
144
- }
145
- });
146
- });
@@ -1,118 +0,0 @@
1
- import { match, restore, stub } from 'sinon';
2
-
3
- import * as chai from 'chai';
4
- import sinonChai from 'sinon-chai';
5
-
6
- import { HttpDriver } from '../../drivers/src/http.js';
7
-
8
- chai.use(sinonChai);
9
- const expect = chai.expect;
10
-
11
- describe('HttpDriver', () => {
12
- let httpDriver;
13
- let stubFetch;
14
- const baseUrl = 'http://example.com';
15
- const configOverrides = { enabled: true };
16
-
17
- beforeEach(() => {
18
- httpDriver = new HttpDriver(baseUrl, configOverrides);
19
- stubFetch = stub(httpDriver, '_fetch'); // Stubbing fetch
20
- });
21
-
22
- afterEach(() => {
23
- restore(); // Restore original fetch function
24
- });
25
-
26
- const mockSuccess = () => {
27
- return Promise.resolve({
28
- status: 200,
29
- json: () => Promise.resolve({ success: true }),
30
- });
31
- };
32
-
33
- describe('post', () => {
34
-
35
- const path = '/test';
36
- const body = { key: 'value' };
37
- const headers = { 'Custom-Header': 'HeaderValue', 'Content-Type': 'application/json' };
38
-
39
- it('should send a POST request and return response', async() => {
40
- const mockResponse = mockSuccess();
41
-
42
- stubFetch.returns(mockResponse);
43
-
44
- const response = await httpDriver.post(path, body, headers);
45
- expect(stubFetch).to.be.calledWith(`${baseUrl}${path}`, {
46
- method: 'POST',
47
- headers: {
48
- 'Content-Type': 'application/json',
49
- 'Custom-Header': 'HeaderValue',
50
- },
51
- body: JSON.stringify(body),
52
- });
53
- expect(response.success).to.be.true;
54
- });
55
-
56
- it('should handle a successful POST request', async() => {
57
- const mockResponse = Promise.resolve({
58
- status: 200,
59
- json: () => Promise.resolve({ success: true, data: 'response data' }),
60
- });
61
- stubFetch.returns(mockResponse);
62
-
63
- const response = await httpDriver.post(path, body, headers);
64
-
65
- expect(stubFetch).to.have.been.calledWith(`${baseUrl}${path}`, match.has('method', 'POST'));
66
- expect(response).to.deep.include({ success: true, body: { success: true, data: 'response data' } });
67
- });
68
-
69
- it('should handle a failed POST request with non-2xx status', async() => {
70
- const mockResponse = Promise.resolve({
71
- status: 400,
72
- text: () => Promise.resolve('Bad Request'),
73
- });
74
- stubFetch.returns(mockResponse);
75
-
76
- const response = await httpDriver.post(path, body, headers);
77
-
78
- expect(response).to.deep.include({ success: false, error: 'Bad Request' });
79
- });
80
-
81
- it('should handle network or fetch errors gracefully', async() => {
82
- stubFetch.rejects(new Error('Network Error'));
83
-
84
- const response = await httpDriver.post(path, body, headers);
85
-
86
- expect(response).to.deep.include({ success: false, error: 'Network Error' });
87
- });
88
-
89
- it('should send the correct headers and body with the POST request', async() => {
90
- const mockResponse = Promise.resolve({ status: 200, json: () => Promise.resolve({ success: true }) });
91
- stubFetch.returns(mockResponse);
92
-
93
- await httpDriver.post(path, body, headers);
94
-
95
- expect(stubFetch).to.have.been.calledWithMatch(`${baseUrl}${path}`, {
96
- headers: match({
97
- 'Content-Type': 'application/json',
98
- 'Custom-Header': 'HeaderValue',
99
- }),
100
- body: JSON.stringify(body),
101
- method: 'POST',
102
- });
103
- });
104
-
105
- it('should correctly serialize JSON body for the POST request', async() => {
106
- const mockResponse = Promise.resolve({ status: 200, json: () => Promise.resolve({ success: true }) });
107
- stubFetch.returns(mockResponse);
108
-
109
- const complexBody = { key: 'value', nested: { a: 1, b: true } };
110
- await httpDriver.post(path, complexBody, headers);
111
-
112
- expect(stubFetch).to.have.been.calledWithMatch(`${baseUrl}${path}`, {
113
- body: JSON.stringify(complexBody),
114
- });
115
- });
116
-
117
- });
118
- });
@@ -1,211 +0,0 @@
1
- import { ClientCredentials } from 'simple-oauth2';
2
- import { expect } from 'chai';
3
- import { mock, restore } from 'sinon';
4
-
5
- import { apiTokenRepo } from '../../nova-model/src/repo/api-token.js';
6
- import { OAuthDriver } from '../src/oauth.js';
7
-
8
- describe('OAuthDriver', () => {
9
- let oauthDriver;
10
- let clientCredentialsMock;
11
- let apiTokenRepoMock;
12
-
13
- beforeEach(() => {
14
- // Resetting stubs and mocks before each test
15
- restore(); // This ensures that the environment is clean for each test.
16
-
17
- // Mocking the client credentials instance and its methods
18
- clientCredentialsMock = mock(ClientCredentials.prototype);
19
- apiTokenRepoMock = mock(apiTokenRepo);
20
-
21
- // Example tokenConfig and clientConfig for instantiation
22
- const oauth = {
23
- client: {
24
- id: 'client-id',
25
- },
26
- auth: {
27
- tokenHost: 'https://token.host',
28
- tokenPath: '/token',
29
- },
30
- };
31
- const tokenConfig = {};
32
- const apiIdentifier = 'test-api';
33
- const baseUrl = 'https://test.nova.dev.brightspace.com';
34
-
35
- oauthDriver = new OAuthDriver(apiIdentifier, { baseUrl, oauth, tokenConfig });
36
- });
37
-
38
- afterEach(() => {
39
- // Restore the default sandbox here
40
- restore();
41
- });
42
-
43
- describe('getNewToken', () => {
44
- it('should retrieve a new token successfully', async() => {
45
- const fakeToken = {
46
- token: {
47
- access_token: 'access-token',
48
- token_type: 'Bearer',
49
- expires_in: 3600,
50
- },
51
- };
52
-
53
- clientCredentialsMock.expects('getToken').once().resolves(fakeToken);
54
-
55
- const token = await oauthDriver.getNewToken();
56
- expect(token).to.deep.equal(fakeToken);
57
-
58
- clientCredentialsMock.verify();
59
- });
60
- });
61
-
62
- describe('getStoredToken', () => {
63
- it('should retrieve a stored token successfully', async() => {
64
- const storedTokenData = {
65
- token: JSON.stringify({
66
- access_token: 'stored-access-token',
67
- token_type: 'Bearer',
68
- expires_in: 3600,
69
- expires_at: new Date(Date.now() + 3600 * 1000), // expires in 1 hour
70
- }),
71
- };
72
-
73
- apiTokenRepoMock.expects('get').withArgs({ apiIdentifier: 'test-api' }).resolves(storedTokenData);
74
- clientCredentialsMock.expects('createToken').once().returns(storedTokenData);
75
-
76
- const storedToken = await oauthDriver.getStoredToken();
77
- expect(storedToken).to.deep.equal(storedTokenData);
78
-
79
- apiTokenRepoMock.verify();
80
- clientCredentialsMock.verify();
81
- });
82
- });
83
-
84
- describe('storeToken', () => {
85
- it('should store the token successfully', async() => {
86
- const tokenToStore = {
87
- token: {
88
- access_token: 'new-access-token',
89
- token_type: 'Bearer',
90
- expires_in: 3600,
91
- },
92
- };
93
-
94
- apiTokenRepoMock.expects('save').once().resolves();
95
-
96
- await oauthDriver.storeToken(tokenToStore);
97
-
98
- apiTokenRepoMock.verify();
99
- });
100
- });
101
-
102
- describe('ensureAccessToken', () => {
103
- it('should use the existing token if it is not expired', async() => {
104
- const existingToken = {
105
- expired: () => false,
106
- token: {
107
- access_token: 'valid-access-token',
108
- token_type: 'Bearer',
109
- expires_in: 3600,
110
- },
111
- };
112
-
113
- // Directly assigning a non-expired token to the instance
114
- oauthDriver.accessToken = existingToken;
115
-
116
- const accessToken = await oauthDriver.ensureAccessToken();
117
- expect(accessToken).to.deep.equal(existingToken);
118
- });
119
-
120
- it('should retrieve a stored token if the current token is expired', async() => {
121
- oauthDriver.accessToken = {
122
- expired: () => true,
123
- };
124
-
125
- const storedToken = {
126
- expired: () => false,
127
- token: JSON.stringify({
128
- access_token: 'stored-access-token',
129
- token_type: 'Bearer',
130
- expires_in: 3600,
131
- }),
132
- };
133
-
134
- apiTokenRepoMock.expects('get').once().resolves(storedToken);
135
- clientCredentialsMock.expects('createToken').once().returns(storedToken);
136
-
137
- const accessToken = await oauthDriver.ensureAccessToken();
138
- expect(accessToken).to.deep.equal(storedToken);
139
-
140
- apiTokenRepoMock.verify();
141
- clientCredentialsMock.verify();
142
- });
143
-
144
- it('should retrieve a new token if no valid token is available', async() => {
145
- oauthDriver.accessToken = null;
146
-
147
- const newToken = {
148
- token: {
149
- access_token: 'new-access-token',
150
- token_type: 'Bearer',
151
- expires_in: 3600,
152
- },
153
- };
154
-
155
- apiTokenRepoMock.expects('get').once().resolves(null);
156
- clientCredentialsMock.expects('getToken').once().resolves(newToken);
157
- apiTokenRepoMock.expects('save').once().resolves();
158
-
159
- const accessToken = await oauthDriver.ensureAccessToken();
160
- expect(accessToken).to.deep.equal(newToken);
161
-
162
- apiTokenRepoMock.verify();
163
- clientCredentialsMock.verify();
164
- });
165
- });
166
-
167
- describe('getHeaders', () => {
168
- it('should return the correct authorization headers', async() => {
169
- oauthDriver.accessToken = {
170
- expired: () => false,
171
- token: {
172
- access_token: 'access-token',
173
- token_type: 'Bearer',
174
- expires_in: 3600,
175
- },
176
- }; // Assuming accessToken is already available
177
-
178
- const headers = await oauthDriver.getHeaders();
179
- expect(headers).to.deep.equal({
180
- 'Content-Type': 'application/json',
181
- Authorization: 'Bearer access-token',
182
- });
183
- });
184
- });
185
-
186
- describe('Error Handling', () => {
187
- it('should throw an error when getting a new token fails', async() => {
188
- clientCredentialsMock.expects('getToken').once().rejects(new Error('Token retrieval failed'));
189
- let response;
190
- try {
191
- await oauthDriver.getNewToken();
192
- response = 'success';
193
- } catch (error) {
194
- response = error.message;
195
- }
196
-
197
- expect(response).to.equal('Token retrieval failed');
198
- clientCredentialsMock.verify();
199
- });
200
-
201
- it('should return undefined when stored token retrieval fails', async() => {
202
- apiTokenRepoMock.expects('get').once().rejects(new Error('Token retrieval failed'));
203
-
204
- const storedToken = await oauthDriver.getStoredToken();
205
- expect(storedToken).to.be.undefined;
206
-
207
- apiTokenRepoMock.verify();
208
- });
209
- });
210
-
211
- });