@royalschedule/maps 4.1.3 → 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 +4 -3
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"parse-group-references.mjs","names":[],"sources":["../../../../../src/RS/to/input/util/parse-group-references.ts"],"sourcesContent":["import { groupBy } from 'lodash-es';\nimport type { ConnectedTypes } from '../../../make-connected';\nimport { idOf } from './util';\nimport { getVertexId } from '../../../../core/util';\nimport type { Types } from '../../../types';\nimport { makeChainable } from '../../../../common/make-chainable';\nimport type { GroupWithExclude, Wrapped } from '../../../../core/interfaces/vertices/util/edges';\n\n/**\n * Merges group references with their parent groups while ensuring that a group is present at\n * most once and that parent groups are prioritized as they carry no member exclusions.\n */\nfunction mergeWithParentGroups (\n references: GroupWithExclude.Util.Value<ConnectedTypes.group, ConnectedTypes.person>[],\n options: Types.parsedToOptions\n): GroupWithExclude.Util.Value<ConnectedTypes.group, ConnectedTypes.person>[] {\n return makeChainable(references)\n .chain(\n x => x.flatMap((x): ((typeof x) & { isParentGroup?: boolean })[] => ([\n x, ...(x.to.parentGroups ?? []).map(y => ({ to: y, isParentGroup: true }))\n ])),\n x => groupBy(x, x => getVertexId(x.to, options)),\n x => Object.values(x)\n .map(xs => xs.find(x => x.isParentGroup) ?? xs.at(0))\n .filter(x => x != null)\n )\n .value;\n}\n\ntype ItemAndType =\n | { item: ConnectedTypes.event, type: 'event' }\n | { item: ConnectedTypes.lockedTime, type: 'lockedTime' };\n\ntype Source = {\n teachers?: Wrapped.Util.Value<'to', ConnectedTypes.teacher>[];\n groups?: GroupWithExclude.Util.Value<ConnectedTypes.group, ConnectedTypes.person>[];\n participants?: Wrapped.Util.Value<'to', ConnectedTypes.person>[];\n};\n\n/**\n * Returns the source of group, teacher, and participant references for a given item while taking into account event inheritance.\n */\nfunction getSources (itemAndType: ItemAndType): Source {\n if (itemAndType.type == 'lockedTime') return {\n teachers: itemAndType.item.coalesced?.filter(x => x.toModel == 'teachers'),\n groups: itemAndType.item.coalesced?.filter(x => x.toModel == 'groups' )\n };\n\n const item = itemAndType.item;\n const teachersSource = item.teachers\n ? item\n : ('course' in item && item.course ? item.course : item);\n const groupsAndParticipantsSource = (item.groups || item.participants)\n ? item\n : ('course' in item && item.course ? item.course : item);\n return {\n teachers: teachersSource.teachers ?? undefined,\n groups: groupsAndParticipantsSource.groups ?? undefined,\n participants: groupsAndParticipantsSource.participants ?? undefined\n };\n}\n\n/**\n * Parses group references from a course or event while carrying out event inheritance and taking into account parent groups.\n */\nexport function parseGroupReferences (\n itemAndType: ItemAndType,\n options: Types.parsedToOptions\n): Types.Shared.GroupReferenceSets {\n const sources = getSources(itemAndType);\n\n const teacherReferences = (sources.teachers ?? [])\n .map((x): Types.Shared.GroupReference => ({ group: idOf.teacher(x.to, options) }));\n\n const groupReferences = mergeWithParentGroups(sources.groups ?? [], options)\n .map((x): Types.Shared.GroupReference | Types.Shared.IndividualsReference => {\n if (x.to.species != 'class' || x.exclude?.length) return { individuals: idOf.groupReference(x, options) }; // use individuals set if not a plain group reference\n return { group: idOf.group(x.to, options) };\n });\n\n const participantReferences = sources.participants?.length\n ? { individuals: sources.participants.map(x => idOf.person(x.to, options)) } as Types.Shared.IndividualsReference\n : undefined;\n\n // combine all references\n return new Array<Types.Shared.GroupReference | Types.Shared.IndividualsReference>()\n .concat(\n teacherReferences,\n groupReferences,\n participantReferences ? [participantReferences] : []\n )\n .map(x => [x]);\n}"],"mappings":";;;;;;;;;;AAYA,SAAS,sBACP,YACA,SAC4E;AAC5E,QAAO,cAAc,WAAW,CAC7B,OACC,MAAK,EAAE,SAAS,MAAqD,CACnE,GAAG,IAAI,EAAE,GAAG,gBAAgB,EAAE,EAAE,KAAI,OAAM;EAAE,IAAI;EAAG,eAAe;EAAM,EAAE,CAC3E,CAAE,GACH,MAAK,QAAQ,IAAG,MAAK,YAAY,EAAE,IAAI,QAAQ,CAAC,GAChD,MAAK,OAAO,OAAO,EAAE,CAClB,KAAI,OAAM,GAAG,MAAK,MAAK,EAAE,cAAc,IAAI,GAAG,GAAG,EAAE,CAAC,CACpD,QAAO,MAAK,KAAK,KAAK,CAC1B,CACA;;;;;AAgBL,SAAS,WAAY,aAAkC;AACrD,KAAI,YAAY,QAAQ,aAAc,QAAO;EAC3C,UAAU,YAAY,KAAK,WAAW,QAAO,MAAK,EAAE,WAAW,WAAW;EAC1E,QAAU,YAAY,KAAK,WAAW,QAAO,MAAK,EAAE,WAAW,SAAW;EAC3E;CAED,MAAM,OAAO,YAAY;CACzB,MAAM,iBAAiB,KAAK,WACxB,OACC,YAAY,QAAQ,KAAK,SAAS,KAAK,SAAS;CACrD,MAAM,8BAA+B,KAAK,UAAU,KAAK,eACrD,OACC,YAAY,QAAQ,KAAK,SAAS,KAAK,SAAS;AACrD,QAAO;EACL,UAAc,eAAe,YAA6B;EAC1D,QAAc,4BAA4B,UAAgB;EAC1D,cAAc,4BAA4B,gBAAgB;EAC3D;;;;;AAMH,SAAgB,qBACd,aACA,SACiC;CACjC,MAAM,UAAU,WAAW,YAAY;CAEvC,MAAM,qBAAqB,QAAQ,YAAY,EAAE,EAC9C,KAAK,OAAoC,EAAE,OAAO,KAAK,QAAQ,EAAE,IAAI,QAAQ,EAAE,EAAE;CAEpF,MAAM,kBAAkB,sBAAsB,QAAQ,UAAU,EAAE,EAAE,QAAQ,CACzE,KAAK,MAAuE;AAC3E,MAAI,EAAE,GAAG,WAAW,WAAW,EAAE,SAAS,OAAQ,QAAO,EAAE,aAAa,KAAK,eAAe,GAAG,QAAQ,EAAE;AACzG,SAAO,EAAE,OAAO,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE;GAC3C;CAEJ,MAAM,wBAAwB,QAAQ,cAAc,SAChD,EAAE,aAAa,QAAQ,aAAa,KAAI,MAAK,KAAK,OAAO,EAAE,IAAI,QAAQ,CAAC,EAAE,GAC1E;AAGJ,QAAO,IAAI,OAAwE,CAChF,OACC,mBACA,iBACA,wBAAwB,CAAC,sBAAsB,GAAG,EAAE,CACrD,CACA,KAAI,MAAK,CAAC,EAAE,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { getVertexId } from "../../../../core/util.mjs";
|
|
2
|
+
import { makeChainable } from "../../../../common/make-chainable/index.mjs";
|
|
3
|
+
import { groupBy } from "lodash-es";
|
|
4
|
+
|
|
5
|
+
//#region src/RS/to/input/util/parse-location-references.ts
|
|
6
|
+
function toLocationReferences(coalesced) {
|
|
7
|
+
return coalesced?.map((x, i) => x.toModel == "locations" ? {
|
|
8
|
+
locations: [x.to],
|
|
9
|
+
groupIndex: i,
|
|
10
|
+
rank: 0
|
|
11
|
+
} : null).filter((x) => x != null);
|
|
12
|
+
}
|
|
13
|
+
function isCoalescedReferenceList(references) {
|
|
14
|
+
return !!references?.[0] && "toModel" in references[0];
|
|
15
|
+
}
|
|
16
|
+
function parseLocationReferences(references, options) {
|
|
17
|
+
const normalizedReferences = isCoalescedReferenceList(references) ? toLocationReferences(references) : references;
|
|
18
|
+
if (!normalizedReferences) return;
|
|
19
|
+
return makeChainable(normalizedReferences).chain((x) => x.map(({ locations, groupIndex, rank }) => ({
|
|
20
|
+
dependency: getVertexId(locations[0], options),
|
|
21
|
+
rank,
|
|
22
|
+
groupIndex
|
|
23
|
+
})).filter((x) => {
|
|
24
|
+
const includedLocations = options.partialScheduleOptions?.includedLocations;
|
|
25
|
+
if (!includedLocations) return true;
|
|
26
|
+
return includedLocations.has(x.dependency);
|
|
27
|
+
}), (x) => groupBy(x, (x) => x.groupIndex), (x) => Object.values(x).map((xs) => xs.map((x) => ({
|
|
28
|
+
dependency: x.dependency,
|
|
29
|
+
...x.rank != null && { rank: x.rank }
|
|
30
|
+
})))).value;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
export { parseLocationReferences };
|
|
35
|
+
//# sourceMappingURL=parse-location-references.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-location-references.mjs","names":[],"sources":["../../../../../src/RS/to/input/util/parse-location-references.ts"],"sourcesContent":["import { groupBy } from 'lodash-es';\nimport type { ConnectedTypes } from '../../../make-connected';\nimport type { Types } from '../../../types';\nimport { getVertexId } from '../../../../core/util';\nimport { makeChainable } from '../../../../common/make-chainable';\nimport type { AvailableLocation } from '../../../../core/interfaces/vertices/util/edges';\n\n\ntype LocationReference = AvailableLocation.Util.Value<ConnectedTypes.location, { groupIndex?: number; rank?: number; }>;\n\n// Normalize locked-time coalesced edges into the location reference shape used elsewhere.\nfunction toLocationReferences (coalesced: ConnectedTypes.lockedTime['coalesced']): LocationReference[] | undefined {\n return coalesced\n ?.map((x, i): LocationReference | null => x.toModel == 'locations'\n ? { locations: [x.to as ConnectedTypes.location], groupIndex: i, rank: 0 }\n : null\n )\n .filter(x => x != null);\n}\n\nfunction isCoalescedReferenceList (\n references: LocationReference[] | ConnectedTypes.lockedTime['coalesced'] | null | undefined\n): references is NonNullable<ConnectedTypes.lockedTime['coalesced']> {\n return !!references?.[0] && 'toModel' in references[0];\n}\n\nexport function parseLocationReferences (\n references: LocationReference[] | null | undefined,\n options: Types.parsedToOptions\n): Types.Shared.DependencyReference[][] | undefined;\nexport function parseLocationReferences (\n references: ConnectedTypes.lockedTime['coalesced'],\n options: Types.parsedToOptions\n): Types.Shared.DependencyReference[][] | undefined;\n\nexport function parseLocationReferences (\n references: LocationReference[] | ConnectedTypes.lockedTime['coalesced'] | null | undefined,\n options: Types.parsedToOptions\n) {\n // Support both event-style location references and locked-time coalesced edges.\n const normalizedReferences: LocationReference[] | null | undefined = isCoalescedReferenceList(references)\n ? toLocationReferences(references)\n : references;\n\n if (!normalizedReferences) return;\n\n return makeChainable(normalizedReferences)\n .chain(\n x => x\n .map(({ locations, groupIndex, rank }) => ({\n dependency: getVertexId(locations[0], options),\n rank: rank,\n groupIndex: groupIndex\n }))\n .filter(x => {\n // remove all references to excluded locations based on partial schedule options\n const includedLocations = options.partialScheduleOptions?.includedLocations;\n if (!includedLocations) return true;\n return includedLocations.has(x.dependency);\n }),\n x => groupBy(x, x => x.groupIndex),\n x => Object.values(x)\n .map(xs => xs.map(x => ({\n dependency: x.dependency,\n ...x.rank != null && { rank: x.rank },\n }) as Types.Shared.DependencyReference))\n )\n .value;\n}\n\n// export function parseSelectedLocations (event: ConnectedTypes.event, options: Types.parsedToOptions) {\n\n// const locationsRef = event.locations ?? event.course?.locations;\n// const dependencies = parseLocationReferences(locationsRef, options);\n// const inLocations = event.inLocations ?? [];\n\n// // simply use inLocations if they match the number of dependencies\n// if (inLocations.length === dependencies?.length) {\n// return inLocations.map(x => x ? getVertexId(x, options) : null);\n// }\n\n// // otherwise, fill inLocations with nulls to match the number of dependencies\n// return inLocations\n// .map(x => x ? getVertexId(x, options) : null)\n// .concat(Array\n// .from({ length: Math.max((dependencies?.length ?? 0) - inLocations.length, 0) })\n// .map(() => null as string | null)\n// );\n// }"],"mappings":";;;;;AAWA,SAAS,qBAAsB,WAAoF;AACjH,QAAO,WACH,KAAK,GAAG,MAAgC,EAAE,WAAW,cAClD;EAAE,WAAW,CAAC,EAAE,GAA8B;EAAE,YAAY;EAAG,MAAM;EAAG,GACzE,KACH,CACA,QAAO,MAAK,KAAK,KAAK;;AAG3B,SAAS,yBACP,YACmE;AACnE,QAAO,CAAC,CAAC,aAAa,MAAM,aAAa,WAAW;;AAYtD,SAAgB,wBACd,YACA,SACA;CAEA,MAAM,uBAA+D,yBAAyB,WAAW,GACrG,qBAAqB,WAAW,GAChC;AAEJ,KAAI,CAAC,qBAAsB;AAE3B,QAAO,cAAc,qBAAqB,CACvC,OACC,MAAK,EACF,KAAK,EAAE,WAAW,YAAY,YAAY;EACzC,YAAY,YAAY,UAAU,IAAI,QAAQ;EAClC;EACA;EACb,EAAE,CACF,QAAO,MAAK;EAEX,MAAM,oBAAoB,QAAQ,wBAAwB;AAC1D,MAAI,CAAC,kBAAmB,QAAO;AAC/B,SAAO,kBAAkB,IAAI,EAAE,WAAW;GAC1C,GACJ,MAAK,QAAQ,IAAG,MAAK,EAAE,WAAW,GAClC,MAAK,OAAO,OAAO,EAAE,CAClB,KAAI,OAAM,GAAG,KAAI,OAAM;EACtB,YAAY,EAAE;EACd,GAAG,EAAE,QAAQ,QAAQ,EAAE,MAAM,EAAE,MAAM;EACtC,EAAsC,CAAC,CAC3C,CACA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { min2hrs } from "./util.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/RS/to/input/util/parse-max-working-hours.ts
|
|
4
|
+
function parseMaxWorkingHours(group) {
|
|
5
|
+
if (!group.maximumScheduleSpan) return;
|
|
6
|
+
return {
|
|
7
|
+
maxNumWorkingHours: min2hrs(group.maximumScheduleSpan.weekly) ?? false,
|
|
8
|
+
maxNumDailyWorkingHours: min2hrs(group.maximumScheduleSpan.daily) ?? false
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
//#endregion
|
|
13
|
+
export { parseMaxWorkingHours };
|
|
14
|
+
//# sourceMappingURL=parse-max-working-hours.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-max-working-hours.mjs","names":[],"sources":["../../../../../src/RS/to/input/util/parse-max-working-hours.ts"],"sourcesContent":["import type { ConnectedTypes } from '../../../make-connected';\nimport type { Types } from '../../../types';\nimport { min2hrs } from './util';\n\nexport function parseMaxWorkingHours (\n group: ConnectedTypes.group | ConnectedTypes.teacher\n): Pick<Types.Entities.Group, 'maxNumWorkingHours' | 'maxNumDailyWorkingHours'> | undefined {\n if (!group.maximumScheduleSpan) return;\n\n return {\n maxNumWorkingHours: min2hrs(group.maximumScheduleSpan.weekly) ?? false,\n maxNumDailyWorkingHours: min2hrs(group.maximumScheduleSpan.daily ) ?? false,\n };\n}\n"],"mappings":";;;AAIA,SAAgB,qBACd,OAC0F;AAC1F,KAAI,CAAC,MAAM,oBAAqB;AAEhC,QAAO;EACL,oBAAyB,QAAQ,MAAM,oBAAoB,OAAO,IAAI;EACtE,yBAAyB,QAAQ,MAAM,oBAAoB,MAAO,IAAI;EACvE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/RS/to/input/util/parse-minimum-break-length.ts
|
|
2
|
+
function parseMinimumBreakLength(value) {
|
|
3
|
+
if (value == null) return;
|
|
4
|
+
if (typeof value === "boolean") return value;
|
|
5
|
+
if (typeof value === "number") return value;
|
|
6
|
+
if (Array.isArray(value)) {
|
|
7
|
+
if (value.length !== 2) throw new Error("(RS::To::parseMinimumBreakLength) BreakLength array must have exactly two elements");
|
|
8
|
+
const [bef, aft] = value;
|
|
9
|
+
return {
|
|
10
|
+
bef,
|
|
11
|
+
aft
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
throw new Error("(RS::To::parseMinimumBreakLength) BreakLength is neither boolean, number or number array");
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
export { parseMinimumBreakLength };
|
|
19
|
+
//# sourceMappingURL=parse-minimum-break-length.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-minimum-break-length.mjs","names":[],"sources":["../../../../../src/RS/to/input/util/parse-minimum-break-length.ts"],"sourcesContent":["import type { CoreTypes } from '../../../../core';\nimport type { Types } from '../../../types';\n\nexport function parseMinimumBreakLength (value: CoreTypes.breakLength | null | undefined): Types.Shared.EventBreakDuration | undefined {\n if (value == null) return;\n\n if (typeof value === 'boolean') return value;\n if (typeof value === 'number') return value;\n\n if (Array.isArray(value)) {\n if (value.length !== 2) throw new Error('(RS::To::parseMinimumBreakLength) BreakLength array must have exactly two elements');\n const [bef, aft] = value;\n return { bef, aft };\n }\n\n throw new Error('(RS::To::parseMinimumBreakLength) BreakLength is neither boolean, number or number array');\n};\n"],"mappings":";AAGA,SAAgB,wBAAyB,OAA8F;AACrI,KAAI,SAAS,KAAM;AAEnB,KAAI,OAAO,UAAU,UAAW,QAAO;AACvC,KAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,KAAI,MAAM,QAAQ,MAAM,EAAE;AACxB,MAAI,MAAM,WAAW,EAAG,OAAM,IAAI,MAAM,qFAAqF;EAC7H,MAAM,CAAC,KAAK,OAAO;AACnB,SAAO;GAAE;GAAK;GAAK;;AAGrB,OAAM,IAAI,MAAM,2FAA2F"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { getVertexId } from "../../../../core/util.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/RS/to/input/util/util.ts
|
|
4
|
+
function min2hrs(min) {
|
|
5
|
+
if (min == null) return;
|
|
6
|
+
return min / 60;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Converts a time string in the format "HH:MM" to a float representation, e.g., "12:30" becomes 12.3.
|
|
10
|
+
*/
|
|
11
|
+
function toTimeFloat(str) {
|
|
12
|
+
return parseFloat(str.replace(":", "."));
|
|
13
|
+
}
|
|
14
|
+
const COLLECTION_ID = {
|
|
15
|
+
persons: "persons",
|
|
16
|
+
groups: "groups",
|
|
17
|
+
teachers: "teachers",
|
|
18
|
+
events: "events",
|
|
19
|
+
lockedTimes: "lockedtimes"
|
|
20
|
+
};
|
|
21
|
+
const COLLECTION_BY_ID = Object.fromEntries(Object.entries(COLLECTION_ID).map(([collection, id]) => [id, collection]));
|
|
22
|
+
function parseAggregateId(aggregateId, expectedCollection) {
|
|
23
|
+
const indexOfDot = aggregateId.indexOf(".");
|
|
24
|
+
if (indexOfDot == -1) throw new Error(`(RS::To::fromId) Missing collection separator in aggregate id "${aggregateId}"`);
|
|
25
|
+
const collectionId = aggregateId.substring(0, indexOfDot).toLowerCase();
|
|
26
|
+
const entityId = aggregateId.substring(indexOfDot + 1);
|
|
27
|
+
if (!entityId) throw new Error(`(RS::To::fromId) Missing entity id in aggregate id "${aggregateId}"`);
|
|
28
|
+
const collection = COLLECTION_BY_ID[collectionId];
|
|
29
|
+
if (!collection) throw new Error(`(RS::To::fromId) Unknown collection id "${collectionId}" in aggregate id "${aggregateId}"`);
|
|
30
|
+
if (expectedCollection && collection != expectedCollection) throw new Error(`(RS::To::fromId) Expected collection "${expectedCollection}" but got "${collection}" in aggregate id "${aggregateId}"`);
|
|
31
|
+
return {
|
|
32
|
+
collection,
|
|
33
|
+
entityId
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
let idOf;
|
|
37
|
+
(function(_idOf) {
|
|
38
|
+
function person(person, options) {
|
|
39
|
+
return `${COLLECTION_ID.persons}.${getVertexId(person, options)}`;
|
|
40
|
+
}
|
|
41
|
+
_idOf.person = person;
|
|
42
|
+
function group(group, options) {
|
|
43
|
+
return `${COLLECTION_ID.groups}.${getVertexId(group, options)}`;
|
|
44
|
+
}
|
|
45
|
+
_idOf.group = group;
|
|
46
|
+
function teacher(teacher, options) {
|
|
47
|
+
return `${COLLECTION_ID.teachers}.${getVertexId(teacher, options)}`;
|
|
48
|
+
}
|
|
49
|
+
_idOf.teacher = teacher;
|
|
50
|
+
function event(event, options) {
|
|
51
|
+
return `${COLLECTION_ID.events}.${getVertexId(event, options)}`;
|
|
52
|
+
}
|
|
53
|
+
_idOf.event = event;
|
|
54
|
+
function lockedTime(lockedTime, options) {
|
|
55
|
+
return `${COLLECTION_ID.lockedTimes}.${getVertexId(lockedTime, options)}`;
|
|
56
|
+
}
|
|
57
|
+
_idOf.lockedTime = lockedTime;
|
|
58
|
+
function groupReference(group, options) {
|
|
59
|
+
return `${COLLECTION_ID.groups}.${getVertexId(group.to, options)}` + (group.exclude?.length ? ".exclude." + group.exclude.map((x) => getVertexId(x, options)).sort().join(".") : "");
|
|
60
|
+
}
|
|
61
|
+
_idOf.groupReference = groupReference;
|
|
62
|
+
function intervalPairReference(interval, rootInterval, options) {
|
|
63
|
+
if (interval === null) interval = void 0;
|
|
64
|
+
if (rootInterval === null) rootInterval = void 0;
|
|
65
|
+
if (interval && interval.length == 0) interval = void 0;
|
|
66
|
+
return (rootInterval ? getVertexId(rootInterval, options) + "&" : "") + JSON.stringify(interval);
|
|
67
|
+
}
|
|
68
|
+
_idOf.intervalPairReference = intervalPairReference;
|
|
69
|
+
})(idOf || (idOf = {}));
|
|
70
|
+
let fromId;
|
|
71
|
+
(function(_fromId) {
|
|
72
|
+
function aggregate(aggregateId) {
|
|
73
|
+
return parseAggregateId(aggregateId);
|
|
74
|
+
}
|
|
75
|
+
_fromId.aggregate = aggregate;
|
|
76
|
+
function person(aggregateId) {
|
|
77
|
+
return parseAggregateId(aggregateId, "persons").entityId;
|
|
78
|
+
}
|
|
79
|
+
_fromId.person = person;
|
|
80
|
+
function group(aggregateId) {
|
|
81
|
+
return parseAggregateId(aggregateId, "groups").entityId;
|
|
82
|
+
}
|
|
83
|
+
_fromId.group = group;
|
|
84
|
+
function teacher(aggregateId) {
|
|
85
|
+
return parseAggregateId(aggregateId, "teachers").entityId;
|
|
86
|
+
}
|
|
87
|
+
_fromId.teacher = teacher;
|
|
88
|
+
function event(aggregateId) {
|
|
89
|
+
return parseAggregateId(aggregateId, "events").entityId;
|
|
90
|
+
}
|
|
91
|
+
_fromId.event = event;
|
|
92
|
+
function lockedTime(aggregateId) {
|
|
93
|
+
return parseAggregateId(aggregateId, "lockedTimes").entityId;
|
|
94
|
+
}
|
|
95
|
+
_fromId.lockedTime = lockedTime;
|
|
96
|
+
})(fromId || (fromId = {}));
|
|
97
|
+
|
|
98
|
+
//#endregion
|
|
99
|
+
export { COLLECTION_ID, fromId, idOf, min2hrs, toTimeFloat };
|
|
100
|
+
//# sourceMappingURL=util.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.mjs","names":[],"sources":["../../../../../src/RS/to/input/util/util.ts"],"sourcesContent":["import type { ConnectedTypes } from '../../../make-connected';\nimport type { Types } from '../../../types';\nimport type { Collection } from '../../../../core/types/common';\nimport { getVertexId } from '../../../../core/util';\nimport type { GroupWithExclude } from '../../../../core/interfaces/vertices/util/edges';\nimport type { Interval } from '../../../../core/interfaces';\n\nexport function min2hrs (min: number | undefined | null) {\n if (min == null) return;\n return min / 60;\n}\n\n/**\n * Converts a time string in the format \"HH:MM\" to a float representation, e.g., \"12:30\" becomes 12.3.\n */\nexport function toTimeFloat (str: string) {\n return parseFloat(str.replace(':', '.'));\n}\n\nexport function getPeriodIndex (\n period: ConnectedTypes.period | string | undefined | null,\n periodsMap: Map<string | undefined, number>,\n options: Types.parsedToOptions\n): number | undefined {\n // if no periods exist, return undefined\n if (periodsMap.size == 0) return;\n\n // if no period is given, return undefined\n if (!period) return;\n\n const id = getVertexId(period, options);\n const periodIndex = periodsMap.get(id);\n if (periodIndex === undefined) {\n throw new Error(`(RS::To::getPeriodIndex) Period \"${id}\" is not in periodsMap`);\n }\n return periodIndex;\n}\n\nexport const COLLECTION_ID = {\n persons: 'persons' as const,\n groups: 'groups' as const,\n teachers: 'teachers' as const,\n events: 'events' as const,\n lockedTimes: 'lockedtimes' as const,\n} satisfies Partial<Record<Collection, string>>;\n\n/**\n * a type generic that inverses a record type, i.e., { a: 'x', b: 'y' } becomes { x: 'a', y: 'b' }\n */\ntype InverseRecord<T extends Record<string, string>> = {\n [K in keyof T as T[K]]: K\n};\n\nconst COLLECTION_BY_ID = Object.fromEntries(Object.entries(COLLECTION_ID).map(([collection, id]) => [id, collection])) as InverseRecord<typeof COLLECTION_ID>;\n\n\nexport type AggregateCollection = keyof typeof COLLECTION_ID;\n\ntype AggregateIdParts<TCollection extends AggregateCollection = AggregateCollection> = {\n collection: TCollection\n entityId: string\n};\n\n\nfunction parseAggregateId<TCollection extends AggregateCollection = AggregateCollection> (\n aggregateId: string,\n expectedCollection?: TCollection\n): AggregateIdParts<TCollection> {\n const indexOfDot = aggregateId.indexOf('.');\n if (indexOfDot == -1) {\n throw new Error(`(RS::To::fromId) Missing collection separator in aggregate id \"${aggregateId}\"`);\n }\n\n const collectionId = aggregateId.substring(0, indexOfDot).toLowerCase() as keyof typeof COLLECTION_BY_ID;\n const entityId = aggregateId.substring(indexOfDot + 1);\n\n if (!entityId) {\n throw new Error(`(RS::To::fromId) Missing entity id in aggregate id \"${aggregateId}\"`);\n }\n\n const collection = COLLECTION_BY_ID[collectionId];\n if (!collection) {\n throw new Error(`(RS::To::fromId) Unknown collection id \"${collectionId}\" in aggregate id \"${aggregateId}\"`);\n }\n\n if (expectedCollection && collection != expectedCollection) {\n throw new Error(`(RS::To::fromId) Expected collection \"${expectedCollection}\" but got \"${collection}\" in aggregate id \"${aggregateId}\"`);\n }\n\n return {\n collection: collection as TCollection,\n entityId,\n };\n}\n\n/**\n * returns a combined id for the vertex or edge by combining the type(s) and id(s).\n */\nexport namespace idOf {\n /** `persons.id` */\n export function person (\n person: ConnectedTypes.person | string,\n options: Types.parsedToOptions\n ): string {\n return `${COLLECTION_ID.persons}.${ getVertexId(person, options) }`;\n }\n\n /** `groups.id` */\n export function group (\n group: ConnectedTypes.group | string,\n options: Types.parsedToOptions\n ): string {\n return `${COLLECTION_ID.groups}.${ getVertexId(group, options) }`;\n }\n\n /** `teachers.id` */\n export function teacher (\n teacher: ConnectedTypes.teacher | string,\n options: Types.parsedToOptions\n ): string {\n return `${COLLECTION_ID.teachers}.${ getVertexId(teacher, options) }`;\n }\n\n /** `events.id` */\n export function event (\n event: ConnectedTypes.event | string,\n options: Types.parsedToOptions\n ): string {\n return `${COLLECTION_ID.events}.${ getVertexId(event, options) }`;\n }\n\n /** `lockedtimes.id` */\n export function lockedTime (\n lockedTime: ConnectedTypes.lockedTime | string,\n options: Types.parsedToOptions\n ): string {\n return `${COLLECTION_ID.lockedTimes}.${ getVertexId(lockedTime, options) }`;\n }\n\n /** `groups.id<.exclude.id1.id2...>` */\n export function groupReference (\n group: GroupWithExclude.Util.Value<ConnectedTypes.group, ConnectedTypes.person>,\n options: Types.parsedToOptions\n ): string {\n return `${COLLECTION_ID.groups}.${ getVertexId(group.to, options) }`\n + (group.exclude?.length\n ? '.exclude.' + group.exclude\n .map(x => getVertexId(x, options))\n .sort()\n .join('.')\n : '');\n }\n\n /** `<rootIntervalsId&>JSON.stringify(intervals)>` */\n export function intervalPairReference (\n interval: Interval[] | undefined,\n rootInterval: ConnectedTypes.rootInterval | undefined,\n options: Types.parsedToOptions\n ): string {\n // replace null with undefined\n if (interval === null) interval = undefined;\n if (rootInterval === null) rootInterval = undefined;\n\n // replace empty intervals with undefined\n if (interval && interval.length == 0) interval = undefined;\n\n const out = (rootInterval ? getVertexId(rootInterval, options) + '&' : '') + JSON.stringify(interval);\n return out;\n }\n}\n\nexport namespace fromId {\n export function aggregate (aggregateId: string): AggregateIdParts {\n return parseAggregateId(aggregateId);\n }\n\n /** `persons.id` -> `id` */\n export function person (aggregateId: string): string {\n return parseAggregateId(aggregateId, 'persons').entityId;\n }\n\n /** `groups.id` -> `id` */\n export function group (aggregateId: string): string {\n return parseAggregateId(aggregateId, 'groups').entityId;\n }\n\n /** `teachers.id` -> `id` */\n export function teacher (aggregateId: string): string {\n return parseAggregateId(aggregateId, 'teachers').entityId;\n }\n\n /** `events.id` -> `id` */\n export function event (aggregateId: string): string {\n return parseAggregateId(aggregateId, 'events').entityId;\n }\n\n /** `lockedtimes.id` -> `id` */\n export function lockedTime (aggregateId: string): string {\n return parseAggregateId(aggregateId, 'lockedTimes').entityId;\n }\n}\n"],"mappings":";;;AAOA,SAAgB,QAAS,KAAgC;AACvD,KAAI,OAAO,KAAM;AACjB,QAAO,MAAM;;;;;AAMf,SAAgB,YAAa,KAAa;AACxC,QAAO,WAAW,IAAI,QAAQ,KAAK,IAAI,CAAC;;AAsB1C,MAAa,gBAAgB;CAC3B,SAAa;CACb,QAAa;CACb,UAAa;CACb,QAAa;CACb,aAAa;CACd;AASD,MAAM,mBAAmB,OAAO,YAAY,OAAO,QAAQ,cAAc,CAAC,KAAK,CAAC,YAAY,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC;AAWtH,SAAS,iBACP,aACA,oBAC+B;CAC/B,MAAM,aAAa,YAAY,QAAQ,IAAI;AAC3C,KAAI,cAAc,GAChB,OAAM,IAAI,MAAM,kEAAkE,YAAY,GAAG;CAGnG,MAAM,eAAe,YAAY,UAAU,GAAG,WAAW,CAAC,aAAa;CACvE,MAAM,WAAW,YAAY,UAAU,aAAa,EAAE;AAEtD,KAAI,CAAC,SACH,OAAM,IAAI,MAAM,uDAAuD,YAAY,GAAG;CAGxF,MAAM,aAAa,iBAAiB;AACpC,KAAI,CAAC,WACH,OAAM,IAAI,MAAM,2CAA2C,aAAa,qBAAqB,YAAY,GAAG;AAG9G,KAAI,sBAAsB,cAAc,mBACtC,OAAM,IAAI,MAAM,yCAAyC,mBAAmB,aAAa,WAAW,qBAAqB,YAAY,GAAG;AAG1I,QAAO;EACO;EACZ;EACD;;;;CAQM,SAAS,OACd,QACA,SACQ;AACR,SAAO,GAAG,cAAc,QAAQ,GAAI,YAAY,QAAQ,QAAQ;;;CAI3D,SAAS,MACd,OACA,SACQ;AACR,SAAO,GAAG,cAAc,OAAO,GAAI,YAAY,OAAO,QAAQ;;;CAIzD,SAAS,QACd,SACA,SACQ;AACR,SAAO,GAAG,cAAc,SAAS,GAAI,YAAY,SAAS,QAAQ;;;CAI7D,SAAS,MACd,OACA,SACQ;AACR,SAAO,GAAG,cAAc,OAAO,GAAI,YAAY,OAAO,QAAQ;;;CAIzD,SAAS,WACd,YACA,SACQ;AACR,SAAO,GAAG,cAAc,YAAY,GAAI,YAAY,YAAY,QAAQ;;;CAInE,SAAS,eACd,OACA,SACQ;AACR,SAAO,GAAG,cAAc,OAAO,GAAI,YAAY,MAAM,IAAI,QAAQ,MAC5D,MAAM,SAAS,SACd,cAAc,MAAM,QACnB,KAAI,MAAK,YAAY,GAAG,QAAQ,CAAC,CACjC,MAAM,CACN,KAAK,IAAI,GACV;;;CAID,SAAS,sBACd,UACA,cACA,SACQ;AAER,MAAI,aAAiB,KAAM,YAAe;AAC1C,MAAI,iBAAiB,KAAM,gBAAe;AAG1C,MAAI,YAAY,SAAS,UAAU,EAAG,YAAW;AAGjD,UADa,eAAe,YAAY,cAAc,QAAQ,GAAG,MAAM,MAAM,KAAK,UAAU,SAAS;;;;;;CAMhG,SAAS,UAAW,aAAuC;AAChE,SAAO,iBAAiB,YAAY;;;CAI/B,SAAS,OAAQ,aAA6B;AACnD,SAAO,iBAAiB,aAAa,UAAU,CAAC;;;CAI3C,SAAS,MAAO,aAA6B;AAClD,SAAO,iBAAiB,aAAa,SAAS,CAAC;;;CAI1C,SAAS,QAAS,aAA6B;AACpD,SAAO,iBAAiB,aAAa,WAAW,CAAC;;;CAI5C,SAAS,MAAO,aAA6B;AAClD,SAAO,iBAAiB,aAAa,SAAS,CAAC;;;CAI1C,SAAS,WAAY,aAA6B;AACvD,SAAO,iBAAiB,aAAa,cAAc,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { CoreMap } from "../../core/index.mjs";
|
|
2
|
+
import { COLLECTION_ID } from "./input/util/util.mjs";
|
|
3
|
+
import { parseInput } from "./input/input.mjs";
|
|
4
|
+
import { makeConnected } from "../make-connected.mjs";
|
|
5
|
+
import { initialConfiguration } from "./initial-configuration.mjs";
|
|
6
|
+
import { structure } from "../types/to.mjs";
|
|
7
|
+
import { pick } from "lodash-es";
|
|
8
|
+
|
|
9
|
+
//#region src/RS/to/schedules.ts
|
|
10
|
+
function transformId(id) {
|
|
11
|
+
const indexOfDot = id.indexOf(".");
|
|
12
|
+
if (indexOfDot == -1) return COLLECTION_ID.events + "." + id;
|
|
13
|
+
const prefix = id.substring(0, indexOfDot).toLowerCase();
|
|
14
|
+
const suffix = id.substring(indexOfDot + 1);
|
|
15
|
+
if (prefix == COLLECTION_ID.lockedTimes.toLowerCase()) return COLLECTION_ID.lockedTimes + "." + suffix;
|
|
16
|
+
if (prefix == COLLECTION_ID.events.toLowerCase()) return COLLECTION_ID.events + "." + suffix;
|
|
17
|
+
throw new Error(`(RS::To::transformId) Unknown id prefix "${prefix}" in id "${id}"`);
|
|
18
|
+
}
|
|
19
|
+
function schedules(data, _options = {}) {
|
|
20
|
+
const options = (() => {
|
|
21
|
+
const x = _options.partialScheduleOptions;
|
|
22
|
+
const partialScheduleOptions = x ? {
|
|
23
|
+
includedEvents: x.includedEvents ? new Set(x.includedEvents) : void 0,
|
|
24
|
+
includedLocations: x.includedLocations ? new Set(x.includedLocations) : void 0,
|
|
25
|
+
omittedEventsHandling: x.omittedEventsHandling
|
|
26
|
+
} : void 0;
|
|
27
|
+
return {
|
|
28
|
+
..._options,
|
|
29
|
+
partialScheduleOptions
|
|
30
|
+
};
|
|
31
|
+
})();
|
|
32
|
+
if (options.partialScheduleOptions?.includedEvents?.size) options.partialScheduleOptions.includedEvents = new Set([...options.partialScheduleOptions.includedEvents].map((x) => transformId(x)));
|
|
33
|
+
const connectedData = makeConnected(data);
|
|
34
|
+
return {
|
|
35
|
+
meta: {
|
|
36
|
+
structure,
|
|
37
|
+
division: pick(connectedData.division, "displayName", "start", "end")
|
|
38
|
+
},
|
|
39
|
+
algorithmParameters: {
|
|
40
|
+
weights: options.algorithmWeightParameters,
|
|
41
|
+
computeTimeMultiplier: options.computeTimeMultiplier
|
|
42
|
+
},
|
|
43
|
+
input: parseInput(connectedData, options),
|
|
44
|
+
...options.appendCoreData && { coreData: CoreMap.to.schedules(data) },
|
|
45
|
+
...options.appendOutput && { output: initialConfiguration(connectedData.events, connectedData.lockedTimes, options) }
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
//#endregion
|
|
50
|
+
export { schedules };
|
|
51
|
+
//# sourceMappingURL=schedules.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedules.mjs","names":[],"sources":["../../../src/RS/to/schedules.ts"],"sourcesContent":["import { pick } from 'lodash-es';\nimport { parseInput } from './input/input';\nimport { makeConnected } from '../make-connected';\nimport { initialConfiguration } from './initial-configuration';\nimport type { Types } from '../types';\nimport { CoreMap } from '../../core';\nimport { structure } from '../types/to';\nimport { COLLECTION_ID } from './input/util/util';\n\nfunction transformId (id: string): string {\n // should be interpreted as event id\n const indexOfDot = id.indexOf('.');\n if (indexOfDot == -1) return COLLECTION_ID.events + '.' + id;\n\n // split on first dot only\n const prefix = id.substring(0, indexOfDot).toLowerCase();\n const suffix = id.substring(indexOfDot + 1);\n\n if (prefix == COLLECTION_ID.lockedTimes.toLowerCase()) return COLLECTION_ID.lockedTimes + '.' + suffix;\n if (prefix == COLLECTION_ID.events .toLowerCase()) return COLLECTION_ID.events + '.' + suffix;\n\n throw new Error(`(RS::To::transformId) Unknown id prefix \"${prefix}\" in id \"${id}\"`);\n}\n\nexport function schedules (\n data: Types.toInput,\n _options: Types.toOptions = {}\n): Types.toOutput {\n ////\n //// parse the options\n ////\n const options = ((): Types.parsedToOptions => {\n const x = _options.partialScheduleOptions;\n const partialScheduleOptions: Types.parsedToOptions['partialScheduleOptions'] = x\n ? {\n includedEvents: x.includedEvents ? new Set(x.includedEvents) : undefined,\n includedLocations: x.includedLocations ? new Set(x.includedLocations) : undefined,\n omittedEventsHandling: x.omittedEventsHandling\n }\n : undefined;\n\n return { ..._options, partialScheduleOptions };\n })();\n\n ////\n //// for backward compatibility: add default collection to included events set\n ////\n if (options.partialScheduleOptions?.includedEvents?.size) {\n options.partialScheduleOptions.includedEvents = new Set(\n [...options.partialScheduleOptions.includedEvents].map(x => transformId(x))\n );\n }\n\n\n // we will work only with connected schedule data\n const connectedData = makeConnected(data);\n\n return {\n meta: {\n structure: structure,\n division: pick(connectedData.division, 'displayName', 'start', 'end'),\n },\n algorithmParameters: {\n weights: options.algorithmWeightParameters,\n computeTimeMultiplier: options.computeTimeMultiplier\n },\n input: parseInput(connectedData, options),\n ...options.appendCoreData && { coreData: CoreMap.to.schedules(data) },\n ...options.appendOutput && { output: initialConfiguration(connectedData.events, connectedData.lockedTimes, options) },\n };\n};"],"mappings":";;;;;;;;;AASA,SAAS,YAAa,IAAoB;CAExC,MAAM,aAAa,GAAG,QAAQ,IAAI;AAClC,KAAI,cAAc,GAAI,QAAO,cAAc,SAAS,MAAM;CAG1D,MAAM,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC,aAAa;CACxD,MAAM,SAAS,GAAG,UAAU,aAAa,EAAE;AAE3C,KAAI,UAAU,cAAc,YAAY,aAAa,CAAE,QAAO,cAAc,cAAc,MAAM;AAChG,KAAI,UAAU,cAAc,OAAY,aAAa,CAAE,QAAO,cAAc,SAAc,MAAM;AAEhG,OAAM,IAAI,MAAM,4CAA4C,OAAO,WAAW,GAAG,GAAG;;AAGtF,SAAgB,UACd,MACA,WAA4B,EAAE,EACd;CAIhB,MAAM,iBAAwC;EAC5C,MAAM,IAAI,SAAS;EACnB,MAAM,yBAA0E,IAC5E;GACA,gBAAuB,EAAE,iBAAoB,IAAI,IAAI,EAAE,eAAe,GAAM;GAC5E,mBAAuB,EAAE,oBAAoB,IAAI,IAAI,EAAE,kBAAkB,GAAG;GAC5E,uBAAuB,EAAE;GAC1B,GACC;AAEJ,SAAO;GAAE,GAAG;GAAU;GAAwB;KAC5C;AAKJ,KAAI,QAAQ,wBAAwB,gBAAgB,KAClD,SAAQ,uBAAuB,iBAAiB,IAAI,IAClD,CAAC,GAAG,QAAQ,uBAAuB,eAAe,CAAC,KAAI,MAAK,YAAY,EAAE,CAAC,CAC5E;CAKH,MAAM,gBAAgB,cAAc,KAAK;AAEzC,QAAO;EACL,MAAM;GACO;GACX,UAAW,KAAK,cAAc,UAAU,eAAe,SAAS,MAAM;GACvE;EACD,qBAAqB;GACnB,SAAuB,QAAQ;GAC/B,uBAAuB,QAAQ;GAChC;EACD,OAAO,WAAW,eAAe,QAAQ;EACzC,GAAG,QAAQ,kBAAkB,EAAE,UAAU,QAAQ,GAAG,UAAU,KAAK,EAAE;EACrE,GAAG,QAAQ,gBAAkB,EAAE,QAAQ,qBAAqB,cAAc,QAAQ,cAAc,aAAa,QAAQ,EAAE;EACxH"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/RS/types/algorithm-parameters.d.ts
|
|
2
|
+
type ParameterName = 'overlap' | 'doubleBooking' | 'timeFrame' | 'insufficientBreak' | 'dailyOvertime' | 'gap' | 'dependencyAlternation' | 'overtime' | 'dependencyRank' | 'dayRank' | 'groupRank' | 'distribution' | 'preferredTime';
|
|
3
|
+
type AlgorithmWeightParameters = Record<ParameterName, number | false>;
|
|
4
|
+
type AlgorithmParameters = {
|
|
5
|
+
/**
|
|
6
|
+
* Weights for different features used in the scheduling algorithm.
|
|
7
|
+
*/
|
|
8
|
+
weights?: AlgorithmWeightParameters;
|
|
9
|
+
/**
|
|
10
|
+
* A multiplier that lets the schedule algorithm run for a longer time to find better solutions.
|
|
11
|
+
* @default 1
|
|
12
|
+
*/
|
|
13
|
+
computeTimeMultiplier?: number;
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { AlgorithmParameters, AlgorithmWeightParameters };
|
|
17
|
+
//# sourceMappingURL=algorithm-parameters.d.mts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Types } from "./index.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/RS/types/configurations.d.ts
|
|
4
|
+
type Configuration = {
|
|
5
|
+
score?: [number, number, number, number];
|
|
6
|
+
events: Types.eventConfiguration[];
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { Configuration };
|
|
10
|
+
//# sourceMappingURL=configurations.d.mts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/RS/types/event-configuration.d.ts
|
|
2
|
+
interface EventConfiguration {
|
|
3
|
+
id: string;
|
|
4
|
+
start: number;
|
|
5
|
+
end: number;
|
|
6
|
+
day: number;
|
|
7
|
+
collection?: string;
|
|
8
|
+
dependencies?: string[];
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Currently no need to use this as groups are fixed
|
|
11
|
+
*/
|
|
12
|
+
groups?: ({
|
|
13
|
+
groups: string[];
|
|
14
|
+
} | {
|
|
15
|
+
individuals: string[];
|
|
16
|
+
})[];
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { EventConfiguration };
|
|
20
|
+
//# sourceMappingURL=event-configuration.d.mts.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ParsedToOptions, Structure, ToInput, ToOptions, ToOutput } from "./to.mjs";
|
|
2
|
+
import { EventConfiguration } from "./event-configuration.mjs";
|
|
3
|
+
import { Configuration } from "./configurations.mjs";
|
|
4
|
+
import { ScheduleData } from "./schedule-data.mjs";
|
|
5
|
+
|
|
6
|
+
//#region src/RS/types/index.d.ts
|
|
7
|
+
declare namespace Types {
|
|
8
|
+
export import Shared = _Shared;
|
|
9
|
+
export import Entities = _Entities;
|
|
10
|
+
type scheduleData = ScheduleData;
|
|
11
|
+
type toInput = ToInput;
|
|
12
|
+
type toOptions = ToOptions;
|
|
13
|
+
type parsedToOptions = ParsedToOptions;
|
|
14
|
+
type toOutput = ToOutput;
|
|
15
|
+
type structure = Structure;
|
|
16
|
+
type eventConfiguration = EventConfiguration;
|
|
17
|
+
type configuration = Configuration;
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { Types };
|
|
21
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Types } from "./index.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/RS/types/schedule-data.d.ts
|
|
4
|
+
interface ScheduleData {
|
|
5
|
+
settings: Types.Entities.Settings;
|
|
6
|
+
default: Types.Entities.DefaultValues;
|
|
7
|
+
periods: Types.Entities.Period[];
|
|
8
|
+
intervals: Types.Entities.Interval[];
|
|
9
|
+
events: Types.Entities.Event[];
|
|
10
|
+
groups: Types.Entities.Group[];
|
|
11
|
+
dependencies: Types.Entities.Dependency[];
|
|
12
|
+
individuals: (Types.Entities.Individual | Types.Entities.IndividualsSet)[];
|
|
13
|
+
blockedTimes: Types.Entities.BlockedTime[];
|
|
14
|
+
activities: Types.Entities.Activity[];
|
|
15
|
+
unitableEvents: Types.Entities.UnitableEventsSet[];
|
|
16
|
+
linkedEvents: Types.Entities.LinkedEventsSet[];
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { ScheduleData };
|
|
20
|
+
//# sourceMappingURL=schedule-data.d.mts.map
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { BaseOptions } from "../../common/types.mjs";
|
|
2
|
+
import { Types } from "../../core/types/index.mjs";
|
|
3
|
+
import "../../core/index.mjs";
|
|
4
|
+
import { MixedScheduleData } from "../make-connected.mjs";
|
|
5
|
+
import { AlgorithmParameters, AlgorithmWeightParameters } from "./algorithm-parameters.mjs";
|
|
6
|
+
import { Types as Types$1 } from "./index.mjs";
|
|
7
|
+
|
|
8
|
+
//#region src/RS/types/to.d.ts
|
|
9
|
+
type ToInput = MixedScheduleData;
|
|
10
|
+
type PartialScheduleOptions<IDs extends Array<string> | Set<string>> = {
|
|
11
|
+
/** @description undefined means all included */includedEvents?: IDs; /** @description undefined means all included */
|
|
12
|
+
includedLocations?: IDs;
|
|
13
|
+
omittedEventsHandling: 'ignore' | 'freeze';
|
|
14
|
+
};
|
|
15
|
+
interface ToOptions extends BaseOptions {
|
|
16
|
+
/**
|
|
17
|
+
* Includes some metadata about entities. Currently this only includes name but might be extended in the future.
|
|
18
|
+
* This is useful when running the algorithm locally from its GUI.
|
|
19
|
+
* @default false
|
|
20
|
+
*/
|
|
21
|
+
includeEntityMeta?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* If true, the output will include the full core data. This enables the resulting output file to be uploaded as a new schedule.
|
|
24
|
+
* @default false
|
|
25
|
+
*/
|
|
26
|
+
appendCoreData?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* If true, the output will include current configuration of events and locked times as `output` entry.
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
appendOutput?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Allows to specify that only a subset of events and/or locations should be included in the schedule optimization, and how the omitted events should be handled.
|
|
34
|
+
*/
|
|
35
|
+
partialScheduleOptions?: PartialScheduleOptions<Array<string> | Set<string>>;
|
|
36
|
+
/**
|
|
37
|
+
* The weight parameters to be used by the algorithm. One may also specify `false` for any of the parameters to disable the corresponding feature.
|
|
38
|
+
*/
|
|
39
|
+
algorithmWeightParameters?: AlgorithmWeightParameters;
|
|
40
|
+
/**
|
|
41
|
+
* The time multiplier to be used by the algorithm. A number twice as large implies that the algorithm will spend twice as much time optimizing the schedule.
|
|
42
|
+
* @default 1
|
|
43
|
+
*/
|
|
44
|
+
computeTimeMultiplier?: number;
|
|
45
|
+
}
|
|
46
|
+
interface ParsedToOptions extends Omit<ToOptions, 'partialScheduleOptions'> {
|
|
47
|
+
partialScheduleOptions?: PartialScheduleOptions<Set<string>>;
|
|
48
|
+
}
|
|
49
|
+
declare const structure = "RS/algorithm-6.0.0";
|
|
50
|
+
type Structure = typeof structure;
|
|
51
|
+
interface ToOutput {
|
|
52
|
+
meta: {
|
|
53
|
+
structure?: Structure;
|
|
54
|
+
division: Pick<Types.Deep.Division, 'displayName' | 'start' | 'end'>;
|
|
55
|
+
};
|
|
56
|
+
algorithmParameters: AlgorithmParameters;
|
|
57
|
+
score?: [number, number, number, number];
|
|
58
|
+
input: Types$1.scheduleData;
|
|
59
|
+
output?: Types$1.configuration[];
|
|
60
|
+
coreData?: Partial<Types.SerializedWithOptionalId.Schedule>;
|
|
61
|
+
}
|
|
62
|
+
//#endregion
|
|
63
|
+
export { ParsedToOptions, Structure, ToInput, ToOptions, ToOutput };
|
|
64
|
+
//# sourceMappingURL=to.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to.mjs","names":[],"sources":["../../../src/RS/types/to.ts"],"sourcesContent":["import type { BaseOptions } from '../../common/types';\nimport type { CoreTypes } from '../../core';\nimport type { MixedScheduleData } from '../make-connected';\nimport type { Types } from './';\nimport type { AlgorithmParameters, AlgorithmWeightParameters } from './algorithm-parameters';\n\n\nexport type ToInput = MixedScheduleData;\n\ntype PartialScheduleOptions<IDs extends Array<string> | Set<string>> = {\n /** @description undefined means all included */\n includedEvents?: IDs;\n /** @description undefined means all included */\n includedLocations?: IDs;\n omittedEventsHandling: 'ignore' | 'freeze';\n};\n\nexport interface ToOptions extends BaseOptions {\n /**\n * Includes some metadata about entities. Currently this only includes name but might be extended in the future.\n * This is useful when running the algorithm locally from its GUI.\n * @default false\n */\n includeEntityMeta?: boolean;\n\n /**\n * If true, the output will include the full core data. This enables the resulting output file to be uploaded as a new schedule.\n * @default false\n */\n appendCoreData?: boolean;\n\n /**\n * If true, the output will include current configuration of events and locked times as `output` entry.\n * @default false\n */\n appendOutput?: boolean;\n\n /**\n * Allows to specify that only a subset of events and/or locations should be included in the schedule optimization, and how the omitted events should be handled.\n */\n partialScheduleOptions?: PartialScheduleOptions<Array<string> | Set<string>>\n\n /**\n * The weight parameters to be used by the algorithm. One may also specify `false` for any of the parameters to disable the corresponding feature.\n */\n algorithmWeightParameters?: AlgorithmWeightParameters;\n\n /**\n * The time multiplier to be used by the algorithm. A number twice as large implies that the algorithm will spend twice as much time optimizing the schedule.\n * @default 1\n */\n computeTimeMultiplier?: number;\n}\n\nexport interface ParsedToOptions extends Omit<ToOptions, 'partialScheduleOptions'> {\n partialScheduleOptions?: PartialScheduleOptions<Set<string>>\n}\n\nexport const structure = 'RS/algorithm-6.0.0';\nexport type Structure = typeof structure;\nexport interface ToOutput {\n meta: {\n structure?: Structure;\n division: Pick<CoreTypes.Deep.Division, 'displayName' | 'start' | 'end'>;\n };\n algorithmParameters: AlgorithmParameters;\n score?: [number, number, number, number];\n input: Types.scheduleData;\n output?: Types.configuration[];\n coreData?: Partial<CoreTypes.SerializedWithOptionalId.Schedule>;\n}"],"mappings":";AA0DA,MAAa,YAAY"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { isNil, omitBy } from "lodash-es";
|
|
2
|
+
|
|
3
|
+
//#region src/SS12000/from/activities.ts
|
|
4
|
+
var activities_default = (activities, options) => {
|
|
5
|
+
if (!Array.isArray(activities)) throw new Error("(SS12000::From::Activities) Activities input is not of array type", { cause: "invalid_input" });
|
|
6
|
+
const parentActivities = new Set(activities.map((x) => x.parentActivity?.id).filter(Boolean));
|
|
7
|
+
return activities.map((activity) => {
|
|
8
|
+
if (parentActivities.has(activity.id)) return;
|
|
9
|
+
const groupIndexSet = [...new Set([void 0, ...activity.rooms?.map(({ index }) => index) ?? []])];
|
|
10
|
+
return {
|
|
11
|
+
ids: activity.id,
|
|
12
|
+
startDate: activity.startDate,
|
|
13
|
+
...omitBy({
|
|
14
|
+
displayName: activity.displayName,
|
|
15
|
+
comment: activity.comment,
|
|
16
|
+
subject: activity.subject,
|
|
17
|
+
endDate: activity.endDate,
|
|
18
|
+
syllabus: activity._embedded?.syllabus
|
|
19
|
+
}, isNil),
|
|
20
|
+
...activity.minutesPlanned && { plannedDuration: `${Math.ceil(activity.minutesPlanned / 60)} hrs` },
|
|
21
|
+
type: activity.activityType,
|
|
22
|
+
groups: activity.groups?.map(({ id }) => ({ to: id })),
|
|
23
|
+
teachers: activity.teachers?.map(({ duty: { id } }) => ({ to: id })),
|
|
24
|
+
...activity.rooms && { locations: activity.rooms?.map(({ room, index }) => ({
|
|
25
|
+
locations: [room.id],
|
|
26
|
+
groupIndex: groupIndexSet.indexOf(index)
|
|
27
|
+
})) },
|
|
28
|
+
...activity._embedded?.syllabus && { subject: activity._embedded.syllabus.subjectCode }
|
|
29
|
+
};
|
|
30
|
+
}).filter((x) => x != null);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
export { activities_default as default };
|
|
35
|
+
//# sourceMappingURL=activities.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activities.mjs","names":[],"sources":["../../../src/SS12000/from/activities.ts"],"sourcesContent":["import { isNil, omitBy } from 'lodash-es';\nimport type { CoreTypes } from '../../core';\nimport type { Activity } from '../types/activities';\n\nexport default (\n activities: Activity[],\n options?: { interval?: { start: string, end: string } }\n): CoreTypes.MixedWithoutInternalId.Course[] => {\n if (!Array.isArray(activities))\n throw new Error('(SS12000::From::Activities) Activities input is not of array type', { cause: 'invalid_input' });\n\n const parentActivities = new Set(activities.map(x => x.parentActivity?.id).filter(Boolean));\n\n return activities\n .map((activity): CoreTypes.MixedWithoutInternalId.Course | undefined => {\n // Skip activities that are above courses\n if (parentActivities.has(activity.id)) return;\n\n const groupIndexSet = [...new Set<number | undefined>([undefined, ...(activity.rooms?.map(({ index }) => index) ?? [])])];\n\n const doc = {\n ids: activity.id,\n startDate: activity.startDate,\n ...omitBy({\n displayName: activity.displayName,\n comment: activity.comment,\n subject: activity.subject,\n endDate: activity.endDate,\n syllabus: activity._embedded?.syllabus,\n }, isNil),\n ...activity.minutesPlanned && { plannedDuration: `${ Math.ceil(activity.minutesPlanned / 60) } hrs` },\n type: activity.activityType,\n groups: activity.groups?.map(({ id }) => ({ to: id })),\n teachers: activity.teachers?.map(({ duty: { id } }) => ({ to: id })),\n // not in the standard\n ...activity.rooms && {\n locations: activity.rooms?.map(({ room, index }) => ({ locations: [room.id!] as [string], groupIndex: groupIndexSet.indexOf(index) })),\n },\n ...activity._embedded?.syllabus && {\n subject: activity._embedded.syllabus.subjectCode,\n }\n };\n return doc;\n })\n .filter(x => x != null);\n};"],"mappings":";;;AAIA,0BACE,YACA,YAC+C;AAC/C,KAAI,CAAC,MAAM,QAAQ,WAAW,CAC5B,OAAM,IAAI,MAAM,qEAAqE,EAAE,OAAO,iBAAiB,CAAC;CAElH,MAAM,mBAAmB,IAAI,IAAI,WAAW,KAAI,MAAK,EAAE,gBAAgB,GAAG,CAAC,OAAO,QAAQ,CAAC;AAE3F,QAAO,WACJ,KAAK,aAAkE;AAEtE,MAAI,iBAAiB,IAAI,SAAS,GAAG,CAAE;EAEvC,MAAM,gBAAgB,CAAC,GAAG,IAAI,IAAwB,CAAC,QAAW,GAAI,SAAS,OAAO,KAAK,EAAE,YAAY,MAAM,IAAI,EAAE,CAAE,CAAC,CAAC;AAwBzH,SAtBY;GACV,KAAW,SAAS;GACpB,WAAW,SAAS;GACpB,GAAG,OAAO;IACR,aAAa,SAAS;IACtB,SAAa,SAAS;IACtB,SAAa,SAAS;IACtB,SAAa,SAAS;IACtB,UAAa,SAAS,WAAW;IAClC,EAAE,MAAM;GACT,GAAG,SAAS,kBAAkB,EAAE,iBAAiB,GAAI,KAAK,KAAK,SAAS,iBAAiB,GAAG,CAAE,OAAO;GACrG,MAAU,SAAS;GACnB,QAAU,SAAS,QAAQ,KAAK,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE;GACxD,UAAU,SAAS,UAAU,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE;GAEpE,GAAG,SAAS,SAAS,EACnB,WAAW,SAAS,OAAO,KAAK,EAAE,MAAM,aAAa;IAAE,WAAW,CAAC,KAAK,GAAI;IAAc,YAAY,cAAc,QAAQ,MAAM;IAAE,EAAE,EACvI;GACD,GAAG,SAAS,WAAW,YAAY,EACjC,SAAS,SAAS,UAAU,SAAS,aACtC;GACF;GAED,CACD,QAAO,MAAK,KAAK,KAAK"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import rooms_default from "./rooms.mjs";
|
|
2
|
+
import moment from "moment";
|
|
3
|
+
|
|
4
|
+
//#region src/SS12000/from/calendar-events.ts
|
|
5
|
+
var calendar_events_default = (events) => {
|
|
6
|
+
if (!Array.isArray(events)) throw new Error("(SS12000::From::CalendarEvents) CalendarEvent input is not of array type", { cause: "invalid_input" });
|
|
7
|
+
return events.map((event) => ({
|
|
8
|
+
ids: event.id,
|
|
9
|
+
start: event.startTime.toString(),
|
|
10
|
+
end: event.endTime.toString(),
|
|
11
|
+
duration: moment(event.endTime).diff(event.endTime, "m"),
|
|
12
|
+
preferredDuration: moment(event.endTime).diff(event.endTime, "m"),
|
|
13
|
+
course: event.activity.id,
|
|
14
|
+
inLocations: rooms_default(event.rooms ?? [])
|
|
15
|
+
}));
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { calendar_events_default as default };
|
|
20
|
+
//# sourceMappingURL=calendar-events.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar-events.mjs","names":["toRoom"],"sources":["../../../src/SS12000/from/calendar-events.ts"],"sourcesContent":["import moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { CalendarEvent } from '../types/calendar-events';\nimport toRoom from './rooms';\n\nexport default (events: CalendarEvent[]): CoreTypes.MixedWithoutInternalId.Event[] => {\n if (!Array.isArray(events))\n throw new Error('(SS12000::From::CalendarEvents) CalendarEvent input is not of array type', { cause: 'invalid_input' });\n\n return events\n .map((event): CoreTypes.MixedWithoutInternalId.Event => ({\n ids: event.id,\n start: event.startTime.toString(),\n end: event.endTime.toString(),\n duration: moment(event.endTime).diff(event.endTime, 'm'),\n preferredDuration: moment(event.endTime).diff(event.endTime, 'm'),\n course: event.activity.id,\n inLocations: toRoom(event.rooms ?? []),\n // resources: toResource([])\n }));\n};\n"],"mappings":";;;;AAKA,+BAAgB,WAAsE;AACpF,KAAI,CAAC,MAAM,QAAQ,OAAO,CACxB,OAAM,IAAI,MAAM,4EAA4E,EAAE,OAAO,iBAAiB,CAAC;AAEzH,QAAO,OACJ,KAAK,WAAmD;EACvD,KAAmB,MAAM;EACzB,OAAmB,MAAM,UAAU,UAAU;EAC7C,KAAmB,MAAM,QAAQ,UAAU;EAC3C,UAAmB,OAAO,MAAM,QAAQ,CAAC,KAAK,MAAM,SAAS,IAAI;EACjE,mBAAmB,OAAO,MAAM,QAAQ,CAAC,KAAK,MAAM,SAAS,IAAI;EACjE,QAAmB,MAAM,SAAS;EAClC,aAAmBA,cAAO,MAAM,SAAS,EAAE,CAAC;EAE7C,EAAE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import persons_default from "./persons.mjs";
|
|
2
|
+
import { omit } from "lodash-es";
|
|
3
|
+
|
|
4
|
+
//#region src/SS12000/from/duties.ts
|
|
5
|
+
var duties_default = (duties) => {
|
|
6
|
+
if (!Array.isArray(duties)) throw new Error("(SS12000::From::Duties) Teacher input is not of array type", { cause: "invalid_input" });
|
|
7
|
+
const toDisplayName = (firstName, lastName) => {
|
|
8
|
+
const first = firstName?.trim();
|
|
9
|
+
const last = lastName?.trim();
|
|
10
|
+
if (first && last) return `${first} ${last}`;
|
|
11
|
+
return first || last || void 0;
|
|
12
|
+
};
|
|
13
|
+
return duties.map((duty) => {
|
|
14
|
+
const person = duty._embedded?.person ?? duty.person;
|
|
15
|
+
const displayName = duty.displayName ?? toDisplayName(person?.givenName, person?.familyName) ?? person?.displayName;
|
|
16
|
+
return {
|
|
17
|
+
ids: duty.id,
|
|
18
|
+
displayName,
|
|
19
|
+
signature: duty.signature,
|
|
20
|
+
...(duty.person || duty._embedded?.person) && { person: {
|
|
21
|
+
type: "Teacher",
|
|
22
|
+
...duty.person && { ids: duty.person.id },
|
|
23
|
+
...duty._embedded?.person && omit(persons_default([duty._embedded.person])[0], "type")
|
|
24
|
+
} }
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
export { duties_default as default };
|
|
31
|
+
//# sourceMappingURL=duties.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duties.mjs","names":["toPerson"],"sources":["../../../src/SS12000/from/duties.ts"],"sourcesContent":["import { omit } from 'lodash-es';\nimport type { CoreTypes } from '../../core';\nimport type { Duty } from '../types/duties';\nimport toPerson from './persons';\n\nexport default (duties: Duty[]): CoreTypes.MixedWithoutInternalId.Teacher[] => {\n if (!Array.isArray(duties))\n throw new Error('(SS12000::From::Duties) Teacher input is not of array type', { cause: 'invalid_input' });\n\n const toDisplayName = (firstName?: string, lastName?: string) => {\n const first = firstName?.trim();\n const last = lastName?.trim();\n if (first && last) return `${ first } ${ last }`;\n return first || last || undefined;\n };\n\n return duties\n .map((duty): CoreTypes.MixedWithoutInternalId.Teacher => {\n const person = duty._embedded?.person ?? duty.person;\n const displayName = duty.displayName\n ?? toDisplayName(person?.givenName, person?.familyName)\n ?? person?.displayName;\n\n return ({\n ids: duty.id,\n displayName: displayName,\n signature: duty.signature,\n ...(duty.person || duty._embedded?.person) && {\n person: {\n type: 'Teacher',\n ...duty.person && { ids: duty.person.id },\n ...duty._embedded?.person && omit(toPerson([ duty._embedded.person ])[0], 'type')\n }\n }\n });\n });\n};\n"],"mappings":";;;;AAKA,sBAAgB,WAA+D;AAC7E,KAAI,CAAC,MAAM,QAAQ,OAAO,CACxB,OAAM,IAAI,MAAM,8DAA8D,EAAE,OAAO,iBAAiB,CAAC;CAE3G,MAAM,iBAAiB,WAAoB,aAAsB;EAC/D,MAAM,QAAQ,WAAW,MAAM;EAC/B,MAAM,OAAO,UAAU,MAAM;AAC7B,MAAI,SAAS,KAAM,QAAO,GAAI,MAAO,GAAI;AACzC,SAAO,SAAS,QAAQ;;AAG1B,QAAO,OACJ,KAAK,SAAmD;EACvD,MAAM,SAAS,KAAK,WAAW,UAAU,KAAK;EAC9C,MAAM,cAAc,KAAK,eACpB,cAAc,QAAQ,WAAW,QAAQ,WAAW,IACpD,QAAQ;AAEb,SAAQ;GACN,KAAa,KAAK;GACL;GACb,WAAa,KAAK;GAClB,IAAI,KAAK,UAAU,KAAK,WAAW,WAAW,EAC5C,QAAQ;IACN,MAAM;IACN,GAAG,KAAK,UAAU,EAAE,KAAK,KAAK,OAAO,IAAI;IACzC,GAAG,KAAK,WAAW,UAAU,KAAKA,gBAAS,CAAE,KAAK,UAAU,OAAQ,CAAC,CAAC,IAAI,OAAO;IAClF,EACF;GACF;GACD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import moment from "moment";
|
|
2
|
+
|
|
3
|
+
//#region src/SS12000/from/groups.ts
|
|
4
|
+
function _transformGroupMembers(members, options) {
|
|
5
|
+
return [...new Set(members?.filter((member) => {
|
|
6
|
+
if (options?.end && member.startDate && !moment(member.startDate).isBefore(moment(options.end))) return false;
|
|
7
|
+
if (options?.start && member.endDate && !moment(member.endDate).isAfter(moment(options.start))) return false;
|
|
8
|
+
return true;
|
|
9
|
+
}).map((member) => member.person.id).filter(Boolean))];
|
|
10
|
+
}
|
|
11
|
+
var groups_default = (groups, options) => {
|
|
12
|
+
if (!Array.isArray(groups)) throw new Error("(SS12000::From::Groups) Group input is not of array type", { cause: "invalid_input" });
|
|
13
|
+
return groups.map((group) => ({
|
|
14
|
+
ids: group.id,
|
|
15
|
+
displayName: group.displayName,
|
|
16
|
+
...group.groupType == "Klass" && { species: "class" },
|
|
17
|
+
...group.groupMemberships && { members: _transformGroupMembers(group.groupMemberships, options) }
|
|
18
|
+
}));
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
//#endregion
|
|
22
|
+
export { groups_default as default };
|
|
23
|
+
//# sourceMappingURL=groups.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groups.mjs","names":[],"sources":["../../../src/SS12000/from/groups.ts"],"sourcesContent":["import moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { Group } from '../types/groups';\n\nfunction _transformGroupMembers (\n members: Group['groupMemberships'],\n options?: Pick<CoreTypes.Deep.Division, 'start' | 'end'>\n) {\n return [\n ...new Set(\n members?.filter(member => {\n if (options?.end && member.startDate && !moment(member.startDate).isBefore(moment(options.end)))\n return false;\n if (options?.start && member.endDate && !moment(member.endDate).isAfter(moment(options.start)))\n return false;\n return true;\n })\n .map((member) => member.person.id)\n .filter(Boolean)\n )\n ];\n}\n\nexport default (\n groups: Group[],\n options?: Pick<CoreTypes.Deep.Division, 'start' | 'end'>\n): CoreTypes.MixedWithoutInternalId.Group[] => {\n if (!Array.isArray(groups))\n throw new Error('(SS12000::From::Groups) Group input is not of array type', { cause: 'invalid_input' });\n\n return groups\n .map((group): CoreTypes.MixedWithoutInternalId.Group => ({\n ids: group.id,\n displayName: group.displayName,\n ...group.groupType == 'Klass' && { species: 'class' },\n ...group.groupMemberships && {\n members: _transformGroupMembers(group.groupMemberships, options)\n }\n }));\n};"],"mappings":";;;AAIA,SAAS,uBACP,SACA,SACA;AACA,QAAO,CACL,GAAG,IAAI,IACL,SAAS,QAAO,WAAU;AACxB,MAAI,SAAS,OAAO,OAAO,aAAa,CAAC,OAAO,OAAO,UAAU,CAAC,SAAS,OAAO,QAAQ,IAAI,CAAC,CAC7F,QAAO;AACT,MAAI,SAAS,SAAS,OAAO,WAAW,CAAC,OAAO,OAAO,QAAQ,CAAC,QAAQ,OAAO,QAAQ,MAAM,CAAC,CAC5F,QAAO;AACT,SAAO;GACP,CACC,KAAK,WAAW,OAAO,OAAO,GAAG,CACjC,OAAO,QAAQ,CACnB,CACF;;AAGH,sBACE,QACA,YAC6C;AAC7C,KAAI,CAAC,MAAM,QAAQ,OAAO,CACxB,OAAM,IAAI,MAAM,4DAA4D,EAAE,OAAO,iBAAiB,CAAC;AAEzG,QAAO,OACJ,KAAK,WAAmD;EACvD,KAAa,MAAM;EACnB,aAAa,MAAM;EACnB,GAAG,MAAM,aAAa,WAAW,EAAE,SAAS,SAAS;EACrD,GAAG,MAAM,oBAAoB,EAC3B,SAAS,uBAAuB,MAAM,kBAAkB,QAAQ,EACjE;EACF,EAAE"}
|