@ueu/ueu-canvas 0.0.3 → 0.0.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 (339) hide show
  1. package/dist/Account.js +60 -0
  2. package/dist/Account.js.map +1 -0
  3. package/dist/NotImplementedException.js +8 -0
  4. package/dist/NotImplementedException.js.map +1 -0
  5. package/dist/__mocks__/Account.d.ts +3 -3
  6. package/dist/__mocks__/Account.js +51 -0
  7. package/dist/__mocks__/Account.js.map +1 -0
  8. package/dist/__mocks__/index.js +25 -0
  9. package/dist/__mocks__/index.js.map +1 -0
  10. package/dist/__mocks__/mockAccountData.js +45 -0
  11. package/dist/__mocks__/mockAccountData.js.map +1 -0
  12. package/dist/__mocks__/mockEnrollment.d.ts +1 -1
  13. package/dist/__mocks__/mockEnrollment.js +24 -0
  14. package/dist/__mocks__/mockEnrollment.js.map +1 -0
  15. package/dist/__mocks__/mockRubricData.d.ts +1 -1
  16. package/dist/__mocks__/mockRubricData.js +56 -0
  17. package/dist/__mocks__/mockRubricData.js.map +1 -0
  18. package/dist/__mocks__/mockTabData.d.ts +1 -1
  19. package/dist/__mocks__/mockTabData.js +14 -0
  20. package/dist/__mocks__/mockTabData.js.map +1 -0
  21. package/dist/__mocks__/mockTermData.d.ts +1 -1
  22. package/dist/__mocks__/mockTermData.js +8 -0
  23. package/dist/__mocks__/mockTermData.js.map +1 -0
  24. package/dist/__mocks__/mockUserData.js +15 -0
  25. package/dist/__mocks__/mockUserData.js.map +1 -0
  26. package/dist/__mocks__/utils.js +14 -0
  27. package/dist/__mocks__/utils.js.map +1 -0
  28. package/dist/__tests__/canvasUtils.test.js +431 -0
  29. package/dist/__tests__/canvasUtils.test.js.map +1 -0
  30. package/dist/__tests__/fetch.test.js +236 -0
  31. package/dist/__tests__/fetch.test.js.map +1 -0
  32. package/dist/__tests__/profile.test.js +17 -0
  33. package/dist/__tests__/profile.test.js.map +1 -0
  34. package/dist/__tests__/rubrics.test.js +136 -0
  35. package/dist/__tests__/rubrics.test.js.map +1 -0
  36. package/dist/baseCanvasObject.js +115 -0
  37. package/dist/baseCanvasObject.js.map +1 -0
  38. package/dist/canvasDataDefs.d.ts +4 -0
  39. package/dist/canvasDataDefs.d.ts.map +1 -1
  40. package/dist/canvasDataDefs.js +3 -0
  41. package/dist/canvasDataDefs.js.map +1 -0
  42. package/dist/canvasUtils.d.ts +1 -1
  43. package/dist/canvasUtils.js +358 -0
  44. package/dist/canvasUtils.js.map +1 -0
  45. package/dist/consts.js +6 -0
  46. package/dist/consts.js.map +1 -0
  47. package/dist/content/BaseContentItem.d.ts +6 -6
  48. package/dist/content/BaseContentItem.js +182 -0
  49. package/dist/content/BaseContentItem.js.map +1 -0
  50. package/dist/content/ContentKind.d.ts +3 -3
  51. package/dist/content/ContentKind.js +45 -0
  52. package/dist/content/ContentKind.js.map +1 -0
  53. package/dist/content/__mocks__/determineContent.d.ts +14 -14
  54. package/dist/content/__mocks__/determineContent.js +27 -0
  55. package/dist/content/__mocks__/determineContent.js.map +1 -0
  56. package/dist/content/__mocks__/mockAssignmentSubmission.d.ts +2 -2
  57. package/dist/content/__mocks__/mockAssignmentSubmission.d.ts.map +1 -1
  58. package/dist/content/__mocks__/mockAssignmentSubmission.js +38 -0
  59. package/dist/content/__mocks__/mockAssignmentSubmission.js.map +1 -0
  60. package/dist/content/__mocks__/mockContentData.d.ts +3 -3
  61. package/dist/content/__mocks__/mockContentData.js +92 -0
  62. package/dist/content/__mocks__/mockContentData.js.map +1 -0
  63. package/dist/content/__mocks__/openThisContentInTarget.d.ts +1 -1
  64. package/dist/content/__mocks__/openThisContentInTarget.d.ts.map +1 -1
  65. package/dist/content/__mocks__/openThisContentInTarget.js +6 -0
  66. package/dist/content/__mocks__/openThisContentInTarget.js.map +1 -0
  67. package/dist/content/__testingUtils__/utils.d.ts +1 -1
  68. package/dist/content/__testingUtils__/utils.js +43 -0
  69. package/dist/content/__testingUtils__/utils.js.map +1 -0
  70. package/dist/content/__tests__/determineContent.test.js +115 -0
  71. package/dist/content/__tests__/determineContent.test.js.map +1 -0
  72. package/dist/content/__tests__/getContentFuncs.test.js +66 -0
  73. package/dist/content/__tests__/getContentFuncs.test.js.map +1 -0
  74. package/dist/content/assignments/Assignment.d.ts +4 -4
  75. package/dist/content/assignments/Assignment.js +61 -0
  76. package/dist/content/assignments/Assignment.js.map +1 -0
  77. package/dist/content/assignments/AssignmentKind.d.ts +4 -4
  78. package/dist/content/assignments/AssignmentKind.d.ts.map +1 -1
  79. package/dist/content/assignments/AssignmentKind.js +24 -0
  80. package/dist/content/assignments/AssignmentKind.js.map +1 -0
  81. package/dist/content/assignments/__tests__/AssignmentKind.test.js +56 -0
  82. package/dist/content/assignments/__tests__/AssignmentKind.test.js.map +1 -0
  83. package/dist/content/assignments/__tests__/assignments.test.js +95 -0
  84. package/dist/content/assignments/__tests__/assignments.test.js.map +1 -0
  85. package/dist/content/assignments/deleteAssignmentGroup.d.ts +2 -1
  86. package/dist/content/assignments/deleteAssignmentGroup.d.ts.map +1 -1
  87. package/dist/content/assignments/deleteAssignmentGroup.js +17 -0
  88. package/dist/content/assignments/deleteAssignmentGroup.js.map +1 -0
  89. package/dist/content/assignments/genAssignmentGroups.d.ts +3 -2
  90. package/dist/content/assignments/genAssignmentGroups.d.ts.map +1 -1
  91. package/dist/content/assignments/genAssignmentGroups.js +14 -0
  92. package/dist/content/assignments/genAssignmentGroups.js.map +1 -0
  93. package/dist/content/assignments/index.d.ts +4 -4
  94. package/dist/content/assignments/index.js +28 -0
  95. package/dist/content/assignments/index.js.map +1 -0
  96. package/dist/content/assignments/legacy.js +12 -0
  97. package/dist/content/assignments/legacy.js.map +1 -0
  98. package/dist/content/assignments/updateAssignmentDueDates.d.ts +2 -2
  99. package/dist/content/assignments/updateAssignmentDueDates.js +22 -0
  100. package/dist/content/assignments/updateAssignmentDueDates.js.map +1 -0
  101. package/dist/content/determineContent.d.ts +8 -8
  102. package/dist/content/determineContent.d.ts.map +1 -1
  103. package/dist/content/determineContent.js +70 -0
  104. package/dist/content/determineContent.js.map +1 -0
  105. package/dist/content/discussions/Discussion.d.ts +4 -4
  106. package/dist/content/discussions/Discussion.js +32 -0
  107. package/dist/content/discussions/Discussion.js.map +1 -0
  108. package/dist/content/discussions/DiscussionKind.d.ts +3 -3
  109. package/dist/content/discussions/DiscussionKind.d.ts.map +1 -1
  110. package/dist/content/discussions/DiscussionKind.js +23 -0
  111. package/dist/content/discussions/DiscussionKind.js.map +1 -0
  112. package/dist/content/discussions/__tests__/DiscussionKind.test.js +56 -0
  113. package/dist/content/discussions/__tests__/DiscussionKind.test.js.map +1 -0
  114. package/dist/content/discussions/genEquivalentDiscussionData.js +97 -0
  115. package/dist/content/discussions/genEquivalentDiscussionData.js.map +1 -0
  116. package/dist/content/discussions/index.js +19 -0
  117. package/dist/content/discussions/index.js.map +1 -0
  118. package/dist/content/getContentFuncs.js +25 -0
  119. package/dist/content/getContentFuncs.js.map +1 -0
  120. package/dist/content/index.js +27 -0
  121. package/dist/content/index.js.map +1 -0
  122. package/dist/content/openThisContentInTarget.d.ts +3 -2
  123. package/dist/content/openThisContentInTarget.d.ts.map +1 -1
  124. package/dist/content/openThisContentInTarget.js +35 -0
  125. package/dist/content/openThisContentInTarget.js.map +1 -0
  126. package/dist/content/pages/Page.d.ts +5 -4
  127. package/dist/content/pages/Page.d.ts.map +1 -1
  128. package/dist/content/pages/Page.js +39 -0
  129. package/dist/content/pages/Page.js.map +1 -0
  130. package/dist/content/pages/PageKind.d.ts +4 -3
  131. package/dist/content/pages/PageKind.d.ts.map +1 -1
  132. package/dist/content/pages/PageKind.js +24 -0
  133. package/dist/content/pages/PageKind.js.map +1 -0
  134. package/dist/content/pages/__tests__/PageKind.test.js +69 -0
  135. package/dist/content/pages/__tests__/PageKind.test.js.map +1 -0
  136. package/dist/content/pages/__tests__/learningMaterialsForModule.js +82 -0
  137. package/dist/content/pages/__tests__/learningMaterialsForModule.js.map +1 -0
  138. package/dist/content/pages/index.d.ts +4 -0
  139. package/dist/content/pages/index.d.ts.map +1 -1
  140. package/dist/content/pages/index.js +56 -0
  141. package/dist/content/pages/index.js.map +1 -0
  142. package/dist/content/pages/learningMaterialsForModule.d.ts +2 -2
  143. package/dist/content/pages/learningMaterialsForModule.js +16 -0
  144. package/dist/content/pages/learningMaterialsForModule.js.map +1 -0
  145. package/dist/content/pages/types.d.ts +2 -1
  146. package/dist/content/pages/types.d.ts.map +1 -1
  147. package/dist/content/pages/types.js +3 -0
  148. package/dist/content/pages/types.js.map +1 -0
  149. package/dist/content/quizzes/Quiz.d.ts +1 -1
  150. package/dist/content/quizzes/Quiz.js +27 -0
  151. package/dist/content/quizzes/Quiz.js.map +1 -0
  152. package/dist/content/quizzes/QuizKind.d.ts +3 -3
  153. package/dist/content/quizzes/QuizKind.d.ts.map +1 -1
  154. package/dist/content/quizzes/QuizKind.js +22 -0
  155. package/dist/content/quizzes/QuizKind.js.map +1 -0
  156. package/dist/content/quizzes/__tests__/QuizKind.test.js +56 -0
  157. package/dist/content/quizzes/__tests__/QuizKind.test.js.map +1 -0
  158. package/dist/content/quizzes/index.js +3 -0
  159. package/dist/content/quizzes/index.js.map +1 -0
  160. package/dist/content/quizzes/types.js +3 -0
  161. package/dist/content/quizzes/types.js.map +1 -0
  162. package/dist/content/types.d.ts +6 -6
  163. package/dist/content/types.js +3 -0
  164. package/dist/content/types.js.map +1 -0
  165. package/dist/course/Course.d.ts +15 -11
  166. package/dist/course/Course.d.ts.map +1 -1
  167. package/dist/course/Course.js +473 -0
  168. package/dist/course/Course.js.map +1 -0
  169. package/dist/course/IBlueprintCourse.d.ts +2 -2
  170. package/dist/course/IBlueprintCourse.js +3 -0
  171. package/dist/course/IBlueprintCourse.js.map +1 -0
  172. package/dist/course/__mocks__/blueprint.d.ts +1 -1
  173. package/dist/course/__mocks__/blueprint.js +28 -0
  174. package/dist/course/__mocks__/blueprint.js.map +1 -0
  175. package/dist/course/__mocks__/mockCourseData.d.ts +1 -1
  176. package/dist/course/__mocks__/mockCourseData.js +50 -0
  177. package/dist/course/__mocks__/mockCourseData.js.map +1 -0
  178. package/dist/course/__mocks__/mockLatePolicy.d.ts +1 -1
  179. package/dist/course/__mocks__/mockLatePolicy.d.ts.map +1 -1
  180. package/dist/course/__mocks__/mockLatePolicy.js +15 -0
  181. package/dist/course/__mocks__/mockLatePolicy.js.map +1 -0
  182. package/dist/course/__mocks__/mockModuleData.js +55 -0
  183. package/dist/course/__mocks__/mockModuleData.js.map +1 -0
  184. package/dist/course/__mocks__/mockProgressData.js +29 -0
  185. package/dist/course/__mocks__/mockProgressData.js.map +1 -0
  186. package/dist/course/__tests__/Course.test.js +75 -0
  187. package/dist/course/__tests__/Course.test.js.map +1 -0
  188. package/dist/course/__tests__/blueprint.test.js +273 -0
  189. package/dist/course/__tests__/blueprint.test.js.map +1 -0
  190. package/dist/course/__tests__/changeStartDate.test.js +240 -0
  191. package/dist/course/__tests__/changeStartDate.test.js.map +1 -0
  192. package/dist/course/__tests__/index.test.js +77 -0
  193. package/dist/course/__tests__/index.test.js.map +1 -0
  194. package/dist/course/blueprint.d.ts +1 -1
  195. package/dist/course/blueprint.js +108 -0
  196. package/dist/course/blueprint.js.map +1 -0
  197. package/dist/course/cachedGetAssociatedCoursesFunc.d.ts +2 -2
  198. package/dist/course/cachedGetAssociatedCoursesFunc.js +14 -0
  199. package/dist/course/cachedGetAssociatedCoursesFunc.js.map +1 -0
  200. package/dist/course/changeStartDate.d.ts +7 -6
  201. package/dist/course/changeStartDate.d.ts.map +1 -1
  202. package/dist/course/changeStartDate.js +182 -0
  203. package/dist/course/changeStartDate.js.map +1 -0
  204. package/dist/course/code.js +39 -0
  205. package/dist/course/code.js.map +1 -0
  206. package/dist/course/courseTypes.d.ts +5 -5
  207. package/dist/course/courseTypes.js +3 -0
  208. package/dist/course/courseTypes.js.map +1 -0
  209. package/dist/course/getCourseIdFromUrl.d.ts +2 -1
  210. package/dist/course/getCourseIdFromUrl.d.ts.map +1 -1
  211. package/dist/course/getCourseIdFromUrl.js +12 -0
  212. package/dist/course/getCourseIdFromUrl.js.map +1 -0
  213. package/dist/course/getSections.d.ts +3 -3
  214. package/dist/course/getSections.js +10 -0
  215. package/dist/course/getSections.js.map +1 -0
  216. package/dist/course/getTermNameFromSections.d.ts +1 -1
  217. package/dist/course/getTermNameFromSections.js +13 -0
  218. package/dist/course/getTermNameFromSections.js.map +1 -0
  219. package/dist/course/index.js +28 -0
  220. package/dist/course/index.js.map +1 -0
  221. package/dist/course/migration/__mocks__/mockMigrationData.js +41 -0
  222. package/dist/course/migration/__mocks__/mockMigrationData.js.map +1 -0
  223. package/dist/course/migration/__tests__/migration.test.js +141 -0
  224. package/dist/course/migration/__tests__/migration.test.js.map +1 -0
  225. package/dist/course/migration/__tests__/migrationCache.test.js +42 -0
  226. package/dist/course/migration/__tests__/migrationCache.test.js.map +1 -0
  227. package/dist/course/migration/index.d.ts +2 -2
  228. package/dist/course/migration/index.js +74 -0
  229. package/dist/course/migration/index.js.map +1 -0
  230. package/dist/course/migration/migrationCache.js +44 -0
  231. package/dist/course/migration/migrationCache.js.map +1 -0
  232. package/dist/course/modules.d.ts +1 -1
  233. package/dist/course/modules.js +82 -0
  234. package/dist/course/modules.js.map +1 -0
  235. package/dist/course/notABlueprintError.js +8 -0
  236. package/dist/course/notABlueprintError.js.map +1 -0
  237. package/dist/course/references/getReferencesForText.d.ts +3 -2
  238. package/dist/course/references/getReferencesForText.d.ts.map +1 -1
  239. package/dist/course/references/getReferencesForText.js +14 -0
  240. package/dist/course/references/getReferencesForText.js.map +1 -0
  241. package/dist/course/references/getReferencesForText.test.js +21 -0
  242. package/dist/course/references/getReferencesForText.test.js.map +1 -0
  243. package/dist/course/references/getReferencesTemplate.d.ts +6 -6
  244. package/dist/course/references/getReferencesTemplate.d.ts.map +1 -1
  245. package/dist/course/references/getReferencesTemplate.js +30 -0
  246. package/dist/course/references/getReferencesTemplate.js.map +1 -0
  247. package/dist/course/references/mockCiteAsResponse.d.ts +2 -2
  248. package/dist/course/references/mockCiteAsResponse.d.ts.map +1 -1
  249. package/dist/course/references/mockCiteAsResponse.js +323 -0
  250. package/dist/course/references/mockCiteAsResponse.js.map +1 -0
  251. package/dist/course/retireBlueprint.d.ts +2 -2
  252. package/dist/course/retireBlueprint.js +21 -0
  253. package/dist/course/retireBlueprint.js.map +1 -0
  254. package/dist/course/toolbox.d.ts +3 -3
  255. package/dist/course/toolbox.js +96 -0
  256. package/dist/course/toolbox.js.map +1 -0
  257. package/dist/date.js +119 -0
  258. package/dist/date.js.map +1 -0
  259. package/dist/enrollments/EnrollmentTypes.d.ts +2 -2
  260. package/dist/enrollments/EnrollmentTypes.js +3 -0
  261. package/dist/enrollments/EnrollmentTypes.js.map +1 -0
  262. package/dist/enrollments/enrollmentRole.js +7 -0
  263. package/dist/enrollments/enrollmentRole.js.map +1 -0
  264. package/dist/enrollments/getEnrollmentGenerator.d.ts +2 -2
  265. package/dist/enrollments/getEnrollmentGenerator.js +25 -0
  266. package/dist/enrollments/getEnrollmentGenerator.js.map +1 -0
  267. package/dist/enrollments/index.js +20 -0
  268. package/dist/enrollments/index.js.map +1 -0
  269. package/dist/fetch/__mocks__/fetchJson.js +5 -0
  270. package/dist/fetch/__mocks__/fetchJson.js.map +1 -0
  271. package/dist/fetch/__mocks__/getPagedDataGenerator.js +10 -0
  272. package/dist/fetch/__mocks__/getPagedDataGenerator.js.map +1 -0
  273. package/dist/fetch/__mocks__/index.js +8 -0
  274. package/dist/fetch/__mocks__/index.js.map +1 -0
  275. package/dist/fetch/apiGetConfig.d.ts +1 -1
  276. package/dist/fetch/apiGetConfig.js +11 -0
  277. package/dist/fetch/apiGetConfig.js.map +1 -0
  278. package/dist/fetch/apiWriteConfig.d.ts +2 -2
  279. package/dist/fetch/apiWriteConfig.js +16 -0
  280. package/dist/fetch/apiWriteConfig.js.map +1 -0
  281. package/dist/fetch/canvasDataFetchGenFunc.d.ts +2 -2
  282. package/dist/fetch/canvasDataFetchGenFunc.js +13 -0
  283. package/dist/fetch/canvasDataFetchGenFunc.js.map +1 -0
  284. package/dist/fetch/fetchJson.d.ts +1 -1
  285. package/dist/fetch/fetchJson.js +19 -0
  286. package/dist/fetch/fetchJson.js.map +1 -0
  287. package/dist/fetch/getPagedDataGenerator.d.ts +2 -2
  288. package/dist/fetch/getPagedDataGenerator.js +145 -0
  289. package/dist/fetch/getPagedDataGenerator.js.map +1 -0
  290. package/dist/fetch/index.js +22 -0
  291. package/dist/fetch/index.js.map +1 -0
  292. package/dist/fetch/utils.d.ts +1 -1
  293. package/dist/fetch/utils.js +14 -0
  294. package/dist/fetch/utils.js.map +1 -0
  295. package/dist/files.js +33 -0
  296. package/dist/files.js.map +1 -0
  297. package/dist/fixes/annotations.d.ts +1 -1
  298. package/dist/fixes/annotations.js +95 -0
  299. package/dist/fixes/annotations.js.map +1 -0
  300. package/dist/fixes/index.js +87 -0
  301. package/dist/fixes/index.js.map +1 -0
  302. package/dist/index.d.ts +3 -3
  303. package/dist/index.js +60 -8923
  304. package/dist/index.js.map +1 -0
  305. package/dist/profile.d.ts +2 -2
  306. package/dist/profile.js +230 -0
  307. package/dist/profile.js.map +1 -0
  308. package/dist/rubricTypes.d.ts +14 -0
  309. package/dist/rubricTypes.d.ts.map +1 -1
  310. package/dist/rubricTypes.js +3 -0
  311. package/dist/rubricTypes.js.map +1 -0
  312. package/dist/rubrics.d.ts +1 -1
  313. package/dist/rubrics.js +46 -0
  314. package/dist/rubrics.js.map +1 -0
  315. package/dist/term/Term.d.ts +3 -3
  316. package/dist/term/Term.js +64 -0
  317. package/dist/term/Term.js.map +1 -0
  318. package/dist/term/__tests__/dateFromTermName.test.js +26 -0
  319. package/dist/term/__tests__/dateFromTermName.test.js.map +1 -0
  320. package/dist/term/__tests__/getTermsGenerator.test.js +19 -0
  321. package/dist/term/__tests__/getTermsGenerator.test.js.map +1 -0
  322. package/dist/term/dateFromTermName.js +17 -0
  323. package/dist/term/dateFromTermName.js.map +1 -0
  324. package/dist/term/getTermsGenerator.js +15 -0
  325. package/dist/term/getTermsGenerator.js.map +1 -0
  326. package/dist/term/index.js +20 -0
  327. package/dist/term/index.js.map +1 -0
  328. package/dist/toolbox.js +25 -0
  329. package/dist/toolbox.js.map +1 -0
  330. package/dist/types.d.ts +4 -3
  331. package/dist/types.d.ts.map +1 -1
  332. package/dist/types.js +3 -0
  333. package/dist/types.js.map +1 -0
  334. package/dist/users/getUserGenerator.d.ts +1 -1
  335. package/dist/users/getUserGenerator.js +21 -0
  336. package/dist/users/getUserGenerator.js.map +1 -0
  337. package/dist/users/index.js +18 -0
  338. package/dist/users/index.js.map +1 -0
  339. package/package.json +16 -10
@@ -0,0 +1,236 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const canvasUtils_1 = require("../canvasUtils");
4
+ const globals_1 = require("@jest/globals");
5
+ const getPagedDataGenerator_1 = require("../fetch/getPagedDataGenerator");
6
+ const utils_1 = require("../fetch/utils");
7
+ const fetchJson_1 = require("../fetch/fetchJson");
8
+ const canvasDataFetchGenFunc_1 = require("../fetch/canvasDataFetchGenFunc");
9
+ global.fetch = jest.fn();
10
+ const fetchMock = fetch;
11
+ (0, globals_1.describe)("renderAsyncGen renders an async generator out", () => {
12
+ const entries = (0, canvasUtils_1.range)(0, 20);
13
+ it("render async generator", async () => {
14
+ const asyncGen = async function* () {
15
+ for (const i of [...entries]) {
16
+ yield i;
17
+ }
18
+ };
19
+ const entryIterator = (0, canvasUtils_1.range)(0, 20);
20
+ for (const result of await (0, canvasUtils_1.renderAsyncGen)(asyncGen())) {
21
+ (0, globals_1.expect)(result).toEqual(entryIterator.next().value);
22
+ }
23
+ });
24
+ });
25
+ (0, globals_1.describe)("canvasDataFetchGenFunc", () => {
26
+ const config = { fetchInit: {} };
27
+ const goobers = [...(0, canvasUtils_1.range)(0, 10)].map((i) => ({ name: "thistle", courseId: i, gooberId: i }));
28
+ it("successfully generates urls and results", async () => {
29
+ const fetchGoobersGen = (0, canvasDataFetchGenFunc_1.canvasDataFetchGenFunc)(({ courseId, gooberId }) => `/api/v1/${courseId}/${gooberId}`);
30
+ for (let i = 0; i < 10; i++) {
31
+ (0, globals_1.expect)(fetchMock).toHaveBeenCalledTimes(i);
32
+ const expectedFetchResult = [goobers[i]];
33
+ fetchMock.mockResolvedValue({
34
+ json: async () => expectedFetchResult,
35
+ });
36
+ const getGoobers = fetchGoobersGen({ courseId: i, gooberId: i * 2 }, config);
37
+ const { value } = await getGoobers.next();
38
+ (0, globals_1.expect)(fetchMock).toHaveBeenCalledWith(`/api/v1/${i}/${i * 2}`, config.fetchInit);
39
+ (0, globals_1.expect)(value).toEqual(goobers[i]);
40
+ }
41
+ });
42
+ });
43
+ (0, globals_1.describe)("fetchJson", () => {
44
+ const testData = { a: 1, b: 2, c: 3 };
45
+ it("rejects relative paths", async () => {
46
+ await (0, globals_1.expect)(async () => await (0, fetchJson_1.fetchJson)("apple/dumpling/gang")).rejects.toThrow();
47
+ });
48
+ it("accepts paths starting with /", async () => {
49
+ fetchMock.mockResolvedValue({ json: async () => testData });
50
+ (0, globals_1.expect)(await (0, fetchJson_1.fetchJson)("/apple/dumpling/gang")).toEqual(testData);
51
+ });
52
+ it("accepts paths starting with http, http, ftp", async () => {
53
+ fetchMock.mockResolvedValue({ json: async () => testData });
54
+ (0, globals_1.expect)(await (0, fetchJson_1.fetchJson)("http://localhost:8080/apple/dumpling/gang")).toEqual(testData);
55
+ fetchMock.mockResolvedValue({ json: async () => testData });
56
+ (0, globals_1.expect)(await (0, fetchJson_1.fetchJson)("https://localhost:8080/apple/dumpling/gang")).toEqual(testData);
57
+ fetchMock.mockResolvedValue({ json: async () => testData });
58
+ (0, globals_1.expect)(await (0, fetchJson_1.fetchJson)("ftp://localhost:8080/apple/dumpling/gang")).toEqual(testData);
59
+ });
60
+ it("incorporatesQueryParams", async () => {
61
+ fetchMock.mockReturnValue({ json: async () => testData });
62
+ const fetchInit = { method: "PUT" };
63
+ await (0, fetchJson_1.fetchJson)("/url", {
64
+ queryParams: {
65
+ query: "test",
66
+ },
67
+ fetchInit,
68
+ });
69
+ (0, globals_1.expect)(fetchMock).toHaveBeenCalledWith("/url?query=test", fetchInit);
70
+ });
71
+ });
72
+ (0, globals_1.describe)("fetchGetConfig", () => {
73
+ beforeEach(() => {
74
+ jest.clearAllMocks();
75
+ });
76
+ it("should merge the options in", () => {
77
+ const options = { param1: "value1" };
78
+ const baseConfig = { queryParams: { a: "1" } };
79
+ const config = (0, utils_1.fetchGetConfig)(options, baseConfig);
80
+ (0, globals_1.expect)(config).toEqual((0, canvasUtils_1.deepObjectMerge)({ queryParams: options }, baseConfig));
81
+ });
82
+ });
83
+ (0, globals_1.describe)("getPagedDataGenerator", () => {
84
+ beforeEach(() => {
85
+ jest.clearAllMocks();
86
+ });
87
+ it("should append queryParams to the URL if provided", async () => {
88
+ const mockUrl = "http://example.com/api/data";
89
+ const mockConfig = {
90
+ queryParams: { key1: "value1", key2: "value2" },
91
+ };
92
+ const mockData = [{ id: 1 }, { id: 2 }];
93
+ fetchMock.mockResolvedValue({
94
+ json: jest.fn().mockResolvedValue(mockData),
95
+ headers: new Headers({}),
96
+ ok: true,
97
+ });
98
+ const urlWithParams = `${mockUrl}?key1=value1&key2=value2`;
99
+ const generator = (0, getPagedDataGenerator_1.getPagedDataGenerator)(mockUrl, mockConfig);
100
+ await generator.next();
101
+ (0, globals_1.expect)(fetchMock).toHaveBeenCalledWith(urlWithParams, mockConfig.fetchInit);
102
+ });
103
+ it("should yield data from the response", async () => {
104
+ const mockUrl = "http://example.com/api/data";
105
+ const mockData = [{ id: 1 }, { id: 2 }];
106
+ fetchMock.mockResolvedValue({
107
+ json: jest.fn().mockResolvedValue(mockData),
108
+ headers: new Headers({}),
109
+ ok: true,
110
+ });
111
+ const generator = (0, getPagedDataGenerator_1.getPagedDataGenerator)(mockUrl);
112
+ const result1 = await generator.next();
113
+ const result2 = await generator.next();
114
+ (0, globals_1.expect)(result1.value).toEqual({ id: 1 });
115
+ (0, globals_1.expect)(result2.value).toEqual({ id: 2 });
116
+ });
117
+ it("should handle paginated responses", async () => {
118
+ const mockUrl = "http://example.com/api/data";
119
+ const mockDataPage1 = [{ id: 1 }, { id: 2 }];
120
+ const mockDataPage2 = [{ id: 3 }, { id: 4 }];
121
+ const nextLink = '<http://example.com/api/data?page=2>; rel="next"';
122
+ fetchMock
123
+ .mockResolvedValueOnce({
124
+ json: jest.fn().mockResolvedValue(mockDataPage1),
125
+ headers: new Headers({ Link: nextLink }),
126
+ ok: true,
127
+ })
128
+ .mockResolvedValueOnce({
129
+ json: jest.fn().mockResolvedValue(mockDataPage2),
130
+ headers: new Headers({}),
131
+ ok: true,
132
+ });
133
+ const generator = (0, getPagedDataGenerator_1.getPagedDataGenerator)(mockUrl);
134
+ const result1 = await generator.next();
135
+ const result2 = await generator.next();
136
+ const result3 = await generator.next();
137
+ const result4 = await generator.next();
138
+ (0, globals_1.expect)([result1, result2, result3, result4].map((a) => a.value.id)).toEqual([1, 2, 3, 4]);
139
+ });
140
+ it('should log a warning if the URL contains "undefined"', async () => {
141
+ const mockUrl = "http://example.com/api/data/undefined";
142
+ const consoleWarnSpy = jest.spyOn(console, "warn").mockImplementation();
143
+ const mockData = [{ id: 1 }];
144
+ fetchMock.mockResolvedValue({
145
+ json: jest.fn().mockResolvedValue(mockData),
146
+ headers: new Headers({}),
147
+ ok: true,
148
+ });
149
+ const generator = (0, getPagedDataGenerator_1.getPagedDataGenerator)(mockUrl);
150
+ await generator.next();
151
+ (0, globals_1.expect)(consoleWarnSpy).toHaveBeenCalledWith(mockUrl);
152
+ consoleWarnSpy.mockRestore();
153
+ });
154
+ it("should return an empty array and log a warning if no data is found", async () => {
155
+ const mockUrl = "http://example.com/api/data";
156
+ const consoleWarnSpy = jest.spyOn(console, "warn").mockImplementation();
157
+ fetchMock.mockResolvedValue({
158
+ json: jest.fn().mockResolvedValue(null),
159
+ headers: new Headers({}),
160
+ ok: true,
161
+ });
162
+ const generator = (0, getPagedDataGenerator_1.getPagedDataGenerator)(mockUrl);
163
+ const result = await generator.next();
164
+ (0, globals_1.expect)(result.value).toEqual([]);
165
+ (0, globals_1.expect)(consoleWarnSpy).toHaveBeenCalledWith(`no data found for ${mockUrl}`);
166
+ consoleWarnSpy.mockRestore();
167
+ });
168
+ it("should process non-array object response data and yield values", async () => {
169
+ const mockUrl = "http://example.com/api/data";
170
+ const mockData = { items: [{ id: 1 }, { id: 2 }], otherKey: "value" };
171
+ fetchMock.mockResolvedValue({
172
+ json: jest.fn().mockResolvedValue(mockData),
173
+ headers: new Headers({}),
174
+ ok: true,
175
+ });
176
+ const generator = (0, getPagedDataGenerator_1.getPagedDataGenerator)(mockUrl);
177
+ const result1 = await generator.next();
178
+ const result2 = await generator.next();
179
+ (0, globals_1.expect)(result1.value).toEqual({ id: 1 });
180
+ (0, globals_1.expect)(result2.value).toEqual({ id: 2 });
181
+ });
182
+ it("should handle nested non-array object response data and yield values", async () => {
183
+ const mockUrl = "http://example.com/api/data";
184
+ const mockData = { items: [{ id: 1 }, { id: 2 }], otherKey: "value" };
185
+ fetchMock.mockResolvedValue({
186
+ json: jest.fn().mockResolvedValue(mockData),
187
+ headers: new Headers({}),
188
+ ok: true,
189
+ });
190
+ const generator = (0, getPagedDataGenerator_1.getPagedDataGenerator)(mockUrl);
191
+ const result1 = await generator.next();
192
+ const result2 = await generator.next();
193
+ (0, globals_1.expect)(result1.value).toEqual({ id: 1 });
194
+ (0, globals_1.expect)(result2.value).toEqual({ id: 2 });
195
+ });
196
+ it("should concatenate previous and current page data if response data is non-array object", async () => {
197
+ const mockUrl = "http://example.com/api/data";
198
+ const mockDataPage1 = [{ id: 1 }];
199
+ const mockDataPage2 = { items: [{ id: 2 }, { id: 3 }], otherKey: "value" };
200
+ const nextLink = '<http://example.com/api/data?page=2>; rel="next"';
201
+ fetchMock
202
+ .mockResolvedValueOnce({
203
+ json: jest.fn().mockResolvedValue(mockDataPage1),
204
+ headers: new Headers({ Link: nextLink }),
205
+ ok: true,
206
+ })
207
+ .mockResolvedValueOnce({
208
+ json: jest.fn().mockResolvedValue(mockDataPage2),
209
+ headers: new Headers({}),
210
+ ok: true,
211
+ });
212
+ const generator = (0, getPagedDataGenerator_1.getPagedDataGenerator)(mockUrl);
213
+ const result1 = await generator.next();
214
+ const result2 = await generator.next();
215
+ const result3 = await generator.next();
216
+ (0, globals_1.expect)(result1.value.id).toEqual(1);
217
+ (0, globals_1.expect)(result2.value.id).toEqual(2);
218
+ (0, globals_1.expect)(result3.value.id).toEqual(3);
219
+ });
220
+ it("should stop pagination when no next link is present", async () => {
221
+ const mockUrl = "http://example.com/api/data";
222
+ const mockDataPage1 = [{ id: 1 }];
223
+ const noNextLink = "";
224
+ fetchMock.mockResolvedValueOnce({
225
+ json: jest.fn().mockResolvedValue(mockDataPage1),
226
+ headers: new Headers({ Link: noNextLink }),
227
+ ok: true,
228
+ });
229
+ const generator = (0, getPagedDataGenerator_1.getPagedDataGenerator)(mockUrl);
230
+ const result1 = await generator.next();
231
+ const result2 = await generator.next();
232
+ (0, globals_1.expect)(result1.value).toEqual({ id: 1 });
233
+ (0, globals_1.expect)(result2.done).toBe(true);
234
+ });
235
+ });
236
+ //# sourceMappingURL=fetch.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.test.js","sourceRoot":"","sources":["../../src/__tests__/fetch.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const profile_1 = require("../profile");
4
+ const mockUserData_1 = require("../__mocks__/mockUserData");
5
+ describe('frontPageBio', () => {
6
+ const profile = {
7
+ user: { ...mockUserData_1.mockUserData, email: "ttestersson@unity.edu" },
8
+ displayName: "Test Testersson Phd"
9
+ };
10
+ it('renders display name properly', () => {
11
+ expect((0, profile_1.frontPageBio)(profile)).toContain(profile.displayName);
12
+ });
13
+ it('renders email properly', () => {
14
+ expect((0, profile_1.frontPageBio)(profile)).toContain(profile.user.email);
15
+ });
16
+ });
17
+ //# sourceMappingURL=profile.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.test.js","sourceRoot":"","sources":["../../src/__tests__/profile.test.ts"],"names":[],"mappings":";;AACA,wCAAwC;AACxC,4DAAuD;AAIvD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IACtB,MAAM,OAAO,GAAG;QACZ,IAAI,EAAE,EAAC,GAAG,2BAAY,EAAE,KAAK,EAAE,uBAAuB,EAAC;QACvD,WAAW,EAAE,qBAAqB;KACrC,CAAA;IACL,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjE,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC,CAAC,CAAA;AAEN,CAAC,CAAC,CAAA"}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const rubrics_1 = require("../rubrics");
37
+ const utils_1 = require("../__mocks__/utils");
38
+ const mockRubricData_1 = __importStar(require("../__mocks__/mockRubricData"));
39
+ const canvasUtils_1 = require("../canvasUtils");
40
+ const getPagedDataGenerator_1 = require("../fetch/getPagedDataGenerator");
41
+ const fetchJson_1 = require("../fetch/fetchJson");
42
+ jest.mock('../fetch/fetchJson', () => ({
43
+ fetchJson: jest.fn(),
44
+ }));
45
+ jest.mock('../fetch/getPagedDataGenerator', () => ({
46
+ getPagedDataGenerator: jest.fn(),
47
+ }));
48
+ jest.mock('../canvasUtils', () => ({
49
+ ...jest.requireActual('../canvasUtils'),
50
+ formDataify: jest.fn(),
51
+ }));
52
+ const pagedDataGenMock = getPagedDataGenerator_1.getPagedDataGenerator;
53
+ const fetchJsonMock = fetchJson_1.fetchJson;
54
+ describe('rubricsForCourseGen', () => {
55
+ beforeEach(() => {
56
+ pagedDataGenMock.mockClear();
57
+ });
58
+ it('gets rubrics for a course', async () => {
59
+ const mockRubrics = [{ ...mockRubricData_1.default, id: 1 }, { ...mockRubricData_1.default, id: 2 }];
60
+ const config = { fetchInit: {} };
61
+ pagedDataGenMock.mockImplementation((0, utils_1.returnMockAsyncGen)(mockRubrics));
62
+ const rubricGen = (0, rubrics_1.rubricsForCourseGen)(0, {}, config);
63
+ expect(await (0, canvasUtils_1.renderAsyncGen)(rubricGen)).toEqual(mockRubrics);
64
+ expect(pagedDataGenMock).toHaveBeenCalledWith((0, rubrics_1.getRubricsFetchUrl)(0), config);
65
+ });
66
+ it('includes associations when needed', async () => {
67
+ const mockRubrics = (0, mockRubricData_1.mockRubricsForAssignments)([0, 1, 2, 3], undefined, {});
68
+ const mockWithAssociations = (0, mockRubricData_1.mockRubricsForAssignments)([0, 1, 2, 3]);
69
+ const mockAssociations = mockWithAssociations.map(rubric => rubric.associations);
70
+ const config = { fetchInit: {} };
71
+ getPagedDataGenerator_1.getPagedDataGenerator.mockImplementation((0, utils_1.returnMockAsyncGen)(mockRubrics));
72
+ const rubricGen = (0, rubrics_1.rubricsForCourseGen)(0, { include: ['associations'] }, config);
73
+ expect(pagedDataGenMock.mock.lastCall).toEqual([
74
+ (0, rubrics_1.getRubricsFetchUrl)(0), config
75
+ ]);
76
+ const mockRubricIterator = mockRubrics.values();
77
+ const mockAssocIterator = mockAssociations.values();
78
+ fetchJsonMock.mockImplementation(async (url, config) => {
79
+ const rubric = mockRubricIterator.next().value;
80
+ return { ...rubric, associations: mockAssocIterator.next().value };
81
+ });
82
+ expect(await (0, canvasUtils_1.renderAsyncGen)(rubricGen)).toEqual(mockWithAssociations);
83
+ });
84
+ });
85
+ describe('getRubric', () => {
86
+ beforeEach(() => {
87
+ fetchJsonMock.mockClear();
88
+ });
89
+ it('calls with the correct parameters, returnValue', async () => {
90
+ const [courseId, rubricId] = [1, 2];
91
+ const expectedUrl = (0, rubrics_1.rubricApiUrl)(courseId, rubricId);
92
+ fetchJsonMock.mockResolvedValue(mockRubricData_1.default);
93
+ const rubric = await (0, rubrics_1.getRubric)(courseId, rubricId, { include: ["associations"] }, { fetchInit: {} });
94
+ expect(fetchJsonMock.mock.lastCall).toEqual([
95
+ expectedUrl,
96
+ {
97
+ fetchInit: {},
98
+ queryParams: { include: ['associations'] }
99
+ }
100
+ ]);
101
+ expect(rubric).toEqual(mockRubricData_1.default);
102
+ });
103
+ });
104
+ describe('rubricAssociationUrl', () => {
105
+ it('should return the correct URL for given courseId and rubricAssociationId', () => {
106
+ const courseId = 123;
107
+ const rubricAssociationId = 456;
108
+ const expectedUrl = `/api/v1/courses/${courseId}/rubric_associations/${rubricAssociationId}`;
109
+ expect((0, rubrics_1.rubricAssociationUrl)(courseId, rubricAssociationId)).toBe(expectedUrl);
110
+ });
111
+ });
112
+ // Mock dependencies
113
+ describe('updateRubricAssociation', () => {
114
+ const courseId = 123;
115
+ const rubricAssociationId = 456;
116
+ const data = { id: 1, rubric_association: {} };
117
+ const config = { fetchInit: {} };
118
+ beforeEach(() => {
119
+ fetchJsonMock.mockClear();
120
+ });
121
+ it('should call fetchJson with the correct URL and merged config', async () => {
122
+ const mergedConfig = {
123
+ fetchInit: {
124
+ method: 'PUT',
125
+ body: 'someFormData'
126
+ }
127
+ };
128
+ canvasUtils_1.formDataify.mockReturnValue('someFormData');
129
+ fetchJsonMock.mockResolvedValue('response');
130
+ const result = await (0, rubrics_1.updateRubricAssociation)(courseId, rubricAssociationId, data, config);
131
+ expect(canvasUtils_1.formDataify).toHaveBeenCalledWith(data);
132
+ expect(fetchJson_1.fetchJson).toHaveBeenCalledWith(`/api/v1/courses/${courseId}/rubric_associations/${rubricAssociationId}`, mergedConfig);
133
+ expect(result).toBe('response');
134
+ });
135
+ });
136
+ //# sourceMappingURL=rubrics.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rubrics.test.js","sourceRoot":"","sources":["../../src/__tests__/rubrics.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BaseCanvasObject = void 0;
7
+ const assert_1 = __importDefault(require("assert"));
8
+ const canvasUtils_1 = require("./canvasUtils");
9
+ const getPagedDataGenerator_1 = require("./fetch/getPagedDataGenerator");
10
+ const utils_1 = require("./fetch/utils");
11
+ const fetchJson_1 = require("./fetch/fetchJson");
12
+ /**
13
+ * DEPRECATED
14
+ */
15
+ class BaseCanvasObject {
16
+ static idProperty = 'id'; // The field name of the id of the canvas object type
17
+ static nameProperty = 'name'; // The field name of the primary name of the canvas object type
18
+ static contentUrlTemplate = null; // A templated url to get a single item
19
+ static allContentUrlTemplate = null; // A templated url to get all items
20
+ canvasData;
21
+ _accountId = null;
22
+ get accountId() {
23
+ return this._accountId;
24
+ }
25
+ constructor(data) {
26
+ this.canvasData = data || {}; // A dict holding the decoded json representation of the object in Canvas
27
+ }
28
+ getClass() {
29
+ return this.constructor;
30
+ }
31
+ getItem(item) {
32
+ return this.canvasData[item];
33
+ }
34
+ get myClass() {
35
+ return this.constructor;
36
+ }
37
+ get nameKey() {
38
+ (0, assert_1.default)(this.myClass.nameProperty);
39
+ return this.myClass.nameProperty;
40
+ }
41
+ get rawData() {
42
+ return { ...this.canvasData };
43
+ }
44
+ get contentUrlPath() {
45
+ const constructor = this.constructor;
46
+ (0, assert_1.default)(typeof this.accountId === 'number');
47
+ (0, assert_1.default)(typeof constructor.contentUrlTemplate === 'string');
48
+ return '/api/v1/' + constructor.contentUrlTemplate
49
+ .replace('{content_id}', this.id.toString())
50
+ .replace('{account_id}', this.accountId.toString());
51
+ }
52
+ get htmlContentUrl() {
53
+ return `${this.contentUrlPath}`;
54
+ }
55
+ get data() {
56
+ return this.canvasData;
57
+ }
58
+ static async getDataById(contentId, courseId = null, config = null) {
59
+ const url = this.getUrlPathFromIds(contentId, courseId);
60
+ const response = await (0, fetchJson_1.fetchJson)(url, config);
61
+ (0, assert_1.default)(!Array.isArray(response));
62
+ return response;
63
+ }
64
+ static getUrlPathFromIds(contentId, courseId) {
65
+ (0, assert_1.default)(typeof this.contentUrlTemplate === 'string');
66
+ let url = this.contentUrlTemplate
67
+ .replace('{content_id}', contentId.toString());
68
+ if (courseId)
69
+ url = url.replace('{course_id}', courseId.toString());
70
+ return url;
71
+ }
72
+ /**
73
+ * @param courseId - The course ID to get elements within, if applicable
74
+ * @param accountId - The account ID to get elements within, if applicable
75
+ */
76
+ static getAllUrl(courseId = null, accountId = null) {
77
+ (0, assert_1.default)(typeof this.allContentUrlTemplate === 'string');
78
+ let replaced = this.allContentUrlTemplate;
79
+ if (courseId)
80
+ replaced = replaced.replace('{course_id}', courseId.toString());
81
+ if (accountId)
82
+ replaced = replaced.replace('{account_id}', accountId.toString());
83
+ return replaced;
84
+ }
85
+ static async getAll(config = null) {
86
+ const url = this.getAllUrl();
87
+ return await (0, canvasUtils_1.renderAsyncGen)((0, getPagedDataGenerator_1.getPagedDataGenerator)(this.getAllUrl(), config));
88
+ }
89
+ get id() {
90
+ const id = this.canvasData[this.constructor.idProperty];
91
+ return parseInt(id);
92
+ }
93
+ get name() {
94
+ const nameProperty = this.getClass().nameProperty;
95
+ if (!nameProperty)
96
+ return 'NAME PROPERTY NOT SET';
97
+ return this.getItem(nameProperty);
98
+ }
99
+ async saveData(data, config) {
100
+ (0, assert_1.default)(this.contentUrlPath);
101
+ config = (0, utils_1.overrideConfig)({
102
+ fetchInit: {
103
+ method: 'PUT',
104
+ body: (0, canvasUtils_1.formDataify)(data)
105
+ }
106
+ }, config);
107
+ let results = await (0, fetchJson_1.fetchJson)(this.contentUrlPath, config);
108
+ if (Array.isArray(results))
109
+ results = results[0];
110
+ this.canvasData = { ...this.canvasData, ...results };
111
+ return this.canvasData;
112
+ }
113
+ }
114
+ exports.BaseCanvasObject = BaseCanvasObject;
115
+ //# sourceMappingURL=baseCanvasObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseCanvasObject.js","sourceRoot":"","sources":["../src/baseCanvasObject.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@ export type CanvasData = Record<string, any> & {
4
4
  export interface HasUser extends CanvasData {
5
5
  user: IUserData;
6
6
  }
7
+ export interface IEnrollmentData extends CanvasData {
8
+ user: IUserData;
9
+ enrollment_state: string;
10
+ }
7
11
  export interface IUserData extends CanvasData {
8
12
  id: number;
9
13
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"canvasDataDefs.d.ts","sourceRoot":"","sources":["../src/canvasDataDefs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvasDataDefs.d.ts","sourceRoot":"","sources":["../src/canvasDataDefs.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAA;AAGD,MAAM,WAAW,OAAQ,SAAQ,UAAU;IACvC,IAAI,EAAE,SAAS,CAAA;CAClB;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IAC/C,IAAI,EAAE,SAAS,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,SAAU,SAAQ,UAAU;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;CACf;AAGD,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,2BAA2B,EAAE,OAAO,CAAC;IACrC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,MAAM,cAAc,GACtB,MAAM,GACJ,YAAY,GACZ,YAAY,GACZ,MAAM,GACN,cAAc,GACd,aAAa,GACb,MAAM,GACN,WAAW,CAAA;AACjB,MAAM,MAAM,sBAAsB,GAC9B,YAAY,GACV,YAAY,GACZ,kBAAkB,GAClB,eAAe,GACf,UAAU,GACV,MAAM,GACN,WAAW,CAAA;AAGjB,MAAM,WAAW,eAAgB,SAAQ,UAAU;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB,CAAC,EAAE;QACrB,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,iBAAiB,GAAG,aAAa,GAAG,gBAAgB,CAAC;QACvF,SAAS,CAAC,EAAE,MAAM,CAAA;KACrB,CAAC;IACF,eAAe,CAAC,EAAE;QACd,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAA;CACJ;AAGD,MAAM,WAAW,eAAe;IAC5B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CACtE;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC,CAAC,EAAE,OAAO,CAAC;IACjD,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,mCAAmC,CAAC,EAAE,OAAO,CAAC;IAC9C,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,yCAAyC,CAAC,EAAE,OAAO,CAAC;IACpD,iCAAiC,CAAC,EAAE,MAAM,CAAA;CAC7C;AAED,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC,EAAE,OAAO,CAAC;IAChD,8BAA8B,EAAE,MAAM,CAAC;IACvC,mCAAmC,EAAE,OAAO,CAAC;IAC7C,2BAA2B,EAAE,MAAM,CAAC;IACpC,0BAA0B,EAAE,MAAM,CAAC;IACnC,yCAAyC,EAAE,OAAO,CAAC;IACnD,iCAAiC,EAAE,MAAM,CAAA;CAC5C;AAED,MAAM,WAAW,YAAY;IACzB,eAAe,EAAE,MAAM,GAAC,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8BAA8B,EAAE,MAAM,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B,EAAE,MAAM,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,GAAC,IAAI,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB,EAAE,MAAM,CAAC;IACjC,cAAc,EAAE,QAAQ,GAAG,SAAS,CAAC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAA;CACxB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=canvasDataDefs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvasDataDefs.js","sourceRoot":"","sources":["../src/canvasDataDefs.ts"],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  import { IModuleItemData, RestrictModuleItemType } from "./canvasDataDefs";
2
2
  import { Course } from "./course/Course";
3
- import { ICourseData } from "@/types";
3
+ import { ICourseData } from "./types";
4
4
  /**
5
5
  * Takes in a list of functions and calls all of them, returning the result.
6
6
  * This is an abomination.