@royalschedule/maps 3.3.16 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/Additio/from/courses.js.map +1 -1
- package/dist/Additio/from/events.js.map +1 -1
- package/dist/Additio/from/groups.js.map +1 -1
- package/dist/Additio/from/index.js.map +1 -1
- package/dist/Additio/from/locations.js.map +1 -1
- package/dist/Additio/from/persons.js +1 -1
- package/dist/Additio/from/persons.js.map +1 -1
- package/dist/Additio/from/schedules.d.ts +32 -2
- package/dist/Additio/from/schedules.js.map +1 -1
- package/dist/Additio/from/teachers.js.map +1 -1
- package/dist/Additio/index.js.map +1 -1
- package/dist/Additio/to/index.d.ts +13 -13
- package/dist/Additio/to/index.js.map +1 -1
- package/dist/Additio/to/schedules.js +44 -46
- package/dist/Additio/to/schedules.js.map +1 -1
- package/dist/Additio/types/index.d.ts +2 -0
- package/dist/Additio/types/options.d.ts +8 -0
- package/dist/Additio/types/schedules.d.ts +1 -5
- package/dist/Admentum/from/courses.js.map +1 -1
- package/dist/Admentum/from/events.js.map +1 -1
- package/dist/Admentum/from/groups.js.map +1 -1
- package/dist/Admentum/from/index.js.map +1 -1
- package/dist/Admentum/from/locations.js.map +1 -1
- package/dist/Admentum/from/persons.js +1 -1
- package/dist/Admentum/from/persons.js.map +1 -1
- package/dist/Admentum/from/schedules.d.ts +32 -2
- package/dist/Admentum/from/schedules.js.map +1 -1
- package/dist/Admentum/from/teachers.js.map +1 -1
- package/dist/Admentum/index.js.map +1 -1
- package/dist/Admentum/to/index.d.ts +11 -10
- package/dist/Admentum/to/index.js.map +1 -1
- package/dist/Admentum/to/schedules.js +22 -25
- package/dist/Admentum/to/schedules.js.map +1 -1
- package/dist/Excel/index.d.ts +55 -4
- package/dist/Excel/index.js.map +1 -1
- package/dist/Excel/v1/from/index.js +7 -7
- package/dist/Excel/v1/from/index.js.map +1 -1
- package/dist/Excel/v1/index.d.ts +30 -2
- package/dist/Excel/v1/index.js.map +1 -1
- package/dist/Excel/v2/from/index.js +10 -10
- package/dist/Excel/v2/from/index.js.map +1 -1
- package/dist/Excel/v2/index.d.ts +53 -2
- package/dist/Excel/v2/index.js.map +1 -1
- package/dist/IdunSoft/from/courses.js +4 -3
- package/dist/IdunSoft/from/courses.js.map +1 -1
- package/dist/IdunSoft/from/events.js +43 -32
- package/dist/IdunSoft/from/events.js.map +1 -1
- package/dist/IdunSoft/from/groups.js +5 -4
- package/dist/IdunSoft/from/groups.js.map +1 -1
- package/dist/IdunSoft/from/index.js.map +1 -1
- package/dist/IdunSoft/from/locations.js +4 -3
- package/dist/IdunSoft/from/locations.js.map +1 -1
- package/dist/IdunSoft/from/schedules.d.ts +18 -3
- package/dist/IdunSoft/from/schedules.js +5 -10
- package/dist/IdunSoft/from/schedules.js.map +1 -1
- package/dist/IdunSoft/from/teachers.js +4 -3
- package/dist/IdunSoft/from/teachers.js.map +1 -1
- package/dist/IdunSoft/index.js.map +1 -1
- package/dist/IdunSoft/to/index.d.ts +2 -3
- package/dist/IdunSoft/to/index.js.map +1 -1
- package/dist/IdunSoft/to/schedules.js +22 -21
- package/dist/IdunSoft/to/schedules.js.map +1 -1
- package/dist/InfoMentor/index.js.map +1 -1
- package/dist/InfoMentor/to/index.d.ts +2 -2
- package/dist/InfoMentor/to/index.js.map +1 -1
- package/dist/InfoMentor/to/schedules.js +26 -27
- package/dist/InfoMentor/to/schedules.js.map +1 -1
- package/dist/PlanDigital/from/index.js.map +1 -1
- package/dist/PlanDigital/from/schedules.js +7 -6
- package/dist/PlanDigital/from/schedules.js.map +1 -1
- package/dist/PlanDigital/index.d.ts +106 -5
- package/dist/PlanDigital/index.js +0 -2
- package/dist/PlanDigital/index.js.map +1 -1
- package/dist/PlanDigital/types/index.d.ts +12 -11
- package/dist/Quiculum/file/to/index.d.ts +1 -1
- package/dist/Quiculum/file/to/schedules.js +11 -13
- package/dist/Quiculum/file/to/schedules.js.map +1 -1
- package/dist/RS/from/division.d.ts +7 -0
- package/dist/RS/from/division.js +14 -0
- package/dist/RS/from/division.js.map +1 -0
- package/dist/RS/from/index.js +12 -0
- package/dist/RS/from/index.js.map +1 -0
- package/dist/RS/from/schedules.d.ts +8 -0
- package/dist/RS/from/schedules.js +36 -0
- package/dist/RS/from/schedules.js.map +1 -0
- package/dist/RS/index.d.ts +11 -12
- package/dist/RS/index.js +4 -8
- package/dist/RS/index.js.map +1 -1
- package/dist/RS/make-connected.d.ts +24 -0
- package/dist/RS/make-connected.js +258 -0
- package/dist/RS/make-connected.js.map +1 -0
- package/dist/RS/to/index.js +8 -0
- package/dist/RS/to/index.js.map +1 -0
- package/dist/RS/to/initial-configuration.js +43 -0
- package/dist/RS/to/initial-configuration.js.map +1 -0
- package/dist/RS/to/input/collections.js +57 -0
- package/dist/RS/to/input/collections.js.map +1 -0
- package/dist/RS/{v3/to → to/input}/default.js +10 -18
- package/dist/RS/to/input/default.js.map +1 -0
- package/dist/RS/to/input/dependencies.js +32 -0
- package/dist/RS/to/input/dependencies.js.map +1 -0
- package/dist/RS/to/input/dynamic-locked-times.js +67 -0
- package/dist/RS/to/input/dynamic-locked-times.js.map +1 -0
- package/dist/RS/to/input/events.js +84 -0
- package/dist/RS/to/input/events.js.map +1 -0
- package/dist/RS/to/input/groups.js +36 -0
- package/dist/RS/to/input/groups.js.map +1 -0
- package/dist/RS/to/input/individuals.js +49 -0
- package/dist/RS/to/input/individuals.js.map +1 -0
- package/dist/RS/to/input/input.js +40 -0
- package/dist/RS/to/input/input.js.map +1 -0
- package/dist/RS/to/input/intervals.js +99 -0
- package/dist/RS/to/input/intervals.js.map +1 -0
- package/dist/RS/to/input/periods.js +44 -0
- package/dist/RS/to/input/periods.js.map +1 -0
- package/dist/RS/to/input/settings.js +17 -0
- package/dist/RS/to/input/settings.js.map +1 -0
- package/dist/RS/to/input/teachers.js +36 -0
- package/dist/RS/to/input/teachers.js.map +1 -0
- package/dist/RS/to/input/util/attach-locked-times.js +27 -0
- package/dist/RS/to/input/util/attach-locked-times.js.map +1 -0
- package/dist/RS/to/input/util/parse-days.js +10 -0
- package/dist/RS/to/input/util/parse-days.js.map +1 -0
- package/dist/RS/to/input/util/parse-group-references.js +58 -0
- package/dist/RS/to/input/util/parse-group-references.js.map +1 -0
- package/dist/RS/to/input/util/parse-intervals.js +55 -0
- package/dist/RS/to/input/util/parse-intervals.js.map +1 -0
- package/dist/RS/to/input/util/parse-location-references.js +31 -0
- package/dist/RS/to/input/util/parse-location-references.js.map +1 -0
- package/dist/RS/to/input/util/parse-max-working-hours.js +17 -0
- package/dist/RS/to/input/util/parse-max-working-hours.js.map +1 -0
- package/dist/RS/to/input/util/parse-minimum-break-length.js +19 -0
- package/dist/RS/to/input/util/parse-minimum-break-length.js.map +1 -0
- package/dist/RS/to/input/util/util.js +61 -0
- package/dist/RS/to/input/util/util.js.map +1 -0
- package/dist/RS/to/schedules.d.ts +7 -0
- package/dist/RS/to/schedules.js +40 -0
- package/dist/RS/to/schedules.js.map +1 -0
- package/dist/RS/{v3/types → types}/algorithm-parameters.d.ts +1 -1
- package/dist/RS/types/collections.d.ts +26 -0
- package/dist/RS/types/configurations.d.ts +10 -0
- package/dist/RS/{v3/types → types}/default.d.ts +4 -5
- package/dist/RS/types/dependencies.d.ts +16 -0
- package/dist/RS/types/event-configuration.d.ts +17 -0
- package/dist/RS/types/events.d.ts +27 -0
- package/dist/RS/{v2/types → types}/groups.d.ts +11 -12
- package/dist/RS/types/index.d.ts +45 -0
- package/dist/RS/types/individuals.d.ts +16 -0
- package/dist/RS/{v2/types → types}/locked-times.d.ts +2 -1
- package/dist/RS/types/root-intervals.d.ts +10 -0
- package/dist/RS/types/schedule-data.d.ts +16 -0
- package/dist/RS/{v2/types → types}/settings.d.ts +1 -1
- package/dist/RS/types/shared.d.ts +27 -0
- package/dist/RS/types/to.d.ts +44 -0
- package/dist/SchoolSoft/api/from/index.js.map +1 -1
- package/dist/SchoolSoft/api/from/schedules.js +31 -37
- package/dist/SchoolSoft/api/from/schedules.js.map +1 -1
- package/dist/SchoolSoft/api/index.d.ts +14 -2
- package/dist/SchoolSoft/api/index.js.map +1 -1
- package/dist/SchoolSoft/file/from/index.js.map +1 -1
- package/dist/SchoolSoft/file/from/schedules.js +36 -46
- package/dist/SchoolSoft/file/from/schedules.js.map +1 -1
- package/dist/SchoolSoft/file/index.d.ts +2 -3
- package/dist/SchoolSoft/file/index.js.map +1 -1
- package/dist/SchoolSoft/file/to/index.d.ts +6 -13
- package/dist/SchoolSoft/file/to/schedules.js +40 -42
- package/dist/SchoolSoft/file/to/schedules.js.map +1 -1
- package/dist/SchoolSoft/index.d.ts +2 -3
- package/dist/SchoolSoft/index.js.map +1 -1
- package/dist/Schoolity/txt/index.js.map +1 -1
- package/dist/Schoolity/txt/to/index.d.ts +3 -3
- package/dist/Schoolity/txt/to/index.js.map +1 -1
- package/dist/Schoolity/txt/to/schedules.js +78 -96
- package/dist/Schoolity/txt/to/schedules.js.map +1 -1
- package/dist/Skola24/index.js.map +1 -1
- package/dist/Skola24/mdb/from/course-and-events.js +36 -29
- package/dist/Skola24/mdb/from/course-and-events.js.map +1 -1
- package/dist/Skola24/mdb/from/groups.js.map +1 -1
- package/dist/Skola24/mdb/from/index.js.map +1 -1
- package/dist/Skola24/mdb/from/locations.js.map +1 -1
- package/dist/Skola24/mdb/from/schedule.d.ts +21 -3
- package/dist/Skola24/mdb/from/schedule.js +15 -17
- package/dist/Skola24/mdb/from/schedule.js.map +1 -1
- package/dist/Skola24/mdb/from/teachers.js.map +1 -1
- package/dist/Skola24/mdb/index.js.map +1 -1
- package/dist/Skola24/mdb/types/index.d.ts +7 -0
- package/dist/Skola24/txt/from/calendar-exceptions.js.map +1 -1
- package/dist/Skola24/txt/from/division.js.map +1 -1
- package/dist/Skola24/txt/from/index.js.map +1 -1
- package/dist/Skola24/txt/from/period.js.map +1 -1
- package/dist/Skola24/txt/from/schedules.d.ts +16 -0
- package/dist/Skola24/txt/from/schedules.js +90 -80
- package/dist/Skola24/txt/from/schedules.js.map +1 -1
- package/dist/Skola24/txt/index.d.ts +17 -5
- package/dist/Skola24/txt/index.js.map +1 -1
- package/dist/Skola24/txt/to/index.d.ts +3 -3
- package/dist/Skola24/txt/to/index.js.map +1 -1
- package/dist/Skola24/txt/to/schedules.js +76 -91
- package/dist/Skola24/txt/to/schedules.js.map +1 -1
- package/dist/Skola24/txt/types/index.d.ts +5 -2
- package/dist/common/constants.js +2 -2
- package/dist/common/constants.js.map +1 -1
- package/dist/common/functions.js +16 -21
- package/dist/common/functions.js.map +1 -1
- package/dist/common/get-date.js +5 -6
- package/dist/common/get-date.js.map +1 -1
- package/dist/common/make-chainable/index.js +36 -0
- package/dist/common/make-chainable/index.js.map +1 -0
- package/dist/common/types.d.ts +12 -0
- package/dist/core/from/courses.js +12 -0
- package/dist/core/from/courses.js.map +1 -0
- package/dist/core/from/events.js +13 -0
- package/dist/core/from/events.js.map +1 -0
- package/dist/core/from/exceptions.js +12 -0
- package/dist/core/from/exceptions.js.map +1 -0
- package/dist/core/from/groups.js +12 -0
- package/dist/core/from/groups.js.map +1 -0
- package/dist/core/{v2/from → from}/index.js +1 -1
- package/dist/core/from/index.js.map +1 -0
- package/dist/core/from/locations.js +12 -0
- package/dist/core/from/locations.js.map +1 -0
- package/dist/core/from/locked-times.js +12 -0
- package/dist/core/from/locked-times.js.map +1 -0
- package/dist/core/from/overlap-groups.js +12 -0
- package/dist/core/from/overlap-groups.js.map +1 -0
- package/dist/core/from/periods.js +12 -0
- package/dist/core/from/periods.js.map +1 -0
- package/dist/core/from/persons.js +12 -0
- package/dist/core/from/persons.js.map +1 -0
- package/dist/core/from/root-intervals.js +12 -0
- package/dist/core/from/root-intervals.js.map +1 -0
- package/dist/core/from/schedules.d.ts +7 -0
- package/dist/core/from/schedules.js +35 -0
- package/dist/core/from/schedules.js.map +1 -0
- package/dist/core/{v2/from → from}/syllabuses.js +1 -1
- package/dist/core/from/syllabuses.js.map +1 -0
- package/dist/core/from/teachers.js +12 -0
- package/dist/core/from/teachers.js.map +1 -0
- package/dist/core/index.d.ts +6 -12
- package/dist/core/index.js +4 -6
- package/dist/core/index.js.map +1 -1
- package/dist/core/to/courses.js +43 -0
- package/dist/core/to/courses.js.map +1 -0
- package/dist/core/to/division.js +10 -0
- package/dist/core/to/division.js.map +1 -0
- package/dist/core/to/events.js +43 -0
- package/dist/core/to/events.js.map +1 -0
- package/dist/core/to/exceptions.js +27 -0
- package/dist/core/to/exceptions.js.map +1 -0
- package/dist/core/to/groups.js +23 -0
- package/dist/core/to/groups.js.map +1 -0
- package/dist/core/{v1/to → to}/index.d.ts +1 -1
- package/dist/{RS/v3 → core}/to/index.js +1 -1
- package/dist/core/to/index.js.map +1 -0
- package/dist/core/to/locations.js +19 -0
- package/dist/core/to/locations.js.map +1 -0
- package/dist/core/to/locked-times.js +21 -0
- package/dist/core/to/locked-times.js.map +1 -0
- package/dist/core/to/overlap-groups.js +28 -0
- package/dist/core/to/overlap-groups.js.map +1 -0
- package/dist/core/to/periods.js +17 -0
- package/dist/core/to/periods.js.map +1 -0
- package/dist/core/to/persons.js +23 -0
- package/dist/core/to/persons.js.map +1 -0
- package/dist/core/to/root-intervals.js +17 -0
- package/dist/core/to/root-intervals.js.map +1 -0
- package/dist/core/to/schedules.d.ts +44 -0
- package/dist/core/to/schedules.js +40 -0
- package/dist/core/to/schedules.js.map +1 -0
- package/dist/core/to/settings.js +16 -0
- package/dist/core/to/settings.js.map +1 -0
- package/dist/core/to/syllabuses.js +17 -0
- package/dist/core/to/syllabuses.js.map +1 -0
- package/dist/core/to/teachers.js +24 -0
- package/dist/core/to/teachers.js.map +1 -0
- package/dist/core/to/util.d.ts +10 -0
- package/dist/core/to/util.js +22 -0
- package/dist/core/to/util.js.map +1 -0
- package/dist/core/types/areas.d.ts +10 -0
- package/dist/core/types/common/break-lengths.d.ts +5 -0
- package/dist/core/types/common/days.d.ts +8 -0
- package/dist/core/types/common/index.d.ts +44 -0
- package/dist/core/types/common/intervals.d.ts +14 -0
- package/dist/core/{v2/types → types}/common/maximum-schedule-span.d.ts +1 -1
- package/dist/core/{v2/types → types/common}/meta.d.ts +1 -1
- package/dist/core/types/common/planned-schedule-duration.d.ts +7 -0
- package/dist/core/types/common/tag.d.ts +9 -0
- package/dist/core/types/courses.d.ts +56 -0
- package/dist/core/{v2/types → types}/division-settings.d.ts +12 -19
- package/dist/core/types/divisions.d.ts +24 -0
- package/dist/core/types/events.d.ts +54 -0
- package/dist/core/{v2/types → types}/exceptions.d.ts +14 -23
- package/dist/core/types/groups.d.ts +39 -0
- package/dist/core/types/index.d.ts +117 -15
- package/dist/core/types/locations.d.ts +27 -0
- package/dist/core/types/locked-times.d.ts +33 -0
- package/dist/core/types/overlap-groups.d.ts +14 -0
- package/dist/core/types/periods.d.ts +14 -0
- package/dist/core/{v2/types → types}/persons.d.ts +13 -22
- package/dist/core/types/root-intervals.d.ts +13 -0
- package/dist/core/types/schedules.d.ts +44 -0
- package/dist/core/types/syllabus.d.ts +18 -0
- package/dist/core/{v2/types → types}/teachers.d.ts +18 -30
- package/dist/core/util.js +46 -0
- package/dist/core/util.js.map +1 -0
- package/dist/core/vertex-mapping.d.ts +56 -0
- package/dist/identify/constants/index.d.ts +14 -58
- package/dist/identify/constants/index.js +7 -72
- package/dist/identify/constants/index.js.map +1 -1
- package/dist/identify/index.d.ts +1 -1
- package/dist/identify/index.js +38 -29
- package/dist/identify/index.js.map +1 -1
- package/dist/index.d.ts +23 -29
- package/dist/index.js +6 -7
- package/dist/sdui/from/classes.js.map +1 -1
- package/dist/sdui/from/courses.js.map +1 -1
- package/dist/sdui/from/holidays.js.map +1 -1
- package/dist/sdui/from/hours.js.map +1 -1
- package/dist/sdui/from/lessons.js.map +1 -1
- package/dist/sdui/from/rooms.js.map +1 -1
- package/dist/sdui/from/schedules.d.ts +19 -0
- package/dist/sdui/from/schedules.js +3 -3
- package/dist/sdui/from/schedules.js.map +1 -1
- package/dist/sdui/from/school-years.js.map +1 -1
- package/dist/sdui/from/subjects.js.map +1 -1
- package/dist/sdui/from/substitution-plans.js.map +1 -1
- package/dist/sdui/from/teachers.js.map +1 -1
- package/dist/sdui/index.d.ts +19 -11
- package/dist/sdui/index.js.map +1 -1
- package/dist/sdui/to/classes.js +4 -2
- package/dist/sdui/to/classes.js.map +1 -1
- package/dist/sdui/to/courses.js +5 -5
- package/dist/sdui/to/courses.js.map +1 -1
- package/dist/sdui/to/holidays.js +3 -2
- package/dist/sdui/to/holidays.js.map +1 -1
- package/dist/sdui/to/hours.js +4 -2
- package/dist/sdui/to/hours.js.map +1 -1
- package/dist/sdui/to/index.d.ts +11 -12
- package/dist/sdui/to/lessons.js +10 -9
- package/dist/sdui/to/lessons.js.map +1 -1
- package/dist/sdui/to/rooms.js +4 -2
- package/dist/sdui/to/rooms.js.map +1 -1
- package/dist/sdui/to/schedules.js +9 -9
- package/dist/sdui/to/schedules.js.map +1 -1
- package/dist/sdui/to/school-years.js +4 -3
- package/dist/sdui/to/school-years.js.map +1 -1
- package/dist/sdui/to/subjects.js.map +1 -1
- package/dist/sdui/to/substitution-plans.js +12 -11
- package/dist/sdui/to/substitution-plans.js.map +1 -1
- package/dist/sdui/to/teachers.js +4 -4
- package/dist/sdui/to/teachers.js.map +1 -1
- package/dist/sdui/types/index.d.ts +2 -0
- package/dist/vKlass/from/index.js +1 -3
- package/dist/vKlass/from/index.js.map +1 -1
- package/dist/vKlass/from/schedule.d.ts +18 -3
- package/dist/vKlass/from/schedule.js +16 -19
- package/dist/vKlass/from/schedule.js.map +1 -1
- package/dist/vKlass/index.d.ts +6 -4
- package/dist/vKlass/index.js.map +1 -1
- package/dist/vKlass/to/schedules.d.ts +1 -1
- package/dist/vKlass/to/schedules.js +5 -12
- package/dist/vKlass/to/schedules.js.map +1 -1
- package/dist/vKlass/types/index.d.ts +5 -5
- package/package.json +38 -29
- package/dist/PlanDigital/to/index.d.ts +0 -10
- package/dist/PlanDigital/to/index.js +0 -10
- package/dist/PlanDigital/to/index.js.map +0 -1
- package/dist/PlanDigital/to/schedules.js +0 -15
- package/dist/PlanDigital/to/schedules.js.map +0 -1
- package/dist/RS/v0/from/available-dependencies.js +0 -38
- package/dist/RS/v0/from/available-dependencies.js.map +0 -1
- package/dist/RS/v0/from/break-lengths.js +0 -15
- package/dist/RS/v0/from/break-lengths.js.map +0 -1
- package/dist/RS/v0/from/course-events.js +0 -68
- package/dist/RS/v0/from/course-events.js.map +0 -1
- package/dist/RS/v0/from/courses.js +0 -53
- package/dist/RS/v0/from/courses.js.map +0 -1
- package/dist/RS/v0/from/days.js +0 -14
- package/dist/RS/v0/from/days.js.map +0 -1
- package/dist/RS/v0/from/dependencies.js +0 -29
- package/dist/RS/v0/from/dependencies.js.map +0 -1
- package/dist/RS/v0/from/groups.js +0 -32
- package/dist/RS/v0/from/groups.js.map +0 -1
- package/dist/RS/v0/from/index.js +0 -32
- package/dist/RS/v0/from/index.js.map +0 -1
- package/dist/RS/v0/from/intervals.js +0 -15
- package/dist/RS/v0/from/intervals.js.map +0 -1
- package/dist/RS/v0/from/locked-times.js +0 -23
- package/dist/RS/v0/from/locked-times.js.map +0 -1
- package/dist/RS/v0/from/placements.js +0 -20
- package/dist/RS/v0/from/placements.js.map +0 -1
- package/dist/RS/v0/from/schedules.js +0 -44
- package/dist/RS/v0/from/schedules.js.map +0 -1
- package/dist/RS/v0/from/settings.js +0 -24
- package/dist/RS/v0/from/settings.js.map +0 -1
- package/dist/RS/v0/from/teachers.js +0 -31
- package/dist/RS/v0/from/teachers.js.map +0 -1
- package/dist/RS/v0/index.d.ts +0 -43
- package/dist/RS/v0/index.js +0 -12
- package/dist/RS/v0/index.js.map +0 -1
- package/dist/RS/v0/to/available-dependencies.js +0 -17
- package/dist/RS/v0/to/available-dependencies.js.map +0 -1
- package/dist/RS/v0/to/configurations.js +0 -22
- package/dist/RS/v0/to/configurations.js.map +0 -1
- package/dist/RS/v0/to/constraints.js +0 -34
- package/dist/RS/v0/to/constraints.js.map +0 -1
- package/dist/RS/v0/to/course-events/days.js +0 -13
- package/dist/RS/v0/to/course-events/days.js.map +0 -1
- package/dist/RS/v0/to/course-events/dependencies.js +0 -18
- package/dist/RS/v0/to/course-events/dependencies.js.map +0 -1
- package/dist/RS/v0/to/course-events/groups.js +0 -39
- package/dist/RS/v0/to/course-events/groups.js.map +0 -1
- package/dist/RS/v0/to/course-events/in-locations.js +0 -17
- package/dist/RS/v0/to/course-events/in-locations.js.map +0 -1
- package/dist/RS/v0/to/course-events/index.js +0 -52
- package/dist/RS/v0/to/course-events/index.js.map +0 -1
- package/dist/RS/v0/to/course-events/intervals.js +0 -12
- package/dist/RS/v0/to/course-events/intervals.js.map +0 -1
- package/dist/RS/v0/to/course-events/meta.js +0 -21
- package/dist/RS/v0/to/course-events/meta.js.map +0 -1
- package/dist/RS/v0/to/courses.js +0 -56
- package/dist/RS/v0/to/courses.js.map +0 -1
- package/dist/RS/v0/to/days.js +0 -11
- package/dist/RS/v0/to/days.js.map +0 -1
- package/dist/RS/v0/to/dependencies.js +0 -26
- package/dist/RS/v0/to/dependencies.js.map +0 -1
- package/dist/RS/v0/to/groups.js +0 -32
- package/dist/RS/v0/to/groups.js.map +0 -1
- package/dist/RS/v0/to/index.d.ts +0 -46
- package/dist/RS/v0/to/index.js +0 -34
- package/dist/RS/v0/to/index.js.map +0 -1
- package/dist/RS/v0/to/intervals.js +0 -17
- package/dist/RS/v0/to/intervals.js.map +0 -1
- package/dist/RS/v0/to/locked-times.js +0 -43
- package/dist/RS/v0/to/locked-times.js.map +0 -1
- package/dist/RS/v0/to/schedules.js +0 -16
- package/dist/RS/v0/to/schedules.js.map +0 -1
- package/dist/RS/v0/to/settings.js +0 -28
- package/dist/RS/v0/to/settings.js.map +0 -1
- package/dist/RS/v0/to/teachers.js +0 -30
- package/dist/RS/v0/to/teachers.js.map +0 -1
- package/dist/RS/v0/types/areas.d.ts +0 -8
- package/dist/RS/v0/types/available-dependencies.d.ts +0 -8
- package/dist/RS/v0/types/break-lengths.d.ts +0 -9
- package/dist/RS/v0/types/configurations.d.ts +0 -7
- package/dist/RS/v0/types/constraints.d.ts +0 -17
- package/dist/RS/v0/types/course-events.d.ts +0 -26
- package/dist/RS/v0/types/courses.d.ts +0 -27
- package/dist/RS/v0/types/days.d.ts +0 -8
- package/dist/RS/v0/types/dependencies.d.ts +0 -17
- package/dist/RS/v0/types/groups.d.ts +0 -25
- package/dist/RS/v0/types/index.d.ts +0 -31
- package/dist/RS/v0/types/intervals.d.ts +0 -8
- package/dist/RS/v0/types/locked-times.d.ts +0 -11
- package/dist/RS/v0/types/out-options.d.ts +0 -13
- package/dist/RS/v0/types/placements.d.ts +0 -12
- package/dist/RS/v0/types/schedules.d.ts +0 -15
- package/dist/RS/v0/types/settings.d.ts +0 -26
- package/dist/RS/v1/from/available-dependencies.js +0 -38
- package/dist/RS/v1/from/available-dependencies.js.map +0 -1
- package/dist/RS/v1/from/break-lengths.js +0 -15
- package/dist/RS/v1/from/break-lengths.js.map +0 -1
- package/dist/RS/v1/from/collections.js +0 -55
- package/dist/RS/v1/from/collections.js.map +0 -1
- package/dist/RS/v1/from/course-events.js +0 -65
- package/dist/RS/v1/from/course-events.js.map +0 -1
- package/dist/RS/v1/from/days.js +0 -14
- package/dist/RS/v1/from/days.js.map +0 -1
- package/dist/RS/v1/from/dependencies.js +0 -31
- package/dist/RS/v1/from/dependencies.js.map +0 -1
- package/dist/RS/v1/from/groups.js +0 -34
- package/dist/RS/v1/from/groups.js.map +0 -1
- package/dist/RS/v1/from/index.js +0 -32
- package/dist/RS/v1/from/index.js.map +0 -1
- package/dist/RS/v1/from/intervals.js +0 -18
- package/dist/RS/v1/from/intervals.js.map +0 -1
- package/dist/RS/v1/from/locked-times.js +0 -21
- package/dist/RS/v1/from/locked-times.js.map +0 -1
- package/dist/RS/v1/from/placements.js +0 -21
- package/dist/RS/v1/from/placements.js.map +0 -1
- package/dist/RS/v1/from/schedules.js +0 -44
- package/dist/RS/v1/from/schedules.js.map +0 -1
- package/dist/RS/v1/from/settings.js +0 -25
- package/dist/RS/v1/from/settings.js.map +0 -1
- package/dist/RS/v1/from/teachers.js +0 -33
- package/dist/RS/v1/from/teachers.js.map +0 -1
- package/dist/RS/v1/index.d.ts +0 -45
- package/dist/RS/v1/index.js +0 -12
- package/dist/RS/v1/index.js.map +0 -1
- package/dist/RS/v1/to/available-dependencies.js +0 -25
- package/dist/RS/v1/to/available-dependencies.js.map +0 -1
- package/dist/RS/v1/to/break-lengths.js +0 -19
- package/dist/RS/v1/to/break-lengths.js.map +0 -1
- package/dist/RS/v1/to/collections.js +0 -51
- package/dist/RS/v1/to/collections.js.map +0 -1
- package/dist/RS/v1/to/configurations.js +0 -22
- package/dist/RS/v1/to/configurations.js.map +0 -1
- package/dist/RS/v1/to/constraints.js +0 -26
- package/dist/RS/v1/to/constraints.js.map +0 -1
- package/dist/RS/v1/to/course-events/days.js +0 -12
- package/dist/RS/v1/to/course-events/days.js.map +0 -1
- package/dist/RS/v1/to/course-events/dependencies.js +0 -15
- package/dist/RS/v1/to/course-events/dependencies.js.map +0 -1
- package/dist/RS/v1/to/course-events/groups.js +0 -30
- package/dist/RS/v1/to/course-events/groups.js.map +0 -1
- package/dist/RS/v1/to/course-events/in-locations.js +0 -17
- package/dist/RS/v1/to/course-events/in-locations.js.map +0 -1
- package/dist/RS/v1/to/course-events/index.js +0 -47
- package/dist/RS/v1/to/course-events/index.js.map +0 -1
- package/dist/RS/v1/to/course-events/intervals.js +0 -11
- package/dist/RS/v1/to/course-events/intervals.js.map +0 -1
- package/dist/RS/v1/to/course-events/meta.js +0 -21
- package/dist/RS/v1/to/course-events/meta.js.map +0 -1
- package/dist/RS/v1/to/days.js +0 -11
- package/dist/RS/v1/to/days.js.map +0 -1
- package/dist/RS/v1/to/dependencies.js +0 -28
- package/dist/RS/v1/to/dependencies.js.map +0 -1
- package/dist/RS/v1/to/groups.js +0 -34
- package/dist/RS/v1/to/groups.js.map +0 -1
- package/dist/RS/v1/to/index.d.ts +0 -46
- package/dist/RS/v1/to/index.js +0 -34
- package/dist/RS/v1/to/index.js.map +0 -1
- package/dist/RS/v1/to/intervals.js +0 -17
- package/dist/RS/v1/to/intervals.js.map +0 -1
- package/dist/RS/v1/to/locked-times.js +0 -49
- package/dist/RS/v1/to/locked-times.js.map +0 -1
- package/dist/RS/v1/to/schedules.js +0 -16
- package/dist/RS/v1/to/schedules.js.map +0 -1
- package/dist/RS/v1/to/settings.js +0 -34
- package/dist/RS/v1/to/settings.js.map +0 -1
- package/dist/RS/v1/to/teachers.js +0 -34
- package/dist/RS/v1/to/teachers.js.map +0 -1
- package/dist/RS/v1/types/areas.d.ts +0 -8
- package/dist/RS/v1/types/available-dependencies.d.ts +0 -8
- package/dist/RS/v1/types/break-lengths.d.ts +0 -9
- package/dist/RS/v1/types/collections.d.ts +0 -27
- package/dist/RS/v1/types/configurations.d.ts +0 -10
- package/dist/RS/v1/types/constraints.d.ts +0 -17
- package/dist/RS/v1/types/course-events.d.ts +0 -26
- package/dist/RS/v1/types/days.d.ts +0 -8
- package/dist/RS/v1/types/dependencies.d.ts +0 -17
- package/dist/RS/v1/types/groups.d.ts +0 -25
- package/dist/RS/v1/types/index.d.ts +0 -31
- package/dist/RS/v1/types/intervals.d.ts +0 -8
- package/dist/RS/v1/types/locked-times.d.ts +0 -11
- package/dist/RS/v1/types/out-options.d.ts +0 -11
- package/dist/RS/v1/types/placements.d.ts +0 -12
- package/dist/RS/v1/types/schedules.d.ts +0 -16
- package/dist/RS/v1/types/settings.d.ts +0 -31
- package/dist/RS/v2/from/available-dependencies.js +0 -38
- package/dist/RS/v2/from/available-dependencies.js.map +0 -1
- package/dist/RS/v2/from/break-lengths.js +0 -15
- package/dist/RS/v2/from/break-lengths.js.map +0 -1
- package/dist/RS/v2/from/collections.js +0 -57
- package/dist/RS/v2/from/collections.js.map +0 -1
- package/dist/RS/v2/from/course-events.d.ts +0 -12
- package/dist/RS/v2/from/course-events.js +0 -67
- package/dist/RS/v2/from/course-events.js.map +0 -1
- package/dist/RS/v2/from/days.js +0 -14
- package/dist/RS/v2/from/days.js.map +0 -1
- package/dist/RS/v2/from/dependencies.js +0 -31
- package/dist/RS/v2/from/dependencies.js.map +0 -1
- package/dist/RS/v2/from/groups.js +0 -35
- package/dist/RS/v2/from/groups.js.map +0 -1
- package/dist/RS/v2/from/index.js +0 -32
- package/dist/RS/v2/from/index.js.map +0 -1
- package/dist/RS/v2/from/intervals.js +0 -18
- package/dist/RS/v2/from/intervals.js.map +0 -1
- package/dist/RS/v2/from/locked-times.js +0 -21
- package/dist/RS/v2/from/locked-times.js.map +0 -1
- package/dist/RS/v2/from/placements.js +0 -32
- package/dist/RS/v2/from/placements.js.map +0 -1
- package/dist/RS/v2/from/schedules.js +0 -78
- package/dist/RS/v2/from/schedules.js.map +0 -1
- package/dist/RS/v2/from/settings.js +0 -31
- package/dist/RS/v2/from/settings.js.map +0 -1
- package/dist/RS/v2/from/teachers.js +0 -33
- package/dist/RS/v2/from/teachers.js.map +0 -1
- package/dist/RS/v2/index.d.ts +0 -63
- package/dist/RS/v2/index.js +0 -12
- package/dist/RS/v2/index.js.map +0 -1
- package/dist/RS/v2/to/available-dependencies.js +0 -25
- package/dist/RS/v2/to/available-dependencies.js.map +0 -1
- package/dist/RS/v2/to/break-lengths.js +0 -19
- package/dist/RS/v2/to/break-lengths.js.map +0 -1
- package/dist/RS/v2/to/collections.js +0 -60
- package/dist/RS/v2/to/collections.js.map +0 -1
- package/dist/RS/v2/to/configurations.js +0 -23
- package/dist/RS/v2/to/configurations.js.map +0 -1
- package/dist/RS/v2/to/constraints.js +0 -88
- package/dist/RS/v2/to/constraints.js.map +0 -1
- package/dist/RS/v2/to/course-events/days.js +0 -12
- package/dist/RS/v2/to/course-events/days.js.map +0 -1
- package/dist/RS/v2/to/course-events/dependencies.js +0 -14
- package/dist/RS/v2/to/course-events/dependencies.js.map +0 -1
- package/dist/RS/v2/to/course-events/groups.js +0 -38
- package/dist/RS/v2/to/course-events/groups.js.map +0 -1
- package/dist/RS/v2/to/course-events/in-locations.js +0 -18
- package/dist/RS/v2/to/course-events/in-locations.js.map +0 -1
- package/dist/RS/v2/to/course-events/index.js +0 -56
- package/dist/RS/v2/to/course-events/index.js.map +0 -1
- package/dist/RS/v2/to/course-events/intervals.js +0 -11
- package/dist/RS/v2/to/course-events/intervals.js.map +0 -1
- package/dist/RS/v2/to/course-events/meta.js +0 -21
- package/dist/RS/v2/to/course-events/meta.js.map +0 -1
- package/dist/RS/v2/to/days.js +0 -11
- package/dist/RS/v2/to/days.js.map +0 -1
- package/dist/RS/v2/to/default.js +0 -36
- package/dist/RS/v2/to/default.js.map +0 -1
- package/dist/RS/v2/to/dependencies.js +0 -28
- package/dist/RS/v2/to/dependencies.js.map +0 -1
- package/dist/RS/v2/to/destructure.js +0 -40
- package/dist/RS/v2/to/destructure.js.map +0 -1
- package/dist/RS/v2/to/dynamic-locked-times.js +0 -57
- package/dist/RS/v2/to/dynamic-locked-times.js.map +0 -1
- package/dist/RS/v2/to/groups.js +0 -37
- package/dist/RS/v2/to/groups.js.map +0 -1
- package/dist/RS/v2/to/index.d.ts +0 -44
- package/dist/RS/v2/to/index.js +0 -36
- package/dist/RS/v2/to/index.js.map +0 -1
- package/dist/RS/v2/to/intervals.js +0 -32
- package/dist/RS/v2/to/intervals.js.map +0 -1
- package/dist/RS/v2/to/locked-times.js +0 -49
- package/dist/RS/v2/to/locked-times.js.map +0 -1
- package/dist/RS/v2/to/periods.js +0 -48
- package/dist/RS/v2/to/periods.js.map +0 -1
- package/dist/RS/v2/to/persons.js +0 -23
- package/dist/RS/v2/to/persons.js.map +0 -1
- package/dist/RS/v2/to/schedules.js +0 -19
- package/dist/RS/v2/to/schedules.js.map +0 -1
- package/dist/RS/v2/to/settings.js +0 -18
- package/dist/RS/v2/to/settings.js.map +0 -1
- package/dist/RS/v2/to/teachers.js +0 -37
- package/dist/RS/v2/to/teachers.js.map +0 -1
- package/dist/RS/v2/types/areas.d.ts +0 -8
- package/dist/RS/v2/types/available-dependencies.d.ts +0 -8
- package/dist/RS/v2/types/break-lengths.d.ts +0 -9
- package/dist/RS/v2/types/collections.d.ts +0 -29
- package/dist/RS/v2/types/configurations.d.ts +0 -10
- package/dist/RS/v2/types/constraints.d.ts +0 -21
- package/dist/RS/v2/types/course-events.d.ts +0 -30
- package/dist/RS/v2/types/days.d.ts +0 -8
- package/dist/RS/v2/types/default.d.ts +0 -25
- package/dist/RS/v2/types/dependencies.d.ts +0 -17
- package/dist/RS/v2/types/index.d.ts +0 -33
- package/dist/RS/v2/types/intervals.d.ts +0 -9
- package/dist/RS/v2/types/out-options.d.ts +0 -11
- package/dist/RS/v2/types/placements.d.ts +0 -12
- package/dist/RS/v2/types/schedules.d.ts +0 -18
- package/dist/RS/v3/from/division.js +0 -14
- package/dist/RS/v3/from/division.js.map +0 -1
- package/dist/RS/v3/from/index.js +0 -12
- package/dist/RS/v3/from/index.js.map +0 -1
- package/dist/RS/v3/from/schedules.js +0 -34
- package/dist/RS/v3/from/schedules.js.map +0 -1
- package/dist/RS/v3/index.d.ts +0 -21
- package/dist/RS/v3/index.js +0 -12
- package/dist/RS/v3/index.js.map +0 -1
- package/dist/RS/v3/to/available-dependencies.js +0 -26
- package/dist/RS/v3/to/available-dependencies.js.map +0 -1
- package/dist/RS/v3/to/break-lengths.js +0 -19
- package/dist/RS/v3/to/break-lengths.js.map +0 -1
- package/dist/RS/v3/to/collections.js +0 -56
- package/dist/RS/v3/to/collections.js.map +0 -1
- package/dist/RS/v3/to/configurations.js +0 -23
- package/dist/RS/v3/to/configurations.js.map +0 -1
- package/dist/RS/v3/to/constraints.js +0 -77
- package/dist/RS/v3/to/constraints.js.map +0 -1
- package/dist/RS/v3/to/course-events/days.js +0 -12
- package/dist/RS/v3/to/course-events/days.js.map +0 -1
- package/dist/RS/v3/to/course-events/dependencies.js +0 -14
- package/dist/RS/v3/to/course-events/dependencies.js.map +0 -1
- package/dist/RS/v3/to/course-events/groups.js +0 -44
- package/dist/RS/v3/to/course-events/groups.js.map +0 -1
- package/dist/RS/v3/to/course-events/in-locations.js +0 -18
- package/dist/RS/v3/to/course-events/in-locations.js.map +0 -1
- package/dist/RS/v3/to/course-events/index.js +0 -84
- package/dist/RS/v3/to/course-events/index.js.map +0 -1
- package/dist/RS/v3/to/course-events/intervals.js +0 -11
- package/dist/RS/v3/to/course-events/intervals.js.map +0 -1
- package/dist/RS/v3/to/course-events/meta.js +0 -21
- package/dist/RS/v3/to/course-events/meta.js.map +0 -1
- package/dist/RS/v3/to/days.js +0 -11
- package/dist/RS/v3/to/days.js.map +0 -1
- package/dist/RS/v3/to/default.js.map +0 -1
- package/dist/RS/v3/to/dependencies.js +0 -31
- package/dist/RS/v3/to/dependencies.js.map +0 -1
- package/dist/RS/v3/to/destructure.js +0 -33
- package/dist/RS/v3/to/destructure.js.map +0 -1
- package/dist/RS/v3/to/dynamic-locked-times.js +0 -97
- package/dist/RS/v3/to/dynamic-locked-times.js.map +0 -1
- package/dist/RS/v3/to/groups.js +0 -36
- package/dist/RS/v3/to/groups.js.map +0 -1
- package/dist/RS/v3/to/index.d.ts +0 -266
- package/dist/RS/v3/to/index.js.map +0 -1
- package/dist/RS/v3/to/individuals.js +0 -49
- package/dist/RS/v3/to/individuals.js.map +0 -1
- package/dist/RS/v3/to/intervals.js +0 -32
- package/dist/RS/v3/to/intervals.js.map +0 -1
- package/dist/RS/v3/to/locked-times.js +0 -49
- package/dist/RS/v3/to/locked-times.js.map +0 -1
- package/dist/RS/v3/to/periods.js +0 -48
- package/dist/RS/v3/to/periods.js.map +0 -1
- package/dist/RS/v3/to/schedules.js +0 -39
- package/dist/RS/v3/to/schedules.js.map +0 -1
- package/dist/RS/v3/to/settings.js +0 -18
- package/dist/RS/v3/to/settings.js.map +0 -1
- package/dist/RS/v3/to/teachers.js +0 -36
- package/dist/RS/v3/to/teachers.js.map +0 -1
- package/dist/RS/v3/to/util.js +0 -32
- package/dist/RS/v3/to/util.js.map +0 -1
- package/dist/RS/v3/types/areas.d.ts +0 -8
- package/dist/RS/v3/types/available-dependencies.d.ts +0 -8
- package/dist/RS/v3/types/break-lengths.d.ts +0 -9
- package/dist/RS/v3/types/collections.d.ts +0 -31
- package/dist/RS/v3/types/configurations.d.ts +0 -10
- package/dist/RS/v3/types/constraints.d.ts +0 -25
- package/dist/RS/v3/types/course-events.d.ts +0 -32
- package/dist/RS/v3/types/days.d.ts +0 -8
- package/dist/RS/v3/types/dependencies.d.ts +0 -17
- package/dist/RS/v3/types/groups.d.ts +0 -25
- package/dist/RS/v3/types/index.d.ts +0 -33
- package/dist/RS/v3/types/individuals.d.ts +0 -13
- package/dist/RS/v3/types/intervals.d.ts +0 -9
- package/dist/RS/v3/types/locked-times.d.ts +0 -11
- package/dist/RS/v3/types/out-options.d.ts +0 -23
- package/dist/RS/v3/types/placements.d.ts +0 -12
- package/dist/RS/v3/types/root-intervals.d.ts +0 -10
- package/dist/RS/v3/types/schedules.d.ts +0 -24
- package/dist/RS/v3/types/settings.d.ts +0 -12
- package/dist/SS12000/from/activities.js +0 -35
- package/dist/SS12000/from/activities.js.map +0 -1
- package/dist/SS12000/from/calendar-events.js +0 -20
- package/dist/SS12000/from/calendar-events.js.map +0 -1
- package/dist/SS12000/from/duties.js +0 -21
- package/dist/SS12000/from/duties.js.map +0 -1
- package/dist/SS12000/from/groups.js +0 -23
- package/dist/SS12000/from/groups.js.map +0 -1
- package/dist/SS12000/from/index.js +0 -24
- package/dist/SS12000/from/index.js.map +0 -1
- package/dist/SS12000/from/persons.js +0 -43
- package/dist/SS12000/from/persons.js.map +0 -1
- package/dist/SS12000/from/resources.js +0 -9
- package/dist/SS12000/from/resources.js.map +0 -1
- package/dist/SS12000/from/rooms.js +0 -18
- package/dist/SS12000/from/rooms.js.map +0 -1
- package/dist/SS12000/from/syllabuses.js +0 -21
- package/dist/SS12000/from/syllabuses.js.map +0 -1
- package/dist/SS12000/index.d.ts +0 -73
- package/dist/SS12000/index.js +0 -12
- package/dist/SS12000/index.js.map +0 -1
- package/dist/SS12000/to/activities.js +0 -55
- package/dist/SS12000/to/activities.js.map +0 -1
- package/dist/SS12000/to/calendar-events.js +0 -47
- package/dist/SS12000/to/calendar-events.js.map +0 -1
- package/dist/SS12000/to/common.js +0 -16
- package/dist/SS12000/to/common.js.map +0 -1
- package/dist/SS12000/to/duties.js +0 -36
- package/dist/SS12000/to/duties.js.map +0 -1
- package/dist/SS12000/to/groups.js +0 -37
- package/dist/SS12000/to/groups.js.map +0 -1
- package/dist/SS12000/to/index.d.ts +0 -25
- package/dist/SS12000/to/index.js +0 -24
- package/dist/SS12000/to/index.js.map +0 -1
- package/dist/SS12000/to/persons.js +0 -36
- package/dist/SS12000/to/persons.js.map +0 -1
- package/dist/SS12000/to/resources.js +0 -23
- package/dist/SS12000/to/resources.js.map +0 -1
- package/dist/SS12000/to/rooms.js +0 -28
- package/dist/SS12000/to/rooms.js.map +0 -1
- package/dist/SS12000/to/syllabuses.js +0 -30
- package/dist/SS12000/to/syllabuses.js.map +0 -1
- package/dist/SS12000/types/activities.d.ts +0 -41
- package/dist/SS12000/types/calendar-events.d.ts +0 -23
- package/dist/SS12000/types/codes.d.ts +0 -9
- package/dist/SS12000/types/duties.d.ts +0 -23
- package/dist/SS12000/types/duty-assignments.d.ts +0 -13
- package/dist/SS12000/types/groups.d.ts +0 -23
- package/dist/SS12000/types/index.d.ts +0 -21
- package/dist/SS12000/types/organisation.d.ts +0 -20
- package/dist/SS12000/types/persons.d.ts +0 -30
- package/dist/SS12000/types/resources.d.ts +0 -13
- package/dist/SS12000/types/rooms.d.ts +0 -17
- package/dist/SS12000/types/syllabus.d.ts +0 -19
- package/dist/core/v1/from/courses.js +0 -26
- package/dist/core/v1/from/courses.js.map +0 -1
- package/dist/core/v1/from/events.js +0 -12
- package/dist/core/v1/from/events.js.map +0 -1
- package/dist/core/v1/from/groups.js +0 -14
- package/dist/core/v1/from/groups.js.map +0 -1
- package/dist/core/v1/from/index.js +0 -8
- package/dist/core/v1/from/index.js.map +0 -1
- package/dist/core/v1/from/locations.js +0 -14
- package/dist/core/v1/from/locations.js.map +0 -1
- package/dist/core/v1/from/locked-times.js +0 -13
- package/dist/core/v1/from/locked-times.js.map +0 -1
- package/dist/core/v1/from/overlap-groups.js +0 -13
- package/dist/core/v1/from/overlap-groups.js.map +0 -1
- package/dist/core/v1/from/periods.js +0 -14
- package/dist/core/v1/from/periods.js.map +0 -1
- package/dist/core/v1/from/schedules.d.ts +0 -139
- package/dist/core/v1/from/schedules.js +0 -36
- package/dist/core/v1/from/schedules.js.map +0 -1
- package/dist/core/v1/from/teachers.js +0 -14
- package/dist/core/v1/from/teachers.js.map +0 -1
- package/dist/core/v1/index.d.ts +0 -14
- package/dist/core/v1/index.js +0 -12
- package/dist/core/v1/index.js.map +0 -1
- package/dist/core/v1/to/available-locations.js +0 -11
- package/dist/core/v1/to/available-locations.js.map +0 -1
- package/dist/core/v1/to/courses.js +0 -33
- package/dist/core/v1/to/courses.js.map +0 -1
- package/dist/core/v1/to/days.js +0 -13
- package/dist/core/v1/to/days.js.map +0 -1
- package/dist/core/v1/to/events.js +0 -35
- package/dist/core/v1/to/events.js.map +0 -1
- package/dist/core/v1/to/groups.js +0 -24
- package/dist/core/v1/to/groups.js.map +0 -1
- package/dist/core/v1/to/index.js +0 -10
- package/dist/core/v1/to/index.js.map +0 -1
- package/dist/core/v1/to/intervals.js +0 -14
- package/dist/core/v1/to/intervals.js.map +0 -1
- package/dist/core/v1/to/locations.js +0 -20
- package/dist/core/v1/to/locations.js.map +0 -1
- package/dist/core/v1/to/locked-times.js +0 -25
- package/dist/core/v1/to/locked-times.js.map +0 -1
- package/dist/core/v1/to/overlap-groups.js +0 -30
- package/dist/core/v1/to/overlap-groups.js.map +0 -1
- package/dist/core/v1/to/periods.js +0 -10
- package/dist/core/v1/to/periods.js.map +0 -1
- package/dist/core/v1/to/persons.js +0 -22
- package/dist/core/v1/to/persons.js.map +0 -1
- package/dist/core/v1/to/schedules.d.ts +0 -170
- package/dist/core/v1/to/schedules.js +0 -32
- package/dist/core/v1/to/schedules.js.map +0 -1
- package/dist/core/v1/to/settings.js +0 -13
- package/dist/core/v1/to/settings.js.map +0 -1
- package/dist/core/v1/to/teachers.js +0 -20
- package/dist/core/v1/to/teachers.js.map +0 -1
- package/dist/core/v1/types/areas.d.ts +0 -16
- package/dist/core/v1/types/available-locations.d.ts +0 -13
- package/dist/core/v1/types/break-lengths.d.ts +0 -5
- package/dist/core/v1/types/common/coalesced.d.ts +0 -10
- package/dist/core/v1/types/courses.d.ts +0 -54
- package/dist/core/v1/types/days.d.ts +0 -14
- package/dist/core/v1/types/division-settings.d.ts +0 -39
- package/dist/core/v1/types/divisions.d.ts +0 -45
- package/dist/core/v1/types/events.d.ts +0 -60
- package/dist/core/v1/types/groups.d.ts +0 -37
- package/dist/core/v1/types/index.d.ts +0 -41
- package/dist/core/v1/types/intervals.d.ts +0 -17
- package/dist/core/v1/types/locations.d.ts +0 -32
- package/dist/core/v1/types/locked-times.d.ts +0 -39
- package/dist/core/v1/types/meta.d.ts +0 -9
- package/dist/core/v1/types/overlap-groups.d.ts +0 -26
- package/dist/core/v1/types/periods.d.ts +0 -22
- package/dist/core/v1/types/persons.d.ts +0 -40
- package/dist/core/v1/types/teachers.d.ts +0 -34
- package/dist/core/v2/from/courses.js +0 -13
- package/dist/core/v2/from/courses.js.map +0 -1
- package/dist/core/v2/from/events.js +0 -12
- package/dist/core/v2/from/events.js.map +0 -1
- package/dist/core/v2/from/exceptions.js +0 -13
- package/dist/core/v2/from/exceptions.js.map +0 -1
- package/dist/core/v2/from/groups.js +0 -13
- package/dist/core/v2/from/groups.js.map +0 -1
- package/dist/core/v2/from/index.js.map +0 -1
- package/dist/core/v2/from/locations.js +0 -13
- package/dist/core/v2/from/locations.js.map +0 -1
- package/dist/core/v2/from/locked-times.js +0 -13
- package/dist/core/v2/from/locked-times.js.map +0 -1
- package/dist/core/v2/from/overlap-groups.js +0 -13
- package/dist/core/v2/from/overlap-groups.js.map +0 -1
- package/dist/core/v2/from/periods.js +0 -13
- package/dist/core/v2/from/periods.js.map +0 -1
- package/dist/core/v2/from/persons.js +0 -12
- package/dist/core/v2/from/persons.js.map +0 -1
- package/dist/core/v2/from/root-intervals.js +0 -13
- package/dist/core/v2/from/root-intervals.js.map +0 -1
- package/dist/core/v2/from/schedules.d.ts +0 -245
- package/dist/core/v2/from/schedules.js +0 -48
- package/dist/core/v2/from/schedules.js.map +0 -1
- package/dist/core/v2/from/syllabuses.js.map +0 -1
- package/dist/core/v2/from/teachers.js +0 -13
- package/dist/core/v2/from/teachers.js.map +0 -1
- package/dist/core/v2/index.d.ts +0 -16
- package/dist/core/v2/index.js +0 -12
- package/dist/core/v2/index.js.map +0 -1
- package/dist/core/v2/to/available-locations.js +0 -11
- package/dist/core/v2/to/available-locations.js.map +0 -1
- package/dist/core/v2/to/courses.js +0 -44
- package/dist/core/v2/to/courses.js.map +0 -1
- package/dist/core/v2/to/days.js +0 -13
- package/dist/core/v2/to/days.js.map +0 -1
- package/dist/core/v2/to/division.js +0 -10
- package/dist/core/v2/to/division.js.map +0 -1
- package/dist/core/v2/to/events.js +0 -47
- package/dist/core/v2/to/events.js.map +0 -1
- package/dist/core/v2/to/exceptions.js +0 -29
- package/dist/core/v2/to/exceptions.js.map +0 -1
- package/dist/core/v2/to/groups.js +0 -34
- package/dist/core/v2/to/groups.js.map +0 -1
- package/dist/core/v2/to/index.d.ts +0 -9
- package/dist/core/v2/to/index.js +0 -10
- package/dist/core/v2/to/index.js.map +0 -1
- package/dist/core/v2/to/intervals.js +0 -13
- package/dist/core/v2/to/intervals.js.map +0 -1
- package/dist/core/v2/to/locations.js +0 -35
- package/dist/core/v2/to/locations.js.map +0 -1
- package/dist/core/v2/to/locked-times.js +0 -25
- package/dist/core/v2/to/locked-times.js.map +0 -1
- package/dist/core/v2/to/overlap-groups.js +0 -30
- package/dist/core/v2/to/overlap-groups.js.map +0 -1
- package/dist/core/v2/to/periods.js +0 -10
- package/dist/core/v2/to/periods.js.map +0 -1
- package/dist/core/v2/to/persons.js +0 -25
- package/dist/core/v2/to/persons.js.map +0 -1
- package/dist/core/v2/to/root-intervals.js +0 -10
- package/dist/core/v2/to/root-intervals.js.map +0 -1
- package/dist/core/v2/to/schedules.d.ts +0 -249
- package/dist/core/v2/to/schedules.js +0 -40
- package/dist/core/v2/to/schedules.js.map +0 -1
- package/dist/core/v2/to/settings.js +0 -13
- package/dist/core/v2/to/settings.js.map +0 -1
- package/dist/core/v2/to/syllabuses.js +0 -16
- package/dist/core/v2/to/syllabuses.js.map +0 -1
- package/dist/core/v2/to/teachers.js +0 -28
- package/dist/core/v2/to/teachers.js.map +0 -1
- package/dist/core/v2/types/areas.d.ts +0 -16
- package/dist/core/v2/types/available-locations.d.ts +0 -13
- package/dist/core/v2/types/break-lengths.d.ts +0 -5
- package/dist/core/v2/types/common/coalesced.d.ts +0 -10
- package/dist/core/v2/types/common/planned-schedule-duration.d.ts +0 -7
- package/dist/core/v2/types/courses.d.ts +0 -76
- package/dist/core/v2/types/days.d.ts +0 -14
- package/dist/core/v2/types/divisions.d.ts +0 -54
- package/dist/core/v2/types/events.d.ts +0 -76
- package/dist/core/v2/types/groups.d.ts +0 -50
- package/dist/core/v2/types/index.d.ts +0 -49
- package/dist/core/v2/types/intervals.d.ts +0 -17
- package/dist/core/v2/types/locations.d.ts +0 -38
- package/dist/core/v2/types/locked-times.d.ts +0 -44
- package/dist/core/v2/types/overlap-groups.d.ts +0 -26
- package/dist/core/v2/types/periods.d.ts +0 -25
- package/dist/core/v2/types/root-intervals.d.ts +0 -23
- package/dist/core/v2/types/schedules.d.ts +0 -38
- package/dist/core/v2/types/syllabus.d.ts +0 -27
- package/dist/vKlass/from/index.d.ts +0 -9
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { mergeWithParentGroups } from "./util.js";
|
|
2
|
-
import { groupsToIndividuals } from "./individuals.js";
|
|
3
|
-
|
|
4
|
-
//#region src/RS/v3/to/destructure.ts
|
|
5
|
-
var destructure_default = (courses, events = [], groups = [], settings, options) => {
|
|
6
|
-
const groupMembersMap = /* @__PURE__ */ new Map();
|
|
7
|
-
groups.forEach((group) => groupMembersMap.set(group.id, new Set(group.members)));
|
|
8
|
-
const destructMap = /* @__PURE__ */ new Map();
|
|
9
|
-
const idKey = options.idKey || "id";
|
|
10
|
-
courses = Array.isArray(courses) ? courses : [courses];
|
|
11
|
-
events = Array.isArray(events) ? events : [events];
|
|
12
|
-
courses.concat(events).forEach((source) => {
|
|
13
|
-
if (!source[idKey]) throw new Error("(RS::V3::To::Destructure) A course/event does not have a unique key");
|
|
14
|
-
if (!source.groups) return;
|
|
15
|
-
const groupReferences = mergeWithParentGroups(source.groups, options);
|
|
16
|
-
groupReferences.forEach((x) => {
|
|
17
|
-
if (!x.exclude?.length) return;
|
|
18
|
-
const arr = [x.to[idKey]?.toString()].concat(x.exclude.map((y) => y[idKey]?.toString()));
|
|
19
|
-
const key = arr.sort().join(".");
|
|
20
|
-
if (destructMap.has(key)) return;
|
|
21
|
-
const group = groupsToIndividuals({
|
|
22
|
-
[idKey]: key,
|
|
23
|
-
members: Array.from(groupMembersMap.get(x.to.id)).filter((y) => !x.exclude?.some((z) => z[idKey]?.toString() == y[idKey]?.toString()))
|
|
24
|
-
}, settings, options)[0];
|
|
25
|
-
destructMap.set(key, group);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
return destructMap;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
//#endregion
|
|
32
|
-
export { destructure_default as default };
|
|
33
|
-
//# sourceMappingURL=destructure.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"destructure.js","names":["idKey: keyof CoreTypes.course"],"sources":["../../../../src/RS/v3/to/destructure.ts"],"sourcesContent":["import { ParsedOutOptions as OutOptions } from '../types/out-options';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\nimport { groupsToIndividuals } from './individuals';\nimport { Individual } from '../types/individuals';\nimport { mergeWithParentGroups } from './util';\n\nexport default (\n courses: Deserialized<CoreTypes.course> | Deserialized<CoreTypes.course>[],\n events: Deserialized<CoreTypes.event> | Deserialized<CoreTypes.event>[] = [],\n groups: Deserialized<CoreTypes.group>[] = [],\n settings: CoreTypes.divisionSettings,\n options: OutOptions\n) => {\n\n const groupMembersMap = new Map<string, Set<Deserialized<CoreTypes.person>>>();\n groups.forEach(group => groupMembersMap.set(group.id!, new Set(group.members)));\n const destructMap = new Map<string | null, Individual>();\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 if (!source[idKey])\n throw new Error('(RS::V3::To::Destructure) A course/event does not have a unique key');\n\n if (!source.groups) return;\n /*\n destructure every group with persons excluded\n this should become a new individuals group\n */\n\n // merge the group references with their parent groups\n const groupReferences = mergeWithParentGroups(source.groups, options);\n\n groupReferences.forEach(x => {\n if (!x.exclude?.length) return;\n const arr = [x.to[idKey]?.toString()].concat(x.exclude.map(y => y[idKey]?.toString()!));\n const key = arr.sort().join('.');\n if (destructMap.has(key)) return;\n const group = groupsToIndividuals({\n [idKey]: key,\n members: Array.from(groupMembersMap.get(x.to.id!)!).filter(y => !x.exclude?.some(z => z[idKey]?.toString() == y[idKey]?.toString()))\n }, settings, options)[0];\n destructMap.set(key, group);\n });\n });\n\n return destructMap;\n};"],"mappings":";;;;AAQA,2BACE,SACA,SAA4E,IAC5E,SAA4C,IAC5C,UACA,YACG;CAEH,MAAM,kCAAkB,IAAI;AAC5B,QAAO,SAAQ,UAAS,gBAAgB,IAAI,MAAM,IAAK,IAAI,IAAI,MAAM;CACrE,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;AACvC,MAAI,CAAC,OAAO,OACV,OAAM,IAAI,MAAM;AAElB,MAAI,CAAC,OAAO,OAAQ;EAOpB,MAAM,kBAAkB,sBAAsB,OAAO,QAAQ;AAE7D,kBAAgB,SAAQ,MAAK;AAC3B,OAAI,CAAC,EAAE,SAAS,OAAQ;GACxB,MAAM,MAAM,CAAC,EAAE,GAAG,QAAQ,YAAY,OAAO,EAAE,QAAQ,KAAI,MAAK,EAAE,QAAQ;GAC1E,MAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,OAAI,YAAY,IAAI,KAAM;GAC1B,MAAM,QAAQ,oBAAoB;KAC/B,QAAQ;IACT,SAAS,MAAM,KAAK,gBAAgB,IAAI,EAAE,GAAG,KAAO,QAAO,MAAK,CAAC,EAAE,SAAS,MAAK,MAAK,EAAE,QAAQ,cAAc,EAAE,QAAQ;MACvH,UAAU,SAAS;AACtB,eAAY,IAAI,KAAK;;;AAIzB,QAAO"}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import intervals_default from "./intervals.js";
|
|
2
|
-
import { toDayAndStart } from "./course-events/index.js";
|
|
3
|
-
import moment from "moment";
|
|
4
|
-
import { nanoid } from "nanoid";
|
|
5
|
-
|
|
6
|
-
//#region src/RS/v3/to/dynamic-locked-times.ts
|
|
7
|
-
function mapCoalescedReferences(coalesced, options, destructMap) {
|
|
8
|
-
const idKey = options.idKey || "id";
|
|
9
|
-
if (!coalesced) return [];
|
|
10
|
-
const teachers = coalesced.filter((x) => x.toModel == "teachers");
|
|
11
|
-
const groups = coalesced.filter((x) => x.toModel == "groups");
|
|
12
|
-
const participants = coalesced.filter((x) => x.toModel == "persons");
|
|
13
|
-
const teacherIds = teachers.map(({ to }) => to[idKey]).filter((x) => !!x).map((x) => ({ individuals: ["teachers.individuals." + x.toString()] }));
|
|
14
|
-
const groupIds = groups.map(({ to }) => to[idKey]).filter((x) => !!x).map((x) => "groups." + x.toString());
|
|
15
|
-
const participantIds = participants.map(({ to }) => to[idKey]).filter((x) => !!x).map((x) => ({ individuals: ["persons." + x.toString()] }));
|
|
16
|
-
const out = [
|
|
17
|
-
...new Set(teacherIds),
|
|
18
|
-
...new Set(groupIds),
|
|
19
|
-
...new Set(participantIds)
|
|
20
|
-
].map((x) => [x]);
|
|
21
|
-
return out;
|
|
22
|
-
}
|
|
23
|
-
function parseDynamicLockedTime(lockedTime, parent, idKey, settings, options, set, destructMap) {
|
|
24
|
-
const { _id, intervals, duration, durationVariance, coalesced } = lockedTime;
|
|
25
|
-
const id = (lockedTime[idKey] || _id)?.toString() ?? nanoid();
|
|
26
|
-
if (set.has(id)) return;
|
|
27
|
-
set.add(id);
|
|
28
|
-
if (duration == null) throw new Error("(RS::V3::To::DynamicLockedTimes) Length of a locked time is null");
|
|
29
|
-
if (duration < 5) throw new Error("(RS::V3::To::DynamicLockedTimes) Length of a locked time is less than 5 min");
|
|
30
|
-
if (!coalesced) throw new Error("(RS::V3::To::DynamicLockedTimes) Length of a locked time is less than 5 min");
|
|
31
|
-
let days = intervals?.length ? intervals.map(({ start }) => (moment(start).day() + 6) % 7) : void 0;
|
|
32
|
-
if (days) days = [...new Set(days)];
|
|
33
|
-
const day = days?.length == 1 ? days[0] : void 0;
|
|
34
|
-
if (day != null && parent.days?.length && !parent.days.some((x) => x.day == day)) return;
|
|
35
|
-
const groups = mapCoalescedReferences(coalesced, options, destructMap);
|
|
36
|
-
const distributionKey = lockedTime.type == "COMPLEMENTARY_TIME" ? "COMPLEMENTARY_TIME." + lockedTime.tags?.at(0)?.value : void 0;
|
|
37
|
-
const doc = {
|
|
38
|
-
id: `${parent.lunch == null ? "virtual" : "lockedTimes"}.${id}`,
|
|
39
|
-
groups: [...new Set(groups.filter(Boolean))],
|
|
40
|
-
dependencies: [...new Set(coalesced.filter((x) => x.toModel == "locations").map(({ to }) => to[idKey]?.toString()).filter(Boolean))].map((x) => [x]),
|
|
41
|
-
length: duration,
|
|
42
|
-
minBreakLength: false,
|
|
43
|
-
intervals: intervals?.length ? intervals_default(intervals, settings) : void 0,
|
|
44
|
-
...distributionKey && { distributionKey },
|
|
45
|
-
...days && { days },
|
|
46
|
-
...day && { day },
|
|
47
|
-
...durationVariance != null && { maxLengthVariance: durationVariance }
|
|
48
|
-
};
|
|
49
|
-
if (options.partialScheduleOptions) {
|
|
50
|
-
const { includedEvents, omittedEventsHandling } = options.partialScheduleOptions;
|
|
51
|
-
if (includedEvents && !includedEvents.has(doc.id)) {
|
|
52
|
-
if (omittedEventsHandling == "ignore") return;
|
|
53
|
-
if (omittedEventsHandling == "freeze") {
|
|
54
|
-
if (lockedTime.parked || !lockedTime.start || !lockedTime.duration) return;
|
|
55
|
-
Object.assign(doc, toDayAndStart(lockedTime.start));
|
|
56
|
-
doc.length = lockedTime.duration;
|
|
57
|
-
doc.maxLengthVariance = 0;
|
|
58
|
-
const numDays = settings.numDays ?? 5;
|
|
59
|
-
doc.days = Array.from({ length: numDays }, (_, i) => i);
|
|
60
|
-
doc.intervals = Array.from({ length: numDays }, () => [{
|
|
61
|
-
beg: 0,
|
|
62
|
-
end: 23.55
|
|
63
|
-
}]);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
return doc;
|
|
68
|
-
}
|
|
69
|
-
var dynamic_locked_times_default = (docs, settings, options, set, destructMap) => {
|
|
70
|
-
const idKey = options.idKey ?? "id";
|
|
71
|
-
const lunches = docs.filter((x) => !!x).map((group) => {
|
|
72
|
-
return (group.lunch ?? []).map((lockedTime) => {
|
|
73
|
-
return parseDynamicLockedTime(lockedTime, group, idKey, settings, options, set, destructMap);
|
|
74
|
-
}).filter((x) => x != null);
|
|
75
|
-
}).flat();
|
|
76
|
-
const complementaryTimes = (() => {
|
|
77
|
-
const grouped = docs.filter((x) => !!x).map((group) => {
|
|
78
|
-
return (("complementaryTimes" in group ? group.complementaryTimes : null) ?? []).map((lockedTime) => {
|
|
79
|
-
return parseDynamicLockedTime(lockedTime, group, idKey, settings, options, set, destructMap);
|
|
80
|
-
}).filter((x) => x != null);
|
|
81
|
-
}).flat().reduce((acc, x) => {
|
|
82
|
-
const key = [x.distributionKey || "NO_DISTRIBUTION_KEY"].flat().toSorted().join("|");
|
|
83
|
-
if (acc[key]) acc[key].push(x);
|
|
84
|
-
else acc[key] = [x];
|
|
85
|
-
return acc;
|
|
86
|
-
}, {});
|
|
87
|
-
return Object.entries(grouped).map(([id, events]) => ({
|
|
88
|
-
id,
|
|
89
|
-
events
|
|
90
|
-
}));
|
|
91
|
-
})();
|
|
92
|
-
return [...lunches, ...complementaryTimes];
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
//#endregion
|
|
96
|
-
export { dynamic_locked_times_default as default };
|
|
97
|
-
//# sourceMappingURL=dynamic-locked-times.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-locked-times.js","names":["id: string","doc: CourseEvent","_intervals","idKey: 'id' | '_id' | 'ids'"],"sources":["../../../../src/RS/v3/to/dynamic-locked-times.ts"],"sourcesContent":["import moment from 'moment';\nimport { nanoid } from 'nanoid';\n\nimport { ParsedOutOptions as OutOptions } from '../types/out-options';\nimport { CourseEvent } from '../types/course-events';\nimport { Collection } from '../types/collections';\nimport { Individual } from '../types/individuals';\n\nimport _intervals from './intervals';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\nimport { toDayAndStart } from './course-events';\n\nfunction mapCoalescedReferences (\n coalesced: Deserialized<CoreTypes.lockedTime>['coalesced'],\n options: OutOptions,\n destructMap?: Map<string | null, Individual>\n) {\n const idKey = options.idKey || 'id';\n\n if (!coalesced) return [];\n\n const teachers = coalesced.filter(x => x.toModel == 'teachers');\n const groups = coalesced.filter(x => x.toModel == 'groups');\n const participants = coalesced.filter(x => x.toModel == 'persons');\n\n const teacherIds = teachers .map(({ to }) => to[idKey]).filter((x): x is NonNullable<typeof x> => !!x)\n .map(x => ({ individuals: ['teachers.individuals.' + x.toString()] }));\n const groupIds = groups .map(({ to }) => to[idKey]).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 => ({ individuals: ['persons.' + x.toString()] }));\n\n\n const out = [...new Set(teacherIds), ...new Set(groupIds), ...new Set(participantIds)].map(x => [x]);\n return out;\n}\n\n\nfunction parseDynamicLockedTime (\n lockedTime: Deserialized<CoreTypes.lockedTime>,\n parent: Deserialized<CoreTypes.group> | Deserialized<CoreTypes.teacher>,\n //\n idKey: 'id' | '_id' | 'ids',\n settings: Deserialized<CoreTypes.divisionSettings>,\n options: OutOptions,\n set: Set<string>,\n destructMap?: Map<string | null, Individual>\n) {\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)) return;\n\n set.add(id);\n\n if (duration == null)\n throw new Error('(RS::V3::To::DynamicLockedTimes) Length of a locked time is null');\n\n if (duration < 5)\n throw new Error('(RS::V3::To::DynamicLockedTimes) Length of a locked time is less than 5 min');\n\n if (!coalesced)\n throw new Error('(RS::V3::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 && parent.days?.length && !parent.days.some(x => x.day == day)) return;\n\n const groups = mapCoalescedReferences(coalesced, options, destructMap);\n\n const distributionKey = lockedTime.type == 'COMPLEMENTARY_TIME'\n ? 'COMPLEMENTARY_TIME.' + lockedTime.tags?.at(0)?.value\n : undefined;\n\n\n const doc: CourseEvent = {\n id: `${ parent.lunch == null ? 'virtual' : 'lockedTimes' }.${ id }`,\n groups: [...new Set(groups.filter(Boolean))],\n dependencies: [...new Set(coalesced.filter(x => x.toModel == 'locations').map(({ to }) => to[idKey]?.toString()!).filter(Boolean))].map(x => [x]),\n length: duration,\n minBreakLength: false,\n intervals: intervals?.length ? _intervals(intervals, settings) : undefined,\n ...distributionKey && { distributionKey },\n ...days && { days },\n ...day && { day },\n ...durationVariance != null && { maxLengthVariance: durationVariance },\n };\n\n\n\n ////\n //// filter events based on partialScheduleOptions\n ////\n if (options.partialScheduleOptions) {\n const { includedEvents, omittedEventsHandling } = options.partialScheduleOptions;\n if (includedEvents && !includedEvents.has(doc.id)) {\n\n if (omittedEventsHandling == 'ignore') return;\n\n if (omittedEventsHandling == 'freeze') {\n // must not be parked and have a start and duration to be frozen, otherwise it's ignored\n if (lockedTime.parked || !lockedTime.start || !lockedTime.duration) return;\n\n // fix day, start and end\n Object.assign(doc, toDayAndStart(lockedTime.start));\n doc.length = lockedTime.duration;\n doc.maxLengthVariance = 0;\n\n // override intervals and days to not cause conflicts\n const numDays = settings.numDays ?? 5;\n doc.days = Array.from({ length: numDays }, (_, i) => i);\n doc.intervals = Array.from({ length: numDays }, () => [{ beg: 0, end: 23.55 }]);\n\n // fix locations\n // > locations are always fixed for locked times\n }\n }\n }\n\n return doc;\n}\n\n\n\nexport default (\n docs: (Deserialized<CoreTypes.group> | Deserialized<CoreTypes.teacher>)[],\n settings: Deserialized<CoreTypes.divisionSettings>,\n options: OutOptions,\n set: Set<string>,\n destructMap?: Map<string | null, Individual>\n) => {\n const idKey: 'id' | '_id' | 'ids' = (options.idKey ?? 'id');\n\n const lunches = docs\n .filter(x => !!x)\n .map(group => {\n return (group.lunch ?? [])\n .map(lockedTime => {\n return parseDynamicLockedTime(lockedTime, group, idKey, settings, options, set, destructMap);\n })\n .filter(x => x != null);\n })\n .flat();\n\n const complementaryTimes = (() => {\n const grouped = docs\n .filter(x => !!x)\n .map(group => {\n return (('complementaryTimes' in group ? group.complementaryTimes : null) ?? [])\n .map(lockedTime => {\n return parseDynamicLockedTime(lockedTime, group, idKey, settings, options, set, destructMap);\n })\n .filter(x => x != null);\n })\n .flat()\n // group by distribution key\n .reduce<Record<string, CourseEvent[]>>((acc, x) => {\n const key = [x.distributionKey || 'NO_DISTRIBUTION_KEY'].flat().toSorted().join('|');\n if (acc[key]) acc[key].push(x);\n else acc[key] = [x];\n return acc;\n }, { })\n\n // create a group out of each _complementaryTimes group\n return Object.entries(grouped).map(([id, events]): Collection => ({ id, events }));\n })();\n\n return [...lunches, ...complementaryTimes];\n};"],"mappings":";;;;;;AAcA,SAAS,uBACP,WACA,SACA,aACA;CACA,MAAM,QAAQ,QAAQ,SAAS;AAE/B,KAAI,CAAC,UAAW,QAAO;CAEvB,MAAM,WAAe,UAAU,QAAO,MAAK,EAAE,WAAW;CACxD,MAAM,SAAe,UAAU,QAAO,MAAK,EAAE,WAAW;CACxD,MAAM,eAAe,UAAU,QAAO,MAAK,EAAE,WAAW;CAExD,MAAM,aAAiB,SAAa,KAAK,EAAE,SAAS,GAAG,QAAQ,QAAQ,MAAkC,CAAC,CAAC,GACxG,KAAI,OAAM,EAAE,aAAa,CAAC,0BAA0B,EAAE;CACzD,MAAM,WAAiB,OAAa,KAAK,EAAE,SAAS,GAAG,QAAQ,QAAQ,MAAkC,CAAC,CAAC,GACxG,KAAI,MAAK,YAAY,EAAE;CAC1B,MAAM,iBAAiB,aAAa,KAAK,EAAE,SAAS,GAAG,QAAQ,QAAQ,MAAkC,CAAC,CAAC,GACxG,KAAI,OAAM,EAAE,aAAa,CAAC,aAAc,EAAE;CAG7C,MAAM,MAAM;EAAC,GAAG,IAAI,IAAI;EAAa,GAAG,IAAI,IAAI;EAAW,GAAG,IAAI,IAAI;GAAiB,KAAI,MAAK,CAAC;AACjG,QAAO;;AAIT,SAAS,uBACP,YACA,QAEA,OACA,UACA,SACA,KACA,aACA;CAEA,MAAM,EAAE,KAAK,WAAW,UAAU,kBAAkB,cAAc;CAElE,MAAMA,MAAc,WAAW,UAAwC,MAAM,cAAc;AAE3F,KAAI,IAAI,IAAI,IAAK;AAEjB,KAAI,IAAI;AAER,KAAI,YAAY,KACd,OAAM,IAAI,MAAM;AAElB,KAAI,WAAW,EACb,OAAM,IAAI,MAAM;AAElB,KAAI,CAAC,UACH,OAAM,IAAI,MAAM;CAKlB,IAAI,OAAO,WAAW,SAClB,UAAU,KAAK,EAAE,aAAa,OAAO,OAAO,QAAQ,KAAK,KACzD;AACJ,KAAI,KAAM,QAAO,CAAC,GAAG,IAAI,IAAI;CAC7B,MAAM,MAAM,MAAM,UAAU,IAAI,KAAK,KAAK;AAG1C,KAAI,OAAO,QAAQ,OAAO,MAAM,UAAU,CAAC,OAAO,KAAK,MAAK,MAAK,EAAE,OAAO,KAAM;CAEhF,MAAM,SAAS,uBAAuB,WAAW,SAAS;CAE1D,MAAM,kBAAkB,WAAW,QAAQ,uBACvC,wBAAwB,WAAW,MAAM,GAAG,IAAI,QAChD;CAGJ,MAAMC,MAAmB;EACvB,IAAgB,GAAI,OAAO,SAAS,OAAO,YAAY,cAAe,GAAI;EAC1E,QAAgB,CAAC,GAAG,IAAI,IAAI,OAAO,OAAO;EAC1C,cAAgB,CAAC,GAAG,IAAI,IAAI,UAAU,QAAO,MAAK,EAAE,WAAW,aAAa,KAAK,EAAE,SAAS,GAAG,QAAQ,YAAa,OAAO,WAAW,KAAI,MAAK,CAAC;EAChJ,QAAgB;EAChB,gBAAgB;EAChB,WAAgB,WAAW,SAASC,kBAAW,WAAW,YAAY;EACtE,GAAG,mBAAmB,EAAE;EACxB,GAAG,QAAQ,EAAE;EACb,GAAG,OAAO,EAAE;EACZ,GAAG,oBAAoB,QAAS,EAAE,mBAAmB;;AAQvD,KAAI,QAAQ,wBAAwB;EAClC,MAAM,EAAE,gBAAgB,0BAA0B,QAAQ;AAC1D,MAAI,kBAAkB,CAAC,eAAe,IAAI,IAAI,KAAK;AAEjD,OAAI,yBAAyB,SAAU;AAEvC,OAAI,yBAAyB,UAAU;AAErC,QAAI,WAAW,UAAU,CAAC,WAAW,SAAS,CAAC,WAAW,SAAU;AAGpE,WAAO,OAAO,KAAK,cAAc,WAAW;AAC5C,QAAI,SAAS,WAAW;AACxB,QAAI,oBAAoB;IAGxB,MAAM,UAAU,SAAS,WAAW;AACpC,QAAI,OAAY,MAAM,KAAK,EAAE,QAAQ,YAAY,GAAG,MAAM;AAC1D,QAAI,YAAY,MAAM,KAAK,EAAE,QAAQ,iBAAiB,CAAC;KAAE,KAAK;KAAG,KAAK;;;;;AAQ5E,QAAO;;AAKT,oCACE,MACA,UACA,SACA,KACA,gBACG;CACH,MAAMC,QAA+B,QAAQ,SAAS;CAEtD,MAAM,UAAU,KACb,QAAO,MAAK,CAAC,CAAC,GACd,KAAI,UAAS;AACZ,UAAQ,MAAM,SAAS,IACpB,KAAI,eAAc;AACjB,UAAO,uBAAuB,YAAY,OAAO,OAAO,UAAU,SAAS,KAAK;KAEjF,QAAO,MAAK,KAAK;IAErB;CAEH,MAAM,4BAA4B;EAChC,MAAM,UAAU,KACb,QAAO,MAAK,CAAC,CAAC,GACd,KAAI,UAAS;AACZ,YAAS,wBAAwB,QAAQ,MAAM,qBAAqB,SAAS,IAC1E,KAAI,eAAc;AACjB,WAAO,uBAAuB,YAAY,OAAO,OAAO,UAAU,SAAS,KAAK;MAEjF,QAAO,MAAK,KAAK;KAErB,OAEA,QAAuC,KAAK,MAAM;GACjD,MAAM,MAAM,CAAC,EAAE,mBAAmB,uBAAuB,OAAO,WAAW,KAAK;AAChF,OAAI,IAAI,KAAM,KAAI,KAAK,KAAK;OACd,KAAI,OAAO,CAAC;AAC1B,UAAO;KACN;AAGL,SAAO,OAAO,QAAQ,SAAS,KAAK,CAAC,IAAI,aAAyB;GAAE;GAAI;;;AAG1E,QAAQ,CAAC,GAAG,SAAS,GAAG"}
|
package/dist/RS/v3/to/groups.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { parseMaxWorkingHours } from "./util.js";
|
|
2
|
-
import days_default from "./days.js";
|
|
3
|
-
import locked_times_default from "./locked-times.js";
|
|
4
|
-
import break_lengths_default from "./break-lengths.js";
|
|
5
|
-
import intervals_default from "./intervals.js";
|
|
6
|
-
|
|
7
|
-
//#region src/RS/v3/to/groups.ts
|
|
8
|
-
var groups_default = (groups, settings, options) => {
|
|
9
|
-
if (groups == null) return [];
|
|
10
|
-
const idKey = options.idKey || "id";
|
|
11
|
-
return (Array.isArray(groups) ? groups : [groups]).filter((group) => group.species == "class").map((group, index) => {
|
|
12
|
-
if (group[idKey] == void 0) throw new Error(`(RS::V3::To::Groups) A group must have an id, index: ${index}`);
|
|
13
|
-
const hasIntervals = Boolean(group.intervals?.length || (group.rootInterval ?? settings.defaultRootInterval));
|
|
14
|
-
const doc = {
|
|
15
|
-
id: `groups.${group[idKey].toString()}`,
|
|
16
|
-
group_type: "classes",
|
|
17
|
-
...parseMaxWorkingHours(group, options),
|
|
18
|
-
..."weight" in group && { weight: group.weight },
|
|
19
|
-
...hasIntervals && { intervals: intervals_default(group.intervals, settings, group.rootInterval ?? settings.defaultRootInterval) },
|
|
20
|
-
...group.days?.length && { days: days_default(group.days, settings.numDays) },
|
|
21
|
-
...group.lockedTimes?.length && { lockedTimes: locked_times_default(group.lockedTimes, options) },
|
|
22
|
-
...group.minBreakLength != null && { minBreakLength: break_lengths_default(group.minBreakLength) },
|
|
23
|
-
minimizeGaps: true,
|
|
24
|
-
minimizeDependencyAlternation: false
|
|
25
|
-
};
|
|
26
|
-
if (options.meta) Object.assign(doc, {
|
|
27
|
-
...group.ids && { ids: group.ids },
|
|
28
|
-
...group.displayName && { name: group.displayName }
|
|
29
|
-
});
|
|
30
|
-
return doc;
|
|
31
|
-
}, []);
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
//#endregion
|
|
35
|
-
export { groups_default as default };
|
|
36
|
-
//# 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/v3/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 { ParsedOutOptions as OutOptions } from '../types/out-options';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\nimport { parseMaxWorkingHours } from './util';\n\nexport default (\n groups: Deserialized<CoreTypes.group>[] | Deserialized<CoreTypes.group>,\n settings: CoreTypes.divisionSettings,\n options: OutOptions\n): 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])\n .filter(group => group.species == 'class')\n .map((group, index) => {\n\n if (group[idKey] == undefined) throw new Error(`(RS::V3::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 ...parseMaxWorkingHours(group, options),\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 minimizeGaps: true,\n minimizeDependencyAlternation: false,\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":";;;;;;;AAYA,sBACE,QACA,UACA,YACY;AACZ,KAAI,UAAU,KACZ,QAAO;CAET,MAAMA,QAA+B,QAAQ,SAAS;AAEtD,SAAQ,MAAM,QAAQ,UAAU,SAAS,CAAC,SACvC,QAAO,UAAS,MAAM,WAAW,SACjC,KAAK,OAAO,UAAU;AAErB,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,qBAAqB,OAAO;GAC/B,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;GAC7F,cAA+B;GAC/B,+BAA+B;;AAGjC,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/v3/to/index.d.ts
DELETED
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
import { BreakLength } from "../../../core/v2/types/break-lengths.js";
|
|
2
|
-
import { Interval } from "../../../core/v2/types/intervals.js";
|
|
3
|
-
import { Day } from "../../../core/v2/types/days.js";
|
|
4
|
-
import { RootInterval } from "../../../core/v2/types/root-intervals.js";
|
|
5
|
-
import { MaximumScheduleSpan } from "../../../core/v2/types/common/maximum-schedule-span.js";
|
|
6
|
-
import { PlannedScheduledDuration } from "../../../core/v2/types/common/planned-schedule-duration.js";
|
|
7
|
-
import { LockedTime } from "../../../core/v2/types/locked-times.js";
|
|
8
|
-
import { OverlapGroup } from "../../../core/v2/types/overlap-groups.js";
|
|
9
|
-
import { Period } from "../../../core/v2/types/periods.js";
|
|
10
|
-
import { Exception } from "../../../core/v2/types/exceptions.js";
|
|
11
|
-
import { Syllabus } from "../../../core/v2/types/syllabus.js";
|
|
12
|
-
import { DivisionSettings } from "../../../core/v2/types/division-settings.js";
|
|
13
|
-
import { Division } from "../../../core/v2/types/divisions.js";
|
|
14
|
-
import { Types as Types$1 } from "../../../core/v2/types/index.js";
|
|
15
|
-
import { Deserialized, Serialized } from "../../../core/types/index.js";
|
|
16
|
-
import { AlgorithmWeightParameters } from "../types/algorithm-parameters.js";
|
|
17
|
-
import { Configuration } from "../types/configurations.js";
|
|
18
|
-
import { Constraint } from "../types/constraints.js";
|
|
19
|
-
import { OutOptions } from "../types/out-options.js";
|
|
20
|
-
import * as mongoose5 from "mongoose";
|
|
21
|
-
import * as lodash1 from "lodash";
|
|
22
|
-
|
|
23
|
-
//#region src/RS/v3/to/index.d.ts
|
|
24
|
-
declare class export_default {
|
|
25
|
-
static schedules: (schedule: Deserialized<Types$1.schedule>, _options?: OutOptions) => {
|
|
26
|
-
input: Constraint;
|
|
27
|
-
output?: Configuration[] | undefined;
|
|
28
|
-
coreData?: {
|
|
29
|
-
syllabuses: lodash1.Omit<Deserialized<Syllabus>, "_id" | "belongsTo" | "createdAt" | "updatedAt" | "lastModifiedBy">[];
|
|
30
|
-
settings: DivisionSettings;
|
|
31
|
-
rootIntervals: RootInterval[];
|
|
32
|
-
overlapGroups: Serialized<Omit<OverlapGroup, "belongsTo" | "lastModifiedBy">>[];
|
|
33
|
-
lockedTimes: LockedTime[];
|
|
34
|
-
events: {
|
|
35
|
-
period?: string | undefined;
|
|
36
|
-
exceptions?: string[] | undefined;
|
|
37
|
-
inLocations?: string[] | undefined;
|
|
38
|
-
locations?: {
|
|
39
|
-
locations: string[];
|
|
40
|
-
rank?: number | undefined;
|
|
41
|
-
groupIndex?: number | undefined;
|
|
42
|
-
}[] | undefined;
|
|
43
|
-
participants?: {
|
|
44
|
-
groupIndex?: number | undefined;
|
|
45
|
-
to: string;
|
|
46
|
-
}[] | undefined;
|
|
47
|
-
groups?: {
|
|
48
|
-
groupIndex?: number | undefined;
|
|
49
|
-
to: string;
|
|
50
|
-
exclude: string[] | undefined;
|
|
51
|
-
}[] | undefined;
|
|
52
|
-
teachers?: {
|
|
53
|
-
groupIndex?: number | undefined;
|
|
54
|
-
to: string;
|
|
55
|
-
}[] | undefined;
|
|
56
|
-
course: string | undefined;
|
|
57
|
-
_id?: mongoose5.Types.ObjectId | undefined;
|
|
58
|
-
id?: string | undefined;
|
|
59
|
-
belongsTo?: Deserialized<Division> | undefined;
|
|
60
|
-
density?: number | undefined;
|
|
61
|
-
weight?: number | undefined;
|
|
62
|
-
parked?: boolean | undefined;
|
|
63
|
-
color?: string | undefined;
|
|
64
|
-
fixedStart?: boolean | undefined;
|
|
65
|
-
start?: (moment.Moment | string | Date) | undefined;
|
|
66
|
-
end?: (moment.Moment | string | Date) | undefined;
|
|
67
|
-
ids?: string | undefined;
|
|
68
|
-
minBreakLength?: BreakLength | undefined;
|
|
69
|
-
weeks?: number[] | undefined;
|
|
70
|
-
type?: string | undefined;
|
|
71
|
-
displayName?: string | undefined;
|
|
72
|
-
visible?: boolean | undefined;
|
|
73
|
-
duration?: number | undefined;
|
|
74
|
-
preferredDuration?: number | undefined;
|
|
75
|
-
durationVariance?: number | undefined;
|
|
76
|
-
lockedTimes?: Deserialized<LockedTime>[] | undefined;
|
|
77
|
-
intervals?: Deserialized<Interval>[] | undefined;
|
|
78
|
-
centerOfAttraction?: string | null | undefined;
|
|
79
|
-
days?: Deserialized<Day>[] | undefined;
|
|
80
|
-
overlapGroup?: Deserialized<OverlapGroup> | undefined;
|
|
81
|
-
overlapSpecies?: Deserialized<OverlapGroup> | undefined;
|
|
82
|
-
tags?: Deserialized<{
|
|
83
|
-
type?: string;
|
|
84
|
-
value: string;
|
|
85
|
-
}>[] | undefined;
|
|
86
|
-
createdAt?: string | undefined;
|
|
87
|
-
updatedAt?: string | undefined;
|
|
88
|
-
lastModifiedBy?: unknown;
|
|
89
|
-
}[];
|
|
90
|
-
courses: {
|
|
91
|
-
syllabus?: string | undefined;
|
|
92
|
-
period?: string | undefined;
|
|
93
|
-
locations?: {
|
|
94
|
-
locations: string[];
|
|
95
|
-
rank?: number | undefined;
|
|
96
|
-
groupIndex?: number | undefined;
|
|
97
|
-
}[] | undefined;
|
|
98
|
-
participants?: {
|
|
99
|
-
groupIndex?: number | undefined;
|
|
100
|
-
to: string;
|
|
101
|
-
}[] | undefined;
|
|
102
|
-
groups?: {
|
|
103
|
-
groupIndex?: number | undefined;
|
|
104
|
-
to: string;
|
|
105
|
-
exclude: string[] | undefined;
|
|
106
|
-
}[] | undefined;
|
|
107
|
-
teachers?: {
|
|
108
|
-
groupIndex?: number | undefined;
|
|
109
|
-
to: string;
|
|
110
|
-
}[] | undefined;
|
|
111
|
-
id?: string | undefined;
|
|
112
|
-
displayName?: string | undefined;
|
|
113
|
-
ids?: string | undefined;
|
|
114
|
-
startDate?: string | undefined;
|
|
115
|
-
comment?: string | undefined;
|
|
116
|
-
subject?: string | undefined;
|
|
117
|
-
endDate?: string | undefined;
|
|
118
|
-
plannedDuration?: string | undefined;
|
|
119
|
-
type?: string | undefined;
|
|
120
|
-
tags?: Deserialized<{
|
|
121
|
-
type?: string;
|
|
122
|
-
value: string;
|
|
123
|
-
}>[] | undefined;
|
|
124
|
-
density?: number | undefined;
|
|
125
|
-
weight?: number | undefined;
|
|
126
|
-
minBreakLength?: BreakLength | undefined;
|
|
127
|
-
weeks?: number[] | undefined;
|
|
128
|
-
color?: string | undefined;
|
|
129
|
-
eventDurationVariance?: number | undefined;
|
|
130
|
-
totalTime?: string | undefined;
|
|
131
|
-
exceptions?: Deserialized<Exception>[] | undefined;
|
|
132
|
-
intervals?: Deserialized<Interval>[] | undefined;
|
|
133
|
-
centerOfAttraction?: string | null | undefined;
|
|
134
|
-
days?: Deserialized<Day>[] | undefined;
|
|
135
|
-
minutesPerWeek?: number | undefined;
|
|
136
|
-
expectedTotalHours?: number | undefined;
|
|
137
|
-
updatedAt?: string | undefined;
|
|
138
|
-
}[];
|
|
139
|
-
persons: {
|
|
140
|
-
exceptions?: string[] | undefined;
|
|
141
|
-
group: string | undefined;
|
|
142
|
-
_id?: mongoose5.Types.ObjectId | undefined;
|
|
143
|
-
id?: string | undefined;
|
|
144
|
-
belongsTo?: Deserialized<Division> | undefined;
|
|
145
|
-
ids?: string | undefined;
|
|
146
|
-
displayName?: string | undefined;
|
|
147
|
-
lastName?: string | undefined;
|
|
148
|
-
firstName?: string | undefined;
|
|
149
|
-
birthDate?: Date | undefined;
|
|
150
|
-
sex?: "Man" | "Woman" | undefined;
|
|
151
|
-
type?: "Student" | "Teacher" | "Other" | undefined;
|
|
152
|
-
SSN?: {
|
|
153
|
-
value: string;
|
|
154
|
-
nationality?: string;
|
|
155
|
-
} | undefined;
|
|
156
|
-
emails?: Deserialized<{
|
|
157
|
-
value: string;
|
|
158
|
-
type: "private" | "organization";
|
|
159
|
-
}>[] | undefined;
|
|
160
|
-
phoneNumbers?: Deserialized<{
|
|
161
|
-
value: string;
|
|
162
|
-
type: "private" | "organization";
|
|
163
|
-
}>[] | undefined;
|
|
164
|
-
tags?: Deserialized<{
|
|
165
|
-
type?: string;
|
|
166
|
-
value: string;
|
|
167
|
-
}>[] | undefined;
|
|
168
|
-
lockedTimes?: Deserialized<LockedTime>[] | undefined;
|
|
169
|
-
lunch?: Deserialized<LockedTime>[] | undefined;
|
|
170
|
-
createdAt?: string | undefined;
|
|
171
|
-
updatedAt?: string | undefined;
|
|
172
|
-
}[];
|
|
173
|
-
groups: {
|
|
174
|
-
exceptions?: string[] | undefined;
|
|
175
|
-
parentGroups?: string[] | undefined;
|
|
176
|
-
rootInterval?: string | Deserialized<RootInterval> | undefined;
|
|
177
|
-
members?: string[] | undefined;
|
|
178
|
-
id?: string | undefined;
|
|
179
|
-
displayName?: string | undefined;
|
|
180
|
-
ids?: string | undefined;
|
|
181
|
-
tags?: Deserialized<{
|
|
182
|
-
type?: string;
|
|
183
|
-
value: string;
|
|
184
|
-
}>[] | undefined;
|
|
185
|
-
weight?: number | undefined;
|
|
186
|
-
minBreakLength?: BreakLength | undefined;
|
|
187
|
-
intervals?: Deserialized<Interval>[] | undefined;
|
|
188
|
-
days?: Deserialized<Day>[] | undefined;
|
|
189
|
-
updatedAt?: string | undefined;
|
|
190
|
-
rank?: number | undefined;
|
|
191
|
-
species?: string | undefined;
|
|
192
|
-
forbidOverlappingEvents?: boolean | undefined;
|
|
193
|
-
maxNumWorkingHours?: number | boolean | undefined;
|
|
194
|
-
maxNumDailyWorkingHours?: number | number[] | boolean | undefined;
|
|
195
|
-
disableDayLengthPunishment?: boolean | undefined;
|
|
196
|
-
maximumScheduleSpan?: MaximumScheduleSpan | undefined;
|
|
197
|
-
}[];
|
|
198
|
-
teachers: {
|
|
199
|
-
exceptions?: string[] | Deserialized<Exception>[] | undefined;
|
|
200
|
-
person?: string | undefined;
|
|
201
|
-
id?: string | undefined;
|
|
202
|
-
displayName?: string | undefined;
|
|
203
|
-
ids?: string | undefined;
|
|
204
|
-
tags?: Deserialized<{
|
|
205
|
-
type?: string;
|
|
206
|
-
value: string;
|
|
207
|
-
}>[] | undefined;
|
|
208
|
-
weight?: number | undefined;
|
|
209
|
-
minBreakLength?: BreakLength | undefined;
|
|
210
|
-
intervals?: Deserialized<Interval>[] | undefined;
|
|
211
|
-
days?: Deserialized<Day>[] | undefined;
|
|
212
|
-
updatedAt?: string | undefined;
|
|
213
|
-
rank?: number | undefined;
|
|
214
|
-
forbidOverlappingEvents?: boolean | undefined;
|
|
215
|
-
maxNumWorkingHours?: number | boolean | undefined;
|
|
216
|
-
maxNumDailyWorkingHours?: number | number[] | boolean | undefined;
|
|
217
|
-
disableDayLengthPunishment?: boolean | undefined;
|
|
218
|
-
maximumScheduleSpan?: MaximumScheduleSpan | undefined;
|
|
219
|
-
rootInterval?: Deserialized<RootInterval> | undefined;
|
|
220
|
-
plannedScheduledDuration?: PlannedScheduledDuration | undefined;
|
|
221
|
-
complementaryTimes?: Deserialized<LockedTime>[] | undefined;
|
|
222
|
-
signature?: string | undefined;
|
|
223
|
-
}[];
|
|
224
|
-
locations: {
|
|
225
|
-
exceptions?: string[] | Deserialized<Exception>[] | undefined;
|
|
226
|
-
_id?: mongoose5.Types.ObjectId | undefined;
|
|
227
|
-
id?: string | undefined;
|
|
228
|
-
belongsTo?: Deserialized<Division> | undefined;
|
|
229
|
-
ids?: string | undefined;
|
|
230
|
-
rank?: number | undefined;
|
|
231
|
-
maximumCapacity?: number | undefined;
|
|
232
|
-
displayName?: string | undefined;
|
|
233
|
-
text?: string | undefined;
|
|
234
|
-
lockedTimes?: Deserialized<LockedTime>[] | undefined;
|
|
235
|
-
lunch?: Deserialized<LockedTime>[] | undefined;
|
|
236
|
-
intervals?: Deserialized<Interval>[] | undefined;
|
|
237
|
-
days?: Deserialized<Day>[] | undefined;
|
|
238
|
-
area?: string | undefined;
|
|
239
|
-
minBreakLength?: number | undefined;
|
|
240
|
-
createdAt?: string | undefined;
|
|
241
|
-
updatedAt?: string | undefined;
|
|
242
|
-
lastModifiedBy?: unknown;
|
|
243
|
-
tags?: Deserialized<{
|
|
244
|
-
type?: string;
|
|
245
|
-
value: string;
|
|
246
|
-
}>[] | undefined;
|
|
247
|
-
}[];
|
|
248
|
-
periods: Period[];
|
|
249
|
-
exceptions: Exception[];
|
|
250
|
-
division: Pick<Division, "start" | "end" | "displayName">;
|
|
251
|
-
meta: {
|
|
252
|
-
structure: "RS/core-2.0.0";
|
|
253
|
-
};
|
|
254
|
-
} | undefined;
|
|
255
|
-
meta: {
|
|
256
|
-
structure: "RS/algorithm-3.0.0";
|
|
257
|
-
division: Pick<Deserialized<Division>, "start" | "end" | "displayName">;
|
|
258
|
-
};
|
|
259
|
-
algorithmParameters: {
|
|
260
|
-
weights: AlgorithmWeightParameters | undefined;
|
|
261
|
-
};
|
|
262
|
-
};
|
|
263
|
-
}
|
|
264
|
-
//#endregion
|
|
265
|
-
export { export_default };
|
|
266
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_schedules"],"sources":["../../../../src/RS/v3/to/index.ts"],"sourcesContent":["\nimport _schedules from './schedules';\n\nexport default class {\n static schedules = _schedules;\n}"],"mappings":";;;AAGA,uBAAqB;CACnB,OAAO,YAAYA"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
//#region src/RS/v3/to/individuals.ts
|
|
2
|
-
function groupsToIndividuals(groups, settings, options) {
|
|
3
|
-
if (groups == null) return [];
|
|
4
|
-
const idKey = options.idKey || "id";
|
|
5
|
-
return (Array.isArray(groups) ? groups : [groups]).filter((group) => group.species == null).map((group, index) => {
|
|
6
|
-
if (group[idKey] == void 0) throw new Error(`(RS::V3::To::Individuals) A group must have an id, index: ${index}`);
|
|
7
|
-
const doc = {
|
|
8
|
-
id: `groups.${group[idKey].toString()}`,
|
|
9
|
-
individuals: group.members?.map((member) => `persons.${member[idKey]}`) || []
|
|
10
|
-
};
|
|
11
|
-
if (options.meta) Object.assign(doc, {
|
|
12
|
-
...group.ids && { ids: group.ids },
|
|
13
|
-
...group.displayName && { name: group.displayName }
|
|
14
|
-
});
|
|
15
|
-
return doc;
|
|
16
|
-
}, []);
|
|
17
|
-
}
|
|
18
|
-
function personsToIndividuals(persons, settings, options) {
|
|
19
|
-
if (persons == null) return [];
|
|
20
|
-
const idKey = options.idKey || "id";
|
|
21
|
-
return (Array.isArray(persons) ? persons : [persons]).map((person, index) => {
|
|
22
|
-
if (person[idKey] == void 0) throw new Error(`(RS::V3::To::Individuals) A person must have an id, index: ${index}`);
|
|
23
|
-
const doc = {
|
|
24
|
-
id: `persons.${person[idKey].toString()}`,
|
|
25
|
-
...person.group && person.group.species && { group: `groups.${person.group[idKey].toString()}` }
|
|
26
|
-
};
|
|
27
|
-
if (options.meta) Object.assign(doc, {
|
|
28
|
-
...person.ids && { ids: person.ids },
|
|
29
|
-
...person.displayName && { name: person.displayName }
|
|
30
|
-
});
|
|
31
|
-
return doc;
|
|
32
|
-
}, []);
|
|
33
|
-
}
|
|
34
|
-
function teachersToIndividuals(teachers, settings, options) {
|
|
35
|
-
if (teachers == null) return [];
|
|
36
|
-
const idKey = options.idKey || "id";
|
|
37
|
-
return (Array.isArray(teachers) ? teachers : [teachers]).map((person, index) => {
|
|
38
|
-
if (person[idKey] == void 0) throw new Error(`(RS::V3::To::Individuals) A teacher must have an id, index: ${index}`);
|
|
39
|
-
const doc = {
|
|
40
|
-
id: `teachers.individuals.${person[idKey].toString()}`,
|
|
41
|
-
group: `teachers.${person[idKey].toString()}`
|
|
42
|
-
};
|
|
43
|
-
return doc;
|
|
44
|
-
}, []);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
//#endregion
|
|
48
|
-
export { groupsToIndividuals, personsToIndividuals, teachersToIndividuals };
|
|
49
|
-
//# sourceMappingURL=individuals.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"individuals.js","names":["idKey: keyof CoreTypes.group","doc: Individual","idKey: keyof CoreTypes.person"],"sources":["../../../../src/RS/v3/to/individuals.ts"],"sourcesContent":["import { ParsedOutOptions as OutOptions } from '../types/out-options';\n\nimport { Types as CoreTypes } from '../../../core/types';\nimport { Deserialized } from '../../../core/types';\nimport { Individual } from '../types/individuals';\n\ntype GroupType = Exclude<Deserialized<CoreTypes.group>, { species: string }>;\n\nexport function groupsToIndividuals (\n groups: GroupType[] | GroupType,\n settings: CoreTypes.divisionSettings,\n options: OutOptions\n): Individual[] {\n if (groups == null)\n return [];\n\n const idKey: keyof CoreTypes.group = options.idKey || 'id';\n\n return (Array.isArray(groups) ? groups : [groups])\n .filter(group => group.species == null)\n .map((group, index) => {\n\n if (group[idKey] == undefined) throw new Error(`(RS::V3::To::Individuals) A group must have an id, index: ${ index }`);\n\n const doc: Individual = {\n id: `groups.${ group[idKey]!.toString() }`,\n individuals: group.members?.map((member) => `persons.${ member[idKey] }`) || [],\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\nexport function personsToIndividuals (\n persons: Deserialized<CoreTypes.person>[] | Deserialized<CoreTypes.person>,\n settings: CoreTypes.divisionSettings,\n options: OutOptions\n): Individual[] {\n if (persons == null)\n return [];\n\n const idKey: keyof CoreTypes.person = options.idKey || 'id';\n\n return (Array.isArray(persons) ? persons : [persons]).map((person, index) => {\n\n if (person[idKey] == undefined) throw new Error(`(RS::V3::To::Individuals) A person must have an id, index: ${ index }`);\n\n const doc: Individual = {\n id: `persons.${ person[idKey]!.toString() }`,\n ...(person.group && person.group.species) && { group: `groups.${ person.group[idKey]!.toString() }` },\n };\n\n if (options.meta) {\n Object.assign(doc, {\n ...person.ids && { ids: person.ids },\n ...person.displayName && { name: person.displayName },\n });\n }\n\n return doc;\n }, []);\n}\n\nexport function teachersToIndividuals (\n teachers: Deserialized<CoreTypes.teacher>[] | Deserialized<CoreTypes.teacher>,\n settings: CoreTypes.divisionSettings,\n options: OutOptions\n): Individual[] {\n if (teachers == null)\n return [];\n\n const idKey: keyof CoreTypes.person = options.idKey || 'id';\n\n return (Array.isArray(teachers) ? teachers : [teachers]).map((person, index) => {\n\n if (person[idKey] == undefined) throw new Error(`(RS::V3::To::Individuals) A teacher must have an id, index: ${ index }`);\n\n const doc: Individual = {\n id: `teachers.individuals.${ person[idKey]!.toString() }`,\n group: `teachers.${ person[idKey]!.toString() }`,\n };\n\n return doc;\n }, []);\n}"],"mappings":";AAQA,SAAgB,oBACd,QACA,UACA,SACc;AACd,KAAI,UAAU,KACZ,QAAO;CAET,MAAMA,QAA+B,QAAQ,SAAS;AAEtD,SAAQ,MAAM,QAAQ,UAAU,SAAS,CAAC,SACvC,QAAO,UAAS,MAAM,WAAW,MACjC,KAAK,OAAO,UAAU;AAErB,MAAI,MAAM,UAAU,OAAW,OAAM,IAAI,MAAM,6DAA8D;EAE7G,MAAMC,MAAkB;GACtB,IAAa,UAAW,MAAM,OAAQ;GACtC,aAAa,MAAM,SAAS,KAAK,WAAW,WAAY,OAAO,aAAc;;AAG/E,MAAI,QAAQ,KACV,QAAO,OAAO,KAAK;GACjB,GAAG,MAAM,OAAiC,EAAE,KAA4B,MAAM;GAC9E,GAAG,MAAM,eAAiC,EAAE,MAA4B,MAAM;;AAIlF,SAAO;IACN;;AAGP,SAAgB,qBACd,SACA,UACA,SACc;AACd,KAAI,WAAW,KACb,QAAO;CAET,MAAMC,QAAgC,QAAQ,SAAS;AAEvD,SAAQ,MAAM,QAAQ,WAAW,UAAU,CAAC,UAAU,KAAK,QAAQ,UAAU;AAE3E,MAAI,OAAO,UAAU,OAAW,OAAM,IAAI,MAAM,8DAA+D;EAE/G,MAAMD,MAAkB;GACtB,IAAI,WAAY,OAAO,OAAQ;GAC/B,GAAI,OAAO,SAAS,OAAO,MAAM,WAAY,EAAE,OAAO,UAAW,OAAO,MAAM,OAAQ;;AAGxF,MAAI,QAAQ,KACV,QAAO,OAAO,KAAK;GACjB,GAAG,OAAO,OAAgB,EAAE,KAA4B,OAAO;GAC/D,GAAG,OAAO,eAAgB,EAAE,MAA4B,OAAO;;AAInE,SAAO;IACN;;AAGL,SAAgB,sBACd,UACA,UACA,SACc;AACd,KAAI,YAAY,KACd,QAAO;CAET,MAAMC,QAAgC,QAAQ,SAAS;AAEvD,SAAQ,MAAM,QAAQ,YAAY,WAAW,CAAC,WAAW,KAAK,QAAQ,UAAU;AAE9E,MAAI,OAAO,UAAU,OAAW,OAAM,IAAI,MAAM,+DAAgE;EAEhH,MAAMD,MAAkB;GACtB,IAAO,wBAAyB,OAAO,OAAQ;GAC/C,OAAO,YAAa,OAAO,OAAQ;;AAGrC,SAAO;IACN"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import moment from "moment";
|
|
2
|
-
|
|
3
|
-
//#region src/RS/v3/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::V3::To::Intervals) Intervals are missing");
|
|
10
|
-
return intervals.map((interval, day) => {
|
|
11
|
-
if (!interval.start) throw new Error("(RS::V3::To::Intervals) Interval missing start");
|
|
12
|
-
if (!interval.end) throw new Error("(RS::V3::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/v3/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::V3::To::Intervals) Intervals are missing');\n\n return intervals.map((interval, day: number) => {\n if (!interval.start)\n throw new Error('(RS::V3::To::Intervals) Interval missing start');\n\n if (!interval.end)\n throw new Error('(RS::V3::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/v3/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::V3::To::LockedTimes) start is not a valid date");
|
|
18
|
-
} else throw new Error("(RS::V3::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::V3::To::LockedTimes) end is not a valid date");
|
|
22
|
-
} else throw new Error("(RS::V3::To::LockedTimes) A locked time must have an end time");
|
|
23
|
-
if (endDate.isBefore(startDate)) throw new Error("(RS::V3::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::V3::To::LockedTimes) Length of a locked time is null");
|
|
27
|
-
if (length < 5) throw new Error("(RS::V3::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::V3::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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"locked-times.js","names":["startDate: moment.Moment","endDate: moment.Moment","length: number | undefined","start: number | undefined","doc: LockedTime"],"sources":["../../../../src/RS/v3/to/locked-times.ts"],"sourcesContent":["import moment from 'moment';\n\nimport { LockedTime } from '../types/locked-times';\nimport { ParsedOutOptions as OutOptions } from '../types/out-options';\n\nimport { Types as CoreTypes } from '../../../core/types';\n\nconst typeMap = new Map();\ntypeMap.set('teachers', 'teachers');\ntypeMap.set('groups', 'groups');\ntypeMap.set('locations', 'dependencies');\ntypeMap.set('courses', 'courses');\ntypeMap.set('courseevents', 'events');\n\nexport default (lockedTimes: CoreTypes.lockedTime[] | CoreTypes.lockedTime,\n options: OutOptions): LockedTime[] | never => {\n\n const docs = (Array.isArray(lockedTimes) ? lockedTimes : [lockedTimes]);\n\n return docs.map((lockedTime): LockedTime => {\n let startDate: moment.Moment;\n let endDate: moment.Moment;\n if (lockedTime.start) {\n startDate = moment.utc(lockedTime.start);\n\n if (!startDate.isValid())\n throw new Error('(RS::V3::To::LockedTimes) start is not a valid date');\n } else {\n throw new Error('(RS::V3::To::LockedTimes) A locked time must have a start time');\n }\n\n if (lockedTime.end) {\n endDate = moment.utc(lockedTime.end);\n\n if (!endDate.isValid())\n throw new Error('(RS::V3::To::LockedTimes) end is not a valid date');\n } else {\n throw new Error('(RS::V3::To::LockedTimes) A locked time must have an end time');\n }\n\n if (endDate.isBefore(startDate))\n throw new Error('(RS::V3::To::LockedTimes) start is after end');\n\n let length: number | undefined;\n\n if (startDate && endDate)\n length = endDate.diff(startDate, 'minutes', true);\n\n if (length == null)\n throw new Error('(RS::V3::To::LockedTimes) Length of a locked time is null');\n\n if (length < 5)\n throw new Error('(RS::V3::To::LockedTimes) Length of a locked time is less than 5 min');\n\n let start: number | undefined;\n if (startDate) {\n start = parseFloat(startDate.format('HH.mm'));\n if (start == null) {\n throw new Error('(RS::V3::To::LockedTimes) start could not be converted to float');\n }\n }\n\n const doc: LockedTime = {\n length: length,\n day: (startDate.day() + 6) % 7,\n start: start,\n };\n\n if (options.meta) {\n Object.assign(doc, {\n id: lockedTime.id,\n ...lockedTime.hasOwnProperty('visible') && { visible: lockedTime.visible },\n ...lockedTime.displayName && { name: lockedTime.displayName },\n });\n }\n return doc;\n });\n};"],"mappings":";;;AAOA,MAAM,0BAAiB,IAAI;AAC3B,QAAQ,IAAI,YAAkB;AAC9B,QAAQ,IAAI,UAAkB;AAC9B,QAAQ,IAAI,aAAkB;AAC9B,QAAQ,IAAI,WAAkB;AAC9B,QAAQ,IAAI,gBAAkB;AAE9B,4BAAgB,aACd,YAAkD;CAElD,MAAM,OAAQ,MAAM,QAAQ,eAAe,cAAc,CAAC;AAE1D,QAAO,KAAK,KAAK,eAA2B;EAC1C,IAAIA;EACJ,IAAIC;AACJ,MAAI,WAAW,OAAO;AACpB,eAAY,OAAO,IAAI,WAAW;AAElC,OAAI,CAAC,UAAU,UACb,OAAM,IAAI,MAAM;QAElB,OAAM,IAAI,MAAM;AAGlB,MAAI,WAAW,KAAK;AAClB,aAAU,OAAO,IAAI,WAAW;AAEhC,OAAI,CAAC,QAAQ,UACX,OAAM,IAAI,MAAM;QAElB,OAAM,IAAI,MAAM;AAGlB,MAAI,QAAQ,SAAS,WACnB,OAAM,IAAI,MAAM;EAElB,IAAIC;AAEJ,MAAI,aAAa,QACf,UAAS,QAAQ,KAAK,WAAW,WAAW;AAE9C,MAAI,UAAU,KACZ,OAAM,IAAI,MAAM;AAElB,MAAI,SAAS,EACX,OAAM,IAAI,MAAM;EAElB,IAAIC;AACJ,MAAI,WAAW;AACb,WAAQ,WAAW,UAAU,OAAO;AACpC,OAAI,SAAS,KACX,OAAM,IAAI,MAAM;;EAIpB,MAAMC,MAAkB;GACd;GACR,MAAS,UAAU,QAAQ,KAAK;GACxB;;AAGV,MAAI,QAAQ,KACV,QAAO,OAAO,KAAK;GACjB,IAAI,WAAW;GACf,GAAG,WAAW,eAAe,cAAc,EAAE,SAAW,WAAW;GACnE,GAAG,WAAW,eAA6B,EAAE,MAAW,WAAW;;AAGvE,SAAO"}
|