@royalschedule/maps 3.3.17 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/Additio/from/courses.js.map +1 -1
- package/dist/Additio/from/events.js.map +1 -1
- package/dist/Additio/from/groups.js.map +1 -1
- package/dist/Additio/from/index.js.map +1 -1
- package/dist/Additio/from/locations.js.map +1 -1
- package/dist/Additio/from/persons.js +1 -1
- package/dist/Additio/from/persons.js.map +1 -1
- package/dist/Additio/from/schedules.d.ts +32 -2
- package/dist/Additio/from/schedules.js.map +1 -1
- package/dist/Additio/from/teachers.js.map +1 -1
- package/dist/Additio/index.js.map +1 -1
- package/dist/Additio/to/index.d.ts +12 -12
- package/dist/Additio/to/index.js.map +1 -1
- package/dist/Additio/to/schedules.js +44 -46
- package/dist/Additio/to/schedules.js.map +1 -1
- package/dist/Additio/types/options.d.ts +8 -0
- package/dist/Admentum/from/courses.js.map +1 -1
- package/dist/Admentum/from/events.js.map +1 -1
- package/dist/Admentum/from/groups.js.map +1 -1
- package/dist/Admentum/from/index.js.map +1 -1
- package/dist/Admentum/from/locations.js.map +1 -1
- package/dist/Admentum/from/persons.js +1 -1
- package/dist/Admentum/from/persons.js.map +1 -1
- package/dist/Admentum/from/schedules.d.ts +32 -2
- package/dist/Admentum/from/schedules.js.map +1 -1
- package/dist/Admentum/from/teachers.js.map +1 -1
- package/dist/Admentum/index.js.map +1 -1
- package/dist/Admentum/to/index.d.ts +11 -10
- package/dist/Admentum/to/index.js.map +1 -1
- package/dist/Admentum/to/schedules.js +22 -25
- package/dist/Admentum/to/schedules.js.map +1 -1
- package/dist/Excel/index.d.ts +55 -4
- package/dist/Excel/index.js.map +1 -1
- package/dist/Excel/v1/from/index.js +7 -7
- package/dist/Excel/v1/from/index.js.map +1 -1
- package/dist/Excel/v1/index.d.ts +30 -2
- package/dist/Excel/v1/index.js.map +1 -1
- package/dist/Excel/v2/from/index.js +10 -10
- package/dist/Excel/v2/from/index.js.map +1 -1
- package/dist/Excel/v2/index.d.ts +53 -2
- package/dist/Excel/v2/index.js.map +1 -1
- package/dist/IdunSoft/from/courses.js +4 -3
- package/dist/IdunSoft/from/courses.js.map +1 -1
- package/dist/IdunSoft/from/events.js +43 -32
- package/dist/IdunSoft/from/events.js.map +1 -1
- package/dist/IdunSoft/from/groups.js +5 -4
- package/dist/IdunSoft/from/groups.js.map +1 -1
- package/dist/IdunSoft/from/index.js.map +1 -1
- package/dist/IdunSoft/from/locations.js +4 -3
- package/dist/IdunSoft/from/locations.js.map +1 -1
- package/dist/IdunSoft/from/schedules.d.ts +18 -3
- package/dist/IdunSoft/from/schedules.js +5 -10
- package/dist/IdunSoft/from/schedules.js.map +1 -1
- package/dist/IdunSoft/from/teachers.js +4 -3
- package/dist/IdunSoft/from/teachers.js.map +1 -1
- package/dist/IdunSoft/index.js.map +1 -1
- package/dist/IdunSoft/to/index.d.ts +2 -3
- package/dist/IdunSoft/to/index.js.map +1 -1
- package/dist/IdunSoft/to/schedules.js +22 -21
- package/dist/IdunSoft/to/schedules.js.map +1 -1
- package/dist/InfoMentor/index.js.map +1 -1
- package/dist/InfoMentor/to/index.d.ts +2 -2
- package/dist/InfoMentor/to/index.js.map +1 -1
- package/dist/InfoMentor/to/schedules.js +26 -27
- package/dist/InfoMentor/to/schedules.js.map +1 -1
- package/dist/PlanDigital/from/index.js.map +1 -1
- package/dist/PlanDigital/from/schedules.js +7 -6
- package/dist/PlanDigital/from/schedules.js.map +1 -1
- package/dist/PlanDigital/index.d.ts +106 -5
- package/dist/PlanDigital/index.js +0 -2
- package/dist/PlanDigital/index.js.map +1 -1
- package/dist/PlanDigital/types/index.d.ts +12 -11
- package/dist/Quiculum/file/to/index.d.ts +1 -1
- package/dist/Quiculum/file/to/schedules.js +11 -13
- package/dist/Quiculum/file/to/schedules.js.map +1 -1
- package/dist/RS/from/division.d.ts +7 -0
- package/dist/RS/from/division.js +14 -0
- package/dist/RS/from/division.js.map +1 -0
- package/dist/RS/from/index.js +12 -0
- package/dist/RS/from/index.js.map +1 -0
- package/dist/RS/from/schedules.d.ts +8 -0
- package/dist/RS/from/schedules.js +36 -0
- package/dist/RS/from/schedules.js.map +1 -0
- package/dist/RS/index.d.ts +11 -12
- package/dist/RS/index.js +4 -8
- package/dist/RS/index.js.map +1 -1
- package/dist/RS/make-connected.d.ts +24 -0
- package/dist/RS/make-connected.js +258 -0
- package/dist/RS/make-connected.js.map +1 -0
- package/dist/RS/to/index.js +8 -0
- package/dist/RS/to/index.js.map +1 -0
- package/dist/RS/to/initial-configuration.js +43 -0
- package/dist/RS/to/initial-configuration.js.map +1 -0
- package/dist/RS/to/input/collections.js +57 -0
- package/dist/RS/to/input/collections.js.map +1 -0
- package/dist/RS/{v3/to → to/input}/default.js +10 -18
- package/dist/RS/to/input/default.js.map +1 -0
- package/dist/RS/to/input/dependencies.js +32 -0
- package/dist/RS/to/input/dependencies.js.map +1 -0
- package/dist/RS/to/input/dynamic-locked-times.js +67 -0
- package/dist/RS/to/input/dynamic-locked-times.js.map +1 -0
- package/dist/RS/to/input/events.js +84 -0
- package/dist/RS/to/input/events.js.map +1 -0
- package/dist/RS/to/input/groups.js +36 -0
- package/dist/RS/to/input/groups.js.map +1 -0
- package/dist/RS/to/input/individuals.js +49 -0
- package/dist/RS/to/input/individuals.js.map +1 -0
- package/dist/RS/to/input/input.js +40 -0
- package/dist/RS/to/input/input.js.map +1 -0
- package/dist/RS/to/input/intervals.js +99 -0
- package/dist/RS/to/input/intervals.js.map +1 -0
- package/dist/RS/to/input/periods.js +44 -0
- package/dist/RS/to/input/periods.js.map +1 -0
- package/dist/RS/to/input/settings.js +17 -0
- package/dist/RS/to/input/settings.js.map +1 -0
- package/dist/RS/to/input/teachers.js +36 -0
- package/dist/RS/to/input/teachers.js.map +1 -0
- package/dist/RS/to/input/util/attach-locked-times.js +27 -0
- package/dist/RS/to/input/util/attach-locked-times.js.map +1 -0
- package/dist/RS/to/input/util/parse-days.js +10 -0
- package/dist/RS/to/input/util/parse-days.js.map +1 -0
- package/dist/RS/to/input/util/parse-group-references.js +58 -0
- package/dist/RS/to/input/util/parse-group-references.js.map +1 -0
- package/dist/RS/to/input/util/parse-intervals.js +55 -0
- package/dist/RS/to/input/util/parse-intervals.js.map +1 -0
- package/dist/RS/to/input/util/parse-location-references.js +31 -0
- package/dist/RS/to/input/util/parse-location-references.js.map +1 -0
- package/dist/RS/to/input/util/parse-max-working-hours.js +17 -0
- package/dist/RS/to/input/util/parse-max-working-hours.js.map +1 -0
- package/dist/RS/to/input/util/parse-minimum-break-length.js +19 -0
- package/dist/RS/to/input/util/parse-minimum-break-length.js.map +1 -0
- package/dist/RS/to/input/util/util.js +61 -0
- package/dist/RS/to/input/util/util.js.map +1 -0
- package/dist/RS/to/schedules.d.ts +7 -0
- package/dist/RS/to/schedules.js +40 -0
- package/dist/RS/to/schedules.js.map +1 -0
- package/dist/RS/{v3/types → types}/algorithm-parameters.d.ts +1 -1
- package/dist/RS/types/collections.d.ts +26 -0
- package/dist/RS/types/configurations.d.ts +10 -0
- package/dist/RS/{v3/types → types}/default.d.ts +4 -5
- package/dist/RS/types/dependencies.d.ts +16 -0
- package/dist/RS/types/event-configuration.d.ts +20 -0
- package/dist/RS/types/events.d.ts +27 -0
- package/dist/RS/{v2/types → types}/groups.d.ts +13 -12
- package/dist/RS/types/index.d.ts +45 -0
- package/dist/RS/types/individuals.d.ts +16 -0
- package/dist/RS/{v2/types → types}/locked-times.d.ts +2 -1
- package/dist/RS/types/root-intervals.d.ts +10 -0
- package/dist/RS/types/schedule-data.d.ts +16 -0
- package/dist/RS/{v2/types → types}/settings.d.ts +1 -1
- package/dist/RS/types/shared.d.ts +27 -0
- package/dist/RS/types/to.d.ts +59 -0
- package/dist/SchoolSoft/api/from/index.js.map +1 -1
- package/dist/SchoolSoft/api/from/schedules.js +31 -37
- package/dist/SchoolSoft/api/from/schedules.js.map +1 -1
- package/dist/SchoolSoft/api/index.d.ts +14 -2
- package/dist/SchoolSoft/api/index.js.map +1 -1
- package/dist/SchoolSoft/file/from/index.js.map +1 -1
- package/dist/SchoolSoft/file/from/schedules.js +36 -46
- package/dist/SchoolSoft/file/from/schedules.js.map +1 -1
- package/dist/SchoolSoft/file/index.d.ts +2 -3
- package/dist/SchoolSoft/file/index.js.map +1 -1
- package/dist/SchoolSoft/file/to/index.d.ts +6 -13
- package/dist/SchoolSoft/file/to/schedules.js +40 -42
- package/dist/SchoolSoft/file/to/schedules.js.map +1 -1
- package/dist/SchoolSoft/index.d.ts +2 -3
- package/dist/SchoolSoft/index.js.map +1 -1
- package/dist/Schoolity/txt/index.js.map +1 -1
- package/dist/Schoolity/txt/to/index.d.ts +3 -3
- package/dist/Schoolity/txt/to/index.js.map +1 -1
- package/dist/Schoolity/txt/to/schedules.js +78 -96
- package/dist/Schoolity/txt/to/schedules.js.map +1 -1
- package/dist/Skola24/index.js.map +1 -1
- package/dist/Skola24/mdb/from/course-and-events.js +36 -29
- package/dist/Skola24/mdb/from/course-and-events.js.map +1 -1
- package/dist/Skola24/mdb/from/groups.js.map +1 -1
- package/dist/Skola24/mdb/from/index.js.map +1 -1
- package/dist/Skola24/mdb/from/locations.js.map +1 -1
- package/dist/Skola24/mdb/from/schedule.d.ts +21 -3
- package/dist/Skola24/mdb/from/schedule.js +15 -17
- package/dist/Skola24/mdb/from/schedule.js.map +1 -1
- package/dist/Skola24/mdb/from/teachers.js.map +1 -1
- package/dist/Skola24/mdb/index.js.map +1 -1
- package/dist/Skola24/mdb/types/index.d.ts +7 -0
- package/dist/Skola24/txt/from/calendar-exceptions.js.map +1 -1
- package/dist/Skola24/txt/from/division.js.map +1 -1
- package/dist/Skola24/txt/from/index.js.map +1 -1
- package/dist/Skola24/txt/from/period.js.map +1 -1
- package/dist/Skola24/txt/from/schedules.d.ts +16 -0
- package/dist/Skola24/txt/from/schedules.js +90 -80
- package/dist/Skola24/txt/from/schedules.js.map +1 -1
- package/dist/Skola24/txt/index.d.ts +17 -5
- package/dist/Skola24/txt/index.js.map +1 -1
- package/dist/Skola24/txt/to/index.d.ts +3 -3
- package/dist/Skola24/txt/to/index.js.map +1 -1
- package/dist/Skola24/txt/to/schedules.js +76 -91
- package/dist/Skola24/txt/to/schedules.js.map +1 -1
- package/dist/Skola24/txt/types/index.d.ts +17 -1
- package/dist/common/constants.js +2 -2
- package/dist/common/constants.js.map +1 -1
- package/dist/common/functions.js +16 -21
- package/dist/common/functions.js.map +1 -1
- package/dist/common/get-date.js +5 -6
- package/dist/common/get-date.js.map +1 -1
- package/dist/common/make-chainable/index.js +36 -0
- package/dist/common/make-chainable/index.js.map +1 -0
- package/dist/common/types.d.ts +19 -0
- package/dist/core/from/courses.js +12 -0
- package/dist/core/from/courses.js.map +1 -0
- package/dist/core/from/events.js +13 -0
- package/dist/core/from/events.js.map +1 -0
- package/dist/core/from/exceptions.js +12 -0
- package/dist/core/from/exceptions.js.map +1 -0
- package/dist/core/from/groups.js +12 -0
- package/dist/core/from/groups.js.map +1 -0
- package/dist/core/{v2/from → from}/index.js +1 -1
- package/dist/core/from/index.js.map +1 -0
- package/dist/core/from/locations.js +12 -0
- package/dist/core/from/locations.js.map +1 -0
- package/dist/core/from/locked-times.js +12 -0
- package/dist/core/from/locked-times.js.map +1 -0
- package/dist/core/from/overlap-groups.js +12 -0
- package/dist/core/from/overlap-groups.js.map +1 -0
- package/dist/core/from/periods.js +12 -0
- package/dist/core/from/periods.js.map +1 -0
- package/dist/core/from/persons.js +12 -0
- package/dist/core/from/persons.js.map +1 -0
- package/dist/core/from/root-intervals.js +12 -0
- package/dist/core/from/root-intervals.js.map +1 -0
- package/dist/core/from/schedules.d.ts +7 -0
- package/dist/core/from/schedules.js +35 -0
- package/dist/core/from/schedules.js.map +1 -0
- package/dist/core/{v2/from → from}/syllabuses.js +1 -1
- package/dist/core/from/syllabuses.js.map +1 -0
- package/dist/core/from/teachers.js +12 -0
- package/dist/core/from/teachers.js.map +1 -0
- package/dist/core/index.d.ts +6 -12
- package/dist/core/index.js +4 -6
- package/dist/core/index.js.map +1 -1
- package/dist/core/to/courses.js +43 -0
- package/dist/core/to/courses.js.map +1 -0
- package/dist/core/to/division.js +10 -0
- package/dist/core/to/division.js.map +1 -0
- package/dist/core/to/events.js +43 -0
- package/dist/core/to/events.js.map +1 -0
- package/dist/core/to/exceptions.js +27 -0
- package/dist/core/to/exceptions.js.map +1 -0
- package/dist/core/to/groups.js +23 -0
- package/dist/core/to/groups.js.map +1 -0
- package/dist/core/{v1/to → to}/index.d.ts +1 -1
- package/dist/{RS/v3 → core}/to/index.js +1 -1
- package/dist/core/to/index.js.map +1 -0
- package/dist/core/to/locations.js +19 -0
- package/dist/core/to/locations.js.map +1 -0
- package/dist/core/to/locked-times.js +21 -0
- package/dist/core/to/locked-times.js.map +1 -0
- package/dist/core/to/overlap-groups.js +28 -0
- package/dist/core/to/overlap-groups.js.map +1 -0
- package/dist/core/to/periods.js +17 -0
- package/dist/core/to/periods.js.map +1 -0
- package/dist/core/to/persons.js +23 -0
- package/dist/core/to/persons.js.map +1 -0
- package/dist/core/to/root-intervals.js +17 -0
- package/dist/core/to/root-intervals.js.map +1 -0
- package/dist/core/to/schedules.d.ts +44 -0
- package/dist/core/to/schedules.js +40 -0
- package/dist/core/to/schedules.js.map +1 -0
- package/dist/core/to/settings.js +16 -0
- package/dist/core/to/settings.js.map +1 -0
- package/dist/core/to/syllabuses.js +17 -0
- package/dist/core/to/syllabuses.js.map +1 -0
- package/dist/core/to/teachers.js +24 -0
- package/dist/core/to/teachers.js.map +1 -0
- package/dist/core/to/util.d.ts +14 -0
- package/dist/core/to/util.js +22 -0
- package/dist/core/to/util.js.map +1 -0
- package/dist/core/types/areas.d.ts +10 -0
- package/dist/core/types/common/break-lengths.d.ts +5 -0
- package/dist/core/types/common/days.d.ts +8 -0
- package/dist/core/types/common/index.d.ts +45 -0
- package/dist/core/types/common/intervals.d.ts +20 -0
- package/dist/core/types/common/maximum-schedule-span.d.ts +19 -0
- package/dist/core/{v2/types → types/common}/meta.d.ts +1 -1
- package/dist/core/types/common/planned-schedule-duration.d.ts +13 -0
- package/dist/core/types/common/tag.d.ts +9 -0
- package/dist/core/types/courses.d.ts +58 -0
- package/dist/core/{v2/types → types}/division-settings.d.ts +14 -19
- package/dist/core/types/divisions.d.ts +24 -0
- package/dist/core/types/events.d.ts +54 -0
- package/dist/core/{v2/types → types}/exceptions.d.ts +14 -23
- package/dist/core/types/groups.d.ts +41 -0
- package/dist/core/types/index.d.ts +117 -15
- package/dist/core/types/locations.d.ts +27 -0
- package/dist/core/types/locked-times.d.ts +33 -0
- package/dist/core/types/overlap-groups.d.ts +14 -0
- package/dist/core/types/periods.d.ts +14 -0
- package/dist/core/{v2/types → types}/persons.d.ts +13 -22
- package/dist/core/types/root-intervals.d.ts +13 -0
- package/dist/core/types/schedules.d.ts +44 -0
- package/dist/core/types/syllabus.d.ts +18 -0
- package/dist/core/{v2/types → types}/teachers.d.ts +20 -30
- package/dist/core/util.js +46 -0
- package/dist/core/util.js.map +1 -0
- package/dist/core/vertex-mapping.d.ts +69 -0
- package/dist/identify/constants/index.d.ts +14 -58
- package/dist/identify/constants/index.js +7 -72
- package/dist/identify/constants/index.js.map +1 -1
- package/dist/identify/index.d.ts +1 -1
- package/dist/identify/index.js +38 -29
- package/dist/identify/index.js.map +1 -1
- package/dist/index.d.ts +23 -29
- package/dist/index.js +6 -7
- package/dist/sdui/from/classes.js.map +1 -1
- package/dist/sdui/from/courses.js.map +1 -1
- package/dist/sdui/from/holidays.js.map +1 -1
- package/dist/sdui/from/hours.js.map +1 -1
- package/dist/sdui/from/lessons.js.map +1 -1
- package/dist/sdui/from/rooms.js.map +1 -1
- package/dist/sdui/from/schedules.d.ts +19 -0
- package/dist/sdui/from/schedules.js +3 -3
- package/dist/sdui/from/schedules.js.map +1 -1
- package/dist/sdui/from/school-years.js.map +1 -1
- package/dist/sdui/from/subjects.js.map +1 -1
- package/dist/sdui/from/substitution-plans.js.map +1 -1
- package/dist/sdui/from/teachers.js.map +1 -1
- package/dist/sdui/index.d.ts +19 -11
- package/dist/sdui/index.js.map +1 -1
- package/dist/sdui/to/classes.js +4 -2
- package/dist/sdui/to/classes.js.map +1 -1
- package/dist/sdui/to/courses.js +5 -5
- package/dist/sdui/to/courses.js.map +1 -1
- package/dist/sdui/to/holidays.js +3 -2
- package/dist/sdui/to/holidays.js.map +1 -1
- package/dist/sdui/to/hours.js +4 -2
- package/dist/sdui/to/hours.js.map +1 -1
- package/dist/sdui/to/index.d.ts +11 -12
- package/dist/sdui/to/lessons.js +10 -9
- package/dist/sdui/to/lessons.js.map +1 -1
- package/dist/sdui/to/rooms.js +4 -2
- package/dist/sdui/to/rooms.js.map +1 -1
- package/dist/sdui/to/schedules.js +9 -9
- package/dist/sdui/to/schedules.js.map +1 -1
- package/dist/sdui/to/school-years.js +4 -3
- package/dist/sdui/to/school-years.js.map +1 -1
- package/dist/sdui/to/subjects.js.map +1 -1
- package/dist/sdui/to/substitution-plans.js +12 -11
- package/dist/sdui/to/substitution-plans.js.map +1 -1
- package/dist/sdui/to/teachers.js +4 -4
- package/dist/sdui/to/teachers.js.map +1 -1
- package/dist/sdui/types/index.d.ts +2 -0
- package/dist/vKlass/from/index.js +1 -3
- package/dist/vKlass/from/index.js.map +1 -1
- package/dist/vKlass/from/schedule.d.ts +18 -3
- package/dist/vKlass/from/schedule.js +16 -19
- package/dist/vKlass/from/schedule.js.map +1 -1
- package/dist/vKlass/index.d.ts +6 -4
- package/dist/vKlass/index.js.map +1 -1
- package/dist/vKlass/to/schedules.d.ts +1 -1
- package/dist/vKlass/to/schedules.js +5 -12
- package/dist/vKlass/to/schedules.js.map +1 -1
- package/dist/vKlass/types/index.d.ts +5 -5
- package/package.json +38 -29
- package/dist/PlanDigital/to/index.d.ts +0 -10
- package/dist/PlanDigital/to/index.js +0 -10
- package/dist/PlanDigital/to/index.js.map +0 -1
- package/dist/PlanDigital/to/schedules.js +0 -15
- package/dist/PlanDigital/to/schedules.js.map +0 -1
- package/dist/RS/v0/from/available-dependencies.js +0 -38
- package/dist/RS/v0/from/available-dependencies.js.map +0 -1
- package/dist/RS/v0/from/break-lengths.js +0 -15
- package/dist/RS/v0/from/break-lengths.js.map +0 -1
- package/dist/RS/v0/from/course-events.js +0 -68
- package/dist/RS/v0/from/course-events.js.map +0 -1
- package/dist/RS/v0/from/courses.js +0 -53
- package/dist/RS/v0/from/courses.js.map +0 -1
- package/dist/RS/v0/from/days.js +0 -14
- package/dist/RS/v0/from/days.js.map +0 -1
- package/dist/RS/v0/from/dependencies.js +0 -29
- package/dist/RS/v0/from/dependencies.js.map +0 -1
- package/dist/RS/v0/from/groups.js +0 -32
- package/dist/RS/v0/from/groups.js.map +0 -1
- package/dist/RS/v0/from/index.js +0 -32
- package/dist/RS/v0/from/index.js.map +0 -1
- package/dist/RS/v0/from/intervals.js +0 -15
- package/dist/RS/v0/from/intervals.js.map +0 -1
- package/dist/RS/v0/from/locked-times.js +0 -23
- package/dist/RS/v0/from/locked-times.js.map +0 -1
- package/dist/RS/v0/from/placements.js +0 -20
- package/dist/RS/v0/from/placements.js.map +0 -1
- package/dist/RS/v0/from/schedules.js +0 -44
- package/dist/RS/v0/from/schedules.js.map +0 -1
- package/dist/RS/v0/from/settings.js +0 -24
- package/dist/RS/v0/from/settings.js.map +0 -1
- package/dist/RS/v0/from/teachers.js +0 -31
- package/dist/RS/v0/from/teachers.js.map +0 -1
- package/dist/RS/v0/index.d.ts +0 -43
- package/dist/RS/v0/index.js +0 -12
- package/dist/RS/v0/index.js.map +0 -1
- package/dist/RS/v0/to/available-dependencies.js +0 -17
- package/dist/RS/v0/to/available-dependencies.js.map +0 -1
- package/dist/RS/v0/to/configurations.js +0 -22
- package/dist/RS/v0/to/configurations.js.map +0 -1
- package/dist/RS/v0/to/constraints.js +0 -34
- package/dist/RS/v0/to/constraints.js.map +0 -1
- package/dist/RS/v0/to/course-events/days.js +0 -13
- package/dist/RS/v0/to/course-events/days.js.map +0 -1
- package/dist/RS/v0/to/course-events/dependencies.js +0 -18
- package/dist/RS/v0/to/course-events/dependencies.js.map +0 -1
- package/dist/RS/v0/to/course-events/groups.js +0 -39
- package/dist/RS/v0/to/course-events/groups.js.map +0 -1
- package/dist/RS/v0/to/course-events/in-locations.js +0 -17
- package/dist/RS/v0/to/course-events/in-locations.js.map +0 -1
- package/dist/RS/v0/to/course-events/index.js +0 -52
- package/dist/RS/v0/to/course-events/index.js.map +0 -1
- package/dist/RS/v0/to/course-events/intervals.js +0 -12
- package/dist/RS/v0/to/course-events/intervals.js.map +0 -1
- package/dist/RS/v0/to/course-events/meta.js +0 -21
- package/dist/RS/v0/to/course-events/meta.js.map +0 -1
- package/dist/RS/v0/to/courses.js +0 -56
- package/dist/RS/v0/to/courses.js.map +0 -1
- package/dist/RS/v0/to/days.js +0 -11
- package/dist/RS/v0/to/days.js.map +0 -1
- package/dist/RS/v0/to/dependencies.js +0 -26
- package/dist/RS/v0/to/dependencies.js.map +0 -1
- package/dist/RS/v0/to/groups.js +0 -32
- package/dist/RS/v0/to/groups.js.map +0 -1
- package/dist/RS/v0/to/index.d.ts +0 -46
- package/dist/RS/v0/to/index.js +0 -34
- package/dist/RS/v0/to/index.js.map +0 -1
- package/dist/RS/v0/to/intervals.js +0 -17
- package/dist/RS/v0/to/intervals.js.map +0 -1
- package/dist/RS/v0/to/locked-times.js +0 -43
- package/dist/RS/v0/to/locked-times.js.map +0 -1
- package/dist/RS/v0/to/schedules.js +0 -16
- package/dist/RS/v0/to/schedules.js.map +0 -1
- package/dist/RS/v0/to/settings.js +0 -28
- package/dist/RS/v0/to/settings.js.map +0 -1
- package/dist/RS/v0/to/teachers.js +0 -30
- package/dist/RS/v0/to/teachers.js.map +0 -1
- package/dist/RS/v0/types/areas.d.ts +0 -8
- package/dist/RS/v0/types/available-dependencies.d.ts +0 -8
- package/dist/RS/v0/types/break-lengths.d.ts +0 -9
- package/dist/RS/v0/types/configurations.d.ts +0 -7
- package/dist/RS/v0/types/constraints.d.ts +0 -17
- package/dist/RS/v0/types/course-events.d.ts +0 -26
- package/dist/RS/v0/types/courses.d.ts +0 -27
- package/dist/RS/v0/types/days.d.ts +0 -8
- package/dist/RS/v0/types/dependencies.d.ts +0 -17
- package/dist/RS/v0/types/groups.d.ts +0 -25
- package/dist/RS/v0/types/index.d.ts +0 -31
- package/dist/RS/v0/types/intervals.d.ts +0 -8
- package/dist/RS/v0/types/locked-times.d.ts +0 -11
- package/dist/RS/v0/types/out-options.d.ts +0 -13
- package/dist/RS/v0/types/placements.d.ts +0 -12
- package/dist/RS/v0/types/schedules.d.ts +0 -15
- package/dist/RS/v0/types/settings.d.ts +0 -26
- package/dist/RS/v1/from/available-dependencies.js +0 -38
- package/dist/RS/v1/from/available-dependencies.js.map +0 -1
- package/dist/RS/v1/from/break-lengths.js +0 -15
- package/dist/RS/v1/from/break-lengths.js.map +0 -1
- package/dist/RS/v1/from/collections.js +0 -55
- package/dist/RS/v1/from/collections.js.map +0 -1
- package/dist/RS/v1/from/course-events.js +0 -65
- package/dist/RS/v1/from/course-events.js.map +0 -1
- package/dist/RS/v1/from/days.js +0 -14
- package/dist/RS/v1/from/days.js.map +0 -1
- package/dist/RS/v1/from/dependencies.js +0 -31
- package/dist/RS/v1/from/dependencies.js.map +0 -1
- package/dist/RS/v1/from/groups.js +0 -34
- package/dist/RS/v1/from/groups.js.map +0 -1
- package/dist/RS/v1/from/index.js +0 -32
- package/dist/RS/v1/from/index.js.map +0 -1
- package/dist/RS/v1/from/intervals.js +0 -18
- package/dist/RS/v1/from/intervals.js.map +0 -1
- package/dist/RS/v1/from/locked-times.js +0 -21
- package/dist/RS/v1/from/locked-times.js.map +0 -1
- package/dist/RS/v1/from/placements.js +0 -21
- package/dist/RS/v1/from/placements.js.map +0 -1
- package/dist/RS/v1/from/schedules.js +0 -44
- package/dist/RS/v1/from/schedules.js.map +0 -1
- package/dist/RS/v1/from/settings.js +0 -25
- package/dist/RS/v1/from/settings.js.map +0 -1
- package/dist/RS/v1/from/teachers.js +0 -33
- package/dist/RS/v1/from/teachers.js.map +0 -1
- package/dist/RS/v1/index.d.ts +0 -45
- package/dist/RS/v1/index.js +0 -12
- package/dist/RS/v1/index.js.map +0 -1
- package/dist/RS/v1/to/available-dependencies.js +0 -25
- package/dist/RS/v1/to/available-dependencies.js.map +0 -1
- package/dist/RS/v1/to/break-lengths.js +0 -19
- package/dist/RS/v1/to/break-lengths.js.map +0 -1
- package/dist/RS/v1/to/collections.js +0 -51
- package/dist/RS/v1/to/collections.js.map +0 -1
- package/dist/RS/v1/to/configurations.js +0 -22
- package/dist/RS/v1/to/configurations.js.map +0 -1
- package/dist/RS/v1/to/constraints.js +0 -26
- package/dist/RS/v1/to/constraints.js.map +0 -1
- package/dist/RS/v1/to/course-events/days.js +0 -12
- package/dist/RS/v1/to/course-events/days.js.map +0 -1
- package/dist/RS/v1/to/course-events/dependencies.js +0 -15
- package/dist/RS/v1/to/course-events/dependencies.js.map +0 -1
- package/dist/RS/v1/to/course-events/groups.js +0 -30
- package/dist/RS/v1/to/course-events/groups.js.map +0 -1
- package/dist/RS/v1/to/course-events/in-locations.js +0 -17
- package/dist/RS/v1/to/course-events/in-locations.js.map +0 -1
- package/dist/RS/v1/to/course-events/index.js +0 -47
- package/dist/RS/v1/to/course-events/index.js.map +0 -1
- package/dist/RS/v1/to/course-events/intervals.js +0 -11
- package/dist/RS/v1/to/course-events/intervals.js.map +0 -1
- package/dist/RS/v1/to/course-events/meta.js +0 -21
- package/dist/RS/v1/to/course-events/meta.js.map +0 -1
- package/dist/RS/v1/to/days.js +0 -11
- package/dist/RS/v1/to/days.js.map +0 -1
- package/dist/RS/v1/to/dependencies.js +0 -28
- package/dist/RS/v1/to/dependencies.js.map +0 -1
- package/dist/RS/v1/to/groups.js +0 -34
- package/dist/RS/v1/to/groups.js.map +0 -1
- package/dist/RS/v1/to/index.d.ts +0 -46
- package/dist/RS/v1/to/index.js +0 -34
- package/dist/RS/v1/to/index.js.map +0 -1
- package/dist/RS/v1/to/intervals.js +0 -17
- package/dist/RS/v1/to/intervals.js.map +0 -1
- package/dist/RS/v1/to/locked-times.js +0 -49
- package/dist/RS/v1/to/locked-times.js.map +0 -1
- package/dist/RS/v1/to/schedules.js +0 -16
- package/dist/RS/v1/to/schedules.js.map +0 -1
- package/dist/RS/v1/to/settings.js +0 -34
- package/dist/RS/v1/to/settings.js.map +0 -1
- package/dist/RS/v1/to/teachers.js +0 -34
- package/dist/RS/v1/to/teachers.js.map +0 -1
- package/dist/RS/v1/types/areas.d.ts +0 -8
- package/dist/RS/v1/types/available-dependencies.d.ts +0 -8
- package/dist/RS/v1/types/break-lengths.d.ts +0 -9
- package/dist/RS/v1/types/collections.d.ts +0 -27
- package/dist/RS/v1/types/configurations.d.ts +0 -10
- package/dist/RS/v1/types/constraints.d.ts +0 -17
- package/dist/RS/v1/types/course-events.d.ts +0 -26
- package/dist/RS/v1/types/days.d.ts +0 -8
- package/dist/RS/v1/types/dependencies.d.ts +0 -17
- package/dist/RS/v1/types/groups.d.ts +0 -25
- package/dist/RS/v1/types/index.d.ts +0 -31
- package/dist/RS/v1/types/intervals.d.ts +0 -8
- package/dist/RS/v1/types/locked-times.d.ts +0 -11
- package/dist/RS/v1/types/out-options.d.ts +0 -11
- package/dist/RS/v1/types/placements.d.ts +0 -12
- package/dist/RS/v1/types/schedules.d.ts +0 -16
- package/dist/RS/v1/types/settings.d.ts +0 -31
- package/dist/RS/v2/from/available-dependencies.js +0 -38
- package/dist/RS/v2/from/available-dependencies.js.map +0 -1
- package/dist/RS/v2/from/break-lengths.js +0 -15
- package/dist/RS/v2/from/break-lengths.js.map +0 -1
- package/dist/RS/v2/from/collections.js +0 -57
- package/dist/RS/v2/from/collections.js.map +0 -1
- package/dist/RS/v2/from/course-events.d.ts +0 -12
- package/dist/RS/v2/from/course-events.js +0 -67
- package/dist/RS/v2/from/course-events.js.map +0 -1
- package/dist/RS/v2/from/days.js +0 -14
- package/dist/RS/v2/from/days.js.map +0 -1
- package/dist/RS/v2/from/dependencies.js +0 -31
- package/dist/RS/v2/from/dependencies.js.map +0 -1
- package/dist/RS/v2/from/groups.js +0 -35
- package/dist/RS/v2/from/groups.js.map +0 -1
- package/dist/RS/v2/from/index.js +0 -32
- package/dist/RS/v2/from/index.js.map +0 -1
- package/dist/RS/v2/from/intervals.js +0 -18
- package/dist/RS/v2/from/intervals.js.map +0 -1
- package/dist/RS/v2/from/locked-times.js +0 -21
- package/dist/RS/v2/from/locked-times.js.map +0 -1
- package/dist/RS/v2/from/placements.js +0 -32
- package/dist/RS/v2/from/placements.js.map +0 -1
- package/dist/RS/v2/from/schedules.js +0 -78
- package/dist/RS/v2/from/schedules.js.map +0 -1
- package/dist/RS/v2/from/settings.js +0 -31
- package/dist/RS/v2/from/settings.js.map +0 -1
- package/dist/RS/v2/from/teachers.js +0 -33
- package/dist/RS/v2/from/teachers.js.map +0 -1
- package/dist/RS/v2/index.d.ts +0 -63
- package/dist/RS/v2/index.js +0 -12
- package/dist/RS/v2/index.js.map +0 -1
- package/dist/RS/v2/to/available-dependencies.js +0 -25
- package/dist/RS/v2/to/available-dependencies.js.map +0 -1
- package/dist/RS/v2/to/break-lengths.js +0 -19
- package/dist/RS/v2/to/break-lengths.js.map +0 -1
- package/dist/RS/v2/to/collections.js +0 -60
- package/dist/RS/v2/to/collections.js.map +0 -1
- package/dist/RS/v2/to/configurations.js +0 -23
- package/dist/RS/v2/to/configurations.js.map +0 -1
- package/dist/RS/v2/to/constraints.js +0 -88
- package/dist/RS/v2/to/constraints.js.map +0 -1
- package/dist/RS/v2/to/course-events/days.js +0 -12
- package/dist/RS/v2/to/course-events/days.js.map +0 -1
- package/dist/RS/v2/to/course-events/dependencies.js +0 -14
- package/dist/RS/v2/to/course-events/dependencies.js.map +0 -1
- package/dist/RS/v2/to/course-events/groups.js +0 -38
- package/dist/RS/v2/to/course-events/groups.js.map +0 -1
- package/dist/RS/v2/to/course-events/in-locations.js +0 -18
- package/dist/RS/v2/to/course-events/in-locations.js.map +0 -1
- package/dist/RS/v2/to/course-events/index.js +0 -56
- package/dist/RS/v2/to/course-events/index.js.map +0 -1
- package/dist/RS/v2/to/course-events/intervals.js +0 -11
- package/dist/RS/v2/to/course-events/intervals.js.map +0 -1
- package/dist/RS/v2/to/course-events/meta.js +0 -21
- package/dist/RS/v2/to/course-events/meta.js.map +0 -1
- package/dist/RS/v2/to/days.js +0 -11
- package/dist/RS/v2/to/days.js.map +0 -1
- package/dist/RS/v2/to/default.js +0 -36
- package/dist/RS/v2/to/default.js.map +0 -1
- package/dist/RS/v2/to/dependencies.js +0 -28
- package/dist/RS/v2/to/dependencies.js.map +0 -1
- package/dist/RS/v2/to/destructure.js +0 -40
- package/dist/RS/v2/to/destructure.js.map +0 -1
- package/dist/RS/v2/to/dynamic-locked-times.js +0 -57
- package/dist/RS/v2/to/dynamic-locked-times.js.map +0 -1
- package/dist/RS/v2/to/groups.js +0 -37
- package/dist/RS/v2/to/groups.js.map +0 -1
- package/dist/RS/v2/to/index.d.ts +0 -44
- package/dist/RS/v2/to/index.js +0 -36
- package/dist/RS/v2/to/index.js.map +0 -1
- package/dist/RS/v2/to/intervals.js +0 -32
- package/dist/RS/v2/to/intervals.js.map +0 -1
- package/dist/RS/v2/to/locked-times.js +0 -49
- package/dist/RS/v2/to/locked-times.js.map +0 -1
- package/dist/RS/v2/to/periods.js +0 -48
- package/dist/RS/v2/to/periods.js.map +0 -1
- package/dist/RS/v2/to/persons.js +0 -23
- package/dist/RS/v2/to/persons.js.map +0 -1
- package/dist/RS/v2/to/schedules.js +0 -19
- package/dist/RS/v2/to/schedules.js.map +0 -1
- package/dist/RS/v2/to/settings.js +0 -18
- package/dist/RS/v2/to/settings.js.map +0 -1
- package/dist/RS/v2/to/teachers.js +0 -37
- package/dist/RS/v2/to/teachers.js.map +0 -1
- package/dist/RS/v2/types/areas.d.ts +0 -8
- package/dist/RS/v2/types/available-dependencies.d.ts +0 -8
- package/dist/RS/v2/types/break-lengths.d.ts +0 -9
- package/dist/RS/v2/types/collections.d.ts +0 -29
- package/dist/RS/v2/types/configurations.d.ts +0 -10
- package/dist/RS/v2/types/constraints.d.ts +0 -21
- package/dist/RS/v2/types/course-events.d.ts +0 -30
- package/dist/RS/v2/types/days.d.ts +0 -8
- package/dist/RS/v2/types/default.d.ts +0 -25
- package/dist/RS/v2/types/dependencies.d.ts +0 -17
- package/dist/RS/v2/types/index.d.ts +0 -33
- package/dist/RS/v2/types/intervals.d.ts +0 -9
- package/dist/RS/v2/types/out-options.d.ts +0 -11
- package/dist/RS/v2/types/placements.d.ts +0 -12
- package/dist/RS/v2/types/schedules.d.ts +0 -18
- package/dist/RS/v3/from/division.js +0 -14
- package/dist/RS/v3/from/division.js.map +0 -1
- package/dist/RS/v3/from/index.js +0 -12
- package/dist/RS/v3/from/index.js.map +0 -1
- package/dist/RS/v3/from/schedules.js +0 -34
- package/dist/RS/v3/from/schedules.js.map +0 -1
- package/dist/RS/v3/index.d.ts +0 -21
- package/dist/RS/v3/index.js +0 -12
- package/dist/RS/v3/index.js.map +0 -1
- package/dist/RS/v3/to/available-dependencies.js +0 -26
- package/dist/RS/v3/to/available-dependencies.js.map +0 -1
- package/dist/RS/v3/to/break-lengths.js +0 -19
- package/dist/RS/v3/to/break-lengths.js.map +0 -1
- package/dist/RS/v3/to/collections.js +0 -56
- package/dist/RS/v3/to/collections.js.map +0 -1
- package/dist/RS/v3/to/configurations.js +0 -23
- package/dist/RS/v3/to/configurations.js.map +0 -1
- package/dist/RS/v3/to/constraints.js +0 -77
- package/dist/RS/v3/to/constraints.js.map +0 -1
- package/dist/RS/v3/to/course-events/days.js +0 -12
- package/dist/RS/v3/to/course-events/days.js.map +0 -1
- package/dist/RS/v3/to/course-events/dependencies.js +0 -14
- package/dist/RS/v3/to/course-events/dependencies.js.map +0 -1
- package/dist/RS/v3/to/course-events/groups.js +0 -44
- package/dist/RS/v3/to/course-events/groups.js.map +0 -1
- package/dist/RS/v3/to/course-events/in-locations.js +0 -18
- package/dist/RS/v3/to/course-events/in-locations.js.map +0 -1
- package/dist/RS/v3/to/course-events/index.js +0 -84
- package/dist/RS/v3/to/course-events/index.js.map +0 -1
- package/dist/RS/v3/to/course-events/intervals.js +0 -11
- package/dist/RS/v3/to/course-events/intervals.js.map +0 -1
- package/dist/RS/v3/to/course-events/meta.js +0 -21
- package/dist/RS/v3/to/course-events/meta.js.map +0 -1
- package/dist/RS/v3/to/days.js +0 -11
- package/dist/RS/v3/to/days.js.map +0 -1
- package/dist/RS/v3/to/default.js.map +0 -1
- package/dist/RS/v3/to/dependencies.js +0 -31
- package/dist/RS/v3/to/dependencies.js.map +0 -1
- package/dist/RS/v3/to/destructure.js +0 -33
- package/dist/RS/v3/to/destructure.js.map +0 -1
- package/dist/RS/v3/to/dynamic-locked-times.js +0 -97
- package/dist/RS/v3/to/dynamic-locked-times.js.map +0 -1
- package/dist/RS/v3/to/groups.js +0 -36
- package/dist/RS/v3/to/groups.js.map +0 -1
- package/dist/RS/v3/to/index.d.ts +0 -266
- package/dist/RS/v3/to/index.js.map +0 -1
- package/dist/RS/v3/to/individuals.js +0 -49
- package/dist/RS/v3/to/individuals.js.map +0 -1
- package/dist/RS/v3/to/intervals.js +0 -32
- package/dist/RS/v3/to/intervals.js.map +0 -1
- package/dist/RS/v3/to/locked-times.js +0 -49
- package/dist/RS/v3/to/locked-times.js.map +0 -1
- package/dist/RS/v3/to/periods.js +0 -48
- package/dist/RS/v3/to/periods.js.map +0 -1
- package/dist/RS/v3/to/schedules.js +0 -39
- package/dist/RS/v3/to/schedules.js.map +0 -1
- package/dist/RS/v3/to/settings.js +0 -18
- package/dist/RS/v3/to/settings.js.map +0 -1
- package/dist/RS/v3/to/teachers.js +0 -36
- package/dist/RS/v3/to/teachers.js.map +0 -1
- package/dist/RS/v3/to/util.js +0 -32
- package/dist/RS/v3/to/util.js.map +0 -1
- package/dist/RS/v3/types/areas.d.ts +0 -8
- package/dist/RS/v3/types/available-dependencies.d.ts +0 -8
- package/dist/RS/v3/types/break-lengths.d.ts +0 -9
- package/dist/RS/v3/types/collections.d.ts +0 -31
- package/dist/RS/v3/types/configurations.d.ts +0 -10
- package/dist/RS/v3/types/constraints.d.ts +0 -25
- package/dist/RS/v3/types/course-events.d.ts +0 -32
- package/dist/RS/v3/types/days.d.ts +0 -8
- package/dist/RS/v3/types/dependencies.d.ts +0 -17
- package/dist/RS/v3/types/groups.d.ts +0 -25
- package/dist/RS/v3/types/index.d.ts +0 -33
- package/dist/RS/v3/types/individuals.d.ts +0 -13
- package/dist/RS/v3/types/intervals.d.ts +0 -9
- package/dist/RS/v3/types/locked-times.d.ts +0 -11
- package/dist/RS/v3/types/out-options.d.ts +0 -23
- package/dist/RS/v3/types/placements.d.ts +0 -12
- package/dist/RS/v3/types/root-intervals.d.ts +0 -10
- package/dist/RS/v3/types/schedules.d.ts +0 -24
- package/dist/RS/v3/types/settings.d.ts +0 -12
- package/dist/SS12000/from/activities.js +0 -35
- package/dist/SS12000/from/activities.js.map +0 -1
- package/dist/SS12000/from/calendar-events.js +0 -20
- package/dist/SS12000/from/calendar-events.js.map +0 -1
- package/dist/SS12000/from/duties.js +0 -21
- package/dist/SS12000/from/duties.js.map +0 -1
- package/dist/SS12000/from/groups.js +0 -23
- package/dist/SS12000/from/groups.js.map +0 -1
- package/dist/SS12000/from/index.js +0 -24
- package/dist/SS12000/from/index.js.map +0 -1
- package/dist/SS12000/from/persons.js +0 -43
- package/dist/SS12000/from/persons.js.map +0 -1
- package/dist/SS12000/from/resources.js +0 -9
- package/dist/SS12000/from/resources.js.map +0 -1
- package/dist/SS12000/from/rooms.js +0 -18
- package/dist/SS12000/from/rooms.js.map +0 -1
- package/dist/SS12000/from/syllabuses.js +0 -21
- package/dist/SS12000/from/syllabuses.js.map +0 -1
- package/dist/SS12000/index.d.ts +0 -73
- package/dist/SS12000/index.js +0 -12
- package/dist/SS12000/index.js.map +0 -1
- package/dist/SS12000/to/activities.js +0 -55
- package/dist/SS12000/to/activities.js.map +0 -1
- package/dist/SS12000/to/calendar-events.js +0 -47
- package/dist/SS12000/to/calendar-events.js.map +0 -1
- package/dist/SS12000/to/common.js +0 -16
- package/dist/SS12000/to/common.js.map +0 -1
- package/dist/SS12000/to/duties.js +0 -36
- package/dist/SS12000/to/duties.js.map +0 -1
- package/dist/SS12000/to/groups.js +0 -37
- package/dist/SS12000/to/groups.js.map +0 -1
- package/dist/SS12000/to/index.d.ts +0 -25
- package/dist/SS12000/to/index.js +0 -24
- package/dist/SS12000/to/index.js.map +0 -1
- package/dist/SS12000/to/persons.js +0 -36
- package/dist/SS12000/to/persons.js.map +0 -1
- package/dist/SS12000/to/resources.js +0 -23
- package/dist/SS12000/to/resources.js.map +0 -1
- package/dist/SS12000/to/rooms.js +0 -28
- package/dist/SS12000/to/rooms.js.map +0 -1
- package/dist/SS12000/to/syllabuses.js +0 -30
- package/dist/SS12000/to/syllabuses.js.map +0 -1
- package/dist/SS12000/types/activities.d.ts +0 -41
- package/dist/SS12000/types/calendar-events.d.ts +0 -23
- package/dist/SS12000/types/codes.d.ts +0 -9
- package/dist/SS12000/types/duties.d.ts +0 -23
- package/dist/SS12000/types/duty-assignments.d.ts +0 -13
- package/dist/SS12000/types/groups.d.ts +0 -23
- package/dist/SS12000/types/index.d.ts +0 -21
- package/dist/SS12000/types/organisation.d.ts +0 -20
- package/dist/SS12000/types/persons.d.ts +0 -30
- package/dist/SS12000/types/resources.d.ts +0 -13
- package/dist/SS12000/types/rooms.d.ts +0 -17
- package/dist/SS12000/types/syllabus.d.ts +0 -19
- package/dist/core/v1/from/courses.js +0 -26
- package/dist/core/v1/from/courses.js.map +0 -1
- package/dist/core/v1/from/events.js +0 -12
- package/dist/core/v1/from/events.js.map +0 -1
- package/dist/core/v1/from/groups.js +0 -14
- package/dist/core/v1/from/groups.js.map +0 -1
- package/dist/core/v1/from/index.js +0 -8
- package/dist/core/v1/from/index.js.map +0 -1
- package/dist/core/v1/from/locations.js +0 -14
- package/dist/core/v1/from/locations.js.map +0 -1
- package/dist/core/v1/from/locked-times.js +0 -13
- package/dist/core/v1/from/locked-times.js.map +0 -1
- package/dist/core/v1/from/overlap-groups.js +0 -13
- package/dist/core/v1/from/overlap-groups.js.map +0 -1
- package/dist/core/v1/from/periods.js +0 -14
- package/dist/core/v1/from/periods.js.map +0 -1
- package/dist/core/v1/from/schedules.d.ts +0 -139
- package/dist/core/v1/from/schedules.js +0 -36
- package/dist/core/v1/from/schedules.js.map +0 -1
- package/dist/core/v1/from/teachers.js +0 -14
- package/dist/core/v1/from/teachers.js.map +0 -1
- package/dist/core/v1/index.d.ts +0 -14
- package/dist/core/v1/index.js +0 -12
- package/dist/core/v1/index.js.map +0 -1
- package/dist/core/v1/to/available-locations.js +0 -11
- package/dist/core/v1/to/available-locations.js.map +0 -1
- package/dist/core/v1/to/courses.js +0 -33
- package/dist/core/v1/to/courses.js.map +0 -1
- package/dist/core/v1/to/days.js +0 -13
- package/dist/core/v1/to/days.js.map +0 -1
- package/dist/core/v1/to/events.js +0 -35
- package/dist/core/v1/to/events.js.map +0 -1
- package/dist/core/v1/to/groups.js +0 -24
- package/dist/core/v1/to/groups.js.map +0 -1
- package/dist/core/v1/to/index.js +0 -10
- package/dist/core/v1/to/index.js.map +0 -1
- package/dist/core/v1/to/intervals.js +0 -14
- package/dist/core/v1/to/intervals.js.map +0 -1
- package/dist/core/v1/to/locations.js +0 -20
- package/dist/core/v1/to/locations.js.map +0 -1
- package/dist/core/v1/to/locked-times.js +0 -25
- package/dist/core/v1/to/locked-times.js.map +0 -1
- package/dist/core/v1/to/overlap-groups.js +0 -30
- package/dist/core/v1/to/overlap-groups.js.map +0 -1
- package/dist/core/v1/to/periods.js +0 -10
- package/dist/core/v1/to/periods.js.map +0 -1
- package/dist/core/v1/to/persons.js +0 -22
- package/dist/core/v1/to/persons.js.map +0 -1
- package/dist/core/v1/to/schedules.d.ts +0 -170
- package/dist/core/v1/to/schedules.js +0 -32
- package/dist/core/v1/to/schedules.js.map +0 -1
- package/dist/core/v1/to/settings.js +0 -13
- package/dist/core/v1/to/settings.js.map +0 -1
- package/dist/core/v1/to/teachers.js +0 -20
- package/dist/core/v1/to/teachers.js.map +0 -1
- package/dist/core/v1/types/areas.d.ts +0 -16
- package/dist/core/v1/types/available-locations.d.ts +0 -13
- package/dist/core/v1/types/break-lengths.d.ts +0 -5
- package/dist/core/v1/types/common/coalesced.d.ts +0 -10
- package/dist/core/v1/types/courses.d.ts +0 -54
- package/dist/core/v1/types/days.d.ts +0 -14
- package/dist/core/v1/types/division-settings.d.ts +0 -39
- package/dist/core/v1/types/divisions.d.ts +0 -45
- package/dist/core/v1/types/events.d.ts +0 -60
- package/dist/core/v1/types/groups.d.ts +0 -37
- package/dist/core/v1/types/index.d.ts +0 -41
- package/dist/core/v1/types/intervals.d.ts +0 -17
- package/dist/core/v1/types/locations.d.ts +0 -32
- package/dist/core/v1/types/locked-times.d.ts +0 -39
- package/dist/core/v1/types/meta.d.ts +0 -9
- package/dist/core/v1/types/overlap-groups.d.ts +0 -26
- package/dist/core/v1/types/periods.d.ts +0 -22
- package/dist/core/v1/types/persons.d.ts +0 -40
- package/dist/core/v1/types/teachers.d.ts +0 -34
- package/dist/core/v2/from/courses.js +0 -13
- package/dist/core/v2/from/courses.js.map +0 -1
- package/dist/core/v2/from/events.js +0 -12
- package/dist/core/v2/from/events.js.map +0 -1
- package/dist/core/v2/from/exceptions.js +0 -13
- package/dist/core/v2/from/exceptions.js.map +0 -1
- package/dist/core/v2/from/groups.js +0 -13
- package/dist/core/v2/from/groups.js.map +0 -1
- package/dist/core/v2/from/index.js.map +0 -1
- package/dist/core/v2/from/locations.js +0 -13
- package/dist/core/v2/from/locations.js.map +0 -1
- package/dist/core/v2/from/locked-times.js +0 -13
- package/dist/core/v2/from/locked-times.js.map +0 -1
- package/dist/core/v2/from/overlap-groups.js +0 -13
- package/dist/core/v2/from/overlap-groups.js.map +0 -1
- package/dist/core/v2/from/periods.js +0 -13
- package/dist/core/v2/from/periods.js.map +0 -1
- package/dist/core/v2/from/persons.js +0 -12
- package/dist/core/v2/from/persons.js.map +0 -1
- package/dist/core/v2/from/root-intervals.js +0 -13
- package/dist/core/v2/from/root-intervals.js.map +0 -1
- package/dist/core/v2/from/schedules.d.ts +0 -245
- package/dist/core/v2/from/schedules.js +0 -48
- package/dist/core/v2/from/schedules.js.map +0 -1
- package/dist/core/v2/from/syllabuses.js.map +0 -1
- package/dist/core/v2/from/teachers.js +0 -13
- package/dist/core/v2/from/teachers.js.map +0 -1
- package/dist/core/v2/index.d.ts +0 -16
- package/dist/core/v2/index.js +0 -12
- package/dist/core/v2/index.js.map +0 -1
- package/dist/core/v2/to/available-locations.js +0 -11
- package/dist/core/v2/to/available-locations.js.map +0 -1
- package/dist/core/v2/to/courses.js +0 -44
- package/dist/core/v2/to/courses.js.map +0 -1
- package/dist/core/v2/to/days.js +0 -13
- package/dist/core/v2/to/days.js.map +0 -1
- package/dist/core/v2/to/division.js +0 -10
- package/dist/core/v2/to/division.js.map +0 -1
- package/dist/core/v2/to/events.js +0 -47
- package/dist/core/v2/to/events.js.map +0 -1
- package/dist/core/v2/to/exceptions.js +0 -29
- package/dist/core/v2/to/exceptions.js.map +0 -1
- package/dist/core/v2/to/groups.js +0 -34
- package/dist/core/v2/to/groups.js.map +0 -1
- package/dist/core/v2/to/index.d.ts +0 -9
- package/dist/core/v2/to/index.js +0 -10
- package/dist/core/v2/to/index.js.map +0 -1
- package/dist/core/v2/to/intervals.js +0 -13
- package/dist/core/v2/to/intervals.js.map +0 -1
- package/dist/core/v2/to/locations.js +0 -35
- package/dist/core/v2/to/locations.js.map +0 -1
- package/dist/core/v2/to/locked-times.js +0 -25
- package/dist/core/v2/to/locked-times.js.map +0 -1
- package/dist/core/v2/to/overlap-groups.js +0 -30
- package/dist/core/v2/to/overlap-groups.js.map +0 -1
- package/dist/core/v2/to/periods.js +0 -10
- package/dist/core/v2/to/periods.js.map +0 -1
- package/dist/core/v2/to/persons.js +0 -25
- package/dist/core/v2/to/persons.js.map +0 -1
- package/dist/core/v2/to/root-intervals.js +0 -10
- package/dist/core/v2/to/root-intervals.js.map +0 -1
- package/dist/core/v2/to/schedules.d.ts +0 -249
- package/dist/core/v2/to/schedules.js +0 -40
- package/dist/core/v2/to/schedules.js.map +0 -1
- package/dist/core/v2/to/settings.js +0 -13
- package/dist/core/v2/to/settings.js.map +0 -1
- package/dist/core/v2/to/syllabuses.js +0 -16
- package/dist/core/v2/to/syllabuses.js.map +0 -1
- package/dist/core/v2/to/teachers.js +0 -28
- package/dist/core/v2/to/teachers.js.map +0 -1
- package/dist/core/v2/types/areas.d.ts +0 -16
- package/dist/core/v2/types/available-locations.d.ts +0 -13
- package/dist/core/v2/types/break-lengths.d.ts +0 -5
- package/dist/core/v2/types/common/coalesced.d.ts +0 -10
- package/dist/core/v2/types/common/maximum-schedule-span.d.ts +0 -8
- package/dist/core/v2/types/common/planned-schedule-duration.d.ts +0 -7
- package/dist/core/v2/types/courses.d.ts +0 -76
- package/dist/core/v2/types/days.d.ts +0 -14
- package/dist/core/v2/types/divisions.d.ts +0 -54
- package/dist/core/v2/types/events.d.ts +0 -76
- package/dist/core/v2/types/groups.d.ts +0 -50
- package/dist/core/v2/types/index.d.ts +0 -49
- package/dist/core/v2/types/intervals.d.ts +0 -17
- package/dist/core/v2/types/locations.d.ts +0 -38
- package/dist/core/v2/types/locked-times.d.ts +0 -44
- package/dist/core/v2/types/overlap-groups.d.ts +0 -26
- package/dist/core/v2/types/periods.d.ts +0 -25
- package/dist/core/v2/types/root-intervals.d.ts +0 -23
- package/dist/core/v2/types/schedules.d.ts +0 -38
- package/dist/core/v2/types/syllabus.d.ts +0 -27
- package/dist/vKlass/from/index.d.ts +0 -9
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { getDayIndex } from "../../core/util.js";
|
|
1
2
|
import moment from "moment";
|
|
3
|
+
import { Types } from "mongoose";
|
|
2
4
|
import { Parser } from "@json2csv/plainjs";
|
|
3
5
|
|
|
4
6
|
//#region src/IdunSoft/to/schedules.ts
|
|
@@ -22,34 +24,33 @@ const fields = [
|
|
|
22
24
|
];
|
|
23
25
|
const delimiter = " ";
|
|
24
26
|
var schedules_default = (courseEvents) => {
|
|
25
|
-
const events = courseEvents.
|
|
26
|
-
if (event.parked) return
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
const events = courseEvents.map((event) => {
|
|
28
|
+
if (event.parked) return;
|
|
29
|
+
if (!event.start || !event.end) return;
|
|
30
|
+
const day = days.at(getDayIndex(event.start));
|
|
31
|
+
if (!day) throw new Error("Invalid event day");
|
|
32
|
+
const course = event.course;
|
|
33
|
+
if (!(course && typeof course == "object" && !(course instanceof Types.ObjectId))) throw new Error("Event course not found or invalid");
|
|
34
|
+
const teachers = (event.teachers ?? course.teachers)?.map((x) => x.to);
|
|
35
|
+
const groups = (event.groups ?? course.groups)?.map((x) => x.to);
|
|
36
|
+
const doc = {
|
|
37
|
+
Ämne: course.ids,
|
|
38
|
+
Veckodag: day,
|
|
33
39
|
Starttid: moment.utc(event.start).format("HH.mm:ss"),
|
|
34
40
|
Sluttid: moment.utc(event.end).format("HH.mm:ss"),
|
|
35
|
-
Lärare: (teachers
|
|
36
|
-
Klass: (groups
|
|
37
|
-
Klassrum:
|
|
41
|
+
Lärare: (teachers ?? []).map((x) => typeof x == "object" && "ids" in x ? x.ids : null).filter((x) => x != null).join(","),
|
|
42
|
+
Klass: (groups ?? []).map((x) => typeof x == "object" && "ids" in x ? x.ids : null).filter((x) => x != null).join(","),
|
|
43
|
+
Klassrum: (event.inLocations ?? []).map((x) => x && typeof x == "object" && "ids" in x ? x.ids : null).filter((x) => x != null).join(","),
|
|
38
44
|
Halvklass: "Nej"
|
|
39
|
-
}
|
|
40
|
-
|
|
45
|
+
};
|
|
46
|
+
return doc;
|
|
47
|
+
}).filter((x) => x != null);
|
|
41
48
|
const opts = {
|
|
42
49
|
fields,
|
|
43
50
|
delimiter
|
|
44
51
|
};
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const parser = new Parser(opts);
|
|
48
|
-
csv = parser.parse(events);
|
|
49
|
-
} catch (err) {
|
|
50
|
-
console.warn(err.message);
|
|
51
|
-
}
|
|
52
|
-
return csv;
|
|
52
|
+
const parser = new Parser(opts);
|
|
53
|
+
return parser.parse(events);
|
|
53
54
|
};
|
|
54
55
|
|
|
55
56
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedules.js","names":["
|
|
1
|
+
{"version":3,"file":"schedules.js","names":["MongooseTypes","doc: IdunSoftTypes.toEvent","opts: ParserOptions<IdunSoftTypes.toEvent>"],"sources":["../../../src/IdunSoft/to/schedules.ts"],"sourcesContent":["import type { ParserOptions } from '@json2csv/plainjs';\nimport { Parser } from '@json2csv/plainjs';\nimport moment from 'moment';\nimport { Types as MongooseTypes } from 'mongoose';\nimport type { Types as IdunSoftTypes } from '../types';\nimport type { CoreTypes } from '../../core';\nimport { getDayIndex } from '../../core/util';\n\nconst days = ['måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag'];\nconst fields = ['Veckodag', 'Starttid', 'Sluttid', 'Klass', 'Ämne', 'Kommentar', 'Lärare', 'Klassrum', 'Halvklass'];\nconst delimiter = '\\t';\nconst quote = '';\n\nexport default (courseEvents: CoreTypes.mixed.event[]): string => {\n const events = courseEvents\n .map(event => {\n if (event.parked) return;\n if (!event.start || !event.end) return;\n\n const day = days.at(getDayIndex(event.start));\n if (!day) throw new Error('Invalid event day');\n\n const course = event.course;\n if (!(course && typeof course == 'object' && !(course instanceof MongooseTypes.ObjectId)))\n throw new Error('Event course not found or invalid');\n\n const teachers = (event.teachers ?? course.teachers)?.map(x => x.to);\n const groups = (event.groups ?? course.groups )?.map(x => x.to);\n\n const doc: IdunSoftTypes.toEvent = {\n Ämne: course.ids,\n Veckodag: day,\n Starttid: moment.utc(event.start).format('HH.mm:ss'),\n Sluttid: moment.utc(event.end ).format('HH.mm:ss'),\n Lärare: (teachers ?? []).map(x => typeof x == 'object' && 'ids' in x ? x.ids : null).filter(x => x != null).join(','),\n Klass: (groups ?? []).map(x => typeof x == 'object' && 'ids' in x ? x.ids : null).filter(x => x != null).join(','),\n Klassrum: (event.inLocations ?? []).map(x => x && typeof x == 'object' && 'ids' in x ? x.ids : null).filter(x => x != null).join(','),\n Halvklass: 'Nej'\n };\n return doc;\n })\n .filter(x => x != null);\n\n const opts: ParserOptions<IdunSoftTypes.toEvent> = { fields, delimiter/* , quote */ };\n const parser = new Parser(opts);\n return parser.parse(events);\n};\n"],"mappings":";;;;;;AAQA,MAAM,OAAY;CAAC;CAAU;CAAU;CAAU;CAAW;;AAC5D,MAAM,SAAY;CAAC;CAAY;CAAY;CAAW;CAAS;CAAQ;CAAa;CAAU;CAAY;;AAC1G,MAAM,YAAY;AAGlB,yBAAgB,iBAAkD;CAChE,MAAM,SAAS,aACZ,KAAI,UAAS;AACZ,MAAI,MAAM,OAAQ;AAClB,MAAI,CAAC,MAAM,SAAS,CAAC,MAAM,IAAK;EAEhC,MAAM,MAAM,KAAK,GAAG,YAAY,MAAM;AACtC,MAAI,CAAC,IAAK,OAAM,IAAI,MAAM;EAE1B,MAAM,SAAS,MAAM;AACrB,MAAI,EAAE,UAAU,OAAO,UAAU,YAAY,EAAE,kBAAkBA,MAAc,WAC7E,OAAM,IAAI,MAAM;EAElB,MAAM,YAAY,MAAM,YAAY,OAAO,WAAW,KAAI,MAAK,EAAE;EACjE,MAAM,UAAY,MAAM,UAAY,OAAO,SAAW,KAAI,MAAK,EAAE;EAEjE,MAAMC,MAA6B;GACjC,MAAW,OAAO;GAClB,UAAW;GACX,UAAW,OAAO,IAAI,MAAM,OAAO,OAAO;GAC1C,SAAW,OAAO,IAAI,MAAM,KAAO,OAAO;GAC1C,SAAY,YAAqB,IAAI,KAAI,MAAU,OAAO,KAAK,YAAY,SAAS,IAAI,EAAE,MAAM,MAAM,QAAO,MAAK,KAAK,MAAM,KAAK;GAClI,QAAY,UAAqB,IAAI,KAAI,MAAU,OAAO,KAAK,YAAY,SAAS,IAAI,EAAE,MAAM,MAAM,QAAO,MAAK,KAAK,MAAM,KAAK;GAClI,WAAY,MAAM,eAAe,IAAI,KAAI,MAAK,KAAK,OAAO,KAAK,YAAY,SAAS,IAAI,EAAE,MAAM,MAAM,QAAO,MAAK,KAAK,MAAM,KAAK;GAClI,WAAW;;AAEb,SAAO;IAER,QAAO,MAAK,KAAK;CAEpB,MAAMC,OAA6C;EAAE;EAAQ;;CAC7D,MAAM,SAAS,IAAI,OAAO;AAC1B,QAAO,OAAO,MAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_to"],"sources":["../../src/InfoMentor/index.ts"],"sourcesContent":["import _to
|
|
1
|
+
{"version":3,"file":"index.js","names":["_to"],"sources":["../../src/InfoMentor/index.ts"],"sourcesContent":["import _to from './to';\nimport type { Types } from './types';\n\nexport class InfoMentorMap {\n static to = _to;\n}\n\nexport { Types as InfoMentorTypes };"],"mappings":";;;AAGA,IAAa,gBAAb,MAA2B;CACzB,OAAO,KAAKA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Types } from "../../core/
|
|
1
|
+
import { Types } from "../../core/types/index.js";
|
|
2
2
|
|
|
3
3
|
//#region src/InfoMentor/to/index.d.ts
|
|
4
4
|
declare class export_default {
|
|
5
|
-
static schedules: (courseEvents: Types.event[]) => Buffer
|
|
5
|
+
static schedules: (courseEvents: Types.mixed.event[]) => Buffer;
|
|
6
6
|
}
|
|
7
7
|
//#endregion
|
|
8
8
|
export { export_default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_schedules"],"sources":["../../../src/InfoMentor/to/index.ts"],"sourcesContent":["import _schedules
|
|
1
|
+
{"version":3,"file":"index.js","names":["_schedules"],"sources":["../../../src/InfoMentor/to/index.ts"],"sourcesContent":["import _schedules from './schedules';\n\nexport default class {\n static schedules = _schedules;\n}"],"mappings":";;;AAEA,uBAAqB;CACnB,OAAO,YAAYA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { getDayIndex } from "../../core/util.js";
|
|
1
2
|
import moment from "moment";
|
|
2
|
-
import { isObject, isString } from "lodash-es";
|
|
3
|
-
import Papa from "papaparse";
|
|
4
3
|
import { Types } from "mongoose";
|
|
5
|
-
import
|
|
4
|
+
import Papa from "papaparse";
|
|
5
|
+
import { encode } from "iconv-lite";
|
|
6
6
|
|
|
7
7
|
//#region src/InfoMentor/to/schedules.ts
|
|
8
8
|
const days = [
|
|
@@ -12,7 +12,7 @@ const days = [
|
|
|
12
12
|
"TOR",
|
|
13
13
|
"FRE"
|
|
14
14
|
];
|
|
15
|
-
const
|
|
15
|
+
const columns = [
|
|
16
16
|
"Ämne",
|
|
17
17
|
"Dag",
|
|
18
18
|
"Starttid",
|
|
@@ -24,34 +24,33 @@ const fields = [
|
|
|
24
24
|
const delimiter = " ";
|
|
25
25
|
const encoding = "windows-1252";
|
|
26
26
|
var schedules_default = (courseEvents) => {
|
|
27
|
-
const events = courseEvents.
|
|
28
|
-
if (event.parked || !event.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
27
|
+
const events = courseEvents.map((event) => {
|
|
28
|
+
if (event.parked || !event.start || !event.end) return;
|
|
29
|
+
const course = event.course;
|
|
30
|
+
if (!course) return;
|
|
31
|
+
const day = days.at(getDayIndex(event.start));
|
|
32
|
+
if (!day) throw new Error("Invalid event day");
|
|
33
|
+
if (typeof course != "object" || course instanceof Types.ObjectId) throw new Error("(InfoMentor::To::Schedules) Event course is not an deserialized object");
|
|
34
|
+
const Personal = (event.teachers ?? course.teachers ?? []).map(({ to: x }) => typeof x == "object" && "displayName" in x ? x.displayName : null).filter((x) => x != null).join(",");
|
|
35
|
+
const Klasser = (event.groups ?? course.groups ?? []).map(({ to: x }) => typeof x == "object" && "displayName" in x ? x.displayName : null).filter((x) => x != null).join(",");
|
|
36
|
+
const Salar = (event.inLocations ?? []).map((x) => x && typeof x == "object" && "displayName" in x ? x.displayName : null).filter((x) => x != null).join(",");
|
|
37
|
+
const doc = {
|
|
38
|
+
Ämne: course.displayName,
|
|
39
|
+
Dag: day,
|
|
36
40
|
Starttid: moment.utc(event.start).format("HH.mm"),
|
|
37
41
|
Längd: moment.utc(event.end).diff(moment.utc(event.start), "minutes"),
|
|
38
|
-
Personal
|
|
39
|
-
Klasser
|
|
40
|
-
Salar
|
|
41
|
-
}
|
|
42
|
-
|
|
42
|
+
Personal,
|
|
43
|
+
Klasser,
|
|
44
|
+
Salar
|
|
45
|
+
};
|
|
46
|
+
return doc;
|
|
47
|
+
});
|
|
43
48
|
const opts = {
|
|
44
|
-
columns
|
|
49
|
+
columns,
|
|
45
50
|
delimiter
|
|
46
51
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
csv = Papa.unparse(events, opts);
|
|
50
|
-
return encode.encode(csv, encoding);
|
|
51
|
-
} catch (err) {
|
|
52
|
-
console.warn(err.message);
|
|
53
|
-
}
|
|
54
|
-
return null;
|
|
52
|
+
const csv = Papa.unparse(events, opts);
|
|
53
|
+
return encode(csv, encoding);
|
|
55
54
|
};
|
|
56
55
|
|
|
57
56
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedules.js","names":["
|
|
1
|
+
{"version":3,"file":"schedules.js","names":["MongooseTypes","doc: InfoMentorTypes.event"],"sources":["../../../src/InfoMentor/to/schedules.ts"],"sourcesContent":["import { Types as MongooseTypes } from 'mongoose';\nimport moment from 'moment';\nimport { encode } from 'iconv-lite';\nimport Papa from 'papaparse';\nimport type { Types as InfoMentorTypes } from '../types';\nimport type { CoreTypes } from '../../core';\nimport { getDayIndex } from '../../core/util';\n\nconst days = ['MÅN', 'TIS', 'ONS', 'TOR', 'FRE'];\nconst columns = ['Ämne', 'Dag', 'Starttid', 'Längd', 'Personal', 'Klasser', 'Salar'];\nconst delimiter = '\\t';\nconst encoding = 'windows-1252';\n\nexport default (courseEvents: CoreTypes.mixed.event[]): Buffer => {\n const events = courseEvents\n .map(event => {\n if (event.parked || !event.start || !event.end) return;\n\n const course = event.course;\n if (!course) return;\n\n const day = days.at(getDayIndex(event.start));\n if (!day) throw new Error('Invalid event day');\n\n if (typeof course != 'object' || course instanceof MongooseTypes.ObjectId)\n throw new Error('(InfoMentor::To::Schedules) Event course is not an deserialized object');\n\n const Personal = (event.teachers ?? course.teachers ?? []).map(({ to: x }) => typeof x == 'object' && 'displayName' in x ? x.displayName : null).filter(x => x != null).join(',');\n const Klasser = (event.groups ?? course.groups ?? []).map(({ to: x }) => typeof x == 'object' && 'displayName' in x ? x.displayName : null).filter(x => x != null).join(',');\n const Salar = (event.inLocations ?? []).map(x => x && typeof x == 'object' && 'displayName' in x ? x.displayName : null).filter(x => x != null).join(',');\n\n const doc: InfoMentorTypes.event ={\n Ämne: course.displayName,\n Dag: day,\n Starttid: moment.utc(event.start).format('HH.mm'),\n Längd: moment.utc(event.end).diff(moment.utc(event.start), 'minutes'),\n Personal,\n Klasser,\n Salar,\n };\n return doc;\n });\n\n const opts = { columns, delimiter };\n const csv = Papa.unparse(events, opts);\n return encode(csv, encoding);\n};\n"],"mappings":";;;;;;;AAQA,MAAM,OAAY;CAAC;CAAO;CAAO;CAAO;CAAO;;AAC/C,MAAM,UAAY;CAAC;CAAQ;CAAO;CAAY;CAAS;CAAY;CAAW;;AAC9E,MAAM,YAAY;AAClB,MAAM,WAAY;AAElB,yBAAgB,iBAAkD;CAChE,MAAM,SAAS,aACZ,KAAI,UAAS;AACZ,MAAI,MAAM,UAAU,CAAC,MAAM,SAAS,CAAC,MAAM,IAAK;EAEhD,MAAM,SAAS,MAAM;AACrB,MAAI,CAAC,OAAQ;EAEb,MAAM,MAAM,KAAK,GAAG,YAAY,MAAM;AACtC,MAAI,CAAC,IAAK,OAAM,IAAI,MAAM;AAE1B,MAAI,OAAO,UAAU,YAAY,kBAAkBA,MAAc,SAC/D,OAAM,IAAI,MAAM;EAElB,MAAM,YAAY,MAAM,YAAY,OAAO,YAAY,IAAI,KAAK,EAAE,IAAI,QAAa,OAAO,KAAK,YAAY,iBAAiB,IAAI,EAAE,cAAc,MAAM,QAAO,MAAK,KAAK,MAAM,KAAK;EAClL,MAAM,WAAY,MAAM,UAAY,OAAO,UAAY,IAAI,KAAK,EAAE,IAAI,QAAa,OAAO,KAAK,YAAY,iBAAiB,IAAI,EAAE,cAAc,MAAM,QAAO,MAAK,KAAK,MAAM,KAAK;EAClL,MAAM,SAAY,MAAM,eAA+B,IAAI,KAAI,MAAe,KAAK,OAAO,KAAK,YAAY,iBAAiB,IAAI,EAAE,cAAc,MAAM,QAAO,MAAK,KAAK,MAAM,KAAK;EAElL,MAAMC,MAA4B;GAChC,MAAU,OAAO;GACjB,KAAU;GACV,UAAU,OAAO,IAAI,MAAM,OAAO,OAAO;GACzC,OAAU,OAAO,IAAI,MAAM,KAAK,KAAK,OAAO,IAAI,MAAM,QAAQ;GAC9D;GACA;GACA;;AAEF,SAAO;;CAGX,MAAM,OAAO;EAAE;EAAS;;CACxB,MAAM,MAAM,KAAK,QAAQ,QAAQ;AACjC,QAAO,OAAO,KAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_schedules"],"sources":["../../../src/PlanDigital/from/index.ts"],"sourcesContent":["import { FromInterface } from '../../
|
|
1
|
+
{"version":3,"file":"index.js","names":["_schedules"],"sources":["../../../src/PlanDigital/from/index.ts"],"sourcesContent":["import type { FromInterface } from '../../common/types';\nimport _schedules from './schedules';\n\nexport default {\n schedules: _schedules\n} satisfies FromInterface;"],"mappings":";;;AAGA,mBAAe,EACb,WAAWA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { countBy, size, sum
|
|
1
|
+
import { countBy, size, sum } from "lodash-es";
|
|
2
2
|
|
|
3
3
|
//#region src/PlanDigital/from/schedules.ts
|
|
4
4
|
var schedules_default = (input, options) => {
|
|
@@ -8,7 +8,8 @@ var schedules_default = (input, options) => {
|
|
|
8
8
|
errors.push("The schedule data does not contain any periods.");
|
|
9
9
|
return { meta: { errors } };
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
const selectedPeriods = options.selectedPeriods;
|
|
12
|
+
if (!selectedPeriods?.length) {
|
|
12
13
|
errors.push("No periods were selected.");
|
|
13
14
|
return { meta: { errors } };
|
|
14
15
|
}
|
|
@@ -22,16 +23,16 @@ var schedules_default = (input, options) => {
|
|
|
22
23
|
return { meta: { errors } };
|
|
23
24
|
}
|
|
24
25
|
const timeUnit = input["Perioder"][0].Tidsenhet;
|
|
25
|
-
const courses =
|
|
26
|
+
const courses = new Array();
|
|
26
27
|
const teacherSet = /* @__PURE__ */ new Set();
|
|
27
28
|
const groupSet = /* @__PURE__ */ new Set();
|
|
28
29
|
input["Tabell Tjänstefördelning"].forEach((c) => {
|
|
29
|
-
const periodTimes =
|
|
30
|
+
const periodTimes = selectedPeriods.map((x) => c[`Tid ${x}`] ?? 0);
|
|
30
31
|
if (sum(periodTimes) == 0) return;
|
|
31
32
|
const displayName = c[options.displayName ?? "Gruppnamn"];
|
|
32
33
|
const subject = c["Kurskod"];
|
|
33
|
-
const groups$1 = c["Klass"]?.split(",").map(trim);
|
|
34
|
-
const teachers$1 = c["Sign"]?.split(",").map(trim);
|
|
34
|
+
const groups$1 = c["Klass"]?.split(",").map((x) => x.trim());
|
|
35
|
+
const teachers$1 = c["Sign"]?.split(",").map((x) => x.trim());
|
|
35
36
|
const periodTime = size(countBy(periodTimes)) == 1 ? periodTimes[0] : void 0;
|
|
36
37
|
const minutesPerWeek = timeUnit == "Minuter/Vecka" ? periodTime : void 0;
|
|
37
38
|
const expectedTotalHours = timeUnit == "Timmar/Period" ? periodTime : void 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedules.js","names":["warnings: string[]","errors: string[]","
|
|
1
|
+
{"version":3,"file":"schedules.js","names":["warnings: string[]","errors: string[]","groups","teachers"],"sources":["../../../src/PlanDigital/from/schedules.ts"],"sourcesContent":["import { size, countBy, sum } from 'lodash-es';\nimport type { CoreTypes } from '../../core';\nimport type { Types as PlanDigitalTypes } from '../types';\nimport type { InternalIdKey } from '../../core/types/common';\n\nnamespace OutTypes {\n export type group = Omit<CoreTypes.serialized.group, InternalIdKey>;\n export type teacher = Omit<CoreTypes.serialized.teacher, InternalIdKey>;\n export type course = Omit<CoreTypes.serialized.course, InternalIdKey>;\n}\n\ntype Out = {\n groups?: OutTypes.group[];\n teachers?: OutTypes.teacher[];\n courses?: OutTypes.course[];\n meta?: {\n errors?: string[];\n warnings?: string[];\n };\n};\n\nexport default (\n input: PlanDigitalTypes.schedule,\n options: PlanDigitalTypes.options\n): Out => {\n // gather all import related warnings/errors\n const warnings: string[] = [];\n const errors: string[] = [];\n\n // there must be at least a single period\n if (!input['Perioder'].length) {\n errors.push('The schedule data does not contain any periods.');\n return { meta: { errors } };\n }\n\n // ensure that at least one period is selected\n const selectedPeriods = options.selectedPeriods;\n if (!selectedPeriods?.length) {\n errors.push('No periods were selected.');\n return { meta: { errors } };\n }\n\n // ensure that the selected periods exist\n for (const x of options.selectedPeriods ?? []) {\n if (!input['Perioder'].some(p => p.Namn == x)) {\n errors.push(`The selected period ${x} does not exist.`);\n return { meta: { errors } };\n }\n }\n\n // ensure that all periods use the same time unit\n const numUnits = size(countBy(input['Perioder'].map(x => x.Tidsenhet)));\n if (numUnits > 1) {\n errors.push('Different time periods used for different periods.');\n return { meta: { errors } };\n }\n const timeUnit = input['Perioder'][0].Tidsenhet;\n\n\n ////\n //// fetch courses, groups, and teachers\n ////\n const courses = new Array<OutTypes.course>();\n const teacherSet = new Set<string>();\n const groupSet = new Set<string>();\n input['Tabell Tjänstefördelning'].forEach(c => {\n // check if the course should be taken into account\n // (the course must then have some scheduled time during the selected periods)\n const periodTimes = selectedPeriods.map(x => c[`Tid ${x}`] ?? 0);\n if (sum(periodTimes) == 0) return;\n\n const displayName = c[options.displayName ?? 'Gruppnamn'];\n const subject = c['Kurskod'];\n const groups = c['Klass']?.split(',').map(x => x.trim());\n const teachers = c['Sign'] ?.split(',').map(x => x.trim());\n\n // fetch the expected schedule time in whatever units\n const periodTime = size(countBy(periodTimes)) == 1 ? periodTimes[0] : undefined;\n const minutesPerWeek = timeUnit == 'Minuter/Vecka' ? periodTime : undefined;\n const expectedTotalHours = timeUnit == 'Timmar/Period' ? periodTime : undefined;\n\n // add groups and teachers\n teachers.forEach(x => teacherSet.add(x));\n groups.forEach(x => groupSet.add(x));\n\n // add course\n courses.push({\n displayName,\n subject,\n teachers: teachers.map(to => ({ to })),\n groups: groups .map(to => ({ to })),\n\n ...(minutesPerWeek != undefined && { minutesPerWeek }),\n ...(expectedTotalHours != undefined && { expectedTotalHours })\n });\n\n });\n\n\n const teachers = [...teacherSet].map(ids => ({ ids, displayName: ids }));\n const groups = [...groupSet ].map(ids => ({ ids, displayName: ids, species: 'class' as const }));\n return { groups, teachers, courses,\n meta: {\n ...( errors.length && { errors: errors } ),\n ...( warnings.length && { warnings: warnings } )\n }\n };\n};"],"mappings":";;;AAqBA,yBACE,OACA,YACQ;CAER,MAAMA,WAAqB;CAC3B,MAAMC,SAAqB;AAG3B,KAAI,CAAC,MAAM,YAAY,QAAQ;AAC7B,SAAO,KAAK;AACZ,SAAO,EAAE,MAAM,EAAE;;CAInB,MAAM,kBAAkB,QAAQ;AAChC,KAAI,CAAC,iBAAiB,QAAQ;AAC5B,SAAO,KAAK;AACZ,SAAO,EAAE,MAAM,EAAE;;AAInB,MAAK,MAAM,KAAK,QAAQ,mBAAmB,GACzC,KAAI,CAAC,MAAM,YAAY,MAAK,MAAK,EAAE,QAAQ,IAAI;AAC7C,SAAO,KAAK,uBAAuB,EAAE;AACrC,SAAO,EAAE,MAAM,EAAE;;CAKrB,MAAM,WAAW,KAAK,QAAQ,MAAM,YAAY,KAAI,MAAK,EAAE;AAC3D,KAAI,WAAW,GAAG;AAChB,SAAO,KAAK;AACZ,SAAO,EAAE,MAAM,EAAE;;CAEnB,MAAM,WAAW,MAAM,YAAY,GAAG;CAMtC,MAAM,UAAa,IAAI;CACvB,MAAM,6BAAa,IAAI;CACvB,MAAM,2BAAa,IAAI;AACvB,OAAM,4BAA4B,SAAQ,MAAK;EAG7C,MAAM,cAAc,gBAAgB,KAAI,MAAK,EAAE,OAAO,QAAQ;AAC9D,MAAI,IAAI,gBAAgB,EAAG;EAE3B,MAAM,cAAc,EAAE,QAAQ,eAAe;EAC7C,MAAM,UAAc,EAAE;EACtB,MAAMC,WAAc,EAAE,UAAU,MAAM,KAAK,KAAI,MAAK,EAAE;EACtD,MAAMC,aAAc,EAAE,SAAU,MAAM,KAAK,KAAI,MAAK,EAAE;EAGtD,MAAM,aAAqB,KAAK,QAAQ,iBAAiB,IAAI,YAAY,KAAK;EAC9E,MAAM,iBAAqB,YAAY,kBAA0B,aAAiB;EAClF,MAAM,qBAAqB,YAAY,kBAA0B,aAAiB;AAGlF,aAAS,SAAQ,MAAK,WAAW,IAAI;AACrC,WAAO,SAAQ,MAAO,SAAS,IAAI;AAGnC,UAAQ,KAAK;GACX;GACA;GACA,UAAUA,WAAS,KAAI,QAAO,EAAE;GAChC,QAAUD,SAAS,KAAI,QAAO,EAAE;GAEhC,GAAI,kBAAsB,UAAa,EAAE;GACzC,GAAI,sBAAsB,UAAa,EAAE;;;CAM7C,MAAM,WAAW,CAAC,GAAG,YAAY,KAAI,SAAQ;EAAE;EAAK,aAAa;;CACjE,MAAM,SAAW,CAAC,GAAG,UAAY,KAAI,SAAQ;EAAE;EAAK,aAAa;EAAK,SAAS;;AAC/E,QAAO;EAAE;EAAQ;EAAU;EACzB,MAAM;GACJ,GAAK,OAAO,UAAY,EAAY;GACpC,GAAK,SAAS,UAAU,EAAY"}
|
|
@@ -1,13 +1,114 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { DateType } from "../common/types.js";
|
|
2
|
+
import { AvailableLocation, GroupReference, ID, PersonReference } from "../core/types/common/index.js";
|
|
3
|
+
import { BreakLength } from "../core/types/common/break-lengths.js";
|
|
4
|
+
import { AllowedInterval } from "../core/types/common/intervals.js";
|
|
5
|
+
import { Day } from "../core/types/common/days.js";
|
|
6
|
+
import { MaximumScheduleSpan } from "../core/types/common/maximum-schedule-span.js";
|
|
7
|
+
import { Tag } from "../core/types/common/tag.js";
|
|
8
|
+
import { PlannedScheduledDuration } from "../core/types/common/planned-schedule-duration.js";
|
|
9
|
+
import { Types } from "./types/index.js";
|
|
4
10
|
|
|
5
11
|
//#region src/PlanDigital/index.d.ts
|
|
6
12
|
declare class PlanDigitalMap {
|
|
7
13
|
static from: {
|
|
8
|
-
schedules: (input: Types.schedule, options:
|
|
14
|
+
schedules: (input: Types.schedule, options: Types.options) => {
|
|
15
|
+
groups?: {
|
|
16
|
+
exceptions?: string[] | undefined;
|
|
17
|
+
lockedTimes?: string[] | undefined;
|
|
18
|
+
ids?: ID | undefined;
|
|
19
|
+
createdAt?: DateType | undefined;
|
|
20
|
+
updatedAt?: DateType | undefined;
|
|
21
|
+
lastModifiedBy?: unknown;
|
|
22
|
+
belongsTo?: string | undefined;
|
|
23
|
+
rank?: number | undefined;
|
|
24
|
+
displayName?: string | undefined;
|
|
25
|
+
lunch?: string[] | undefined;
|
|
26
|
+
intervals?: AllowedInterval[] | undefined;
|
|
27
|
+
days?: Day[] | undefined;
|
|
28
|
+
minBreakLength?: BreakLength | undefined;
|
|
29
|
+
tags?: Tag[] | undefined;
|
|
30
|
+
maximumScheduleSpan?: MaximumScheduleSpan | undefined;
|
|
31
|
+
forbidOverlappingEvents?: boolean | undefined;
|
|
32
|
+
disableDayLengthPunishment?: boolean | undefined;
|
|
33
|
+
weight?: number | undefined;
|
|
34
|
+
rootInterval?: string | undefined;
|
|
35
|
+
maxNumWorkingHours?: number | boolean | undefined;
|
|
36
|
+
maxNumDailyWorkingHours?: number | number[] | boolean | undefined;
|
|
37
|
+
species?: "class" | undefined;
|
|
38
|
+
parentGroups?: string[] | undefined;
|
|
39
|
+
subGroups?: string[] | undefined;
|
|
40
|
+
members?: string[] | undefined;
|
|
41
|
+
}[];
|
|
42
|
+
teachers?: {
|
|
43
|
+
exceptions?: string[] | undefined;
|
|
44
|
+
lockedTimes?: string[] | undefined;
|
|
45
|
+
ids?: ID | undefined;
|
|
46
|
+
createdAt?: DateType | undefined;
|
|
47
|
+
updatedAt?: DateType | undefined;
|
|
48
|
+
lastModifiedBy?: unknown;
|
|
49
|
+
belongsTo?: string | undefined;
|
|
50
|
+
rank?: number | undefined;
|
|
51
|
+
displayName?: string | undefined;
|
|
52
|
+
lunch?: string[] | undefined;
|
|
53
|
+
intervals?: AllowedInterval[] | undefined;
|
|
54
|
+
days?: Day[] | undefined;
|
|
55
|
+
minBreakLength?: BreakLength | undefined;
|
|
56
|
+
tags?: Tag[] | undefined;
|
|
57
|
+
plannedScheduledDuration?: PlannedScheduledDuration | undefined;
|
|
58
|
+
maximumScheduleSpan?: MaximumScheduleSpan | undefined;
|
|
59
|
+
forbidOverlappingEvents?: boolean | undefined;
|
|
60
|
+
disableDayLengthPunishment?: boolean | undefined;
|
|
61
|
+
weight?: number | undefined;
|
|
62
|
+
person?: string | undefined;
|
|
63
|
+
rootInterval?: string | undefined;
|
|
64
|
+
signature?: string | undefined;
|
|
65
|
+
maxNumWorkingHours?: number | boolean | undefined;
|
|
66
|
+
maxNumDailyWorkingHours?: number | number[] | boolean | undefined;
|
|
67
|
+
}[];
|
|
68
|
+
courses?: {
|
|
69
|
+
exceptions?: string[] | undefined;
|
|
70
|
+
groups?: GroupReference<string, string>[] | undefined;
|
|
71
|
+
teachers?: PersonReference<string>[] | undefined;
|
|
72
|
+
locations?: AvailableLocation<string>[] | undefined;
|
|
73
|
+
events?: string[] | undefined;
|
|
74
|
+
lockedTimes?: string[] | undefined;
|
|
75
|
+
ids?: ID | undefined;
|
|
76
|
+
createdAt?: DateType | undefined;
|
|
77
|
+
updatedAt?: DateType | undefined;
|
|
78
|
+
lastModifiedBy?: unknown;
|
|
79
|
+
belongsTo?: string | undefined;
|
|
80
|
+
displayName?: string | undefined;
|
|
81
|
+
intervals?: AllowedInterval[] | undefined;
|
|
82
|
+
days?: Day[] | undefined;
|
|
83
|
+
minBreakLength?: BreakLength | undefined;
|
|
84
|
+
tags?: Tag[] | undefined;
|
|
85
|
+
weeks?: number[] | undefined;
|
|
86
|
+
weight?: number | undefined;
|
|
87
|
+
period?: string | undefined;
|
|
88
|
+
participants?: PersonReference<string>[] | undefined;
|
|
89
|
+
density?: number | undefined;
|
|
90
|
+
subject?: string | undefined;
|
|
91
|
+
color?: string | undefined;
|
|
92
|
+
eventDurationVariance?: number | undefined;
|
|
93
|
+
totalTime?: string | undefined;
|
|
94
|
+
type?: string | undefined;
|
|
95
|
+
comment?: string | undefined;
|
|
96
|
+
startDate?: DateType | undefined;
|
|
97
|
+
endDate?: DateType | undefined;
|
|
98
|
+
centerOfAttraction?: string | null | undefined;
|
|
99
|
+
syllabus?: string | undefined;
|
|
100
|
+
overlapGroup?: string | null | undefined;
|
|
101
|
+
overlapSpecies?: string | null | undefined;
|
|
102
|
+
plannedDuration?: string | undefined;
|
|
103
|
+
minutesPerWeek?: number | undefined;
|
|
104
|
+
expectedTotalHours?: number | undefined;
|
|
105
|
+
}[];
|
|
106
|
+
meta?: {
|
|
107
|
+
errors?: string[];
|
|
108
|
+
warnings?: string[];
|
|
109
|
+
};
|
|
110
|
+
};
|
|
9
111
|
};
|
|
10
|
-
static to: typeof export_default;
|
|
11
112
|
}
|
|
12
113
|
//#endregion
|
|
13
114
|
export { PlanDigitalMap };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_from"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_from"],"sources":["../../src/PlanDigital/index.ts"],"sourcesContent":["import _from from './from';\nimport type { Types } from './types';\n\nexport class PlanDigitalMap {\n static from = _from;\n}\n\nexport { Types as PlanDigitalTypes };"],"mappings":";;;AAGA,IAAa,iBAAb,MAA4B;CAC1B,OAAO,OAAOA"}
|
|
@@ -8,16 +8,16 @@ type Period = {
|
|
|
8
8
|
Tidsenhet: 'Timmar/Period' | 'Minuter/Vecka';
|
|
9
9
|
};
|
|
10
10
|
type Course = {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
11
|
+
Gruppnamn: string;
|
|
12
|
+
Klass: string;
|
|
13
|
+
Kurskod: string;
|
|
14
|
+
Sign: string;
|
|
15
|
+
Poäng: number;
|
|
16
|
+
[key: `Tid ${string}`]: number;
|
|
17
|
+
Anteckningar: string;
|
|
18
|
+
Antal: number;
|
|
19
|
+
Ämne: string;
|
|
20
|
+
Kursnamn: string;
|
|
21
21
|
};
|
|
22
22
|
type Schedule = {
|
|
23
23
|
'Perioder': Period[];
|
|
@@ -27,7 +27,8 @@ declare namespace Types {
|
|
|
27
27
|
type course = Course;
|
|
28
28
|
type period = Period;
|
|
29
29
|
type schedule = Schedule;
|
|
30
|
+
type options = Options;
|
|
30
31
|
}
|
|
31
32
|
//#endregion
|
|
32
|
-
export {
|
|
33
|
+
export { Types };
|
|
33
34
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,26 +1,24 @@
|
|
|
1
|
+
import { getVertexId } from "../../../core/util.js";
|
|
1
2
|
import moment from "moment";
|
|
2
3
|
import XLSX from "xlsx";
|
|
3
4
|
|
|
4
5
|
//#region src/Quiculum/file/to/schedules.ts
|
|
5
|
-
const getId = (ref) => {
|
|
6
|
-
if (typeof ref == "string") return ref;
|
|
7
|
-
return ref.id.toString();
|
|
8
|
-
};
|
|
9
6
|
var schedules_default = (schedule) => {
|
|
10
|
-
const
|
|
7
|
+
const options = { idKey: "id" };
|
|
8
|
+
const did = getVertexId(schedule.division, options);
|
|
11
9
|
if (!did) throw new Error("division id is undefined");
|
|
12
|
-
const periodsMap = new Map(schedule.periods
|
|
10
|
+
const periodsMap = new Map(schedule.periods?.map((p) => [getVertexId(p, options), p]));
|
|
13
11
|
const defaultPeriod = { ranges: [{
|
|
14
12
|
start: schedule.division.start,
|
|
15
13
|
end: schedule.division.end
|
|
16
14
|
}] };
|
|
17
15
|
periodsMap.set(void 0, defaultPeriod);
|
|
18
|
-
const coursesMap = new Map(schedule.courses
|
|
19
|
-
const locationsMap = new Map(schedule.locations
|
|
16
|
+
const coursesMap = new Map(schedule.courses?.map((c) => [getVertexId(c, options), c]));
|
|
17
|
+
const locationsMap = new Map(schedule.locations?.map((l) => [getVertexId(l, options), l]));
|
|
20
18
|
const startDate = moment.utc(schedule.division.start).format("YYYY-MM-DD");
|
|
21
19
|
const endDate = moment.utc(schedule.division.end).format("YYYY-MM-DD");
|
|
22
20
|
const schoolYear = moment.utc(schedule.division.start).format("YY") + "/" + moment.utc(schedule.division.start).add(1, "year").format("YY");
|
|
23
|
-
const holidays = schedule.settings
|
|
21
|
+
const holidays = schedule.settings?.calendarExceptions?.filter((x) => x.start && x.end);
|
|
24
22
|
const holidaysInDays = [];
|
|
25
23
|
if (holidays) for (const holiday of holidays) {
|
|
26
24
|
const start = moment.utc(holiday.start);
|
|
@@ -30,18 +28,18 @@ var schedules_default = (schedule) => {
|
|
|
30
28
|
start.add(1, "day");
|
|
31
29
|
}
|
|
32
30
|
}
|
|
33
|
-
const activities = schedule.events
|
|
31
|
+
const activities = schedule.events?.map((e) => {
|
|
34
32
|
if (!e.start || !e.end) return null;
|
|
35
33
|
const start = moment.utc(e.start);
|
|
36
34
|
const end = moment.utc(e.end);
|
|
37
|
-
const course = e.course ? coursesMap.get(
|
|
35
|
+
const course = e.course ? coursesMap.get(getVertexId(e.course, options)) : void 0;
|
|
38
36
|
if (!course) return null;
|
|
39
37
|
const courseName = course.displayName ?? "";
|
|
40
38
|
const inLocation = e.inLocations?.at(0);
|
|
41
|
-
const location = inLocation ? locationsMap.get(
|
|
39
|
+
const location = inLocation ? locationsMap.get(getVertexId(inLocation, options)) : void 0;
|
|
42
40
|
const locationName = location?.displayName;
|
|
43
41
|
const _period = e.period ?? course.period ?? schedule.settings.period;
|
|
44
|
-
const period = periodsMap.get(_period ?
|
|
42
|
+
const period = periodsMap.get(_period ? getVertexId(_period, options) : void 0);
|
|
45
43
|
const weeksInPeriod = period?.ranges.map((x) => {
|
|
46
44
|
const start$1 = moment.utc(x.start);
|
|
47
45
|
const end$1 = moment.utc(x.end);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedules.js","names":["defaultPeriod: CoreTypes.period","holidaysInDays: moment.Moment[]","start","end"],"sources":["../../../../src/Quiculum/file/to/schedules.ts"],"sourcesContent":["import moment from 'moment';\nimport { Types } from '
|
|
1
|
+
{"version":3,"file":"schedules.js","names":["options: BaseOptions","defaultPeriod: Pick<CoreTypes.period, 'ranges'>","holidaysInDays: moment.Moment[]","start","end"],"sources":["../../../../src/Quiculum/file/to/schedules.ts"],"sourcesContent":["import moment from 'moment';\nimport XLSX from 'xlsx';\nimport type { Types as CoreTypes } from '../../../core/types';\nimport type { BaseOptions } from '../../../common/types';\nimport { getVertexId } from '../../../core/util';\n\ntype Schedule = {\n division: CoreTypes.division;\n settings: CoreTypes.divisionSettings;\n groups: CoreTypes.group[];\n teachers: CoreTypes.teacher[];\n locations: CoreTypes.location[];\n courses: CoreTypes.course[];\n events: CoreTypes.event[];\n periods: CoreTypes.period[];\n persons: CoreTypes.person[];\n};\n\n\n\nexport default (\n schedule: Schedule,\n): XLSX.WorkBook => {\n const options: BaseOptions = { idKey: 'id' };\n // must have a division id\n const did = getVertexId(schedule.division, options);\n if (!did) throw new Error('division id is undefined');\n\n // a map of period id -> period\n const periodsMap = new Map(schedule.periods?.map((p) => [getVertexId(p, options) as string | undefined, p as Pick<CoreTypes.period, 'ranges'>]));\n const defaultPeriod: Pick<CoreTypes.period, 'ranges'> = {\n ranges: [{ start: schedule.division.start, end: schedule.division.end }]\n };\n periodsMap.set(undefined, defaultPeriod);\n\n // a map of course id -> course\n const coursesMap = new Map(schedule.courses?.map((c) => [getVertexId(c, options), c]));\n\n // a map of location id -> location\n const locationsMap = new Map(schedule.locations?.map((l) => [getVertexId(l, options), l]));\n\n // get start and end dates from division in YYYY-MM-DD format\n const startDate = moment.utc(schedule.division.start).format('YYYY-MM-DD');\n const endDate = moment.utc(schedule.division.end).format('YYYY-MM-DD');\n // get schoolyear from division start date in format YY/YY (only considers the start year, for example 2023-01-01 becomes 23/24)\n const schoolYear = moment.utc(schedule.division.start).format('YY') + '/' +\n moment.utc(schedule.division.start).add(1, 'year').format('YY');\n\n const holidays = schedule.settings?.calendarExceptions\n ?.filter((x) => x.start && x.end);\n\n\n const holidaysInDays: moment.Moment[] = [];\n\n if (holidays) {\n for (const holiday of holidays) {\n const start = moment.utc(holiday.start);\n const end = moment.utc(holiday.end);\n while (start.isBefore(end)) {\n // Only push weekdays (Monday to Friday)\n if (start.isoWeekday() < 6) {\n holidaysInDays.push(start.clone());\n }\n start.add(1, 'day');\n }\n }\n }\n\n ////\n //// Activities (events)\n ////\n const activities = schedule.events\n ?.map((e) => {\n // must have start and end\n if (!e.start || !e.end) return null;\n const start = moment.utc(e.start);\n const end = moment.utc(e.end);\n\n // must have course\n const course = e.course ? coursesMap.get(getVertexId(e.course, options)) : undefined;\n if (!course) return null;\n const courseName = course.displayName ?? '';\n\n // Location\n const inLocation = e.inLocations?.at(0);\n const location = inLocation ? locationsMap.get(getVertexId(inLocation, options)) : undefined;\n const locationName = location?.displayName;\n\n const _period = e.period ?? course.period ?? schedule.settings.period;\n const period = periodsMap.get(_period ? getVertexId(_period, options) : undefined);\n\n const weeksInPeriod = period?.ranges\n .map((x) => {\n // fetch all weeks between start and end\n const start = moment.utc(x.start);\n const end = moment.utc(x.end);\n const weeks = new Array<number>();\n while (start.isBefore(end)) {\n weeks.push(start.week());\n start.add(1, 'week');\n }\n return weeks;\n })\n .flat();\n\n const allWeeks = defaultPeriod?.ranges\n .map((x) => {\n // fetch all weeks between start and end\n const start = moment.utc(x.start);\n const end = moment.utc(x.end);\n const weeks = new Array<number>();\n while (start.isBefore(end)) {\n weeks.push(start.week());\n start.add(1, 'week');\n }\n return weeks;\n })\n .flat();\n\n const excludedWeeks = allWeeks\n .filter((x) => !weeksInPeriod?.includes(x))\n .join(', ');\n\n // Get the holidays in the period (don't include holidays that are not in the period)\n const holidaysInPeriod = holidaysInDays\n .filter((x) => {\n return weeksInPeriod?.includes(x.week());\n })\n .map((x) => x.format('YYYY-MM-DD'))\n .join(', ');\n\n return {\n DayOfWeek: (start.day() + 6) % 7,\n Duration: end.diff(start, 'minutes'),\n EndDate: endDate,\n Name: courseName,\n StartDate: startDate,\n StartTime: start.format('HH:mm'),\n ExcludeDates: holidaysInPeriod,\n ExcludeWeeks: excludedWeeks,\n ExternalActivityID: e.ids,\n ExternalLocationID: '',\n ExternalTeachingGroupID: '',\n Location: locationName,\n SchoolYear: schoolYear,\n Teachers: ''\n };\n })\n .filter((x): x is NonNullable<typeof x> => !!x);\n\n ////\n //// store in workbook\n ////\n const wb = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, XLSX.utils.json_to_sheet(activities), 'Activities');\n\n return wb;\n};\n"],"mappings":";;;;;AAoBA,yBACE,aACkB;CAClB,MAAMA,UAAuB,EAAE,OAAO;CAEtC,MAAM,MAAM,YAAY,SAAS,UAAU;AAC3C,KAAI,CAAC,IAAK,OAAM,IAAI,MAAM;CAG1B,MAAM,aAAa,IAAI,IAAI,SAAS,SAAS,KAAK,MAAM,CAAC,YAAY,GAAG,UAAgC;CACxG,MAAMC,gBAAkD,EACtD,QAAQ,CAAC;EAAE,OAAO,SAAS,SAAS;EAAO,KAAK,SAAS,SAAS;;AAEpE,YAAW,IAAI,QAAW;CAG1B,MAAM,aAAa,IAAI,IAAI,SAAS,SAAS,KAAK,MAAM,CAAC,YAAY,GAAG,UAAU;CAGlF,MAAM,eAAe,IAAI,IAAI,SAAS,WAAW,KAAK,MAAM,CAAC,YAAY,GAAG,UAAU;CAGtF,MAAM,YAAY,OAAO,IAAI,SAAS,SAAS,OAAO,OAAO;CAC7D,MAAM,UAAU,OAAO,IAAI,SAAS,SAAS,KAAK,OAAO;CAEzD,MAAM,aAAa,OAAO,IAAI,SAAS,SAAS,OAAO,OAAO,QAAQ,MACpE,OAAO,IAAI,SAAS,SAAS,OAAO,IAAI,GAAG,QAAQ,OAAO;CAE5D,MAAM,WAAW,SAAS,UAAU,oBAChC,QAAQ,MAAM,EAAE,SAAS,EAAE;CAG/B,MAAMC,iBAAkC;AAExC,KAAI,SACF,MAAK,MAAM,WAAW,UAAU;EAC9B,MAAM,QAAQ,OAAO,IAAI,QAAQ;EACjC,MAAM,MAAM,OAAO,IAAI,QAAQ;AAC/B,SAAO,MAAM,SAAS,MAAM;AAE1B,OAAI,MAAM,eAAe,EACvB,gBAAe,KAAK,MAAM;AAE5B,SAAM,IAAI,GAAG;;;CAQnB,MAAM,aAAa,SAAS,QACxB,KAAK,MAAM;AAEX,MAAI,CAAC,EAAE,SAAS,CAAC,EAAE,IAAK,QAAO;EAC/B,MAAM,QAAQ,OAAO,IAAI,EAAE;EAC3B,MAAM,MAAM,OAAO,IAAI,EAAE;EAGzB,MAAM,SAAS,EAAE,SAAS,WAAW,IAAI,YAAY,EAAE,QAAQ,YAAY;AAC3E,MAAI,CAAC,OAAQ,QAAO;EACpB,MAAM,aAAa,OAAO,eAAe;EAGzC,MAAM,aAAa,EAAE,aAAa,GAAG;EACrC,MAAM,WAAW,aAAa,aAAa,IAAI,YAAY,YAAY,YAAY;EACnF,MAAM,eAAe,UAAU;EAE/B,MAAM,UAAU,EAAE,UAAU,OAAO,UAAU,SAAS,SAAS;EAC/D,MAAM,SAAS,WAAW,IAAI,UAAU,YAAY,SAAS,WAAW;EAExE,MAAM,gBAAgB,QAAQ,OAC3B,KAAK,MAAM;GAEV,MAAMC,UAAQ,OAAO,IAAI,EAAE;GAC3B,MAAMC,QAAM,OAAO,IAAI,EAAE;GACzB,MAAM,QAAQ,IAAI;AAClB,UAAOD,QAAM,SAASC,QAAM;AAC1B,UAAM,KAAKD,QAAM;AACjB,YAAM,IAAI,GAAG;;AAEf,UAAO;KAER;EAEH,MAAM,WAAW,eAAe,OAC7B,KAAK,MAAM;GAEV,MAAMA,UAAQ,OAAO,IAAI,EAAE;GAC3B,MAAMC,QAAM,OAAO,IAAI,EAAE;GACzB,MAAM,QAAQ,IAAI;AAClB,UAAOD,QAAM,SAASC,QAAM;AAC1B,UAAM,KAAKD,QAAM;AACjB,YAAM,IAAI,GAAG;;AAEf,UAAO;KAER;EAEH,MAAM,gBAAgB,SACnB,QAAQ,MAAM,CAAC,eAAe,SAAS,IACvC,KAAK;EAGR,MAAM,mBAAmB,eACtB,QAAQ,MAAM;AACb,UAAO,eAAe,SAAS,EAAE;KAElC,KAAK,MAAM,EAAE,OAAO,eACpB,KAAK;AAER,SAAO;GACL,YAA0B,MAAM,QAAQ,KAAK;GAC7C,UAAyB,IAAI,KAAK,OAAO;GACzC,SAAyB;GACzB,MAAyB;GACzB,WAAyB;GACzB,WAAyB,MAAM,OAAO;GACtC,cAAyB;GACzB,cAAyB;GACzB,oBAAyB,EAAE;GAC3B,oBAAyB;GACzB,yBAAyB;GACzB,UAAyB;GACzB,YAAyB;GACzB,UAAyB;;IAG5B,QAAQ,MAAkC,CAAC,CAAC;CAK/C,MAAM,KAAK,KAAK,MAAM;AACtB,MAAK,MAAM,kBAAkB,IAAI,KAAK,MAAM,cAAc,aAAa;AAEvE,QAAO"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Types } from "../../core/types/index.js";
|
|
2
|
+
|
|
3
|
+
//#region src/RS/from/division.d.ts
|
|
4
|
+
declare function division(input: unknown): Pick<Types.division, 'displayName' | 'start' | 'end'>;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { division };
|
|
7
|
+
//# sourceMappingURL=division.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/RS/from/division.ts
|
|
2
|
+
function division(input) {
|
|
3
|
+
const division$1 = {};
|
|
4
|
+
if (!input || typeof input != "object" || !("meta" in input) || !input.meta || typeof input.meta != "object" || !("division" in input.meta) || !input.meta.division || typeof input.meta.division != "object") return division$1;
|
|
5
|
+
const d = input.meta.division;
|
|
6
|
+
if ("displayName" in d && typeof d.displayName == "string") division$1.displayName = d.displayName;
|
|
7
|
+
if ("start" in d && typeof d.start == "string") division$1.start = d.start;
|
|
8
|
+
if ("end" in d && typeof d.end == "string") division$1.end = d.end;
|
|
9
|
+
return division$1;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
//#endregion
|
|
13
|
+
export { division };
|
|
14
|
+
//# sourceMappingURL=division.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"division.js","names":["division: Pick<CoreTypes.division, 'displayName' | 'start' | 'end'>","division"],"sources":["../../../src/RS/from/division.ts"],"sourcesContent":["import type { CoreTypes } from '../../core';\n\nexport function division (input: unknown): Pick<CoreTypes.division, 'displayName' | 'start' | 'end'> {\n const division: Pick<CoreTypes.division, 'displayName' | 'start' | 'end'> = {};\n\n if ( !input || typeof input != 'object'\n || !('meta' in input ) || !input.meta || typeof input.meta != 'object'\n || !('division' in input.meta) || !input.meta.division || typeof input.meta.division != 'object'\n ) return division;\n\n const d = input.meta.division;\n\n if ('displayName' in d && typeof d.displayName == 'string') division.displayName = d.displayName;\n if ('start' in d && typeof d.start == 'string') division.start = d.start;\n if ('end' in d && typeof d.end == 'string') division.end = d.end;\n\n return division;\n};"],"mappings":";AAEA,SAAgB,SAAU,OAA2E;CACnG,MAAMA,aAAsE;AAE5E,KAAoC,CAAC,SAAuB,OAAO,SAAuB,YACrF,EAAE,UAAc,UAAe,CAAC,MAAM,QAAiB,OAAO,MAAM,QAAiB,YACrF,EAAE,cAAc,MAAM,SAAS,CAAC,MAAM,KAAK,YAAY,OAAO,MAAM,KAAK,YAAY,SACxF,QAAOC;CAET,MAAM,IAAI,MAAM,KAAK;AAErB,KAAI,iBAAiB,KAAK,OAAO,EAAE,eAAe,SAAU,YAAS,cAAc,EAAE;AACrF,KAAI,WAAiB,KAAK,OAAO,EAAE,SAAe,SAAU,YAAS,QAAc,EAAE;AACrF,KAAI,SAAiB,KAAK,OAAO,EAAE,OAAe,SAAU,YAAS,MAAc,EAAE;AAErF,QAAOA"}
|