@ueu/ueu-canvas 0.0.2 → 0.0.3
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.
- package/dist/Account.d.ts +22 -0
- package/dist/Account.d.ts.map +1 -0
- package/dist/NotImplementedException.d.ts +4 -0
- package/dist/NotImplementedException.d.ts.map +1 -0
- package/dist/__mocks__/Account.d.ts +17 -0
- package/dist/__mocks__/Account.d.ts.map +1 -0
- package/dist/__mocks__/index.d.ts +9 -0
- package/dist/__mocks__/index.d.ts.map +1 -0
- package/dist/__mocks__/mockAccountData.d.ts +6 -0
- package/dist/__mocks__/mockAccountData.d.ts.map +1 -0
- package/dist/__mocks__/mockEnrollment.d.ts +3 -0
- package/dist/__mocks__/mockEnrollment.d.ts.map +1 -0
- package/dist/__mocks__/mockRubricData.d.ts +20 -0
- package/dist/__mocks__/mockRubricData.d.ts.map +1 -0
- package/dist/__mocks__/mockTabData.d.ts +4 -0
- package/dist/__mocks__/mockTabData.d.ts.map +1 -0
- package/dist/__mocks__/mockTermData.d.ts +3 -0
- package/dist/__mocks__/mockTermData.d.ts.map +1 -0
- package/dist/__mocks__/mockUserData.d.ts +3 -0
- package/dist/__mocks__/mockUserData.d.ts.map +1 -0
- package/dist/__mocks__/utils.d.ts +3 -0
- package/dist/__mocks__/utils.d.ts.map +1 -0
- package/dist/__tests__/canvasUtils.test.d.ts +2 -0
- package/dist/__tests__/canvasUtils.test.d.ts.map +1 -0
- package/dist/__tests__/fetch.test.d.ts +2 -0
- package/dist/__tests__/fetch.test.d.ts.map +1 -0
- package/dist/__tests__/profile.test.d.ts +2 -0
- package/dist/__tests__/profile.test.d.ts.map +1 -0
- package/dist/__tests__/rubrics.test.d.ts +2 -0
- package/dist/__tests__/rubrics.test.d.ts.map +1 -0
- package/dist/baseCanvasObject.d.ts +41 -0
- package/dist/baseCanvasObject.d.ts.map +1 -0
- package/dist/canvasDataDefs.d.ts +97 -0
- package/dist/canvasDataDefs.d.ts.map +1 -0
- package/dist/canvasUtils.d.ts +65 -0
- package/dist/canvasUtils.d.ts.map +1 -0
- package/dist/consts.d.ts +3 -0
- package/dist/consts.d.ts.map +1 -0
- package/dist/content/BaseContentItem.d.ts +32 -0
- package/dist/content/BaseContentItem.d.ts.map +1 -0
- package/dist/content/ContentKind.d.ts +28 -0
- package/dist/content/ContentKind.d.ts.map +1 -0
- package/dist/content/__mocks__/determineContent.d.ts +65 -0
- package/dist/content/__mocks__/determineContent.d.ts.map +1 -0
- package/dist/content/__mocks__/mockAssignmentSubmission.d.ts +4 -0
- package/dist/content/__mocks__/mockAssignmentSubmission.d.ts.map +1 -0
- package/dist/content/__mocks__/mockContentData.d.ts +8 -0
- package/dist/content/__mocks__/mockContentData.d.ts.map +1 -0
- package/dist/content/__mocks__/openThisContentInTarget.d.ts +3 -0
- package/dist/content/__mocks__/openThisContentInTarget.d.ts.map +1 -0
- package/dist/content/__testingUtils__/utils.d.ts +6 -0
- package/dist/content/__testingUtils__/utils.d.ts.map +1 -0
- package/dist/content/__tests__/determineContent.test.d.ts +2 -0
- package/dist/content/__tests__/determineContent.test.d.ts.map +1 -0
- package/dist/content/__tests__/getContentFuncs.test.d.ts +2 -0
- package/dist/content/__tests__/getContentFuncs.test.d.ts.map +1 -0
- package/dist/content/assignments/Assignment.d.ts +15 -0
- package/dist/content/assignments/Assignment.d.ts.map +1 -0
- package/dist/content/assignments/AssignmentKind.d.ts +14 -0
- package/dist/content/assignments/AssignmentKind.d.ts.map +1 -0
- package/dist/content/assignments/__tests__/AssignmentKind.test.d.ts +2 -0
- package/dist/content/assignments/__tests__/AssignmentKind.test.d.ts.map +1 -0
- package/dist/content/assignments/__tests__/assignments.test.d.ts +2 -0
- package/dist/content/assignments/__tests__/assignments.test.d.ts.map +1 -0
- package/dist/content/assignments/deleteAssignmentGroup.d.ts +2 -0
- package/dist/content/assignments/deleteAssignmentGroup.d.ts.map +1 -0
- package/dist/content/assignments/genAssignmentGroups.d.ts +4 -0
- package/dist/content/assignments/genAssignmentGroups.d.ts.map +1 -0
- package/dist/content/assignments/index.d.ts +11 -0
- package/dist/content/assignments/index.d.ts.map +1 -0
- package/dist/content/assignments/legacy.d.ts +4 -0
- package/dist/content/assignments/legacy.d.ts.map +1 -0
- package/dist/content/assignments/updateAssignmentDueDates.d.ts +7 -0
- package/dist/content/assignments/updateAssignmentDueDates.d.ts.map +1 -0
- package/dist/content/determineContent.d.ts +19 -0
- package/dist/content/determineContent.d.ts.map +1 -0
- package/dist/content/discussions/Discussion.d.ts +13 -0
- package/dist/content/discussions/Discussion.d.ts.map +1 -0
- package/dist/content/discussions/DiscussionKind.d.ts +14 -0
- package/dist/content/discussions/DiscussionKind.d.ts.map +1 -0
- package/dist/content/discussions/__tests__/DiscussionKind.test.d.ts +2 -0
- package/dist/content/discussions/__tests__/DiscussionKind.test.d.ts.map +1 -0
- package/dist/content/discussions/genEquivalentDiscussionData.d.ts +32 -0
- package/dist/content/discussions/genEquivalentDiscussionData.d.ts.map +1 -0
- package/{src/content/discussions/index.ts → dist/content/discussions/index.d.ts} +1 -0
- package/dist/content/discussions/index.d.ts.map +1 -0
- package/dist/content/getContentFuncs.d.ts +3 -0
- package/dist/content/getContentFuncs.d.ts.map +1 -0
- package/{src/content/index.ts → dist/content/index.d.ts} +3 -3
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/openThisContentInTarget.d.ts +3 -0
- package/dist/content/openThisContentInTarget.d.ts.map +1 -0
- package/dist/content/pages/Page.d.ts +15 -0
- package/dist/content/pages/Page.d.ts.map +1 -0
- package/dist/content/pages/PageKind.d.ts +15 -0
- package/dist/content/pages/PageKind.d.ts.map +1 -0
- package/dist/content/pages/__tests__/PageKind.test.d.ts +2 -0
- package/dist/content/pages/__tests__/PageKind.test.d.ts.map +1 -0
- package/dist/content/pages/__tests__/learningMaterialsForModule.d.ts +2 -0
- package/dist/content/pages/__tests__/learningMaterialsForModule.d.ts.map +1 -0
- package/dist/content/pages/index.d.ts +10 -0
- package/dist/content/pages/index.d.ts.map +1 -0
- package/dist/content/pages/learningMaterialsForModule.d.ts +7 -0
- package/dist/content/pages/learningMaterialsForModule.d.ts.map +1 -0
- package/dist/content/pages/types.d.ts +11 -0
- package/dist/content/pages/types.d.ts.map +1 -0
- package/dist/content/quizzes/Quiz.d.ts +9 -0
- package/dist/content/quizzes/Quiz.d.ts.map +1 -0
- package/dist/content/quizzes/QuizKind.d.ts +13 -0
- package/dist/content/quizzes/QuizKind.d.ts.map +1 -0
- package/dist/content/quizzes/__tests__/QuizKind.test.d.ts +2 -0
- package/dist/content/quizzes/__tests__/QuizKind.test.d.ts.map +1 -0
- package/dist/content/quizzes/index.d.ts +2 -0
- package/dist/content/quizzes/index.d.ts.map +1 -0
- package/dist/content/quizzes/types.d.ts +45 -0
- package/dist/content/quizzes/types.d.ts.map +1 -0
- package/dist/content/types.d.ts +229 -0
- package/dist/content/types.d.ts.map +1 -0
- package/dist/course/Course.d.ts +87 -0
- package/dist/course/Course.d.ts.map +1 -0
- package/dist/course/IBlueprintCourse.d.ts +7 -0
- package/dist/course/IBlueprintCourse.d.ts.map +1 -0
- package/dist/course/__mocks__/blueprint.d.ts +14 -0
- package/dist/course/__mocks__/blueprint.d.ts.map +1 -0
- package/dist/course/__mocks__/mockCourseData.d.ts +3 -0
- package/dist/course/__mocks__/mockCourseData.d.ts.map +1 -0
- package/dist/course/__mocks__/mockLatePolicy.d.ts +4 -0
- package/dist/course/__mocks__/mockLatePolicy.d.ts.map +1 -0
- package/dist/course/__mocks__/mockModuleData.d.ts +7 -0
- package/dist/course/__mocks__/mockModuleData.d.ts.map +1 -0
- package/dist/course/__mocks__/mockProgressData.d.ts +3 -0
- package/dist/course/__mocks__/mockProgressData.d.ts.map +1 -0
- package/dist/course/__tests__/Course.test.d.ts +2 -0
- package/dist/course/__tests__/Course.test.d.ts.map +1 -0
- package/dist/course/__tests__/blueprint.test.d.ts +2 -0
- package/dist/course/__tests__/blueprint.test.d.ts.map +1 -0
- package/dist/course/__tests__/changeStartDate.test.d.ts +2 -0
- package/dist/course/__tests__/changeStartDate.test.d.ts.map +1 -0
- package/dist/course/__tests__/index.test.d.ts +2 -0
- package/dist/course/__tests__/index.test.d.ts.map +1 -0
- package/dist/course/blueprint.d.ts +21 -0
- package/dist/course/blueprint.d.ts.map +1 -0
- package/dist/course/cachedGetAssociatedCoursesFunc.d.ts +4 -0
- package/dist/course/cachedGetAssociatedCoursesFunc.d.ts.map +1 -0
- package/dist/course/changeStartDate.d.ts +25 -0
- package/dist/course/changeStartDate.d.ts.map +1 -0
- package/dist/course/code.d.ts +9 -0
- package/dist/course/code.d.ts.map +1 -0
- package/dist/course/courseTypes.d.ts +102 -0
- package/dist/course/courseTypes.d.ts.map +1 -0
- package/dist/course/getCourseIdFromUrl.d.ts +2 -0
- package/dist/course/getCourseIdFromUrl.d.ts.map +1 -0
- package/dist/course/getSections.d.ts +5 -0
- package/dist/course/getSections.d.ts.map +1 -0
- package/dist/course/getTermNameFromSections.d.ts +3 -0
- package/dist/course/getTermNameFromSections.d.ts.map +1 -0
- package/dist/course/index.d.ts +12 -0
- package/dist/course/index.d.ts.map +1 -0
- package/dist/course/migration/__mocks__/mockMigrationData.d.ts +6 -0
- package/dist/course/migration/__mocks__/mockMigrationData.d.ts.map +1 -0
- package/dist/course/migration/__tests__/migration.test.d.ts +2 -0
- package/dist/course/migration/__tests__/migration.test.d.ts.map +1 -0
- package/dist/course/migration/__tests__/migrationCache.test.d.ts +2 -0
- package/dist/course/migration/__tests__/migrationCache.test.d.ts.map +1 -0
- package/dist/course/migration/index.d.ts +47 -0
- package/dist/course/migration/index.d.ts.map +1 -0
- package/dist/course/migration/migrationCache.d.ts +12 -0
- package/dist/course/migration/migrationCache.d.ts.map +1 -0
- package/dist/course/modules.d.ts +35 -0
- package/dist/course/modules.d.ts.map +1 -0
- package/dist/course/notABlueprintError.d.ts +4 -0
- package/dist/course/notABlueprintError.d.ts.map +1 -0
- package/dist/course/references/getReferencesForText.d.ts +3 -0
- package/dist/course/references/getReferencesForText.d.ts.map +1 -0
- package/dist/course/references/getReferencesForText.test.d.ts +2 -0
- package/dist/course/references/getReferencesForText.test.d.ts.map +1 -0
- package/dist/course/references/getReferencesTemplate.d.ts +13 -0
- package/dist/course/references/getReferencesTemplate.d.ts.map +1 -0
- package/dist/course/references/mockCiteAsResponse.d.ts +127 -0
- package/dist/course/references/mockCiteAsResponse.d.ts.map +1 -0
- package/dist/course/retireBlueprint.d.ts +4 -0
- package/dist/course/retireBlueprint.d.ts.map +1 -0
- package/dist/course/toolbox.d.ts +18 -0
- package/dist/course/toolbox.d.ts.map +1 -0
- package/dist/date.d.ts +18 -0
- package/dist/date.d.ts.map +1 -0
- package/dist/enrollments/EnrollmentTypes.d.ts +60 -0
- package/dist/enrollments/EnrollmentTypes.d.ts.map +1 -0
- package/dist/enrollments/enrollmentRole.d.ts +5 -0
- package/dist/enrollments/enrollmentRole.d.ts.map +1 -0
- package/dist/enrollments/getEnrollmentGenerator.d.ts +40 -0
- package/dist/enrollments/getEnrollmentGenerator.d.ts.map +1 -0
- package/dist/enrollments/index.d.ts +4 -0
- package/dist/enrollments/index.d.ts.map +1 -0
- package/dist/fetch/__mocks__/fetchJson.d.ts +4 -0
- package/dist/fetch/__mocks__/fetchJson.d.ts.map +1 -0
- package/dist/fetch/__mocks__/getPagedDataGenerator.d.ts +4 -0
- package/dist/fetch/__mocks__/getPagedDataGenerator.d.ts.map +1 -0
- package/dist/fetch/__mocks__/index.d.ts +4 -0
- package/dist/fetch/__mocks__/index.d.ts.map +1 -0
- package/dist/fetch/apiGetConfig.d.ts +4 -0
- package/dist/fetch/apiGetConfig.d.ts.map +1 -0
- package/dist/fetch/apiWriteConfig.d.ts +4 -0
- package/dist/fetch/apiWriteConfig.d.ts.map +1 -0
- package/dist/fetch/canvasDataFetchGenFunc.d.ts +6 -0
- package/dist/fetch/canvasDataFetchGenFunc.d.ts.map +1 -0
- package/dist/fetch/fetchJson.d.ts +3 -0
- package/dist/fetch/fetchJson.d.ts.map +1 -0
- package/dist/fetch/getPagedDataGenerator.d.ts +63 -0
- package/dist/fetch/getPagedDataGenerator.d.ts.map +1 -0
- package/{src/fetch/index.ts → dist/fetch/index.d.ts} +1 -0
- package/dist/fetch/index.d.ts.map +1 -0
- package/dist/fetch/utils.d.ts +4 -0
- package/dist/fetch/utils.d.ts.map +1 -0
- package/dist/files.d.ts +29 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/fixes/annotations.d.ts +15 -0
- package/dist/fixes/annotations.d.ts.map +1 -0
- package/dist/fixes/index.d.ts +36 -0
- package/dist/fixes/index.d.ts.map +1 -0
- package/{src/index.ts → dist/index.d.ts} +5 -10
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8929 -0
- package/dist/profile.d.ts +24 -0
- package/dist/profile.d.ts.map +1 -0
- package/dist/rubricTypes.d.ts +71 -0
- package/dist/rubricTypes.d.ts.map +1 -0
- package/dist/rubrics.d.ts +9 -0
- package/dist/rubrics.d.ts.map +1 -0
- package/dist/term/Term.d.ts +21 -0
- package/dist/term/Term.d.ts.map +1 -0
- package/dist/term/__tests__/dateFromTermName.test.d.ts +2 -0
- package/dist/term/__tests__/dateFromTermName.test.d.ts.map +1 -0
- package/dist/term/__tests__/getTermsGenerator.test.d.ts +2 -0
- package/dist/term/__tests__/getTermsGenerator.test.d.ts.map +1 -0
- package/dist/term/dateFromTermName.d.ts +4 -0
- package/dist/term/dateFromTermName.d.ts.map +1 -0
- package/dist/term/getTermsGenerator.d.ts +7 -0
- package/dist/term/getTermsGenerator.d.ts.map +1 -0
- package/dist/term/index.d.ts +4 -0
- package/dist/term/index.d.ts.map +1 -0
- package/dist/toolbox.d.ts +5 -0
- package/dist/toolbox.d.ts.map +1 -0
- package/dist/types.d.ts +120 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/users/getUserGenerator.d.ts +19 -0
- package/dist/users/getUserGenerator.d.ts.map +1 -0
- package/dist/users/index.d.ts +2 -0
- package/dist/users/index.d.ts.map +1 -0
- package/package.json +49 -45
- package/LICENSE +0 -21
- package/html-loader.js +0 -7
- package/jest.config.js +0 -20
- package/src/Account.ts +0 -69
- package/src/NotImplementedException.ts +0 -3
- package/src/__mocks__/Account.ts +0 -55
- package/src/__mocks__/index.ts +0 -8
- package/src/__mocks__/mockAccountData.ts +0 -43
- package/src/__mocks__/mockEnrollment.ts +0 -22
- package/src/__mocks__/mockRubricData.ts +0 -71
- package/src/__mocks__/mockTabData.ts +0 -13
- package/src/__mocks__/mockTermData.ts +0 -7
- package/src/__mocks__/mockUserData.ts +0 -14
- package/src/__mocks__/utils.ts +0 -9
- package/src/__tests__/canvasUtils.test.ts +0 -527
- package/src/__tests__/fetch.test.ts +0 -310
- package/src/__tests__/profile.test.ts +0 -19
- package/src/__tests__/rubrics.test.ts +0 -131
- package/src/baseCanvasObject.ts +0 -139
- package/src/canvasDataDefs.ts +0 -124
- package/src/canvasUtils.ts +0 -420
- package/src/consts.ts +0 -2
- package/src/content/BaseContentItem.ts +0 -219
- package/src/content/ContentKind.ts +0 -85
- package/src/content/__mocks__/determineContent.ts +0 -27
- package/src/content/__mocks__/mockAssignmentSubmission.ts +0 -37
- package/src/content/__mocks__/mockContentData.ts +0 -98
- package/src/content/__mocks__/openThisContentInTarget.ts +0 -2
- package/src/content/__testingUtils__/utils.ts +0 -47
- package/src/content/__tests__/determineContent.test.ts +0 -101
- package/src/content/__tests__/getContentFuncs.test.ts +0 -78
- package/src/content/assignments/Assignment.ts +0 -69
- package/src/content/assignments/AssignmentKind.ts +0 -29
- package/src/content/assignments/__tests__/AssignmentKind.test.ts +0 -31
- package/src/content/assignments/__tests__/assignments.test.ts +0 -72
- package/src/content/assignments/deleteAssignmentGroup.ts +0 -15
- package/src/content/assignments/genAssignmentGroups.ts +0 -15
- package/src/content/assignments/index.ts +0 -31
- package/src/content/assignments/legacy.ts +0 -11
- package/src/content/assignments/updateAssignmentDueDates.ts +0 -25
- package/src/content/determineContent.ts +0 -72
- package/src/content/discussions/Discussion.ts +0 -32
- package/src/content/discussions/DiscussionKind.ts +0 -30
- package/src/content/discussions/__tests__/DiscussionKind.test.ts +0 -31
- package/src/content/discussions/genEquivalentDiscussionData.ts +0 -97
- package/src/content/getContentFuncs.ts +0 -30
- package/src/content/openThisContentInTarget.ts +0 -38
- package/src/content/pages/Page.ts +0 -35
- package/src/content/pages/PageKind.ts +0 -39
- package/src/content/pages/__tests__/PageKind.test.ts +0 -86
- package/src/content/pages/__tests__/learningMaterialsForModule.ts +0 -57
- package/src/content/pages/index.ts +0 -12
- package/src/content/pages/learningMaterialsForModule.ts +0 -16
- package/src/content/pages/types.ts +0 -11
- package/src/content/quizzes/Quiz.ts +0 -25
- package/src/content/quizzes/QuizKind.ts +0 -23
- package/src/content/quizzes/__tests__/QuizKind.test.ts +0 -30
- package/src/content/quizzes/index.ts +0 -3
- package/src/content/quizzes/types.ts +0 -101
- package/src/content/types.ts +0 -302
- package/src/course/Course.ts +0 -538
- package/src/course/IBlueprintCourse.ts +0 -8
- package/src/course/__mocks__/blueprint.ts +0 -31
- package/src/course/__mocks__/mockCourseData.ts +0 -49
- package/src/course/__mocks__/mockLatePolicy.ts +0 -14
- package/src/course/__mocks__/mockModuleData.ts +0 -60
- package/src/course/__mocks__/mockProgressData.ts +0 -28
- package/src/course/__mocks__/syllabus.gallant.html +0 -302
- package/src/course/__mocks__/syllabus.goofus.html +0 -288
- package/src/course/__mocks__/syllabus.grad.html +0 -282
- package/src/course/__tests__/Course.test.ts +0 -91
- package/src/course/__tests__/blueprint.test.ts +0 -292
- package/src/course/__tests__/changeStartDate.test.ts +0 -180
- package/src/course/__tests__/index.test.ts +0 -104
- package/src/course/blueprint.ts +0 -116
- package/src/course/cachedGetAssociatedCoursesFunc.ts +0 -13
- package/src/course/changeStartDate.ts +0 -139
- package/src/course/code.ts +0 -32
- package/src/course/courseTypes.ts +0 -161
- package/src/course/getCourseIdFromUrl.ts +0 -7
- package/src/course/getSections.ts +0 -9
- package/src/course/getTermNameFromSections.ts +0 -9
- package/src/course/index.ts +0 -12
- package/src/course/migration/__mocks__/mockMigrationData.ts +0 -39
- package/src/course/migration/__tests__/migration.test.ts +0 -173
- package/src/course/migration/__tests__/migrationCache.test.ts +0 -45
- package/src/course/migration/index.ts +0 -134
- package/src/course/migration/migrationCache.ts +0 -56
- package/src/course/modules.ts +0 -113
- package/src/course/notABlueprintError.ts +0 -3
- package/src/course/references/getReferencesForText.test.ts +0 -18
- package/src/course/references/getReferencesForText.ts +0 -12
- package/src/course/references/getReferencesTemplate.ts +0 -28
- package/src/course/references/mockCiteAsResponse.ts +0 -320
- package/src/course/retireBlueprint.ts +0 -21
- package/src/course/toolbox.ts +0 -107
- package/src/date.ts +0 -119
- package/src/enrollments/EnrollmentTypes.ts +0 -76
- package/src/enrollments/enrollmentRole.ts +0 -6
- package/src/enrollments/getEnrollmentGenerator.ts +0 -79
- package/src/enrollments/index.ts +0 -3
- package/src/fetch/__mocks__/fetchJson.ts +0 -1
- package/src/fetch/__mocks__/getPagedDataGenerator.ts +0 -8
- package/src/fetch/__mocks__/index.ts +0 -6
- package/src/fetch/apiGetConfig.ts +0 -10
- package/src/fetch/apiWriteConfig.ts +0 -13
- package/src/fetch/canvasDataFetchGenFunc.ts +0 -20
- package/src/fetch/fetchJson.ts +0 -22
- package/src/fetch/getPagedDataGenerator.ts +0 -157
- package/src/fetch/utils.ts +0 -16
- package/src/files.ts +0 -60
- package/src/fixes/annotations.ts +0 -105
- package/src/fixes/index.ts +0 -81
- package/src/profile.ts +0 -253
- package/src/rubricTypes.ts +0 -82
- package/src/rubrics.ts +0 -48
- package/src/term/Term.ts +0 -77
- package/src/term/__tests__/dateFromTermName.test.ts +0 -22
- package/src/term/__tests__/getTermsGenerator.test.ts +0 -24
- package/src/term/dateFromTermName.ts +0 -17
- package/src/term/getTermsGenerator.ts +0 -21
- package/src/term/index.ts +0 -3
- package/src/toolbox.ts +0 -19
- package/src/types.ts +0 -134
- package/src/users/getUserGenerator.ts +0 -39
- package/src/users/index.ts +0 -1
- package/tsconfig.json +0 -46
- package/webpack.config.js +0 -122
|
@@ -1,320 +0,0 @@
|
|
|
1
|
-
import {CanvasData} from "@/canvasDataDefs";
|
|
2
|
-
|
|
3
|
-
export default {
|
|
4
|
-
"citations": [
|
|
5
|
-
{
|
|
6
|
-
"citation": "(n.d.). Citation - The very hungry caterpillar - UW-Madison Libraries. Retrieved from https://search.library.wisc.edu/catalog/9910611455202121/cite",
|
|
7
|
-
"style_fullname": "American Psychological Association 6th edition",
|
|
8
|
-
"style_shortname": "apa"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"citation": "Anon, Citation - The very hungry caterpillar - UW-Madison Libraries. Available at: https://search.library.wisc.edu/catalog/9910611455202121/cite.",
|
|
12
|
-
"style_fullname": "Harvard Reference format 1 (author-date)",
|
|
13
|
-
"style_shortname": "harvard1"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"citation": "1.Citation - The very hungry caterpillar - UW-Madison Libraries.",
|
|
17
|
-
"style_fullname": "Nature",
|
|
18
|
-
"style_shortname": "nature"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"citation": "“Citation - the Very Hungry Caterpillar - Uw-madison Libraries”. “Citation - the Very Hungry Caterpillar - Uw-madison Libraries”. Web. \u003Chttps://search.library.wisc.edu/catalog/9910611455202121/cite\u003E...",
|
|
22
|
-
"style_fullname": "Modern Language Association 7th edition (with URL)",
|
|
23
|
-
"style_shortname": "modern-language-association-with-url"
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"citation": "“Citation - the Very Hungry Caterpillar - Uw-madison Libraries”. n.d.. “Citation - the Very Hungry Caterpillar - Uw-madison Libraries”. https://search.library.wisc.edu/catalog/9910611455202121/cite.",
|
|
27
|
-
"style_fullname": "Chicago Manual of Style 16th edition (author-date)",
|
|
28
|
-
"style_shortname": "chicago-author-date"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"citation": "1. Citation - The very hungry caterpillar - UW-Madison Libraries [Internet]. Available from: https://search.library.wisc.edu/catalog/9910611455202121/cite",
|
|
32
|
-
"style_fullname": "Vancouver",
|
|
33
|
-
"style_shortname": "vancouver"
|
|
34
|
-
}
|
|
35
|
-
],
|
|
36
|
-
"exports": [
|
|
37
|
-
{
|
|
38
|
-
"export": "type,title,URL,id\nmisc,Citation - The very hungry caterpillar - UW-Madison Libraries,https://search.library.wisc.edu/catalog/9910611455202121/cite,ITEM-1",
|
|
39
|
-
"export_name": "csv"
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"export": "%T Citation - The very hungry caterpillar - UW-Madison Libraries\n%J \n%V \n%N \n%P \n%D \n%I \n0% Journal Article",
|
|
43
|
-
"export_name": "enw"
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
"export": "TY - JOUR\nT1 - Citation - The very hungry caterpillar - UW-Madison Libraries\nJO - \nVL - \nIS - \nSP - \nV1 - \nPB - \nER - ",
|
|
47
|
-
"export_name": "ris"
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"export": "@misc{ITEM1, title={Citation - The very hungry caterpillar - UW-Madison Libraries},\njournal={},\nvolume={},\nnumber={},\npages={},\nyear={},\npublisher={},\nauthor={}}",
|
|
51
|
-
"export_name": "bibtex"
|
|
52
|
-
}
|
|
53
|
-
],
|
|
54
|
-
"metadata": {
|
|
55
|
-
"URL": "https://search.library.wisc.edu/catalog/9910611455202121/cite",
|
|
56
|
-
"id": "ITEM-1",
|
|
57
|
-
"title": "Citation - The very hungry caterpillar - UW-Madison Libraries",
|
|
58
|
-
"type": "misc"
|
|
59
|
-
},
|
|
60
|
-
"name": "Citation - The very hungry caterpillar - UW-Madison Libraries",
|
|
61
|
-
"provenance": [
|
|
62
|
-
{
|
|
63
|
-
"additional_content_url": null,
|
|
64
|
-
"content_url": "the hungry hungry caterpillar",
|
|
65
|
-
"found_via_proxy_type": null,
|
|
66
|
-
"has_content": true,
|
|
67
|
-
"host": null,
|
|
68
|
-
"key_word": "the hungry hungry caterpillar",
|
|
69
|
-
"name": "UserInputStep",
|
|
70
|
-
"original_url": null,
|
|
71
|
-
"parent_step_name": "NoneType",
|
|
72
|
-
"parent_subject": null,
|
|
73
|
-
"source_preview": {
|
|
74
|
-
"title": null
|
|
75
|
-
},
|
|
76
|
-
"subject": "user input"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
"additional_content_url": null,
|
|
80
|
-
"content_url": "https://search.library.wisc.edu/catalog/9910611455202121/cite",
|
|
81
|
-
"found_via_proxy_type": "google",
|
|
82
|
-
"has_content": true,
|
|
83
|
-
"host": null,
|
|
84
|
-
"key_word": null,
|
|
85
|
-
"name": "GoogleStep",
|
|
86
|
-
"original_url": null,
|
|
87
|
-
"parent_step_name": "UserInputStep",
|
|
88
|
-
"parent_subject": "user input",
|
|
89
|
-
"source_preview": {
|
|
90
|
-
"title": null
|
|
91
|
-
},
|
|
92
|
-
"subject": "google search result"
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
"additional_content_url": null,
|
|
96
|
-
"content_url": null,
|
|
97
|
-
"found_via_proxy_type": "arXiv ID",
|
|
98
|
-
"has_content": false,
|
|
99
|
-
"host": null,
|
|
100
|
-
"key_word": null,
|
|
101
|
-
"name": "ArxivResponseStep",
|
|
102
|
-
"original_url": null,
|
|
103
|
-
"parent_step_name": "GoogleStep",
|
|
104
|
-
"parent_subject": "google search result",
|
|
105
|
-
"source_preview": {
|
|
106
|
-
"title": null
|
|
107
|
-
},
|
|
108
|
-
"subject": "ArXiv page"
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
"additional_content_url": null,
|
|
112
|
-
"content_url": null,
|
|
113
|
-
"found_via_proxy_type": "link",
|
|
114
|
-
"has_content": false,
|
|
115
|
-
"host": "github",
|
|
116
|
-
"key_word": null,
|
|
117
|
-
"name": "GithubRepoStep",
|
|
118
|
-
"original_url": null,
|
|
119
|
-
"parent_step_name": "GoogleStep",
|
|
120
|
-
"parent_subject": "google search result",
|
|
121
|
-
"source_preview": {
|
|
122
|
-
"title": null
|
|
123
|
-
},
|
|
124
|
-
"subject": "GitHub repository main page"
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
"additional_content_url": null,
|
|
128
|
-
"content_url": null,
|
|
129
|
-
"found_via_proxy_type": "link",
|
|
130
|
-
"has_content": false,
|
|
131
|
-
"host": null,
|
|
132
|
-
"key_word": null,
|
|
133
|
-
"name": "BitbucketRepoStep",
|
|
134
|
-
"original_url": null,
|
|
135
|
-
"parent_step_name": "GoogleStep",
|
|
136
|
-
"parent_subject": "google search result",
|
|
137
|
-
"source_preview": {
|
|
138
|
-
"title": null
|
|
139
|
-
},
|
|
140
|
-
"subject": "Bitbucket repository main page"
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
"additional_content_url": null,
|
|
144
|
-
"content_url": null,
|
|
145
|
-
"found_via_proxy_type": "link",
|
|
146
|
-
"has_content": false,
|
|
147
|
-
"host": "cran",
|
|
148
|
-
"key_word": null,
|
|
149
|
-
"name": "CranLibraryStep",
|
|
150
|
-
"original_url": null,
|
|
151
|
-
"parent_step_name": "GoogleStep",
|
|
152
|
-
"parent_subject": "google search result",
|
|
153
|
-
"source_preview": {
|
|
154
|
-
"title": null
|
|
155
|
-
},
|
|
156
|
-
"subject": "R CRAN package webpage"
|
|
157
|
-
},
|
|
158
|
-
{
|
|
159
|
-
"additional_content_url": null,
|
|
160
|
-
"content_url": null,
|
|
161
|
-
"found_via_proxy_type": "link",
|
|
162
|
-
"has_content": false,
|
|
163
|
-
"host": "pypi",
|
|
164
|
-
"key_word": null,
|
|
165
|
-
"name": "PypiLibraryStep",
|
|
166
|
-
"original_url": null,
|
|
167
|
-
"parent_step_name": "GoogleStep",
|
|
168
|
-
"parent_subject": "google search result",
|
|
169
|
-
"source_preview": {
|
|
170
|
-
"title": null
|
|
171
|
-
},
|
|
172
|
-
"subject": "Python PyPI package webpage"
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
"additional_content_url": null,
|
|
176
|
-
"content_url": "https://search.library.wisc.edu/catalog/9910611455202121/cite",
|
|
177
|
-
"found_via_proxy_type": "link",
|
|
178
|
-
"has_content": true,
|
|
179
|
-
"host": "webpage",
|
|
180
|
-
"key_word": null,
|
|
181
|
-
"name": "WebpageStep",
|
|
182
|
-
"original_url": null,
|
|
183
|
-
"parent_step_name": "GoogleStep",
|
|
184
|
-
"parent_subject": "google search result",
|
|
185
|
-
"source_preview": {
|
|
186
|
-
"title": null
|
|
187
|
-
},
|
|
188
|
-
"subject": "webpage"
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
"additional_content_url": null,
|
|
192
|
-
"content_url": "https://search.library.wisc.edu/catalog/9910611455202121/cite",
|
|
193
|
-
"found_via_proxy_type": "link",
|
|
194
|
-
"has_content": false,
|
|
195
|
-
"host": null,
|
|
196
|
-
"key_word": null,
|
|
197
|
-
"name": "RelationHeaderStep",
|
|
198
|
-
"original_url": null,
|
|
199
|
-
"parent_step_name": "WebpageStep",
|
|
200
|
-
"parent_subject": "webpage",
|
|
201
|
-
"source_preview": {
|
|
202
|
-
"title": null
|
|
203
|
-
},
|
|
204
|
-
"subject": "cite-as relation header"
|
|
205
|
-
},
|
|
206
|
-
{
|
|
207
|
-
"additional_content_url": null,
|
|
208
|
-
"content_url": null,
|
|
209
|
-
"found_via_proxy_type": "doi",
|
|
210
|
-
"has_content": false,
|
|
211
|
-
"host": "crossref",
|
|
212
|
-
"key_word": null,
|
|
213
|
-
"name": "CrossrefResponseStep",
|
|
214
|
-
"original_url": null,
|
|
215
|
-
"parent_step_name": "WebpageStep",
|
|
216
|
-
"parent_subject": "webpage",
|
|
217
|
-
"source_preview": {
|
|
218
|
-
"title": null
|
|
219
|
-
},
|
|
220
|
-
"subject": "DOI API response"
|
|
221
|
-
},
|
|
222
|
-
{
|
|
223
|
-
"additional_content_url": null,
|
|
224
|
-
"content_url": "https://search.library.wisc.edu/catalog/9910611455202121/cite",
|
|
225
|
-
"found_via_proxy_type": "pmid or pmcid",
|
|
226
|
-
"has_content": false,
|
|
227
|
-
"host": "pmid or pmcid",
|
|
228
|
-
"key_word": null,
|
|
229
|
-
"name": "PMIDStep",
|
|
230
|
-
"original_url": null,
|
|
231
|
-
"parent_step_name": "WebpageStep",
|
|
232
|
-
"parent_subject": "webpage",
|
|
233
|
-
"source_preview": {
|
|
234
|
-
"title": null
|
|
235
|
-
},
|
|
236
|
-
"subject": "PubMed identifier"
|
|
237
|
-
},
|
|
238
|
-
{
|
|
239
|
-
"additional_content_url": null,
|
|
240
|
-
"content_url": null,
|
|
241
|
-
"found_via_proxy_type": "arXiv ID",
|
|
242
|
-
"has_content": false,
|
|
243
|
-
"host": null,
|
|
244
|
-
"key_word": null,
|
|
245
|
-
"name": "ArxivResponseStep",
|
|
246
|
-
"original_url": null,
|
|
247
|
-
"parent_step_name": "WebpageStep",
|
|
248
|
-
"parent_subject": "webpage",
|
|
249
|
-
"source_preview": {
|
|
250
|
-
"title": null
|
|
251
|
-
},
|
|
252
|
-
"subject": "ArXiv page"
|
|
253
|
-
},
|
|
254
|
-
{
|
|
255
|
-
"additional_content_url": null,
|
|
256
|
-
"content_url": null,
|
|
257
|
-
"found_via_proxy_type": "link",
|
|
258
|
-
"has_content": false,
|
|
259
|
-
"host": "github",
|
|
260
|
-
"key_word": null,
|
|
261
|
-
"name": "GithubRepoStep",
|
|
262
|
-
"original_url": null,
|
|
263
|
-
"parent_step_name": "WebpageStep",
|
|
264
|
-
"parent_subject": "webpage",
|
|
265
|
-
"source_preview": {
|
|
266
|
-
"title": null
|
|
267
|
-
},
|
|
268
|
-
"subject": "GitHub repository main page"
|
|
269
|
-
},
|
|
270
|
-
{
|
|
271
|
-
"additional_content_url": null,
|
|
272
|
-
"content_url": null,
|
|
273
|
-
"found_via_proxy_type": "link",
|
|
274
|
-
"has_content": false,
|
|
275
|
-
"host": null,
|
|
276
|
-
"key_word": null,
|
|
277
|
-
"name": "BitbucketRepoStep",
|
|
278
|
-
"original_url": null,
|
|
279
|
-
"parent_step_name": "WebpageStep",
|
|
280
|
-
"parent_subject": "webpage",
|
|
281
|
-
"source_preview": {
|
|
282
|
-
"title": null
|
|
283
|
-
},
|
|
284
|
-
"subject": "Bitbucket repository main page"
|
|
285
|
-
},
|
|
286
|
-
{
|
|
287
|
-
"additional_content_url": null,
|
|
288
|
-
"content_url": "https://search.library.wisc.edu/catalog/9910611455202121/cite",
|
|
289
|
-
"found_via_proxy_type": null,
|
|
290
|
-
"has_content": false,
|
|
291
|
-
"host": null,
|
|
292
|
-
"key_word": null,
|
|
293
|
-
"name": "BibtexStep",
|
|
294
|
-
"original_url": null,
|
|
295
|
-
"parent_step_name": "WebpageStep",
|
|
296
|
-
"parent_subject": "webpage",
|
|
297
|
-
"source_preview": {
|
|
298
|
-
"title": null
|
|
299
|
-
},
|
|
300
|
-
"subject": "BibTeX"
|
|
301
|
-
},
|
|
302
|
-
{
|
|
303
|
-
"additional_content_url": null,
|
|
304
|
-
"content_url": "https://search.library.wisc.edu/catalog/9910611455202121/cite",
|
|
305
|
-
"found_via_proxy_type": null,
|
|
306
|
-
"has_content": true,
|
|
307
|
-
"host": "webpage",
|
|
308
|
-
"key_word": null,
|
|
309
|
-
"name": "WebpageMetadataStep",
|
|
310
|
-
"original_url": null,
|
|
311
|
-
"parent_step_name": "WebpageStep",
|
|
312
|
-
"parent_subject": "webpage",
|
|
313
|
-
"source_preview": {
|
|
314
|
-
"title": "\u003Ci\u003ESnapshot of title data found at https://search.library.wisc.edu/catalog/9910611455202121/cite.\u003C/i\u003E\u003Cbr\u003E;> \t<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"> \t<link rel="stylesheet" href="https://use.typekit.net/dwu5mei.css"> \t<link rel="stylesheet" crossorigin href="https://cdn.wisc.cloud/fonts/uw-rh/fonts-woff2.0.0.1.css"> \t<link rel="stylesheet" crossorigin href="https://cdn.wisc.cloud/fonts/languages/0.0.1/uw-language-font-files.css"> \t \t\t<title>\u003Cspan class=\"highlight\"\u003ECitation - The very hungry caterpillar - UW-Madison Libraries\u003C/span\u003E</title> \t<link rel="stylesheet" media="all" href="/assets/application-3d7855b0bde27e1916896e2fd9fb0a674994158303dbb2a75a5672d5434e9449.css" /> \t<script src="https://web.lib.wisc.edu/globaljs/global-2.0.2.min.js"></script> \t<script src="https://cdn.wisc.cloud/cookie-consent/uwcookieconsent.min.js"></script> \t<script src="/assets/application-2d"
|
|
315
|
-
},
|
|
316
|
-
"subject": "webpage"
|
|
317
|
-
}
|
|
318
|
-
],
|
|
319
|
-
"url": "the hungry hungry caterpillar"
|
|
320
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import {Course} from "@canvas/course/Course";
|
|
2
|
-
import {ICanvasCallConfig} from "@canvas/canvasUtils";
|
|
3
|
-
import {MalformedCourseCodeError} from "@canvas/course/code";
|
|
4
|
-
|
|
5
|
-
import {NotABlueprintError} from "@canvas/course/notABlueprintError";
|
|
6
|
-
|
|
7
|
-
export async function retireBlueprint(course: Course, termName: string | null, config?: ICanvasCallConfig) {
|
|
8
|
-
|
|
9
|
-
if (!course.parsedCourseCode) throw new MalformedCourseCodeError(course.courseCode);
|
|
10
|
-
const isCurrentBlueprint = course.parsedCourseCode?.match('BP_');
|
|
11
|
-
if (!isCurrentBlueprint) throw new NotABlueprintError("This blueprint is not named BP_; are you trying to retire a retired blueprint?")
|
|
12
|
-
|
|
13
|
-
const newCode = `BP-${termName}_${course.baseCode}`;
|
|
14
|
-
const saveData: Record<string, any> = {};
|
|
15
|
-
|
|
16
|
-
saveData[Course.nameProperty] = course.name.replace(course.parsedCourseCode, newCode);
|
|
17
|
-
saveData['course_code'] = newCode
|
|
18
|
-
await course.saveData({
|
|
19
|
-
course: saveData
|
|
20
|
-
}, config);
|
|
21
|
-
}
|
package/src/course/toolbox.ts
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import {deepObjectMerge, formDataify, generatorMap, ICanvasCallConfig, IQueryParams} from "@/canvasUtils";
|
|
2
|
-
|
|
3
|
-
import {GetCourseOptions, GetCoursesFromAccountOptions, IGradingStandardData} from "./courseTypes";
|
|
4
|
-
import {Course} from "./Course";
|
|
5
|
-
import {Term} from "@canvas/term/Term";
|
|
6
|
-
|
|
7
|
-
import {ICourseData} from "@/types";
|
|
8
|
-
import {getPagedData, getPagedDataGenerator, mergePagedDataGenerators} from "@/fetch/getPagedDataGenerator";
|
|
9
|
-
|
|
10
|
-
import {fetchJson} from "@canvas/fetch/fetchJson";
|
|
11
|
-
import {overrideConfig} from "@canvas/fetch/utils";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
export async function getGradingStandards(contextId: number, contextType: 'account' | 'course', config?: ICanvasCallConfig) {
|
|
15
|
-
const url = `/api/v1/${contextType}s/${contextId}/grading_standards`
|
|
16
|
-
return await getPagedData<IGradingStandardData>(url, config)
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
export function getCourseData(id: number, config?: ICanvasCallConfig<GetCourseOptions>) {
|
|
21
|
-
const url = `/api/v1/courses/${id}`;
|
|
22
|
-
return fetchJson(url, config) as Promise<ICourseData>;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
export function getCourseDataGenerator(
|
|
27
|
-
queryString: string | undefined | null, accountIds: number[] | number, term?: Term|number, config?: ICanvasCallConfig<GetCoursesFromAccountOptions>
|
|
28
|
-
): AsyncGenerator<ICourseData, void, unknown> {
|
|
29
|
-
if (!Array.isArray(accountIds)) accountIds = [accountIds];
|
|
30
|
-
|
|
31
|
-
const defaultConfig: ICanvasCallConfig<GetCoursesFromAccountOptions> = queryString ? {
|
|
32
|
-
queryParams: {
|
|
33
|
-
search_term: queryString,
|
|
34
|
-
}
|
|
35
|
-
} : {};
|
|
36
|
-
|
|
37
|
-
const termId = typeof term ==='number' ? term : term?.id;
|
|
38
|
-
if (termId && defaultConfig.queryParams) defaultConfig.queryParams.enrollment_term_id = termId;
|
|
39
|
-
config = overrideConfig(defaultConfig, config);
|
|
40
|
-
const generators = accountIds.map(accountId => {
|
|
41
|
-
const url = `/api/v1/accounts/${accountId}/courses`;
|
|
42
|
-
return getPagedDataGenerator<ICourseData>(url, config);
|
|
43
|
-
})
|
|
44
|
-
return mergePagedDataGenerators(generators);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export function getCourseGenerator(
|
|
48
|
-
queryString: string | undefined | null, accountIds: number[] | number, term?: Term, config?: ICanvasCallConfig<GetCoursesFromAccountOptions>) {
|
|
49
|
-
return generatorMap(getCourseDataGenerator(queryString, accountIds, term, config), courseData => new Course(courseData));
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export async function getSingleCourse(queryString: string, accountIds: number[], term?: Term, config?: ICanvasCallConfig<GetCoursesFromAccountOptions>) {
|
|
53
|
-
for (const accountId of accountIds) {
|
|
54
|
-
const courseDatas = await fetchJson<ICourseData[]>(
|
|
55
|
-
`/api/v1/accounts/${accountId}/courses`,
|
|
56
|
-
overrideConfig({queryParams: {search_term: queryString}}, config)
|
|
57
|
-
)
|
|
58
|
-
|
|
59
|
-
if (courseDatas.length > 0) return new Course(courseDatas[0]);
|
|
60
|
-
}
|
|
61
|
-
return undefined;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export async function getCourseById(id: number, config?: ICanvasCallConfig<GetCoursesFromAccountOptions>) {
|
|
65
|
-
return new Course(await fetchJson(`/api/v1/courses/${id}`, config));
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export async function createNewCourse(courseCode: string, accountId: number, name?: string, config?: ICanvasCallConfig) {
|
|
69
|
-
name ??= courseCode;
|
|
70
|
-
const createUrl = `/api/v1/accounts/${accountId}/courses/`
|
|
71
|
-
const createConfig: ICanvasCallConfig = {
|
|
72
|
-
fetchInit: {
|
|
73
|
-
method: 'POST',
|
|
74
|
-
body: formDataify({
|
|
75
|
-
course: {
|
|
76
|
-
name,
|
|
77
|
-
course_code: courseCode
|
|
78
|
-
}
|
|
79
|
-
})
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return await fetchJson(createUrl, deepObjectMerge(createConfig, config, true)) as ICourseData;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export class CourseNotFoundException extends Error {
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
export async function saveCourseData(courseId: number, data: Partial<ICourseData>, config?: ICanvasCallConfig) {
|
|
89
|
-
const url = `/api/v1/courses/${courseId}`
|
|
90
|
-
return await fetchJson<ICourseData>(url, overrideConfig(config, {
|
|
91
|
-
fetchInit: {
|
|
92
|
-
method: 'PUT',
|
|
93
|
-
body: formDataify({course: data})
|
|
94
|
-
}
|
|
95
|
-
}))
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
export async function setGradingStandardForCourse(courseId: number, standardId: number, config?: ICanvasCallConfig) {
|
|
99
|
-
return await saveCourseData(courseId, {grading_standard_id: standardId})
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
export function getCourseName(data:ICourseData) {
|
|
103
|
-
const [full, withoutCode] = /[^:]*:\s*(.*)/.exec(data.name) ?? [];
|
|
104
|
-
if(withoutCode) return withoutCode;
|
|
105
|
-
return data.name;
|
|
106
|
-
|
|
107
|
-
}
|
package/src/date.ts
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import assert from "assert";
|
|
2
|
-
import {range} from "@canvas/canvasUtils";
|
|
3
|
-
import {Temporal} from "temporal-polyfill";
|
|
4
|
-
|
|
5
|
-
function getMonthNames(style: "numeric" | "2-digit" | "long" | "short" | "narrow" = "long", locale = 'en-US') {
|
|
6
|
-
return Array.from(range(1, 12)).map((monthInt) => {
|
|
7
|
-
return Temporal.PlainDate.from({
|
|
8
|
-
day: 1,
|
|
9
|
-
month: monthInt,
|
|
10
|
-
year: Temporal.Now.plainDateISO().year
|
|
11
|
-
}).toLocaleString(locale, {
|
|
12
|
-
month: style
|
|
13
|
-
})
|
|
14
|
-
})
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* takes a string of formatted [monthname] [date] and give a plain date
|
|
19
|
-
* @param value the string to evaluate
|
|
20
|
-
* @param locale the locale to use to generate month names, e.g. en-US
|
|
21
|
-
* @param year the year to give the date object. If not provided defaults to current year.
|
|
22
|
-
*/
|
|
23
|
-
function plainDateFromMonthDayString(value: string, locale: string, year?:number) {
|
|
24
|
-
year ??= Temporal.Now.plainDateISO().year;
|
|
25
|
-
const match = value.match(getDateRegexString(locale));
|
|
26
|
-
if (!match) throw new MalformedDateError(value);
|
|
27
|
-
const fullDate = match[1];
|
|
28
|
-
return Temporal.PlainDate.from({
|
|
29
|
-
month: getMonthNumberLut(locale)[match[2]],
|
|
30
|
-
day: parseInt(match[3]),
|
|
31
|
-
year
|
|
32
|
-
})
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const monthNumberLutCache: Record<string, Record<string, number>> = {};
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* returns a string with 3 capturing groups -- 1 - month date, 2 month, 3 date. cuts off rd/th...
|
|
39
|
-
* @param locale
|
|
40
|
-
*/
|
|
41
|
-
function getMonthNumberLut(locale: string) {
|
|
42
|
-
if (monthNumberLutCache[locale]) return monthNumberLutCache[locale];
|
|
43
|
-
|
|
44
|
-
const monthNames = getMonthNames('long', locale);
|
|
45
|
-
const shortMonthNames = getMonthNames('short', locale);
|
|
46
|
-
|
|
47
|
-
const monthNumberLut: Record<string, number> = {};
|
|
48
|
-
assert(monthNames.length === shortMonthNames.length);
|
|
49
|
-
for (let i = 0; i < monthNames.length; i++) {
|
|
50
|
-
monthNumberLut[monthNames[i]] = i + 1;
|
|
51
|
-
monthNumberLut[shortMonthNames[i]] = i + 1;
|
|
52
|
-
}
|
|
53
|
-
monthNumberLutCache[locale] = monthNumberLut;
|
|
54
|
-
return monthNumberLut;
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
const dateRegexStringCache: Record<string, string> = {};
|
|
59
|
-
|
|
60
|
-
//TODO: Make the capture groups in this optional
|
|
61
|
-
function getDateRegexString(locale = 'en-US') {
|
|
62
|
-
if (dateRegexStringCache[locale]) return dateRegexStringCache[locale];
|
|
63
|
-
|
|
64
|
-
const monthNames = getMonthNames('long', locale);
|
|
65
|
-
const shortMonthNames = getMonthNames('short', locale);
|
|
66
|
-
const monthRegexDatePart = `(?:${[...monthNames, ...shortMonthNames].join('|')})`;
|
|
67
|
-
const output = `((${monthRegexDatePart}) (\\d+))(?:\\w{2}|)`;
|
|
68
|
-
dateRegexStringCache[locale] = output;
|
|
69
|
-
return output;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Looks for a date range in text and, if found, returns an object with start and end params as Temporal PlainDates
|
|
74
|
-
* @param textToSearch
|
|
75
|
-
* @param locale
|
|
76
|
-
*/
|
|
77
|
-
export function findDateRange(textToSearch: string, locale = 'en-US') {
|
|
78
|
-
const dateRegExString = getDateRegexString(locale);
|
|
79
|
-
|
|
80
|
-
const searchRegex = new RegExp(`(${dateRegExString}).*(${dateRegExString})`, 'i');
|
|
81
|
-
const dateRegex = new RegExp(dateRegExString, 'i')
|
|
82
|
-
|
|
83
|
-
const matchRange = textToSearch.match(searchRegex);
|
|
84
|
-
if (!matchRange) return null; //No date range found in syllabus
|
|
85
|
-
|
|
86
|
-
let start, end;
|
|
87
|
-
for(const separator of ['-', 'to']) {
|
|
88
|
-
[start, end] = matchRange[0].split(separator)
|
|
89
|
-
if(start && end) break;
|
|
90
|
-
}
|
|
91
|
-
if(!start || !end) throw new MalformedDateError('Cannot find date range in syllabus');
|
|
92
|
-
|
|
93
|
-
const startMatch = start.match(dateRegex);
|
|
94
|
-
const endMatch = end.match(dateRegex);
|
|
95
|
-
if(!startMatch) throw new MalformedDateError(`Missing Start Date ${start}`)
|
|
96
|
-
if(!endMatch) throw new MalformedDateError(`Missing End Date ${end}`)
|
|
97
|
-
|
|
98
|
-
return {
|
|
99
|
-
start: plainDateFromMonthDayString(startMatch[0], locale),
|
|
100
|
-
end: plainDateFromMonthDayString(endMatch[0], locale)
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
export function oldDateToPlainDate(date: Date) {
|
|
105
|
-
const data = {
|
|
106
|
-
day: date.getDate(),
|
|
107
|
-
month: date.getMonth() + 1,
|
|
108
|
-
year: date.getFullYear(),
|
|
109
|
-
};
|
|
110
|
-
return Temporal.PlainDate.from(data)
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
export class StringNotAMonthDateError extends Error {
|
|
114
|
-
name = "StringNotAMonthDateError"
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
export class MalformedDateError extends Error {
|
|
118
|
-
name="MalformedDateError"
|
|
119
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import {EnrollmentRole} from "@/enrollments/enrollmentRole";
|
|
2
|
-
import {IUserData} from "@/canvasDataDefs";
|
|
3
|
-
|
|
4
|
-
export type EnrollmentData = {
|
|
5
|
-
id: number,
|
|
6
|
-
course_id: number,
|
|
7
|
-
sis_course_id?: string,
|
|
8
|
-
course_integration_id?: string,
|
|
9
|
-
course_section_id?: number,
|
|
10
|
-
section_integration_id?: string,
|
|
11
|
-
sis_account_id?: string,
|
|
12
|
-
sis_section_id?: string,
|
|
13
|
-
sis_user_id?: string,
|
|
14
|
-
enrollment_state: EnrollmentState,
|
|
15
|
-
limit_privileges_to_course_section?: boolean,
|
|
16
|
-
root_account_id: number,
|
|
17
|
-
type: EnrollmentType,
|
|
18
|
-
user_id: number,
|
|
19
|
-
associated_user_id?: number | null,
|
|
20
|
-
role: EnrollmentRole,
|
|
21
|
-
role_id: number,
|
|
22
|
-
created_at: string,
|
|
23
|
-
updated_at: string,
|
|
24
|
-
start_at: string,
|
|
25
|
-
end_at: string,
|
|
26
|
-
last_activity_at?: string,
|
|
27
|
-
last_attended_at?: string,
|
|
28
|
-
total_activity_time: number,
|
|
29
|
-
html_url: string,
|
|
30
|
-
grades?: Grade,
|
|
31
|
-
user: IUserData,
|
|
32
|
-
override_grade?: string,
|
|
33
|
-
override_score?: number,
|
|
34
|
-
has_grading_periods?: boolean,
|
|
35
|
-
totals_for_all_grading_periods_option?: boolean,
|
|
36
|
-
current_grading_period_title?: string,
|
|
37
|
-
current_grading_period_id?: number,
|
|
38
|
-
current_period_unposted_current_score?: number,
|
|
39
|
-
current_period_unposted_final_score?: number,
|
|
40
|
-
current_period_unposted_current_grade?: string,
|
|
41
|
-
current_period_unposted_final_grade?: string,
|
|
42
|
-
|
|
43
|
-
} & UnpostedGradeParams
|
|
44
|
-
export type Grade = {
|
|
45
|
-
html_url?: string,
|
|
46
|
-
current_grade?: string,
|
|
47
|
-
final_grade?: string,
|
|
48
|
-
current_score?: number,
|
|
49
|
-
final_score?: number,
|
|
50
|
-
current_points?: number,
|
|
51
|
-
} & UnpostedGradeParams
|
|
52
|
-
type UnpostedGradeParams = {
|
|
53
|
-
unposted_current_grade?: string,
|
|
54
|
-
unposted_current_score?: number,
|
|
55
|
-
unposted_final_score?: number
|
|
56
|
-
unposted_current_points: number,
|
|
57
|
-
}
|
|
58
|
-
export type EnrollmentType = 'StudentEnrollment' |
|
|
59
|
-
'TeacherEnrollment' |
|
|
60
|
-
'DesignerEnrollment' |
|
|
61
|
-
'ObserverEnrollment'
|
|
62
|
-
export type EnrollmentState = 'active' |
|
|
63
|
-
'invited' |
|
|
64
|
-
'creation_pending' |
|
|
65
|
-
'deleted' |
|
|
66
|
-
'rejected' |
|
|
67
|
-
'completed' |
|
|
68
|
-
'inactive' |
|
|
69
|
-
'current_and_invited' |
|
|
70
|
-
'current_and_future' |
|
|
71
|
-
'current_and_future_and_restricted' |
|
|
72
|
-
'current_and_concluded'
|
|
73
|
-
export type EnrollmentUserState = EnrollmentState | 'current_and_invited' |
|
|
74
|
-
'current_and_future' |
|
|
75
|
-
'current_and_future_and_restricted' |
|
|
76
|
-
'current_and_concluded'
|