@royalschedule/maps 3.3.17 → 4.0.1
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 +12 -12
- 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/options.d.ts +8 -0
- 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 +20 -0
- package/dist/RS/types/events.d.ts +27 -0
- package/dist/RS/{v2/types → types}/groups.d.ts +13 -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 +59 -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 +17 -1
- 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 +19 -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 +14 -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 +45 -0
- package/dist/core/types/common/intervals.d.ts +20 -0
- package/dist/core/types/common/maximum-schedule-span.d.ts +19 -0
- package/dist/core/{v2/types → types/common}/meta.d.ts +1 -1
- package/dist/core/types/common/planned-schedule-duration.d.ts +13 -0
- package/dist/core/types/common/tag.d.ts +9 -0
- package/dist/core/types/courses.d.ts +58 -0
- package/dist/core/{v2/types → types}/division-settings.d.ts +14 -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 +41 -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 +20 -30
- package/dist/core/util.js +46 -0
- package/dist/core/util.js.map +1 -0
- package/dist/core/vertex-mapping.d.ts +69 -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/maximum-schedule-span.d.ts +0 -8
- 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":"groups.js","names":[],"sources":["../../../../../src/RS/v2/to/course-events/groups.ts"],"sourcesContent":["import { mergeWithParentGroups } from '../../../v3/to/util';\nimport { Types as CoreTypes } from '../../../../core/types';\nimport { Deserialized } from '../../../../core/types';\n\nimport { OutOptions } from '../../types/out-options';\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: string[],\n destructMap: Map<string | null, Set<string>>,\n options: OutOptions\n) {\n const idKey = options.idKey || 'id';\n\n if (destructMap.size) {\n groups.forEach(group => {\n const id = group.to?.[idKey]?.toString();\n if (!id) return;\n\n const destructed = destructMap.get(id);\n if (!destructed) return;\n\n // relevant remaining participants of the group\n const remaining = Array.from(destructed)\n .filter(pId => !group.exclude?.some(x => x?.[idKey] == pId))\n .map(x => `persons.${ x }`);\n\n // push to array of participants while avoiding duplicates\n participantIds.push(...remaining.filter(x => !participantIds.includes(x)));\n });\n }\n}\n\n\nexport function mapGroupReferences (\n source: Deserialized<CoreTypes.event> & Deserialized<CoreTypes.course>,\n options: OutOptions,\n destructMap: Map<string | null, Set<string>>\n): string[][] {\n const idKey = options.idKey || 'id';\n\n const teachers = (source.teachers ?? source.course?.teachers ?? []);\n const groups = (source.groups ?? source.course?.groups ?? []);\n const participants = (source.participants ?? source.course?.participants ?? []);\n\n // merge the group references with their parent groups\n const groupReferences = mergeWithParentGroups(groups, options);\n\n const teacherIds = teachers .map(({ to }) => to?.[idKey]).filter((x): x is NonNullable<typeof x> => !!x)\n .map(x => 'teachers.' + x.toString());\n const groupIds = groupReferences .map(({ to }) => to?.parentGroups?.length ? to.parentGroups.map(x => x?.[idKey]).filter(Boolean) : to?.[idKey]).flat()\n .filter((x): x is NonNullable<typeof x> => !!x)\n .map(x => 'groups.' + x.toString());\n const participantIds = participants.map(({ to }) => to?.[idKey]).filter((x): x is NonNullable<typeof x> => !!x)\n .map(x => 'persons.' + x.toString());\n\n deconstructGroups(groups, participantIds, destructMap, options);\n\n const out = [...new Set(teacherIds), ...new Set(groupIds), ...new Set(participantIds)].map(x => [x]);\n return out;\n}\n"],"mappings":";;;;;;AASA,SAAgB,kBACd,QACA,gBACA,aACA,SACA;CACA,MAAM,QAAQ,QAAQ,SAAS;AAE/B,KAAI,YAAY,KACd,QAAO,SAAQ,UAAS;EACtB,MAAM,KAAK,MAAM,KAAK,QAAQ;AAC9B,MAAI,CAAC,GAAI;EAET,MAAM,aAAa,YAAY,IAAI;AACnC,MAAI,CAAC,WAAY;EAGjB,MAAM,YAAY,MAAM,KAAK,YAC1B,QAAO,QAAO,CAAC,MAAM,SAAS,MAAK,MAAK,IAAI,UAAU,MACtD,KAAI,MAAK,WAAY;AAGxB,iBAAe,KAAK,GAAG,UAAU,QAAO,MAAK,CAAC,eAAe,SAAS;;;AAM5E,SAAgB,mBACd,QACA,SACA,aACY;CACZ,MAAM,QAAQ,QAAQ,SAAS;CAE/B,MAAM,WAAgB,OAAO,YAAgB,OAAO,QAAQ,YAAgB;CAC5E,MAAM,SAAgB,OAAO,UAAgB,OAAO,QAAQ,UAAgB;CAC5E,MAAM,eAAgB,OAAO,gBAAgB,OAAO,QAAQ,gBAAgB;CAG5E,MAAM,kBAAkB,sBAAsB,QAAQ;CAEtD,MAAM,aAAiB,SAAa,KAAK,EAAE,SAAS,KAAK,QAAQ,QAAQ,MAAkC,CAAC,CAAC,GAC1G,KAAI,MAAK,cAAc,EAAE;CAC5B,MAAM,WAAiB,gBAAsB,KAAK,EAAE,SAAS,IAAI,cAAc,SAAS,GAAG,aAAa,KAAI,MAAK,IAAI,QAAQ,OAAO,WAAW,KAAK,QAAQ,OACzJ,QAAQ,MAAkC,CAAC,CAAC,GAC5C,KAAI,MAAK,YAAc,EAAE;CAC5B,MAAM,iBAAiB,aAAa,KAAK,EAAE,SAAS,KAAK,QAAQ,QAAQ,MAAkC,CAAC,CAAC,GAC1G,KAAI,MAAK,aAAc,EAAE;AAE5B,mBAAkB,QAAQ,gBAAgB,aAAa;CAEvD,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/v2/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::V2::To::CourseEvent::InLocations) Mapping in-locations failed due to event being undefined");
|
|
7
|
-
const course = event.course;
|
|
8
|
-
if (!course) throw new Error("(RS::V2::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/v2/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 { 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::V2::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::V2::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,56 +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/v2/to/course-events/index.ts
|
|
11
|
-
var course_events_default = (courseEvents, overlapGroups = [], settings, options, periodsMap, destructMap = /* @__PURE__ */ new Map()) => {
|
|
12
|
-
const idKey = options.idKey ? options.idKey : "id";
|
|
13
|
-
const docs = Array.isArray(courseEvents) ? courseEvents : [courseEvents];
|
|
14
|
-
return docs.reduce((acc, event) => {
|
|
15
|
-
if (!event) return acc;
|
|
16
|
-
event.course;
|
|
17
|
-
const id = (event[idKey] || event._id).toString();
|
|
18
|
-
let forcedOverlapId;
|
|
19
|
-
if (event?.overlapSpecies != null) {
|
|
20
|
-
const { species = [] } = overlapGroups.find(({ id: id$1 }) => event.overlapSpecies.id == id$1) ?? {};
|
|
21
|
-
const specie = species.find(({ to: { id: id$1 }, toModel }) => (toModel == "events" || toModel == "courseevents") && event.id == id$1);
|
|
22
|
-
if (specie) forcedOverlapId = specie.id;
|
|
23
|
-
}
|
|
24
|
-
if (event.period && periodsMap.size && !periodsMap.has(event.period.id)) throw new Error(`(RS::V2::To::Collections) Course ${event[idKey]} has a period that does not exist`);
|
|
25
|
-
const doc = {
|
|
26
|
-
id: `events.${id}`,
|
|
27
|
-
length: event.preferredDuration ?? event.duration,
|
|
28
|
-
...event.durationVariance != null && { maxLengthVariance: event.durationVariance },
|
|
29
|
-
..."weight" in event && { weight: event.weight },
|
|
30
|
-
..."density" in event && { density: event.density },
|
|
31
|
-
...event.lockedTimes?.length && { lockedTimes: locked_times_default(event.lockedTimes, options) },
|
|
32
|
-
...event.minBreakLength != null && { minBreakLength: break_lengths_default(event.minBreakLength) },
|
|
33
|
-
...event.centerOfAttraction && { potentialCenter: parseFloat(event.centerOfAttraction.replace(":", ".")) },
|
|
34
|
-
...forcedOverlapId != null && { forcedOverlapId },
|
|
35
|
-
...event.period && periodsMap.size && { period: periodsMap.get(event.period?.id) }
|
|
36
|
-
};
|
|
37
|
-
const groups = mapGroupReferences(event, options, destructMap);
|
|
38
|
-
if (groups) doc.groups = groups;
|
|
39
|
-
const dependencies = dependencies_default(event, options);
|
|
40
|
-
if (dependencies) Object.assign(doc, dependencies);
|
|
41
|
-
if (options.meta) Object.assign(doc, meta_default(event, options));
|
|
42
|
-
const days = days_default(event, settings, options);
|
|
43
|
-
if (days) Object.assign(doc, days);
|
|
44
|
-
const intervals = intervals_default(event, settings, options);
|
|
45
|
-
if (intervals) Object.assign(doc, intervals);
|
|
46
|
-
if (event.fixedStart && event.start) Object.assign(doc, {
|
|
47
|
-
start: parseFloat(moment.utc(event.start).format("HH.mm")),
|
|
48
|
-
day: (moment.utc(event.start).day() + 6) % 7
|
|
49
|
-
});
|
|
50
|
-
return acc.concat(doc);
|
|
51
|
-
}, []);
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
//#endregion
|
|
55
|
-
export { course_events_default as default };
|
|
56
|
-
//# 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/v2/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 { OutOptions } from '../../types/out-options';\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';\n\nexport default (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, Set<string>> = new Map()): CourseEvent[] => {\n\n const idKey: keyof CoreTypes.event = (options.idKey ? options.idKey : 'id');\n const docs = (Array.isArray(courseEvents) ? courseEvents : [courseEvents]);\n\n return docs.reduce((acc: any[], event) => {\n if (!event)\n return acc;\n const course = event.course;\n\n const id = (event[idKey] || event._id!).toString();\n\n let forcedOverlapId;\n if (event?.overlapSpecies != null) {\n const { species = [] } = overlapGroups.find(({ id }) => event.overlapSpecies!.id == id) ?? {};\n const specie = species.find(({ to: { id }, toModel }) => (toModel == 'events' || toModel == 'courseevents') && event.id == id);\n if (specie)\n forcedOverlapId = specie.id;\n }\n\n\n if (event.period && periodsMap.size && !periodsMap.has(event.period.id)) {\n throw new Error(`(RS::V2::To::Collections) Course ${event[idKey]} has a period that does not exist`);\n }\n\n /*\n preferredDuration overrides duration\n */\n const doc: CourseEvent = {\n id: `events.${ id }`,\n // temporary, should be preferred duration only!\n length: event.preferredDuration ?? event.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, {\n start: parseFloat(moment.utc(event.start).format('HH.mm')),\n day: (moment.utc(event.start).day() + 6) % 7\n });\n }\n\n return acc.concat(doc);\n }, []);\n};"],"mappings":";;;;;;;;;;AAkBA,6BAAgB,cACd,gBAAwD,IACxD,UACA,SACA,YACA,8BAAiD,IAAI,UAAyB;CAE9E,MAAMA,QAAgC,QAAQ,QAAQ,QAAQ,QAAQ;CACtE,MAAM,OAAgC,MAAM,QAAQ,gBAAgB,eAAe,CAAC;AAEpF,QAAO,KAAK,QAAQ,KAAY,UAAU;AACxC,MAAI,CAAC,MACH,QAAO;AACM,QAAM;EAErB,MAAM,MAAM,MAAM,UAAU,MAAM,KAAM;EAExC,IAAI;AACJ,MAAI,OAAO,kBAAkB,MAAM;GACjC,MAAM,EAAE,UAAU,OAAO,cAAc,MAAM,EAAE,eAAS,MAAM,eAAgB,MAAMC,SAAO;GAC3F,MAAM,SAAS,QAAQ,MAAM,EAAE,IAAI,EAAE,YAAM,eAAe,WAAW,YAAY,WAAW,mBAAmB,MAAM,MAAMA;AAC3H,OAAI,OACF,mBAAkB,OAAO;;AAI7B,MAAI,MAAM,UAAU,WAAW,QAAQ,CAAC,WAAW,IAAI,MAAM,OAAO,IAClE,OAAM,IAAI,MAAM,oCAAoC,MAAM,OAAO;EAMnE,MAAMC,MAAmB;GACvB,IAAQ,UAAW;GAEnB,QAAQ,MAAM,qBAAqB,MAAM;GAEzC,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;GACjB,OAAO,WAAW,OAAO,IAAI,MAAM,OAAO,OAAO;GACjD,MAAQ,OAAO,IAAI,MAAM,OAAO,QAAQ,KAAK;;AAIjD,SAAO,IAAI,OAAO;IACjB"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import intervals_default from "../intervals.js";
|
|
2
|
-
|
|
3
|
-
//#region src/RS/v2/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/v2/to/course-events/intervals.ts"],"sourcesContent":["import _intervals from '../intervals';\n\nimport { Types as CoreTypes } from '../../../../core/types';\n\nimport { 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/v2/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/v2/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 { 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/v2/to/days.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
//#region src/RS/v2/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/v2/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"}
|
package/dist/RS/v2/to/default.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
//#region src/RS/v2/to/default.ts
|
|
2
|
-
function toTime(str) {
|
|
3
|
-
return parseFloat(str.replace(":", "."));
|
|
4
|
-
}
|
|
5
|
-
var default_default = (settings, periodMap) => {
|
|
6
|
-
const { dayStart, dayEnd } = settings;
|
|
7
|
-
if (!dayStart) throw new Error("(RS::V2::To::Default) \"dayStart\" is falsy");
|
|
8
|
-
if (!dayEnd) throw new Error("(RS::V2::To::Default) \"dayEnd\" is falsy");
|
|
9
|
-
if (periodMap.size && !periodMap.has(settings.period?.id)) throw new Error("(RS::V2::To::Default) \"period\" is not in periodMap");
|
|
10
|
-
const res = {
|
|
11
|
-
intervals: [[{
|
|
12
|
-
beg: toTime(dayStart),
|
|
13
|
-
end: toTime(dayEnd)
|
|
14
|
-
}]],
|
|
15
|
-
groupMinBreakLength: settings.defaultGroupMinimumBreakLength ?? 0,
|
|
16
|
-
dependencyMinBreakLength: settings.defaultDependencyMinimumBreakLength ?? 0,
|
|
17
|
-
eventMinBreakLength: settings.defaultEventMinimumBreakLength ?? 0,
|
|
18
|
-
potentialCenter: toTime(settings.potentialCenter ?? "12:00"),
|
|
19
|
-
eventDensity: settings.defaultEventDensity ?? 0,
|
|
20
|
-
maxEventLengthVariance: settings.defaultEventDurationVariance ?? 0,
|
|
21
|
-
maxNumWorkingHours: settings.defaultMaxNumWorkingHours ?? false,
|
|
22
|
-
maxNumDailyWorkingHours: settings.defaultMaxNumDailyWorkingHours ?? false,
|
|
23
|
-
dependencyRank: settings.defaultDependencyRank ?? 0,
|
|
24
|
-
groupRank: settings.defaultGroupRank ?? 0,
|
|
25
|
-
dayRank: settings.defaultDayRank ?? 0,
|
|
26
|
-
groupWeight: settings.defaultGroupWeight ?? 0,
|
|
27
|
-
collectionWeight: settings.defaultCourseWeight ?? 0,
|
|
28
|
-
eventWeight: settings.defaultEventWeight ?? 0,
|
|
29
|
-
...periodMap.size && { period: periodMap.get(settings.period?.id) }
|
|
30
|
-
};
|
|
31
|
-
return res;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
//#endregion
|
|
35
|
-
export { default_default as default };
|
|
36
|
-
//# sourceMappingURL=default.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","names":["res: Default"],"sources":["../../../../src/RS/v2/to/default.ts"],"sourcesContent":["import { Default } from '../types/default';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\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) => {\n\n\n const { dayStart, dayEnd } = settings;\n\n if (!dayStart) throw new Error('(RS::V2::To::Default) \"dayStart\" is falsy');\n if (!dayEnd) throw new Error('(RS::V2::To::Default) \"dayEnd\" is falsy');\n\n if (periodMap.size && !periodMap.has(settings.period?.id)) throw new Error('(RS::V2::To::Default) \"period\" is not in periodMap');\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: settings.defaultMaxNumWorkingHours ?? false,\n maxNumDailyWorkingHours: settings.defaultMaxNumDailyWorkingHours ?? false,\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":";AAKA,SAAS,OAAQ,KAAa;AAC5B,QAAO,WAAW,IAAI,QAAQ,KAAK;;AAGrC,uBACE,UACA,cACG;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,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;EAExE,oBAAyB,SAAS,6BAAuC;EACzE,yBAAyB,SAAS,kCAAuC;EAEzE,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,28 +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/v2/to/dependencies.ts
|
|
6
|
-
var 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
|
-
if (location[idKey] == void 0) throw new Error(`(RS::V2::To::Dependencies) A location must have an id, index: ${index}`);
|
|
11
|
-
const doc = {
|
|
12
|
-
id: location[idKey].toString(),
|
|
13
|
-
...location.area && { area: location.area },
|
|
14
|
-
...location.days?.length && { days: days_default(location.days, settings.numDays) },
|
|
15
|
-
...location.minBreakLength != null && { minBreakLength: break_lengths_default(location.minBreakLength) },
|
|
16
|
-
...location.lockedTimes?.length && { lockedTimes: locked_times_default(location.lockedTimes, options) }
|
|
17
|
-
};
|
|
18
|
-
if (options.meta) Object.assign(doc, {
|
|
19
|
-
...location.ids && { ids: location.ids },
|
|
20
|
-
...location.displayName && { name: location.displayName }
|
|
21
|
-
});
|
|
22
|
-
return doc;
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
//#endregion
|
|
27
|
-
export { dependencies_default as default };
|
|
28
|
-
//# 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/v2/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 { OutOptions } from '../types/out-options';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\n\nexport default (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)\n return [];\n\n return (Array.isArray(locations) ? locations : [locations]).map((location, index) => {\n\n if (location[idKey] == undefined) throw new Error(`(RS::V2::To::Dependencies) A location must have an id, index: ${ index }`);\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};"],"mappings":";;;;;AAUA,4BAAgB,WACd,UACA,YAA0B;CAE1B,MAAMA,QAAkC,QAAQ,SAAS;AAEzD,KAAI,aAAa,KACf,QAAO;AAET,SAAQ,MAAM,QAAQ,aAAa,YAAY,CAAC,YAAY,KAAK,UAAU,UAAU;AAEnF,MAAI,SAAS,UAAU,OAAW,OAAM,IAAI,MAAM,iEAAkE;EAEpH,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"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { mergeWithParentGroups } from "../../v3/to/util.js";
|
|
2
|
-
|
|
3
|
-
//#region src/RS/v2/to/destructure.ts
|
|
4
|
-
var destructure_default = (courses, events = [], options) => {
|
|
5
|
-
const destructMap = /* @__PURE__ */ new Map();
|
|
6
|
-
const idKey = options.idKey || "id";
|
|
7
|
-
courses = Array.isArray(courses) ? courses : [courses];
|
|
8
|
-
events = Array.isArray(events) ? events : [events];
|
|
9
|
-
courses.concat(events).forEach((source) => {
|
|
10
|
-
if (!source[idKey]) throw new Error("(RS::V2::To::Destructure) A course does not have a unique key");
|
|
11
|
-
if (source.groups || source.participants) {
|
|
12
|
-
const groupReferences = mergeWithParentGroups(source.groups ?? [], options);
|
|
13
|
-
groupReferences?.forEach((x) => {
|
|
14
|
-
const id = x?.to?.[idKey]?.toString();
|
|
15
|
-
if (!id) return;
|
|
16
|
-
if (!destructMap.has(id)) destructMap.set(id, /* @__PURE__ */ new Set());
|
|
17
|
-
x.exclude?.forEach((y) => {
|
|
18
|
-
destructMap.get(id)?.add(y[idKey]?.toString());
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
source.participants?.forEach((x) => {
|
|
22
|
-
const id = x?.to?.[idKey]?.toString();
|
|
23
|
-
if (!id) return;
|
|
24
|
-
const groupId = x.to.group?.[idKey]?.toString();
|
|
25
|
-
if (!groupId) {
|
|
26
|
-
if (!destructMap.has(null)) destructMap.set(null, /* @__PURE__ */ new Set());
|
|
27
|
-
destructMap.get(null)?.add(id);
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
if (!destructMap.has(groupId)) destructMap.set(groupId, /* @__PURE__ */ new Set());
|
|
31
|
-
destructMap.get(groupId)?.add(id);
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
return destructMap;
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
//#endregion
|
|
39
|
-
export { destructure_default as default };
|
|
40
|
-
//# sourceMappingURL=destructure.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"destructure.js","names":["idKey: keyof CoreTypes.course"],"sources":["../../../../src/RS/v2/to/destructure.ts"],"sourcesContent":["import { OutOptions } from '../types/out-options';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\nimport { mergeWithParentGroups } from '../../v3/to/util';\n\nexport default (courses: Deserialized<CoreTypes.course> | Deserialized<CoreTypes.course>[],\n events: Deserialized<CoreTypes.event> | Deserialized<CoreTypes.event>[] = [],\n options: OutOptions) => {\n const destructMap = new Map<string | null, Set<string>>();\n\n const idKey: keyof CoreTypes.course = options.idKey || 'id';\n\n courses = Array.isArray(courses) ? courses : [courses];\n events = Array.isArray(events) ? events : [events];\n /*\n if a person is excluded or included add said person to list of groups and decompose every instance of the group\n into two parts. one with the person and one with the remainder of the group\n [g_m] => [(g_m-p_i), p_i]\n */\n courses.concat(events).forEach(source => {\n\n if (!source[idKey])\n throw new Error('(RS::V2::To::Destructure) A course does not have a unique key');\n\n if (source.groups || source.participants) {\n /*\n destructure every group with persons excluded\n */\n\n // merge the group references with their parent groups\n const groupReferences = mergeWithParentGroups(source.groups ?? [], options);\n\n groupReferences?.forEach(x => {\n const id = x?.to?.[idKey]?.toString();\n if (!id) return;\n\n if (!destructMap.has(id)) destructMap.set(id, new Set);\n x.exclude?.forEach(y => { destructMap.get(id)?.add(y[idKey]?.toString()!) });\n });\n\n /*\n destructure every group with persons added explicitly that have a group membership\n */\n source.participants?.forEach(x => {\n const id = x?.to?.[idKey]?.toString();\n if (!id) return;\n\n const groupId = x.to.group?.[idKey]?.toString();\n if (!groupId) {\n if (!destructMap.has(null)) destructMap.set(null, new Set);\n destructMap.get(null)?.add(id);\n return;\n }\n\n if (!destructMap.has(groupId)) destructMap.set(groupId, new Set);\n destructMap.get(groupId)?.add(id);\n });\n }\n });\n\n return destructMap;\n};"],"mappings":";;;AAMA,2BAAgB,SACd,SAAiF,IACjF,YAA8B;CAC9B,MAAM,8BAAc,IAAI;CAExB,MAAMA,QAAgC,QAAQ,SAAS;AAEvD,WAAU,MAAM,QAAQ,WAAW,UAAU,CAAC;AAC9C,UAAU,MAAM,QAAQ,UAAW,SAAU,CAAC;AAM9C,SAAQ,OAAO,QAAQ,SAAQ,WAAU;AAEvC,MAAI,CAAC,OAAO,OACV,OAAM,IAAI,MAAM;AAElB,MAAI,OAAO,UAAU,OAAO,cAAc;GAMxC,MAAM,kBAAkB,sBAAsB,OAAO,UAAU,IAAI;AAEnE,oBAAiB,SAAQ,MAAK;IAC5B,MAAM,KAAK,GAAG,KAAK,QAAQ;AAC3B,QAAI,CAAC,GAAI;AAET,QAAI,CAAC,YAAY,IAAI,IAAK,aAAY,IAAI,oBAAI,IAAI;AAClD,MAAE,SAAS,SAAQ,MAAK;AAAE,iBAAY,IAAI,KAAK,IAAI,EAAE,QAAQ;;;AAM/D,UAAO,cAAc,SAAQ,MAAK;IAChC,MAAM,KAAK,GAAG,KAAK,QAAQ;AAC3B,QAAI,CAAC,GAAI;IAET,MAAM,UAAU,EAAE,GAAG,QAAQ,QAAQ;AACrC,QAAI,CAAC,SAAS;AACZ,SAAI,CAAC,YAAY,IAAI,MAAO,aAAY,IAAI,sBAAM,IAAI;AACtD,iBAAY,IAAI,OAAO,IAAI;AAC3B;;AAGF,QAAI,CAAC,YAAY,IAAI,SAAU,aAAY,IAAI,yBAAS,IAAI;AAC5D,gBAAY,IAAI,UAAU,IAAI;;;;AAKpC,QAAO"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import intervals_default from "./intervals.js";
|
|
2
|
-
import moment from "moment";
|
|
3
|
-
import { pick } from "lodash-es";
|
|
4
|
-
import { nanoid } from "nanoid";
|
|
5
|
-
|
|
6
|
-
//#region src/RS/v2/to/dynamic-locked-times.ts
|
|
7
|
-
var dynamic_locked_times_default = (docs, settings, options, set, destructMap) => {
|
|
8
|
-
const idKey = options.idKey ?? "id";
|
|
9
|
-
return docs.filter((x) => !!x).reduce((acc, group) => {
|
|
10
|
-
let lunch = group.lunch;
|
|
11
|
-
if (lunch == null) lunch = settings.defaultLunch?.map((lunch$1) => ({
|
|
12
|
-
...lunch$1,
|
|
13
|
-
coalesced: [{
|
|
14
|
-
to: pick(group, idKey),
|
|
15
|
-
toModel: ""
|
|
16
|
-
}]
|
|
17
|
-
}));
|
|
18
|
-
if (lunch == null) return acc;
|
|
19
|
-
return acc.concat(lunch.reduce((acc$1, lockedTime) => {
|
|
20
|
-
const { _id, intervals, duration, durationVariance, coalesced } = lockedTime;
|
|
21
|
-
const id = (lockedTime[idKey] || _id)?.toString() ?? nanoid();
|
|
22
|
-
if (set.has(id)) return acc$1;
|
|
23
|
-
set.add(id);
|
|
24
|
-
if (duration == null) throw new Error("(RS::V2::To::DynamicLockedTimes) Length of a locked time is null");
|
|
25
|
-
if (duration < 5) throw new Error("(RS::V2::To::DynamicLockedTimes) Length of a locked time is less than 5 min");
|
|
26
|
-
if (!coalesced) throw new Error("(RS::V2::To::DynamicLockedTimes) Length of a locked time is less than 5 min");
|
|
27
|
-
let days = intervals?.length ? intervals.map(({ start }) => (moment(start).day() + 6) % 7) : void 0;
|
|
28
|
-
if (days) days = [...new Set(days)];
|
|
29
|
-
const day = days?.length == 1 ? days[0] : void 0;
|
|
30
|
-
if (day != null && group.days?.length && !group.days.some((x) => x.day == day)) return acc$1;
|
|
31
|
-
let groups = coalesced.filter((x) => x.toModel != "locations")?.map(({ to, toModel }) => `${toModel}.${to[idKey]?.toString()}`);
|
|
32
|
-
if (destructMap?.size) groups = coalesced.filter((x) => x.toModel == "groups").map(({ to }) => to[idKey]?.toString()).filter(Boolean).reduce((acc$2, groupId) => {
|
|
33
|
-
if (destructMap.has(groupId)) {
|
|
34
|
-
const set$1 = destructMap.get(groupId);
|
|
35
|
-
const destructuredGroups = Array.from(set$1).map((x) => `persons.${x}`);
|
|
36
|
-
acc$2 = acc$2.concat(destructuredGroups);
|
|
37
|
-
}
|
|
38
|
-
return acc$2;
|
|
39
|
-
}, groups);
|
|
40
|
-
return acc$1.concat({
|
|
41
|
-
id: `${group.lunch == null ? "virtual" : "lockedTimes"}.${id}`,
|
|
42
|
-
groups: [...new Set(groups.filter(Boolean))].map((x) => [x]),
|
|
43
|
-
dependencies: [...new Set(coalesced.filter((x) => x.toModel == "locations").map(({ to }) => to[idKey]?.toString()).filter(Boolean))].map((x) => [x]),
|
|
44
|
-
length: duration,
|
|
45
|
-
minBreakLength: false,
|
|
46
|
-
intervals: intervals_default(intervals, settings),
|
|
47
|
-
...days && { days },
|
|
48
|
-
...day && { day },
|
|
49
|
-
...durationVariance != null && { maxLengthVariance: durationVariance }
|
|
50
|
-
});
|
|
51
|
-
}, []));
|
|
52
|
-
}, []).flat().filter(Boolean);
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
//#endregion
|
|
56
|
-
export { dynamic_locked_times_default as default };
|
|
57
|
-
//# sourceMappingURL=dynamic-locked-times.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-locked-times.js","names":["idKey: 'id' | '_id' | 'ids'","lunch","id: string","acc","set","_intervals"],"sources":["../../../../src/RS/v2/to/dynamic-locked-times.ts"],"sourcesContent":["import moment from 'moment';\nimport { nanoid } from 'nanoid';\n\nimport { OutOptions } from '../types/out-options';\nimport { CourseEvent } from '../types/course-events';\n\nimport _intervals from './intervals';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\nimport { pick } from 'lodash-es';\n\nexport default (docs: (Deserialized<CoreTypes.group> | Deserialized<CoreTypes.teacher>)[],\n settings: Deserialized<CoreTypes.divisionSettings>,\n options: OutOptions,\n set: Set<string>,\n destructMap?: Map<string | null, Set<string>>) => {\n //let docs: SourceLockedTime[] = (Array.isArray(lockedTimes) ? lockedTimes : [lockedTimes]);\n const idKey: 'id' | '_id' | 'ids' = (options.idKey ?? 'id');\n\n return docs.filter(x => !!x).reduce((acc: CourseEvent[], group): CourseEvent[] => {\n let lunch = group.lunch;\n if (lunch == null) {\n lunch = settings.defaultLunch?.map(lunch => ({ ...lunch, coalesced: [{ to: pick(group, idKey), toModel: '' }] }));\n }\n\n if (lunch == null)\n return acc;\n\n\n return acc.concat(\n lunch.reduce((acc: CourseEvent[], lockedTime) => {\n\n const { _id, intervals, duration, durationVariance, coalesced } = lockedTime;\n\n const id: string = (lockedTime[idKey as keyof CoreTypes.lockedTime] || _id)?.toString() ?? nanoid();\n\n if (set.has(id))\n return acc;\n\n set.add(id);\n\n if (duration == null)\n throw new Error('(RS::V2::To::DynamicLockedTimes) Length of a locked time is null');\n\n if (duration < 5)\n throw new Error('(RS::V2::To::DynamicLockedTimes) Length of a locked time is less than 5 min');\n\n if (!coalesced)\n throw new Error('(RS::V2::To::DynamicLockedTimes) Length of a locked time is less than 5 min');\n\n /*\n find the day(s) the events should be placed on\n */\n let days = intervals?.length\n ? intervals.map(({ start }) => (moment(start).day() + 6) % 7)\n : undefined;\n if (days) days = [...new Set(days)];\n const day = days?.length == 1 ? days[0] : undefined;\n\n // ignore locked times that reside on days that are not part of the group's days\n if (day != null && group.days?.length && !group.days.some(x => x.day == day)) return acc;\n\n /*\n find all references to destructured groups and replace with composite\n */\n let groups = coalesced.filter(x => x.toModel != 'locations')?.map(({ to, toModel }) => `${ toModel }.${ to[idKey]?.toString() }`);\n if (destructMap?.size) {\n groups = coalesced.filter(x => x.toModel == 'groups')\n .map(({ to }) => to[idKey]?.toString()!)\n .filter(Boolean)\n .reduce((acc: string[], groupId) => {\n if (destructMap.has(groupId)) {\n const set = destructMap.get(groupId)!;\n const destructuredGroups = Array.from(set).map(x => `persons.${ x }`);\n acc = acc.concat(destructuredGroups);\n }\n return acc;\n }, groups);\n }\n\n return acc.concat({\n id: `${ group.lunch == null ? 'virtual' : 'lockedTimes' }.${ id }`,\n groups: [...new Set(groups.filter(Boolean))].map(x => [x]),\n dependencies: [...new Set(coalesced.filter(x => x.toModel == 'locations').map(({ to }) => to[idKey]?.toString()!)\n .filter(Boolean))].map(x => [x]),\n length: duration,\n minBreakLength: false,\n intervals: _intervals(intervals, settings),\n ...days && { days },\n ...day && { day },\n ...durationVariance != null && { maxLengthVariance: durationVariance },\n });\n }, []));\n\n }, [])\n .flat()\n .filter(Boolean);\n};"],"mappings":";;;;;;AAYA,oCAAgB,MACd,UACA,SACA,KACA,gBAAkD;CAElD,MAAMA,QAA+B,QAAQ,SAAS;AAEtD,QAAO,KAAK,QAAO,MAAK,CAAC,CAAC,GAAG,QAAQ,KAAoB,UAAyB;EAChF,IAAI,QAAQ,MAAM;AAClB,MAAI,SAAS,KACX,SAAQ,SAAS,cAAc,KAAI,aAAU;GAAE,GAAGC;GAAO,WAAW,CAAC;IAAE,IAAI,KAAK,OAAO;IAAQ,SAAS;;;AAG1G,MAAI,SAAS,KACX,QAAO;AAGT,SAAO,IAAI,OACT,MAAM,QAAQ,OAAoB,eAAe;GAE/C,MAAM,EAAE,KAAK,WAAW,UAAU,kBAAkB,cAAc;GAElE,MAAMC,MAAc,WAAW,UAAwC,MAAM,cAAc;AAE3F,OAAI,IAAI,IAAI,IACV,QAAOC;AAET,OAAI,IAAI;AAER,OAAI,YAAY,KACd,OAAM,IAAI,MAAM;AAElB,OAAI,WAAW,EACb,OAAM,IAAI,MAAM;AAElB,OAAI,CAAC,UACH,OAAM,IAAI,MAAM;GAKlB,IAAI,OAAO,WAAW,SAClB,UAAU,KAAK,EAAE,aAAa,OAAO,OAAO,QAAQ,KAAK,KACzD;AACJ,OAAI,KAAM,QAAO,CAAC,GAAG,IAAI,IAAI;GAC7B,MAAM,MAAM,MAAM,UAAU,IAAI,KAAK,KAAK;AAG1C,OAAI,OAAO,QAAQ,MAAM,MAAM,UAAU,CAAC,MAAM,KAAK,MAAK,MAAK,EAAE,OAAO,KAAM,QAAOA;GAKrF,IAAI,SAAS,UAAU,QAAO,MAAK,EAAE,WAAW,cAAc,KAAK,EAAE,IAAI,cAAc,GAAI,QAAS,GAAI,GAAG,QAAQ;AACnH,OAAI,aAAa,KACf,UAAS,UAAU,QAAO,MAAK,EAAE,WAAW,UACzC,KAAK,EAAE,SAAS,GAAG,QAAQ,YAC3B,OAAO,SACP,QAAQ,OAAe,YAAY;AAClC,QAAI,YAAY,IAAI,UAAU;KAC5B,MAAMC,QAAM,YAAY,IAAI;KAC5B,MAAM,qBAAqB,MAAM,KAAKA,OAAK,KAAI,MAAK,WAAY;AAChE,aAAMD,MAAI,OAAO;;AAEnB,WAAOA;MACN;AAGP,UAAOA,MAAI,OAAO;IAChB,IAAc,GAAI,MAAM,SAAS,OAAO,YAAY,cAAe,GAAI;IACvE,QAAc,CAAC,GAAG,IAAI,IAAI,OAAO,OAAO,WAAW,KAAI,MAAK,CAAC;IAC7D,cAAc,CAAC,GAAG,IAAI,IAAI,UAAU,QAAO,MAAK,EAAE,WAAW,aAAa,KAAK,EAAE,SAAS,GAAG,QAAQ,YAClG,OAAO,WAAW,KAAI,MAAK,CAAC;IAC/B,QAAgB;IAChB,gBAAgB;IAChB,WAAgBE,kBAAW,WAAW;IACtC,GAAG,QAAQ,EAAE;IACb,GAAG,OAAO,EAAE;IACZ,GAAG,oBAAoB,QAAS,EAAE,mBAAmB;;KAEtD;IAEJ,IACA,OACA,OAAO"}
|
package/dist/RS/v2/to/groups.js
DELETED
|
@@ -1,37 +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
|
-
|
|
6
|
-
//#region src/RS/v2/to/groups.ts
|
|
7
|
-
var groups_default = (groups, settings, options) => {
|
|
8
|
-
if (groups == null) return [];
|
|
9
|
-
const idKey = options.idKey || "id";
|
|
10
|
-
return (Array.isArray(groups) ? groups : [groups]).map((group, index) => {
|
|
11
|
-
if (group[idKey] == void 0) throw new Error(`(RS::V2::To::Groups) A group must have an id, index: ${index}`);
|
|
12
|
-
const hasIntervals = Boolean(group.intervals?.length || (group.rootInterval ?? settings.defaultRootInterval));
|
|
13
|
-
const doc = {
|
|
14
|
-
id: `groups.${group[idKey].toString()}`,
|
|
15
|
-
group_type: "classes",
|
|
16
|
-
..."forbidOverlappingEvents" in group && { forbidOverlappingEvents: group.forbidOverlappingEvents },
|
|
17
|
-
..."maxNumWorkingHours" in group && { maxNumWorkingHours: group.maxNumWorkingHours },
|
|
18
|
-
..."disableDayLengthPunishment" in group && { disableDayLengthPunishment: group.disableDayLengthPunishment },
|
|
19
|
-
minimizeDependencyAlternation: false,
|
|
20
|
-
..."maxNumDailyWorkingHours" in group && { maxNumDailyWorkingHours: group.maxNumDailyWorkingHours },
|
|
21
|
-
..."weight" in group && { weight: group.weight },
|
|
22
|
-
...hasIntervals && { intervals: intervals_default(group.intervals, settings, group.rootInterval ?? settings.defaultRootInterval) },
|
|
23
|
-
...group.days?.length && { days: days_default(group.days, settings.numDays) },
|
|
24
|
-
...group.lockedTimes?.length && { lockedTimes: locked_times_default(group.lockedTimes, options) },
|
|
25
|
-
...group.minBreakLength != null && { minBreakLength: break_lengths_default(group.minBreakLength) }
|
|
26
|
-
};
|
|
27
|
-
if (options.meta) Object.assign(doc, {
|
|
28
|
-
...group.ids && { ids: group.ids },
|
|
29
|
-
...group.displayName && { name: group.displayName }
|
|
30
|
-
});
|
|
31
|
-
return doc;
|
|
32
|
-
}, []);
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
//#endregion
|
|
36
|
-
export { groups_default as default };
|
|
37
|
-
//# sourceMappingURL=groups.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"groups.js","names":["idKey: keyof CoreTypes.group","doc: Group","intervals","days","lockedTimes","breakLengths"],"sources":["../../../../src/RS/v2/to/groups.ts"],"sourcesContent":["import breakLengths from './break-lengths';\nimport days from './days';\nimport lockedTimes from './locked-times';\nimport intervals from './intervals';\n\nimport { Group } from '../types/groups';\nimport { OutOptions } from '../types/out-options';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\n\nexport default (groups: Deserialized<CoreTypes.group>[] | Deserialized<CoreTypes.group>,\n settings: CoreTypes.divisionSettings,\n options: OutOptions): Group[] => {\n if (groups == null)\n return [];\n\n const idKey: keyof CoreTypes.group = options.idKey || 'id';\n\n return (Array.isArray(groups) ? groups : [groups]).map((group, index) => {\n\n if (group[idKey] == undefined) throw new Error(`(RS::V2::To::Groups) A group must have an id, index: ${ index }`);\n\n const hasIntervals = Boolean(group.intervals?.length || (group.rootInterval ?? settings.defaultRootInterval));\n\n const doc: Group = {\n id: `groups.${ group[idKey]!.toString() }`,\n group_type: 'classes',\n ...'forbidOverlappingEvents' in group && { forbidOverlappingEvents: group.forbidOverlappingEvents },\n ...'maxNumWorkingHours' in group && { maxNumWorkingHours: group.maxNumWorkingHours },\n ...'disableDayLengthPunishment' in group && { disableDayLengthPunishment: group.disableDayLengthPunishment },\n minimizeDependencyAlternation: false,\n ...'maxNumDailyWorkingHours' in group && { maxNumDailyWorkingHours: group.maxNumDailyWorkingHours },\n ...'weight' in group && { weight: group.weight },\n ...hasIntervals && { intervals: intervals(group.intervals, settings, group.rootInterval ?? settings.defaultRootInterval as CoreTypes.rootInterval) },\n ...(group.days?.length) && { days: days(group.days, settings.numDays) },\n ...(group.lockedTimes?.length) && { lockedTimes: lockedTimes(group.lockedTimes, options) },\n ...(group.minBreakLength != null) && { minBreakLength: breakLengths(group.minBreakLength) },\n };\n\n if (options.meta) {\n Object.assign(doc, {\n ...group.ids && { ids: group.ids },\n ...group.displayName && { name: group.displayName },\n });\n }\n\n return doc;\n }, []);\n};\n"],"mappings":";;;;;;AAWA,sBAAgB,QACd,UACA,YAAkC;AAClC,KAAI,UAAU,KACZ,QAAO;CAET,MAAMA,QAA+B,QAAQ,SAAS;AAEtD,SAAQ,MAAM,QAAQ,UAAU,SAAS,CAAC,SAAS,KAAK,OAAO,UAAU;AAEvE,MAAI,MAAM,UAAU,OAAW,OAAM,IAAI,MAAM,wDAAyD;EAExG,MAAM,eAAe,QAAQ,MAAM,WAAW,WAAW,MAAM,gBAAgB,SAAS;EAExF,MAAMC,MAAa;GACjB,IAA+B,UAAW,MAAM,OAAQ;GACxD,YAA+B;GAC/B,GAAG,6BAAgC,SAAS,EAAE,yBAA4B,MAAM;GAChF,GAAG,wBAAgC,SAAS,EAAE,oBAA4B,MAAM;GAChF,GAAG,gCAAgC,SAAS,EAAE,4BAA4B,MAAM;GAChF,+BAA+B;GAC/B,GAAG,6BAAgC,SAAS,EAAE,yBAA4B,MAAM;GAChF,GAAG,YAAgC,SAAS,EAAE,QAA4B,MAAM;GAChF,GAAG,gBAAyC,EAAE,WAA4BC,kBAAU,MAAM,WAAW,UAAU,MAAM,gBAAgB,SAAS;GAC9I,GAAI,MAAM,MAAM,UAA4B,EAAE,MAA4BC,aAAK,MAAM,MAAM,SAAS;GACpG,GAAI,MAAM,aAAa,UAAqB,EAAE,aAA4BC,qBAAY,MAAM,aAAa;GACzG,GAAI,MAAM,kBAAkB,QAAgB,EAAE,gBAA4BC,sBAAa,MAAM;;AAG/F,MAAI,QAAQ,KACV,QAAO,OAAO,KAAK;GACjB,GAAG,MAAM,OAAiC,EAAE,KAA4B,MAAM;GAC9E,GAAG,MAAM,eAAiC,EAAE,MAA4B,MAAM;;AAIlF,SAAO;IACN"}
|
package/dist/RS/v2/to/index.d.ts
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Division } from "../../../core/v2/types/divisions.js";
|
|
2
|
-
import { Types } from "../../../core/v2/types/index.js";
|
|
3
|
-
import { Deserialized } from "../../../core/types/index.js";
|
|
4
|
-
import { Settings } from "../types/settings.js";
|
|
5
|
-
import { LockedTime } from "../types/locked-times.js";
|
|
6
|
-
import { Interval } from "../types/intervals.js";
|
|
7
|
-
import { AvailableDependency } from "../types/available-dependencies.js";
|
|
8
|
-
import { CourseEvent } from "../types/course-events.js";
|
|
9
|
-
import { Collection } from "../types/collections.js";
|
|
10
|
-
import { Group } from "../types/groups.js";
|
|
11
|
-
import { Dependency } from "../types/dependencies.js";
|
|
12
|
-
import { Constraint } from "../types/constraints.js";
|
|
13
|
-
import { Configuration } from "../types/configurations.js";
|
|
14
|
-
import { OutOptions } from "../types/out-options.js";
|
|
15
|
-
|
|
16
|
-
//#region src/RS/v2/to/index.d.ts
|
|
17
|
-
declare class export_default {
|
|
18
|
-
static availableDependency: (availableLocations: Deserialized<Types.availableLocation>[], options: OutOptions) => AvailableDependency[][];
|
|
19
|
-
static configuration: (events: Deserialized<Types.event>[], options: OutOptions) => Configuration[];
|
|
20
|
-
static constraints: (schedule: Partial<Deserialized<Types.schedule> & {
|
|
21
|
-
division: Deserialized<Types.division>;
|
|
22
|
-
}>, options?: OutOptions) => Constraint;
|
|
23
|
-
static courseEvent: (courseEvents: Deserialized<Types.event>[] | Deserialized<Types.event>, overlapGroups: Deserialized<Types.overlapGroup>[] | undefined, settings: Types.divisionSettings, options: OutOptions, periodsMap: Map<string | undefined, number>, destructMap?: Map<string | null, Set<string>>) => CourseEvent[];
|
|
24
|
-
static course: (courses: Deserialized<Types.course> | Deserialized<Types.course>[], events: Deserialized<Types.event>[] | undefined, overlapGroups: Deserialized<Types.overlapGroup>[] | undefined, settings: Types.divisionSettings, options: OutOptions, periodsMap: Map<string | undefined, number>, destructMap?: Map<string | null, Set<string>>) => (Collection[] | Collection)[];
|
|
25
|
-
static day: (days: Types.day[], numDays: number) => number[];
|
|
26
|
-
static dependency: (locations: Deserialized<Types.location>[], settings: Types.divisionSettings, options: OutOptions) => Dependency[];
|
|
27
|
-
static group: (groups: Deserialized<Types.group>[] | Deserialized<Types.group>, settings: Types.divisionSettings, options: OutOptions) => Group[];
|
|
28
|
-
static interval: (intervals: Types.interval[] | undefined, settings: Types.divisionSettings, rootInterval?: Types.rootInterval) => Interval[][];
|
|
29
|
-
static lockedTime: (lockedTimes: Types.lockedTime[] | Types.lockedTime, options: OutOptions) => LockedTime[] | never;
|
|
30
|
-
static persons: (persons: Deserialized<Types.person>[] | Deserialized<Types.person>, settings: Types.divisionSettings, options: OutOptions) => Group[];
|
|
31
|
-
static schedules: (schedule: Deserialized<Types.schedule>, options?: OutOptions) => {
|
|
32
|
-
output: Configuration[];
|
|
33
|
-
meta: {
|
|
34
|
-
structure: "RS/algorithm-2.0.0";
|
|
35
|
-
division: Pick<Deserialized<Division>, "start" | "end" | "displayName">;
|
|
36
|
-
};
|
|
37
|
-
input: Constraint;
|
|
38
|
-
};
|
|
39
|
-
static setting: (settings: Types.divisionSettings) => Settings;
|
|
40
|
-
static teacher: (teachers: Deserialized<Types.teacher>[] | Deserialized<Types.teacher>, settings: Types.divisionSettings, options: OutOptions) => Group[];
|
|
41
|
-
}
|
|
42
|
-
//#endregion
|
|
43
|
-
export { export_default };
|
|
44
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/RS/v2/to/index.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import available_dependencies_default from "./available-dependencies.js";
|
|
2
|
-
import configurations_default from "./configurations.js";
|
|
3
|
-
import days_default from "./days.js";
|
|
4
|
-
import locked_times_default from "./locked-times.js";
|
|
5
|
-
import dependencies_default from "./dependencies.js";
|
|
6
|
-
import intervals_default from "./intervals.js";
|
|
7
|
-
import teachers_default from "./teachers.js";
|
|
8
|
-
import groups_default from "./groups.js";
|
|
9
|
-
import course_events_default from "./course-events/index.js";
|
|
10
|
-
import collections_default from "./collections.js";
|
|
11
|
-
import settings_default from "./settings.js";
|
|
12
|
-
import persons_default from "./persons.js";
|
|
13
|
-
import constraints_default from "./constraints.js";
|
|
14
|
-
import schedules_default from "./schedules.js";
|
|
15
|
-
|
|
16
|
-
//#region src/RS/v2/to/index.ts
|
|
17
|
-
var to_default = class {
|
|
18
|
-
static availableDependency = available_dependencies_default;
|
|
19
|
-
static configuration = configurations_default;
|
|
20
|
-
static constraints = constraints_default;
|
|
21
|
-
static courseEvent = course_events_default;
|
|
22
|
-
static course = collections_default;
|
|
23
|
-
static day = days_default;
|
|
24
|
-
static dependency = dependencies_default;
|
|
25
|
-
static group = groups_default;
|
|
26
|
-
static interval = intervals_default;
|
|
27
|
-
static lockedTime = locked_times_default;
|
|
28
|
-
static persons = persons_default;
|
|
29
|
-
static schedules = schedules_default;
|
|
30
|
-
static setting = settings_default;
|
|
31
|
-
static teacher = teachers_default;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
//#endregion
|
|
35
|
-
export { to_default as default };
|
|
36
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_availableDependency","_configuration","_constraints","_courseEvent","_collection","_day","_dependency","_group","_interval","_lockedTime","_persons","_schedules","_setting","_teacher"],"sources":["../../../../src/RS/v2/to/index.ts"],"sourcesContent":["import _availableDependency from './available-dependencies';\nimport _configuration from './configurations';\nimport _constraints from './constraints';\nimport _courseEvent from './course-events';\nimport _collection from './collections';\nimport _day from './days';\nimport _dependency from './dependencies';\nimport _group from './groups';\nimport _interval from './intervals';\nimport _lockedTime from './locked-times';\nimport _persons from './persons';\nimport _schedules from './schedules';\nimport _setting from './settings';\nimport _teacher from './teachers';\n\nexport default class {\n static availableDependency = _availableDependency;\n static configuration = _configuration;\n static constraints = _constraints;\n static courseEvent = _courseEvent;\n static course = _collection;\n static day = _day;\n static dependency = _dependency;\n static group = _group;\n static interval = _interval;\n static lockedTime = _lockedTime;\n static persons = _persons;\n static schedules = _schedules;\n static setting = _setting;\n static teacher = _teacher;\n}"],"mappings":";;;;;;;;;;;;;;;;AAeA,uBAAqB;CACnB,OAAO,sBAAsBA;CAC7B,OAAO,gBAAsBC;CAC7B,OAAO,cAAsBC;CAC7B,OAAO,cAAsBC;CAC7B,OAAO,SAAsBC;CAC7B,OAAO,MAAsBC;CAC7B,OAAO,aAAsBC;CAC7B,OAAO,QAAsBC;CAC7B,OAAO,WAAsBC;CAC7B,OAAO,aAAsBC;CAC7B,OAAO,UAAsBC;CAC7B,OAAO,YAAsBC;CAC7B,OAAO,UAAsBC;CAC7B,OAAO,UAAsBC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import moment from "moment";
|
|
2
|
-
|
|
3
|
-
//#region src/RS/v2/to/intervals.ts
|
|
4
|
-
var intervals_default = (intervals, settings, rootInterval) => {
|
|
5
|
-
if (rootInterval && intervals?.length != settings.numDays) intervals = Array(settings.numDays).fill(intervals?.[0] ?? {
|
|
6
|
-
start: moment.utc(settings.dayStart, "HH:mm"),
|
|
7
|
-
end: moment.utc(settings.dayEnd, "HH:mm")
|
|
8
|
-
});
|
|
9
|
-
if (intervals == null) throw new Error("(RS::V2::To::Intervals) Intervals are missing");
|
|
10
|
-
return intervals.map((interval, day) => {
|
|
11
|
-
if (!interval.start) throw new Error("(RS::V2::To::Intervals) Interval missing start");
|
|
12
|
-
if (!interval.end) throw new Error("(RS::V2::To::Intervals) Interval missing end");
|
|
13
|
-
if (rootInterval) {
|
|
14
|
-
const { intervals: intervals$1 } = rootInterval;
|
|
15
|
-
const _start = parseFloat(moment.utc(interval.start).format("HH.mm"));
|
|
16
|
-
const _end = parseFloat(moment.utc(interval.end).format("HH.mm"));
|
|
17
|
-
return intervals$1.filter((val) => (moment.utc(val.start).day() + 6) % 7 == day).map((val) => ({
|
|
18
|
-
beg: parseFloat(moment.utc(val.start).format("HH.mm")),
|
|
19
|
-
end: parseFloat(moment.utc(val.end).format("HH.mm")),
|
|
20
|
-
binary: true
|
|
21
|
-
})).filter((val) => val.beg >= _start && val.end <= _end);
|
|
22
|
-
}
|
|
23
|
-
return [{
|
|
24
|
-
beg: parseFloat(moment.utc(interval.start).format("HH.mm")),
|
|
25
|
-
end: parseFloat(moment.utc(interval.end).format("HH.mm"))
|
|
26
|
-
}];
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
//#endregion
|
|
31
|
-
export { intervals_default as default };
|
|
32
|
-
//# sourceMappingURL=intervals.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intervals.js","names":["intervals"],"sources":["../../../../src/RS/v2/to/intervals.ts"],"sourcesContent":["import moment from 'moment';\n\nimport { Interval } from '../types/intervals';\n\nimport { Types as CoreTypes } from '../../../core/types';\n\nexport default (intervals: CoreTypes.interval[] | undefined,\n settings: CoreTypes.divisionSettings,\n rootInterval?: CoreTypes.rootInterval): Interval[][] => {\n if (rootInterval && intervals?.length != settings.numDays) {\n intervals = Array(settings.numDays).fill(intervals?.[0] ?? { start: moment.utc(settings.dayStart, 'HH:mm'), end: moment.utc(settings.dayEnd, 'HH:mm') });\n }\n\n if (intervals == null)\n throw new Error('(RS::V2::To::Intervals) Intervals are missing');\n\n return intervals.map((interval, day: number) => {\n if (!interval.start)\n throw new Error('(RS::V2::To::Intervals) Interval missing start');\n\n if (!interval.end)\n throw new Error('(RS::V2::To::Intervals) Interval missing end');\n\n if (rootInterval) {\n const { intervals } = rootInterval;\n\n const _start = parseFloat(moment.utc(interval.start).format('HH.mm'));\n const _end = parseFloat(moment.utc(interval.end).format('HH.mm'));\n\n return intervals.filter((val) => (moment.utc(val.start).day() + 6) % 7 == day)\n .map((val) => ({\n beg: parseFloat(moment.utc(val.start).format('HH.mm')),\n end: parseFloat(moment.utc(val.end).format('HH.mm')),\n binary: true\n } satisfies Interval)\n )\n .filter((val) => val.beg >= _start && val.end <= _end);\n }\n\n return [{\n beg: parseFloat(moment.utc(interval.start).format('HH.mm')),\n end: parseFloat(moment.utc(interval.end).format('HH.mm')),\n }] ;\n });\n};"],"mappings":";;;AAMA,yBAAgB,WACd,UACA,iBAAwD;AACxD,KAAI,gBAAgB,WAAW,UAAU,SAAS,QAChD,aAAY,MAAM,SAAS,SAAS,KAAK,YAAY,MAAM;EAAE,OAAO,OAAO,IAAI,SAAS,UAAU;EAAU,KAAK,OAAO,IAAI,SAAS,QAAQ;;AAG/I,KAAI,aAAa,KACf,OAAM,IAAI,MAAM;AAElB,QAAO,UAAU,KAAK,UAAU,QAAgB;AAC9C,MAAI,CAAC,SAAS,MACZ,OAAM,IAAI,MAAM;AAElB,MAAI,CAAC,SAAS,IACZ,OAAM,IAAI,MAAM;AAElB,MAAI,cAAc;GAChB,MAAM,EAAE,2BAAc;GAEtB,MAAM,SAAS,WAAW,OAAO,IAAI,SAAS,OAAO,OAAO;GAC5D,MAAM,OAAS,WAAW,OAAO,IAAI,SAAS,KAAK,OAAO;AAE1D,UAAOA,YAAU,QAAQ,SAAS,OAAO,IAAI,IAAI,OAAO,QAAQ,KAAK,KAAK,KACvE,KAAK,SAAS;IACb,KAAQ,WAAW,OAAO,IAAI,IAAI,OAAO,OAAO;IAChD,KAAQ,WAAW,OAAO,IAAI,IAAI,KAAK,OAAO;IAC9C,QAAQ;OAGT,QAAQ,QAAQ,IAAI,OAAO,UAAU,IAAI,OAAO;;AAGrD,SAAO,CAAC;GACN,KAAK,WAAW,OAAO,IAAI,SAAS,OAAO,OAAO;GAClD,KAAK,WAAW,OAAO,IAAI,SAAS,KAAK,OAAO"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import moment from "moment";
|
|
2
|
-
|
|
3
|
-
//#region src/RS/v2/to/locked-times.ts
|
|
4
|
-
const typeMap = /* @__PURE__ */ new Map();
|
|
5
|
-
typeMap.set("teachers", "teachers");
|
|
6
|
-
typeMap.set("groups", "groups");
|
|
7
|
-
typeMap.set("locations", "dependencies");
|
|
8
|
-
typeMap.set("courses", "courses");
|
|
9
|
-
typeMap.set("courseevents", "events");
|
|
10
|
-
var locked_times_default = (lockedTimes, options) => {
|
|
11
|
-
const docs = Array.isArray(lockedTimes) ? lockedTimes : [lockedTimes];
|
|
12
|
-
return docs.map((lockedTime) => {
|
|
13
|
-
let startDate;
|
|
14
|
-
let endDate;
|
|
15
|
-
if (lockedTime.start) {
|
|
16
|
-
startDate = moment.utc(lockedTime.start);
|
|
17
|
-
if (!startDate.isValid()) throw new Error("(RS::V2::To::LockedTimes) start is not a valid date");
|
|
18
|
-
} else throw new Error("(RS::V2::To::LockedTimes) A locked time must have a start time");
|
|
19
|
-
if (lockedTime.end) {
|
|
20
|
-
endDate = moment.utc(lockedTime.end);
|
|
21
|
-
if (!endDate.isValid()) throw new Error("(RS::V2::To::LockedTimes) end is not a valid date");
|
|
22
|
-
} else throw new Error("(RS::V2::To::LockedTimes) A locked time must have an end time");
|
|
23
|
-
if (endDate.isBefore(startDate)) throw new Error("(RS::V2::To::LockedTimes) start is after end");
|
|
24
|
-
let length;
|
|
25
|
-
if (startDate && endDate) length = endDate.diff(startDate, "minutes", true);
|
|
26
|
-
if (length == null) throw new Error("(RS::V2::To::LockedTimes) Length of a locked time is null");
|
|
27
|
-
if (length < 5) throw new Error("(RS::V2::To::LockedTimes) Length of a locked time is less than 5 min");
|
|
28
|
-
let start;
|
|
29
|
-
if (startDate) {
|
|
30
|
-
start = parseFloat(startDate.format("HH.mm"));
|
|
31
|
-
if (start == null) throw new Error("(RS::V2::To::LockedTimes) start could not be converted to float");
|
|
32
|
-
}
|
|
33
|
-
const doc = {
|
|
34
|
-
length,
|
|
35
|
-
day: (startDate.day() + 6) % 7,
|
|
36
|
-
start
|
|
37
|
-
};
|
|
38
|
-
if (options.meta) Object.assign(doc, {
|
|
39
|
-
id: lockedTime.id,
|
|
40
|
-
...lockedTime.hasOwnProperty("visible") && { visible: lockedTime.visible },
|
|
41
|
-
...lockedTime.displayName && { name: lockedTime.displayName }
|
|
42
|
-
});
|
|
43
|
-
return doc;
|
|
44
|
-
});
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
//#endregion
|
|
48
|
-
export { locked_times_default as default };
|
|
49
|
-
//# sourceMappingURL=locked-times.js.map
|