@royalschedule/maps 3.3.16 → 4.0.0
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/README.md +1 -0
- package/dist/Additio/from/courses.js.map +1 -1
- package/dist/Additio/from/events.js.map +1 -1
- package/dist/Additio/from/groups.js.map +1 -1
- package/dist/Additio/from/index.js.map +1 -1
- package/dist/Additio/from/locations.js.map +1 -1
- package/dist/Additio/from/persons.js +1 -1
- package/dist/Additio/from/persons.js.map +1 -1
- package/dist/Additio/from/schedules.d.ts +32 -2
- package/dist/Additio/from/schedules.js.map +1 -1
- package/dist/Additio/from/teachers.js.map +1 -1
- package/dist/Additio/index.js.map +1 -1
- package/dist/Additio/to/index.d.ts +13 -13
- package/dist/Additio/to/index.js.map +1 -1
- package/dist/Additio/to/schedules.js +44 -46
- package/dist/Additio/to/schedules.js.map +1 -1
- package/dist/Additio/types/index.d.ts +2 -0
- package/dist/Additio/types/options.d.ts +8 -0
- package/dist/Additio/types/schedules.d.ts +1 -5
- package/dist/Admentum/from/courses.js.map +1 -1
- package/dist/Admentum/from/events.js.map +1 -1
- package/dist/Admentum/from/groups.js.map +1 -1
- package/dist/Admentum/from/index.js.map +1 -1
- package/dist/Admentum/from/locations.js.map +1 -1
- package/dist/Admentum/from/persons.js +1 -1
- package/dist/Admentum/from/persons.js.map +1 -1
- package/dist/Admentum/from/schedules.d.ts +32 -2
- package/dist/Admentum/from/schedules.js.map +1 -1
- package/dist/Admentum/from/teachers.js.map +1 -1
- package/dist/Admentum/index.js.map +1 -1
- package/dist/Admentum/to/index.d.ts +11 -10
- package/dist/Admentum/to/index.js.map +1 -1
- package/dist/Admentum/to/schedules.js +22 -25
- package/dist/Admentum/to/schedules.js.map +1 -1
- package/dist/Excel/index.d.ts +55 -4
- package/dist/Excel/index.js.map +1 -1
- package/dist/Excel/v1/from/index.js +7 -7
- package/dist/Excel/v1/from/index.js.map +1 -1
- package/dist/Excel/v1/index.d.ts +30 -2
- package/dist/Excel/v1/index.js.map +1 -1
- package/dist/Excel/v2/from/index.js +10 -10
- package/dist/Excel/v2/from/index.js.map +1 -1
- package/dist/Excel/v2/index.d.ts +53 -2
- package/dist/Excel/v2/index.js.map +1 -1
- package/dist/IdunSoft/from/courses.js +4 -3
- package/dist/IdunSoft/from/courses.js.map +1 -1
- package/dist/IdunSoft/from/events.js +43 -32
- package/dist/IdunSoft/from/events.js.map +1 -1
- package/dist/IdunSoft/from/groups.js +5 -4
- package/dist/IdunSoft/from/groups.js.map +1 -1
- package/dist/IdunSoft/from/index.js.map +1 -1
- package/dist/IdunSoft/from/locations.js +4 -3
- package/dist/IdunSoft/from/locations.js.map +1 -1
- package/dist/IdunSoft/from/schedules.d.ts +18 -3
- package/dist/IdunSoft/from/schedules.js +5 -10
- package/dist/IdunSoft/from/schedules.js.map +1 -1
- package/dist/IdunSoft/from/teachers.js +4 -3
- package/dist/IdunSoft/from/teachers.js.map +1 -1
- package/dist/IdunSoft/index.js.map +1 -1
- package/dist/IdunSoft/to/index.d.ts +2 -3
- package/dist/IdunSoft/to/index.js.map +1 -1
- package/dist/IdunSoft/to/schedules.js +22 -21
- package/dist/IdunSoft/to/schedules.js.map +1 -1
- package/dist/InfoMentor/index.js.map +1 -1
- package/dist/InfoMentor/to/index.d.ts +2 -2
- package/dist/InfoMentor/to/index.js.map +1 -1
- package/dist/InfoMentor/to/schedules.js +26 -27
- package/dist/InfoMentor/to/schedules.js.map +1 -1
- package/dist/PlanDigital/from/index.js.map +1 -1
- package/dist/PlanDigital/from/schedules.js +7 -6
- package/dist/PlanDigital/from/schedules.js.map +1 -1
- package/dist/PlanDigital/index.d.ts +106 -5
- package/dist/PlanDigital/index.js +0 -2
- package/dist/PlanDigital/index.js.map +1 -1
- package/dist/PlanDigital/types/index.d.ts +12 -11
- package/dist/Quiculum/file/to/index.d.ts +1 -1
- package/dist/Quiculum/file/to/schedules.js +11 -13
- package/dist/Quiculum/file/to/schedules.js.map +1 -1
- package/dist/RS/from/division.d.ts +7 -0
- package/dist/RS/from/division.js +14 -0
- package/dist/RS/from/division.js.map +1 -0
- package/dist/RS/from/index.js +12 -0
- package/dist/RS/from/index.js.map +1 -0
- package/dist/RS/from/schedules.d.ts +8 -0
- package/dist/RS/from/schedules.js +36 -0
- package/dist/RS/from/schedules.js.map +1 -0
- package/dist/RS/index.d.ts +11 -12
- package/dist/RS/index.js +4 -8
- package/dist/RS/index.js.map +1 -1
- package/dist/RS/make-connected.d.ts +24 -0
- package/dist/RS/make-connected.js +258 -0
- package/dist/RS/make-connected.js.map +1 -0
- package/dist/RS/to/index.js +8 -0
- package/dist/RS/to/index.js.map +1 -0
- package/dist/RS/to/initial-configuration.js +43 -0
- package/dist/RS/to/initial-configuration.js.map +1 -0
- package/dist/RS/to/input/collections.js +57 -0
- package/dist/RS/to/input/collections.js.map +1 -0
- package/dist/RS/{v3/to → to/input}/default.js +10 -18
- package/dist/RS/to/input/default.js.map +1 -0
- package/dist/RS/to/input/dependencies.js +32 -0
- package/dist/RS/to/input/dependencies.js.map +1 -0
- package/dist/RS/to/input/dynamic-locked-times.js +67 -0
- package/dist/RS/to/input/dynamic-locked-times.js.map +1 -0
- package/dist/RS/to/input/events.js +84 -0
- package/dist/RS/to/input/events.js.map +1 -0
- package/dist/RS/to/input/groups.js +36 -0
- package/dist/RS/to/input/groups.js.map +1 -0
- package/dist/RS/to/input/individuals.js +49 -0
- package/dist/RS/to/input/individuals.js.map +1 -0
- package/dist/RS/to/input/input.js +40 -0
- package/dist/RS/to/input/input.js.map +1 -0
- package/dist/RS/to/input/intervals.js +99 -0
- package/dist/RS/to/input/intervals.js.map +1 -0
- package/dist/RS/to/input/periods.js +44 -0
- package/dist/RS/to/input/periods.js.map +1 -0
- package/dist/RS/to/input/settings.js +17 -0
- package/dist/RS/to/input/settings.js.map +1 -0
- package/dist/RS/to/input/teachers.js +36 -0
- package/dist/RS/to/input/teachers.js.map +1 -0
- package/dist/RS/to/input/util/attach-locked-times.js +27 -0
- package/dist/RS/to/input/util/attach-locked-times.js.map +1 -0
- package/dist/RS/to/input/util/parse-days.js +10 -0
- package/dist/RS/to/input/util/parse-days.js.map +1 -0
- package/dist/RS/to/input/util/parse-group-references.js +58 -0
- package/dist/RS/to/input/util/parse-group-references.js.map +1 -0
- package/dist/RS/to/input/util/parse-intervals.js +55 -0
- package/dist/RS/to/input/util/parse-intervals.js.map +1 -0
- package/dist/RS/to/input/util/parse-location-references.js +31 -0
- package/dist/RS/to/input/util/parse-location-references.js.map +1 -0
- package/dist/RS/to/input/util/parse-max-working-hours.js +17 -0
- package/dist/RS/to/input/util/parse-max-working-hours.js.map +1 -0
- package/dist/RS/to/input/util/parse-minimum-break-length.js +19 -0
- package/dist/RS/to/input/util/parse-minimum-break-length.js.map +1 -0
- package/dist/RS/to/input/util/util.js +61 -0
- package/dist/RS/to/input/util/util.js.map +1 -0
- package/dist/RS/to/schedules.d.ts +7 -0
- package/dist/RS/to/schedules.js +40 -0
- package/dist/RS/to/schedules.js.map +1 -0
- package/dist/RS/{v3/types → types}/algorithm-parameters.d.ts +1 -1
- package/dist/RS/types/collections.d.ts +26 -0
- package/dist/RS/types/configurations.d.ts +10 -0
- package/dist/RS/{v3/types → types}/default.d.ts +4 -5
- package/dist/RS/types/dependencies.d.ts +16 -0
- package/dist/RS/types/event-configuration.d.ts +17 -0
- package/dist/RS/types/events.d.ts +27 -0
- package/dist/RS/{v2/types → types}/groups.d.ts +11 -12
- package/dist/RS/types/index.d.ts +45 -0
- package/dist/RS/types/individuals.d.ts +16 -0
- package/dist/RS/{v2/types → types}/locked-times.d.ts +2 -1
- package/dist/RS/types/root-intervals.d.ts +10 -0
- package/dist/RS/types/schedule-data.d.ts +16 -0
- package/dist/RS/{v2/types → types}/settings.d.ts +1 -1
- package/dist/RS/types/shared.d.ts +27 -0
- package/dist/RS/types/to.d.ts +44 -0
- package/dist/SchoolSoft/api/from/index.js.map +1 -1
- package/dist/SchoolSoft/api/from/schedules.js +31 -37
- package/dist/SchoolSoft/api/from/schedules.js.map +1 -1
- package/dist/SchoolSoft/api/index.d.ts +14 -2
- package/dist/SchoolSoft/api/index.js.map +1 -1
- package/dist/SchoolSoft/file/from/index.js.map +1 -1
- package/dist/SchoolSoft/file/from/schedules.js +36 -46
- package/dist/SchoolSoft/file/from/schedules.js.map +1 -1
- package/dist/SchoolSoft/file/index.d.ts +2 -3
- package/dist/SchoolSoft/file/index.js.map +1 -1
- package/dist/SchoolSoft/file/to/index.d.ts +6 -13
- package/dist/SchoolSoft/file/to/schedules.js +40 -42
- package/dist/SchoolSoft/file/to/schedules.js.map +1 -1
- package/dist/SchoolSoft/index.d.ts +2 -3
- package/dist/SchoolSoft/index.js.map +1 -1
- package/dist/Schoolity/txt/index.js.map +1 -1
- package/dist/Schoolity/txt/to/index.d.ts +3 -3
- package/dist/Schoolity/txt/to/index.js.map +1 -1
- package/dist/Schoolity/txt/to/schedules.js +78 -96
- package/dist/Schoolity/txt/to/schedules.js.map +1 -1
- package/dist/Skola24/index.js.map +1 -1
- package/dist/Skola24/mdb/from/course-and-events.js +36 -29
- package/dist/Skola24/mdb/from/course-and-events.js.map +1 -1
- package/dist/Skola24/mdb/from/groups.js.map +1 -1
- package/dist/Skola24/mdb/from/index.js.map +1 -1
- package/dist/Skola24/mdb/from/locations.js.map +1 -1
- package/dist/Skola24/mdb/from/schedule.d.ts +21 -3
- package/dist/Skola24/mdb/from/schedule.js +15 -17
- package/dist/Skola24/mdb/from/schedule.js.map +1 -1
- package/dist/Skola24/mdb/from/teachers.js.map +1 -1
- package/dist/Skola24/mdb/index.js.map +1 -1
- package/dist/Skola24/mdb/types/index.d.ts +7 -0
- package/dist/Skola24/txt/from/calendar-exceptions.js.map +1 -1
- package/dist/Skola24/txt/from/division.js.map +1 -1
- package/dist/Skola24/txt/from/index.js.map +1 -1
- package/dist/Skola24/txt/from/period.js.map +1 -1
- package/dist/Skola24/txt/from/schedules.d.ts +16 -0
- package/dist/Skola24/txt/from/schedules.js +90 -80
- package/dist/Skola24/txt/from/schedules.js.map +1 -1
- package/dist/Skola24/txt/index.d.ts +17 -5
- package/dist/Skola24/txt/index.js.map +1 -1
- package/dist/Skola24/txt/to/index.d.ts +3 -3
- package/dist/Skola24/txt/to/index.js.map +1 -1
- package/dist/Skola24/txt/to/schedules.js +76 -91
- package/dist/Skola24/txt/to/schedules.js.map +1 -1
- package/dist/Skola24/txt/types/index.d.ts +5 -2
- package/dist/common/constants.js +2 -2
- package/dist/common/constants.js.map +1 -1
- package/dist/common/functions.js +16 -21
- package/dist/common/functions.js.map +1 -1
- package/dist/common/get-date.js +5 -6
- package/dist/common/get-date.js.map +1 -1
- package/dist/common/make-chainable/index.js +36 -0
- package/dist/common/make-chainable/index.js.map +1 -0
- package/dist/common/types.d.ts +12 -0
- package/dist/core/from/courses.js +12 -0
- package/dist/core/from/courses.js.map +1 -0
- package/dist/core/from/events.js +13 -0
- package/dist/core/from/events.js.map +1 -0
- package/dist/core/from/exceptions.js +12 -0
- package/dist/core/from/exceptions.js.map +1 -0
- package/dist/core/from/groups.js +12 -0
- package/dist/core/from/groups.js.map +1 -0
- package/dist/core/{v2/from → from}/index.js +1 -1
- package/dist/core/from/index.js.map +1 -0
- package/dist/core/from/locations.js +12 -0
- package/dist/core/from/locations.js.map +1 -0
- package/dist/core/from/locked-times.js +12 -0
- package/dist/core/from/locked-times.js.map +1 -0
- package/dist/core/from/overlap-groups.js +12 -0
- package/dist/core/from/overlap-groups.js.map +1 -0
- package/dist/core/from/periods.js +12 -0
- package/dist/core/from/periods.js.map +1 -0
- package/dist/core/from/persons.js +12 -0
- package/dist/core/from/persons.js.map +1 -0
- package/dist/core/from/root-intervals.js +12 -0
- package/dist/core/from/root-intervals.js.map +1 -0
- package/dist/core/from/schedules.d.ts +7 -0
- package/dist/core/from/schedules.js +35 -0
- package/dist/core/from/schedules.js.map +1 -0
- package/dist/core/{v2/from → from}/syllabuses.js +1 -1
- package/dist/core/from/syllabuses.js.map +1 -0
- package/dist/core/from/teachers.js +12 -0
- package/dist/core/from/teachers.js.map +1 -0
- package/dist/core/index.d.ts +6 -12
- package/dist/core/index.js +4 -6
- package/dist/core/index.js.map +1 -1
- package/dist/core/to/courses.js +43 -0
- package/dist/core/to/courses.js.map +1 -0
- package/dist/core/to/division.js +10 -0
- package/dist/core/to/division.js.map +1 -0
- package/dist/core/to/events.js +43 -0
- package/dist/core/to/events.js.map +1 -0
- package/dist/core/to/exceptions.js +27 -0
- package/dist/core/to/exceptions.js.map +1 -0
- package/dist/core/to/groups.js +23 -0
- package/dist/core/to/groups.js.map +1 -0
- package/dist/core/{v1/to → to}/index.d.ts +1 -1
- package/dist/{RS/v3 → core}/to/index.js +1 -1
- package/dist/core/to/index.js.map +1 -0
- package/dist/core/to/locations.js +19 -0
- package/dist/core/to/locations.js.map +1 -0
- package/dist/core/to/locked-times.js +21 -0
- package/dist/core/to/locked-times.js.map +1 -0
- package/dist/core/to/overlap-groups.js +28 -0
- package/dist/core/to/overlap-groups.js.map +1 -0
- package/dist/core/to/periods.js +17 -0
- package/dist/core/to/periods.js.map +1 -0
- package/dist/core/to/persons.js +23 -0
- package/dist/core/to/persons.js.map +1 -0
- package/dist/core/to/root-intervals.js +17 -0
- package/dist/core/to/root-intervals.js.map +1 -0
- package/dist/core/to/schedules.d.ts +44 -0
- package/dist/core/to/schedules.js +40 -0
- package/dist/core/to/schedules.js.map +1 -0
- package/dist/core/to/settings.js +16 -0
- package/dist/core/to/settings.js.map +1 -0
- package/dist/core/to/syllabuses.js +17 -0
- package/dist/core/to/syllabuses.js.map +1 -0
- package/dist/core/to/teachers.js +24 -0
- package/dist/core/to/teachers.js.map +1 -0
- package/dist/core/to/util.d.ts +10 -0
- package/dist/core/to/util.js +22 -0
- package/dist/core/to/util.js.map +1 -0
- package/dist/core/types/areas.d.ts +10 -0
- package/dist/core/types/common/break-lengths.d.ts +5 -0
- package/dist/core/types/common/days.d.ts +8 -0
- package/dist/core/types/common/index.d.ts +44 -0
- package/dist/core/types/common/intervals.d.ts +14 -0
- package/dist/core/{v2/types → types}/common/maximum-schedule-span.d.ts +1 -1
- package/dist/core/{v2/types → types/common}/meta.d.ts +1 -1
- package/dist/core/types/common/planned-schedule-duration.d.ts +7 -0
- package/dist/core/types/common/tag.d.ts +9 -0
- package/dist/core/types/courses.d.ts +56 -0
- package/dist/core/{v2/types → types}/division-settings.d.ts +12 -19
- package/dist/core/types/divisions.d.ts +24 -0
- package/dist/core/types/events.d.ts +54 -0
- package/dist/core/{v2/types → types}/exceptions.d.ts +14 -23
- package/dist/core/types/groups.d.ts +39 -0
- package/dist/core/types/index.d.ts +117 -15
- package/dist/core/types/locations.d.ts +27 -0
- package/dist/core/types/locked-times.d.ts +33 -0
- package/dist/core/types/overlap-groups.d.ts +14 -0
- package/dist/core/types/periods.d.ts +14 -0
- package/dist/core/{v2/types → types}/persons.d.ts +13 -22
- package/dist/core/types/root-intervals.d.ts +13 -0
- package/dist/core/types/schedules.d.ts +44 -0
- package/dist/core/types/syllabus.d.ts +18 -0
- package/dist/core/{v2/types → types}/teachers.d.ts +18 -30
- package/dist/core/util.js +46 -0
- package/dist/core/util.js.map +1 -0
- package/dist/core/vertex-mapping.d.ts +56 -0
- package/dist/identify/constants/index.d.ts +14 -58
- package/dist/identify/constants/index.js +7 -72
- package/dist/identify/constants/index.js.map +1 -1
- package/dist/identify/index.d.ts +1 -1
- package/dist/identify/index.js +38 -29
- package/dist/identify/index.js.map +1 -1
- package/dist/index.d.ts +23 -29
- package/dist/index.js +6 -7
- package/dist/sdui/from/classes.js.map +1 -1
- package/dist/sdui/from/courses.js.map +1 -1
- package/dist/sdui/from/holidays.js.map +1 -1
- package/dist/sdui/from/hours.js.map +1 -1
- package/dist/sdui/from/lessons.js.map +1 -1
- package/dist/sdui/from/rooms.js.map +1 -1
- package/dist/sdui/from/schedules.d.ts +19 -0
- package/dist/sdui/from/schedules.js +3 -3
- package/dist/sdui/from/schedules.js.map +1 -1
- package/dist/sdui/from/school-years.js.map +1 -1
- package/dist/sdui/from/subjects.js.map +1 -1
- package/dist/sdui/from/substitution-plans.js.map +1 -1
- package/dist/sdui/from/teachers.js.map +1 -1
- package/dist/sdui/index.d.ts +19 -11
- package/dist/sdui/index.js.map +1 -1
- package/dist/sdui/to/classes.js +4 -2
- package/dist/sdui/to/classes.js.map +1 -1
- package/dist/sdui/to/courses.js +5 -5
- package/dist/sdui/to/courses.js.map +1 -1
- package/dist/sdui/to/holidays.js +3 -2
- package/dist/sdui/to/holidays.js.map +1 -1
- package/dist/sdui/to/hours.js +4 -2
- package/dist/sdui/to/hours.js.map +1 -1
- package/dist/sdui/to/index.d.ts +11 -12
- package/dist/sdui/to/lessons.js +10 -9
- package/dist/sdui/to/lessons.js.map +1 -1
- package/dist/sdui/to/rooms.js +4 -2
- package/dist/sdui/to/rooms.js.map +1 -1
- package/dist/sdui/to/schedules.js +9 -9
- package/dist/sdui/to/schedules.js.map +1 -1
- package/dist/sdui/to/school-years.js +4 -3
- package/dist/sdui/to/school-years.js.map +1 -1
- package/dist/sdui/to/subjects.js.map +1 -1
- package/dist/sdui/to/substitution-plans.js +12 -11
- package/dist/sdui/to/substitution-plans.js.map +1 -1
- package/dist/sdui/to/teachers.js +4 -4
- package/dist/sdui/to/teachers.js.map +1 -1
- package/dist/sdui/types/index.d.ts +2 -0
- package/dist/vKlass/from/index.js +1 -3
- package/dist/vKlass/from/index.js.map +1 -1
- package/dist/vKlass/from/schedule.d.ts +18 -3
- package/dist/vKlass/from/schedule.js +16 -19
- package/dist/vKlass/from/schedule.js.map +1 -1
- package/dist/vKlass/index.d.ts +6 -4
- package/dist/vKlass/index.js.map +1 -1
- package/dist/vKlass/to/schedules.d.ts +1 -1
- package/dist/vKlass/to/schedules.js +5 -12
- package/dist/vKlass/to/schedules.js.map +1 -1
- package/dist/vKlass/types/index.d.ts +5 -5
- package/package.json +38 -29
- package/dist/PlanDigital/to/index.d.ts +0 -10
- package/dist/PlanDigital/to/index.js +0 -10
- package/dist/PlanDigital/to/index.js.map +0 -1
- package/dist/PlanDigital/to/schedules.js +0 -15
- package/dist/PlanDigital/to/schedules.js.map +0 -1
- package/dist/RS/v0/from/available-dependencies.js +0 -38
- package/dist/RS/v0/from/available-dependencies.js.map +0 -1
- package/dist/RS/v0/from/break-lengths.js +0 -15
- package/dist/RS/v0/from/break-lengths.js.map +0 -1
- package/dist/RS/v0/from/course-events.js +0 -68
- package/dist/RS/v0/from/course-events.js.map +0 -1
- package/dist/RS/v0/from/courses.js +0 -53
- package/dist/RS/v0/from/courses.js.map +0 -1
- package/dist/RS/v0/from/days.js +0 -14
- package/dist/RS/v0/from/days.js.map +0 -1
- package/dist/RS/v0/from/dependencies.js +0 -29
- package/dist/RS/v0/from/dependencies.js.map +0 -1
- package/dist/RS/v0/from/groups.js +0 -32
- package/dist/RS/v0/from/groups.js.map +0 -1
- package/dist/RS/v0/from/index.js +0 -32
- package/dist/RS/v0/from/index.js.map +0 -1
- package/dist/RS/v0/from/intervals.js +0 -15
- package/dist/RS/v0/from/intervals.js.map +0 -1
- package/dist/RS/v0/from/locked-times.js +0 -23
- package/dist/RS/v0/from/locked-times.js.map +0 -1
- package/dist/RS/v0/from/placements.js +0 -20
- package/dist/RS/v0/from/placements.js.map +0 -1
- package/dist/RS/v0/from/schedules.js +0 -44
- package/dist/RS/v0/from/schedules.js.map +0 -1
- package/dist/RS/v0/from/settings.js +0 -24
- package/dist/RS/v0/from/settings.js.map +0 -1
- package/dist/RS/v0/from/teachers.js +0 -31
- package/dist/RS/v0/from/teachers.js.map +0 -1
- package/dist/RS/v0/index.d.ts +0 -43
- package/dist/RS/v0/index.js +0 -12
- package/dist/RS/v0/index.js.map +0 -1
- package/dist/RS/v0/to/available-dependencies.js +0 -17
- package/dist/RS/v0/to/available-dependencies.js.map +0 -1
- package/dist/RS/v0/to/configurations.js +0 -22
- package/dist/RS/v0/to/configurations.js.map +0 -1
- package/dist/RS/v0/to/constraints.js +0 -34
- package/dist/RS/v0/to/constraints.js.map +0 -1
- package/dist/RS/v0/to/course-events/days.js +0 -13
- package/dist/RS/v0/to/course-events/days.js.map +0 -1
- package/dist/RS/v0/to/course-events/dependencies.js +0 -18
- package/dist/RS/v0/to/course-events/dependencies.js.map +0 -1
- package/dist/RS/v0/to/course-events/groups.js +0 -39
- package/dist/RS/v0/to/course-events/groups.js.map +0 -1
- package/dist/RS/v0/to/course-events/in-locations.js +0 -17
- package/dist/RS/v0/to/course-events/in-locations.js.map +0 -1
- package/dist/RS/v0/to/course-events/index.js +0 -52
- package/dist/RS/v0/to/course-events/index.js.map +0 -1
- package/dist/RS/v0/to/course-events/intervals.js +0 -12
- package/dist/RS/v0/to/course-events/intervals.js.map +0 -1
- package/dist/RS/v0/to/course-events/meta.js +0 -21
- package/dist/RS/v0/to/course-events/meta.js.map +0 -1
- package/dist/RS/v0/to/courses.js +0 -56
- package/dist/RS/v0/to/courses.js.map +0 -1
- package/dist/RS/v0/to/days.js +0 -11
- package/dist/RS/v0/to/days.js.map +0 -1
- package/dist/RS/v0/to/dependencies.js +0 -26
- package/dist/RS/v0/to/dependencies.js.map +0 -1
- package/dist/RS/v0/to/groups.js +0 -32
- package/dist/RS/v0/to/groups.js.map +0 -1
- package/dist/RS/v0/to/index.d.ts +0 -46
- package/dist/RS/v0/to/index.js +0 -34
- package/dist/RS/v0/to/index.js.map +0 -1
- package/dist/RS/v0/to/intervals.js +0 -17
- package/dist/RS/v0/to/intervals.js.map +0 -1
- package/dist/RS/v0/to/locked-times.js +0 -43
- package/dist/RS/v0/to/locked-times.js.map +0 -1
- package/dist/RS/v0/to/schedules.js +0 -16
- package/dist/RS/v0/to/schedules.js.map +0 -1
- package/dist/RS/v0/to/settings.js +0 -28
- package/dist/RS/v0/to/settings.js.map +0 -1
- package/dist/RS/v0/to/teachers.js +0 -30
- package/dist/RS/v0/to/teachers.js.map +0 -1
- package/dist/RS/v0/types/areas.d.ts +0 -8
- package/dist/RS/v0/types/available-dependencies.d.ts +0 -8
- package/dist/RS/v0/types/break-lengths.d.ts +0 -9
- package/dist/RS/v0/types/configurations.d.ts +0 -7
- package/dist/RS/v0/types/constraints.d.ts +0 -17
- package/dist/RS/v0/types/course-events.d.ts +0 -26
- package/dist/RS/v0/types/courses.d.ts +0 -27
- package/dist/RS/v0/types/days.d.ts +0 -8
- package/dist/RS/v0/types/dependencies.d.ts +0 -17
- package/dist/RS/v0/types/groups.d.ts +0 -25
- package/dist/RS/v0/types/index.d.ts +0 -31
- package/dist/RS/v0/types/intervals.d.ts +0 -8
- package/dist/RS/v0/types/locked-times.d.ts +0 -11
- package/dist/RS/v0/types/out-options.d.ts +0 -13
- package/dist/RS/v0/types/placements.d.ts +0 -12
- package/dist/RS/v0/types/schedules.d.ts +0 -15
- package/dist/RS/v0/types/settings.d.ts +0 -26
- package/dist/RS/v1/from/available-dependencies.js +0 -38
- package/dist/RS/v1/from/available-dependencies.js.map +0 -1
- package/dist/RS/v1/from/break-lengths.js +0 -15
- package/dist/RS/v1/from/break-lengths.js.map +0 -1
- package/dist/RS/v1/from/collections.js +0 -55
- package/dist/RS/v1/from/collections.js.map +0 -1
- package/dist/RS/v1/from/course-events.js +0 -65
- package/dist/RS/v1/from/course-events.js.map +0 -1
- package/dist/RS/v1/from/days.js +0 -14
- package/dist/RS/v1/from/days.js.map +0 -1
- package/dist/RS/v1/from/dependencies.js +0 -31
- package/dist/RS/v1/from/dependencies.js.map +0 -1
- package/dist/RS/v1/from/groups.js +0 -34
- package/dist/RS/v1/from/groups.js.map +0 -1
- package/dist/RS/v1/from/index.js +0 -32
- package/dist/RS/v1/from/index.js.map +0 -1
- package/dist/RS/v1/from/intervals.js +0 -18
- package/dist/RS/v1/from/intervals.js.map +0 -1
- package/dist/RS/v1/from/locked-times.js +0 -21
- package/dist/RS/v1/from/locked-times.js.map +0 -1
- package/dist/RS/v1/from/placements.js +0 -21
- package/dist/RS/v1/from/placements.js.map +0 -1
- package/dist/RS/v1/from/schedules.js +0 -44
- package/dist/RS/v1/from/schedules.js.map +0 -1
- package/dist/RS/v1/from/settings.js +0 -25
- package/dist/RS/v1/from/settings.js.map +0 -1
- package/dist/RS/v1/from/teachers.js +0 -33
- package/dist/RS/v1/from/teachers.js.map +0 -1
- package/dist/RS/v1/index.d.ts +0 -45
- package/dist/RS/v1/index.js +0 -12
- package/dist/RS/v1/index.js.map +0 -1
- package/dist/RS/v1/to/available-dependencies.js +0 -25
- package/dist/RS/v1/to/available-dependencies.js.map +0 -1
- package/dist/RS/v1/to/break-lengths.js +0 -19
- package/dist/RS/v1/to/break-lengths.js.map +0 -1
- package/dist/RS/v1/to/collections.js +0 -51
- package/dist/RS/v1/to/collections.js.map +0 -1
- package/dist/RS/v1/to/configurations.js +0 -22
- package/dist/RS/v1/to/configurations.js.map +0 -1
- package/dist/RS/v1/to/constraints.js +0 -26
- package/dist/RS/v1/to/constraints.js.map +0 -1
- package/dist/RS/v1/to/course-events/days.js +0 -12
- package/dist/RS/v1/to/course-events/days.js.map +0 -1
- package/dist/RS/v1/to/course-events/dependencies.js +0 -15
- package/dist/RS/v1/to/course-events/dependencies.js.map +0 -1
- package/dist/RS/v1/to/course-events/groups.js +0 -30
- package/dist/RS/v1/to/course-events/groups.js.map +0 -1
- package/dist/RS/v1/to/course-events/in-locations.js +0 -17
- package/dist/RS/v1/to/course-events/in-locations.js.map +0 -1
- package/dist/RS/v1/to/course-events/index.js +0 -47
- package/dist/RS/v1/to/course-events/index.js.map +0 -1
- package/dist/RS/v1/to/course-events/intervals.js +0 -11
- package/dist/RS/v1/to/course-events/intervals.js.map +0 -1
- package/dist/RS/v1/to/course-events/meta.js +0 -21
- package/dist/RS/v1/to/course-events/meta.js.map +0 -1
- package/dist/RS/v1/to/days.js +0 -11
- package/dist/RS/v1/to/days.js.map +0 -1
- package/dist/RS/v1/to/dependencies.js +0 -28
- package/dist/RS/v1/to/dependencies.js.map +0 -1
- package/dist/RS/v1/to/groups.js +0 -34
- package/dist/RS/v1/to/groups.js.map +0 -1
- package/dist/RS/v1/to/index.d.ts +0 -46
- package/dist/RS/v1/to/index.js +0 -34
- package/dist/RS/v1/to/index.js.map +0 -1
- package/dist/RS/v1/to/intervals.js +0 -17
- package/dist/RS/v1/to/intervals.js.map +0 -1
- package/dist/RS/v1/to/locked-times.js +0 -49
- package/dist/RS/v1/to/locked-times.js.map +0 -1
- package/dist/RS/v1/to/schedules.js +0 -16
- package/dist/RS/v1/to/schedules.js.map +0 -1
- package/dist/RS/v1/to/settings.js +0 -34
- package/dist/RS/v1/to/settings.js.map +0 -1
- package/dist/RS/v1/to/teachers.js +0 -34
- package/dist/RS/v1/to/teachers.js.map +0 -1
- package/dist/RS/v1/types/areas.d.ts +0 -8
- package/dist/RS/v1/types/available-dependencies.d.ts +0 -8
- package/dist/RS/v1/types/break-lengths.d.ts +0 -9
- package/dist/RS/v1/types/collections.d.ts +0 -27
- package/dist/RS/v1/types/configurations.d.ts +0 -10
- package/dist/RS/v1/types/constraints.d.ts +0 -17
- package/dist/RS/v1/types/course-events.d.ts +0 -26
- package/dist/RS/v1/types/days.d.ts +0 -8
- package/dist/RS/v1/types/dependencies.d.ts +0 -17
- package/dist/RS/v1/types/groups.d.ts +0 -25
- package/dist/RS/v1/types/index.d.ts +0 -31
- package/dist/RS/v1/types/intervals.d.ts +0 -8
- package/dist/RS/v1/types/locked-times.d.ts +0 -11
- package/dist/RS/v1/types/out-options.d.ts +0 -11
- package/dist/RS/v1/types/placements.d.ts +0 -12
- package/dist/RS/v1/types/schedules.d.ts +0 -16
- package/dist/RS/v1/types/settings.d.ts +0 -31
- package/dist/RS/v2/from/available-dependencies.js +0 -38
- package/dist/RS/v2/from/available-dependencies.js.map +0 -1
- package/dist/RS/v2/from/break-lengths.js +0 -15
- package/dist/RS/v2/from/break-lengths.js.map +0 -1
- package/dist/RS/v2/from/collections.js +0 -57
- package/dist/RS/v2/from/collections.js.map +0 -1
- package/dist/RS/v2/from/course-events.d.ts +0 -12
- package/dist/RS/v2/from/course-events.js +0 -67
- package/dist/RS/v2/from/course-events.js.map +0 -1
- package/dist/RS/v2/from/days.js +0 -14
- package/dist/RS/v2/from/days.js.map +0 -1
- package/dist/RS/v2/from/dependencies.js +0 -31
- package/dist/RS/v2/from/dependencies.js.map +0 -1
- package/dist/RS/v2/from/groups.js +0 -35
- package/dist/RS/v2/from/groups.js.map +0 -1
- package/dist/RS/v2/from/index.js +0 -32
- package/dist/RS/v2/from/index.js.map +0 -1
- package/dist/RS/v2/from/intervals.js +0 -18
- package/dist/RS/v2/from/intervals.js.map +0 -1
- package/dist/RS/v2/from/locked-times.js +0 -21
- package/dist/RS/v2/from/locked-times.js.map +0 -1
- package/dist/RS/v2/from/placements.js +0 -32
- package/dist/RS/v2/from/placements.js.map +0 -1
- package/dist/RS/v2/from/schedules.js +0 -78
- package/dist/RS/v2/from/schedules.js.map +0 -1
- package/dist/RS/v2/from/settings.js +0 -31
- package/dist/RS/v2/from/settings.js.map +0 -1
- package/dist/RS/v2/from/teachers.js +0 -33
- package/dist/RS/v2/from/teachers.js.map +0 -1
- package/dist/RS/v2/index.d.ts +0 -63
- package/dist/RS/v2/index.js +0 -12
- package/dist/RS/v2/index.js.map +0 -1
- package/dist/RS/v2/to/available-dependencies.js +0 -25
- package/dist/RS/v2/to/available-dependencies.js.map +0 -1
- package/dist/RS/v2/to/break-lengths.js +0 -19
- package/dist/RS/v2/to/break-lengths.js.map +0 -1
- package/dist/RS/v2/to/collections.js +0 -60
- package/dist/RS/v2/to/collections.js.map +0 -1
- package/dist/RS/v2/to/configurations.js +0 -23
- package/dist/RS/v2/to/configurations.js.map +0 -1
- package/dist/RS/v2/to/constraints.js +0 -88
- package/dist/RS/v2/to/constraints.js.map +0 -1
- package/dist/RS/v2/to/course-events/days.js +0 -12
- package/dist/RS/v2/to/course-events/days.js.map +0 -1
- package/dist/RS/v2/to/course-events/dependencies.js +0 -14
- package/dist/RS/v2/to/course-events/dependencies.js.map +0 -1
- package/dist/RS/v2/to/course-events/groups.js +0 -38
- package/dist/RS/v2/to/course-events/groups.js.map +0 -1
- package/dist/RS/v2/to/course-events/in-locations.js +0 -18
- package/dist/RS/v2/to/course-events/in-locations.js.map +0 -1
- package/dist/RS/v2/to/course-events/index.js +0 -56
- package/dist/RS/v2/to/course-events/index.js.map +0 -1
- package/dist/RS/v2/to/course-events/intervals.js +0 -11
- package/dist/RS/v2/to/course-events/intervals.js.map +0 -1
- package/dist/RS/v2/to/course-events/meta.js +0 -21
- package/dist/RS/v2/to/course-events/meta.js.map +0 -1
- package/dist/RS/v2/to/days.js +0 -11
- package/dist/RS/v2/to/days.js.map +0 -1
- package/dist/RS/v2/to/default.js +0 -36
- package/dist/RS/v2/to/default.js.map +0 -1
- package/dist/RS/v2/to/dependencies.js +0 -28
- package/dist/RS/v2/to/dependencies.js.map +0 -1
- package/dist/RS/v2/to/destructure.js +0 -40
- package/dist/RS/v2/to/destructure.js.map +0 -1
- package/dist/RS/v2/to/dynamic-locked-times.js +0 -57
- package/dist/RS/v2/to/dynamic-locked-times.js.map +0 -1
- package/dist/RS/v2/to/groups.js +0 -37
- package/dist/RS/v2/to/groups.js.map +0 -1
- package/dist/RS/v2/to/index.d.ts +0 -44
- package/dist/RS/v2/to/index.js +0 -36
- package/dist/RS/v2/to/index.js.map +0 -1
- package/dist/RS/v2/to/intervals.js +0 -32
- package/dist/RS/v2/to/intervals.js.map +0 -1
- package/dist/RS/v2/to/locked-times.js +0 -49
- package/dist/RS/v2/to/locked-times.js.map +0 -1
- package/dist/RS/v2/to/periods.js +0 -48
- package/dist/RS/v2/to/periods.js.map +0 -1
- package/dist/RS/v2/to/persons.js +0 -23
- package/dist/RS/v2/to/persons.js.map +0 -1
- package/dist/RS/v2/to/schedules.js +0 -19
- package/dist/RS/v2/to/schedules.js.map +0 -1
- package/dist/RS/v2/to/settings.js +0 -18
- package/dist/RS/v2/to/settings.js.map +0 -1
- package/dist/RS/v2/to/teachers.js +0 -37
- package/dist/RS/v2/to/teachers.js.map +0 -1
- package/dist/RS/v2/types/areas.d.ts +0 -8
- package/dist/RS/v2/types/available-dependencies.d.ts +0 -8
- package/dist/RS/v2/types/break-lengths.d.ts +0 -9
- package/dist/RS/v2/types/collections.d.ts +0 -29
- package/dist/RS/v2/types/configurations.d.ts +0 -10
- package/dist/RS/v2/types/constraints.d.ts +0 -21
- package/dist/RS/v2/types/course-events.d.ts +0 -30
- package/dist/RS/v2/types/days.d.ts +0 -8
- package/dist/RS/v2/types/default.d.ts +0 -25
- package/dist/RS/v2/types/dependencies.d.ts +0 -17
- package/dist/RS/v2/types/index.d.ts +0 -33
- package/dist/RS/v2/types/intervals.d.ts +0 -9
- package/dist/RS/v2/types/out-options.d.ts +0 -11
- package/dist/RS/v2/types/placements.d.ts +0 -12
- package/dist/RS/v2/types/schedules.d.ts +0 -18
- package/dist/RS/v3/from/division.js +0 -14
- package/dist/RS/v3/from/division.js.map +0 -1
- package/dist/RS/v3/from/index.js +0 -12
- package/dist/RS/v3/from/index.js.map +0 -1
- package/dist/RS/v3/from/schedules.js +0 -34
- package/dist/RS/v3/from/schedules.js.map +0 -1
- package/dist/RS/v3/index.d.ts +0 -21
- package/dist/RS/v3/index.js +0 -12
- package/dist/RS/v3/index.js.map +0 -1
- package/dist/RS/v3/to/available-dependencies.js +0 -26
- package/dist/RS/v3/to/available-dependencies.js.map +0 -1
- package/dist/RS/v3/to/break-lengths.js +0 -19
- package/dist/RS/v3/to/break-lengths.js.map +0 -1
- package/dist/RS/v3/to/collections.js +0 -56
- package/dist/RS/v3/to/collections.js.map +0 -1
- package/dist/RS/v3/to/configurations.js +0 -23
- package/dist/RS/v3/to/configurations.js.map +0 -1
- package/dist/RS/v3/to/constraints.js +0 -77
- package/dist/RS/v3/to/constraints.js.map +0 -1
- package/dist/RS/v3/to/course-events/days.js +0 -12
- package/dist/RS/v3/to/course-events/days.js.map +0 -1
- package/dist/RS/v3/to/course-events/dependencies.js +0 -14
- package/dist/RS/v3/to/course-events/dependencies.js.map +0 -1
- package/dist/RS/v3/to/course-events/groups.js +0 -44
- package/dist/RS/v3/to/course-events/groups.js.map +0 -1
- package/dist/RS/v3/to/course-events/in-locations.js +0 -18
- package/dist/RS/v3/to/course-events/in-locations.js.map +0 -1
- package/dist/RS/v3/to/course-events/index.js +0 -84
- package/dist/RS/v3/to/course-events/index.js.map +0 -1
- package/dist/RS/v3/to/course-events/intervals.js +0 -11
- package/dist/RS/v3/to/course-events/intervals.js.map +0 -1
- package/dist/RS/v3/to/course-events/meta.js +0 -21
- package/dist/RS/v3/to/course-events/meta.js.map +0 -1
- package/dist/RS/v3/to/days.js +0 -11
- package/dist/RS/v3/to/days.js.map +0 -1
- package/dist/RS/v3/to/default.js.map +0 -1
- package/dist/RS/v3/to/dependencies.js +0 -31
- package/dist/RS/v3/to/dependencies.js.map +0 -1
- package/dist/RS/v3/to/destructure.js +0 -33
- package/dist/RS/v3/to/destructure.js.map +0 -1
- package/dist/RS/v3/to/dynamic-locked-times.js +0 -97
- package/dist/RS/v3/to/dynamic-locked-times.js.map +0 -1
- package/dist/RS/v3/to/groups.js +0 -36
- package/dist/RS/v3/to/groups.js.map +0 -1
- package/dist/RS/v3/to/index.d.ts +0 -266
- package/dist/RS/v3/to/index.js.map +0 -1
- package/dist/RS/v3/to/individuals.js +0 -49
- package/dist/RS/v3/to/individuals.js.map +0 -1
- package/dist/RS/v3/to/intervals.js +0 -32
- package/dist/RS/v3/to/intervals.js.map +0 -1
- package/dist/RS/v3/to/locked-times.js +0 -49
- package/dist/RS/v3/to/locked-times.js.map +0 -1
- package/dist/RS/v3/to/periods.js +0 -48
- package/dist/RS/v3/to/periods.js.map +0 -1
- package/dist/RS/v3/to/schedules.js +0 -39
- package/dist/RS/v3/to/schedules.js.map +0 -1
- package/dist/RS/v3/to/settings.js +0 -18
- package/dist/RS/v3/to/settings.js.map +0 -1
- package/dist/RS/v3/to/teachers.js +0 -36
- package/dist/RS/v3/to/teachers.js.map +0 -1
- package/dist/RS/v3/to/util.js +0 -32
- package/dist/RS/v3/to/util.js.map +0 -1
- package/dist/RS/v3/types/areas.d.ts +0 -8
- package/dist/RS/v3/types/available-dependencies.d.ts +0 -8
- package/dist/RS/v3/types/break-lengths.d.ts +0 -9
- package/dist/RS/v3/types/collections.d.ts +0 -31
- package/dist/RS/v3/types/configurations.d.ts +0 -10
- package/dist/RS/v3/types/constraints.d.ts +0 -25
- package/dist/RS/v3/types/course-events.d.ts +0 -32
- package/dist/RS/v3/types/days.d.ts +0 -8
- package/dist/RS/v3/types/dependencies.d.ts +0 -17
- package/dist/RS/v3/types/groups.d.ts +0 -25
- package/dist/RS/v3/types/index.d.ts +0 -33
- package/dist/RS/v3/types/individuals.d.ts +0 -13
- package/dist/RS/v3/types/intervals.d.ts +0 -9
- package/dist/RS/v3/types/locked-times.d.ts +0 -11
- package/dist/RS/v3/types/out-options.d.ts +0 -23
- package/dist/RS/v3/types/placements.d.ts +0 -12
- package/dist/RS/v3/types/root-intervals.d.ts +0 -10
- package/dist/RS/v3/types/schedules.d.ts +0 -24
- package/dist/RS/v3/types/settings.d.ts +0 -12
- package/dist/SS12000/from/activities.js +0 -35
- package/dist/SS12000/from/activities.js.map +0 -1
- package/dist/SS12000/from/calendar-events.js +0 -20
- package/dist/SS12000/from/calendar-events.js.map +0 -1
- package/dist/SS12000/from/duties.js +0 -21
- package/dist/SS12000/from/duties.js.map +0 -1
- package/dist/SS12000/from/groups.js +0 -23
- package/dist/SS12000/from/groups.js.map +0 -1
- package/dist/SS12000/from/index.js +0 -24
- package/dist/SS12000/from/index.js.map +0 -1
- package/dist/SS12000/from/persons.js +0 -43
- package/dist/SS12000/from/persons.js.map +0 -1
- package/dist/SS12000/from/resources.js +0 -9
- package/dist/SS12000/from/resources.js.map +0 -1
- package/dist/SS12000/from/rooms.js +0 -18
- package/dist/SS12000/from/rooms.js.map +0 -1
- package/dist/SS12000/from/syllabuses.js +0 -21
- package/dist/SS12000/from/syllabuses.js.map +0 -1
- package/dist/SS12000/index.d.ts +0 -73
- package/dist/SS12000/index.js +0 -12
- package/dist/SS12000/index.js.map +0 -1
- package/dist/SS12000/to/activities.js +0 -55
- package/dist/SS12000/to/activities.js.map +0 -1
- package/dist/SS12000/to/calendar-events.js +0 -47
- package/dist/SS12000/to/calendar-events.js.map +0 -1
- package/dist/SS12000/to/common.js +0 -16
- package/dist/SS12000/to/common.js.map +0 -1
- package/dist/SS12000/to/duties.js +0 -36
- package/dist/SS12000/to/duties.js.map +0 -1
- package/dist/SS12000/to/groups.js +0 -37
- package/dist/SS12000/to/groups.js.map +0 -1
- package/dist/SS12000/to/index.d.ts +0 -25
- package/dist/SS12000/to/index.js +0 -24
- package/dist/SS12000/to/index.js.map +0 -1
- package/dist/SS12000/to/persons.js +0 -36
- package/dist/SS12000/to/persons.js.map +0 -1
- package/dist/SS12000/to/resources.js +0 -23
- package/dist/SS12000/to/resources.js.map +0 -1
- package/dist/SS12000/to/rooms.js +0 -28
- package/dist/SS12000/to/rooms.js.map +0 -1
- package/dist/SS12000/to/syllabuses.js +0 -30
- package/dist/SS12000/to/syllabuses.js.map +0 -1
- package/dist/SS12000/types/activities.d.ts +0 -41
- package/dist/SS12000/types/calendar-events.d.ts +0 -23
- package/dist/SS12000/types/codes.d.ts +0 -9
- package/dist/SS12000/types/duties.d.ts +0 -23
- package/dist/SS12000/types/duty-assignments.d.ts +0 -13
- package/dist/SS12000/types/groups.d.ts +0 -23
- package/dist/SS12000/types/index.d.ts +0 -21
- package/dist/SS12000/types/organisation.d.ts +0 -20
- package/dist/SS12000/types/persons.d.ts +0 -30
- package/dist/SS12000/types/resources.d.ts +0 -13
- package/dist/SS12000/types/rooms.d.ts +0 -17
- package/dist/SS12000/types/syllabus.d.ts +0 -19
- package/dist/core/v1/from/courses.js +0 -26
- package/dist/core/v1/from/courses.js.map +0 -1
- package/dist/core/v1/from/events.js +0 -12
- package/dist/core/v1/from/events.js.map +0 -1
- package/dist/core/v1/from/groups.js +0 -14
- package/dist/core/v1/from/groups.js.map +0 -1
- package/dist/core/v1/from/index.js +0 -8
- package/dist/core/v1/from/index.js.map +0 -1
- package/dist/core/v1/from/locations.js +0 -14
- package/dist/core/v1/from/locations.js.map +0 -1
- package/dist/core/v1/from/locked-times.js +0 -13
- package/dist/core/v1/from/locked-times.js.map +0 -1
- package/dist/core/v1/from/overlap-groups.js +0 -13
- package/dist/core/v1/from/overlap-groups.js.map +0 -1
- package/dist/core/v1/from/periods.js +0 -14
- package/dist/core/v1/from/periods.js.map +0 -1
- package/dist/core/v1/from/schedules.d.ts +0 -139
- package/dist/core/v1/from/schedules.js +0 -36
- package/dist/core/v1/from/schedules.js.map +0 -1
- package/dist/core/v1/from/teachers.js +0 -14
- package/dist/core/v1/from/teachers.js.map +0 -1
- package/dist/core/v1/index.d.ts +0 -14
- package/dist/core/v1/index.js +0 -12
- package/dist/core/v1/index.js.map +0 -1
- package/dist/core/v1/to/available-locations.js +0 -11
- package/dist/core/v1/to/available-locations.js.map +0 -1
- package/dist/core/v1/to/courses.js +0 -33
- package/dist/core/v1/to/courses.js.map +0 -1
- package/dist/core/v1/to/days.js +0 -13
- package/dist/core/v1/to/days.js.map +0 -1
- package/dist/core/v1/to/events.js +0 -35
- package/dist/core/v1/to/events.js.map +0 -1
- package/dist/core/v1/to/groups.js +0 -24
- package/dist/core/v1/to/groups.js.map +0 -1
- package/dist/core/v1/to/index.js +0 -10
- package/dist/core/v1/to/index.js.map +0 -1
- package/dist/core/v1/to/intervals.js +0 -14
- package/dist/core/v1/to/intervals.js.map +0 -1
- package/dist/core/v1/to/locations.js +0 -20
- package/dist/core/v1/to/locations.js.map +0 -1
- package/dist/core/v1/to/locked-times.js +0 -25
- package/dist/core/v1/to/locked-times.js.map +0 -1
- package/dist/core/v1/to/overlap-groups.js +0 -30
- package/dist/core/v1/to/overlap-groups.js.map +0 -1
- package/dist/core/v1/to/periods.js +0 -10
- package/dist/core/v1/to/periods.js.map +0 -1
- package/dist/core/v1/to/persons.js +0 -22
- package/dist/core/v1/to/persons.js.map +0 -1
- package/dist/core/v1/to/schedules.d.ts +0 -170
- package/dist/core/v1/to/schedules.js +0 -32
- package/dist/core/v1/to/schedules.js.map +0 -1
- package/dist/core/v1/to/settings.js +0 -13
- package/dist/core/v1/to/settings.js.map +0 -1
- package/dist/core/v1/to/teachers.js +0 -20
- package/dist/core/v1/to/teachers.js.map +0 -1
- package/dist/core/v1/types/areas.d.ts +0 -16
- package/dist/core/v1/types/available-locations.d.ts +0 -13
- package/dist/core/v1/types/break-lengths.d.ts +0 -5
- package/dist/core/v1/types/common/coalesced.d.ts +0 -10
- package/dist/core/v1/types/courses.d.ts +0 -54
- package/dist/core/v1/types/days.d.ts +0 -14
- package/dist/core/v1/types/division-settings.d.ts +0 -39
- package/dist/core/v1/types/divisions.d.ts +0 -45
- package/dist/core/v1/types/events.d.ts +0 -60
- package/dist/core/v1/types/groups.d.ts +0 -37
- package/dist/core/v1/types/index.d.ts +0 -41
- package/dist/core/v1/types/intervals.d.ts +0 -17
- package/dist/core/v1/types/locations.d.ts +0 -32
- package/dist/core/v1/types/locked-times.d.ts +0 -39
- package/dist/core/v1/types/meta.d.ts +0 -9
- package/dist/core/v1/types/overlap-groups.d.ts +0 -26
- package/dist/core/v1/types/periods.d.ts +0 -22
- package/dist/core/v1/types/persons.d.ts +0 -40
- package/dist/core/v1/types/teachers.d.ts +0 -34
- package/dist/core/v2/from/courses.js +0 -13
- package/dist/core/v2/from/courses.js.map +0 -1
- package/dist/core/v2/from/events.js +0 -12
- package/dist/core/v2/from/events.js.map +0 -1
- package/dist/core/v2/from/exceptions.js +0 -13
- package/dist/core/v2/from/exceptions.js.map +0 -1
- package/dist/core/v2/from/groups.js +0 -13
- package/dist/core/v2/from/groups.js.map +0 -1
- package/dist/core/v2/from/index.js.map +0 -1
- package/dist/core/v2/from/locations.js +0 -13
- package/dist/core/v2/from/locations.js.map +0 -1
- package/dist/core/v2/from/locked-times.js +0 -13
- package/dist/core/v2/from/locked-times.js.map +0 -1
- package/dist/core/v2/from/overlap-groups.js +0 -13
- package/dist/core/v2/from/overlap-groups.js.map +0 -1
- package/dist/core/v2/from/periods.js +0 -13
- package/dist/core/v2/from/periods.js.map +0 -1
- package/dist/core/v2/from/persons.js +0 -12
- package/dist/core/v2/from/persons.js.map +0 -1
- package/dist/core/v2/from/root-intervals.js +0 -13
- package/dist/core/v2/from/root-intervals.js.map +0 -1
- package/dist/core/v2/from/schedules.d.ts +0 -245
- package/dist/core/v2/from/schedules.js +0 -48
- package/dist/core/v2/from/schedules.js.map +0 -1
- package/dist/core/v2/from/syllabuses.js.map +0 -1
- package/dist/core/v2/from/teachers.js +0 -13
- package/dist/core/v2/from/teachers.js.map +0 -1
- package/dist/core/v2/index.d.ts +0 -16
- package/dist/core/v2/index.js +0 -12
- package/dist/core/v2/index.js.map +0 -1
- package/dist/core/v2/to/available-locations.js +0 -11
- package/dist/core/v2/to/available-locations.js.map +0 -1
- package/dist/core/v2/to/courses.js +0 -44
- package/dist/core/v2/to/courses.js.map +0 -1
- package/dist/core/v2/to/days.js +0 -13
- package/dist/core/v2/to/days.js.map +0 -1
- package/dist/core/v2/to/division.js +0 -10
- package/dist/core/v2/to/division.js.map +0 -1
- package/dist/core/v2/to/events.js +0 -47
- package/dist/core/v2/to/events.js.map +0 -1
- package/dist/core/v2/to/exceptions.js +0 -29
- package/dist/core/v2/to/exceptions.js.map +0 -1
- package/dist/core/v2/to/groups.js +0 -34
- package/dist/core/v2/to/groups.js.map +0 -1
- package/dist/core/v2/to/index.d.ts +0 -9
- package/dist/core/v2/to/index.js +0 -10
- package/dist/core/v2/to/index.js.map +0 -1
- package/dist/core/v2/to/intervals.js +0 -13
- package/dist/core/v2/to/intervals.js.map +0 -1
- package/dist/core/v2/to/locations.js +0 -35
- package/dist/core/v2/to/locations.js.map +0 -1
- package/dist/core/v2/to/locked-times.js +0 -25
- package/dist/core/v2/to/locked-times.js.map +0 -1
- package/dist/core/v2/to/overlap-groups.js +0 -30
- package/dist/core/v2/to/overlap-groups.js.map +0 -1
- package/dist/core/v2/to/periods.js +0 -10
- package/dist/core/v2/to/periods.js.map +0 -1
- package/dist/core/v2/to/persons.js +0 -25
- package/dist/core/v2/to/persons.js.map +0 -1
- package/dist/core/v2/to/root-intervals.js +0 -10
- package/dist/core/v2/to/root-intervals.js.map +0 -1
- package/dist/core/v2/to/schedules.d.ts +0 -249
- package/dist/core/v2/to/schedules.js +0 -40
- package/dist/core/v2/to/schedules.js.map +0 -1
- package/dist/core/v2/to/settings.js +0 -13
- package/dist/core/v2/to/settings.js.map +0 -1
- package/dist/core/v2/to/syllabuses.js +0 -16
- package/dist/core/v2/to/syllabuses.js.map +0 -1
- package/dist/core/v2/to/teachers.js +0 -28
- package/dist/core/v2/to/teachers.js.map +0 -1
- package/dist/core/v2/types/areas.d.ts +0 -16
- package/dist/core/v2/types/available-locations.d.ts +0 -13
- package/dist/core/v2/types/break-lengths.d.ts +0 -5
- package/dist/core/v2/types/common/coalesced.d.ts +0 -10
- package/dist/core/v2/types/common/planned-schedule-duration.d.ts +0 -7
- package/dist/core/v2/types/courses.d.ts +0 -76
- package/dist/core/v2/types/days.d.ts +0 -14
- package/dist/core/v2/types/divisions.d.ts +0 -54
- package/dist/core/v2/types/events.d.ts +0 -76
- package/dist/core/v2/types/groups.d.ts +0 -50
- package/dist/core/v2/types/index.d.ts +0 -49
- package/dist/core/v2/types/intervals.d.ts +0 -17
- package/dist/core/v2/types/locations.d.ts +0 -38
- package/dist/core/v2/types/locked-times.d.ts +0 -44
- package/dist/core/v2/types/overlap-groups.d.ts +0 -26
- package/dist/core/v2/types/periods.d.ts +0 -25
- package/dist/core/v2/types/root-intervals.d.ts +0 -23
- package/dist/core/v2/types/schedules.d.ts +0 -38
- package/dist/core/v2/types/syllabus.d.ts +0 -27
- package/dist/vKlass/from/index.d.ts +0 -9
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"available-dependencies.js","names":["idKey: keyof CoreTypes.location"],"sources":["../../../../src/RS/v3/to/available-dependencies.ts"],"sourcesContent":["import { ParsedOutOptions as OutOptions } from '../types/out-options';\nimport { AvailableDependency } from '../types/available-dependencies';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\nimport { groupBy, pick, values } from 'lodash-es';\n\nexport default function (\n availableLocations: Deserialized<CoreTypes.availableLocation>[],\n options: OutOptions\n) {\n const idKey: keyof CoreTypes.location = options.idKey || 'id';\n\n if (!idKey) {\n throw new Error('(RS::V3::To::AvailableDependencies) property \"idKey\" in options is undefined');\n }\n\n\n const A = availableLocations\n .map(({ locations, groupIndex, rank }) => {\n const id = locations?.at(0)?.[idKey]?.toString();\n if (!id) return;\n\n return {\n dependency: id,\n ...rank != null && { rank },\n groupBy: groupIndex\n };\n })\n .filter((x): x is NonNullable<typeof x> => !!x)\n .filter(x => {\n // filter location references based on partial schedule options\n const includedLocations = options.partialScheduleOptions?.includedLocations;\n if (!includedLocations) return true;\n return includedLocations.has(x.dependency);\n });\n\n const B = values(groupBy(A, x => x.groupBy))\n\n return B.map(xs => xs.map((x): AvailableDependency => pick(x, 'dependency', 'rank')));\n}"],"mappings":";;;AAOA,wCACE,oBACA,SACA;CACA,MAAMA,QAAkC,QAAQ,SAAS;AAEzD,KAAI,CAAC,MACH,OAAM,IAAI,MAAM;CAIlB,MAAM,IAAI,mBACP,KAAK,EAAE,WAAW,YAAY,WAAW;EACxC,MAAM,KAAK,WAAW,GAAG,KAAK,QAAQ;AACtC,MAAI,CAAC,GAAI;AAET,SAAO;GACL,YAAY;GACZ,GAAG,QAAQ,QAAQ,EAAE;GACrB,SAAY;;IAGf,QAAQ,MAAkC,CAAC,CAAC,GAC5C,QAAO,MAAK;EAEX,MAAM,oBAAoB,QAAQ,wBAAwB;AAC1D,MAAI,CAAC,kBAAmB,QAAO;AAC/B,SAAO,kBAAkB,IAAI,EAAE;;CAGnC,MAAM,IAAI,OAAO,QAAQ,IAAG,MAAK,EAAE;AAEnC,QAAO,EAAE,KAAI,OAAM,GAAG,KAAK,MAA2B,KAAK,GAAG,cAAc"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
//#region src/RS/v3/to/break-lengths.ts
|
|
2
|
-
var break_lengths_default = (breakLength) => {
|
|
3
|
-
switch (typeof breakLength) {
|
|
4
|
-
case "boolean":
|
|
5
|
-
case "number": return breakLength;
|
|
6
|
-
case "object":
|
|
7
|
-
if (!Array.isArray(breakLength)) throw new Error("(RS::V3::To::BreakLengths) BreakLength is object but not an array");
|
|
8
|
-
const [bef, aft] = breakLength;
|
|
9
|
-
return {
|
|
10
|
-
bef,
|
|
11
|
-
aft
|
|
12
|
-
};
|
|
13
|
-
default: throw new Error("(RS::V3::To::BreakLengths) BreakLength is neither boolean, number or number array");
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
//#endregion
|
|
18
|
-
export { break_lengths_default as default };
|
|
19
|
-
//# sourceMappingURL=break-lengths.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"break-lengths.js","names":[],"sources":["../../../../src/RS/v3/to/break-lengths.ts"],"sourcesContent":["import { BreakLength } from '../types/break-lengths';\n\nimport { Types as CoreTypes } from '../../../core/types';\n\nexport default (breakLength: CoreTypes.breakLength): BreakLength => {\n switch (typeof breakLength) {\n case 'boolean':\n case 'number':\n return breakLength;\n case 'object':\n if (!Array.isArray(breakLength))\n throw new Error('(RS::V3::To::BreakLengths) BreakLength is object but not an array');\n const [bef, aft] = breakLength;\n return { bef, aft };\n default:\n throw new Error('(RS::V3::To::BreakLengths) BreakLength is neither boolean, number or number array');\n }\n};\n"],"mappings":";AAIA,6BAAgB,gBAAoD;AAClE,SAAQ,OAAO,aAAf;EACE,KAAK;EACL,KAAK,SACH,QAAO;EACT,KAAK;AACH,OAAI,CAAC,MAAM,QAAQ,aACjB,OAAM,IAAI,MAAM;GAClB,MAAM,CAAC,KAAK,OAAO;AACnB,UAAO;IAAE;IAAK;;EAChB,QACE,OAAM,IAAI,MAAM"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import days_default from "./days.js";
|
|
2
|
-
import locked_times_default from "./locked-times.js";
|
|
3
|
-
import break_lengths_default from "./break-lengths.js";
|
|
4
|
-
import intervals_default from "./intervals.js";
|
|
5
|
-
import available_dependencies_default from "./available-dependencies.js";
|
|
6
|
-
import { mapGroupReferences } from "./course-events/groups.js";
|
|
7
|
-
import course_events_default from "./course-events/index.js";
|
|
8
|
-
import { groupBy, omit, values } from "lodash-es";
|
|
9
|
-
|
|
10
|
-
//#region src/RS/v3/to/collections.ts
|
|
11
|
-
var collections_default = (courses, events = [], overlapGroups = [], settings, options, periodsMap, destructMap = /* @__PURE__ */ new Map()) => {
|
|
12
|
-
const idKey = options.idKey || "id";
|
|
13
|
-
const eventMap = new Map(events.map((x) => x.id ? [x.id, x] : null).filter((x) => !!x));
|
|
14
|
-
const collections = (Array.isArray(courses) ? courses : [courses]).map((course) => {
|
|
15
|
-
const id = course[idKey]?.toString();
|
|
16
|
-
if (!id) throw new Error("(RS::V3::To::Collections) A course does not have a unique key");
|
|
17
|
-
course.events ??= events.filter((x) => x.course?.[idKey]?.toString() == id);
|
|
18
|
-
course.events.forEach((event) => {
|
|
19
|
-
if (!event.id) return;
|
|
20
|
-
Object.assign(event, eventMap.get(event.id), { course });
|
|
21
|
-
});
|
|
22
|
-
if (course.period && periodsMap.size && !periodsMap.has(course.period.id)) throw new Error(`(RS::V3::To::Collections) Course ${course[idKey]} has a period that does not exist`);
|
|
23
|
-
const doc = {
|
|
24
|
-
id,
|
|
25
|
-
distributionKey: id,
|
|
26
|
-
events: course_events_default(course.events, overlapGroups, settings, options, periodsMap, destructMap),
|
|
27
|
-
..."weight" in course && { weight: course.weight },
|
|
28
|
-
..."density" in course && { density: course.density },
|
|
29
|
-
...course.eventDurationVariance != null && { maxEventLengthVariance: course.eventDurationVariance },
|
|
30
|
-
...course.locations?.length && { dependencies: available_dependencies_default(course.locations, options) },
|
|
31
|
-
...course.intervals?.length && { intervals: intervals_default(course.intervals, settings) },
|
|
32
|
-
...course.days?.length && { days: days_default(course.days, settings.numDays) },
|
|
33
|
-
...course.minBreakLength != null && { minBreakLength: break_lengths_default(course.minBreakLength) },
|
|
34
|
-
...course.lockedTimes?.length && { lockedTimes: locked_times_default(course.lockedTimes, options) },
|
|
35
|
-
...course.lockedTimes?.length && { lockedTimes: locked_times_default(course.lockedTimes, options) },
|
|
36
|
-
...course.centerOfAttraction && { potentialCenter: parseFloat(course.centerOfAttraction.replace(":", ".")) },
|
|
37
|
-
...course.period && periodsMap.size && { period: periodsMap.get(course.period?.id) }
|
|
38
|
-
};
|
|
39
|
-
const groups = mapGroupReferences(course, options, destructMap);
|
|
40
|
-
if (groups) doc.groups = groups;
|
|
41
|
-
if (options.meta) Object.assign(doc, {
|
|
42
|
-
..."color" in course && { color: course.color },
|
|
43
|
-
..."ids" in course && { ids: course.ids },
|
|
44
|
-
...course.displayName && { name: course.displayName }
|
|
45
|
-
});
|
|
46
|
-
doc.groupBy = course.overlapGroup?.id?.toString();
|
|
47
|
-
return doc;
|
|
48
|
-
});
|
|
49
|
-
const overlapping = values(groupBy(collections.filter((x) => x.groupBy != null), (x) => x.groupBy)).map((xs) => xs.map((x) => omit(x, "groupBy")));
|
|
50
|
-
const plain = collections.filter((x) => x.groupBy == null).map((x) => omit(x, "groupBy"));
|
|
51
|
-
return overlapping.concat(plain);
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
//#endregion
|
|
55
|
-
export { collections_default as default };
|
|
56
|
-
//# sourceMappingURL=collections.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collections.js","names":["idKey: keyof CoreTypes.course","doc: Collection & { groupBy?: string }","courseEvents","availableDependencies","intervals","days","breakLength","lockedTimes"],"sources":["../../../../src/RS/v3/to/collections.ts"],"sourcesContent":["import days from './days';\nimport lockedTimes from './locked-times';\nimport intervals from './intervals';\nimport availableDependencies from './available-dependencies';\nimport courseEvents from './course-events';\nimport breakLength from './break-lengths';\n\nimport { Collection } from '../types/collections';\nimport { ParsedOutOptions as OutOptions } from '../types/out-options';\nimport { Individual } from '../types/individuals';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\nimport { mapGroupReferences } from './course-events/groups';\nimport { groupBy, omit, values } from 'lodash-es';\n\nexport default (\n courses: Deserialized<CoreTypes.course> | Deserialized<CoreTypes.course>[],\n events: Deserialized<CoreTypes.event>[] = [],\n overlapGroups: Deserialized<CoreTypes.overlapGroup>[] = [],\n settings: CoreTypes.divisionSettings,\n options: OutOptions,\n periodsMap: Map<string | undefined, number>,\n destructMap: Map<string | null, Individual> = new Map()\n): (Collection[] | Collection)[] => {\n\n const idKey: keyof CoreTypes.course = options.idKey || 'id';\n\n const eventMap = new Map(events\n .map(x => x.id ? [x.id, x] as [string, typeof x] : null)\n .filter((x): x is NonNullable<typeof x> => !!x)\n );\n\n const collections = (Array.isArray(courses) ? courses : [courses])\n .map(course => {\n const id = course[idKey]?.toString();\n\n if (!id) {\n throw new Error('(RS::V3::To::Collections) A course does not have a unique key');\n }\n\n // link events to course if not already done\n course.events ??= events.filter(x => x.course?.[idKey]?.toString() == id);\n\n // merge potentially missing event data\n course.events.forEach(event => {\n if (!event.id) return;\n Object.assign(event, eventMap.get(event.id), { course });\n });\n\n\n if (course.period && periodsMap.size && !periodsMap.has(course.period.id)) {\n throw new Error(`(RS::V3::To::Collections) Course ${course[idKey]} has a period that does not exist`);\n }\n\n const doc: Collection & { groupBy?: string } = {\n id,\n distributionKey: id,\n events: courseEvents(course.events, overlapGroups, settings, options, periodsMap, destructMap),\n // optional\n ...'weight' in course && { weight: course.weight },\n ...'density' in course && { density: course.density },\n ...course.eventDurationVariance != null && { maxEventLengthVariance: course.eventDurationVariance },\n ...course.locations?.length && { dependencies: availableDependencies(course.locations, options) },\n ...course.intervals?.length && { intervals: intervals(course.intervals, settings) },\n ...course.days?.length && { days: days(course.days, settings.numDays) },\n ...(course.minBreakLength != null) && { minBreakLength: breakLength(course.minBreakLength) },\n ...course.lockedTimes?.length && { lockedTimes: lockedTimes(course.lockedTimes, options) },\n ...course.lockedTimes?.length && { lockedTimes: lockedTimes(course.lockedTimes, options) },\n ...course.centerOfAttraction && { potentialCenter: parseFloat(course.centerOfAttraction.replace(':', '.')) },\n ...course.period && periodsMap.size && { period: periodsMap.get(course.period?.id) }\n };\n\n const groups = mapGroupReferences(course, options, destructMap);\n if (groups) doc.groups = groups;\n\n if (options.meta) {\n Object.assign(doc, {\n ...'color' in course && { color: course.color },\n ...'ids' in course && { ids: course.ids },\n ...course.displayName && { name: course.displayName },\n });\n }\n\n // temporarily attach overlap group\n doc.groupBy = course.overlapGroup?.id?.toString();\n\n return doc;\n });\n\n const overlapping = values(groupBy(\n collections.filter(x => x.groupBy != null),\n x => x.groupBy\n ))\n .map(xs => xs.map(x => omit(x, 'groupBy') as Collection));\n\n const plain = collections\n .filter(x => x.groupBy == null)\n .map(x => omit(x, 'groupBy') as Collection);\n\n return overlapping.concat(plain);\n};"],"mappings":";;;;;;;;;;AAgBA,2BACE,SACA,SAAiD,IACjD,gBAAwD,IACxD,UACA,SACA,YACA,8BAAgD,IAAI,UAClB;CAElC,MAAMA,QAAgC,QAAQ,SAAS;CAEvD,MAAM,WAAW,IAAI,IAAI,OACtB,KAAI,MAAK,EAAE,KAAK,CAAC,EAAE,IAAI,KAA2B,MAClD,QAAQ,MAAkC,CAAC,CAAC;CAG/C,MAAM,eAAe,MAAM,QAAQ,WAAW,UAAU,CAAC,UACtD,KAAI,WAAU;EACb,MAAM,KAAK,OAAO,QAAQ;AAE1B,MAAI,CAAC,GACH,OAAM,IAAI,MAAM;AAIlB,SAAO,WAAW,OAAO,QAAO,MAAK,EAAE,SAAS,QAAQ,cAAc;AAGtE,SAAO,OAAO,SAAQ,UAAS;AAC7B,OAAI,CAAC,MAAM,GAAI;AACf,UAAO,OAAO,OAAO,SAAS,IAAI,MAAM,KAAK,EAAE;;AAIjD,MAAI,OAAO,UAAU,WAAW,QAAQ,CAAC,WAAW,IAAI,OAAO,OAAO,IACpE,OAAM,IAAI,MAAM,oCAAoC,OAAO,OAAO;EAGpE,MAAMC,MAAyC;GAC7C;GACA,iBAAiB;GACjB,QAAiBC,sBAAa,OAAO,QAAQ,eAAe,UAAU,SAAS,YAAY;GAE3F,GAAG,YAA2B,UAAa,EAAE,QAAwB,OAAO;GAC5E,GAAG,aAA2B,UAAa,EAAE,SAAwB,OAAO;GAC5E,GAAG,OAAO,yBAAyB,QAAQ,EAAE,wBAAwB,OAAO;GAC5E,GAAG,OAAO,WAAW,UAAsB,EAAE,cAAwBC,+BAAsB,OAAO,WAAW;GAC7G,GAAG,OAAO,WAAW,UAAsB,EAAE,WAAwBC,kBAAU,OAAO,WAAW;GACjG,GAAG,OAAO,MAAM,UAA2B,EAAE,MAAwBC,aAAK,OAAO,MAAM,SAAS;GAChG,GAAI,OAAO,kBAAkB,QAAc,EAAE,gBAAwBC,sBAAY,OAAO;GACxF,GAAG,OAAO,aAAa,UAAoB,EAAE,aAAwBC,qBAAY,OAAO,aAAa;GACrG,GAAG,OAAO,aAAa,UAAoB,EAAE,aAAwBA,qBAAY,OAAO,aAAa;GACrG,GAAG,OAAO,sBAAiC,EAAE,iBAAwB,WAAW,OAAO,mBAAmB,QAAQ,KAAK;GACvH,GAAG,OAAO,UAAU,WAAW,QAAY,EAAE,QAAwB,WAAW,IAAI,OAAO,QAAQ;;EAGrG,MAAM,SAAS,mBAAmB,QAAQ,SAAS;AACnD,MAAI,OAAQ,KAAI,SAAS;AAEzB,MAAI,QAAQ,KACV,QAAO,OAAO,KAAK;GACjB,GAAG,WAAkB,UAAU,EAAE,OAAO,OAAO;GAC/C,GAAG,SAAkB,UAAU,EAAE,KAAO,OAAO;GAC/C,GAAG,OAAO,eAAqB,EAAE,MAAO,OAAO;;AAKnD,MAAI,UAAU,OAAO,cAAc,IAAI;AAEvC,SAAO;;CAGX,MAAM,cAAc,OAAO,QACzB,YAAY,QAAO,MAAK,EAAE,WAAW,QACrC,MAAK,EAAE,UAEN,KAAI,OAAM,GAAG,KAAI,MAAK,KAAK,GAAG;CAEjC,MAAM,QAAQ,YACX,QAAO,MAAK,EAAE,WAAW,MACzB,KAAI,MAAK,KAAK,GAAG;AAEpB,QAAO,YAAY,OAAO"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import moment from "moment";
|
|
2
|
-
import { isObject } from "lodash-es";
|
|
3
|
-
|
|
4
|
-
//#region src/RS/v3/to/configurations.ts
|
|
5
|
-
var configurations_default = (events, options) => {
|
|
6
|
-
const idKey = options.idKey || "id";
|
|
7
|
-
return [{ events: (events || []).reduce((acc, event) => {
|
|
8
|
-
if (event.parked) return acc;
|
|
9
|
-
const mmtMidnight = moment.utc(event.start).clone().startOf("day");
|
|
10
|
-
return acc.concat({
|
|
11
|
-
id: event[idKey],
|
|
12
|
-
collection: event.course?.[idKey],
|
|
13
|
-
day: (moment.utc(event.start).day() + 6) % 7,
|
|
14
|
-
dependencies: event.inLocations?.map((x) => isObject(x) ? x[idKey] : null).filter((x) => x !== null) ?? [],
|
|
15
|
-
end: moment.utc(event.end).diff(mmtMidnight, "minutes"),
|
|
16
|
-
start: moment.utc(event.start).diff(mmtMidnight, "minutes")
|
|
17
|
-
});
|
|
18
|
-
}, []) }];
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
//#endregion
|
|
22
|
-
export { configurations_default as default };
|
|
23
|
-
//# sourceMappingURL=configurations.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"configurations.js","names":["idKey: keyof (CoreTypes.event & CoreTypes.course)"],"sources":["../../../../src/RS/v3/to/configurations.ts"],"sourcesContent":["import moment from 'moment';\nimport { isObject } from 'lodash-es';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\n\nimport { ParsedOutOptions as OutOptions } from '../types/out-options';\nimport { Configuration } from '../types/configurations';\nimport { Placement } from '../types/placements';\n\nexport default (events: Deserialized<CoreTypes.event>[], options: OutOptions): Configuration[] => {\n\n const idKey: keyof (CoreTypes.event & CoreTypes.course) = options.idKey || 'id';\n\n return [\n {\n events: (events || []).reduce((acc: Placement[], event) => {\n if (event.parked) return acc;\n\n const mmtMidnight = moment.utc(event.start).clone()\n .startOf('day');\n\n return acc.concat({\n id: event[idKey],\n collection: event.course?.[idKey],\n day: (moment.utc(event.start).day() + 6) % 7,\n dependencies: (event.inLocations)?.map(x => isObject(x) ? x[idKey] : null).filter(x => x !== null) ?? [],\n end: moment.utc(event.end).diff(mmtMidnight, 'minutes'),\n start: moment.utc(event.start).diff(mmtMidnight, 'minutes')\n } as Placement);\n }, [])\n }\n ];\n};"],"mappings":";;;;AAUA,8BAAgB,QAAyC,YAAyC;CAEhG,MAAMA,QAAoD,QAAQ,SAAS;AAE3E,QAAO,CACL,EACE,SAAS,UAAU,IAAI,QAAQ,KAAkB,UAAU;AACzD,MAAI,MAAM,OAAQ,QAAO;EAEzB,MAAM,cAAc,OAAO,IAAI,MAAM,OAAO,QACzC,QAAQ;AAEX,SAAO,IAAI,OAAO;GAChB,IAAc,MAAM;GACpB,YAAc,MAAM,SAAS;GAC7B,MAAe,OAAO,IAAI,MAAM,OAAO,QAAQ,KAAK;GACpD,cAAe,MAAM,aAAc,KAAI,MAAK,SAAS,KAAK,EAAE,SAAS,MAAM,QAAO,MAAK,MAAM,SAAS;GACtG,KAAc,OAAO,IAAI,MAAM,KAAK,KAAK,aAAa;GACtD,OAAc,OAAO,IAAI,MAAM,OAAO,KAAK,aAAa;;IAEzD"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { groupsToIndividuals, personsToIndividuals, teachersToIndividuals } from "./individuals.js";
|
|
2
|
-
import destructure_default from "./destructure.js";
|
|
3
|
-
import dependencies_default from "./dependencies.js";
|
|
4
|
-
import teachers_default from "./teachers.js";
|
|
5
|
-
import groups_default from "./groups.js";
|
|
6
|
-
import collections_default from "./collections.js";
|
|
7
|
-
import settings_default from "./settings.js";
|
|
8
|
-
import default_default from "./default.js";
|
|
9
|
-
import dynamic_locked_times_default from "./dynamic-locked-times.js";
|
|
10
|
-
import { parsePeriods } from "./periods.js";
|
|
11
|
-
import { pick } from "lodash-es";
|
|
12
|
-
|
|
13
|
-
//#region src/RS/v3/to/constraints.ts
|
|
14
|
-
var constraints_default = (schedule, options = {}) => {
|
|
15
|
-
schedule = structuredClone(schedule);
|
|
16
|
-
if (schedule == null) return {};
|
|
17
|
-
const idKey = options.idKey || "id";
|
|
18
|
-
const settings = schedule.settings;
|
|
19
|
-
if (!settings) throw new Error("settings missing in schedule");
|
|
20
|
-
const area = schedule.area;
|
|
21
|
-
const groups = schedule.groups ?? [];
|
|
22
|
-
const teachers = schedule.teachers ?? [];
|
|
23
|
-
const locations = schedule.locations ?? [];
|
|
24
|
-
const events = schedule.events ?? [];
|
|
25
|
-
const overlapGroups = schedule.overlapGroups ?? [];
|
|
26
|
-
const courses = schedule.courses ?? [];
|
|
27
|
-
const periods = schedule.periods ?? [];
|
|
28
|
-
const persons = schedule.persons ?? [];
|
|
29
|
-
{
|
|
30
|
-
const groupMap$1 = new Map(groups.map((x) => [x[idKey]?.toString(), x]).filter((x) => !!x[0]));
|
|
31
|
-
groups?.forEach((item) => {
|
|
32
|
-
if (!item.parentGroups) return;
|
|
33
|
-
item.parentGroups = item.parentGroups.map((x) => {
|
|
34
|
-
return typeof x === "string" ? groupMap$1.get(x) : groupMap$1.get(x[idKey]?.toString());
|
|
35
|
-
}).filter((x) => !!x);
|
|
36
|
-
});
|
|
37
|
-
courses.concat(events).forEach((item) => {
|
|
38
|
-
if (!item.groups) return;
|
|
39
|
-
item.groups.forEach((x) => {
|
|
40
|
-
const group = typeof x.to === "string" ? groupMap$1.get(x.to) : groupMap$1.get(x.to[idKey]?.toString());
|
|
41
|
-
if (group) x.to = group;
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
const division = schedule.divisions ?? schedule.division;
|
|
46
|
-
const { map: periodsMap, matrix: periodsMatrix } = parsePeriods(periods, pick(division, "start", "end"));
|
|
47
|
-
const destructMap = destructure_default(courses, events, groups, settings, options);
|
|
48
|
-
const data = {
|
|
49
|
-
settings: settings_default(settings),
|
|
50
|
-
default: default_default(settings, periodsMap, options),
|
|
51
|
-
...periodsMatrix && { periods: periodsMatrix },
|
|
52
|
-
...area && { areas: {
|
|
53
|
-
breakLengthMatrix: area.breakLengthMatrix,
|
|
54
|
-
list: area.list
|
|
55
|
-
} },
|
|
56
|
-
events: collections_default(courses, events, overlapGroups, settings, options, periodsMap, destructMap),
|
|
57
|
-
dependencies: dependencies_default(locations, settings, options),
|
|
58
|
-
groups: groups_default(groups, settings, options).concat(teachers_default(teachers, settings, options)),
|
|
59
|
-
individuals: personsToIndividuals(persons, settings, options).concat(groupsToIndividuals(groups, settings, options)).concat(teachersToIndividuals(teachers, settings, options))
|
|
60
|
-
};
|
|
61
|
-
const groupMap = /* @__PURE__ */ new Map();
|
|
62
|
-
if (destructMap.size) {
|
|
63
|
-
groups?.forEach((x) => groupMap.set(x[idKey].toString(), x));
|
|
64
|
-
data.individuals = data.individuals?.concat(Array.from(destructMap.values()));
|
|
65
|
-
}
|
|
66
|
-
const lunchSet = /* @__PURE__ */ new Set();
|
|
67
|
-
/**
|
|
68
|
-
* Only add lunch if the group is a class
|
|
69
|
-
*/
|
|
70
|
-
if (groups?.some((group) => "lunch" in group)) data.events = (data.events ?? []).concat(dynamic_locked_times_default(groups.filter((x) => x.species == "class"), settings, options, lunchSet, destructMap));
|
|
71
|
-
if (teachers?.some((teacher) => "lunch" in teacher || "complementaryTimes" in teacher)) data.events = (data.events ?? []).concat(dynamic_locked_times_default(teachers, settings, options, lunchSet));
|
|
72
|
-
return data;
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
//#endregion
|
|
76
|
-
export { constraints_default as default };
|
|
77
|
-
//# sourceMappingURL=constraints.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constraints.js","names":["idKey: keyof CoreTypes.course","groupMap","_destructure","data: Constraint","getSettings","getDefault","getCollections","getDependencies","getGroups","getTeachers","getDynamicLockedTimes"],"sources":["../../../../src/RS/v3/to/constraints.ts"],"sourcesContent":["import { pick } from 'lodash-es';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\n\nimport { Constraint } from '../types/constraints';\nimport { ParsedOutOptions } from '../types/out-options';\n\nimport _destructure from './destructure';\nimport getDependencies from './dependencies';\nimport getTeachers from './teachers';\nimport getGroups from './groups';\nimport getCollections from './collections';\nimport getSettings from './settings';\nimport getDefault from './default';\nimport getDynamicLockedTimes from './dynamic-locked-times';\nimport { parsePeriods } from './periods';\nimport { personsToIndividuals,\n groupsToIndividuals,\n teachersToIndividuals } from './individuals';\n\nexport default (\n schedule: Partial<Deserialized<CoreTypes.schedule> & { division: Deserialized<CoreTypes.division> }>,\n options: ParsedOutOptions = {}\n): Constraint => {\n\n // clone schedule to avoid mutating the original object\n schedule = structuredClone(schedule);\n\n if (schedule == null) return {};\n const idKey: keyof CoreTypes.course = options.idKey || 'id';\n\n const settings = schedule.settings;\n if (!settings) throw new Error('settings missing in schedule');\n\n const area = schedule.area;\n const groups = schedule.groups ?? [];\n const teachers = schedule.teachers ?? [];\n const locations = schedule.locations ?? [];\n const events = schedule.events ?? [];\n const overlapGroups = schedule.overlapGroups ?? [];\n const courses = schedule.courses ?? [];\n const periods = schedule.periods ?? [];\n const persons = schedule.persons ?? [];\n\n ////\n //// populate some group references to ensure that the types are correct\n ////\n {\n const groupMap = new Map(groups\n .map(x => ([x[idKey]?.toString(), x] as const))\n .filter(x => !!x[0])\n );\n // group.parentGroups\n groups?.forEach(item => {\n if (!item.parentGroups) return;\n item.parentGroups = item.parentGroups\n .map((x: Deserialized<CoreTypes.group> | string) => {\n return typeof x === 'string' ? groupMap.get(x) : groupMap.get(x[idKey]?.toString());\n })\n .filter((x): x is NonNullable<typeof x> => !!x);\n });\n // course.groups.to and event.groups.to\n courses.concat(events).forEach(item => {\n if (!item.groups) return;\n item.groups.forEach((x: { to: Deserialized<CoreTypes.group> | string }) => {\n const group = typeof x.to === 'string' ? groupMap.get(x.to) : groupMap.get(x.to[idKey]?.toString());\n if (group) x.to = group;\n });\n });\n }\n\n // unfortunately the division is set either as \"division\" or \"divisions\" so we need to handle both cases\n const division = schedule.divisions ?? schedule.division;\n\n // map periods\n const { map: periodsMap, matrix: periodsMatrix } = parsePeriods(periods, pick(division, 'start', 'end'));\n\n const destructMap = _destructure(courses, events, groups, settings, options);\n\n const data: Constraint = {\n settings: getSettings(settings),\n default: getDefault(settings, periodsMap, options),\n ...periodsMatrix && { periods: periodsMatrix },\n ...area && {\n areas: {\n breakLengthMatrix: area.breakLengthMatrix,\n list: area.list\n }\n },\n // intervals: getRootIntervals(rootIntervals, settings!),\n events: getCollections(courses, events, overlapGroups, settings, options, periodsMap, destructMap),\n dependencies: getDependencies(locations, settings, options),\n groups: getGroups(groups, settings, options)\n .concat(getTeachers(teachers, settings, options)),\n individuals: personsToIndividuals(persons, settings, options)\n .concat(groupsToIndividuals(groups, settings, options))\n .concat(teachersToIndividuals(teachers, settings, options)),\n };\n\n /*\n create map of groups if some groups are destructed\n groupMap: group id -> group\n */\n const groupMap = new Map<string, Deserialized<CoreTypes.group>>();\n if (destructMap.size) {\n groups?.forEach(x => groupMap.set(x[idKey]!.toString(), x));\n\n /*\n Find group and clone and substitute id with person id\n */\n data.individuals = data.individuals?.concat(Array.from(destructMap.values()));\n }\n\n /*\n handle groups.lunch and teachers.lunch\n append to events list\n */\n const lunchSet = new Set<string>();\n /**\n * Only add lunch if the group is a class\n */\n if (groups?.some(group => 'lunch' in group))\n data.events = (data.events ?? []).concat(getDynamicLockedTimes(groups.filter(x => x.species == 'class'), settings, options, lunchSet, destructMap));\n\n if (teachers?.some(teacher => 'lunch' in teacher || 'complementaryTimes' in teacher))\n data.events = (data.events ?? []).concat(getDynamicLockedTimes(teachers, settings, options, lunchSet));\n\n return data;\n};"],"mappings":";;;;;;;;;;;;;AAqBA,2BACE,UACA,UAA6B,OACd;AAGf,YAAW,gBAAgB;AAE3B,KAAI,YAAY,KAAM,QAAO;CAC7B,MAAMA,QAAgC,QAAQ,SAAS;CAEvD,MAAM,WAAW,SAAS;AAC1B,KAAI,CAAC,SAAU,OAAM,IAAI,MAAM;CAE/B,MAAM,OAAgB,SAAS;CAC/B,MAAM,SAAgB,SAAS,UAAiB;CAChD,MAAM,WAAgB,SAAS,YAAiB;CAChD,MAAM,YAAgB,SAAS,aAAiB;CAChD,MAAM,SAAgB,SAAS,UAAiB;CAChD,MAAM,gBAAgB,SAAS,iBAAiB;CAChD,MAAM,UAAgB,SAAS,WAAiB;CAChD,MAAM,UAAgB,SAAS,WAAiB;CAChD,MAAM,UAAgB,SAAS,WAAiB;CAKhD;EACE,MAAMC,aAAW,IAAI,IAAI,OACtB,KAAI,MAAM,CAAC,EAAE,QAAQ,YAAY,IACjC,QAAO,MAAK,CAAC,CAAC,EAAE;AAGnB,UAAQ,SAAQ,SAAQ;AACtB,OAAI,CAAC,KAAK,aAAc;AACxB,QAAK,eAAe,KAAK,aACtB,KAAK,MAA8C;AAClD,WAAO,OAAO,MAAM,WAAWA,WAAS,IAAI,KAAKA,WAAS,IAAI,EAAE,QAAQ;MAEzE,QAAQ,MAAkC,CAAC,CAAC;;AAGjD,UAAQ,OAAO,QAAQ,SAAQ,SAAQ;AACrC,OAAI,CAAC,KAAK,OAAQ;AAClB,QAAK,OAAO,SAAS,MAAsD;IACzE,MAAM,QAAQ,OAAO,EAAE,OAAO,WAAWA,WAAS,IAAI,EAAE,MAAMA,WAAS,IAAI,EAAE,GAAG,QAAQ;AACxF,QAAI,MAAO,GAAE,KAAK;;;;CAMxB,MAAM,WAAW,SAAS,aAAa,SAAS;CAGhD,MAAM,EAAE,KAAK,YAAY,QAAQ,kBAAkB,aAAa,SAAS,KAAK,UAAU,SAAS;CAEjG,MAAM,cAAcC,oBAAa,SAAS,QAAQ,QAAQ,UAAU;CAEpE,MAAMC,OAAmB;EACvB,UAAUC,iBAAY;EACtB,SAAUC,gBAAW,UAAU,YAAY;EAC3C,GAAG,iBAAiB,EAAE,SAAS;EAC/B,GAAG,QAAQ,EACT,OAAO;GACL,mBAAmB,KAAK;GACxB,MAAmB,KAAK;;EAI5B,QAAcC,oBAAe,SAAS,QAAQ,eAAe,UAAU,SAAS,YAAY;EAC5F,cAAcC,qBAAgB,WAAW,UAAU;EACnD,QAAcC,eAAU,QAAQ,UAAU,SACvC,OAAOC,iBAAY,UAAU,UAAU;EAC1C,aAAa,qBAAqB,SAAS,UAAU,SAClD,OAAO,oBAAoB,QAAQ,UAAU,UAC7C,OAAO,sBAAsB,UAAU,UAAU;;CAOtD,MAAM,2BAAW,IAAI;AACrB,KAAI,YAAY,MAAM;AACpB,UAAQ,SAAQ,MAAK,SAAS,IAAI,EAAE,OAAQ,YAAY;AAKxD,OAAK,cAAc,KAAK,aAAa,OAAO,MAAM,KAAK,YAAY;;CAOrE,MAAM,2BAAW,IAAI;;;;AAIrB,KAAI,QAAQ,MAAK,UAAS,WAAW,OACnC,MAAK,UAAU,KAAK,UAAU,IAAI,OAAOC,6BAAsB,OAAO,QAAO,MAAK,EAAE,WAAW,UAAU,UAAU,SAAS,UAAU;AAExI,KAAI,UAAU,MAAK,YAAW,WAAW,WAAW,wBAAwB,SAC1E,MAAK,UAAU,KAAK,UAAU,IAAI,OAAOA,6BAAsB,UAAU,UAAU,SAAS;AAE9F,QAAO"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import days_default from "../days.js";
|
|
2
|
-
|
|
3
|
-
//#region src/RS/v3/to/course-events/days.ts
|
|
4
|
-
function days_default$1(event, settings, options) {
|
|
5
|
-
const inherit = event.days === null;
|
|
6
|
-
if (inherit || !("days" in event)) return void 0;
|
|
7
|
-
else return { days: days_default(event.days, settings.numDays) };
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
//#endregion
|
|
11
|
-
export { days_default$1 as default };
|
|
12
|
-
//# sourceMappingURL=days.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"days.js","names":["inherit: boolean","_days"],"sources":["../../../../../src/RS/v3/to/course-events/days.ts"],"sourcesContent":["import _days from '../days';\n\nimport { Types as CoreTypes } from '../../../../core/types';\nimport { Deserialized } from '../../../../core/types';\n\nimport { ParsedOutOptions as OutOptions } from '../../types/out-options';\n\nexport default function (event: Deserialized<CoreTypes.event>,\n settings: CoreTypes.divisionSettings,\n options: OutOptions) {\n const inherit: boolean = event.days === null;\n\n if (inherit || !('days' in event)) {\n return undefined;\n } else {\n return { days: _days(event.days!, settings.numDays) };\n }\n}"],"mappings":";;;AAOA,wBAAyB,OACvB,UACA,SAAsB;CACtB,MAAMA,UAAmB,MAAM,SAAS;AAExC,KAAI,WAAW,EAAE,UAAU,OACzB,QAAO;KAEP,QAAO,EAAE,MAAMC,aAAM,MAAM,MAAO,SAAS"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import available_dependencies_default from "../available-dependencies.js";
|
|
2
|
-
|
|
3
|
-
//#region src/RS/v3/to/course-events/dependencies.ts
|
|
4
|
-
function dependencies_default(event, options) {
|
|
5
|
-
if (!("locations" in event)) return void 0;
|
|
6
|
-
const inherit = event.locations === null;
|
|
7
|
-
if (inherit) return void 0;
|
|
8
|
-
const dependencies = available_dependencies_default(event.locations, options);
|
|
9
|
-
return { dependencies: [...new Set(dependencies)] };
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
//#endregion
|
|
13
|
-
export { dependencies_default as default };
|
|
14
|
-
//# sourceMappingURL=dependencies.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.js","names":["inherit: boolean","availableDependencies"],"sources":["../../../../../src/RS/v3/to/course-events/dependencies.ts"],"sourcesContent":["import { Types as CoreTypes } from '../../../../core/types';\nimport { Deserialized } from '../../../../core/types';\n\nimport { ParsedOutOptions as OutOptions } from '../../types/out-options';\n\nimport availableDependencies from '../available-dependencies';\n\nexport default function (event: Deserialized<CoreTypes.event>,\n options: OutOptions) {\n if (!('locations' in event))\n return undefined;\n\n const inherit: boolean = event.locations === null;\n\n if (inherit) {\n return undefined;\n }\n\n const dependencies = availableDependencies(event.locations!, options);\n return { dependencies: [...new Set(dependencies)] };\n}\n"],"mappings":";;;AAOA,8BAAyB,OACvB,SAAqB;AACrB,KAAI,EAAE,eAAe,OACnB,QAAO;CAET,MAAMA,UAAmB,MAAM,cAAc;AAE7C,KAAI,QACF,QAAO;CAGT,MAAM,eAAeC,+BAAsB,MAAM,WAAY;AAC7D,QAAO,EAAE,cAAc,CAAC,GAAG,IAAI,IAAI"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { mergeWithParentGroups } from "../util.js";
|
|
2
|
-
|
|
3
|
-
//#region src/RS/v3/to/course-events/groups.ts
|
|
4
|
-
/**
|
|
5
|
-
* @description replaces groups references with their composites while taking into account excluded participants
|
|
6
|
-
*/
|
|
7
|
-
function deconstructGroups(groups, participantIds, destructMap, options) {
|
|
8
|
-
const idKey = options.idKey || "id";
|
|
9
|
-
if (destructMap.size) groups = groups.map((group) => {
|
|
10
|
-
if (!group.exclude?.length) return group;
|
|
11
|
-
const arr = [group.to[idKey]?.toString()].concat(group.exclude.map((y) => y[idKey]?.toString()));
|
|
12
|
-
const key = arr.sort().join(".");
|
|
13
|
-
const destructed = destructMap.get(key);
|
|
14
|
-
if (!destructed) return group;
|
|
15
|
-
participantIds.push({ individuals: destructed.id });
|
|
16
|
-
return null;
|
|
17
|
-
}).filter((x) => x != null);
|
|
18
|
-
return groups;
|
|
19
|
-
}
|
|
20
|
-
function mapGroupReferences(source, options, destructMap) {
|
|
21
|
-
const idKey = options.idKey || "id";
|
|
22
|
-
const teachers = (source.teachers ?? source.course?.teachers ?? []).filter((x) => x.to != null);
|
|
23
|
-
const groups = (source.groups ?? source.course?.groups ?? []).filter((x) => x.to != null);
|
|
24
|
-
const participants = (source.participants ?? source.course?.participants ?? []).filter((x) => x.to != null);
|
|
25
|
-
const teacherIds = teachers.map(({ to }) => to[idKey]).filter((x) => !!x).map((x) => ({ individuals: ["teachers.individuals." + x.toString()] }));
|
|
26
|
-
const participantIds = participants.map(({ to }) => to[idKey]).filter((x) => !!x).map((x) => ({ individuals: ["persons." + x.toString()] }));
|
|
27
|
-
const groupReferences = mergeWithParentGroups(groups, options);
|
|
28
|
-
const deconstructed = deconstructGroups(groupReferences, participantIds, destructMap, options);
|
|
29
|
-
const groupIds = deconstructed.map(({ to }) => {
|
|
30
|
-
const id = "groups." + to[idKey]?.toString();
|
|
31
|
-
if (to.species == null) return { individuals: id };
|
|
32
|
-
return id;
|
|
33
|
-
});
|
|
34
|
-
const out = [
|
|
35
|
-
...new Set(teacherIds),
|
|
36
|
-
...new Set(groupIds),
|
|
37
|
-
...new Set(participantIds)
|
|
38
|
-
].map((x) => [x]);
|
|
39
|
-
return out;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
//#endregion
|
|
43
|
-
export { mapGroupReferences };
|
|
44
|
-
//# sourceMappingURL=groups.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"groups.js","names":[],"sources":["../../../../../src/RS/v3/to/course-events/groups.ts"],"sourcesContent":["import { Types as CoreTypes } from '../../../../core/types';\nimport { Deserialized } from '../../../../core/types';\n\nimport { Individual } from '../../types/individuals';\nimport { ParsedOutOptions as OutOptions } from '../../types/out-options';\nimport { mergeWithParentGroups } from '../util';\n\n/**\n * @description replaces groups references with their composites while taking into account excluded participants\n */\nexport function deconstructGroups (\n groups: NonNullable<Deserialized<CoreTypes.event>['groups']>,\n participantIds: { individuals: string | string[] }[],\n destructMap: Map<string | null, Individual>,\n options: OutOptions\n): NonNullable<Deserialized<CoreTypes.event>['groups']> {\n const idKey = options.idKey || 'id';\n\n // include and prioritize parent groups by replacing references to the same group\n\n if (destructMap.size) {\n groups = groups\n .map(group => {\n\n if (!group.exclude?.length) return group;\n\n const arr = [group.to[idKey]?.toString()].concat(group.exclude.map(y => y[idKey]?.toString()!));\n const key = arr.sort().join('.');\n const destructed = destructMap.get(key);\n if (!destructed) return group;\n\n // push to array of participants\n participantIds.push({ individuals: destructed.id });\n return null;\n })\n .filter((x): x is NonNullable<typeof x> => x != null);\n }\n\n return groups;\n}\n\nexport function mapGroupReferences (\n source: Deserialized<CoreTypes.event> & Deserialized<CoreTypes.course>,\n options: OutOptions,\n destructMap: Map<string | null, Individual>\n) {\n const idKey = options.idKey || 'id';\n\n const teachers = (source.teachers ?? source.course?.teachers ?? []).filter(x => x.to != null); // filter out dead references\n const groups = (source.groups ?? source.course?.groups ?? []).filter(x => x.to != null); // filter out dead references\n const participants = (source.participants ?? source.course?.participants ?? []).filter(x => x.to != null); // filter out dead references\n\n const teacherIds = teachers .map(({ to }) => to[idKey]).filter((x): x is NonNullable<typeof x> => !!x)\n .map(x => ({ individuals: ['teachers.individuals.' + x.toString()] }));\n const participantIds = participants.map(({ to }) => to[idKey]).filter((x): x is NonNullable<typeof x> => !!x)\n .map(x => ({ individuals: ['persons.' + x.toString()] }));\n\n // merge the group references with their parent groups\n const groupReferences = mergeWithParentGroups(groups, options);\n\n const deconstructed = deconstructGroups(groupReferences, participantIds, destructMap, options);\n\n const groupIds = deconstructed.map(({ to }) => {\n const id = 'groups.' + to[idKey]?.toString();\n if (to.species == null) return { individuals: id };\n return id;\n });\n\n const out = [...new Set(teacherIds), ...new Set(groupIds), ...new Set(participantIds)].map(x => [x]);\n return out;\n}"],"mappings":";;;;;;AAUA,SAAgB,kBACd,QACA,gBACA,aACA,SACsD;CACtD,MAAM,QAAQ,QAAQ,SAAS;AAI/B,KAAI,YAAY,KACd,UAAS,OACN,KAAI,UAAS;AAEZ,MAAI,CAAC,MAAM,SAAS,OAAQ,QAAO;EAEnC,MAAM,MAAM,CAAC,MAAM,GAAG,QAAQ,YAAY,OAAO,MAAM,QAAQ,KAAI,MAAK,EAAE,QAAQ;EAClF,MAAM,MAAM,IAAI,OAAO,KAAK;EAC5B,MAAM,aAAa,YAAY,IAAI;AACnC,MAAI,CAAC,WAAY,QAAO;AAGxB,iBAAe,KAAK,EAAE,aAAa,WAAW;AAC9C,SAAO;IAER,QAAQ,MAAkC,KAAK;AAGpD,QAAO;;AAGT,SAAgB,mBACd,QACA,SACA,aACA;CACA,MAAM,QAAQ,QAAQ,SAAS;CAE/B,MAAM,YAAgB,OAAO,YAAgB,OAAO,QAAQ,YAAgB,IAAI,QAAO,MAAK,EAAE,MAAM;CACpG,MAAM,UAAgB,OAAO,UAAgB,OAAO,QAAQ,UAAgB,IAAI,QAAO,MAAK,EAAE,MAAM;CACpG,MAAM,gBAAgB,OAAO,gBAAgB,OAAO,QAAQ,gBAAgB,IAAI,QAAO,MAAK,EAAE,MAAM;CAEpG,MAAM,aAAiB,SAAa,KAAK,EAAE,SAAS,GAAG,QAAQ,QAAQ,MAAkC,CAAC,CAAC,GACxG,KAAI,OAAM,EAAE,aAAa,CAAC,0BAA0B,EAAE;CACzD,MAAM,iBAAiB,aAAa,KAAK,EAAE,SAAS,GAAG,QAAQ,QAAQ,MAAkC,CAAC,CAAC,GACxG,KAAI,OAAM,EAAE,aAAa,CAAC,aAAc,EAAE;CAG7C,MAAM,kBAAkB,sBAAsB,QAAQ;CAEtD,MAAM,gBAAgB,kBAAkB,iBAAiB,gBAAgB,aAAa;CAEtF,MAAM,WAAW,cAAc,KAAK,EAAE,SAAS;EAC7C,MAAM,KAAK,YAAY,GAAG,QAAQ;AAClC,MAAI,GAAG,WAAW,KAAM,QAAO,EAAE,aAAa;AAC9C,SAAO;;CAGT,MAAM,MAAM;EAAC,GAAG,IAAI,IAAI;EAAa,GAAG,IAAI,IAAI;EAAW,GAAG,IAAI,IAAI;GAAiB,KAAI,MAAK,CAAC;AACjG,QAAO"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import available_dependencies_default from "../available-dependencies.js";
|
|
2
|
-
|
|
3
|
-
//#region src/RS/v3/to/course-events/in-locations.ts
|
|
4
|
-
function in_locations_default(event, options) {
|
|
5
|
-
const idKey = options.idKey || "id";
|
|
6
|
-
if (!event) throw new Error("(RS::V3::To::CourseEvent::InLocations) Mapping in-locations failed due to event being undefined");
|
|
7
|
-
const course = event.course;
|
|
8
|
-
if (!course) throw new Error("(RS::V3::To::CourseEvent::InLocations) Mapping in-locations failed due to event course being undefined");
|
|
9
|
-
const inherit = event.locations === null;
|
|
10
|
-
const dependencies = inherit ? available_dependencies_default(course.locations, options) : available_dependencies_default(event.locations, options);
|
|
11
|
-
const inLocation = event.inLocations || [];
|
|
12
|
-
if (inLocation.length === dependencies.length) return inLocation.map((x) => typeof x === "string" ? x : x?.[idKey]?.toString() ?? null);
|
|
13
|
-
else return inLocation.map((x) => typeof x === "string" ? x : x?.[idKey]?.toString() ?? null).concat(Array.from({ length: Math.max(dependencies.length - inLocation.length, 0) }).map(() => null));
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
//#endregion
|
|
17
|
-
export { in_locations_default as default };
|
|
18
|
-
//# sourceMappingURL=in-locations.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"in-locations.js","names":["idKey: Id","inherit: boolean","availableDependencies"],"sources":["../../../../../src/RS/v3/to/course-events/in-locations.ts"],"sourcesContent":["import availableDependencies from '../available-dependencies';\n\nimport { Types as CoreTypes } from '../../../../core/types';\nimport { Deserialized } from '../../../../core/types';\n\nimport { ParsedOutOptions as OutOptions,\n Id } from '../../types/out-options';\n\nexport default function (event: Deserialized<CoreTypes.event>, options: OutOptions) {\n const idKey: Id = options.idKey || 'id';\n\n if (!event)\n throw new Error('(RS::V3::To::CourseEvent::InLocations) Mapping in-locations failed due to event being undefined');\n\n const course = event.course;\n\n if (!course)\n throw new Error('(RS::V3::To::CourseEvent::InLocations) Mapping in-locations failed due to event course being undefined');\n\n const inherit: boolean = event.locations === null;\n\n const dependencies = inherit\n ? availableDependencies(course.locations!, options) :\n availableDependencies(event.locations!, options);\n\n const inLocation = event.inLocations || [];\n\n if (inLocation.length === dependencies.length) {\n return inLocation\n .map(x => typeof x === 'string' ? x : x?.[idKey]?.toString() ?? null);\n } else {\n return inLocation\n .map(x => typeof x === 'string' ? x : x?.[idKey]?.toString() ?? null)\n .concat(Array.from({ length: Math.max(dependencies.length - inLocation.length, 0) }).map(() => null as string | null));\n }\n}"],"mappings":";;;AAQA,8BAAyB,OAAsC,SAAqB;CAClF,MAAMA,QAAwB,QAAQ,SAAS;AAE/C,KAAI,CAAC,MACH,OAAM,IAAI,MAAM;CAElB,MAAM,SAAS,MAAM;AAErB,KAAI,CAAC,OACH,OAAM,IAAI,MAAM;CAElB,MAAMC,UAAwB,MAAM,cAAc;CAElD,MAAM,eAAe,UACjBC,+BAAsB,OAAO,WAAY,WAC3CA,+BAAsB,MAAM,WAAY;CAE1C,MAAM,aAAa,MAAM,eAAe;AAExC,KAAI,WAAW,WAAW,aAAa,OACrC,QAAO,WACJ,KAAI,MAAK,OAAO,MAAM,WAAW,IAAI,IAAI,QAAQ,cAAc;KAElE,QAAO,WACJ,KAAI,MAAK,OAAO,MAAM,WAAW,IAAI,IAAI,QAAQ,cAAc,MAC/D,OAAO,MAAM,KAAK,EAAE,QAAQ,KAAK,IAAI,aAAa,SAAS,WAAW,QAAQ,MAAM,UAAU"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import locked_times_default from "../locked-times.js";
|
|
2
|
-
import break_lengths_default from "../break-lengths.js";
|
|
3
|
-
import { mapGroupReferences } from "./groups.js";
|
|
4
|
-
import meta_default from "./meta.js";
|
|
5
|
-
import dependencies_default from "./dependencies.js";
|
|
6
|
-
import days_default from "./days.js";
|
|
7
|
-
import intervals_default from "./intervals.js";
|
|
8
|
-
import moment from "moment";
|
|
9
|
-
|
|
10
|
-
//#region src/RS/v3/to/course-events/index.ts
|
|
11
|
-
function toDayAndStart(start) {
|
|
12
|
-
return {
|
|
13
|
-
start: parseFloat(moment.utc(start).format("HH.mm")),
|
|
14
|
-
day: (moment.utc(start).day() + 6) % 7
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
function course_events_default(courseEvents, overlapGroups = [], settings, options, periodsMap, destructMap = /* @__PURE__ */ new Map()) {
|
|
18
|
-
const idKey = options.idKey ?? "id";
|
|
19
|
-
return (Array.isArray(courseEvents) ? courseEvents : [courseEvents]).map((event) => {
|
|
20
|
-
const id = (event[idKey] ?? event._id)?.toString();
|
|
21
|
-
if (!id) return;
|
|
22
|
-
let forcedOverlapId;
|
|
23
|
-
if (event?.overlapSpecies != null) {
|
|
24
|
-
const { species: _species = [] } = overlapGroups.find(({ id: id$1 }) => event.overlapSpecies.id == id$1) ?? {};
|
|
25
|
-
const species = _species.find(({ to: { id: id$1 }, toModel }) => (toModel == "events" || toModel == "courseevents") && event.id == id$1);
|
|
26
|
-
if (species) forcedOverlapId = species.id;
|
|
27
|
-
}
|
|
28
|
-
if (event.period && periodsMap.size && !periodsMap.has(event.period.id)) throw new Error(`(RS::V3::To::Collections) Course ${event[idKey]} has a period that does not exist`);
|
|
29
|
-
const duration = event.preferredDuration ?? event.duration;
|
|
30
|
-
if (!duration) return;
|
|
31
|
-
const doc = {
|
|
32
|
-
id: `events.${id}`,
|
|
33
|
-
length: duration,
|
|
34
|
-
...event.durationVariance != null && { maxLengthVariance: event.durationVariance },
|
|
35
|
-
..."weight" in event && { weight: event.weight },
|
|
36
|
-
..."density" in event && { density: event.density },
|
|
37
|
-
...event.lockedTimes?.length && { lockedTimes: locked_times_default(event.lockedTimes, options) },
|
|
38
|
-
...event.minBreakLength != null && { minBreakLength: break_lengths_default(event.minBreakLength) },
|
|
39
|
-
...event.centerOfAttraction && { potentialCenter: parseFloat(event.centerOfAttraction.replace(":", ".")) },
|
|
40
|
-
...forcedOverlapId != null && { forcedOverlapId },
|
|
41
|
-
...event.period && periodsMap.size && { period: periodsMap.get(event.period?.id) }
|
|
42
|
-
};
|
|
43
|
-
const groups = mapGroupReferences(event, options, destructMap);
|
|
44
|
-
if (groups) doc.groups = groups;
|
|
45
|
-
const dependencies = dependencies_default(event, options);
|
|
46
|
-
if (dependencies) Object.assign(doc, dependencies);
|
|
47
|
-
if (options.meta) Object.assign(doc, meta_default(event, options));
|
|
48
|
-
const days = days_default(event, settings, options);
|
|
49
|
-
if (days) Object.assign(doc, days);
|
|
50
|
-
const intervals = intervals_default(event, settings, options);
|
|
51
|
-
if (intervals) Object.assign(doc, intervals);
|
|
52
|
-
if (event.fixedStart && event.start) Object.assign(doc, toDayAndStart(event.start));
|
|
53
|
-
if (options.partialScheduleOptions) {
|
|
54
|
-
const { includedEvents, omittedEventsHandling } = options.partialScheduleOptions;
|
|
55
|
-
if (includedEvents && !includedEvents.has(doc.id)) {
|
|
56
|
-
if (omittedEventsHandling == "ignore") return;
|
|
57
|
-
if (omittedEventsHandling == "freeze") {
|
|
58
|
-
if (event.parked || !event.start || !event.duration) return;
|
|
59
|
-
Object.assign(doc, toDayAndStart(event.start));
|
|
60
|
-
doc.length = event.duration;
|
|
61
|
-
doc.maxLengthVariance = 0;
|
|
62
|
-
const numDays = settings.numDays ?? 5;
|
|
63
|
-
doc.days = Array.from({ length: numDays }, (_, i) => i);
|
|
64
|
-
doc.intervals = Array.from({ length: numDays }, () => [{
|
|
65
|
-
beg: 0,
|
|
66
|
-
end: 23.55
|
|
67
|
-
}]);
|
|
68
|
-
doc.dependencies = (event.inLocations ?? []).map((x) => {
|
|
69
|
-
const id$1 = typeof x === "string" ? x : x?.[idKey]?.toString();
|
|
70
|
-
if (!id$1) return;
|
|
71
|
-
const includedLocations = options.partialScheduleOptions?.includedLocations;
|
|
72
|
-
if (includedLocations && !includedLocations.has(id$1)) return;
|
|
73
|
-
return [{ dependency: id$1 }];
|
|
74
|
-
}).filter((x) => !!x);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return doc;
|
|
79
|
-
}).filter((x) => !!x);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
//#endregion
|
|
83
|
-
export { course_events_default as default, toDayAndStart };
|
|
84
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["idKey: keyof CoreTypes.event","id","doc: CourseEvent","lockedTimes","breakLength","_dependencies","_meta","_days","_intervals"],"sources":["../../../../../src/RS/v3/to/course-events/index.ts"],"sourcesContent":["import moment from 'moment';\n\nimport breakLength from '../break-lengths';\nimport lockedTimes from '../locked-times';\n\nimport { CourseEvent } from '../../types/course-events';\nimport { ParsedOutOptions as OutOptions } from '../../types/out-options';\nimport { Individual } from '../../types/individuals';\n\nimport { Types as CoreTypes } from '../../../../core/types';\nimport { Deserialized } from '../../../../core/types';\n\n\nimport { mapGroupReferences } from './groups';\nimport _meta from './meta';\nimport _dependencies from './dependencies';\nimport _days from './days';\nimport _intervals from './intervals';\nimport { AvailableDependency } from '../../types/available-dependencies';\n\nexport function toDayAndStart (start: string | moment.Moment | Date) {\n return {\n start: parseFloat(moment.utc(start).format('HH.mm')),\n day: (moment.utc(start).day() + 6) % 7\n };\n}\n\nexport default function (\n courseEvents: Deserialized<CoreTypes.event>[] | Deserialized<CoreTypes.event>,\n overlapGroups: Deserialized<CoreTypes.overlapGroup>[] = [],\n settings: CoreTypes.divisionSettings,\n options: OutOptions,\n periodsMap: Map<string | undefined, number>,\n destructMap: Map<string | null, Individual> = new Map()\n): CourseEvent[] {\n const idKey: keyof CoreTypes.event = options.idKey ?? 'id';\n\n return (Array.isArray(courseEvents) ? courseEvents : [courseEvents])\n .map(event => {\n const id = (event[idKey] ?? event._id)?.toString();\n if (!id) return;\n\n let forcedOverlapId;\n if (event?.overlapSpecies != null) {\n const { species: _species = [] } = overlapGroups.find(({ id }) => event.overlapSpecies!.id == id) ?? {};\n const species = _species.find(({ to: { id }, toModel }) => (toModel == 'events' || toModel == 'courseevents') && event.id == id);\n if (species) forcedOverlapId = species.id;\n }\n\n if (event.period && periodsMap.size && !periodsMap.has(event.period.id)) {\n throw new Error(`(RS::V3::To::Collections) Course ${event[idKey]} has a period that does not exist`);\n }\n\n const duration = event.preferredDuration ?? event.duration;\n if (!duration) return;\n\n /*\n preferredDuration overrides duration\n */\n const doc: CourseEvent = {\n id: `events.${ id }`,\n // temporary, should be preferred duration only!\n length: duration,\n // optional\n ...event.durationVariance != null && { maxLengthVariance: event.durationVariance },\n ...'weight' in event && { weight: event.weight },\n ...'density' in event && { density: event.density },\n ...event.lockedTimes?.length && { lockedTimes: lockedTimes((event.lockedTimes), options) },\n ...(event.minBreakLength != null) && { minBreakLength: breakLength(event.minBreakLength) },\n ...event.centerOfAttraction && { potentialCenter: parseFloat(event.centerOfAttraction.replace(':', '.')) },\n ...(forcedOverlapId != null) && { forcedOverlapId },\n ...event.period && periodsMap.size && { period: periodsMap.get(event.period?.id) },\n };\n\n const groups = mapGroupReferences(event, options, destructMap);\n if (groups) doc.groups = groups;\n\n const dependencies = _dependencies(event, options);\n if (dependencies)\n Object.assign(doc, dependencies);\n\n if (options.meta) {\n Object.assign(doc, _meta(event, options));\n }\n\n const days = _days(event, settings, options);\n if (days)\n Object.assign(doc, days);\n\n const intervals = _intervals(event, settings, options);\n if (intervals)\n Object.assign(doc, intervals);\n\n if (event.fixedStart && event.start) {\n Object.assign(doc, toDayAndStart(event.start));\n }\n\n ////\n //// filter events based on partialScheduleOptions\n ////\n if (options.partialScheduleOptions) {\n const { includedEvents, omittedEventsHandling } = options.partialScheduleOptions;\n if (includedEvents && !includedEvents.has(doc.id)) {\n\n if (omittedEventsHandling == 'ignore') return;\n\n if (omittedEventsHandling == 'freeze') {\n // must not be parked and have a start and duration to be frozen, otherwise it's ignored\n if (event.parked || !event.start || !event.duration) return;\n\n // fix day, start and end\n Object.assign(doc, toDayAndStart(event.start));\n doc.length = event.duration;\n doc.maxLengthVariance = 0;\n\n // override intervals and days to not cause conflicts\n const numDays = settings.numDays ?? 5;\n doc.days = Array.from({ length: numDays }, (_, i) => i);\n doc.intervals = Array.from({ length: numDays }, () => [{ beg: 0, end: 23.55 }]);\n\n // fix locations\n doc.dependencies = (event.inLocations ?? [])\n .map(x => {\n const id = typeof x === 'string' ? x : x?.[idKey]?.toString();\n if (!id) return;\n\n const includedLocations = options.partialScheduleOptions?.includedLocations;\n if (includedLocations && !includedLocations.has(id)) return;\n\n return [{ dependency: id }] as AvailableDependency[];\n })\n .filter((x): x is NonNullable<typeof x> => !!x);\n }\n\n }\n }\n\n return doc;\n })\n .filter((x): x is NonNullable<typeof x> => !!x);\n}"],"mappings":";;;;;;;;;;AAoBA,SAAgB,cAAe,OAAsC;AACnE,QAAO;EACL,OAAO,WAAW,OAAO,IAAI,OAAO,OAAO;EAC3C,MAAQ,OAAO,IAAI,OAAO,QAAQ,KAAK;;;AAI3C,+BACE,cACA,gBAAwD,IACxD,UACA,SACA,YACA,8BAAgD,IAAI,OACrC;CACf,MAAMA,QAA+B,QAAQ,SAAS;AAEtD,SAAQ,MAAM,QAAQ,gBAAgB,eAAe,CAAC,eACnD,KAAI,UAAS;EACZ,MAAM,MAAM,MAAM,UAAU,MAAM,MAAM;AACxC,MAAI,CAAC,GAAI;EAET,IAAI;AACJ,MAAI,OAAO,kBAAkB,MAAM;GACjC,MAAM,EAAE,SAAS,WAAW,OAAO,cAAc,MAAM,EAAE,eAAS,MAAM,eAAgB,MAAMC,SAAO;GACrG,MAAM,UAAU,SAAS,MAAM,EAAE,IAAI,EAAE,YAAM,eAAe,WAAW,YAAY,WAAW,mBAAmB,MAAM,MAAMA;AAC7H,OAAI,QAAS,mBAAkB,QAAQ;;AAGzC,MAAI,MAAM,UAAU,WAAW,QAAQ,CAAC,WAAW,IAAI,MAAM,OAAO,IAClE,OAAM,IAAI,MAAM,oCAAoC,MAAM,OAAO;EAGnE,MAAM,WAAW,MAAM,qBAAqB,MAAM;AAClD,MAAI,CAAC,SAAU;EAKf,MAAMC,MAAmB;GACvB,IAAQ,UAAW;GAEnB,QAAQ;GAER,GAAG,MAAM,oBAAoB,QAAY,EAAE,mBAAmB,MAAM;GACpE,GAAG,YAAuB,SAAe,EAAE,QAAmB,MAAM;GACpE,GAAG,aAAuB,SAAe,EAAE,SAAmB,MAAM;GACpE,GAAG,MAAM,aAAa,UAAmB,EAAE,aAAmBC,qBAAa,MAAM,aAAc;GAC/F,GAAI,MAAM,kBAAkB,QAAa,EAAE,gBAAmBC,sBAAY,MAAM;GAChF,GAAG,MAAM,sBAAgC,EAAE,iBAAmB,WAAW,MAAM,mBAAmB,QAAQ,KAAK;GAC/G,GAAI,mBAAmB,QAAkB,EAAE;GAC3C,GAAG,MAAM,UAAU,WAAW,QAAW,EAAE,QAAmB,WAAW,IAAI,MAAM,QAAQ;;EAG7F,MAAM,SAAS,mBAAmB,OAAO,SAAS;AAClD,MAAI,OAAQ,KAAI,SAAS;EAEzB,MAAM,eAAeC,qBAAc,OAAO;AAC1C,MAAI,aACF,QAAO,OAAO,KAAK;AAErB,MAAI,QAAQ,KACV,QAAO,OAAO,KAAKC,aAAM,OAAO;EAGlC,MAAM,OAAOC,aAAM,OAAO,UAAU;AACpC,MAAI,KACF,QAAO,OAAO,KAAK;EAErB,MAAM,YAAYC,kBAAW,OAAO,UAAU;AAC9C,MAAI,UACF,QAAO,OAAO,KAAK;AAErB,MAAI,MAAM,cAAc,MAAM,MAC5B,QAAO,OAAO,KAAK,cAAc,MAAM;AAMzC,MAAI,QAAQ,wBAAwB;GAClC,MAAM,EAAE,gBAAgB,0BAA0B,QAAQ;AAC1D,OAAI,kBAAkB,CAAC,eAAe,IAAI,IAAI,KAAK;AAEjD,QAAI,yBAAyB,SAAU;AAEvC,QAAI,yBAAyB,UAAU;AAErC,SAAI,MAAM,UAAU,CAAC,MAAM,SAAS,CAAC,MAAM,SAAU;AAGrD,YAAO,OAAO,KAAK,cAAc,MAAM;AACvC,SAAI,SAAS,MAAM;AACnB,SAAI,oBAAoB;KAGxB,MAAM,UAAU,SAAS,WAAW;AACpC,SAAI,OAAY,MAAM,KAAK,EAAE,QAAQ,YAAY,GAAG,MAAM;AAC1D,SAAI,YAAY,MAAM,KAAK,EAAE,QAAQ,iBAAiB,CAAC;MAAE,KAAK;MAAG,KAAK;;AAGtE,SAAI,gBAAgB,MAAM,eAAe,IACtC,KAAI,MAAK;MACR,MAAMP,OAAK,OAAO,MAAM,WAAW,IAAI,IAAI,QAAQ;AACnD,UAAI,CAACA,KAAI;MAET,MAAM,oBAAoB,QAAQ,wBAAwB;AAC1D,UAAI,qBAAqB,CAAC,kBAAkB,IAAIA,MAAK;AAErD,aAAO,CAAC,EAAE,YAAYA;QAEvB,QAAQ,MAAkC,CAAC,CAAC;;;;AAMrD,SAAO;IAER,QAAQ,MAAkC,CAAC,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import intervals_default from "../intervals.js";
|
|
2
|
-
|
|
3
|
-
//#region src/RS/v3/to/course-events/intervals.ts
|
|
4
|
-
function intervals_default$1(event, settings, options) {
|
|
5
|
-
if (event.intervals?.length) return { intervals: intervals_default(event.intervals, settings) };
|
|
6
|
-
return void 0;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
//#endregion
|
|
10
|
-
export { intervals_default$1 as default };
|
|
11
|
-
//# sourceMappingURL=intervals.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intervals.js","names":["_intervals"],"sources":["../../../../../src/RS/v3/to/course-events/intervals.ts"],"sourcesContent":["import _intervals from '../intervals';\n\nimport { Types as CoreTypes } from '../../../../core/types';\n\nimport { ParsedOutOptions as OutOptions } from '../../types/out-options';\n\nexport default function (event: CoreTypes.event,\n settings: CoreTypes.divisionSettings,\n options: OutOptions) {\n\n if (event.intervals?.length)\n return { intervals: _intervals(event.intervals, settings) };\n return undefined;\n}"],"mappings":";;;AAMA,6BAAyB,OACvB,UACA,SAAsB;AAEtB,KAAI,MAAM,WAAW,OACnB,QAAO,EAAE,WAAWA,kBAAW,MAAM,WAAW;AAClD,QAAO"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import in_locations_default from "./in-locations.js";
|
|
2
|
-
|
|
3
|
-
//#region src/RS/v3/to/course-events/meta.ts
|
|
4
|
-
function meta_default(event, options) {
|
|
5
|
-
options.idKey;
|
|
6
|
-
const meta = {
|
|
7
|
-
...event.displayName && { name: event.displayName },
|
|
8
|
-
...event.hasOwnProperty("ids") && { ids: event.ids },
|
|
9
|
-
...event.hasOwnProperty("parked") && { parked: event.parked },
|
|
10
|
-
...event.hasOwnProperty("visible") && { visible: event.visible },
|
|
11
|
-
...event.hasOwnProperty("start") && { startDate: event.start },
|
|
12
|
-
...event.hasOwnProperty("end") && { endDate: event.end }
|
|
13
|
-
};
|
|
14
|
-
if (event.course?.id) meta.course = event.course.id;
|
|
15
|
-
if (event.inLocations) meta.inLocations = in_locations_default(event, options);
|
|
16
|
-
return meta;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
//#endregion
|
|
20
|
-
export { meta_default as default };
|
|
21
|
-
//# sourceMappingURL=meta.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"meta.js","names":["meta: Meta","_inLocations"],"sources":["../../../../../src/RS/v3/to/course-events/meta.ts"],"sourcesContent":["import moment from 'moment';\n\nimport { Types as CoreTypes } from '../../../../core/types';\nimport { Deserialized } from '../../../../core/types';\n\nimport { ParsedOutOptions as OutOptions,\n Id } from '../../types/out-options';\n\nimport _inLocations from './in-locations';\n\ntype Meta = {\n course?: string;\n name?: string;\n ids?: string;\n parked?: boolean;\n visible?: boolean;\n start?: moment.Moment;\n end?: moment.Moment;\n inLocations?: (string | null)[];\n};\n\nexport default function (event: Deserialized<CoreTypes.event>,\n options: OutOptions): Meta {\n const idKey: Id = options.idKey || 'id';\n\n const meta: Meta = {\n ...event.displayName && { name: event.displayName },\n ...event.hasOwnProperty('ids') && { ids: event.ids },\n ...event.hasOwnProperty('parked') && { parked: event.parked },\n ...event.hasOwnProperty('visible') && { visible: event.visible },\n ...event.hasOwnProperty('start') && { startDate: event.start as moment.Moment },\n ...event.hasOwnProperty('end') && { endDate: event.end as moment.Moment },\n };\n\n if (event.course?.id)\n meta.course = event.course.id;\n\n if (event.inLocations)\n meta.inLocations = _inLocations(event, options);\n\n return meta;\n}"],"mappings":";;;AAqBA,sBAAyB,OACvB,SAA2B;AACG,SAAQ;CAEtC,MAAMA,OAAa;EACjB,GAAG,MAAM,eAAoC,EAAE,MAAgB,MAAM;EACrE,GAAG,MAAM,eAAe,UAAqB,EAAE,KAAgB,MAAM;EACrE,GAAG,MAAM,eAAe,aAAqB,EAAE,QAAgB,MAAM;EACrE,GAAG,MAAM,eAAe,cAAqB,EAAE,SAAgB,MAAM;EACrE,GAAG,MAAM,eAAe,YAAqB,EAAE,WAAgB,MAAM;EACrE,GAAG,MAAM,eAAe,UAAqB,EAAE,SAAgB,MAAM;;AAGvE,KAAI,MAAM,QAAQ,GAChB,MAAK,SAAc,MAAM,OAAO;AAElC,KAAI,MAAM,YACR,MAAK,cAAcC,qBAAa,OAAO;AAEzC,QAAO"}
|
package/dist/RS/v3/to/days.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
//#region src/RS/v3/to/days.ts
|
|
2
|
-
var days_default = (days, numDays) => {
|
|
3
|
-
if (days.length) return days.map((day) => {
|
|
4
|
-
return day.day;
|
|
5
|
-
});
|
|
6
|
-
else return [...Array(numDays).keys()];
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
//#endregion
|
|
10
|
-
export { days_default as default };
|
|
11
|
-
//# sourceMappingURL=days.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"days.js","names":[],"sources":["../../../../src/RS/v3/to/days.ts"],"sourcesContent":["import { Types as CoreTypes } from '../../../core/types';\n\n/*\n [] === all days valid\n*/\nexport default (days: CoreTypes.day[], numDays: number): number[] => {\n if (days.length) {\n return days.map(day => {\n return day.day!;\n /*return {\n day: day.day,\n rank: day.rank\n }*/\n });\n } else {\n return [...Array(numDays).keys()];\n }\n};\n"],"mappings":";AAKA,oBAAgB,MAAuB,YAA8B;AACnE,KAAI,KAAK,OACP,QAAO,KAAK,KAAI,QAAO;AACrB,SAAO,IAAI;;KAOb,QAAO,CAAC,GAAG,MAAM,SAAS"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","names":["res: Default"],"sources":["../../../../src/RS/v3/to/default.ts"],"sourcesContent":["import { Default } from '../types/default';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\nimport { ParsedOutOptions as OutOptions } from '../types/out-options';\nimport { min2hrs } from './util';\n\nfunction toTime (str: string) {\n return parseFloat(str.replace(':', '.'));\n}\n\nexport default (\n settings: Deserialized<CoreTypes.divisionSettings>,\n periodMap: Map<string | undefined, number>,\n options: OutOptions\n) => {\n\n\n const { dayStart, dayEnd } = settings;\n\n if (!dayStart) throw new Error('(RS::V3::To::Default) \"dayStart\" is falsy');\n if (!dayEnd) throw new Error('(RS::V3::To::Default) \"dayEnd\" is falsy');\n\n if (periodMap.size && !periodMap.has(settings.period?.id)) throw new Error('(RS::V3::To::Default) \"period\" is not in periodMap');\n\n const maxNumWorkingHours = options.useMaximumScheduleSpan\n ? min2hrs(settings.defaultMaximumScheduleSpan?.daily) ?? false\n : settings.defaultMaxNumWorkingHours ?? false;\n\n const maxNumDailyWorkingHours = options.useMaximumScheduleSpan\n ? min2hrs(settings.defaultMaximumScheduleSpan?.daily) ?? false\n : settings.defaultMaxNumDailyWorkingHours ?? false;\n\n const res: Default = {\n intervals: [[{ beg: toTime(dayStart), end: toTime(dayEnd) }]],\n\n groupMinBreakLength: settings.defaultGroupMinimumBreakLength ?? 0,\n dependencyMinBreakLength: settings.defaultDependencyMinimumBreakLength ?? 0,\n eventMinBreakLength: settings.defaultEventMinimumBreakLength ?? 0,\n\n potentialCenter: toTime(settings.potentialCenter ?? '12:00'),\n eventDensity: settings.defaultEventDensity ?? 0,\n\n maxEventLengthVariance: settings.defaultEventDurationVariance ?? 0,\n\n maxNumWorkingHours: maxNumWorkingHours,\n maxNumDailyWorkingHours: maxNumDailyWorkingHours,\n\n dependencyRank: settings.defaultDependencyRank ?? 0,\n groupRank: settings.defaultGroupRank ?? 0,\n dayRank: settings.defaultDayRank ?? 0,\n\n groupWeight: settings.defaultGroupWeight ?? 0,\n collectionWeight: settings.defaultCourseWeight ?? 0,\n eventWeight: settings.defaultEventWeight ?? 0,\n\n ...periodMap.size && { period: periodMap.get(settings.period?.id)! }\n };\n\n return res;\n};"],"mappings":";;;AAOA,SAAS,OAAQ,KAAa;AAC5B,QAAO,WAAW,IAAI,QAAQ,KAAK;;AAGrC,uBACE,UACA,WACA,YACG;CAGH,MAAM,EAAE,UAAU,WAAW;AAE7B,KAAI,CAAC,SAAU,OAAM,IAAI,MAAM;AAC/B,KAAI,CAAC,OAAU,OAAM,IAAI,MAAM;AAE/B,KAAI,UAAU,QAAQ,CAAC,UAAU,IAAI,SAAS,QAAQ,IAAK,OAAM,IAAI,MAAM;CAE3E,MAAM,qBAAqB,QAAQ,yBAC/B,QAAQ,SAAS,4BAA4B,UAAU,QACvD,SAAS,6BAA8C;CAE3D,MAAM,0BAA0B,QAAQ,yBACpC,QAAQ,SAAS,4BAA4B,UAAU,QACvD,SAAS,kCAA8C;CAE3D,MAAMA,MAAe;EACnB,WAAW,CAAC,CAAC;GAAE,KAAK,OAAO;GAAW,KAAK,OAAO;;EAElD,qBAA0B,SAAS,kCAAuC;EAC1E,0BAA0B,SAAS,uCAAuC;EAC1E,qBAA0B,SAAS,kCAAuC;EAE1E,iBAAiB,OAAO,SAAS,mBAAuC;EACxE,cAAiB,SAAS,uBAAuC;EAEjE,wBAAwB,SAAS,gCAAuC;EAE/C;EACA;EAEzB,gBAAgB,SAAS,yBAAuC;EAChE,WAAgB,SAAS,oBAAuC;EAChE,SAAgB,SAAS,kBAAuC;EAEhE,aAAkB,SAAS,sBAAuC;EAClE,kBAAkB,SAAS,uBAAuC;EAClE,aAAkB,SAAS,sBAAuC;EAElE,GAAG,UAAU,QAAQ,EAAE,QAAQ,UAAU,IAAI,SAAS,QAAQ;;AAGhE,QAAO"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import days_default from "./days.js";
|
|
2
|
-
import locked_times_default from "./locked-times.js";
|
|
3
|
-
import break_lengths_default from "./break-lengths.js";
|
|
4
|
-
|
|
5
|
-
//#region src/RS/v3/to/dependencies.ts
|
|
6
|
-
function dependencies_default(locations, settings, options) {
|
|
7
|
-
const idKey = options.idKey || "id";
|
|
8
|
-
if (locations == null) return [];
|
|
9
|
-
return (Array.isArray(locations) ? locations : [locations]).map((location, index) => {
|
|
10
|
-
const id = location[idKey]?.toString();
|
|
11
|
-
if (!id) throw new Error(`(RS::V3::To::Dependencies) A location must have an id, index: ${index}`);
|
|
12
|
-
const includedLocations = options.partialScheduleOptions?.includedLocations;
|
|
13
|
-
if (includedLocations && !includedLocations.has(id)) return;
|
|
14
|
-
const doc = {
|
|
15
|
-
id: location[idKey].toString(),
|
|
16
|
-
...location.area && { area: location.area },
|
|
17
|
-
...location.days?.length && { days: days_default(location.days, settings.numDays) },
|
|
18
|
-
...location.minBreakLength != null && { minBreakLength: break_lengths_default(location.minBreakLength) },
|
|
19
|
-
...location.lockedTimes?.length && { lockedTimes: locked_times_default(location.lockedTimes, options) }
|
|
20
|
-
};
|
|
21
|
-
if (options.meta) Object.assign(doc, {
|
|
22
|
-
...location.ids && { ids: location.ids },
|
|
23
|
-
...location.displayName && { name: location.displayName }
|
|
24
|
-
});
|
|
25
|
-
return doc;
|
|
26
|
-
}).filter((x) => !!x);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
//#endregion
|
|
30
|
-
export { dependencies_default as default };
|
|
31
|
-
//# sourceMappingURL=dependencies.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.js","names":["idKey: keyof CoreTypes.location","doc: Dependency","days","breakLengths","lockedTimes"],"sources":["../../../../src/RS/v3/to/dependencies.ts"],"sourcesContent":["import days from './days';\nimport lockedTimes from './locked-times';\nimport breakLengths from './break-lengths';\n\nimport { Dependency } from '../types/dependencies';\nimport { ParsedOutOptions as OutOptions } from '../types/out-options';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\n\nexport default function (\n locations: Deserialized<CoreTypes.location>[],\n settings: CoreTypes.divisionSettings,\n options: OutOptions\n) {\n const idKey: keyof CoreTypes.location = options.idKey || 'id';\n\n if (locations == null) return [];\n\n return (Array.isArray(locations) ? locations : [locations])\n .map((location, index) => {\n const id = location[idKey]?.toString();\n if (!id) {\n throw new Error(`(RS::V3::To::Dependencies) A location must have an id, index: ${ index }`);\n }\n\n // filter location references based on partial schedule options\n const includedLocations = options.partialScheduleOptions?.includedLocations;\n if (includedLocations && !includedLocations.has(id)) return;\n\n const doc: Dependency = {\n id: location[idKey]!.toString(),\n ...location.area && { area: location.area },\n ...location.days?.length && { days: days(location.days, settings.numDays) },\n ...(location.minBreakLength != null) && { minBreakLength: breakLengths(location.minBreakLength) as number },\n ...location.lockedTimes?.length && { lockedTimes: lockedTimes(location.lockedTimes, options) }\n };\n\n if (options.meta) {\n Object.assign(doc, {\n ...location.ids && { ids: location.ids },\n ...location.displayName && { name: location.displayName }\n });\n }\n\n return doc;\n })\n .filter((x): x is NonNullable<typeof x> => !!x);\n}"],"mappings":";;;;;AAUA,8BACE,WACA,UACA,SACA;CACA,MAAMA,QAAkC,QAAQ,SAAS;AAEzD,KAAI,aAAa,KAAM,QAAO;AAE9B,SAAQ,MAAM,QAAQ,aAAa,YAAY,CAAC,YAC7C,KAAK,UAAU,UAAU;EACxB,MAAM,KAAK,SAAS,QAAQ;AAC5B,MAAI,CAAC,GACH,OAAM,IAAI,MAAM,iEAAkE;EAIpF,MAAM,oBAAoB,QAAQ,wBAAwB;AAC1D,MAAI,qBAAqB,CAAC,kBAAkB,IAAI,IAAK;EAErD,MAAMC,MAAkB;GACtB,IAAI,SAAS,OAAQ;GACrB,GAAG,SAAS,QAA4B,EAAE,MAAgB,SAAS;GACnE,GAAG,SAAS,MAAM,UAAsB,EAAE,MAAgBC,aAAK,SAAS,MAAM,SAAS;GACvF,GAAI,SAAS,kBAAkB,QAAS,EAAE,gBAAgBC,sBAAa,SAAS;GAChF,GAAG,SAAS,aAAa,UAAe,EAAE,aAAgBC,qBAAY,SAAS,aAAa;;AAG9F,MAAI,QAAQ,KACV,QAAO,OAAO,KAAK;GACjB,GAAG,SAAS,OAA0B,EAAE,KAAgB,SAAS;GACjE,GAAG,SAAS,eAA0B,EAAE,MAAgB,SAAS;;AAIrE,SAAO;IAER,QAAQ,MAAkC,CAAC,CAAC"}
|