@royalschedule/maps 4.1.4 → 4.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Additio/from/courses.mjs +28 -0
- package/dist/Additio/from/courses.mjs.map +1 -0
- package/dist/Additio/from/events.mjs +61 -0
- package/dist/Additio/from/events.mjs.map +1 -0
- package/dist/Additio/from/groups.mjs +14 -0
- package/dist/Additio/from/groups.mjs.map +1 -0
- package/dist/Additio/from/index.mjs +8 -0
- package/dist/Additio/from/index.mjs.map +1 -0
- package/dist/Additio/from/locations.mjs +13 -0
- package/dist/Additio/from/locations.mjs.map +1 -0
- package/dist/Additio/from/persons.mjs +30 -0
- package/dist/Additio/from/persons.mjs.map +1 -0
- package/dist/Additio/from/schedules.d.mts +39 -0
- package/dist/Additio/from/schedules.mjs +34 -0
- package/dist/Additio/from/schedules.mjs.map +1 -0
- package/dist/Additio/from/teachers.mjs +25 -0
- package/dist/Additio/from/teachers.mjs.map +1 -0
- package/dist/Additio/index.d.mts +14 -0
- package/dist/Additio/index.mjs +12 -0
- package/dist/Additio/index.mjs.map +1 -0
- package/dist/Additio/to/index.d.mts +23 -0
- package/dist/Additio/to/index.mjs +10 -0
- package/dist/Additio/to/index.mjs.map +1 -0
- package/dist/Additio/to/schedules.mjs +109 -0
- package/dist/Additio/to/schedules.mjs.map +1 -0
- package/dist/Additio/types/course-sections.d.mts +20 -0
- package/dist/Additio/types/courses.d.mts +17 -0
- package/dist/Additio/types/index.d.mts +27 -0
- package/dist/Additio/types/lessons.d.mts +27 -0
- package/dist/Additio/types/options.d.mts +16 -0
- package/dist/Additio/types/primary-groups.d.mts +30 -0
- package/dist/Additio/types/rooms.d.mts +12 -0
- package/dist/Additio/types/schedule-groups.d.mts +23 -0
- package/dist/Additio/types/schedules.d.mts +27 -0
- package/dist/Additio/types/schools.d.mts +11 -0
- package/dist/Additio/types/users.d.mts +20 -0
- package/dist/Admentum/from/courses.mjs +32 -0
- package/dist/Admentum/from/courses.mjs.map +1 -0
- package/dist/Admentum/from/events.mjs +62 -0
- package/dist/Admentum/from/events.mjs.map +1 -0
- package/dist/Admentum/from/groups.mjs +14 -0
- package/dist/Admentum/from/groups.mjs.map +1 -0
- package/dist/Admentum/from/index.mjs +8 -0
- package/dist/Admentum/from/index.mjs.map +1 -0
- package/dist/Admentum/from/locations.mjs +13 -0
- package/dist/Admentum/from/locations.mjs.map +1 -0
- package/dist/Admentum/from/persons.mjs +30 -0
- package/dist/Admentum/from/persons.mjs.map +1 -0
- package/dist/Admentum/from/schedules.d.mts +39 -0
- package/dist/Admentum/from/schedules.mjs +34 -0
- package/dist/Admentum/from/schedules.mjs.map +1 -0
- package/dist/Admentum/from/teachers.mjs +25 -0
- package/dist/Admentum/from/teachers.mjs.map +1 -0
- package/dist/Admentum/index.d.mts +14 -0
- package/dist/Admentum/index.mjs +12 -0
- package/dist/Admentum/index.mjs.map +1 -0
- package/dist/Admentum/to/index.d.mts +20 -0
- package/dist/Admentum/to/index.mjs +10 -0
- package/dist/Admentum/to/index.mjs.map +1 -0
- package/dist/Admentum/to/schedules.mjs +91 -0
- package/dist/Admentum/to/schedules.mjs.map +1 -0
- package/dist/Admentum/types/course-sections.d.mts +20 -0
- package/dist/Admentum/types/courses.d.mts +17 -0
- package/dist/Admentum/types/index.d.mts +25 -0
- package/dist/Admentum/types/lessons.d.mts +27 -0
- package/dist/Admentum/types/primary-groups.d.mts +30 -0
- package/dist/Admentum/types/rooms.d.mts +12 -0
- package/dist/Admentum/types/schedule-groups.d.mts +23 -0
- package/dist/Admentum/types/schedules.d.mts +27 -0
- package/dist/Admentum/types/schools.d.mts +11 -0
- package/dist/Admentum/types/users.d.mts +20 -0
- package/dist/Excel/index.d.mts +308 -0
- package/dist/Excel/index.mjs +13 -0
- package/dist/Excel/index.mjs.map +1 -0
- package/dist/Excel/v1/from/index.mjs +290 -0
- package/dist/Excel/v1/from/index.mjs.map +1 -0
- package/dist/Excel/v1/index.d.mts +256 -0
- package/dist/Excel/v1/index.mjs +10 -0
- package/dist/Excel/v1/index.mjs.map +1 -0
- package/dist/Excel/v1/types/index.d.mts +44 -0
- package/dist/Excel/v2/from/index.mjs +620 -0
- package/dist/Excel/v2/from/index.mjs.map +1 -0
- package/dist/Excel/v2/index.d.mts +303 -0
- package/dist/Excel/v2/index.mjs +10 -0
- package/dist/Excel/v2/index.mjs.map +1 -0
- package/dist/Excel/v2/types/index.d.mts +72 -0
- package/dist/IdunSoft/from/courses.mjs +16 -0
- package/dist/IdunSoft/from/courses.mjs.map +1 -0
- package/dist/IdunSoft/from/events.mjs +58 -0
- package/dist/IdunSoft/from/events.mjs.map +1 -0
- package/dist/IdunSoft/from/groups.mjs +17 -0
- package/dist/IdunSoft/from/groups.mjs.map +1 -0
- package/dist/IdunSoft/from/index.mjs +8 -0
- package/dist/IdunSoft/from/index.mjs.map +1 -0
- package/dist/IdunSoft/from/locations.mjs +16 -0
- package/dist/IdunSoft/from/locations.mjs.map +1 -0
- package/dist/IdunSoft/from/schedules.d.mts +24 -0
- package/dist/IdunSoft/from/schedules.mjs +20 -0
- package/dist/IdunSoft/from/schedules.mjs.map +1 -0
- package/dist/IdunSoft/from/teachers.mjs +16 -0
- package/dist/IdunSoft/from/teachers.mjs.map +1 -0
- package/dist/IdunSoft/index.d.mts +14 -0
- package/dist/IdunSoft/index.mjs +12 -0
- package/dist/IdunSoft/index.mjs.map +1 -0
- package/dist/IdunSoft/to/index.d.mts +10 -0
- package/dist/IdunSoft/to/index.mjs +10 -0
- package/dist/IdunSoft/to/index.mjs.map +1 -0
- package/dist/IdunSoft/to/schedules.mjs +55 -0
- package/dist/IdunSoft/to/schedules.mjs.map +1 -0
- package/dist/IdunSoft/types/courses.d.mts +8 -0
- package/dist/IdunSoft/types/events.d.mts +26 -0
- package/dist/IdunSoft/types/groups.d.mts +8 -0
- package/dist/IdunSoft/types/index.d.mts +20 -0
- package/dist/IdunSoft/types/locations.d.mts +8 -0
- package/dist/IdunSoft/types/schedules.d.mts +17 -0
- package/dist/IdunSoft/types/teachers.d.mts +8 -0
- package/dist/InfoMentor/index.d.mts +10 -0
- package/dist/InfoMentor/index.mjs +10 -0
- package/dist/InfoMentor/index.mjs.map +1 -0
- package/dist/InfoMentor/to/index.d.mts +10 -0
- package/dist/InfoMentor/to/index.mjs +10 -0
- package/dist/InfoMentor/to/index.mjs.map +1 -0
- package/dist/InfoMentor/to/schedules.mjs +57 -0
- package/dist/InfoMentor/to/schedules.mjs.map +1 -0
- package/dist/InfoMentor/types/events.d.mts +13 -0
- package/dist/InfoMentor/types/index.d.mts +9 -0
- package/dist/PlanDigital/from/index.mjs +8 -0
- package/dist/PlanDigital/from/index.mjs.map +1 -0
- package/dist/PlanDigital/from/schedules.mjs +71 -0
- package/dist/PlanDigital/from/schedules.mjs.map +1 -0
- package/dist/PlanDigital/index.d.mts +129 -0
- package/dist/PlanDigital/index.mjs +10 -0
- package/dist/PlanDigital/index.mjs.map +1 -0
- package/dist/PlanDigital/types/index.d.mts +34 -0
- package/dist/Quiculum/file/index.d.mts +9 -0
- package/dist/Quiculum/file/index.mjs +10 -0
- package/dist/Quiculum/file/index.mjs.map +1 -0
- package/dist/Quiculum/file/to/index.d.mts +21 -0
- package/dist/Quiculum/file/to/index.mjs +10 -0
- package/dist/Quiculum/file/to/index.mjs.map +1 -0
- package/dist/Quiculum/file/to/schedules.mjs +87 -0
- package/dist/Quiculum/file/to/schedules.mjs.map +1 -0
- package/dist/Quiculum/index.d.mts +11 -0
- package/dist/Quiculum/index.mjs +11 -0
- package/dist/Quiculum/index.mjs.map +1 -0
- package/dist/RS/from/division.d.mts +8 -0
- package/dist/RS/from/division.mjs +17 -0
- package/dist/RS/from/division.mjs.map +1 -0
- package/dist/RS/from/index.mjs +12 -0
- package/dist/RS/from/index.mjs.map +1 -0
- package/dist/RS/from/schedules.d.mts +9 -0
- package/dist/RS/from/schedules.mjs +40 -0
- package/dist/RS/from/schedules.mjs.map +1 -0
- package/dist/RS/index.d.mts +18 -0
- package/dist/RS/index.mjs +12 -0
- package/dist/RS/index.mjs.map +1 -0
- package/dist/RS/make-connected.d.mts +25 -0
- package/dist/RS/make-connected.mjs +207 -0
- package/dist/RS/make-connected.mjs.map +1 -0
- package/dist/RS/to/index.mjs +8 -0
- package/dist/RS/to/index.mjs.map +1 -0
- package/dist/RS/to/initial-configuration.mjs +41 -0
- package/dist/RS/to/initial-configuration.mjs.map +1 -0
- package/dist/RS/to/input/default.mjs +28 -0
- package/dist/RS/to/input/default.mjs.map +1 -0
- package/dist/RS/to/input/dependencies.mjs +31 -0
- package/dist/RS/to/input/dependencies.mjs.map +1 -0
- package/dist/RS/to/input/events.mjs +101 -0
- package/dist/RS/to/input/events.mjs.map +1 -0
- package/dist/RS/to/input/groups.mjs +32 -0
- package/dist/RS/to/input/groups.mjs.map +1 -0
- package/dist/RS/to/input/individuals.mjs +45 -0
- package/dist/RS/to/input/individuals.mjs.map +1 -0
- package/dist/RS/to/input/input.mjs +59 -0
- package/dist/RS/to/input/input.mjs.map +1 -0
- package/dist/RS/to/input/intervals.mjs +129 -0
- package/dist/RS/to/input/intervals.mjs.map +1 -0
- package/dist/RS/to/input/linked-events-sets.mjs +96 -0
- package/dist/RS/to/input/linked-events-sets.mjs.map +1 -0
- package/dist/RS/to/input/locked-times.mjs +89 -0
- package/dist/RS/to/input/locked-times.mjs.map +1 -0
- package/dist/RS/to/input/periods.mjs +57 -0
- package/dist/RS/to/input/periods.mjs.map +1 -0
- package/dist/RS/to/input/settings.mjs +13 -0
- package/dist/RS/to/input/settings.mjs.map +1 -0
- package/dist/RS/to/input/teachers.mjs +32 -0
- package/dist/RS/to/input/teachers.mjs.map +1 -0
- package/dist/RS/to/input/util/parse-days.mjs +10 -0
- package/dist/RS/to/input/util/parse-days.mjs.map +1 -0
- package/dist/RS/to/input/util/parse-group-references.mjs +50 -0
- package/dist/RS/to/input/util/parse-group-references.mjs.map +1 -0
- package/dist/RS/to/input/util/parse-location-references.mjs +35 -0
- package/dist/RS/to/input/util/parse-location-references.mjs.map +1 -0
- package/dist/RS/to/input/util/parse-max-working-hours.mjs +14 -0
- package/dist/RS/to/input/util/parse-max-working-hours.mjs.map +1 -0
- package/dist/RS/to/input/util/parse-minimum-break-length.mjs +19 -0
- package/dist/RS/to/input/util/parse-minimum-break-length.mjs.map +1 -0
- package/dist/RS/to/input/util/util.mjs +100 -0
- package/dist/RS/to/input/util/util.mjs.map +1 -0
- package/dist/RS/to/schedules.d.mts +7 -0
- package/dist/RS/to/schedules.mjs +51 -0
- package/dist/RS/to/schedules.mjs.map +1 -0
- package/dist/RS/types/algorithm-parameters.d.mts +17 -0
- package/dist/RS/types/configurations.d.mts +10 -0
- package/dist/RS/types/event-configuration.d.mts +20 -0
- package/dist/RS/types/index.d.mts +21 -0
- package/dist/RS/types/schedule-data.d.mts +20 -0
- package/dist/RS/types/to.d.mts +64 -0
- package/dist/RS/types/to.mjs +6 -0
- package/dist/RS/types/to.mjs.map +1 -0
- package/dist/SS12000/from/activities.mjs +35 -0
- package/dist/SS12000/from/activities.mjs.map +1 -0
- package/dist/SS12000/from/calendar-events.mjs +20 -0
- package/dist/SS12000/from/calendar-events.mjs.map +1 -0
- package/dist/SS12000/from/duties.mjs +31 -0
- package/dist/SS12000/from/duties.mjs.map +1 -0
- package/dist/SS12000/from/groups.mjs +23 -0
- package/dist/SS12000/from/groups.mjs.map +1 -0
- package/dist/SS12000/from/index.mjs +24 -0
- package/dist/SS12000/from/index.mjs.map +1 -0
- package/dist/SS12000/from/persons.mjs +43 -0
- package/dist/SS12000/from/persons.mjs.map +1 -0
- package/dist/SS12000/from/resources.mjs +9 -0
- package/dist/SS12000/from/resources.mjs.map +1 -0
- package/dist/SS12000/from/rooms.mjs +18 -0
- package/dist/SS12000/from/rooms.mjs.map +1 -0
- package/dist/SS12000/from/syllabuses.mjs +21 -0
- package/dist/SS12000/from/syllabuses.mjs.map +1 -0
- package/dist/SS12000/index.d.mts +37 -0
- package/dist/SS12000/index.mjs +12 -0
- package/dist/SS12000/index.mjs.map +1 -0
- package/dist/SS12000/to/activities.mjs +63 -0
- package/dist/SS12000/to/activities.mjs.map +1 -0
- package/dist/SS12000/to/calendar-events.mjs +53 -0
- package/dist/SS12000/to/calendar-events.mjs.map +1 -0
- package/dist/SS12000/to/common.mjs +25 -0
- package/dist/SS12000/to/common.mjs.map +1 -0
- package/dist/SS12000/to/duties.mjs +45 -0
- package/dist/SS12000/to/duties.mjs.map +1 -0
- package/dist/SS12000/to/groups.mjs +49 -0
- package/dist/SS12000/to/groups.mjs.map +1 -0
- package/dist/SS12000/to/index.d.mts +57 -0
- package/dist/SS12000/to/index.mjs +24 -0
- package/dist/SS12000/to/index.mjs.map +1 -0
- package/dist/SS12000/to/persons.mjs +40 -0
- package/dist/SS12000/to/persons.mjs.map +1 -0
- package/dist/SS12000/to/resources.mjs +27 -0
- package/dist/SS12000/to/resources.mjs.map +1 -0
- package/dist/SS12000/to/rooms.mjs +32 -0
- package/dist/SS12000/to/rooms.mjs.map +1 -0
- package/dist/SS12000/to/syllabuses.mjs +34 -0
- package/dist/SS12000/to/syllabuses.mjs.map +1 -0
- package/dist/SS12000/types/activities.d.mts +41 -0
- package/dist/SS12000/types/calendar-events.d.mts +23 -0
- package/dist/SS12000/types/codes.d.mts +9 -0
- package/dist/SS12000/types/duties.d.mts +23 -0
- package/dist/SS12000/types/duty-assignments.d.mts +13 -0
- package/dist/SS12000/types/groups.d.mts +23 -0
- package/dist/SS12000/types/index.d.mts +21 -0
- package/dist/SS12000/types/organisation.d.mts +20 -0
- package/dist/SS12000/types/persons.d.mts +30 -0
- package/dist/SS12000/types/resources.d.mts +13 -0
- package/dist/SS12000/types/rooms.d.mts +17 -0
- package/dist/SS12000/types/syllabus.d.mts +19 -0
- package/dist/SchoolSoft/api/from/index.mjs +8 -0
- package/dist/SchoolSoft/api/from/index.mjs.map +1 -0
- package/dist/SchoolSoft/api/from/schedules.mjs +163 -0
- package/dist/SchoolSoft/api/from/schedules.mjs.map +1 -0
- package/dist/SchoolSoft/api/index.d.mts +462 -0
- package/dist/SchoolSoft/api/index.mjs +10 -0
- package/dist/SchoolSoft/api/index.mjs.map +1 -0
- package/dist/SchoolSoft/api/types/group.d.mts +12 -0
- package/dist/SchoolSoft/api/types/index.d.mts +19 -0
- package/dist/SchoolSoft/api/types/lesson.d.mts +9 -0
- package/dist/SchoolSoft/api/types/location.d.mts +8 -0
- package/dist/SchoolSoft/api/types/persons.d.mts +31 -0
- package/dist/SchoolSoft/api/types/schedule.d.mts +17 -0
- package/dist/SchoolSoft/api/types/teacher.d.mts +13 -0
- package/dist/SchoolSoft/file/from/index.mjs +8 -0
- package/dist/SchoolSoft/file/from/index.mjs.map +1 -0
- package/dist/SchoolSoft/file/from/schedules.mjs +130 -0
- package/dist/SchoolSoft/file/from/schedules.mjs.map +1 -0
- package/dist/SchoolSoft/file/index.d.mts +16 -0
- package/dist/SchoolSoft/file/index.mjs +12 -0
- package/dist/SchoolSoft/file/index.mjs.map +1 -0
- package/dist/SchoolSoft/file/to/index.d.mts +14 -0
- package/dist/SchoolSoft/file/to/index.mjs +10 -0
- package/dist/SchoolSoft/file/to/index.mjs.map +1 -0
- package/dist/SchoolSoft/file/to/schedules.mjs +106 -0
- package/dist/SchoolSoft/file/to/schedules.mjs.map +1 -0
- package/dist/SchoolSoft/file/types/events.d.mts +27 -0
- package/dist/SchoolSoft/file/types/index.d.mts +17 -0
- package/dist/SchoolSoft/file/types/persons.d.mts +31 -0
- package/dist/SchoolSoft/index.d.mts +21 -0
- package/dist/SchoolSoft/index.mjs +14 -0
- package/dist/SchoolSoft/index.mjs.map +1 -0
- package/dist/Schoolity/index.d.mts +10 -0
- package/dist/Schoolity/index.mjs +10 -0
- package/dist/Schoolity/index.mjs.map +1 -0
- package/dist/Schoolity/txt/index.d.mts +10 -0
- package/dist/Schoolity/txt/index.mjs +10 -0
- package/dist/Schoolity/txt/index.mjs.map +1 -0
- package/dist/Schoolity/txt/to/index.d.mts +11 -0
- package/dist/Schoolity/txt/to/index.mjs +10 -0
- package/dist/Schoolity/txt/to/index.mjs.map +1 -0
- package/dist/Schoolity/txt/to/schedules.mjs +324 -0
- package/dist/Schoolity/txt/to/schedules.mjs.map +1 -0
- package/dist/Schoolity/txt/types/index.d.mts +119 -0
- package/dist/Skola24/index.d.mts +13 -0
- package/dist/Skola24/index.mjs +12 -0
- package/dist/Skola24/index.mjs.map +1 -0
- package/dist/Skola24/mdb/from/course-and-events.mjs +239 -0
- package/dist/Skola24/mdb/from/course-and-events.mjs.map +1 -0
- package/dist/Skola24/mdb/from/groups.mjs +12 -0
- package/dist/Skola24/mdb/from/groups.mjs.map +1 -0
- package/dist/Skola24/mdb/from/index.mjs +8 -0
- package/dist/Skola24/mdb/from/index.mjs.map +1 -0
- package/dist/Skola24/mdb/from/locations.mjs +11 -0
- package/dist/Skola24/mdb/from/locations.mjs.map +1 -0
- package/dist/Skola24/mdb/from/schedule.d.mts +28 -0
- package/dist/Skola24/mdb/from/schedule.mjs +97 -0
- package/dist/Skola24/mdb/from/schedule.mjs.map +1 -0
- package/dist/Skola24/mdb/from/teachers.mjs +11 -0
- package/dist/Skola24/mdb/from/teachers.mjs.map +1 -0
- package/dist/Skola24/mdb/index.d.mts +12 -0
- package/dist/Skola24/mdb/index.mjs +10 -0
- package/dist/Skola24/mdb/index.mjs.map +1 -0
- package/dist/Skola24/mdb/types/Course.d.mts +10 -0
- package/dist/Skola24/mdb/types/Group-group-link.d.mts +8 -0
- package/dist/Skola24/mdb/types/Group.d.mts +9 -0
- package/dist/Skola24/mdb/types/Lesson-group-link.d.mts +8 -0
- package/dist/Skola24/mdb/types/Lesson-period-link.d.mts +8 -0
- package/dist/Skola24/mdb/types/Lesson-room-link.d.mts +8 -0
- package/dist/Skola24/mdb/types/Lesson-teacher-link.d.mts +8 -0
- package/dist/Skola24/mdb/types/Lesson.d.mts +13 -0
- package/dist/Skola24/mdb/types/Options.d.mts +11 -0
- package/dist/Skola24/mdb/types/Period.d.mts +9 -0
- package/dist/Skola24/mdb/types/Plan-group-link.d.mts +8 -0
- package/dist/Skola24/mdb/types/Plan-period-link.d.mts +8 -0
- package/dist/Skola24/mdb/types/Plan-teacher-link.d.mts +10 -0
- package/dist/Skola24/mdb/types/Plan.d.mts +9 -0
- package/dist/Skola24/mdb/types/Room.d.mts +9 -0
- package/dist/Skola24/mdb/types/Schedule.d.mts +39 -0
- package/dist/Skola24/mdb/types/Subject.d.mts +8 -0
- package/dist/Skola24/mdb/types/Teacher.d.mts +10 -0
- package/dist/Skola24/mdb/types/index.d.mts +23 -0
- package/dist/Skola24/txt/from/calendar-exceptions.mjs +67 -0
- package/dist/Skola24/txt/from/calendar-exceptions.mjs.map +1 -0
- package/dist/Skola24/txt/from/division.mjs +44 -0
- package/dist/Skola24/txt/from/division.mjs.map +1 -0
- package/dist/Skola24/txt/from/index.mjs +12 -0
- package/dist/Skola24/txt/from/index.mjs.map +1 -0
- package/dist/Skola24/txt/from/period.mjs +96 -0
- package/dist/Skola24/txt/from/period.mjs.map +1 -0
- package/dist/Skola24/txt/from/schedules.d.mts +18 -0
- package/dist/Skola24/txt/from/schedules.mjs +274 -0
- package/dist/Skola24/txt/from/schedules.mjs.map +1 -0
- package/dist/Skola24/txt/from/util.mjs +23 -0
- package/dist/Skola24/txt/from/util.mjs.map +1 -0
- package/dist/Skola24/txt/index.d.mts +29 -0
- package/dist/Skola24/txt/index.mjs +12 -0
- package/dist/Skola24/txt/index.mjs.map +1 -0
- package/dist/Skola24/txt/to/index.d.mts +11 -0
- package/dist/Skola24/txt/to/index.mjs +10 -0
- package/dist/Skola24/txt/to/index.mjs.map +1 -0
- package/dist/Skola24/txt/to/schedules.mjs +290 -0
- package/dist/Skola24/txt/to/schedules.mjs.map +1 -0
- package/dist/Skola24/txt/types/index.d.mts +154 -0
- package/dist/common/constants.mjs +8 -0
- package/dist/common/constants.mjs.map +1 -0
- package/dist/common/functions.mjs +61 -0
- package/dist/common/functions.mjs.map +1 -0
- package/dist/common/get-date.mjs +15 -0
- package/dist/common/get-date.mjs.map +1 -0
- package/dist/common/make-chainable/index.mjs +36 -0
- package/dist/common/make-chainable/index.mjs.map +1 -0
- package/dist/common/types.d.mts +38 -0
- package/dist/core/from/configurations.mjs +12 -0
- package/dist/core/from/configurations.mjs.map +1 -0
- package/dist/core/from/courses.mjs +12 -0
- package/dist/core/from/courses.mjs.map +1 -0
- package/dist/core/from/events.mjs +13 -0
- package/dist/core/from/events.mjs.map +1 -0
- package/dist/core/from/exceptions.mjs +12 -0
- package/dist/core/from/exceptions.mjs.map +1 -0
- package/dist/core/from/groups.mjs +12 -0
- package/dist/core/from/groups.mjs.map +1 -0
- package/dist/core/from/index.mjs +23 -0
- package/dist/core/from/index.mjs.map +1 -0
- package/dist/core/from/linked-events-sets.mjs +12 -0
- package/dist/core/from/linked-events-sets.mjs.map +1 -0
- package/dist/core/from/locations.mjs +12 -0
- package/dist/core/from/locations.mjs.map +1 -0
- package/dist/core/from/locked-times.mjs +12 -0
- package/dist/core/from/locked-times.mjs.map +1 -0
- package/dist/core/from/periods.mjs +12 -0
- package/dist/core/from/periods.mjs.map +1 -0
- package/dist/core/from/persons.mjs +12 -0
- package/dist/core/from/persons.mjs.map +1 -0
- package/dist/core/from/root-intervals.mjs +12 -0
- package/dist/core/from/root-intervals.mjs.map +1 -0
- package/dist/core/from/schedules.d.mts +7 -0
- package/dist/core/from/schedules.mjs +38 -0
- package/dist/core/from/schedules.mjs.map +1 -0
- package/dist/core/from/settings.mjs +21 -0
- package/dist/core/from/settings.mjs.map +1 -0
- package/dist/core/from/syllabuses.mjs +13 -0
- package/dist/core/from/syllabuses.mjs.map +1 -0
- package/dist/core/from/teachers.mjs +12 -0
- package/dist/core/from/teachers.mjs.map +1 -0
- package/dist/core/index.d.mts +38 -0
- package/dist/core/index.mjs +16 -0
- package/dist/core/index.mjs.map +1 -0
- package/dist/core/interfaces/index.d.mts +23 -0
- package/dist/core/interfaces/index.mjs +6 -0
- package/dist/core/interfaces/other/companies.d.mts +147 -0
- package/dist/core/interfaces/other/companies.mjs +9 -0
- package/dist/core/interfaces/other/companies.mjs.map +1 -0
- package/dist/core/interfaces/other/etc.d.mts +19 -0
- package/dist/core/interfaces/other/index.d.mts +6 -0
- package/dist/core/interfaces/other/integrations.d.mts +17 -0
- package/dist/core/interfaces/other/operations.d.mts +36 -0
- package/dist/core/interfaces/other/policies.d.mts +31 -0
- package/dist/core/interfaces/other/sync-logs.d.mts +21 -0
- package/dist/core/interfaces/other/users.d.mts +35 -0
- package/dist/core/interfaces/vertices/companies.d.mts +8 -0
- package/dist/core/interfaces/vertices/configurations.d.mts +58 -0
- package/dist/core/interfaces/vertices/conversations.d.mts +88 -0
- package/dist/core/interfaces/vertices/courses.d.mts +65 -0
- package/dist/core/interfaces/vertices/division-settings.d.mts +55 -0
- package/dist/core/interfaces/vertices/divisions.d.mts +31 -0
- package/dist/core/interfaces/vertices/events.d.mts +106 -0
- package/dist/core/interfaces/vertices/exceptions.d.mts +74 -0
- package/dist/core/interfaces/vertices/generations.d.mts +23 -0
- package/dist/core/interfaces/vertices/groups.d.mts +51 -0
- package/dist/core/interfaces/vertices/index.d.mts +237 -0
- package/dist/core/interfaces/vertices/index.mjs +3 -0
- package/dist/core/interfaces/vertices/linked-events-sets.d.mts +19 -0
- package/dist/core/interfaces/vertices/locations.d.mts +22 -0
- package/dist/core/interfaces/vertices/locked-times.d.mts +37 -0
- package/dist/core/interfaces/vertices/messages.d.mts +27 -0
- package/dist/core/interfaces/vertices/periods.d.mts +16 -0
- package/dist/core/interfaces/vertices/persons.d.mts +32 -0
- package/dist/core/interfaces/vertices/properties/belongs-to.d.mts +11 -0
- package/dist/core/interfaces/vertices/properties/coalesced.d.mts +8 -0
- package/dist/core/interfaces/vertices/properties/days.d.mts +9 -0
- package/dist/core/interfaces/vertices/properties/index.d.mts +15 -0
- package/dist/core/interfaces/vertices/properties/intervals.d.mts +10 -0
- package/dist/core/interfaces/vertices/properties/maximum-schedule-span.d.mts +19 -0
- package/dist/core/interfaces/vertices/properties/min-break-length.d.mts +5 -0
- package/dist/core/interfaces/vertices/properties/planned-scheduled-duration.d.mts +13 -0
- package/dist/core/interfaces/vertices/properties/species.d.mts +9 -0
- package/dist/core/interfaces/vertices/properties/tags.d.mts +9 -0
- package/dist/core/interfaces/vertices/properties/week.d.mts +22 -0
- package/dist/core/interfaces/vertices/properties/week.mjs +6 -0
- package/dist/core/interfaces/vertices/properties/week.mjs.map +1 -0
- package/dist/core/interfaces/vertices/root-intervals.d.mts +14 -0
- package/dist/core/interfaces/vertices/syllabuses.d.mts +20 -0
- package/dist/core/interfaces/vertices/teachers.d.mts +41 -0
- package/dist/core/interfaces/vertices/threads.d.mts +33 -0
- package/dist/core/interfaces/vertices/users.d.mts +11 -0
- package/dist/core/interfaces/vertices/util/common.d.mts +28 -0
- package/dist/core/interfaces/vertices/util/custom-vertex-export/assert-no-invalid-expand-keys.d.mts +16 -0
- package/dist/core/interfaces/vertices/util/custom-vertex-export/index.d.mts +34 -0
- package/dist/core/interfaces/vertices/util/custom-vertex-export/util.d.mts +52 -0
- package/dist/core/interfaces/vertices/util/deep-vertex-export/index.d.mts +65 -0
- package/dist/core/interfaces/vertices/util/edges.d.mts +123 -0
- package/dist/core/interfaces/vertices/util/index.d.mts +6 -0
- package/dist/core/interfaces/vertices/util/keys-of.d.mts +26 -0
- package/dist/core/interfaces/vertices/util/serialized-vertex-export.d.mts +11 -0
- package/dist/core/interfaces/vertices/util/util.d.mts +79 -0
- package/dist/core/interfaces/vertices/util/vertex-query/index.d.mts +50 -0
- package/dist/core/interfaces/vertices/util/vertex-query/util.d.mts +13 -0
- package/dist/core/interfaces/vertices/util/vertex.d.mts +68 -0
- package/dist/core/interfaces/vertices/vertex-query.d.mts +115 -0
- package/dist/core/interfaces/vertices/vertex-query.mjs +118 -0
- package/dist/core/interfaces/vertices/vertex-query.mjs.map +1 -0
- package/dist/core/to/configurations.mjs +16 -0
- package/dist/core/to/configurations.mjs.map +1 -0
- package/dist/core/to/courses.mjs +40 -0
- package/dist/core/to/courses.mjs.map +1 -0
- package/dist/core/to/division.mjs +10 -0
- package/dist/core/to/division.mjs.map +1 -0
- package/dist/core/to/events.mjs +42 -0
- package/dist/core/to/events.mjs.map +1 -0
- package/dist/core/to/exceptions.mjs +29 -0
- package/dist/core/to/exceptions.mjs.map +1 -0
- package/dist/core/to/groups.mjs +25 -0
- package/dist/core/to/groups.mjs.map +1 -0
- package/dist/core/to/index.d.mts +9 -0
- package/dist/core/to/index.mjs +10 -0
- package/dist/core/to/index.mjs.map +1 -0
- package/dist/core/to/linked-events-sets.mjs +17 -0
- package/dist/core/to/linked-events-sets.mjs.map +1 -0
- package/dist/core/to/locations.mjs +21 -0
- package/dist/core/to/locations.mjs.map +1 -0
- package/dist/core/to/locked-times.mjs +20 -0
- package/dist/core/to/locked-times.mjs.map +1 -0
- package/dist/core/to/periods.mjs +16 -0
- package/dist/core/to/periods.mjs.map +1 -0
- package/dist/core/to/persons.mjs +17 -0
- package/dist/core/to/persons.mjs.map +1 -0
- package/dist/core/to/root-intervals.mjs +16 -0
- package/dist/core/to/root-intervals.mjs.map +1 -0
- package/dist/core/to/schedules.d.mts +47 -0
- package/dist/core/to/schedules.mjs +42 -0
- package/dist/core/to/schedules.mjs.map +1 -0
- package/dist/core/to/settings.mjs +18 -0
- package/dist/core/to/settings.mjs.map +1 -0
- package/dist/core/to/syllabuses.mjs +16 -0
- package/dist/core/to/syllabuses.mjs.map +1 -0
- package/dist/core/to/teachers.mjs +24 -0
- package/dist/core/to/teachers.mjs.map +1 -0
- package/dist/core/to/util.d.mts +10 -0
- package/dist/core/to/util.mjs +24 -0
- package/dist/core/to/util.mjs.map +1 -0
- package/dist/core/types/common/index.d.mts +8 -0
- package/dist/core/types/common/meta.d.mts +15 -0
- package/dist/core/types/index.d.mts +137 -0
- package/dist/core/util.mjs +46 -0
- package/dist/core/util.mjs.map +1 -0
- package/dist/identify/constants/index.d.mts +144 -0
- package/dist/identify/constants/index.mjs +317 -0
- package/dist/identify/constants/index.mjs.map +1 -0
- package/dist/identify/index.d.mts +8 -0
- package/dist/identify/index.mjs +93 -0
- package/dist/identify/index.mjs.map +1 -0
- package/dist/identify/types/index.d.mts +15 -0
- package/dist/index.d.mts +57 -0
- package/dist/index.mjs +22 -0
- package/dist/sdui/from/classes.mjs +8 -0
- package/dist/sdui/from/classes.mjs.map +1 -0
- package/dist/sdui/from/courses.mjs +14 -0
- package/dist/sdui/from/courses.mjs.map +1 -0
- package/dist/sdui/from/holidays.mjs +8 -0
- package/dist/sdui/from/holidays.mjs.map +1 -0
- package/dist/sdui/from/hours.mjs +6 -0
- package/dist/sdui/from/hours.mjs.map +1 -0
- package/dist/sdui/from/index.mjs +30 -0
- package/dist/sdui/from/index.mjs.map +1 -0
- package/dist/sdui/from/lessons.mjs +23 -0
- package/dist/sdui/from/lessons.mjs.map +1 -0
- package/dist/sdui/from/rooms.mjs +11 -0
- package/dist/sdui/from/rooms.mjs.map +1 -0
- package/dist/sdui/from/schedules.d.mts +21 -0
- package/dist/sdui/from/schedules.mjs +24 -0
- package/dist/sdui/from/schedules.mjs.map +1 -0
- package/dist/sdui/from/school-years.mjs +11 -0
- package/dist/sdui/from/school-years.mjs.map +1 -0
- package/dist/sdui/from/subjects.mjs +6 -0
- package/dist/sdui/from/subjects.mjs.map +1 -0
- package/dist/sdui/from/substitution-plans.mjs +10 -0
- package/dist/sdui/from/substitution-plans.mjs.map +1 -0
- package/dist/sdui/from/teachers.mjs +15 -0
- package/dist/sdui/from/teachers.mjs.map +1 -0
- package/dist/sdui/index.d.mts +32 -0
- package/dist/sdui/index.mjs +12 -0
- package/dist/sdui/index.mjs.map +1 -0
- package/dist/sdui/to/classes.mjs +10 -0
- package/dist/sdui/to/classes.mjs.map +1 -0
- package/dist/sdui/to/courses.mjs +16 -0
- package/dist/sdui/to/courses.mjs.map +1 -0
- package/dist/sdui/to/holidays.mjs +16 -0
- package/dist/sdui/to/holidays.mjs.map +1 -0
- package/dist/sdui/to/hours.mjs +15 -0
- package/dist/sdui/to/hours.mjs.map +1 -0
- package/dist/sdui/to/index.d.mts +22 -0
- package/dist/sdui/to/index.mjs +30 -0
- package/dist/sdui/to/index.mjs.map +1 -0
- package/dist/sdui/to/lessons.mjs +24 -0
- package/dist/sdui/to/lessons.mjs.map +1 -0
- package/dist/sdui/to/rooms.mjs +13 -0
- package/dist/sdui/to/rooms.mjs.map +1 -0
- package/dist/sdui/to/schedules.mjs +26 -0
- package/dist/sdui/to/schedules.mjs.map +1 -0
- package/dist/sdui/to/school-years.mjs +18 -0
- package/dist/sdui/to/school-years.mjs.map +1 -0
- package/dist/sdui/to/subjects.mjs +8 -0
- package/dist/sdui/to/subjects.mjs.map +1 -0
- package/dist/sdui/to/substitution-plans.mjs +46 -0
- package/dist/sdui/to/substitution-plans.mjs.map +1 -0
- package/dist/sdui/to/teachers.mjs +20 -0
- package/dist/sdui/to/teachers.mjs.map +1 -0
- package/dist/sdui/types/classes.d.mts +8 -0
- package/dist/sdui/types/courses.d.mts +12 -0
- package/dist/sdui/types/holidays.d.mts +10 -0
- package/dist/sdui/types/hours.d.mts +10 -0
- package/dist/sdui/types/index.d.mts +31 -0
- package/dist/sdui/types/lessons.d.mts +13 -0
- package/dist/sdui/types/rooms.d.mts +9 -0
- package/dist/sdui/types/schedules.d.mts +27 -0
- package/dist/sdui/types/school-years.d.mts +9 -0
- package/dist/sdui/types/subjects.d.mts +9 -0
- package/dist/sdui/types/substitution-plans.d.mts +30 -0
- package/dist/sdui/types/teachers.d.mts +10 -0
- package/dist/vKlass/from/index.mjs +8 -0
- package/dist/vKlass/from/index.mjs.map +1 -0
- package/dist/vKlass/from/schedule.d.mts +24 -0
- package/dist/vKlass/from/schedule.mjs +71 -0
- package/dist/vKlass/from/schedule.mjs.map +1 -0
- package/dist/vKlass/index.d.mts +13 -0
- package/dist/vKlass/index.mjs +12 -0
- package/dist/vKlass/index.mjs.map +1 -0
- package/dist/vKlass/to/index.d.mts +9 -0
- package/dist/vKlass/to/index.mjs +10 -0
- package/dist/vKlass/to/index.mjs.map +1 -0
- package/dist/vKlass/to/schedules.d.mts +14 -0
- package/dist/vKlass/to/schedules.mjs +82 -0
- package/dist/vKlass/to/schedules.mjs.map +1 -0
- package/dist/vKlass/types/index.d.mts +53 -0
- package/package.json +2 -1
- package/dist/Additio/from/courses.js +0 -28
- package/dist/Additio/from/courses.js.map +0 -1
- package/dist/Additio/from/events.js +0 -61
- package/dist/Additio/from/events.js.map +0 -1
- package/dist/Additio/from/groups.js +0 -14
- package/dist/Additio/from/groups.js.map +0 -1
- package/dist/Additio/from/index.js +0 -8
- package/dist/Additio/from/index.js.map +0 -1
- package/dist/Additio/from/locations.js +0 -13
- package/dist/Additio/from/locations.js.map +0 -1
- package/dist/Additio/from/persons.js +0 -30
- package/dist/Additio/from/persons.js.map +0 -1
- package/dist/Additio/from/schedules.d.ts +0 -38
- package/dist/Additio/from/schedules.js +0 -36
- package/dist/Additio/from/schedules.js.map +0 -1
- package/dist/Additio/from/teachers.js +0 -25
- package/dist/Additio/from/teachers.js.map +0 -1
- package/dist/Additio/index.d.ts +0 -14
- package/dist/Additio/index.js +0 -12
- package/dist/Additio/index.js.map +0 -1
- package/dist/Additio/to/index.d.ts +0 -21
- package/dist/Additio/to/index.js +0 -10
- package/dist/Additio/to/index.js.map +0 -1
- package/dist/Additio/to/schedules.js +0 -111
- package/dist/Additio/to/schedules.js.map +0 -1
- package/dist/Additio/types/course-sections.d.ts +0 -20
- package/dist/Additio/types/courses.d.ts +0 -17
- package/dist/Additio/types/index.d.ts +0 -27
- package/dist/Additio/types/lessons.d.ts +0 -27
- package/dist/Additio/types/options.d.ts +0 -16
- package/dist/Additio/types/primary-groups.d.ts +0 -30
- package/dist/Additio/types/rooms.d.ts +0 -12
- package/dist/Additio/types/schedule-groups.d.ts +0 -23
- package/dist/Additio/types/schedules.d.ts +0 -27
- package/dist/Additio/types/schools.d.ts +0 -11
- package/dist/Additio/types/users.d.ts +0 -20
- package/dist/Admentum/from/courses.js +0 -32
- package/dist/Admentum/from/courses.js.map +0 -1
- package/dist/Admentum/from/events.js +0 -62
- package/dist/Admentum/from/events.js.map +0 -1
- package/dist/Admentum/from/groups.js +0 -14
- package/dist/Admentum/from/groups.js.map +0 -1
- package/dist/Admentum/from/index.js +0 -8
- package/dist/Admentum/from/index.js.map +0 -1
- package/dist/Admentum/from/locations.js +0 -13
- package/dist/Admentum/from/locations.js.map +0 -1
- package/dist/Admentum/from/persons.js +0 -30
- package/dist/Admentum/from/persons.js.map +0 -1
- package/dist/Admentum/from/schedules.d.ts +0 -38
- package/dist/Admentum/from/schedules.js +0 -37
- package/dist/Admentum/from/schedules.js.map +0 -1
- package/dist/Admentum/from/teachers.js +0 -25
- package/dist/Admentum/from/teachers.js.map +0 -1
- package/dist/Admentum/index.d.ts +0 -14
- package/dist/Admentum/index.js +0 -12
- package/dist/Admentum/index.js.map +0 -1
- package/dist/Admentum/to/index.d.ts +0 -19
- package/dist/Admentum/to/index.js +0 -10
- package/dist/Admentum/to/index.js.map +0 -1
- package/dist/Admentum/to/schedules.js +0 -94
- package/dist/Admentum/to/schedules.js.map +0 -1
- package/dist/Admentum/types/course-sections.d.ts +0 -20
- package/dist/Admentum/types/courses.d.ts +0 -17
- package/dist/Admentum/types/index.d.ts +0 -25
- package/dist/Admentum/types/lessons.d.ts +0 -27
- package/dist/Admentum/types/primary-groups.d.ts +0 -30
- package/dist/Admentum/types/rooms.d.ts +0 -12
- package/dist/Admentum/types/schedule-groups.d.ts +0 -23
- package/dist/Admentum/types/schedules.d.ts +0 -27
- package/dist/Admentum/types/schools.d.ts +0 -11
- package/dist/Admentum/types/users.d.ts +0 -20
- package/dist/Excel/index.d.ts +0 -308
- package/dist/Excel/index.js +0 -13
- package/dist/Excel/index.js.map +0 -1
- package/dist/Excel/v1/from/index.js +0 -289
- package/dist/Excel/v1/from/index.js.map +0 -1
- package/dist/Excel/v1/index.d.ts +0 -239
- package/dist/Excel/v1/index.js +0 -10
- package/dist/Excel/v1/index.js.map +0 -1
- package/dist/Excel/v1/types/index.d.ts +0 -44
- package/dist/Excel/v2/from/index.js +0 -537
- package/dist/Excel/v2/from/index.js.map +0 -1
- package/dist/Excel/v2/index.d.ts +0 -303
- package/dist/Excel/v2/index.js +0 -10
- package/dist/Excel/v2/index.js.map +0 -1
- package/dist/Excel/v2/types/index.d.ts +0 -70
- package/dist/IdunSoft/from/courses.js +0 -16
- package/dist/IdunSoft/from/courses.js.map +0 -1
- package/dist/IdunSoft/from/events.js +0 -59
- package/dist/IdunSoft/from/events.js.map +0 -1
- package/dist/IdunSoft/from/groups.js +0 -17
- package/dist/IdunSoft/from/groups.js.map +0 -1
- package/dist/IdunSoft/from/index.js +0 -8
- package/dist/IdunSoft/from/index.js.map +0 -1
- package/dist/IdunSoft/from/locations.js +0 -16
- package/dist/IdunSoft/from/locations.js.map +0 -1
- package/dist/IdunSoft/from/schedules.d.ts +0 -23
- package/dist/IdunSoft/from/schedules.js +0 -20
- package/dist/IdunSoft/from/schedules.js.map +0 -1
- package/dist/IdunSoft/from/teachers.js +0 -16
- package/dist/IdunSoft/from/teachers.js.map +0 -1
- package/dist/IdunSoft/index.d.ts +0 -14
- package/dist/IdunSoft/index.js +0 -12
- package/dist/IdunSoft/index.js.map +0 -1
- package/dist/IdunSoft/to/index.d.ts +0 -9
- package/dist/IdunSoft/to/index.js +0 -10
- package/dist/IdunSoft/to/index.js.map +0 -1
- package/dist/IdunSoft/to/schedules.js +0 -58
- package/dist/IdunSoft/to/schedules.js.map +0 -1
- package/dist/IdunSoft/types/courses.d.ts +0 -8
- package/dist/IdunSoft/types/events.d.ts +0 -26
- package/dist/IdunSoft/types/groups.d.ts +0 -8
- package/dist/IdunSoft/types/index.d.ts +0 -20
- package/dist/IdunSoft/types/locations.d.ts +0 -8
- package/dist/IdunSoft/types/schedules.d.ts +0 -17
- package/dist/IdunSoft/types/teachers.d.ts +0 -8
- package/dist/InfoMentor/index.d.ts +0 -10
- package/dist/InfoMentor/index.js +0 -10
- package/dist/InfoMentor/index.js.map +0 -1
- package/dist/InfoMentor/to/index.d.ts +0 -9
- package/dist/InfoMentor/to/index.js +0 -10
- package/dist/InfoMentor/to/index.js.map +0 -1
- package/dist/InfoMentor/to/schedules.js +0 -58
- package/dist/InfoMentor/to/schedules.js.map +0 -1
- package/dist/InfoMentor/types/events.d.ts +0 -13
- package/dist/InfoMentor/types/index.d.ts +0 -9
- package/dist/PlanDigital/from/index.js +0 -8
- package/dist/PlanDigital/from/index.js.map +0 -1
- package/dist/PlanDigital/from/schedules.js +0 -72
- package/dist/PlanDigital/from/schedules.js.map +0 -1
- package/dist/PlanDigital/index.d.ts +0 -128
- package/dist/PlanDigital/index.js +0 -10
- package/dist/PlanDigital/index.js.map +0 -1
- package/dist/PlanDigital/types/index.d.ts +0 -34
- package/dist/Quiculum/file/index.d.ts +0 -9
- package/dist/Quiculum/file/index.js +0 -10
- package/dist/Quiculum/file/index.js.map +0 -1
- package/dist/Quiculum/file/to/index.d.ts +0 -20
- package/dist/Quiculum/file/to/index.js +0 -10
- package/dist/Quiculum/file/to/index.js.map +0 -1
- package/dist/Quiculum/file/to/schedules.js +0 -91
- package/dist/Quiculum/file/to/schedules.js.map +0 -1
- package/dist/Quiculum/index.d.ts +0 -11
- package/dist/Quiculum/index.js +0 -11
- package/dist/Quiculum/index.js.map +0 -1
- package/dist/RS/from/division.d.ts +0 -7
- package/dist/RS/from/division.js +0 -18
- package/dist/RS/from/division.js.map +0 -1
- package/dist/RS/from/index.js +0 -12
- package/dist/RS/from/index.js.map +0 -1
- package/dist/RS/from/schedules.d.ts +0 -8
- package/dist/RS/from/schedules.js +0 -40
- package/dist/RS/from/schedules.js.map +0 -1
- package/dist/RS/index.d.ts +0 -18
- package/dist/RS/index.js +0 -12
- package/dist/RS/index.js.map +0 -1
- package/dist/RS/make-connected.d.ts +0 -23
- package/dist/RS/make-connected.js +0 -216
- package/dist/RS/make-connected.js.map +0 -1
- package/dist/RS/to/index.js +0 -8
- package/dist/RS/to/index.js.map +0 -1
- package/dist/RS/to/initial-configuration.js +0 -43
- package/dist/RS/to/initial-configuration.js.map +0 -1
- package/dist/RS/to/input/default.js +0 -29
- package/dist/RS/to/input/default.js.map +0 -1
- package/dist/RS/to/input/dependencies.js +0 -32
- package/dist/RS/to/input/dependencies.js.map +0 -1
- package/dist/RS/to/input/events.js +0 -102
- package/dist/RS/to/input/events.js.map +0 -1
- package/dist/RS/to/input/groups.js +0 -32
- package/dist/RS/to/input/groups.js.map +0 -1
- package/dist/RS/to/input/individuals.js +0 -46
- package/dist/RS/to/input/individuals.js.map +0 -1
- package/dist/RS/to/input/input.js +0 -61
- package/dist/RS/to/input/input.js.map +0 -1
- package/dist/RS/to/input/intervals.js +0 -131
- package/dist/RS/to/input/intervals.js.map +0 -1
- package/dist/RS/to/input/linked-events-sets.js +0 -96
- package/dist/RS/to/input/linked-events-sets.js.map +0 -1
- package/dist/RS/to/input/locked-times.js +0 -91
- package/dist/RS/to/input/locked-times.js.map +0 -1
- package/dist/RS/to/input/periods.js +0 -58
- package/dist/RS/to/input/periods.js.map +0 -1
- package/dist/RS/to/input/settings.js +0 -13
- package/dist/RS/to/input/settings.js.map +0 -1
- package/dist/RS/to/input/teachers.js +0 -32
- package/dist/RS/to/input/teachers.js.map +0 -1
- package/dist/RS/to/input/util/parse-days.js +0 -10
- package/dist/RS/to/input/util/parse-days.js.map +0 -1
- package/dist/RS/to/input/util/parse-group-references.js +0 -50
- package/dist/RS/to/input/util/parse-group-references.js.map +0 -1
- package/dist/RS/to/input/util/parse-location-references.js +0 -24
- package/dist/RS/to/input/util/parse-location-references.js.map +0 -1
- package/dist/RS/to/input/util/parse-max-working-hours.js +0 -14
- package/dist/RS/to/input/util/parse-max-working-hours.js.map +0 -1
- package/dist/RS/to/input/util/parse-minimum-break-length.js +0 -19
- package/dist/RS/to/input/util/parse-minimum-break-length.js.map +0 -1
- package/dist/RS/to/input/util/util.js +0 -101
- package/dist/RS/to/input/util/util.js.map +0 -1
- package/dist/RS/to/schedules.d.ts +0 -7
- package/dist/RS/to/schedules.js +0 -51
- package/dist/RS/to/schedules.js.map +0 -1
- package/dist/RS/types/algorithm-parameters.d.ts +0 -17
- package/dist/RS/types/configurations.d.ts +0 -10
- package/dist/RS/types/event-configuration.d.ts +0 -20
- package/dist/RS/types/index.d.ts +0 -21
- package/dist/RS/types/schedule-data.d.ts +0 -20
- package/dist/RS/types/to.d.ts +0 -65
- package/dist/RS/types/to.js +0 -6
- package/dist/RS/types/to.js.map +0 -1
- package/dist/SS12000/from/activities.js +0 -36
- 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 -31
- 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 -36
- package/dist/SS12000/index.js +0 -12
- package/dist/SS12000/index.js.map +0 -1
- package/dist/SS12000/to/activities.js +0 -63
- package/dist/SS12000/to/activities.js.map +0 -1
- package/dist/SS12000/to/calendar-events.js +0 -53
- package/dist/SS12000/to/calendar-events.js.map +0 -1
- package/dist/SS12000/to/common.js +0 -25
- package/dist/SS12000/to/common.js.map +0 -1
- package/dist/SS12000/to/duties.js +0 -45
- package/dist/SS12000/to/duties.js.map +0 -1
- package/dist/SS12000/to/groups.js +0 -49
- package/dist/SS12000/to/groups.js.map +0 -1
- package/dist/SS12000/to/index.d.ts +0 -56
- package/dist/SS12000/to/index.js +0 -24
- package/dist/SS12000/to/index.js.map +0 -1
- package/dist/SS12000/to/persons.js +0 -40
- package/dist/SS12000/to/persons.js.map +0 -1
- package/dist/SS12000/to/resources.js +0 -27
- package/dist/SS12000/to/resources.js.map +0 -1
- package/dist/SS12000/to/rooms.js +0 -32
- package/dist/SS12000/to/rooms.js.map +0 -1
- package/dist/SS12000/to/syllabuses.js +0 -34
- 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/SchoolSoft/api/from/index.js +0 -8
- package/dist/SchoolSoft/api/from/index.js.map +0 -1
- package/dist/SchoolSoft/api/from/schedules.js +0 -167
- package/dist/SchoolSoft/api/from/schedules.js.map +0 -1
- package/dist/SchoolSoft/api/index.d.ts +0 -463
- package/dist/SchoolSoft/api/index.js +0 -10
- package/dist/SchoolSoft/api/index.js.map +0 -1
- package/dist/SchoolSoft/api/types/group.d.ts +0 -12
- package/dist/SchoolSoft/api/types/index.d.ts +0 -19
- package/dist/SchoolSoft/api/types/lesson.d.ts +0 -9
- package/dist/SchoolSoft/api/types/location.d.ts +0 -8
- package/dist/SchoolSoft/api/types/persons.d.ts +0 -31
- package/dist/SchoolSoft/api/types/schedule.d.ts +0 -17
- package/dist/SchoolSoft/api/types/teacher.d.ts +0 -13
- package/dist/SchoolSoft/file/from/index.js +0 -8
- package/dist/SchoolSoft/file/from/index.js.map +0 -1
- package/dist/SchoolSoft/file/from/schedules.js +0 -134
- package/dist/SchoolSoft/file/from/schedules.js.map +0 -1
- package/dist/SchoolSoft/file/index.d.ts +0 -15
- package/dist/SchoolSoft/file/index.js +0 -12
- package/dist/SchoolSoft/file/index.js.map +0 -1
- package/dist/SchoolSoft/file/to/index.d.ts +0 -13
- package/dist/SchoolSoft/file/to/index.js +0 -10
- package/dist/SchoolSoft/file/to/index.js.map +0 -1
- package/dist/SchoolSoft/file/to/schedules.js +0 -107
- package/dist/SchoolSoft/file/to/schedules.js.map +0 -1
- package/dist/SchoolSoft/file/types/events.d.ts +0 -27
- package/dist/SchoolSoft/file/types/index.d.ts +0 -17
- package/dist/SchoolSoft/file/types/persons.d.ts +0 -31
- package/dist/SchoolSoft/index.d.ts +0 -20
- package/dist/SchoolSoft/index.js +0 -14
- package/dist/SchoolSoft/index.js.map +0 -1
- package/dist/Schoolity/index.d.ts +0 -10
- package/dist/Schoolity/index.js +0 -10
- package/dist/Schoolity/index.js.map +0 -1
- package/dist/Schoolity/txt/index.d.ts +0 -10
- package/dist/Schoolity/txt/index.js +0 -10
- package/dist/Schoolity/txt/index.js.map +0 -1
- package/dist/Schoolity/txt/to/index.d.ts +0 -10
- package/dist/Schoolity/txt/to/index.js +0 -10
- package/dist/Schoolity/txt/to/index.js.map +0 -1
- package/dist/Schoolity/txt/to/schedules.js +0 -331
- package/dist/Schoolity/txt/to/schedules.js.map +0 -1
- package/dist/Schoolity/txt/types/index.d.ts +0 -119
- package/dist/Skola24/index.d.ts +0 -13
- package/dist/Skola24/index.js +0 -12
- package/dist/Skola24/index.js.map +0 -1
- package/dist/Skola24/mdb/from/course-and-events.js +0 -241
- package/dist/Skola24/mdb/from/course-and-events.js.map +0 -1
- package/dist/Skola24/mdb/from/groups.js +0 -12
- package/dist/Skola24/mdb/from/groups.js.map +0 -1
- package/dist/Skola24/mdb/from/index.js +0 -8
- package/dist/Skola24/mdb/from/index.js.map +0 -1
- package/dist/Skola24/mdb/from/locations.js +0 -11
- package/dist/Skola24/mdb/from/locations.js.map +0 -1
- package/dist/Skola24/mdb/from/schedule.d.ts +0 -27
- package/dist/Skola24/mdb/from/schedule.js +0 -97
- package/dist/Skola24/mdb/from/schedule.js.map +0 -1
- package/dist/Skola24/mdb/from/teachers.js +0 -11
- package/dist/Skola24/mdb/from/teachers.js.map +0 -1
- package/dist/Skola24/mdb/index.d.ts +0 -12
- package/dist/Skola24/mdb/index.js +0 -10
- package/dist/Skola24/mdb/index.js.map +0 -1
- package/dist/Skola24/mdb/types/Course.d.ts +0 -10
- package/dist/Skola24/mdb/types/Group-group-link.d.ts +0 -8
- package/dist/Skola24/mdb/types/Group.d.ts +0 -9
- package/dist/Skola24/mdb/types/Lesson-group-link.d.ts +0 -8
- package/dist/Skola24/mdb/types/Lesson-period-link.d.ts +0 -8
- package/dist/Skola24/mdb/types/Lesson-room-link.d.ts +0 -8
- package/dist/Skola24/mdb/types/Lesson-teacher-link.d.ts +0 -8
- package/dist/Skola24/mdb/types/Lesson.d.ts +0 -13
- package/dist/Skola24/mdb/types/Options.d.ts +0 -11
- package/dist/Skola24/mdb/types/Period.d.ts +0 -9
- package/dist/Skola24/mdb/types/Plan-group-link.d.ts +0 -8
- package/dist/Skola24/mdb/types/Plan-period-link.d.ts +0 -8
- package/dist/Skola24/mdb/types/Plan-teacher-link.d.ts +0 -10
- package/dist/Skola24/mdb/types/Plan.d.ts +0 -9
- package/dist/Skola24/mdb/types/Room.d.ts +0 -9
- package/dist/Skola24/mdb/types/Schedule.d.ts +0 -39
- package/dist/Skola24/mdb/types/Subject.d.ts +0 -8
- package/dist/Skola24/mdb/types/Teacher.d.ts +0 -10
- package/dist/Skola24/mdb/types/index.d.ts +0 -23
- package/dist/Skola24/txt/from/calendar-exceptions.js +0 -68
- package/dist/Skola24/txt/from/calendar-exceptions.js.map +0 -1
- package/dist/Skola24/txt/from/division.js +0 -44
- package/dist/Skola24/txt/from/division.js.map +0 -1
- package/dist/Skola24/txt/from/index.js +0 -12
- package/dist/Skola24/txt/from/index.js.map +0 -1
- package/dist/Skola24/txt/from/period.js +0 -98
- package/dist/Skola24/txt/from/period.js.map +0 -1
- package/dist/Skola24/txt/from/schedules.d.ts +0 -16
- package/dist/Skola24/txt/from/schedules.js +0 -277
- package/dist/Skola24/txt/from/schedules.js.map +0 -1
- package/dist/Skola24/txt/from/util.js +0 -17
- package/dist/Skola24/txt/from/util.js.map +0 -1
- package/dist/Skola24/txt/index.d.ts +0 -28
- package/dist/Skola24/txt/index.js +0 -12
- package/dist/Skola24/txt/index.js.map +0 -1
- package/dist/Skola24/txt/to/index.d.ts +0 -10
- package/dist/Skola24/txt/to/index.js +0 -10
- package/dist/Skola24/txt/to/index.js.map +0 -1
- package/dist/Skola24/txt/to/schedules.js +0 -297
- package/dist/Skola24/txt/to/schedules.js.map +0 -1
- package/dist/Skola24/txt/types/index.d.ts +0 -141
- package/dist/common/constants.js +0 -8
- package/dist/common/constants.js.map +0 -1
- package/dist/common/functions.js +0 -61
- package/dist/common/functions.js.map +0 -1
- package/dist/common/get-date.js +0 -15
- package/dist/common/get-date.js.map +0 -1
- package/dist/common/make-chainable/index.js +0 -36
- package/dist/common/make-chainable/index.js.map +0 -1
- package/dist/common/types.d.ts +0 -42
- package/dist/core/from/configurations.js +0 -12
- package/dist/core/from/configurations.js.map +0 -1
- package/dist/core/from/courses.js +0 -12
- package/dist/core/from/courses.js.map +0 -1
- package/dist/core/from/events.js +0 -13
- package/dist/core/from/events.js.map +0 -1
- package/dist/core/from/exceptions.js +0 -12
- package/dist/core/from/exceptions.js.map +0 -1
- package/dist/core/from/groups.js +0 -12
- package/dist/core/from/groups.js.map +0 -1
- package/dist/core/from/index.js +0 -23
- package/dist/core/from/index.js.map +0 -1
- package/dist/core/from/locations.js +0 -12
- package/dist/core/from/locations.js.map +0 -1
- package/dist/core/from/locked-times.js +0 -12
- package/dist/core/from/locked-times.js.map +0 -1
- package/dist/core/from/overlap-groups.js +0 -12
- package/dist/core/from/overlap-groups.js.map +0 -1
- package/dist/core/from/periods.js +0 -12
- package/dist/core/from/periods.js.map +0 -1
- package/dist/core/from/persons.js +0 -12
- package/dist/core/from/persons.js.map +0 -1
- package/dist/core/from/root-intervals.js +0 -12
- package/dist/core/from/root-intervals.js.map +0 -1
- package/dist/core/from/schedules.d.ts +0 -7
- package/dist/core/from/schedules.js +0 -38
- package/dist/core/from/schedules.js.map +0 -1
- package/dist/core/from/settings.js +0 -21
- package/dist/core/from/settings.js.map +0 -1
- package/dist/core/from/syllabuses.js +0 -13
- package/dist/core/from/syllabuses.js.map +0 -1
- package/dist/core/from/teachers.js +0 -12
- package/dist/core/from/teachers.js.map +0 -1
- package/dist/core/index.d.ts +0 -37
- package/dist/core/index.js +0 -16
- package/dist/core/index.js.map +0 -1
- package/dist/core/interfaces/index.js +0 -6
- package/dist/core/interfaces/other/companies.d.ts +0 -133
- package/dist/core/interfaces/other/companies.js +0 -9
- package/dist/core/interfaces/other/companies.js.map +0 -1
- package/dist/core/interfaces/other/etc.d.ts +0 -19
- package/dist/core/interfaces/other/integrations.d.ts +0 -17
- package/dist/core/interfaces/other/operations.d.ts +0 -35
- package/dist/core/interfaces/other/policies.d.ts +0 -31
- package/dist/core/interfaces/other/sync-logs.d.ts +0 -21
- package/dist/core/interfaces/other/users.d.ts +0 -35
- package/dist/core/interfaces/vertices/companies.d.ts +0 -7
- package/dist/core/interfaces/vertices/configurations.d.ts +0 -57
- package/dist/core/interfaces/vertices/conversations.d.ts +0 -32
- package/dist/core/interfaces/vertices/courses.d.ts +0 -67
- package/dist/core/interfaces/vertices/division-settings.d.ts +0 -57
- package/dist/core/interfaces/vertices/divisions.d.ts +0 -30
- package/dist/core/interfaces/vertices/events.d.ts +0 -107
- package/dist/core/interfaces/vertices/exceptions.d.ts +0 -73
- package/dist/core/interfaces/vertices/generations.d.ts +0 -21
- package/dist/core/interfaces/vertices/groups.d.ts +0 -52
- package/dist/core/interfaces/vertices/index.d.ts +0 -244
- package/dist/core/interfaces/vertices/index.js +0 -3
- package/dist/core/interfaces/vertices/linked-events-sets.d.ts +0 -18
- package/dist/core/interfaces/vertices/locations.d.ts +0 -21
- package/dist/core/interfaces/vertices/locked-times.d.ts +0 -35
- package/dist/core/interfaces/vertices/messages.d.ts +0 -21
- package/dist/core/interfaces/vertices/overlap-groups.d.ts +0 -16
- package/dist/core/interfaces/vertices/periods.d.ts +0 -14
- package/dist/core/interfaces/vertices/persons.d.ts +0 -31
- package/dist/core/interfaces/vertices/properties/belongs-to.d.ts +0 -10
- package/dist/core/interfaces/vertices/properties/coalesced.d.ts +0 -7
- package/dist/core/interfaces/vertices/properties/days.d.ts +0 -9
- package/dist/core/interfaces/vertices/properties/index.d.ts +0 -15
- package/dist/core/interfaces/vertices/properties/intervals.d.ts +0 -10
- package/dist/core/interfaces/vertices/properties/maximum-schedule-span.d.ts +0 -19
- package/dist/core/interfaces/vertices/properties/min-break-length.d.ts +0 -5
- package/dist/core/interfaces/vertices/properties/planned-scheduled-duration.d.ts +0 -13
- package/dist/core/interfaces/vertices/properties/species.d.ts +0 -9
- package/dist/core/interfaces/vertices/properties/tags.d.ts +0 -9
- package/dist/core/interfaces/vertices/properties/week.d.ts +0 -22
- package/dist/core/interfaces/vertices/properties/week.js +0 -6
- package/dist/core/interfaces/vertices/properties/week.js.map +0 -1
- package/dist/core/interfaces/vertices/root-intervals.d.ts +0 -12
- package/dist/core/interfaces/vertices/syllabuses.d.ts +0 -19
- package/dist/core/interfaces/vertices/teachers.d.ts +0 -42
- package/dist/core/interfaces/vertices/threads.d.ts +0 -32
- package/dist/core/interfaces/vertices/users.d.ts +0 -10
- package/dist/core/interfaces/vertices/util/common.d.ts +0 -28
- package/dist/core/interfaces/vertices/util/custom-vertex-export/assert-no-invalid-expand-keys.d.ts +0 -16
- package/dist/core/interfaces/vertices/util/custom-vertex-export/index.d.ts +0 -34
- package/dist/core/interfaces/vertices/util/custom-vertex-export/util.d.ts +0 -53
- package/dist/core/interfaces/vertices/util/deep-vertex-export/index.d.ts +0 -65
- package/dist/core/interfaces/vertices/util/edges.d.ts +0 -123
- package/dist/core/interfaces/vertices/util/keys-of.d.ts +0 -27
- package/dist/core/interfaces/vertices/util/serialized-vertex-export.d.ts +0 -12
- package/dist/core/interfaces/vertices/util/util.d.ts +0 -84
- package/dist/core/interfaces/vertices/util/vertex-query/index.d.ts +0 -51
- package/dist/core/interfaces/vertices/util/vertex-query/util.d.ts +0 -13
- package/dist/core/interfaces/vertices/util/vertex.d.ts +0 -71
- package/dist/core/interfaces/vertices/vertex-query.d.ts +0 -117
- package/dist/core/interfaces/vertices/vertex-query.js +0 -122
- package/dist/core/interfaces/vertices/vertex-query.js.map +0 -1
- package/dist/core/to/configurations.js +0 -17
- package/dist/core/to/configurations.js.map +0 -1
- package/dist/core/to/courses.js +0 -42
- package/dist/core/to/courses.js.map +0 -1
- package/dist/core/to/division.js +0 -10
- package/dist/core/to/division.js.map +0 -1
- package/dist/core/to/events.js +0 -44
- package/dist/core/to/events.js.map +0 -1
- package/dist/core/to/exceptions.js +0 -30
- package/dist/core/to/exceptions.js.map +0 -1
- package/dist/core/to/groups.js +0 -26
- package/dist/core/to/groups.js.map +0 -1
- package/dist/core/to/index.d.ts +0 -9
- package/dist/core/to/index.js +0 -10
- package/dist/core/to/index.js.map +0 -1
- package/dist/core/to/linked-events-sets.js +0 -18
- package/dist/core/to/linked-events-sets.js.map +0 -1
- package/dist/core/to/locations.js +0 -22
- package/dist/core/to/locations.js.map +0 -1
- package/dist/core/to/locked-times.js +0 -21
- package/dist/core/to/locked-times.js.map +0 -1
- package/dist/core/to/overlap-groups.js +0 -28
- package/dist/core/to/overlap-groups.js.map +0 -1
- package/dist/core/to/periods.js +0 -17
- package/dist/core/to/periods.js.map +0 -1
- package/dist/core/to/persons.js +0 -18
- package/dist/core/to/persons.js.map +0 -1
- package/dist/core/to/root-intervals.js +0 -17
- package/dist/core/to/root-intervals.js.map +0 -1
- package/dist/core/to/schedules.d.ts +0 -48
- package/dist/core/to/schedules.js +0 -44
- package/dist/core/to/schedules.js.map +0 -1
- package/dist/core/to/settings.js +0 -19
- package/dist/core/to/settings.js.map +0 -1
- package/dist/core/to/syllabuses.js +0 -17
- package/dist/core/to/syllabuses.js.map +0 -1
- package/dist/core/to/teachers.js +0 -25
- package/dist/core/to/teachers.js.map +0 -1
- package/dist/core/to/util.d.ts +0 -8
- package/dist/core/to/util.js +0 -25
- package/dist/core/to/util.js.map +0 -1
- package/dist/core/types/common/index.d.ts +0 -8
- package/dist/core/types/common/meta.d.ts +0 -15
- package/dist/core/types/index.d.ts +0 -141
- package/dist/core/util.js +0 -47
- package/dist/core/util.js.map +0 -1
- package/dist/identify/constants/index.d.ts +0 -144
- package/dist/identify/constants/index.js +0 -317
- package/dist/identify/constants/index.js.map +0 -1
- package/dist/identify/index.d.ts +0 -8
- package/dist/identify/index.js +0 -94
- package/dist/identify/index.js.map +0 -1
- package/dist/identify/types/index.d.ts +0 -15
- package/dist/index.d.ts +0 -57
- package/dist/index.js +0 -22
- package/dist/sdui/from/classes.js +0 -8
- package/dist/sdui/from/classes.js.map +0 -1
- package/dist/sdui/from/courses.js +0 -14
- package/dist/sdui/from/courses.js.map +0 -1
- package/dist/sdui/from/holidays.js +0 -8
- package/dist/sdui/from/holidays.js.map +0 -1
- package/dist/sdui/from/hours.js +0 -6
- package/dist/sdui/from/hours.js.map +0 -1
- package/dist/sdui/from/index.js +0 -30
- package/dist/sdui/from/index.js.map +0 -1
- package/dist/sdui/from/lessons.js +0 -23
- package/dist/sdui/from/lessons.js.map +0 -1
- package/dist/sdui/from/rooms.js +0 -11
- package/dist/sdui/from/rooms.js.map +0 -1
- package/dist/sdui/from/schedules.d.ts +0 -19
- package/dist/sdui/from/schedules.js +0 -24
- package/dist/sdui/from/schedules.js.map +0 -1
- package/dist/sdui/from/school-years.js +0 -11
- package/dist/sdui/from/school-years.js.map +0 -1
- package/dist/sdui/from/subjects.js +0 -6
- package/dist/sdui/from/subjects.js.map +0 -1
- package/dist/sdui/from/substitution-plans.js +0 -10
- package/dist/sdui/from/substitution-plans.js.map +0 -1
- package/dist/sdui/from/teachers.js +0 -15
- package/dist/sdui/from/teachers.js.map +0 -1
- package/dist/sdui/index.d.ts +0 -32
- package/dist/sdui/index.js +0 -12
- package/dist/sdui/index.js.map +0 -1
- package/dist/sdui/to/classes.js +0 -10
- package/dist/sdui/to/classes.js.map +0 -1
- package/dist/sdui/to/courses.js +0 -16
- package/dist/sdui/to/courses.js.map +0 -1
- package/dist/sdui/to/holidays.js +0 -16
- package/dist/sdui/to/holidays.js.map +0 -1
- package/dist/sdui/to/hours.js +0 -15
- package/dist/sdui/to/hours.js.map +0 -1
- package/dist/sdui/to/index.d.ts +0 -20
- package/dist/sdui/to/index.js +0 -30
- package/dist/sdui/to/index.js.map +0 -1
- package/dist/sdui/to/lessons.js +0 -24
- package/dist/sdui/to/lessons.js.map +0 -1
- package/dist/sdui/to/rooms.js +0 -13
- package/dist/sdui/to/rooms.js.map +0 -1
- package/dist/sdui/to/schedules.js +0 -26
- package/dist/sdui/to/schedules.js.map +0 -1
- package/dist/sdui/to/school-years.js +0 -18
- package/dist/sdui/to/school-years.js.map +0 -1
- package/dist/sdui/to/subjects.js +0 -8
- package/dist/sdui/to/subjects.js.map +0 -1
- package/dist/sdui/to/substitution-plans.js +0 -49
- package/dist/sdui/to/substitution-plans.js.map +0 -1
- package/dist/sdui/to/teachers.js +0 -20
- package/dist/sdui/to/teachers.js.map +0 -1
- package/dist/sdui/types/classes.d.ts +0 -8
- package/dist/sdui/types/courses.d.ts +0 -12
- package/dist/sdui/types/holidays.d.ts +0 -10
- package/dist/sdui/types/hours.d.ts +0 -10
- package/dist/sdui/types/index.d.ts +0 -31
- package/dist/sdui/types/lessons.d.ts +0 -13
- package/dist/sdui/types/rooms.d.ts +0 -9
- package/dist/sdui/types/schedules.d.ts +0 -27
- package/dist/sdui/types/school-years.d.ts +0 -9
- package/dist/sdui/types/subjects.d.ts +0 -9
- package/dist/sdui/types/substitution-plans.d.ts +0 -30
- package/dist/sdui/types/teachers.d.ts +0 -10
- package/dist/vKlass/from/index.js +0 -8
- package/dist/vKlass/from/index.js.map +0 -1
- package/dist/vKlass/from/schedule.d.ts +0 -23
- package/dist/vKlass/from/schedule.js +0 -71
- package/dist/vKlass/from/schedule.js.map +0 -1
- package/dist/vKlass/index.d.ts +0 -13
- package/dist/vKlass/index.js +0 -12
- package/dist/vKlass/index.js.map +0 -1
- package/dist/vKlass/to/index.d.ts +0 -9
- package/dist/vKlass/to/index.js +0 -10
- package/dist/vKlass/to/index.js.map +0 -1
- package/dist/vKlass/to/schedules.d.ts +0 -14
- package/dist/vKlass/to/schedules.js +0 -93
- package/dist/vKlass/to/schedules.js.map +0 -1
- package/dist/vKlass/types/index.d.ts +0 -53
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { getIdKey, getVertexId } from "../core/util.mjs";
|
|
2
|
+
import { pick } from "lodash-es";
|
|
3
|
+
|
|
4
|
+
//#region src/RS/make-connected.ts
|
|
5
|
+
function indexCollection(collection, idKey) {
|
|
6
|
+
return new Map(collection.map((x) => [getVertexId(x, idKey), x]));
|
|
7
|
+
}
|
|
8
|
+
function nonNullable(value) {
|
|
9
|
+
return value != null;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Connects the schedule data by replacing references with actual objects making it easier to work with.
|
|
13
|
+
*/
|
|
14
|
+
function makeConnected(schedule, options = {}) {
|
|
15
|
+
const _division = schedule.divisions ?? schedule.division;
|
|
16
|
+
if (!_division) throw new Error(`"division" or "divisions" missing in schedule, present keys: ${Object.keys(schedule).join(", ")}`);
|
|
17
|
+
const _settings = schedule.settings;
|
|
18
|
+
if (!_settings) throw new Error(`"settings" missing in schedule, present keys: ${Object.keys(schedule).join(", ")}`);
|
|
19
|
+
const idKey = getIdKey(options);
|
|
20
|
+
const groupsMap = indexCollection(schedule.groups ?? [], idKey);
|
|
21
|
+
const teachersMap = indexCollection(schedule.teachers ?? [], idKey);
|
|
22
|
+
const locationsMap = indexCollection(schedule.locations ?? [], idKey);
|
|
23
|
+
const coursesMap = indexCollection(schedule.courses ?? [], idKey);
|
|
24
|
+
const eventsMap = indexCollection(schedule.events ?? [], idKey);
|
|
25
|
+
const periodsMap = indexCollection(schedule.periods ?? [], idKey);
|
|
26
|
+
const personsMap = indexCollection(schedule.persons ?? [], idKey);
|
|
27
|
+
const lockedTimesMap = indexCollection(schedule.lockedTimes ?? [], idKey);
|
|
28
|
+
const rootIntervalsMap = indexCollection(schedule.rootIntervals ?? [], idKey);
|
|
29
|
+
const linkedEventsSetsMap = indexCollection(schedule.linkedEventsSets ?? [], idKey);
|
|
30
|
+
const division = pick(_division, [
|
|
31
|
+
"displayName",
|
|
32
|
+
"start",
|
|
33
|
+
"end"
|
|
34
|
+
]);
|
|
35
|
+
const settings = (() => {
|
|
36
|
+
const edges = {
|
|
37
|
+
period: _settings.period != null ? periodsMap.get(getVertexId(_settings.period, idKey)) : _settings.period,
|
|
38
|
+
defaultRootInterval: _settings.defaultRootInterval != null ? rootIntervalsMap.get(getVertexId(_settings.defaultRootInterval, idKey)) : _settings.defaultRootInterval
|
|
39
|
+
};
|
|
40
|
+
return Object.assign(_settings, edges);
|
|
41
|
+
})();
|
|
42
|
+
const getLockedTimes = (x) => {
|
|
43
|
+
if (!x) return x;
|
|
44
|
+
return x.map((x) => lockedTimesMap.get(getVertexId(x, idKey))).filter(nonNullable);
|
|
45
|
+
};
|
|
46
|
+
const getLunch = (x) => {
|
|
47
|
+
if (!x) return x;
|
|
48
|
+
return x.map((x) => lockedTimesMap.get(getVertexId(x, idKey))).filter(nonNullable);
|
|
49
|
+
};
|
|
50
|
+
const getComplementaryTimes = (x) => {
|
|
51
|
+
if (!x) return x;
|
|
52
|
+
return x.map((x) => lockedTimesMap.get(getVertexId(x, idKey))).filter(nonNullable);
|
|
53
|
+
};
|
|
54
|
+
const locations = (schedule.locations ?? []).map((x) => {
|
|
55
|
+
const edges = {
|
|
56
|
+
lockedTimes: getLockedTimes(x.lockedTimes),
|
|
57
|
+
lunch: getLunch(x.lunch)
|
|
58
|
+
};
|
|
59
|
+
return Object.assign(x, edges);
|
|
60
|
+
});
|
|
61
|
+
const groups = (schedule.groups ?? []).map((x) => {
|
|
62
|
+
const edges = {
|
|
63
|
+
lockedTimes: getLockedTimes(x.lockedTimes),
|
|
64
|
+
lunch: getLunch(x.lunch),
|
|
65
|
+
members: x.members ? x.members.map((x) => personsMap.get(getVertexId(x, idKey))).filter(nonNullable) : x.members,
|
|
66
|
+
parentGroups: x.parentGroups ? x.parentGroups.map((x) => groupsMap.get(getVertexId(x, idKey))).filter(nonNullable) : x.parentGroups,
|
|
67
|
+
subGroups: x.subGroups ? x.subGroups.map((x) => groupsMap.get(getVertexId(x, idKey))).filter(nonNullable) : x.subGroups,
|
|
68
|
+
rootInterval: x.rootInterval != null ? rootIntervalsMap.get(getVertexId(x.rootInterval, idKey)) : x.rootInterval
|
|
69
|
+
};
|
|
70
|
+
return Object.assign(x, edges);
|
|
71
|
+
});
|
|
72
|
+
const teachers = (schedule.teachers ?? []).map((x) => {
|
|
73
|
+
const edges = {
|
|
74
|
+
lockedTimes: getLockedTimes(x.lockedTimes),
|
|
75
|
+
lunch: getLunch(x.lunch),
|
|
76
|
+
complementaryTimes: getComplementaryTimes(x.complementaryTimes),
|
|
77
|
+
person: x.person != null ? personsMap.get(getVertexId(x.person, idKey)) : x.person,
|
|
78
|
+
rootInterval: x.rootInterval != null ? rootIntervalsMap.get(getVertexId(x.rootInterval, idKey)) : x.rootInterval
|
|
79
|
+
};
|
|
80
|
+
return Object.assign(x, edges);
|
|
81
|
+
});
|
|
82
|
+
const persons = (schedule.persons ?? []).map((x) => {
|
|
83
|
+
const edges = { group: x.group != null ? groupsMap.get(getVertexId(x.group, idKey)) : x.group };
|
|
84
|
+
return Object.assign(x, edges);
|
|
85
|
+
});
|
|
86
|
+
const periods = (schedule.periods ?? []).map((x) => {
|
|
87
|
+
return Object.assign(x, {});
|
|
88
|
+
});
|
|
89
|
+
const rootIntervals = (schedule.rootIntervals ?? []).map((x) => {
|
|
90
|
+
return Object.assign(x, {});
|
|
91
|
+
});
|
|
92
|
+
const makeCoalesced = (map, id, toModel, extra) => {
|
|
93
|
+
const to = map.get(id);
|
|
94
|
+
if (!to) return;
|
|
95
|
+
return {
|
|
96
|
+
...extra,
|
|
97
|
+
to,
|
|
98
|
+
toModel
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
const lockedTimes = (schedule.lockedTimes ?? []).map((x) => {
|
|
102
|
+
const edges = { coalesced: x.coalesced ? x.coalesced.map((x) => {
|
|
103
|
+
const toModel = x.toModel;
|
|
104
|
+
switch (toModel) {
|
|
105
|
+
case "groups": return makeCoalesced(groupsMap, getVertexId(x.to, idKey), toModel);
|
|
106
|
+
case "teachers": return makeCoalesced(teachersMap, getVertexId(x.to, idKey), toModel);
|
|
107
|
+
case "locations": return makeCoalesced(locationsMap, getVertexId(x.to, idKey), toModel);
|
|
108
|
+
case "courses": return makeCoalesced(coursesMap, getVertexId(x.to, idKey), toModel);
|
|
109
|
+
case "events": return makeCoalesced(eventsMap, getVertexId(x.to, idKey), toModel);
|
|
110
|
+
case "courseevents": return makeCoalesced(eventsMap, getVertexId(x.to, idKey), "events");
|
|
111
|
+
default: throw new Error(`Unknown coalesced model "${toModel}" in locked time ${JSON.stringify(x)}`);
|
|
112
|
+
}
|
|
113
|
+
}).filter(nonNullable) : x.coalesced };
|
|
114
|
+
return Object.assign(x, edges);
|
|
115
|
+
});
|
|
116
|
+
const getParticipants = (x) => {
|
|
117
|
+
if (!x) return void 0;
|
|
118
|
+
return x.map((x) => {
|
|
119
|
+
const to = personsMap.get(getVertexId(x.to, idKey));
|
|
120
|
+
if (!to) return;
|
|
121
|
+
return {
|
|
122
|
+
...x,
|
|
123
|
+
to
|
|
124
|
+
};
|
|
125
|
+
}).filter(nonNullable);
|
|
126
|
+
};
|
|
127
|
+
const getTeachers = (x) => {
|
|
128
|
+
if (!x) return void 0;
|
|
129
|
+
return x.map((x) => {
|
|
130
|
+
const to = teachersMap.get(getVertexId(x.to, idKey));
|
|
131
|
+
if (!to) return;
|
|
132
|
+
return {
|
|
133
|
+
...x,
|
|
134
|
+
to
|
|
135
|
+
};
|
|
136
|
+
}).filter(nonNullable);
|
|
137
|
+
};
|
|
138
|
+
const getLocations = (x) => {
|
|
139
|
+
if (!x) return void 0;
|
|
140
|
+
return x.map((x) => {
|
|
141
|
+
const locations = x.locations.map((x) => locationsMap.get(getVertexId(x, idKey))).filter(nonNullable);
|
|
142
|
+
if (locations.length != 1) throw new Error(`(RS::MakeConnected) Expected exactly one location in available locations, got ${locations.length} and before filtering: ${x.locations.map((x) => getVertexId(x, idKey)).join(", ")}`);
|
|
143
|
+
return {
|
|
144
|
+
...x,
|
|
145
|
+
locations
|
|
146
|
+
};
|
|
147
|
+
}).filter(nonNullable);
|
|
148
|
+
};
|
|
149
|
+
const getGroups = (x) => {
|
|
150
|
+
if (!x) return void 0;
|
|
151
|
+
return x.map((x) => {
|
|
152
|
+
const to = groupsMap.get(getVertexId(x.to, idKey));
|
|
153
|
+
if (!to) return;
|
|
154
|
+
const exclude = x.exclude ? x.exclude.map((x) => personsMap.get(getVertexId(x, idKey))).filter(nonNullable) : void 0;
|
|
155
|
+
return {
|
|
156
|
+
...x,
|
|
157
|
+
to,
|
|
158
|
+
exclude
|
|
159
|
+
};
|
|
160
|
+
}).filter(nonNullable);
|
|
161
|
+
};
|
|
162
|
+
return {
|
|
163
|
+
division,
|
|
164
|
+
settings,
|
|
165
|
+
locations,
|
|
166
|
+
groups,
|
|
167
|
+
teachers,
|
|
168
|
+
persons,
|
|
169
|
+
periods,
|
|
170
|
+
rootIntervals,
|
|
171
|
+
lockedTimes,
|
|
172
|
+
courses: (schedule.courses ?? []).map((x) => {
|
|
173
|
+
const edges = {
|
|
174
|
+
groups: getGroups(x.groups),
|
|
175
|
+
teachers: getTeachers(x.teachers),
|
|
176
|
+
locations: getLocations(x.locations),
|
|
177
|
+
participants: getParticipants(x.participants),
|
|
178
|
+
lockedTimes: getLockedTimes(x.lockedTimes),
|
|
179
|
+
events: x.events ? x.events.map((x) => eventsMap.get(getVertexId(x, idKey))).filter(nonNullable) : x.events,
|
|
180
|
+
period: x.period != null ? periodsMap.get(getVertexId(x.period, idKey)) : x.period
|
|
181
|
+
};
|
|
182
|
+
return Object.assign(x, edges);
|
|
183
|
+
}),
|
|
184
|
+
events: (schedule.events ?? []).map((x) => {
|
|
185
|
+
const edges = {
|
|
186
|
+
groups: getGroups(x.groups),
|
|
187
|
+
teachers: getTeachers(x.teachers),
|
|
188
|
+
locations: getLocations(x.locations),
|
|
189
|
+
participants: getParticipants(x.participants),
|
|
190
|
+
lockedTimes: getLockedTimes(x.lockedTimes),
|
|
191
|
+
inLocations: x.inLocations ? x.inLocations.map((x) => x === null ? null : locationsMap.get(getVertexId(x, idKey))).filter((x) => x !== void 0) : x.inLocations,
|
|
192
|
+
course: x.course != null ? coursesMap.get(getVertexId(x.course, idKey)) : x.course,
|
|
193
|
+
period: x.period != null ? periodsMap.get(getVertexId(x.period, idKey)) : x.period,
|
|
194
|
+
linkedEventsSet: x.linkedEventsSet != null ? linkedEventsSetsMap.get(getVertexId(x.linkedEventsSet, idKey)) : x.linkedEventsSet
|
|
195
|
+
};
|
|
196
|
+
return Object.assign(x, edges);
|
|
197
|
+
}),
|
|
198
|
+
linkedEventsSets: (schedule.linkedEventsSets ?? []).map((x) => {
|
|
199
|
+
const edges = { events: x.events ? x.events.map((x) => eventsMap.get(getVertexId(x, idKey))).filter(nonNullable) : x.events };
|
|
200
|
+
return Object.assign(x, edges);
|
|
201
|
+
})
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
//#endregion
|
|
206
|
+
export { makeConnected };
|
|
207
|
+
//# sourceMappingURL=make-connected.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-connected.mjs","names":[],"sources":["../../src/RS/make-connected.ts"],"sourcesContent":["import { pick } from 'lodash-es';\nimport { getIdKey, getVertexId } from '../core/util';\nimport type { CoreTypes } from '../core';\nimport type { IdKey, InternalIdKey } from '../core/types/common';\nimport type { Types } from './types';\nimport type { PickEdges } from '../core/interfaces/vertices/util/common';\nimport type { Mixed } from '../core/interfaces/vertices/';\nimport type { Vertex, Collection } from '../core/interfaces/vertices/util/vertex';\nimport type { Coalesced } from '../core/interfaces/vertices/util/edges';\nimport type { DeepVertexExport } from '../core/interfaces/vertices/util';\nimport type { DivisionSettingsVertex } from '../core/interfaces/vertices/division-settings';\nimport type { LocationVertex } from '../core/interfaces/vertices/locations';\nimport type { GroupVertex } from '../core/interfaces/vertices/groups';\nimport type { TeacherVertex } from '../core/interfaces/vertices/teachers';\nimport type { PersonVertex } from '../core/interfaces/vertices/persons';\nimport type { PeriodVertex } from '../core/interfaces/vertices/periods';\nimport type { RootIntervalVertex } from '../core/interfaces/vertices/root-intervals';\nimport type { LockedTimeVertex } from '../core/interfaces/vertices/locked-times';\nimport type { LinkedEventsSetVertex } from '../core/interfaces/vertices/linked-events-sets';\nimport type { CourseVertex } from '../core/interfaces/vertices/courses';\nimport type { EventVertex } from '../core/interfaces/vertices/events';\nimport type { MixedVertexExport } from '../core/interfaces/vertices/util/deep-vertex-export';\n\n\ntype IgnoredEdges =\n | 'belongsTo'\n | 'exceptions'\n | 'derivedParentGroups'\n | 'syllabus'\n | 'defaultLunch'\n | 'threads'\n | InternalIdKey;\n\ntype OmitProperties<T> = Omit<T, IgnoredEdges>;\n\ntype _Schedule = {\n division: Mixed.Division;\n divisions: Mixed.Division;\n settings: Mixed.Settings;\n groups: Mixed.Group[];\n teachers: Mixed.Teacher[];\n locations: Mixed.Location[];\n periods: Mixed.Period[];\n persons: Mixed.Person[];\n rootIntervals: Mixed.RootInterval[];\n lockedTimes: Mixed.LockedTime[];\n linkedEventsSets: Mixed.LinkedEventsSet[];\n courses: Mixed.Course[];\n events: Mixed.Event[];\n};\nexport type MixedScheduleData = Partial<_Schedule>;\n\ntype Division = Pick<CoreTypes.Deep.Division, 'displayName' | 'start' | 'end'>;\ntype DivisionSettings = CoreTypes.Deep.Settings;\ntype Location = CoreTypes.Deep.Location;\ntype Group = CoreTypes.Deep.Group;\ntype Teacher = CoreTypes.Deep.Teacher;\ntype Person = CoreTypes.Deep.Person;\ntype Period = CoreTypes.Deep.Period;\ntype RootInterval = CoreTypes.Deep.RootInterval;\ntype LockedTime = CoreTypes.Deep.LockedTime;\ntype Course = CoreTypes.Deep.Course;\ntype Event = CoreTypes.Deep.Event;\ntype LinkedEventsSet = CoreTypes.Deep.LinkedEventsSet;\n\nexport namespace ConnectedTypes {\n export type division = OmitProperties<Division>;\n export type divisionSettings = OmitProperties<DivisionSettings>;\n export type location = OmitProperties<Location>;\n export type group = OmitProperties<Group>;\n export type teacher = OmitProperties<Teacher>;\n export type person = OmitProperties<Person>;\n export type period = OmitProperties<Period>;\n export type rootInterval = OmitProperties<RootInterval>;\n export type lockedTime = OmitProperties<LockedTime>;\n export type course = OmitProperties<Course>;\n export type event = OmitProperties<Event>;\n export type linkedEventsSet = OmitProperties<CoreTypes.Deep.LinkedEventsSet>;\n}\n\nexport type ConnectedScheduleData = {\n division: ConnectedTypes.division;\n settings: ConnectedTypes.divisionSettings;\n groups: ConnectedTypes.group[];\n teachers: ConnectedTypes.teacher[];\n locations: ConnectedTypes.location[];\n periods: ConnectedTypes.period[];\n persons: ConnectedTypes.person[];\n rootIntervals: ConnectedTypes.rootInterval[];\n lockedTimes: ConnectedTypes.lockedTime[];\n courses: ConnectedTypes.course[];\n events: ConnectedTypes.event[];\n linkedEventsSets: ConnectedTypes.linkedEventsSet[];\n};\n\ntype DeepVertexEdgesOnlyExport<\n V extends Vertex<Collection>\n> = {\n [K in keyof PickEdges<V> as K extends IgnoredEdges ? never : K]: DeepVertexExport<V>[K]\n};\n\n\nfunction indexCollection<T extends Vertex<Collection>> (collection: MixedVertexExport<T>[], idKey: IdKey): Map<string, DeepVertexExport<T>> {\n return new Map(collection.map(x => ([getVertexId(x, idKey), x as DeepVertexExport<T>] as const)));\n}\nfunction nonNullable<T> (value: T | null | undefined): value is T {\n return value != null;\n}\n\n/**\n * Connects the schedule data by replacing references with actual objects making it easier to work with.\n */\nexport function makeConnected (\n schedule: MixedScheduleData,\n options: Pick<Types.toOptions, 'idKey'> = {}\n): ConnectedScheduleData {\n const _division = schedule.divisions ?? schedule.division;\n if (!_division) throw new Error(`\"division\" or \"divisions\" missing in schedule, present keys: ${Object.keys(schedule).join(', ')}`);\n const _settings = schedule.settings;\n if (!_settings) throw new Error(`\"settings\" missing in schedule, present keys: ${Object.keys(schedule).join(', ')}`);\n\n const idKey = getIdKey(options);\n\n const groupsMap = indexCollection<GroupVertex >(schedule.groups ?? [], idKey);\n const teachersMap = indexCollection<TeacherVertex >(schedule.teachers ?? [], idKey);\n const locationsMap = indexCollection<LocationVertex >(schedule.locations ?? [], idKey);\n const coursesMap = indexCollection<CourseVertex >(schedule.courses ?? [], idKey);\n const eventsMap = indexCollection<EventVertex >(schedule.events ?? [], idKey);\n const periodsMap = indexCollection<PeriodVertex >(schedule.periods ?? [], idKey);\n const personsMap = indexCollection<PersonVertex >(schedule.persons ?? [], idKey);\n const lockedTimesMap = indexCollection<LockedTimeVertex >(schedule.lockedTimes ?? [], idKey);\n const rootIntervalsMap = indexCollection<RootIntervalVertex >(schedule.rootIntervals ?? [], idKey);\n const linkedEventsSetsMap = indexCollection<LinkedEventsSetVertex>(schedule.linkedEventsSets ?? [], idKey);\n\n const division: Division = pick(_division, [ 'displayName', 'start', 'end']);\n\n const settings = ((): OmitProperties<DivisionSettings> => {\n const edges: DeepVertexEdgesOnlyExport<DivisionSettingsVertex> = {\n period: _settings.period != null ? periodsMap .get(getVertexId(_settings.period, idKey)) : _settings.period,\n defaultRootInterval: _settings.defaultRootInterval != null ? rootIntervalsMap.get(getVertexId(_settings.defaultRootInterval, idKey)) : _settings.defaultRootInterval,\n } satisfies Record<keyof DeepVertexEdgesOnlyExport<DivisionSettingsVertex>, unknown>;\n return Object.assign(_settings, edges);\n })();\n\n const getLockedTimes = <T extends Mixed.Group['lockedTimes'] | undefined | null>(x: T): LockedTime[] | Extract<T, null | undefined> => {\n if (!x) return x as Extract<T, null | undefined>;\n return x.map(x => lockedTimesMap.get(getVertexId(x, idKey))).filter(nonNullable);\n };\n const getLunch = <T extends Mixed.Group['lockedTimes'] | undefined | null>(x: T): LockedTime[] | Extract<T, null | undefined> => {\n if (!x) return x as Extract<T, null | undefined>;\n return x.map(x => lockedTimesMap.get(getVertexId(x, idKey))).filter(nonNullable);\n };\n const getComplementaryTimes = <T extends Mixed.Teacher['lockedTimes'] | undefined | null>(x: T): LockedTime[] | Extract<T, null | undefined> => {\n if (!x) return x as Extract<T, null | undefined>;\n return x.map(x => lockedTimesMap.get(getVertexId(x, idKey))).filter(nonNullable);\n };\n\n const locations = (schedule.locations ?? [])\n .map((x): OmitProperties<Location> => {\n\n const edges: DeepVertexEdgesOnlyExport<LocationVertex> = {\n lockedTimes: getLockedTimes(x.lockedTimes),\n lunch: getLunch(x.lunch),\n } satisfies Record<keyof DeepVertexEdgesOnlyExport<LocationVertex>, unknown>;\n\n return Object.assign(x, edges);\n });\n\n const groups = (schedule.groups ?? [])\n .map((x): OmitProperties<Group> => {\n const edges: DeepVertexEdgesOnlyExport<GroupVertex> = {\n lockedTimes: getLockedTimes(x.lockedTimes),\n lunch: getLunch (x.lunch),\n members: x.members ? x.members .map(x => personsMap.get(getVertexId(x, idKey))).filter(nonNullable) : x.members,\n parentGroups: x.parentGroups ? x.parentGroups.map(x => groupsMap .get(getVertexId(x, idKey))).filter(nonNullable) : x.parentGroups,\n subGroups: x.subGroups ? x.subGroups .map(x => groupsMap .get(getVertexId(x, idKey))).filter(nonNullable) : x.subGroups,\n\n rootInterval: x.rootInterval != null ? rootIntervalsMap.get(getVertexId(x.rootInterval, idKey)) : x.rootInterval,\n } satisfies Record<keyof DeepVertexEdgesOnlyExport<GroupVertex>, unknown>;\n return Object.assign(x, edges);\n });\n\n const teachers = (schedule.teachers ?? [])\n .map((x): OmitProperties<Teacher> => {\n const edges: DeepVertexEdgesOnlyExport<TeacherVertex> = {\n lockedTimes: getLockedTimes (x.lockedTimes),\n lunch: getLunch (x.lunch),\n complementaryTimes: getComplementaryTimes(x.complementaryTimes),\n\n person: x.person != null ? personsMap .get(getVertexId(x.person, idKey)) : x.person,\n rootInterval: x.rootInterval != null ? rootIntervalsMap.get(getVertexId(x.rootInterval, idKey)) : x.rootInterval,\n } satisfies Record<keyof DeepVertexEdgesOnlyExport<TeacherVertex>, unknown>;\n return Object.assign(x, edges);\n });\n\n const persons = (schedule.persons ?? [])\n .map((x): OmitProperties<Person> => {\n const edges: DeepVertexEdgesOnlyExport<PersonVertex> = {\n group: x.group != null ? groupsMap.get(getVertexId(x.group, idKey)) : x.group,\n } satisfies Record<keyof DeepVertexEdgesOnlyExport<PersonVertex>, unknown>;\n return Object.assign(x, edges);\n });\n\n const periods = (schedule.periods ?? [])\n .map((x): OmitProperties<Period> => {\n const edges: DeepVertexEdgesOnlyExport<PeriodVertex> = {\n } satisfies Record<keyof DeepVertexEdgesOnlyExport<PeriodVertex>, unknown>;\n return Object.assign(x, edges);\n });\n\n const rootIntervals = (schedule.rootIntervals ?? [])\n .map((x): OmitProperties<RootInterval> => {\n const edges: DeepVertexEdgesOnlyExport<RootIntervalVertex> = {\n } satisfies Record<keyof DeepVertexEdgesOnlyExport<RootIntervalVertex>, unknown>;\n return Object.assign(x, edges);\n });\n\n type InferCollection<V extends DeepVertexExport<Vertex<Collection>>> = V extends DeepVertexExport<Vertex<infer C>> ? C : never;\n const makeCoalesced = <T extends DeepVertexExport<Vertex<Collection>>, C extends InferCollection<T>, E extends object> (\n map: Map<string, T>,\n id: string, toModel: C,\n extra?: E\n ) => {\n const to = map.get(id);\n if (!to) return;\n return { ...extra, to, toModel } as Coalesced.Util.Value<T, C, object, E>;\n };\n\n const lockedTimes = (schedule.lockedTimes ?? [])\n .map((x): OmitProperties<LockedTime> => {\n const edges: DeepVertexEdgesOnlyExport<LockedTimeVertex> = {\n coalesced: x.coalesced\n ? x.coalesced\n .map((x) => {\n const toModel = x.toModel;\n switch (toModel) {\n case 'groups': return makeCoalesced(groupsMap, getVertexId(x.to, idKey), toModel);\n case 'teachers': return makeCoalesced(teachersMap, getVertexId(x.to, idKey), toModel);\n case 'locations': return makeCoalesced(locationsMap, getVertexId(x.to, idKey), toModel);\n case 'courses': return makeCoalesced(coursesMap, getVertexId(x.to, idKey), toModel);\n case 'events': return makeCoalesced(eventsMap, getVertexId(x.to, idKey), toModel);\n case 'courseevents': return makeCoalesced(eventsMap, getVertexId(x.to, idKey), 'events');\n // case 'persons': return makeCoalesced(personsMap, getVertexId(x.to, idKey), x.toModel);\n default: throw new Error(`Unknown coalesced model \"${toModel satisfies never as string}\" in locked time ${JSON.stringify(x)}`);\n }\n })\n .filter(nonNullable)\n : x.coalesced,\n } satisfies Record<keyof DeepVertexEdgesOnlyExport<LockedTimeVertex>, unknown>;\n return Object.assign(x, edges);\n });\n\n const getParticipants = (x: Mixed.Course['participants'] | Mixed.Event['participants']): CoreTypes.Deep.Course['participants'] | undefined => {\n if (!x) return undefined;\n return x\n .map(x => {\n const to = personsMap.get(getVertexId(x.to, idKey));\n if (!to) return;\n const participant: NonNullable<CoreTypes.Deep.Course['participants']>[number] = { ...x, to };\n return participant;\n })\n .filter(nonNullable);\n };\n const getTeachers = (x: Mixed.Course['teachers'] | Mixed.Event['teachers']): CoreTypes.Deep.Course['teachers'] | undefined => {\n if (!x) return undefined;\n return x\n .map(x => {\n const to = teachersMap.get(getVertexId(x.to, idKey));\n if (!to) return;\n const participant: NonNullable<CoreTypes.Deep.Course['teachers']>[number] = { ...x, to };\n return participant;\n })\n .filter(nonNullable);\n };\n const getLocations = (x: Mixed.Course['locations'] | Mixed.Event['locations']): CoreTypes.Deep.Course['locations'] | undefined => {\n if (!x) return undefined;\n return x\n .map(x => {\n const locations = x.locations\n .map(x => locationsMap.get(getVertexId(x, idKey)))\n .filter(nonNullable);\n if (locations.length != 1) throw new Error(`(RS::MakeConnected) Expected exactly one location in available locations, got ${locations.length} and before filtering: ${x.locations.map(x => getVertexId(x, idKey)).join(', ')}`);\n const availableLocation: NonNullable<CoreTypes.Deep.Course['locations']>[number] = { ...x, locations: locations as [Location] };\n return availableLocation;\n })\n .filter(nonNullable);\n };\n const getGroups = (x: Mixed.Course['groups'] | Mixed.Event['groups']): CoreTypes.Deep.Course['groups'] | undefined => {\n if (!x) return undefined;\n return x\n .map(x => {\n const to = groupsMap.get(getVertexId(x.to, idKey));\n if (!to) return;\n const exclude = x.exclude\n ? x.exclude\n .map(x => personsMap.get(getVertexId(x, idKey)))\n .filter(nonNullable)\n : undefined;\n const group: NonNullable<CoreTypes.Deep.Course['groups']>[number] = { ...x, to, exclude };\n return group;\n })\n .filter(nonNullable);\n };\n\n const courses = (schedule.courses ?? [])\n .map((x): OmitProperties<Course> => {\n const edges: DeepVertexEdgesOnlyExport<CourseVertex> = {\n groups: getGroups (x.groups),\n teachers: getTeachers (x.teachers),\n locations: getLocations (x.locations),\n participants: getParticipants(x.participants),\n lockedTimes: getLockedTimes (x.lockedTimes),\n events: x.events ? x.events.map(x => eventsMap.get(getVertexId(x, idKey))).filter(nonNullable) : x.events,\n\n period: x.period != null ? periodsMap.get(getVertexId(x.period, idKey)) : x.period,\n } satisfies Record<keyof DeepVertexEdgesOnlyExport<CourseVertex>, unknown>;\n return Object.assign(x, edges);\n });\n\n const events = (schedule.events ?? [])\n .map((x): OmitProperties<Event> => {\n const edges: DeepVertexEdgesOnlyExport<EventVertex> = {\n groups: getGroups (x.groups),\n teachers: getTeachers (x.teachers),\n locations: getLocations (x.locations),\n participants: getParticipants(x.participants),\n lockedTimes: getLockedTimes (x.lockedTimes),\n inLocations: x.inLocations\n ? x.inLocations\n .map(x => x === null ? null : locationsMap.get(getVertexId(x, idKey)))\n .filter((x): x is Exclude<typeof x, undefined> => x !== undefined)\n : x.inLocations,\n\n course: x.course != null ? coursesMap .get(getVertexId(x.course, idKey)) : x.course,\n period: x.period != null ? periodsMap .get(getVertexId(x.period, idKey)) : x.period,\n linkedEventsSet: x.linkedEventsSet != null ? linkedEventsSetsMap.get(getVertexId(x.linkedEventsSet, idKey)) : x.linkedEventsSet,\n } satisfies Record<keyof DeepVertexEdgesOnlyExport<EventVertex>, unknown>;\n return Object.assign(x, edges);\n });\n\n const linkedEventsSets = (schedule.linkedEventsSets ?? [])\n .map((x): OmitProperties<LinkedEventsSet> => {\n const edges: DeepVertexEdgesOnlyExport<LinkedEventsSetVertex> = {\n events: x.events\n ? x.events\n .map(x => eventsMap.get(getVertexId(x, idKey)))\n .filter(nonNullable)\n : x.events,\n } satisfies Record<keyof DeepVertexEdgesOnlyExport<LinkedEventsSetVertex>, unknown>;\n return Object.assign(x, edges);\n });\n\n\n return {\n division,\n settings,\n locations,\n groups,\n teachers,\n persons,\n periods,\n rootIntervals,\n lockedTimes,\n courses,\n events,\n linkedEventsSets\n };\n}"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/RS/to/index.ts"],"sourcesContent":["import { schedules } from './schedules';\n\nexport default {\n schedules: schedules\n};"],"mappings":";;;AAEA,iBAAe,EACF,WACZ"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { getDayIndex, getVertexId } from "../../core/util.mjs";
|
|
2
|
+
import { makeChainable } from "../../common/make-chainable/index.mjs";
|
|
3
|
+
import { idOf } from "./input/util/util.mjs";
|
|
4
|
+
import { omitBy, uniq } from "lodash-es";
|
|
5
|
+
import moment from "moment";
|
|
6
|
+
|
|
7
|
+
//#region src/RS/to/initial-configuration.ts
|
|
8
|
+
function getPosition(start, end) {
|
|
9
|
+
const mmtMidnight = moment.utc(start).clone().startOf("day");
|
|
10
|
+
return {
|
|
11
|
+
day: getDayIndex(start),
|
|
12
|
+
start: moment.utc(start).diff(mmtMidnight, "minutes"),
|
|
13
|
+
end: moment.utc(end).diff(mmtMidnight, "minutes")
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function initialConfiguration(events, lockedTimes, options) {
|
|
17
|
+
const fromEvents = events.map((x) => {
|
|
18
|
+
if (x.parked) return;
|
|
19
|
+
if (!x.start || !x.end) return;
|
|
20
|
+
return omitBy({
|
|
21
|
+
id: idOf.event(x, options),
|
|
22
|
+
...getPosition(x.start, x.end),
|
|
23
|
+
collection: x.course ? getVertexId(x.course, options) : void 0,
|
|
24
|
+
dependencies: x.inLocations?.map((x) => x ? getVertexId(x, options) : null).filter((x) => x != null)
|
|
25
|
+
}, (x) => x == null);
|
|
26
|
+
}).filter((x) => x != null);
|
|
27
|
+
const fromLockedTimes = lockedTimes.map((x) => {
|
|
28
|
+
if (!x.type || x.type == "ANY") return;
|
|
29
|
+
if (!x.start || !x.end) return;
|
|
30
|
+
return omitBy({
|
|
31
|
+
id: idOf.lockedTime(x, options),
|
|
32
|
+
...getPosition(x.start, x.end),
|
|
33
|
+
dependencies: makeChainable(x.coalesced ?? []).chain((x) => x.filter((x) => x.toModel == "locations").map((x) => getVertexId(x.to, options)), (x) => uniq(x)).value
|
|
34
|
+
}, (x) => x == null);
|
|
35
|
+
}).filter((x) => x != null);
|
|
36
|
+
return [{ events: fromEvents.concat(fromLockedTimes) }];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
export { initialConfiguration };
|
|
41
|
+
//# sourceMappingURL=initial-configuration.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initial-configuration.mjs","names":[],"sources":["../../../src/RS/to/initial-configuration.ts"],"sourcesContent":["import moment from 'moment';\nimport { omitBy, uniq } from 'lodash-es';\nimport type { ConnectedTypes } from '../make-connected';\nimport { idOf } from './input/util/util';\nimport { getDayIndex, getVertexId } from '../../core/util';\nimport type { DateType } from '../../common/types';\nimport type { Types } from '../types';\nimport { makeChainable } from '../../common/make-chainable';\n\nfunction getPosition (\n start: DateType,\n end: DateType\n): Pick<Types.eventConfiguration, 'day' | 'start' | 'end'> {\n const mmtMidnight = moment.utc(start).clone().startOf('day');\n return {\n day: getDayIndex(start),\n start: moment.utc(start).diff(mmtMidnight, 'minutes'),\n end: moment.utc(end ).diff(mmtMidnight, 'minutes'),\n };\n}\n\nexport function initialConfiguration (\n events: ConnectedTypes.event[],\n lockedTimes: ConnectedTypes.lockedTime[],\n options: Types.parsedToOptions\n): Types.configuration[] {\n const fromEvents = events\n .map(x => {\n if (x.parked) return;\n if (!x.start || !x.end) return;\n\n const doc: Types.eventConfiguration = {\n id: idOf.event(x, options),\n ...getPosition(x.start, x.end),\n\n collection: x.course ? getVertexId(x.course, options) : undefined,\n dependencies: x.inLocations?.map(x => x ? getVertexId(x, options) : null).filter(x => x != null),\n };\n return omitBy(doc, x => x == null) as Types.eventConfiguration;\n })\n .filter(x => x != null);\n\n const fromLockedTimes = lockedTimes\n .map(x => {\n if (!x.type || x.type == 'ANY') return;\n if (!x.start || !x.end) return;\n\n const doc: Types.eventConfiguration = {\n id: idOf.lockedTime(x, options),\n ...getPosition(x.start, x.end),\n\n dependencies: makeChainable(x.coalesced ?? [])\n .chain(\n x => x\n .filter(x => x.toModel == 'locations')\n .map(x => getVertexId(x.to, options)),\n x => uniq(x)\n )\n .value\n };\n return omitBy(doc, x => x == null) as Types.eventConfiguration;\n })\n .filter(x => x != null);\n\n return [{\n events: fromEvents.concat(fromLockedTimes)\n }];\n};"],"mappings":";;;;;;;AASA,SAAS,YACP,OACA,KACyD;CACzD,MAAM,cAAc,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,MAAM;AAC5D,QAAO;EACL,KAAO,YAAY,MAAM;EACzB,OAAO,OAAO,IAAI,MAAM,CAAC,KAAK,aAAa,UAAU;EACrD,KAAO,OAAO,IAAI,IAAM,CAAC,KAAK,aAAa,UAAU;EACtD;;AAGH,SAAgB,qBACd,QACA,aACA,SACuB;CACvB,MAAM,aAAa,OAChB,KAAI,MAAK;AACR,MAAI,EAAE,OAAQ;AACd,MAAI,CAAC,EAAE,SAAS,CAAC,EAAE,IAAK;AASxB,SAAO,OAP+B;GACpC,IAAI,KAAK,MAAM,GAAG,QAAQ;GAC1B,GAAG,YAAY,EAAE,OAAO,EAAE,IAAI;GAE9B,YAAc,EAAE,SAAS,YAAY,EAAE,QAAQ,QAAQ,GAAG;GAC1D,cAAc,EAAE,aAAa,KAAI,MAAK,IAAI,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC,QAAO,MAAK,KAAK,KAAK;GACjG,GACkB,MAAK,KAAK,KAAK;GAClC,CACD,QAAO,MAAK,KAAK,KAAK;CAEzB,MAAM,kBAAkB,YACrB,KAAI,MAAK;AACR,MAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,MAAO;AAChC,MAAI,CAAC,EAAE,SAAS,CAAC,EAAE,IAAK;AAexB,SAAO,OAb+B;GACpC,IAAI,KAAK,WAAW,GAAG,QAAQ;GAC/B,GAAG,YAAY,EAAE,OAAO,EAAE,IAAI;GAE9B,cAAc,cAAc,EAAE,aAAa,EAAE,CAAC,CAC3C,OACC,MAAK,EACF,QAAO,MAAK,EAAE,WAAW,YAAY,CACrC,KAAI,MAAK,YAAY,EAAE,IAAI,QAAQ,CAAC,GACvC,MAAK,KAAK,EAAE,CACb,CACA;GACJ,GACkB,MAAK,KAAK,KAAK;GAClC,CACD,QAAO,MAAK,KAAK,KAAK;AAEzB,QAAO,CAAC,EACN,QAAQ,WAAW,OAAO,gBAAgB,EAC3C,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { getVertexId } from "../../../core/util.mjs";
|
|
2
|
+
import { min2hrs, toTimeFloat } from "./util/util.mjs";
|
|
3
|
+
import { computesDefaultIntervalId } from "./intervals.mjs";
|
|
4
|
+
|
|
5
|
+
//#region src/RS/to/input/default.ts
|
|
6
|
+
function parseDefault(settings, options) {
|
|
7
|
+
return {
|
|
8
|
+
intervals: computesDefaultIntervalId(settings, options),
|
|
9
|
+
period: settings.period ? getVertexId(settings.period, options) : void 0,
|
|
10
|
+
minGroupBreakDuration: settings.defaultGroupMinimumBreakLength ?? 0,
|
|
11
|
+
minDependencyBreakDuration: settings.defaultDependencyMinimumBreakLength ?? 0,
|
|
12
|
+
minEventBreakDuration: settings.defaultEventMinimumBreakLength ?? 0,
|
|
13
|
+
preferredTime: toTimeFloat(settings.potentialCenter ?? "12:00"),
|
|
14
|
+
eventDensity: settings.defaultEventDensity ?? 1,
|
|
15
|
+
maxEventDurationVariance: settings.defaultEventDurationVariance ?? 0,
|
|
16
|
+
maxNumWorkingHours: min2hrs(settings.defaultMaximumScheduleSpan?.weekly) ?? false,
|
|
17
|
+
maxNumDailyWorkingHours: min2hrs(settings.defaultMaximumScheduleSpan?.daily) ?? false,
|
|
18
|
+
dependencyRank: settings.defaultDependencyRank ?? 0,
|
|
19
|
+
groupRank: settings.defaultGroupRank ?? 0,
|
|
20
|
+
dayRank: settings.defaultDayRank ?? 0,
|
|
21
|
+
groupWeight: settings.defaultGroupWeight ?? 0,
|
|
22
|
+
eventWeight: settings.defaultEventWeight ?? 0
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
export { parseDefault };
|
|
28
|
+
//# sourceMappingURL=default.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default.mjs","names":[],"sources":["../../../../src/RS/to/input/default.ts"],"sourcesContent":["import type { Types } from '../../types';\nimport { computesDefaultIntervalId } from './intervals';\nimport { min2hrs, toTimeFloat } from './util/util';\nimport type { ConnectedTypes } from '../../make-connected';\nimport { getVertexId } from '../../../core/util';\n\nexport function parseDefault (\n settings: ConnectedTypes.divisionSettings,\n options: Types.parsedToOptions\n): Types.Entities.DefaultValues {\n const res: Types.Entities.DefaultValues = {\n intervals: computesDefaultIntervalId(settings, options),\n period: settings.period ? getVertexId(settings.period, options) : undefined,\n\n minGroupBreakDuration: settings.defaultGroupMinimumBreakLength ?? 0,\n minDependencyBreakDuration: settings.defaultDependencyMinimumBreakLength ?? 0,\n minEventBreakDuration: settings.defaultEventMinimumBreakLength ?? 0,\n\n preferredTime: toTimeFloat(settings.potentialCenter ?? '12:00'),\n eventDensity: settings.defaultEventDensity ?? 1,\n\n maxEventDurationVariance: settings.defaultEventDurationVariance ?? 0,\n\n maxNumWorkingHours: min2hrs(settings.defaultMaximumScheduleSpan?.weekly) ?? false,\n maxNumDailyWorkingHours: min2hrs(settings.defaultMaximumScheduleSpan?.daily ) ?? false,\n\n dependencyRank: settings.defaultDependencyRank ?? 0,\n groupRank: settings.defaultGroupRank ?? 0,\n dayRank: settings.defaultDayRank ?? 0,\n\n groupWeight: settings.defaultGroupWeight ?? 0,\n eventWeight: settings.defaultEventWeight ?? 0,\n };\n\n return res;\n};"],"mappings":";;;;;AAMA,SAAgB,aACd,UACA,SAC8B;AAyB9B,QAxB0C;EACxC,WAAW,0BAA0B,UAAU,QAAQ;EACvD,QAAW,SAAS,SAAS,YAAY,SAAS,QAAQ,QAAQ,GAAG;EAErE,uBAA4B,SAAS,kCAAuC;EAC5E,4BAA4B,SAAS,uCAAuC;EAC5E,uBAA4B,SAAS,kCAAuC;EAE5E,eAAe,YAAY,SAAS,mBAAmB,QAAQ;EAC/D,cAAe,SAAS,uBAAuB;EAE/C,0BAA0B,SAAS,gCAAgC;EAEnE,oBAAyB,QAAQ,SAAS,4BAA4B,OAAO,IAAI;EACjF,yBAAyB,QAAQ,SAAS,4BAA4B,MAAO,IAAI;EAEjF,gBAAgB,SAAS,yBAAyB;EAClD,WAAgB,SAAS,oBAAyB;EAClD,SAAgB,SAAS,kBAAyB;EAElD,aAAa,SAAS,sBAAuB;EAC7C,aAAa,SAAS,sBAAuB;EAC9C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { getVertexId } from "../../../core/util.mjs";
|
|
2
|
+
import { idOf } from "./util/util.mjs";
|
|
3
|
+
import { parseDayIndices } from "./util/parse-days.mjs";
|
|
4
|
+
import { omitBy } from "lodash-es";
|
|
5
|
+
|
|
6
|
+
//#region src/RS/to/input/dependencies.ts
|
|
7
|
+
function fromLocations(locations, settings, options) {
|
|
8
|
+
return locations.filter((x) => {
|
|
9
|
+
const id = getVertexId(x, options);
|
|
10
|
+
const includedLocations = options.partialScheduleOptions?.includedLocations;
|
|
11
|
+
if (includedLocations && !includedLocations.has(id)) return false;
|
|
12
|
+
return true;
|
|
13
|
+
}).map((location) => {
|
|
14
|
+
const doc = {
|
|
15
|
+
id: getVertexId(location, options),
|
|
16
|
+
minBreakDuration: location.minBreakLength,
|
|
17
|
+
days: parseDayIndices(location.days, settings),
|
|
18
|
+
intervals: [[{
|
|
19
|
+
start: 0,
|
|
20
|
+
end: 24
|
|
21
|
+
}]],
|
|
22
|
+
blockedTimes: location.lockedTimes?.map((x) => idOf.lockedTime(x, options))
|
|
23
|
+
};
|
|
24
|
+
if (options.includeEntityMeta) doc.name = location.displayName;
|
|
25
|
+
return omitBy(doc, (x) => x == null);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
export { fromLocations };
|
|
31
|
+
//# sourceMappingURL=dependencies.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencies.mjs","names":[],"sources":["../../../../src/RS/to/input/dependencies.ts"],"sourcesContent":["import { omitBy } from 'lodash-es';\nimport type { ConnectedTypes } from '../../make-connected';\nimport { getVertexId } from '../../../core/util';\nimport { parseDayIndices } from './util/parse-days';\nimport type { Types } from '../../types';\nimport { idOf } from './util/util';\n\nexport function fromLocations (\n locations: ConnectedTypes.location[],\n settings: ConnectedTypes.divisionSettings,\n options: Types.parsedToOptions\n) {\n return locations\n .filter(x => {\n const id = getVertexId(x, options);\n\n // remove all excluded locations based on partial schedule options\n const includedLocations = options.partialScheduleOptions?.includedLocations;\n if (includedLocations && !includedLocations.has(id)) return false;\n return true;\n })\n .map(location => {\n const id = getVertexId(location, options);\n\n const doc: Types.Entities.Dependency = {\n id,\n minBreakDuration: location.minBreakLength,\n days: parseDayIndices(location.days, settings),\n intervals: [[{ start: 0, end: 24.00 }]], // as there is currently no way to specify intervals for locations\n blockedTimes: location.lockedTimes?.map(x => idOf.lockedTime(x, options)),\n };\n\n if (options.includeEntityMeta) {\n doc.name = location.displayName;\n }\n\n return omitBy(doc, x => x == null) as Types.Entities.Dependency;\n });\n}"],"mappings":";;;;;;AAOA,SAAgB,cACd,WACA,UACA,SACA;AACA,QAAO,UACJ,QAAO,MAAK;EACX,MAAM,KAAK,YAAY,GAAG,QAAQ;EAGlC,MAAM,oBAAoB,QAAQ,wBAAwB;AAC1D,MAAI,qBAAqB,CAAC,kBAAkB,IAAI,GAAG,CAAE,QAAO;AAC5D,SAAO;GACP,CACD,KAAI,aAAY;EAGf,MAAM,MAAiC;GACrC,IAHS,YAAY,UAAU,QAAQ;GAIvC,kBAAkB,SAAS;GAC3B,MAAkB,gBAAgB,SAAS,MAAM,SAAS;GAC1D,WAAkB,CAAC,CAAC;IAAE,OAAO;IAAG,KAAK;IAAO,CAAC,CAAC;GAC9C,cAAkB,SAAS,aAAa,KAAI,MAAK,KAAK,WAAW,GAAG,QAAQ,CAAC;GAC9E;AAED,MAAI,QAAQ,kBACV,KAAI,OAAO,SAAS;AAGtB,SAAO,OAAO,MAAK,MAAK,KAAK,KAAK;GAClC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { getDayIndex, getVertexId } from "../../../core/util.mjs";
|
|
2
|
+
import { makeChainable } from "../../../common/make-chainable/index.mjs";
|
|
3
|
+
import { idOf } from "./util/util.mjs";
|
|
4
|
+
import { parseDayIndices } from "./util/parse-days.mjs";
|
|
5
|
+
import { getDefaultInterval } from "./intervals.mjs";
|
|
6
|
+
import { parseMinimumBreakLength } from "./util/parse-minimum-break-length.mjs";
|
|
7
|
+
import { parseGroupReferences } from "./util/parse-group-references.mjs";
|
|
8
|
+
import { parseLocationReferences } from "./util/parse-location-references.mjs";
|
|
9
|
+
import { groupBy, omit, omitBy } from "lodash-es";
|
|
10
|
+
import moment from "moment";
|
|
11
|
+
|
|
12
|
+
//#region src/RS/to/input/events.ts
|
|
13
|
+
function toDayAndStart(start) {
|
|
14
|
+
return {
|
|
15
|
+
start: parseFloat(moment.utc(start).format("HH.mm")),
|
|
16
|
+
day: getDayIndex(start)
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function fromEvents(_events, settings, options) {
|
|
20
|
+
const defaultInterval = getDefaultInterval(settings);
|
|
21
|
+
const events = (_events ?? []).map((event) => {
|
|
22
|
+
const id = getVertexId(event, options);
|
|
23
|
+
const duration = event.preferredDuration;
|
|
24
|
+
if (!duration) throw new Error(`(RS::To::fromEvents) Event "${id}" has no duration`);
|
|
25
|
+
const maxDurationVariance = event.linkedEventsSet == null ? event.durationVariance ?? event.course?.eventDurationVariance : 0;
|
|
26
|
+
const preferredTime = (() => {
|
|
27
|
+
const centerOfAttraction = event.centerOfAttraction ?? event.course?.centerOfAttraction;
|
|
28
|
+
if (!centerOfAttraction) return;
|
|
29
|
+
return parseFloat(centerOfAttraction.replace(":", "."));
|
|
30
|
+
})();
|
|
31
|
+
const period = (() => {
|
|
32
|
+
const periodId = event.period ?? event.course?.period;
|
|
33
|
+
if (!periodId) return;
|
|
34
|
+
return getVertexId(periodId, options);
|
|
35
|
+
})();
|
|
36
|
+
const intervals = event.intervals ?? event.course?.intervals ?? defaultInterval;
|
|
37
|
+
const doc = {
|
|
38
|
+
id: idOf.event(event, options),
|
|
39
|
+
duration,
|
|
40
|
+
maxDurationVariance,
|
|
41
|
+
weight: event.weight ?? event.course?.weight,
|
|
42
|
+
density: event.density ?? event.course?.density,
|
|
43
|
+
preferredTime,
|
|
44
|
+
period,
|
|
45
|
+
days: parseDayIndices(event.days ?? event.course?.days, settings),
|
|
46
|
+
dependencies: parseLocationReferences(event.locations ?? event.course?.locations, options),
|
|
47
|
+
groups: parseGroupReferences({
|
|
48
|
+
type: "event",
|
|
49
|
+
item: event
|
|
50
|
+
}, options),
|
|
51
|
+
intervals: idOf.intervalPairReference(intervals, void 0, options),
|
|
52
|
+
blockedTimes: (event.lockedTimes ?? event.course?.lockedTimes)?.map((x) => idOf.lockedTime(x, options)),
|
|
53
|
+
minBreakDuration: parseMinimumBreakLength(event.minBreakLength ?? event.course?.minBreakLength),
|
|
54
|
+
distributionKey: event.course?.id,
|
|
55
|
+
course: event.course
|
|
56
|
+
};
|
|
57
|
+
if (event.fixedStart && event.start) Object.assign(doc, toDayAndStart(event.start));
|
|
58
|
+
if (options.includeEntityMeta) doc.name = event.displayName ?? event.course?.displayName;
|
|
59
|
+
if (options.partialScheduleOptions) {
|
|
60
|
+
const { includedEvents, omittedEventsHandling } = options.partialScheduleOptions;
|
|
61
|
+
if (includedEvents && !includedEvents.has(doc.id)) {
|
|
62
|
+
if (omittedEventsHandling == "ignore") return;
|
|
63
|
+
if (omittedEventsHandling == "freeze") {
|
|
64
|
+
if (event.parked || !event.start || !event.duration) return;
|
|
65
|
+
Object.assign(doc, toDayAndStart(event.start));
|
|
66
|
+
doc.duration = event.duration;
|
|
67
|
+
doc.maxDurationVariance = 0;
|
|
68
|
+
const numDays = settings.numDays ?? 5;
|
|
69
|
+
doc.days = Array.from({ length: numDays }, (_, i) => i);
|
|
70
|
+
doc.intervals = Array.from({ length: numDays }, () => [{
|
|
71
|
+
start: 0,
|
|
72
|
+
end: 24
|
|
73
|
+
}]);
|
|
74
|
+
doc.dependencies = (event.inLocations ?? []).filter((x) => !!x).map((x) => {
|
|
75
|
+
const id = getVertexId(x, options);
|
|
76
|
+
const includedLocations = options.partialScheduleOptions?.includedLocations;
|
|
77
|
+
if (includedLocations && !includedLocations.has(id)) return;
|
|
78
|
+
return [{ dependency: id }];
|
|
79
|
+
}).filter((x) => x != null);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return omitBy(doc, (x) => x == null);
|
|
84
|
+
}).filter((x) => !!x);
|
|
85
|
+
const activities = makeChainable(events).chain((x) => x.filter((x) => !!x.course)).chain((x) => Object.entries(groupBy(x, (x) => getVertexId(x.course, options))).map(([id, events]) => {
|
|
86
|
+
const doc = {
|
|
87
|
+
id,
|
|
88
|
+
events: events.map((x) => x.id)
|
|
89
|
+
};
|
|
90
|
+
if (options.includeEntityMeta) doc.name = events[0].course?.displayName;
|
|
91
|
+
return doc;
|
|
92
|
+
})).value;
|
|
93
|
+
return {
|
|
94
|
+
events: events.map((x) => omit(x, "course")),
|
|
95
|
+
activities
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
//#endregion
|
|
100
|
+
export { fromEvents, toDayAndStart };
|
|
101
|
+
//# sourceMappingURL=events.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.mjs","names":[],"sources":["../../../../src/RS/to/input/events.ts"],"sourcesContent":["import moment from 'moment';\nimport { omitBy, groupBy, omit } from 'lodash-es';\nimport { parseMinimumBreakLength } from './util/parse-minimum-break-length';\nimport type { Types } from '../../types';\nimport { parseGroupReferences } from './util/parse-group-references';\nimport { parseLocationReferences } from './util/parse-location-references';\nimport type { ConnectedTypes } from '../../make-connected';\nimport { getDayIndex, getVertexId } from '../../../core/util';\nimport { idOf } from './util/util';\nimport { parseDayIndices } from './util/parse-days';\nimport type { DateType } from '../../../common/types';\nimport { getDefaultInterval } from './intervals';\nimport { makeChainable } from '../../../common/make-chainable';\n\nexport function toDayAndStart (start: DateType) {\n return {\n start: parseFloat(moment.utc(start).format('HH.mm')),\n day: getDayIndex(start)\n };\n}\n\ntype _Event = Types.Entities.Event & {\n course?: ConnectedTypes.course;\n};\n\n// a type generic that makes certain properties of T required\ntype RequireProperties<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\ntype Out = {\n events: Types.Entities.Event[];\n activities: Types.Entities.Activity[];\n};\nexport function fromEvents (\n _events: ConnectedTypes.event[],\n settings: ConnectedTypes.divisionSettings,\n options: Types.parsedToOptions\n): Out {\n const defaultInterval = getDefaultInterval(settings);\n\n const events = (_events ?? [])\n .map(event => {\n const id = getVertexId(event, options);\n\n const duration = event.preferredDuration;\n if (!duration) throw new Error(`(RS::To::fromEvents) Event \"${id}\" has no duration`);\n\n // allow duration variance only if the event isn't linked\n const maxDurationVariance = event.linkedEventsSet == null\n ? (event.durationVariance ?? event.course?.eventDurationVariance)\n : 0;\n\n const preferredTime = (() => {\n const centerOfAttraction = event.centerOfAttraction ?? event.course?.centerOfAttraction;\n if (!centerOfAttraction) return;\n return parseFloat(centerOfAttraction.replace(':', '.'));\n })();\n\n const period = (() => {\n const periodId = event.period ?? event.course?.period;\n if (!periodId) return;\n return getVertexId(periodId, options);\n })();\n\n const intervals = event.intervals ?? event.course?.intervals ?? defaultInterval;\n\n const doc: _Event = {\n id: idOf.event(event, options),\n duration: duration,\n maxDurationVariance: maxDurationVariance,\n weight: event.weight ?? event.course?.weight,\n density: event.density ?? event.course?.density,\n preferredTime: preferredTime,\n period: period,\n days: parseDayIndices (event.days ?? event.course?.days, settings),\n dependencies: parseLocationReferences (event.locations ?? event.course?.locations, options),\n groups: parseGroupReferences ({ type: 'event', item: event }, options),\n intervals: idOf.intervalPairReference(intervals, undefined, options),\n blockedTimes: (event.lockedTimes ?? event.course?.lockedTimes)?.map(x => idOf.lockedTime(x, options)),\n minBreakDuration: parseMinimumBreakLength (event.minBreakLength ?? event.course?.minBreakLength),\n distributionKey: event.course?.id,\n\n // temporary data\n course: event.course,\n };\n\n // if the event has a fixed day and start\n if (event.fixedStart && event.start) {\n Object.assign(doc, toDayAndStart(event.start));\n }\n\n if (options.includeEntityMeta) {\n doc.name = event.displayName ?? event.course?.displayName;\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)) { // collection.id => take into account dynamic locked times too!\n\n if (omittedEventsHandling == 'ignore') return;\n\n if (omittedEventsHandling == 'freeze') {\n // must not be parked and have a start and duration to be frozen, otherwise it's ignored\n if (event.parked || !event.start || !event.duration) return;\n\n // fix day, start and end\n Object.assign(doc, toDayAndStart(event.start));\n doc.duration = event.duration;\n doc.maxDurationVariance = 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 }, () => [{ start: 0, end: 24.00 }]);\n\n // fix locations\n doc.dependencies = (event.inLocations ?? [])\n .filter((x): x is NonNullable<typeof x> => !!x)\n .map(x => {\n const id = getVertexId(x, options);\n\n // filter location references based on partial schedule options\n const includedLocations = options.partialScheduleOptions?.includedLocations;\n if (includedLocations && !includedLocations.has(id)) return;\n\n return [{ dependency: id }] as Types.Shared.DependencyReference[];\n })\n .filter(x => x != null);\n }\n\n }\n }\n\n return omitBy(doc, x => x == null) as typeof doc;\n })\n .filter((x): x is NonNullable<typeof x> => !!x);\n\n const activities = makeChainable(events)\n .chain(x => x.filter((x): x is RequireProperties<typeof x, 'course'> => !!x.course))\n .chain(x => Object.entries(groupBy(x, x => getVertexId(x.course, options)))\n .map(([id, events]) => {\n const doc: Types.Entities.Activity = {\n id: id,\n events: events.map(x => x.id)\n };\n\n if (options.includeEntityMeta) {\n doc.name = events[0].course?.displayName;\n }\n\n return doc;\n })\n ).value;\n\n // remove temporary data from events\n const outEvents = events.map(x => omit(x, 'course' satisfies keyof typeof x));\n\n return {\n events: outEvents,\n activities\n };\n}"],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { idOf } from "./util/util.mjs";
|
|
2
|
+
import { parseDayIndices } from "./util/parse-days.mjs";
|
|
3
|
+
import { parseMaxWorkingHours } from "./util/parse-max-working-hours.mjs";
|
|
4
|
+
import { getDefaultInterval } from "./intervals.mjs";
|
|
5
|
+
import { omitBy } from "lodash-es";
|
|
6
|
+
|
|
7
|
+
//#region src/RS/to/input/groups.ts
|
|
8
|
+
function fromGroups(groups, settings, options) {
|
|
9
|
+
const defaultInterval = getDefaultInterval(settings);
|
|
10
|
+
return groups.filter((group) => group.species == "class").map((group) => {
|
|
11
|
+
const intervals = group.intervals ?? defaultInterval;
|
|
12
|
+
const rootInterval = group.rootInterval ?? settings.defaultRootInterval;
|
|
13
|
+
const doc = {
|
|
14
|
+
id: idOf.group(group, options),
|
|
15
|
+
group_type: "classes",
|
|
16
|
+
weight: group.weight,
|
|
17
|
+
minimizeGaps: true,
|
|
18
|
+
minimizeDependencyAlternation: false,
|
|
19
|
+
intervals: idOf.intervalPairReference(intervals, rootInterval, options),
|
|
20
|
+
days: parseDayIndices(group.days, settings),
|
|
21
|
+
blockedTimes: group.lockedTimes?.map((x) => idOf.lockedTime(x, options)),
|
|
22
|
+
minBreakDuration: group.minBreakLength,
|
|
23
|
+
...parseMaxWorkingHours(group)
|
|
24
|
+
};
|
|
25
|
+
if (options.includeEntityMeta) doc.name = group.displayName;
|
|
26
|
+
return omitBy(doc, (x) => x == null);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
export { fromGroups };
|
|
32
|
+
//# sourceMappingURL=groups.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groups.mjs","names":[],"sources":["../../../../src/RS/to/input/groups.ts"],"sourcesContent":["import { omitBy } from 'lodash-es';\nimport type { Types } from '../../types';\nimport type { ConnectedTypes } from '../../make-connected';\nimport { parseDayIndices } from './util/parse-days';\nimport { parseMaxWorkingHours } from './util/parse-max-working-hours';\nimport { idOf } from './util/util';\nimport { getDefaultInterval } from './intervals';\n\nexport function fromGroups (\n groups: ConnectedTypes.group[],\n settings: ConnectedTypes.divisionSettings,\n options: Types.parsedToOptions\n): Types.Entities.Group[] {\n const defaultInterval = getDefaultInterval(settings);\n\n return groups\n .filter(group => group.species == 'class')\n .map(group => {\n const intervals = group.intervals ?? defaultInterval;\n const rootInterval = group.rootInterval ?? settings.defaultRootInterval;\n\n const doc: Types.Entities.Group = {\n id: idOf.group(group, options),\n group_type: 'classes',\n weight: group.weight,\n minimizeGaps: true,\n minimizeDependencyAlternation: false,\n intervals: idOf.intervalPairReference(intervals, rootInterval, options),\n days: parseDayIndices(group.days, settings),\n blockedTimes: group.lockedTimes?.map(x => idOf.lockedTime(x, options)),\n minBreakDuration: group.minBreakLength,\n ...parseMaxWorkingHours(group),\n };\n\n if (options.includeEntityMeta) {\n doc.name = group.displayName;\n }\n\n return omitBy(doc, x => x == null) as Types.Entities.Group;\n });\n};\n"],"mappings":";;;;;;;AAQA,SAAgB,WACd,QACA,UACA,SACwB;CACxB,MAAM,kBAAkB,mBAAmB,SAAS;AAEpD,QAAO,OACJ,QAAO,UAAS,MAAM,WAAW,QAAQ,CACzC,KAAI,UAAS;EACZ,MAAM,YAAe,MAAM,aAAgB;EAC3C,MAAM,eAAe,MAAM,gBAAgB,SAAS;EAEpD,MAAM,MAA4B;GAChC,IAA+B,KAAK,MAAM,OAAO,QAAQ;GACzD,YAA+B;GAC/B,QAA+B,MAAM;GACrC,cAA+B;GAC/B,+BAA+B;GAC/B,WAA+B,KAAK,sBAAsB,WAAW,cAAc,QAAQ;GAC3F,MAA+B,gBAAgB,MAAM,MAAM,SAAS;GACpE,cAA+B,MAAM,aAAa,KAAI,MAAK,KAAK,WAAW,GAAG,QAAQ,CAAC;GACvF,kBAA+B,MAAM;GACrC,GAAG,qBAAqB,MAAM;GAC/B;AAED,MAAI,QAAQ,kBACV,KAAI,OAAO,MAAM;AAGnB,SAAO,OAAO,MAAK,MAAK,KAAK,KAAK;GAClC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { getVertexId } from "../../../core/util.mjs";
|
|
2
|
+
import { makeChainable } from "../../../common/make-chainable/index.mjs";
|
|
3
|
+
import { idOf } from "./util/util.mjs";
|
|
4
|
+
import { omitBy, uniqBy } from "lodash-es";
|
|
5
|
+
|
|
6
|
+
//#region src/RS/to/input/individuals.ts
|
|
7
|
+
function fromPersonsToIndividuals(persons, options) {
|
|
8
|
+
return persons.map((person) => {
|
|
9
|
+
const doc = {
|
|
10
|
+
id: idOf.person(person, options),
|
|
11
|
+
group: person.group ? `groups.${getVertexId(person.group, options)}` : void 0
|
|
12
|
+
};
|
|
13
|
+
if (options.includeEntityMeta) doc.name = person.displayName;
|
|
14
|
+
return omitBy(doc, (x) => x == null);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function fromGroupToIndividualsSet(id, reference, options) {
|
|
18
|
+
const members = new Set(reference.to.members?.map((x) => getVertexId(x, options)));
|
|
19
|
+
const excluded = new Set(reference.exclude?.map((x) => getVertexId(x, options)));
|
|
20
|
+
const doc = {
|
|
21
|
+
id,
|
|
22
|
+
individuals: [...members.difference(excluded)].map((x) => idOf.person(x, options))
|
|
23
|
+
};
|
|
24
|
+
if (options.includeEntityMeta) doc.name = reference.to.displayName + (reference.exclude?.length ? ` (excl. ${reference.exclude.map((x) => x.displayName).join(", ")})` : "");
|
|
25
|
+
return doc;
|
|
26
|
+
}
|
|
27
|
+
function extractUniqueIndividuals(persons, courses, events, lockedTimes, options) {
|
|
28
|
+
const individuals = fromPersonsToIndividuals(persons, options);
|
|
29
|
+
const uniqueIndividualsSetsFromGroupReferences = makeChainable([
|
|
30
|
+
...courses,
|
|
31
|
+
...events,
|
|
32
|
+
...lockedTimes
|
|
33
|
+
]).chain((x) => x.map((item) => {
|
|
34
|
+
if ("groups" in item) return item.groups;
|
|
35
|
+
if ("coalesced" in item) return item.coalesced?.filter((x) => x.toModel == "groups");
|
|
36
|
+
}).flatMap((references) => (references ?? []).filter((x) => x.to.species != "class" || x.exclude?.length).map((x) => ({
|
|
37
|
+
id: idOf.groupReference(x, options),
|
|
38
|
+
value: x
|
|
39
|
+
}))), (x) => uniqBy(x, (x) => x.id).map((x) => fromGroupToIndividualsSet(x.id, x.value, options))).value;
|
|
40
|
+
return individuals.concat(uniqueIndividualsSetsFromGroupReferences);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
//#endregion
|
|
44
|
+
export { extractUniqueIndividuals };
|
|
45
|
+
//# sourceMappingURL=individuals.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"individuals.mjs","names":[],"sources":["../../../../src/RS/to/input/individuals.ts"],"sourcesContent":["import { omitBy, uniqBy } from 'lodash-es';\nimport type { Types } from '../../types';\nimport type { ConnectedTypes } from '../../make-connected';\nimport { getVertexId } from '../../../core/util';\nimport { idOf } from './util/util';\nimport { makeChainable } from '../../../common/make-chainable';\nimport type { GroupWithExclude } from '../../../core/interfaces/vertices/util/edges';\n\n\nfunction fromPersonsToIndividuals (\n persons: ConnectedTypes.person[],\n options: Types.parsedToOptions\n): Types.Entities.Individual[] {\n return persons.map(person => {\n const doc: Types.Entities.Individual = {\n id: idOf.person(person, options),\n group: person.group ? `groups.${ getVertexId(person.group, options) }` : undefined,\n };\n\n if (options.includeEntityMeta) {\n doc.name = person.displayName;\n }\n\n return omitBy(doc, x => x == null) as Types.Entities.Individual;\n });\n}\n\nfunction fromGroupToIndividualsSet (\n id: string,\n reference: GroupWithExclude.Util.Value<ConnectedTypes.group, ConnectedTypes.person>,\n options: Types.parsedToOptions\n): Types.Entities.IndividualsSet {\n const members = new Set(reference.to.members?.map(x => getVertexId(x, options)));\n const excluded = new Set(reference.exclude?.map(x => getVertexId(x, options)));\n const remaining = members.difference(excluded);\n\n const doc: Types.Entities.IndividualsSet = {\n id: id,\n individuals: [...remaining].map(x => idOf.person(x, options)),\n };\n\n if (options.includeEntityMeta) {\n doc.name = reference.to.displayName + (reference.exclude?.length ? ` (excl. ${ reference.exclude.map(x => x.displayName).join(', ') })` : '');\n }\n\n return doc;\n}\n\nexport function extractUniqueIndividuals (\n persons: ConnectedTypes.person[],\n courses: ConnectedTypes.course[],\n events: ConnectedTypes.event[],\n lockedTimes: ConnectedTypes.lockedTime[],\n options: Types.parsedToOptions\n): (Types.Entities.Individual | Types.Entities.IndividualsSet)[] {\n const individuals = fromPersonsToIndividuals(persons, options);\n\n const uniqueIndividualsSetsFromGroupReferences = makeChainable([...courses, ...events, ...lockedTimes])\n .chain(\n x => x\n .map((item): GroupWithExclude.Util.Value<ConnectedTypes.group, ConnectedTypes.person>[] | undefined => {\n if ('groups' in item) return item.groups; // we may ignore the parent groups as they are all plain group references\n if ('coalesced' in item) return item.coalesced\n ?.filter(x => x.toModel == 'groups');\n return;\n })\n .flatMap(references => (references ?? [])\n .filter(x => x.to.species != 'class' || x.exclude?.length) // if plain group reference we will use the group directly\n .map(x => ({ id: idOf.groupReference(x, options), value: x }))\n ),\n x => uniqBy(x, x => x.id)\n .map(x => fromGroupToIndividualsSet(x.id, x.value, options))\n )\n .value;\n\n return individuals.concat(uniqueIndividualsSetsFromGroupReferences);\n};\n"],"mappings":";;;;;;AASA,SAAS,yBACP,SACA,SAC6B;AAC7B,QAAO,QAAQ,KAAI,WAAU;EAC3B,MAAM,MAAiC;GACrC,IAAO,KAAK,OAAO,QAAQ,QAAQ;GACnC,OAAO,OAAO,QAAQ,UAAW,YAAY,OAAO,OAAO,QAAQ,KAAM;GAC1E;AAED,MAAI,QAAQ,kBACV,KAAI,OAAO,OAAO;AAGpB,SAAO,OAAO,MAAK,MAAK,KAAK,KAAK;GAClC;;AAGJ,SAAS,0BACP,IACA,WACA,SAC+B;CAC/B,MAAM,UAAY,IAAI,IAAI,UAAU,GAAG,SAAS,KAAI,MAAK,YAAY,GAAG,QAAQ,CAAC,CAAC;CAClF,MAAM,WAAY,IAAI,IAAI,UAAU,SAAS,KAAI,MAAK,YAAY,GAAG,QAAQ,CAAC,CAAC;CAG/E,MAAM,MAAqC;EAC5B;EACb,aAAa,CAAC,GAJE,QAAQ,WAAW,SAAS,CAIjB,CAAC,KAAI,MAAK,KAAK,OAAO,GAAG,QAAQ,CAAC;EAC9D;AAED,KAAI,QAAQ,kBACV,KAAI,OAAO,UAAU,GAAG,eAAe,UAAU,SAAS,SAAS,WAAY,UAAU,QAAQ,KAAI,MAAK,EAAE,YAAY,CAAC,KAAK,KAAK,CAAE,KAAK;AAG5I,QAAO;;AAGT,SAAgB,yBACd,SACA,SACA,QACA,aACA,SAC+D;CAC/D,MAAM,cAAc,yBAAyB,SAAS,QAAQ;CAE9D,MAAM,2CAA2C,cAAc;EAAC,GAAG;EAAS,GAAG;EAAQ,GAAG;EAAY,CAAC,CACpG,OACC,MAAK,EACF,KAAK,SAAiG;AACrG,MAAI,YAAe,KAAM,QAAO,KAAK;AACrC,MAAI,eAAe,KAAM,QAAO,KAAK,WACjC,QAAO,MAAK,EAAE,WAAW,SAAS;GAEtC,CACD,SAAQ,gBAAe,cAAc,EAAE,EACrC,QAAO,MAAK,EAAE,GAAG,WAAW,WAAW,EAAE,SAAS,OAAO,CACzD,KAAI,OAAM;EAAE,IAAI,KAAK,eAAe,GAAG,QAAQ;EAAE,OAAO;EAAG,EAAE,CAC/D,GACH,MAAK,OAAO,IAAG,MAAK,EAAE,GAAG,CACtB,KAAI,MAAK,0BAA0B,EAAE,IAAI,EAAE,OAAO,QAAQ,CAAC,CAC/D,CACA;AAEH,QAAO,YAAY,OAAO,yCAAyC"}
|