@royalschedule/maps 2.0.2 → 2.0.6
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/Admentum/from/courses.js +21 -32
- package/dist/Admentum/from/courses.js.map +1 -1
- package/dist/Admentum/from/events.d.ts +3 -0
- package/dist/Admentum/from/events.js +54 -0
- package/dist/Admentum/from/events.js.map +1 -0
- package/dist/Admentum/from/groups.js +7 -14
- package/dist/Admentum/from/groups.js.map +1 -1
- package/dist/Admentum/from/index.js +4 -15
- package/dist/Admentum/from/index.js.map +1 -1
- package/dist/Admentum/from/locations.js +7 -14
- package/dist/Admentum/from/locations.js.map +1 -1
- package/dist/Admentum/from/schedules.js +20 -49
- package/dist/Admentum/from/schedules.js.map +1 -1
- package/dist/Admentum/from/teachers.d.ts +3 -2
- package/dist/Admentum/from/teachers.js +18 -17
- package/dist/Admentum/from/teachers.js.map +1 -1
- package/dist/Admentum/index.js +6 -18
- package/dist/Admentum/index.js.map +1 -1
- package/dist/Admentum/to/index.js +4 -15
- package/dist/Admentum/to/index.js.map +1 -1
- package/dist/Admentum/to/schedules.js +26 -40
- package/dist/Admentum/to/schedules.js.map +1 -1
- package/dist/Admentum/types/course-section.d.ts +0 -10
- package/dist/Admentum/types/course-section.js +0 -4
- package/dist/Admentum/types/course-section.js.map +1 -1
- package/dist/Admentum/types/course.js.map +1 -1
- package/dist/Admentum/types/lesson.d.ts +22 -0
- package/dist/Admentum/types/lesson.js +2 -0
- package/dist/Admentum/types/lesson.js.map +1 -0
- package/dist/Admentum/types/primary-group.js +1 -5
- package/dist/Admentum/types/primary-group.js.map +1 -1
- package/dist/Admentum/types/room.js +1 -5
- package/dist/Admentum/types/room.js.map +1 -1
- package/dist/Admentum/types/schedule-group.js +1 -5
- package/dist/Admentum/types/schedule-group.js.map +1 -1
- package/dist/Admentum/types/schedule.d.ts +2 -2
- package/dist/Admentum/types/schedule.js +1 -5
- package/dist/Admentum/types/schedule.js.map +1 -1
- package/dist/Admentum/types/school.js +1 -5
- package/dist/Admentum/types/school.js.map +1 -1
- package/dist/Admentum/types/user.js +1 -5
- package/dist/Admentum/types/user.js.map +1 -1
- package/dist/IdunSoft/from/courses.js +11 -18
- package/dist/IdunSoft/from/courses.js.map +1 -1
- package/dist/IdunSoft/from/events.js +44 -74
- package/dist/IdunSoft/from/events.js.map +1 -1
- package/dist/IdunSoft/from/groups.js +11 -18
- package/dist/IdunSoft/from/groups.js.map +1 -1
- package/dist/IdunSoft/from/index.js +4 -15
- package/dist/IdunSoft/from/index.js.map +1 -1
- package/dist/IdunSoft/from/locations.js +11 -18
- package/dist/IdunSoft/from/locations.js.map +1 -1
- package/dist/IdunSoft/from/schedules.js +12 -32
- package/dist/IdunSoft/from/schedules.js.map +1 -1
- package/dist/IdunSoft/from/teachers.js +11 -18
- package/dist/IdunSoft/from/teachers.js.map +1 -1
- package/dist/IdunSoft/index.js +6 -18
- package/dist/IdunSoft/index.js.map +1 -1
- package/dist/IdunSoft/to/index.js +4 -15
- package/dist/IdunSoft/to/index.js.map +1 -1
- package/dist/IdunSoft/to/schedules.js +37 -52
- package/dist/IdunSoft/to/schedules.js.map +1 -1
- package/dist/IdunSoft/types/courses.js +1 -5
- package/dist/IdunSoft/types/courses.js.map +1 -1
- package/dist/IdunSoft/types/events.js +1 -5
- package/dist/IdunSoft/types/events.js.map +1 -1
- package/dist/IdunSoft/types/groups.js +1 -5
- package/dist/IdunSoft/types/groups.js.map +1 -1
- package/dist/IdunSoft/types/index.js +1 -5
- package/dist/IdunSoft/types/index.js.map +1 -1
- package/dist/IdunSoft/types/locations.js +1 -5
- package/dist/IdunSoft/types/locations.js.map +1 -1
- package/dist/IdunSoft/types/schedules.js +1 -5
- package/dist/IdunSoft/types/schedules.js.map +1 -1
- package/dist/IdunSoft/types/teachers.js +1 -5
- package/dist/IdunSoft/types/teachers.js.map +1 -1
- package/dist/InfoMentor/index.js +4 -15
- package/dist/InfoMentor/index.js.map +1 -1
- package/dist/InfoMentor/to/index.js +4 -15
- package/dist/InfoMentor/to/index.js.map +1 -1
- package/dist/InfoMentor/to/schedules.js +38 -53
- package/dist/InfoMentor/to/schedules.js.map +1 -1
- package/dist/InfoMentor/types/events.js +1 -5
- package/dist/InfoMentor/types/events.js.map +1 -1
- package/dist/InfoMentor/types/index.js +1 -5
- package/dist/InfoMentor/types/index.js.map +1 -1
- package/dist/RS/index.d.ts +3 -0
- package/dist/RS/index.js +10 -18
- package/dist/RS/index.js.map +1 -1
- package/dist/RS/v0/from/available-dependencies.js +38 -56
- package/dist/RS/v0/from/available-dependencies.js.map +1 -1
- package/dist/RS/v0/from/break-lengths.js +15 -23
- package/dist/RS/v0/from/break-lengths.js.map +1 -1
- package/dist/RS/v0/from/course-events.js +69 -114
- package/dist/RS/v0/from/course-events.js.map +1 -1
- package/dist/RS/v0/from/courses.js +50 -87
- package/dist/RS/v0/from/courses.js.map +1 -1
- package/dist/RS/v0/from/days.js +13 -24
- package/dist/RS/v0/from/days.js.map +1 -1
- package/dist/RS/v0/from/dependencies.js +27 -55
- package/dist/RS/v0/from/dependencies.js.map +1 -1
- package/dist/RS/v0/from/groups.js +29 -59
- package/dist/RS/v0/from/groups.js.map +1 -1
- package/dist/RS/v0/from/index.js +26 -48
- package/dist/RS/v0/from/index.js.map +1 -1
- package/dist/RS/v0/from/intervals.js +7 -19
- package/dist/RS/v0/from/intervals.js.map +1 -1
- package/dist/RS/v0/from/locked-times.js +19 -28
- package/dist/RS/v0/from/locked-times.js.map +1 -1
- package/dist/RS/v0/from/placements.js +12 -27
- package/dist/RS/v0/from/placements.js.map +1 -1
- package/dist/RS/v0/from/schedules.js +42 -90
- package/dist/RS/v0/from/schedules.js.map +1 -1
- package/dist/RS/v0/from/settings.js +18 -27
- package/dist/RS/v0/from/settings.js.map +1 -1
- package/dist/RS/v0/from/teachers.js +27 -58
- package/dist/RS/v0/from/teachers.js.map +1 -1
- package/dist/RS/v0/index.js +7 -35
- package/dist/RS/v0/index.js.map +1 -1
- package/dist/RS/v0/to/available-dependencies.js +15 -29
- package/dist/RS/v0/to/available-dependencies.js.map +1 -1
- package/dist/RS/v0/to/configurations.js +18 -29
- package/dist/RS/v0/to/configurations.js.map +1 -1
- package/dist/RS/v0/to/constraints.js +31 -79
- package/dist/RS/v0/to/constraints.js.map +1 -1
- package/dist/RS/v0/to/course-events/common.js +2 -10
- package/dist/RS/v0/to/course-events/common.js.map +1 -1
- package/dist/RS/v0/to/course-events/days.js +13 -26
- package/dist/RS/v0/to/course-events/days.js.map +1 -1
- package/dist/RS/v0/to/course-events/dependencies.js +17 -29
- package/dist/RS/v0/to/course-events/dependencies.js.map +1 -1
- package/dist/RS/v0/to/course-events/groups.js +49 -63
- package/dist/RS/v0/to/course-events/groups.js.map +1 -1
- package/dist/RS/v0/to/course-events/in-locations.js +17 -24
- package/dist/RS/v0/to/course-events/in-locations.js.map +1 -1
- package/dist/RS/v0/to/course-events/index.js +63 -103
- package/dist/RS/v0/to/course-events/index.js.map +1 -1
- package/dist/RS/v0/to/course-events/intervals.js +12 -24
- package/dist/RS/v0/to/course-events/intervals.js.map +1 -1
- package/dist/RS/v0/to/course-events/meta.js +16 -37
- package/dist/RS/v0/to/course-events/meta.js.map +1 -1
- package/dist/RS/v0/to/courses.js +62 -114
- package/dist/RS/v0/to/courses.js.map +1 -1
- package/dist/RS/v0/to/days.js +10 -18
- package/dist/RS/v0/to/days.js.map +1 -1
- package/dist/RS/v0/to/dependencies.js +21 -48
- package/dist/RS/v0/to/dependencies.js.map +1 -1
- package/dist/RS/v0/to/groups.js +27 -61
- package/dist/RS/v0/to/groups.js.map +1 -1
- package/dist/RS/v0/to/index.js +28 -51
- package/dist/RS/v0/to/index.js.map +1 -1
- package/dist/RS/v0/to/intervals.js +12 -22
- package/dist/RS/v0/to/intervals.js.map +1 -1
- package/dist/RS/v0/to/locked-times.js +50 -74
- package/dist/RS/v0/to/locked-times.js.map +1 -1
- package/dist/RS/v0/to/schedules.js +9 -34
- package/dist/RS/v0/to/schedules.js.map +1 -1
- package/dist/RS/v0/to/settings.js +22 -31
- package/dist/RS/v0/to/settings.js.map +1 -1
- package/dist/RS/v0/to/teachers.js +25 -57
- package/dist/RS/v0/to/teachers.js.map +1 -1
- package/dist/RS/v0/types/areas.js +1 -5
- package/dist/RS/v0/types/areas.js.map +1 -1
- package/dist/RS/v0/types/available-dependencies.js +1 -5
- package/dist/RS/v0/types/available-dependencies.js.map +1 -1
- package/dist/RS/v0/types/break-lengths.js +1 -5
- package/dist/RS/v0/types/break-lengths.js.map +1 -1
- package/dist/RS/v0/types/configurations.js +1 -5
- package/dist/RS/v0/types/configurations.js.map +1 -1
- package/dist/RS/v0/types/constraints.js +1 -5
- package/dist/RS/v0/types/constraints.js.map +1 -1
- package/dist/RS/v0/types/course-events.js +1 -5
- package/dist/RS/v0/types/course-events.js.map +1 -1
- package/dist/RS/v0/types/courses.js +1 -5
- package/dist/RS/v0/types/courses.js.map +1 -1
- package/dist/RS/v0/types/days.js +1 -5
- package/dist/RS/v0/types/days.js.map +1 -1
- package/dist/RS/v0/types/dependencies.js +1 -5
- package/dist/RS/v0/types/dependencies.js.map +1 -1
- package/dist/RS/v0/types/groups.js +1 -5
- package/dist/RS/v0/types/groups.js.map +1 -1
- package/dist/RS/v0/types/index.js +1 -5
- package/dist/RS/v0/types/index.js.map +1 -1
- package/dist/RS/v0/types/intervals.js +1 -5
- package/dist/RS/v0/types/intervals.js.map +1 -1
- package/dist/RS/v0/types/locked-times.js +1 -5
- package/dist/RS/v0/types/locked-times.js.map +1 -1
- package/dist/RS/v0/types/out-options.js +1 -5
- package/dist/RS/v0/types/out-options.js.map +1 -1
- package/dist/RS/v0/types/placements.js +1 -5
- package/dist/RS/v0/types/placements.js.map +1 -1
- package/dist/RS/v0/types/schedules.js +1 -5
- package/dist/RS/v0/types/schedules.js.map +1 -1
- package/dist/RS/v0/types/settings.js +1 -5
- package/dist/RS/v0/types/settings.js.map +1 -1
- package/dist/RS/v1/from/available-dependencies.js +38 -56
- package/dist/RS/v1/from/available-dependencies.js.map +1 -1
- package/dist/RS/v1/from/break-lengths.js +15 -23
- package/dist/RS/v1/from/break-lengths.js.map +1 -1
- package/dist/RS/v1/from/collections.js +53 -91
- package/dist/RS/v1/from/collections.js.map +1 -1
- package/dist/RS/v1/from/course-events.js +65 -110
- package/dist/RS/v1/from/course-events.js.map +1 -1
- package/dist/RS/v1/from/days.js +11 -24
- package/dist/RS/v1/from/days.js.map +1 -1
- package/dist/RS/v1/from/dependencies.js +30 -57
- package/dist/RS/v1/from/dependencies.js.map +1 -1
- package/dist/RS/v1/from/groups.js +32 -61
- package/dist/RS/v1/from/groups.js.map +1 -1
- package/dist/RS/v1/from/index.js +26 -48
- package/dist/RS/v1/from/index.js.map +1 -1
- package/dist/RS/v1/from/intervals.js +13 -26
- package/dist/RS/v1/from/intervals.js.map +1 -1
- package/dist/RS/v1/from/locked-times.js +17 -26
- package/dist/RS/v1/from/locked-times.js.map +1 -1
- package/dist/RS/v1/from/placements.js +13 -30
- package/dist/RS/v1/from/placements.js.map +1 -1
- package/dist/RS/v1/from/schedules.js +42 -88
- package/dist/RS/v1/from/schedules.js.map +1 -1
- package/dist/RS/v1/from/settings.js +19 -30
- package/dist/RS/v1/from/settings.js.map +1 -1
- package/dist/RS/v1/from/teachers.js +30 -60
- package/dist/RS/v1/from/teachers.js.map +1 -1
- package/dist/RS/v1/index.js +7 -35
- package/dist/RS/v1/index.js.map +1 -1
- package/dist/RS/v1/to/available-dependencies.js +26 -41
- package/dist/RS/v1/to/available-dependencies.js.map +1 -1
- package/dist/RS/v1/to/break-lengths.js +13 -26
- package/dist/RS/v1/to/break-lengths.js.map +1 -1
- package/dist/RS/v1/to/collections.js +52 -103
- package/dist/RS/v1/to/collections.js.map +1 -1
- package/dist/RS/v1/to/configurations.js +20 -33
- package/dist/RS/v1/to/configurations.js.map +1 -1
- package/dist/RS/v1/to/constraints.js +22 -55
- package/dist/RS/v1/to/constraints.js.map +1 -1
- package/dist/RS/v1/to/course-events/common.js +2 -10
- package/dist/RS/v1/to/course-events/common.js.map +1 -1
- package/dist/RS/v1/to/course-events/days.js +9 -21
- package/dist/RS/v1/to/course-events/days.js.map +1 -1
- package/dist/RS/v1/to/course-events/dependencies.js +11 -24
- package/dist/RS/v1/to/course-events/dependencies.js.map +1 -1
- package/dist/RS/v1/to/course-events/groups.js +31 -41
- package/dist/RS/v1/to/course-events/groups.js.map +1 -1
- package/dist/RS/v1/to/course-events/in-locations.js +17 -24
- package/dist/RS/v1/to/course-events/in-locations.js.map +1 -1
- package/dist/RS/v1/to/course-events/index.js +48 -83
- package/dist/RS/v1/to/course-events/index.js.map +1 -1
- package/dist/RS/v1/to/course-events/intervals.js +5 -18
- package/dist/RS/v1/to/course-events/intervals.js.map +1 -1
- package/dist/RS/v1/to/course-events/meta.js +16 -37
- package/dist/RS/v1/to/course-events/meta.js.map +1 -1
- package/dist/RS/v1/to/days.js +10 -18
- package/dist/RS/v1/to/days.js.map +1 -1
- package/dist/RS/v1/to/dependencies.js +24 -52
- package/dist/RS/v1/to/dependencies.js.map +1 -1
- package/dist/RS/v1/to/groups.js +30 -65
- package/dist/RS/v1/to/groups.js.map +1 -1
- package/dist/RS/v1/to/index.js +28 -51
- package/dist/RS/v1/to/index.js.map +1 -1
- package/dist/RS/v1/to/intervals.js +12 -22
- package/dist/RS/v1/to/intervals.js.map +1 -1
- package/dist/RS/v1/to/locked-times.js +53 -74
- package/dist/RS/v1/to/locked-times.js.map +1 -1
- package/dist/RS/v1/to/schedules.js +9 -34
- package/dist/RS/v1/to/schedules.js.map +1 -1
- package/dist/RS/v1/to/settings.js +32 -45
- package/dist/RS/v1/to/settings.js.map +1 -1
- package/dist/RS/v1/to/teachers.js +30 -65
- package/dist/RS/v1/to/teachers.js.map +1 -1
- package/dist/RS/v1/types/areas.js +1 -5
- package/dist/RS/v1/types/areas.js.map +1 -1
- package/dist/RS/v1/types/available-dependencies.js +1 -5
- package/dist/RS/v1/types/available-dependencies.js.map +1 -1
- package/dist/RS/v1/types/break-lengths.js +1 -5
- package/dist/RS/v1/types/break-lengths.js.map +1 -1
- package/dist/RS/v1/types/collections.js +1 -5
- package/dist/RS/v1/types/collections.js.map +1 -1
- package/dist/RS/v1/types/configurations.js +1 -5
- package/dist/RS/v1/types/configurations.js.map +1 -1
- package/dist/RS/v1/types/constraints.js +1 -5
- package/dist/RS/v1/types/constraints.js.map +1 -1
- package/dist/RS/v1/types/course-events.js +1 -5
- package/dist/RS/v1/types/course-events.js.map +1 -1
- package/dist/RS/v1/types/days.js +1 -5
- package/dist/RS/v1/types/days.js.map +1 -1
- package/dist/RS/v1/types/dependencies.js +1 -5
- package/dist/RS/v1/types/dependencies.js.map +1 -1
- package/dist/RS/v1/types/groups.js +1 -5
- package/dist/RS/v1/types/groups.js.map +1 -1
- package/dist/RS/v1/types/index.js +1 -5
- package/dist/RS/v1/types/index.js.map +1 -1
- package/dist/RS/v1/types/intervals.js +1 -5
- package/dist/RS/v1/types/intervals.js.map +1 -1
- package/dist/RS/v1/types/locked-times.js +1 -5
- package/dist/RS/v1/types/locked-times.js.map +1 -1
- package/dist/RS/v1/types/out-options.js +1 -5
- package/dist/RS/v1/types/out-options.js.map +1 -1
- package/dist/RS/v1/types/placements.js +1 -5
- package/dist/RS/v1/types/placements.js.map +1 -1
- package/dist/RS/v1/types/schedules.js +1 -5
- package/dist/RS/v1/types/schedules.js.map +1 -1
- package/dist/RS/v1/types/settings.js +1 -5
- package/dist/RS/v1/types/settings.js.map +1 -1
- package/dist/RS/v2/from/available-dependencies.d.ts +3 -0
- package/dist/RS/v2/from/available-dependencies.js +41 -0
- package/dist/RS/v2/from/available-dependencies.js.map +1 -0
- package/dist/RS/v2/from/break-lengths.d.ts +3 -0
- package/dist/RS/v2/from/break-lengths.js +17 -0
- package/dist/RS/v2/from/break-lengths.js.map +1 -0
- package/dist/RS/v2/from/collections.d.ts +5 -0
- package/dist/RS/v2/from/collections.js +56 -0
- package/dist/RS/v2/from/collections.js.map +1 -0
- package/dist/RS/v2/from/course-events.d.ts +5 -0
- package/dist/RS/v2/from/course-events.js +68 -0
- package/dist/RS/v2/from/course-events.js.map +1 -0
- package/dist/RS/v2/from/days.d.ts +4 -0
- package/dist/RS/v2/from/days.js +13 -0
- package/dist/RS/v2/from/days.js.map +1 -0
- package/dist/RS/v2/from/dependencies.d.ts +4 -0
- package/dist/RS/v2/from/dependencies.js +32 -0
- package/dist/RS/v2/from/dependencies.js.map +1 -0
- package/dist/RS/v2/from/groups.d.ts +5 -0
- package/dist/RS/v2/from/groups.js +34 -0
- package/dist/RS/v2/from/groups.js.map +1 -0
- package/dist/RS/v2/from/index.d.ts +16 -0
- package/dist/RS/v2/from/index.js +27 -0
- package/dist/RS/v2/from/index.js.map +1 -0
- package/dist/RS/v2/from/intervals.d.ts +4 -0
- package/dist/RS/v2/from/intervals.js +15 -0
- package/dist/RS/v2/from/intervals.js.map +1 -0
- package/dist/RS/v2/from/locked-times.d.ts +4 -0
- package/dist/RS/v2/from/locked-times.js +19 -0
- package/dist/RS/v2/from/locked-times.js.map +1 -0
- package/dist/RS/v2/from/placements.d.ts +7 -0
- package/dist/RS/v2/from/placements.js +15 -0
- package/dist/RS/v2/from/placements.js.map +1 -0
- package/dist/RS/v2/from/schedules.d.ts +4 -0
- package/dist/RS/v2/from/schedules.js +45 -0
- package/dist/RS/v2/from/schedules.js.map +1 -0
- package/dist/RS/v2/from/settings.d.ts +5 -0
- package/dist/RS/v2/from/settings.js +25 -0
- package/dist/RS/v2/from/settings.js.map +1 -0
- package/dist/RS/v2/from/teachers.d.ts +4 -0
- package/dist/RS/v2/from/teachers.js +32 -0
- package/dist/RS/v2/from/teachers.js.map +1 -0
- package/dist/RS/v2/index.d.ts +7 -0
- package/dist/RS/v2/index.js +8 -0
- package/dist/RS/v2/index.js.map +1 -0
- package/dist/RS/v2/to/available-dependencies.d.ts +5 -0
- package/dist/RS/v2/to/available-dependencies.js +28 -0
- package/dist/RS/v2/to/available-dependencies.js.map +1 -0
- package/dist/RS/v2/to/break-lengths.d.ts +4 -0
- package/dist/RS/v2/to/break-lengths.js +15 -0
- package/dist/RS/v2/to/break-lengths.js.map +1 -0
- package/dist/RS/v2/to/collections.d.ts +7 -0
- package/dist/RS/v2/to/collections.js +54 -0
- package/dist/RS/v2/to/collections.js.map +1 -0
- package/dist/RS/v2/to/configurations.d.ts +5 -0
- package/dist/RS/v2/to/configurations.js +22 -0
- package/dist/RS/v2/to/configurations.js.map +1 -0
- package/dist/RS/v2/to/constraints.d.ts +5 -0
- package/dist/RS/v2/to/constraints.js +24 -0
- package/dist/RS/v2/to/constraints.js.map +1 -0
- package/dist/RS/v2/to/course-events/common.d.ts +1 -0
- package/dist/RS/v2/to/course-events/common.js +4 -0
- package/dist/RS/v2/to/course-events/common.js.map +1 -0
- package/dist/RS/v2/to/course-events/days.d.ts +8 -0
- package/dist/RS/v2/to/course-events/days.js +11 -0
- package/dist/RS/v2/to/course-events/days.js.map +1 -0
- package/dist/RS/v2/to/course-events/dependencies.d.ts +8 -0
- package/dist/RS/v2/to/course-events/dependencies.js +13 -0
- package/dist/RS/v2/to/course-events/dependencies.js.map +1 -0
- package/dist/RS/v2/to/course-events/groups.d.ts +9 -0
- package/dist/RS/v2/to/course-events/groups.js +33 -0
- package/dist/RS/v2/to/course-events/groups.js.map +1 -0
- package/dist/RS/v2/to/course-events/in-locations.d.ts +3 -0
- package/dist/RS/v2/to/course-events/in-locations.js +19 -0
- package/dist/RS/v2/to/course-events/in-locations.js.map +1 -0
- package/dist/RS/v2/to/course-events/index.d.ts +5 -0
- package/dist/RS/v2/to/course-events/index.js +50 -0
- package/dist/RS/v2/to/course-events/index.js.map +1 -0
- package/dist/RS/v2/to/course-events/intervals.d.ts +8 -0
- package/dist/RS/v2/to/course-events/intervals.js +7 -0
- package/dist/RS/v2/to/course-events/intervals.js.map +1 -0
- package/dist/RS/v2/to/course-events/meta.d.ts +15 -0
- package/dist/RS/v2/to/course-events/meta.js +18 -0
- package/dist/RS/v2/to/course-events/meta.js.map +1 -0
- package/dist/RS/v2/to/days.d.ts +4 -0
- package/dist/RS/v2/to/days.js +12 -0
- package/dist/RS/v2/to/days.js.map +1 -0
- package/dist/RS/v2/to/default.d.ts +4 -0
- package/dist/RS/v2/to/default.js +28 -0
- package/dist/RS/v2/to/default.js.map +1 -0
- package/dist/RS/v2/to/dependencies.d.ts +5 -0
- package/dist/RS/v2/to/dependencies.js +27 -0
- package/dist/RS/v2/to/dependencies.js.map +1 -0
- package/dist/RS/v2/to/groups.d.ts +5 -0
- package/dist/RS/v2/to/groups.js +33 -0
- package/dist/RS/v2/to/groups.js.map +1 -0
- package/dist/RS/v2/to/index.d.ts +15 -0
- package/dist/RS/v2/to/index.js +29 -0
- package/dist/RS/v2/to/index.js.map +1 -0
- package/dist/RS/v2/to/intervals.d.ts +4 -0
- package/dist/RS/v2/to/intervals.js +14 -0
- package/dist/RS/v2/to/intervals.js.map +1 -0
- package/dist/RS/v2/to/locked-times.d.ts +5 -0
- package/dist/RS/v2/to/locked-times.js +60 -0
- package/dist/RS/v2/to/locked-times.js.map +1 -0
- package/dist/RS/v2/to/schedules.d.ts +5 -0
- package/dist/RS/v2/to/schedules.js +11 -0
- package/dist/RS/v2/to/schedules.js.map +1 -0
- package/dist/RS/v2/to/settings.d.ts +4 -0
- package/dist/RS/v2/to/settings.js +16 -0
- package/dist/RS/v2/to/settings.js.map +1 -0
- package/dist/RS/v2/to/teachers.d.ts +5 -0
- package/dist/RS/v2/to/teachers.js +33 -0
- package/dist/RS/v2/to/teachers.js.map +1 -0
- package/dist/RS/v2/types/areas.d.ts +4 -0
- package/dist/RS/v2/types/areas.js +2 -0
- package/dist/RS/v2/types/areas.js.map +1 -0
- package/dist/RS/v2/types/available-dependencies.d.ts +4 -0
- package/dist/RS/v2/types/available-dependencies.js +2 -0
- package/dist/RS/v2/types/available-dependencies.js.map +1 -0
- package/dist/RS/v2/types/break-lengths.d.ts +6 -0
- package/dist/RS/v2/types/break-lengths.js +2 -0
- package/dist/RS/v2/types/break-lengths.js.map +1 -0
- package/dist/RS/v2/types/collections.d.ts +22 -0
- package/dist/RS/v2/types/collections.js +2 -0
- package/dist/RS/v2/types/collections.js.map +1 -0
- package/dist/RS/v2/types/configurations.d.ts +5 -0
- package/dist/RS/v2/types/configurations.js +2 -0
- package/dist/RS/v2/types/configurations.js.map +1 -0
- package/dist/RS/v2/types/constraints.d.ts +14 -0
- package/dist/RS/v2/types/constraints.js +2 -0
- package/dist/RS/v2/types/constraints.js.map +1 -0
- package/dist/RS/v2/types/course-events.d.ts +21 -0
- package/dist/RS/v2/types/course-events.js +2 -0
- package/dist/RS/v2/types/course-events.js.map +1 -0
- package/dist/RS/v2/types/days.d.ts +4 -0
- package/dist/RS/v2/types/days.js +2 -0
- package/dist/RS/v2/types/days.js.map +1 -0
- package/dist/RS/v2/types/default.d.ts +18 -0
- package/dist/RS/v2/types/default.js +2 -0
- package/dist/RS/v2/types/default.js.map +1 -0
- package/dist/RS/v2/types/dependencies.d.ts +12 -0
- package/dist/RS/v2/types/dependencies.js +2 -0
- package/dist/RS/v2/types/dependencies.js.map +1 -0
- package/dist/RS/v2/types/groups.d.ts +22 -0
- package/dist/RS/v2/types/groups.js +2 -0
- package/dist/RS/v2/types/groups.js.map +1 -0
- package/dist/RS/v2/types/index.d.ts +28 -0
- package/dist/RS/v2/types/index.js +2 -0
- package/dist/RS/v2/types/index.js.map +1 -0
- package/dist/RS/v2/types/intervals.d.ts +4 -0
- package/dist/RS/v2/types/intervals.js +2 -0
- package/dist/RS/v2/types/intervals.js.map +1 -0
- package/dist/RS/v2/types/locked-times.d.ts +7 -0
- package/dist/RS/v2/types/locked-times.js +2 -0
- package/dist/RS/v2/types/locked-times.js.map +1 -0
- package/dist/RS/v2/types/out-options.d.ts +7 -0
- package/dist/RS/v2/types/out-options.js +2 -0
- package/dist/RS/v2/types/out-options.js.map +1 -0
- package/dist/RS/v2/types/placements.d.ts +8 -0
- package/dist/RS/v2/types/placements.js +2 -0
- package/dist/RS/v2/types/placements.js.map +1 -0
- package/dist/RS/v2/types/schedules.d.ts +12 -0
- package/dist/RS/v2/types/schedules.js +2 -0
- package/dist/RS/v2/types/schedules.js.map +1 -0
- package/dist/RS/v2/types/settings.d.ts +12 -0
- package/dist/RS/v2/types/settings.js +2 -0
- package/dist/RS/v2/types/settings.js.map +1 -0
- package/dist/SchoolSoft/index.js +4 -15
- package/dist/SchoolSoft/index.js.map +1 -1
- package/dist/SchoolSoft/to/index.js +4 -15
- package/dist/SchoolSoft/to/index.js.map +1 -1
- package/dist/SchoolSoft/to/schedules.js +26 -38
- package/dist/SchoolSoft/to/schedules.js.map +1 -1
- package/dist/SchoolSoft/types/events.js +1 -5
- package/dist/SchoolSoft/types/events.js.map +1 -1
- package/dist/SchoolSoft/types/index.js +1 -5
- package/dist/SchoolSoft/types/index.js.map +1 -1
- package/dist/Skola24/from/assert-week-overlap.js +16 -24
- package/dist/Skola24/from/assert-week-overlap.js.map +1 -1
- package/dist/Skola24/from/course-events.js +73 -84
- package/dist/Skola24/from/course-events.js.map +1 -1
- package/dist/Skola24/from/courses.js +41 -51
- package/dist/Skola24/from/courses.js.map +1 -1
- package/dist/Skola24/from/groups.js +6 -12
- package/dist/Skola24/from/groups.js.map +1 -1
- package/dist/Skola24/from/index.js +4 -15
- package/dist/Skola24/from/index.js.map +1 -1
- package/dist/Skola24/from/locations.js +5 -12
- package/dist/Skola24/from/locations.js.map +1 -1
- package/dist/Skola24/from/schedule.js +40 -60
- package/dist/Skola24/from/schedule.js.map +1 -1
- package/dist/Skola24/from/teachers.js +5 -12
- package/dist/Skola24/from/teachers.js.map +1 -1
- package/dist/Skola24/index.js +4 -15
- package/dist/Skola24/index.js.map +1 -1
- package/dist/Skola24/types/TA-group-link.js +1 -5
- package/dist/Skola24/types/TA-group-link.js.map +1 -1
- package/dist/Skola24/types/TA-teacher-link.js +1 -5
- package/dist/Skola24/types/TA-teacher-link.js.map +1 -1
- package/dist/Skola24/types/TA.js +1 -5
- package/dist/Skola24/types/TA.js.map +1 -1
- package/dist/Skola24/types/group-student-link.js +1 -5
- package/dist/Skola24/types/group-student-link.js.map +1 -1
- package/dist/Skola24/types/group.js +1 -5
- package/dist/Skola24/types/group.js.map +1 -1
- package/dist/Skola24/types/lesson-group-link.js +1 -5
- package/dist/Skola24/types/lesson-group-link.js.map +1 -1
- package/dist/Skola24/types/lesson-room-link.js +1 -5
- package/dist/Skola24/types/lesson-room-link.js.map +1 -1
- package/dist/Skola24/types/lesson-teacher-link.js +1 -5
- package/dist/Skola24/types/lesson-teacher-link.js.map +1 -1
- package/dist/Skola24/types/lesson.js +1 -5
- package/dist/Skola24/types/lesson.js.map +1 -1
- package/dist/Skola24/types/room.js +1 -5
- package/dist/Skola24/types/room.js.map +1 -1
- package/dist/Skola24/types/schedule.js +1 -5
- package/dist/Skola24/types/schedule.js.map +1 -1
- package/dist/Skola24/types/teacher.js +1 -5
- package/dist/Skola24/types/teacher.js.map +1 -1
- package/dist/common/constants.js +3 -14
- package/dist/common/constants.js.map +1 -1
- package/dist/common/get-date.js +11 -26
- package/dist/common/get-date.js.map +1 -1
- package/dist/core/from/courses.js +30 -62
- package/dist/core/from/courses.js.map +1 -1
- package/dist/core/from/events.js +5 -25
- package/dist/core/from/events.js.map +1 -1
- package/dist/core/from/groups.js +9 -32
- package/dist/core/from/groups.js.map +1 -1
- package/dist/core/from/index.js +4 -15
- package/dist/core/from/index.js.map +1 -1
- package/dist/core/from/locations.js +9 -32
- package/dist/core/from/locations.js.map +1 -1
- package/dist/core/from/locked-times.js +9 -32
- package/dist/core/from/locked-times.js.map +1 -1
- package/dist/core/from/overlap-groups.js +9 -32
- package/dist/core/from/overlap-groups.js.map +1 -1
- package/dist/core/from/schedules.js +40 -86
- package/dist/core/from/schedules.js.map +1 -1
- package/dist/core/from/teachers.js +9 -32
- package/dist/core/from/teachers.js.map +1 -1
- package/dist/core/identify/index.js +85 -107
- package/dist/core/identify/index.js.map +1 -1
- package/dist/core/index.js +6 -18
- package/dist/core/index.js.map +1 -1
- package/dist/core/to/available-locations.js +5 -25
- package/dist/core/to/available-locations.js.map +1 -1
- package/dist/core/to/courses.js +24 -49
- package/dist/core/to/courses.js.map +1 -1
- package/dist/core/to/days.js +6 -22
- package/dist/core/to/days.js.map +1 -1
- package/dist/core/to/events.js +27 -54
- package/dist/core/to/events.js.map +1 -1
- package/dist/core/to/groups.js +14 -31
- package/dist/core/to/groups.js.map +1 -1
- package/dist/core/to/index.js +4 -15
- package/dist/core/to/index.js.map +1 -1
- package/dist/core/to/intervals.js +5 -20
- package/dist/core/to/intervals.js.map +1 -1
- package/dist/core/to/locations.js +14 -31
- package/dist/core/to/locations.js.map +1 -1
- package/dist/core/to/locked-times.js +11 -38
- package/dist/core/to/locked-times.js.map +1 -1
- package/dist/core/to/overlap-groups.js +11 -38
- package/dist/core/to/overlap-groups.js.map +1 -1
- package/dist/core/to/schedules.js +44 -95
- package/dist/core/to/schedules.js.map +1 -1
- package/dist/core/to/settings.js +6 -21
- package/dist/core/to/settings.js.map +1 -1
- package/dist/core/to/teachers.js +14 -31
- package/dist/core/to/teachers.js.map +1 -1
- package/dist/core/types/areas.js +1 -5
- package/dist/core/types/areas.js.map +1 -1
- package/dist/core/types/available-locations.js +1 -5
- package/dist/core/types/available-locations.js.map +1 -1
- package/dist/core/types/break-lengths.js +1 -5
- package/dist/core/types/break-lengths.js.map +1 -1
- package/dist/core/types/common/coalesced.js +1 -5
- package/dist/core/types/common/coalesced.js.map +1 -1
- package/dist/core/types/course-events.js +1 -5
- package/dist/core/types/course-events.js.map +1 -1
- package/dist/core/types/courses.js +1 -5
- package/dist/core/types/courses.js.map +1 -1
- package/dist/core/types/days.js +1 -5
- package/dist/core/types/days.js.map +1 -1
- package/dist/core/types/division-settings.d.ts +7 -6
- package/dist/core/types/division-settings.js +1 -5
- package/dist/core/types/division-settings.js.map +1 -1
- package/dist/core/types/divisions.js +1 -5
- package/dist/core/types/divisions.js.map +1 -1
- package/dist/core/types/groups.js +1 -5
- package/dist/core/types/groups.js.map +1 -1
- package/dist/core/types/index.js +1 -5
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/intervals.js +1 -5
- package/dist/core/types/intervals.js.map +1 -1
- package/dist/core/types/locations.js +1 -5
- package/dist/core/types/locations.js.map +1 -1
- package/dist/core/types/locked-times.js +1 -5
- package/dist/core/types/locked-times.js.map +1 -1
- package/dist/core/types/overlap-groups.js +1 -5
- package/dist/core/types/overlap-groups.js.map +1 -1
- package/dist/core/types/students.js +1 -5
- package/dist/core/types/students.js.map +1 -1
- package/dist/core/types/teachers.js +1 -5
- package/dist/core/types/teachers.js.map +1 -1
- package/dist/index.js +8 -109
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export default (breakLength) => {
|
|
2
|
+
if (breakLength == null)
|
|
3
|
+
return null;
|
|
4
|
+
switch (typeof breakLength) {
|
|
5
|
+
case 'boolean':
|
|
6
|
+
case 'number':
|
|
7
|
+
return breakLength;
|
|
8
|
+
case 'object':
|
|
9
|
+
if (Array.isArray(breakLength) && breakLength.length == 2)
|
|
10
|
+
return breakLength;
|
|
11
|
+
else if (breakLength?.bef != null && breakLength?.aft != null)
|
|
12
|
+
return [breakLength.bef, breakLength.aft];
|
|
13
|
+
default:
|
|
14
|
+
throw new Error('day is neither number, boolean, array or object of type { bef, aft }');
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=break-lengths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"break-lengths.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/break-lengths.ts"],"names":[],"mappings":"AAEA,eAAe,CAAC,WAA2C,EAAO,EAAE;IAElE,IAAI,WAAW,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAErC,QAAO,OAAO,WAAW,EAAE;QACzB,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC;QACrB,KAAK,QAAQ;YACX,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC;gBACvD,OAAO,WAAW,CAAC;iBAChB,IAAI,WAAW,EAAE,GAAG,IAAI,IAAI,IAAI,WAAW,EAAE,GAAG,IAAI,IAAI;gBAC3D,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9C;YACE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;KAC3F;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Settings } from '../types/settings';
|
|
2
|
+
import { Collection } from '../types/collections';
|
|
3
|
+
import { Course as SourceCourse } from '../../../core/types/courses';
|
|
4
|
+
declare let reduceCourses: (courses: (Collection | Collection[])[], teachersList: string[], groupsList: string[], settings: Settings, overlapGroup?: number) => SourceCourse[];
|
|
5
|
+
export default reduceCourses;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import breakLength from './break-lengths';
|
|
2
|
+
import days from './days';
|
|
3
|
+
import lockedTime from './locked-times';
|
|
4
|
+
import intervals from './intervals';
|
|
5
|
+
import availableDependencies from './available-dependencies';
|
|
6
|
+
import courseEvents from './course-events';
|
|
7
|
+
function _course(course, teachersList, groupsList, settings, overlapGroup = null) {
|
|
8
|
+
const idKey = settings.collectionIdKey;
|
|
9
|
+
if (!idKey)
|
|
10
|
+
throw new Error('property "collectionIdKey" in settings is undefined');
|
|
11
|
+
if (!course[idKey])
|
|
12
|
+
throw new Error('A course missing a unique key');
|
|
13
|
+
let doc = {
|
|
14
|
+
ids: course[idKey],
|
|
15
|
+
...(overlapGroup != null) && { overlapGroup: overlapGroup.toString() },
|
|
16
|
+
...course.name && { displayName: course.name },
|
|
17
|
+
...course.subject && { subject: course.subject },
|
|
18
|
+
...course.color && { color: course.color },
|
|
19
|
+
...'minBreakLength' in course && { minBreakLength: breakLength(course.minBreakLength) },
|
|
20
|
+
...'density' in course && { density: course.density },
|
|
21
|
+
...'weight' in course && { weight: course.weight },
|
|
22
|
+
...'potentialCenter' in course && { potentialCenter: course.potentialCenter },
|
|
23
|
+
...course.dependencies && { locations: availableDependencies(course.dependencies, settings) },
|
|
24
|
+
...course.intervals && { intervals: intervals(course.intervals) },
|
|
25
|
+
...course.lockedTimes && { lockedTimes: lockedTime(course.lockedTimes) },
|
|
26
|
+
...course.days && { days: days(course.days, settings) },
|
|
27
|
+
};
|
|
28
|
+
doc.teachers = course.groups?.flat().reduce((acc, gId) => {
|
|
29
|
+
if (teachersList.indexOf(gId) != -1)
|
|
30
|
+
return acc.concat(gId);
|
|
31
|
+
return acc;
|
|
32
|
+
}, []);
|
|
33
|
+
doc.groups = course.groups?.flat().reduce((acc, gId) => {
|
|
34
|
+
if (groupsList.indexOf(gId) != -1)
|
|
35
|
+
return acc.concat(gId);
|
|
36
|
+
return acc;
|
|
37
|
+
}, []);
|
|
38
|
+
if ((doc.teachers.length + doc.groups.length) !== (course.groups || []).length)
|
|
39
|
+
throw new Error(`Length of teachers + groups does not match length of groups in input for course ${course[idKey]}`);
|
|
40
|
+
if ((course.events || []).length)
|
|
41
|
+
doc.events = courseEvents(course.events, course, teachersList, groupsList, settings);
|
|
42
|
+
return doc;
|
|
43
|
+
}
|
|
44
|
+
let reduceCourses = (courses, teachersList, groupsList, settings, overlapGroup = 0) => {
|
|
45
|
+
return courses.reduce((acc, course) => {
|
|
46
|
+
if (Array.isArray(course)) {
|
|
47
|
+
let _overlapGroup = overlapGroup++;
|
|
48
|
+
return acc.concat(course.map((innerCourse) => {
|
|
49
|
+
return _course(innerCourse, teachersList, groupsList, settings, _overlapGroup);
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
return acc.concat(_course(course, teachersList, groupsList, settings));
|
|
53
|
+
}, []);
|
|
54
|
+
};
|
|
55
|
+
export default reduceCourses;
|
|
56
|
+
//# sourceMappingURL=collections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/collections.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Settings } from '../types/settings';
|
|
2
|
+
import { CourseEvent } from '../types/course-events';
|
|
3
|
+
import { Collection } from '../types/collections';
|
|
4
|
+
declare const _default: (courseEvents: (CourseEvent | number)[], course: Collection, teachersList: string[], groupsList: string[], settings: Settings) => any;
|
|
5
|
+
export default _default;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import breakLength from './break-lengths';
|
|
2
|
+
import days from './days';
|
|
3
|
+
import lockedTime from './locked-times';
|
|
4
|
+
import intervals from './intervals';
|
|
5
|
+
import availableDependencies from './available-dependencies';
|
|
6
|
+
import getDate from '../../../common/get-date';
|
|
7
|
+
export default (courseEvents, course, teachersList, groupsList, settings) => {
|
|
8
|
+
const collectionIdKey = settings.collectionIdKey;
|
|
9
|
+
const eventIdKey = settings.eventIdKey;
|
|
10
|
+
if (!collectionIdKey)
|
|
11
|
+
throw new Error('property "collectionIdKey" in settings is undefined');
|
|
12
|
+
return courseEvents.reduce((acc, event) => {
|
|
13
|
+
switch (typeof event) {
|
|
14
|
+
case 'number':
|
|
15
|
+
return acc.concat({
|
|
16
|
+
duration: event,
|
|
17
|
+
ids: `${course[collectionIdKey]}_${acc.length}`
|
|
18
|
+
});
|
|
19
|
+
case 'object':
|
|
20
|
+
if (!event[eventIdKey]) {
|
|
21
|
+
Object.assign(event, { [eventIdKey]: `${course[collectionIdKey]}_${acc.length}` });
|
|
22
|
+
}
|
|
23
|
+
const teachers = event.groups?.flat().reduce((acc, gId) => {
|
|
24
|
+
if (teachersList.includes(gId))
|
|
25
|
+
return acc.concat(gId);
|
|
26
|
+
return acc;
|
|
27
|
+
}, []);
|
|
28
|
+
const groups = event.groups?.flat().reduce((acc, gId) => {
|
|
29
|
+
if (groupsList.includes(gId))
|
|
30
|
+
return acc.concat(gId);
|
|
31
|
+
return acc;
|
|
32
|
+
}, []);
|
|
33
|
+
let fixedStart = false;
|
|
34
|
+
let start = null;
|
|
35
|
+
let end = null;
|
|
36
|
+
if (event.start) {
|
|
37
|
+
const day = event.day ?? 0;
|
|
38
|
+
fixedStart = true;
|
|
39
|
+
start = getDate(day, event.start.toFixed(2).replace('.', ':'));
|
|
40
|
+
end = start.clone().add(event.length, 'minutes');
|
|
41
|
+
if (start.day() != end.day())
|
|
42
|
+
throw new Error('course event have fixed time such that the event span multiple days');
|
|
43
|
+
}
|
|
44
|
+
return acc.concat({
|
|
45
|
+
duration: event.length,
|
|
46
|
+
parked: !start,
|
|
47
|
+
...event[eventIdKey] && { ids: event[eventIdKey] },
|
|
48
|
+
...event.name && { displayName: event.name },
|
|
49
|
+
...fixedStart && { fixedStart: fixedStart },
|
|
50
|
+
...start && { start: start },
|
|
51
|
+
...end && { end: end },
|
|
52
|
+
...'density' in event && { density: event.density },
|
|
53
|
+
...'weight' in event && { weight: event.weight },
|
|
54
|
+
...'potentialCenter' in event && { potentialCenter: event.potentialCenter },
|
|
55
|
+
...'minBreakLength' in event && { minBreakLength: breakLength(event.minBreakLength) },
|
|
56
|
+
...event.intervals && { intervals: intervals(event.intervals) },
|
|
57
|
+
...event.lockedTimes && { lockedTimes: lockedTime(event.lockedTimes) },
|
|
58
|
+
...event.dependencies && { locations: availableDependencies(event.dependencies, settings) },
|
|
59
|
+
...groups && { groups: groups },
|
|
60
|
+
...teachers && { teachers: teachers },
|
|
61
|
+
...event.days && { days: days(event.days, settings) },
|
|
62
|
+
});
|
|
63
|
+
default:
|
|
64
|
+
throw new Error(`course event is neither number nor object, course ${course[collectionIdKey]}`);
|
|
65
|
+
}
|
|
66
|
+
}, []);
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=course-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"course-events.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/course-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export default (days, settings) => {
|
|
2
|
+
return days.map((day) => {
|
|
3
|
+
switch (typeof day) {
|
|
4
|
+
case 'number':
|
|
5
|
+
return { day };
|
|
6
|
+
case 'object':
|
|
7
|
+
return day;
|
|
8
|
+
default:
|
|
9
|
+
throw new Error('day is neither number or object');
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=days.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"days.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/days.ts"],"names":[],"mappings":"AAGA,eAAe,CAAC,IAAgC,EAChC,QAAkB,EAAO,EAAE;IAEzC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;QAC3B,QAAO,OAAO,GAAG,EAAE;YACjB,KAAK,QAAQ;gBACX,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACX,OAAO,GAAG,CAAC;YACb;gBACE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACtD;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import breakLength from './break-lengths';
|
|
2
|
+
import days from './days';
|
|
3
|
+
import lockedTime from './locked-times';
|
|
4
|
+
import intervals from './intervals';
|
|
5
|
+
export default (dependencies, settings) => {
|
|
6
|
+
const idKey = settings.dependencyIdKey;
|
|
7
|
+
if (!idKey)
|
|
8
|
+
throw new Error('property "dependencyIdKey" in settings is undefined');
|
|
9
|
+
return dependencies.map((dependency) => {
|
|
10
|
+
switch (typeof dependency) {
|
|
11
|
+
case 'string':
|
|
12
|
+
return {
|
|
13
|
+
ids: dependency
|
|
14
|
+
};
|
|
15
|
+
case 'object':
|
|
16
|
+
if (!dependency[idKey])
|
|
17
|
+
throw new Error('A dependency does not have a unique key');
|
|
18
|
+
return {
|
|
19
|
+
ids: dependency[idKey],
|
|
20
|
+
...'minBreakLength' in dependency && { minBreakLength: breakLength(dependency.minBreakLength) },
|
|
21
|
+
...dependency.name && { displayName: dependency.name },
|
|
22
|
+
...dependency.area && { area: dependency.area },
|
|
23
|
+
...dependency.days && { days: days(dependency.days, settings) },
|
|
24
|
+
...dependency.intervals && { intervals: intervals(dependency.intervals) },
|
|
25
|
+
...dependency.lockedTimes && { lockedTimes: lockedTime(dependency.lockedTimes) },
|
|
26
|
+
};
|
|
27
|
+
default:
|
|
28
|
+
throw new Error('dependency is neither string nor object');
|
|
29
|
+
}
|
|
30
|
+
}, []);
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=dependencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAA8B,iBAAiB,CAAC;AAClE,OAAO,IAAI,MAAqC,QAAQ,CAAC;AACzD,OAAO,UAAU,MAA+B,gBAAgB,CAAC;AACjE,OAAO,SAAS,MAAgC,aAAa,CAAC;AAK9D,eAAe,CAAC,YAAwC,EACxC,QAAyB,EAAS,EAAE;IAClD,MAAM,KAAK,GAAqB,QAAQ,CAAC,eAAe,CAAC;IAEzD,IAAI,CAAE,KAAK;QACT,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAEzE,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,UAA+B,EAAE,EAAE;QAC1D,QAAO,OAAO,UAAU,EAAE;YACxB,KAAK,QAAQ;gBACX,OAAO;oBACL,GAAG,EAAQ,UAAU;iBACtB,CAAC;YACJ,KAAK,QAAQ;gBAEX,IAAI,CAAE,UAAU,CAAC,KAAK,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAE7D,OAAO;oBACL,GAAG,EAAoD,UAAU,CAAC,KAAK,CAAC;oBACxE,GAAG,gBAAgB,IAAI,UAAU,IAAI,EAAE,cAAc,EAAE,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;oBAC/F,GAAG,UAAU,CAAC,IAAI,IAAmB,EAAE,WAAW,EAAK,UAAU,CAAC,IAAI,EAAE;oBACxE,GAAG,UAAU,CAAC,IAAI,IAAmB,EAAE,IAAI,EAAY,UAAU,CAAC,IAAI,EAAE;oBACxE,GAAG,UAAU,CAAC,IAAI,IAAmB,EAAE,IAAI,EAAY,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;oBACxF,GAAG,UAAU,CAAC,SAAS,IAAc,EAAE,SAAS,EAAO,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;oBACxF,GAAG,UAAU,CAAC,WAAW,IAAY,EAAE,WAAW,EAAK,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;iBAC5F,CAAC;YACJ;gBACE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAE9D;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;AAET,CAAC,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import breakLength from './break-lengths';
|
|
2
|
+
import days from './days';
|
|
3
|
+
import lockedTime from './locked-times';
|
|
4
|
+
import intervals from './intervals';
|
|
5
|
+
export default (groups, settings) => {
|
|
6
|
+
const idKey = settings.groupIdKey;
|
|
7
|
+
if (!idKey)
|
|
8
|
+
throw new Error('property "groupIdKey" in settings is undefined');
|
|
9
|
+
return groups.reduce((acc, group) => {
|
|
10
|
+
if (!group.group_type)
|
|
11
|
+
throw new Error('property "group_type" must exist on all entries in "groups" array');
|
|
12
|
+
if (!['personal', 'classes'].includes(group.group_type))
|
|
13
|
+
throw new Error('Allowed values of "group_type" are "personal" and "classes"');
|
|
14
|
+
if (!group[idKey])
|
|
15
|
+
throw new Error('A group does not have a unique key');
|
|
16
|
+
if (group.group_type != 'classes')
|
|
17
|
+
return acc;
|
|
18
|
+
return acc.concat({
|
|
19
|
+
ids: group[idKey],
|
|
20
|
+
...group.name && { displayName: group.name },
|
|
21
|
+
...'forbidOverlappingEvents' in group && { forbidOverlappingEvents: group.forbidOverlappingEvents },
|
|
22
|
+
...'maxNumWorkingHours' in group && { maxNumWorkingHours: group.maxNumWorkingHours },
|
|
23
|
+
...'maxNumDailyWorkingHours' in group && { maxNumDailyWorkingHours: group.maxNumDailyWorkingHours },
|
|
24
|
+
...'minBreakLength' in group && { minBreakLength: breakLength(group.minBreakLength) },
|
|
25
|
+
...'disableDayLengthPunishment' in group && { disableDayLengthPunishment: group.disableDayLengthPunishment },
|
|
26
|
+
...'weight' in group && { weight: group.weight },
|
|
27
|
+
...'rank' in group && { rank: group.rank },
|
|
28
|
+
...group.days?.length && { days: days(group.days, settings) },
|
|
29
|
+
...group.intervals?.length && { intervals: intervals(group.intervals) },
|
|
30
|
+
...group.lockedTimes?.length && { lockedTimes: lockedTime(group.lockedTimes) },
|
|
31
|
+
});
|
|
32
|
+
}, []);
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=groups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groups.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/groups.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAA8B,iBAAiB,CAAC;AAClE,OAAO,IAAI,MAAqC,QAAQ,CAAC;AACzD,OAAO,UAAU,MAA+B,gBAAgB,CAAC;AACjE,OAAO,SAAS,MAAgC,aAAa,CAAC;AAO9D,eAAe,CAAC,MAAmB,EACnB,QAAoB,EAAiB,EAAE;IACrD,MAAM,KAAK,GAAgB,QAAQ,CAAC,UAAU,CAAC;IAE/C,IAAI,CAAE,KAAK;QACT,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAEpE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAU,EAAE,KAAY,EAAE,EAAE;QAEhD,IAAI,CAAE,KAAK,CAAC,UAAU;YACpB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QAEvF,IAAI,CAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAEjF,IAAI,CAAE,KAAK,CAAC,KAAK,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAExD,IAAI,KAAK,CAAC,UAAU,IAAI,SAAS;YAAE,OAAO,GAAG,CAAC;QAE9C,OAAO,GAAG,CAAC,MAAM,CAAC;YAChB,GAAG,EAAuE,KAAK,CAAC,KAAK,CAAC;YACtF,GAAG,KAAK,CAAC,IAAI,IAA+B,EAAE,WAAW,EAAiB,KAAK,CAAC,IAAI,EAAE;YACtF,GAAG,yBAAyB,IAAO,KAAK,IAAI,EAAE,uBAAuB,EAAK,KAAK,CAAC,uBAAuB,EAAE;YACzG,GAAG,oBAAoB,IAAY,KAAK,IAAI,EAAE,kBAAkB,EAAU,KAAK,CAAC,kBAAkB,EAAE;YACpG,GAAG,yBAAyB,IAAO,KAAK,IAAI,EAAE,uBAAuB,EAAK,KAAK,CAAC,uBAAuB,EAAE;YACzG,GAAG,gBAAgB,IAAgB,KAAK,IAAI,EAAE,cAAc,EAAc,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;YAC7G,GAAG,4BAA4B,IAAI,KAAK,IAAI,EAAE,0BAA0B,EAAE,KAAK,CAAC,0BAA0B,EAAE;YAC5G,GAAG,QAAQ,IAAwB,KAAK,IAAI,EAAE,MAAM,EAAsB,KAAK,CAAC,MAAM,EAAE;YACxF,GAAG,MAAM,IAA0B,KAAK,IAAI,EAAE,IAAI,EAAwB,KAAK,CAAC,IAAI,EAAE;YACtF,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,IAAuB,EAAE,IAAI,EAAwB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;YACtG,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,IAAkB,EAAE,SAAS,EAAmB,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACtG,GAAG,KAAK,CAAC,WAAW,EAAE,MAAM,IAAgB,EAAE,WAAW,EAAiB,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;SAC1G,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export default class {
|
|
2
|
+
static availableDependency: (data: any, settings: import("../types/settings").Settings) => any;
|
|
3
|
+
static courseEvent: (courseEvents: (number | import("../types/course-events").CourseEvent)[], course: import("../types/collections").Collection, teachersList: string[], groupsList: string[], settings: import("../types/settings").Settings) => any;
|
|
4
|
+
static collection: (courses: (import("../types/collections").Collection | import("../types/collections").Collection[])[], teachersList: string[], groupsList: string[], settings: import("../types/settings").Settings, overlapGroup?: number) => import("../../../core/types/courses").Course[];
|
|
5
|
+
static day: (days: any, settings: import("../types/settings").Settings) => any;
|
|
6
|
+
static dependency: (dependencies: (string | import("../types/dependencies").Dependency)[], settings: import("../types/settings").Settings) => any[];
|
|
7
|
+
static group: (groups: import("../types/groups").Group[], settings: import("../types/settings").Settings) => import("../../../core/types/groups").Group[];
|
|
8
|
+
static interval: (intervals: import("../types/intervals").Interval[]) => import("../../../core/types/intervals").Interval[];
|
|
9
|
+
static lockedTime: (lockedTimes: import("../types/locked-times").LockedTime[]) => import("../../../core/types/locked-times").LockedTime[];
|
|
10
|
+
static placement: (configuration: import("../types/configurations").Configuration, options?: {
|
|
11
|
+
idKey?: "id" | "_id" | "ids" | undefined;
|
|
12
|
+
}) => import("../../../core/types/course-events").CourseEvent[];
|
|
13
|
+
static schedules: (schedule: import("../types/schedules").Schedule) => import("../../../core/types/divisions").Division;
|
|
14
|
+
static setting: (settings: import("../types/settings").Settings, _default: import("../types/default").Default) => import("../../../core/types/division-settings").DivisionSettings;
|
|
15
|
+
static teacher: (teachers: import("../types/groups").Group[], settings: any) => import("../../../core/types/teachers").Teacher[];
|
|
16
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import _availableDependency from './available-dependencies';
|
|
2
|
+
import _courseEvent from './course-events';
|
|
3
|
+
import _collection from './collections';
|
|
4
|
+
import _day from './days';
|
|
5
|
+
import _dependency from './dependencies';
|
|
6
|
+
import _group from './groups';
|
|
7
|
+
import _interval from './intervals';
|
|
8
|
+
import _lockedTime from './locked-times';
|
|
9
|
+
import _placement from './placements';
|
|
10
|
+
import _schedules from './schedules';
|
|
11
|
+
import _setting from './settings';
|
|
12
|
+
import _teacher from './teachers';
|
|
13
|
+
export default class default_1 {
|
|
14
|
+
}
|
|
15
|
+
default_1.availableDependency = _availableDependency;
|
|
16
|
+
default_1.courseEvent = _courseEvent;
|
|
17
|
+
default_1.collection = _collection;
|
|
18
|
+
default_1.day = _day;
|
|
19
|
+
default_1.dependency = _dependency;
|
|
20
|
+
default_1.group = _group;
|
|
21
|
+
default_1.interval = _interval;
|
|
22
|
+
default_1.lockedTime = _lockedTime;
|
|
23
|
+
default_1.placement = _placement;
|
|
24
|
+
default_1.schedules = _schedules;
|
|
25
|
+
default_1.setting = _setting;
|
|
26
|
+
default_1.teacher = _teacher;
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAqB,0BAA0B,CAAC;AAC3E,OAAO,YAAY,MAA6B,iBAAiB,CAAC;AAClE,OAAO,WAAW,MAA8B,eAAe,CAAC;AAChE,OAAO,IAAI,MAAqC,QAAQ,CAAC;AACzD,OAAO,WAAW,MAA8B,gBAAgB,CAAC;AACjE,OAAO,MAAM,MAAmC,UAAU,CAAC;AAC3D,OAAO,SAAS,MAAgC,aAAa,CAAC;AAC9D,OAAO,WAAW,MAA8B,gBAAgB,CAAC;AACjE,OAAO,UAAU,MAA+B,cAAc,CAAC;AAC/D,OAAO,UAAU,MAA+B,aAAa,CAAC;AAC9D,OAAO,QAAQ,MAAiC,YAAY,CAAC;AAC7D,OAAO,QAAQ,MAAiC,YAAY,CAAC;AAE7D,MAAM,CAAC,OAAO;;AACL,6BAAmB,GAAG,oBAAoB,CAAC;AAC3C,qBAAW,GAAW,YAAY,CAAC;AACnC,oBAAU,GAAY,WAAW,CAAC;AAClC,aAAG,GAAmB,IAAI,CAAC;AAC3B,oBAAU,GAAY,WAAW,CAAC;AAClC,eAAK,GAAiB,MAAM,CAAC;AAC7B,kBAAQ,GAAc,SAAS,CAAC;AAChC,oBAAU,GAAY,WAAW,CAAC;AAClC,mBAAS,GAAa,UAAU,CAAC;AACjC,mBAAS,GAAa,UAAU,CAAC;AACjC,iBAAO,GAAe,QAAQ,CAAC;AAC/B,iBAAO,GAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import getDate from '../../../common/get-date';
|
|
2
|
+
export default (intervals) => {
|
|
3
|
+
return intervals.map((interval) => {
|
|
4
|
+
const { beg, end } = interval;
|
|
5
|
+
if (beg == null)
|
|
6
|
+
throw new Error('Interval beg is undefined');
|
|
7
|
+
if (end == null)
|
|
8
|
+
throw new Error('Interval end is undefined');
|
|
9
|
+
return {
|
|
10
|
+
start: getDate(0, beg.toFixed(2).replace('.', ':')),
|
|
11
|
+
end: getDate(0, end.toFixed(2).replace('.', ':'))
|
|
12
|
+
};
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=intervals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intervals.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/intervals.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAkC,0BAA0B,CAAC;AAK3E,eAAe,CAAC,SAAqB,EAAoB,EAAE;IACzD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE;QAC1C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;QAE9B,IAAI,GAAG,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC7D,IAAI,GAAG,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAE7D,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACnD,GAAG,EAAI,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SACpD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import getDate from '../../../common/get-date';
|
|
2
|
+
export default (lockedTimes) => {
|
|
3
|
+
return lockedTimes.reduce((acc, lockedTime) => {
|
|
4
|
+
if (lockedTime.day == null)
|
|
5
|
+
throw new Error('A locked time missing days field');
|
|
6
|
+
if (lockedTime.start == null)
|
|
7
|
+
throw new Error('A locked time missing start field');
|
|
8
|
+
if (!lockedTime.length)
|
|
9
|
+
throw new Error('A locked time missing length field');
|
|
10
|
+
const start = getDate(lockedTime.day, lockedTime.start.toFixed(2).replace('.', ':'));
|
|
11
|
+
const end = start.clone().add(lockedTime.length, 'minutes');
|
|
12
|
+
return acc.concat({
|
|
13
|
+
displayName: lockedTime.name,
|
|
14
|
+
start: start,
|
|
15
|
+
end: end
|
|
16
|
+
});
|
|
17
|
+
}, []);
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=locked-times.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locked-times.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/locked-times.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAkC,0BAA0B,CAAC;AAM3E,eAAe,CAAC,WAAyB,EAAsB,EAAE;IAC/D,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,UAAsB,EAAE,EAAE;QAE7D,IAAI,UAAU,CAAC,GAAG,IAAI,IAAI;YACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAEtD,IAAI,UAAU,CAAC,KAAK,IAAI,IAAI;YAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAEvD,IAAI,CAAE,UAAU,CAAC,MAAM;YACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACtF,MAAM,GAAG,GAAK,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE9D,OAAO,GAAG,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,UAAU,CAAC,IAAI;YAC5B,KAAK,EAAQ,KAAK;YAClB,GAAG,EAAU,GAAG;SACjB,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Configuration } from '../types/configurations';
|
|
2
|
+
import { CourseEvent } from '../../../core/types/course-events';
|
|
3
|
+
declare type Options = {
|
|
4
|
+
idKey?: '_id' | 'id' | 'ids';
|
|
5
|
+
};
|
|
6
|
+
declare const _default: (configuration: Configuration, options?: Options) => CourseEvent[];
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
2
|
+
export default (configuration, options = {}) => {
|
|
3
|
+
const idKey = options.idKey || 'id';
|
|
4
|
+
const { events } = configuration ?? {};
|
|
5
|
+
return events?.map((event) => {
|
|
6
|
+
return {
|
|
7
|
+
[idKey]: event.id,
|
|
8
|
+
parked: false,
|
|
9
|
+
inLocations: event.dependencies ?? [],
|
|
10
|
+
start: moment.utc('1970-01-05T00:00').add(event.day, 'days').add(event.start, 'minutes').toISOString(),
|
|
11
|
+
end: moment.utc('1970-01-05T00:00').add(event.day, 'days').add(event.end, 'minutes').toISOString()
|
|
12
|
+
};
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=placements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placements.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/placements.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAmC,QAAQ,CAAC;AAYzD,eAAe,CAAC,aAA4B,EAAE,UAAmB,EAAE,EAAiB,EAAE;IAEpF,MAAM,KAAK,GAAsB,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;IAEvD,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,IAAI,EAAE,CAAC;IAEvC,OAAO,MAAM,EAAE,GAAG,CAAC,CAAC,KAAgB,EAAE,EAAE;QACtC,OAAO;YACL,CAAC,KAAK,CAAC,EAAO,KAAK,CAAC,EAAE;YACtB,MAAM,EAAQ,KAAK;YACnB,WAAW,EAAG,KAAK,CAAC,YAAY,IAAI,EAAE;YACtC,KAAK,EAAS,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,WAAW,EAAE;YAC7G,GAAG,EAAW,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,WAAW,EAAE;SAC5G,CAAA;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import getDependencies from './dependencies';
|
|
2
|
+
import getTeachers from './teachers';
|
|
3
|
+
import getGroups from './groups';
|
|
4
|
+
import getCollections from './collections';
|
|
5
|
+
import getSettings from './settings';
|
|
6
|
+
import mapPlacements from './placements';
|
|
7
|
+
export default (schedule) => {
|
|
8
|
+
let { input: { settings, default: _default, dependencies, groups, events, areas, } } = schedule;
|
|
9
|
+
const [configuration, ..._] = schedule.output || [];
|
|
10
|
+
let teachers;
|
|
11
|
+
let locations;
|
|
12
|
+
if (!settings)
|
|
13
|
+
throw new Error(`Settings cannot be undefined`);
|
|
14
|
+
if (dependencies)
|
|
15
|
+
locations = getDependencies(dependencies, settings);
|
|
16
|
+
if (groups)
|
|
17
|
+
teachers = getTeachers(groups, settings);
|
|
18
|
+
if (groups)
|
|
19
|
+
groups = getGroups(groups, settings);
|
|
20
|
+
if (events)
|
|
21
|
+
events = getCollections(events, (teachers || []).map((x) => x.ids), (groups || []).map((x) => x.ids), settings);
|
|
22
|
+
settings = getSettings(settings, _default);
|
|
23
|
+
if (configuration) {
|
|
24
|
+
const _placements = mapPlacements(configuration, { idKey: 'ids' });
|
|
25
|
+
let i = -1;
|
|
26
|
+
events?.forEach((collection) => {
|
|
27
|
+
collection.events?.forEach((event) => {
|
|
28
|
+
i++;
|
|
29
|
+
const _placedEvent = _placements.find(({ ids }) => ids == event.ids);
|
|
30
|
+
if (_placedEvent)
|
|
31
|
+
return Object.assign(event, _placedEvent);
|
|
32
|
+
return Object.assign(event, _placements[i]);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
...locations && { locations },
|
|
38
|
+
...teachers && { teachers },
|
|
39
|
+
...groups && { groups },
|
|
40
|
+
...events && { courses: events },
|
|
41
|
+
...areas && { area: areas },
|
|
42
|
+
...settings && { settings }
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=schedules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/schedules.ts"],"names":[],"mappings":"AAIA,OAAO,eAAe,MAA0B,gBAAgB,CAAC;AACjE,OAAO,WAAW,MAA8B,YAAY,CAAC;AAC7D,OAAO,SAAS,MAAgC,UAAU,CAAC;AAC3D,OAAO,cAAc,MAA2B,eAAe,CAAC;AAChE,OAAO,WAAW,MAA8B,YAAY,CAAC;AAC7D,OAAO,aAAa,MAA4B,cAAc,CAAC;AAE/D,eAAe,CAAC,QAAkB,EAAY,EAAE;IAE9C,IAAI,EACF,KAAK,EAAE,EACL,QAAQ,EACR,OAAO,EAAE,QAAQ,EACjB,YAAY,EACZ,MAAM,EACN,MAAM,EACN,KAAK,GACN,EACF,GAAQ,QAAQ,CAAC;IAElB,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IAEpD,IAAI,QAA4B,CAAC;IACjC,IAAI,SAA4B,CAAC;IAEjC,IAAI,CAAE,QAAQ;QACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAElD,IAAI,YAAY;QACd,SAAS,GAAM,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACzD,IAAI,MAAM;QACR,QAAQ,GAAO,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,MAAM;QACR,MAAM,GAAS,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,IAAI,MAAM;QACR,MAAM,GAAS,cAAc,CAAC,MAAM,EACN,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EACvC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EACrC,QAAQ,CAAC,CAAC;IAC1C,QAAQ,GAAS,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEjD,IAAI,aAAa,EAAE;QACjB,MAAM,WAAW,GAAG,aAAa,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,GAAW,CAAC,CAAC,CAAC;QAEnB,MAAM,EAAE,OAAO,CAAC,CAAC,UAAe,EAAE,EAAE;YAClC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;gBACxC,CAAC,EAAE,CAAC;gBACJ,MAAM,YAAY,GAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;gBAE1E,IAAI,YAAY;oBACd,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBAE5C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;KACH;IAED,OAAO;QACL,GAAG,SAAS,IAAI,EAAE,SAAS,EAAE;QAC7B,GAAG,QAAQ,IAAK,EAAE,QAAQ,EAAE;QAC5B,GAAG,MAAM,IAAO,EAAE,MAAM,EAAE;QAC1B,GAAG,MAAM,IAAO,EAAE,OAAO,EAAE,MAAM,EAAE;QACnC,GAAG,KAAK,IAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;QAC/B,GAAG,QAAQ,IAAK,EAAE,QAAQ,EAAE;KAC7B,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Settings } from '../types/settings';
|
|
2
|
+
import { Default } from '../types/default';
|
|
3
|
+
import { DivisionSettings } from '../../../core/types/division-settings';
|
|
4
|
+
declare const _default_1: (settings: Settings, _default: Default) => DivisionSettings;
|
|
5
|
+
export default _default_1;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import _ from 'lodash';
|
|
2
|
+
export default (settings, _default) => {
|
|
3
|
+
let EMBL = _default.eventMinBreakLength;
|
|
4
|
+
let MNDWH = _default.maxNumDailyWorkingHours;
|
|
5
|
+
return {
|
|
6
|
+
numDays: settings.numDays,
|
|
7
|
+
discretization: settings.discretization,
|
|
8
|
+
dayStart: _default.intervals[0].beg?.toFixed(2).replace('.', ':'),
|
|
9
|
+
dayEnd: _default.intervals[0].end?.toFixed(2).replace('.', ':'),
|
|
10
|
+
defaultDependencyMinimumBreakLength: _default.dependencyMinBreakLength,
|
|
11
|
+
defaultGroupMinimumBreakLength: _default.groupMinBreakLength,
|
|
12
|
+
defaultEventMinimumBreakLength: _.isObject(EMBL) ? 0.5 * (EMBL.bef + EMBL.aft) : _.isNumber(EMBL) ? EMBL : 0,
|
|
13
|
+
potentialCenter: _default.potentialCenter?.toFixed(2).replace('.', ':'),
|
|
14
|
+
defaultEventDensity: _default.eventDensity,
|
|
15
|
+
defaultMaxNumWorkingHours: _default.maxNumWorkingHours,
|
|
16
|
+
defaultMaxNumDailyWorkingHours: _.isArray(MNDWH) ? MNDWH[0] : MNDWH,
|
|
17
|
+
defaultDependencyRank: _default.dependencyRank,
|
|
18
|
+
defaultGroupRank: _default.groupRank,
|
|
19
|
+
defaultDayRank: _default.dayRank,
|
|
20
|
+
defaultEventWeight: _default.eventWeight,
|
|
21
|
+
defaultGroupWeight: _default.groupWeight,
|
|
22
|
+
defaultCourseWeight: _default.collectionWeight
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/settings.ts"],"names":[],"mappings":"AAIA,OAAO,CAAC,MAAwC,QAAQ,CAAC;AAEzD,eAAe,CAAC,QAAkB,EAAE,QAAiB,EAAoB,EAAE;IAEzE,IAAI,IAAI,GAAI,QAAQ,CAAC,mBAAmB,CAAC;IACzC,IAAI,KAAK,GAAG,QAAQ,CAAC,uBAAuB,CAAC;IAE7C,OAAO;QACL,OAAO,EAA8B,QAAQ,CAAC,OAAO;QACrD,cAAc,EAAuB,QAAQ,CAAC,cAAc;QAE5D,QAAQ,EAA6B,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;QAC5F,MAAM,EAA+B,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;QAE5F,mCAAmC,EAAE,QAAQ,CAAC,wBAAwB;QACtE,8BAA8B,EAAO,QAAQ,CAAC,mBAAmB;QACjE,8BAA8B,EAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE/G,eAAe,EAAsB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;QAC3F,mBAAmB,EAAkB,QAAQ,CAAC,YAAY;QAE1D,yBAAyB,EAAY,QAAQ,CAAC,kBAAkB;QAChE,8BAA8B,EAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;QAExE,qBAAqB,EAAgB,QAAQ,CAAC,cAAc;QAC5D,gBAAgB,EAAqB,QAAQ,CAAC,SAAS;QACvD,cAAc,EAAuB,QAAQ,CAAC,OAAO;QAErD,kBAAkB,EAAmB,QAAQ,CAAC,WAAW;QACzD,kBAAkB,EAAmB,QAAQ,CAAC,WAAW;QACzD,mBAAmB,EAAkB,QAAQ,CAAC,gBAAgB;KAC/D,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import breakLength from './break-lengths';
|
|
2
|
+
import days from './days';
|
|
3
|
+
import lockedTime from './locked-times';
|
|
4
|
+
import intervals from './intervals';
|
|
5
|
+
export default (teachers, settings) => {
|
|
6
|
+
const idKey = settings.groupIdKey;
|
|
7
|
+
if (!idKey)
|
|
8
|
+
throw new Error('property "groupIdKey" in settings is undefined');
|
|
9
|
+
return teachers.reduce((acc, teacher) => {
|
|
10
|
+
if (!['personal', 'classes'].includes(teacher.group_type))
|
|
11
|
+
throw new Error('property "group_type" must exist on all entries in "groups" array');
|
|
12
|
+
if (!teacher[idKey])
|
|
13
|
+
throw new Error('A teacher does not have a unique key');
|
|
14
|
+
if (teacher.group_type != 'personal')
|
|
15
|
+
return acc;
|
|
16
|
+
return acc.concat({
|
|
17
|
+
ids: teacher[idKey],
|
|
18
|
+
...teacher.name && { displayName: teacher.name },
|
|
19
|
+
...'forbidOverlappingEvents' in teacher && { forbidOverlappingEvents: teacher.forbidOverlappingEvents },
|
|
20
|
+
...'maxNumWorkingHours' in teacher && { maxNumWorkingHours: teacher.maxNumWorkingHours },
|
|
21
|
+
...'maxNumDailyWorkingHours' in teacher && { maxNumDailyWorkingHours: teacher.maxNumDailyWorkingHours },
|
|
22
|
+
...'minBreakLength' in teacher && { minBreakLength: breakLength(teacher.minBreakLength) },
|
|
23
|
+
...'disableDayLengthPunishment' in teacher && { disableDayLengthPunishment: teacher.disableDayLengthPunishment },
|
|
24
|
+
...'weight' in teacher && { weight: teacher.weight },
|
|
25
|
+
...'rank' in teacher && { rank: teacher.rank },
|
|
26
|
+
...(teacher.days?.length) && { days: days(teacher.days, settings) },
|
|
27
|
+
...(teacher.intervals?.length) && { intervals: intervals(teacher.intervals) },
|
|
28
|
+
...(teacher.lockedTimes?.length) && { lockedTimes: lockedTime(teacher.lockedTimes) },
|
|
29
|
+
});
|
|
30
|
+
}, []);
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=teachers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teachers.js","sourceRoot":"","sources":["../../../../src/RS/v2/from/teachers.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAA8B,iBAAiB,CAAC;AAClE,OAAO,IAAI,MAAqC,QAAQ,CAAC;AACzD,OAAO,UAAU,MAA+B,gBAAgB,CAAC;AACjE,OAAO,SAAS,MAAgC,aAAa,CAAC;AAM9D,eAAe,CAAC,QAAmB,EACnB,QAAe,EAAmB,EAAE;IAElD,MAAM,KAAK,GAAgB,QAAQ,CAAC,UAAU,CAAC;IAE/C,IAAI,CAAE,KAAK;QACT,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAEpE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAU,EAAE,OAAc,EAAE,EAAE;QAEpD,IAAI,CAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QAEvF,IAAI,CAAE,OAAO,CAAC,KAAK,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAE1D,IAAI,OAAO,CAAC,UAAU,IAAI,UAAU;YAClC,OAAO,GAAG,CAAC;QAEb,OAAO,GAAG,CAAC,MAAM,CAAC;YAChB,GAAG,EAAyE,OAAO,CAAC,KAAK,CAAC;YAC1F,GAAG,OAAO,CAAC,IAAI,IAA+B,EAAE,WAAW,EAAiB,OAAO,CAAC,IAAI,EAAE;YAC1F,GAAG,yBAAyB,IAAO,OAAO,IAAI,EAAE,uBAAuB,EAAK,OAAO,CAAC,uBAAuB,EAAE;YAC7G,GAAG,oBAAoB,IAAY,OAAO,IAAI,EAAE,kBAAkB,EAAU,OAAO,CAAC,kBAAkB,EAAE;YACxG,GAAG,yBAAyB,IAAO,OAAO,IAAI,EAAE,uBAAuB,EAAK,OAAO,CAAC,uBAAuB,EAAE;YAC7G,GAAG,gBAAgB,IAAgB,OAAO,IAAI,EAAE,cAAc,EAAc,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YACjH,GAAG,4BAA4B,IAAI,OAAO,IAAI,EAAE,0BAA0B,EAAE,OAAO,CAAC,0BAA0B,EAAE;YAChH,GAAG,QAAQ,IAAwB,OAAO,IAAI,EAAE,MAAM,EAAsB,OAAO,CAAC,MAAM,EAAE;YAC5F,GAAG,MAAM,IAA0B,OAAO,IAAI,EAAE,IAAI,EAAwB,OAAO,CAAC,IAAI,EAAE;YAC1F,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAqB,EAAE,IAAI,EAAwB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;YAC1G,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAgB,EAAE,SAAS,EAAmB,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC1G,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,IAAc,EAAE,WAAW,EAAiB,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;SAC9G,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/RS/v2/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAoC,QAAQ,CAAC;AACzD,OAAO,GAAG,MAAsC,MAAM,CAAC;AACvD,cAAgD,SAAS,CAAC;AAE1D,MAAM,OAAO,EAAE;;AACN,KAAE,GAAK,GAAG,CAAC;AACX,OAAI,GAAG,KAAK,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { OutOptions } from '../types/out-options';
|
|
2
|
+
import { AvailableDependency } from '../types/available-dependencies';
|
|
3
|
+
import { AvailableLocation as Source } from '../../../core/types/available-locations';
|
|
4
|
+
declare const _default: (availableLocations: Source[], options: OutOptions) => AvailableDependency[][];
|
|
5
|
+
export default _default;
|