@royalschedule/maps 4.1.0-beta.0 → 4.1.2-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Additio/from/courses.js +28 -0
- package/dist/Additio/from/courses.js.map +1 -0
- package/dist/Additio/from/events.js +61 -0
- package/dist/Additio/from/events.js.map +1 -0
- package/dist/Additio/from/groups.js +14 -0
- package/dist/Additio/from/groups.js.map +1 -0
- package/dist/Additio/from/index.js +8 -0
- package/dist/Additio/from/index.js.map +1 -0
- package/dist/Additio/from/locations.js +13 -0
- package/dist/Additio/from/locations.js.map +1 -0
- package/dist/Additio/from/persons.js +30 -0
- package/dist/Additio/from/persons.js.map +1 -0
- package/dist/Additio/from/schedules.d.ts +38 -0
- package/dist/Additio/from/schedules.js +36 -0
- package/dist/Additio/from/schedules.js.map +1 -0
- package/dist/Additio/from/teachers.js +25 -0
- package/dist/Additio/from/teachers.js.map +1 -0
- package/dist/Additio/index.d.ts +14 -0
- package/dist/Additio/index.js +12 -0
- package/dist/Additio/index.js.map +1 -0
- package/dist/Additio/to/index.d.ts +21 -0
- package/dist/Additio/to/index.js +10 -0
- package/dist/Additio/to/index.js.map +1 -0
- package/dist/Additio/to/schedules.js +111 -0
- package/dist/Additio/to/schedules.js.map +1 -0
- package/dist/Additio/types/course-sections.d.ts +20 -0
- package/dist/Additio/types/courses.d.ts +17 -0
- package/dist/Additio/types/index.d.ts +27 -0
- package/dist/Additio/types/lessons.d.ts +27 -0
- package/dist/Additio/types/options.d.ts +16 -0
- package/dist/Additio/types/primary-groups.d.ts +30 -0
- package/dist/Additio/types/rooms.d.ts +12 -0
- package/dist/Additio/types/schedule-groups.d.ts +23 -0
- package/dist/Additio/types/schedules.d.ts +27 -0
- package/dist/Additio/types/schools.d.ts +11 -0
- package/dist/Additio/types/users.d.ts +20 -0
- package/dist/Admentum/from/courses.js +32 -0
- package/dist/Admentum/from/courses.js.map +1 -0
- package/dist/Admentum/from/events.js +62 -0
- package/dist/Admentum/from/events.js.map +1 -0
- package/dist/Admentum/from/groups.js +14 -0
- package/dist/Admentum/from/groups.js.map +1 -0
- package/dist/Admentum/from/index.js +8 -0
- package/dist/Admentum/from/index.js.map +1 -0
- package/dist/Admentum/from/locations.js +13 -0
- package/dist/Admentum/from/locations.js.map +1 -0
- package/dist/Admentum/from/persons.js +30 -0
- package/dist/Admentum/from/persons.js.map +1 -0
- package/dist/Admentum/from/schedules.d.ts +38 -0
- package/dist/Admentum/from/schedules.js +37 -0
- package/dist/Admentum/from/schedules.js.map +1 -0
- package/dist/Admentum/from/teachers.js +25 -0
- package/dist/Admentum/from/teachers.js.map +1 -0
- package/dist/Admentum/index.d.ts +14 -0
- package/dist/Admentum/index.js +12 -0
- package/dist/Admentum/index.js.map +1 -0
- package/dist/Admentum/to/index.d.ts +19 -0
- package/dist/Admentum/to/index.js +10 -0
- package/dist/Admentum/to/index.js.map +1 -0
- package/dist/Admentum/to/schedules.js +94 -0
- package/dist/Admentum/to/schedules.js.map +1 -0
- package/dist/Admentum/types/course-sections.d.ts +20 -0
- package/dist/Admentum/types/courses.d.ts +17 -0
- package/dist/Admentum/types/index.d.ts +25 -0
- package/dist/Admentum/types/lessons.d.ts +27 -0
- package/dist/Admentum/types/primary-groups.d.ts +30 -0
- package/dist/Admentum/types/rooms.d.ts +12 -0
- package/dist/Admentum/types/schedule-groups.d.ts +23 -0
- package/dist/Admentum/types/schedules.d.ts +27 -0
- package/dist/Admentum/types/schools.d.ts +11 -0
- package/dist/Admentum/types/users.d.ts +20 -0
- package/dist/Excel/index.d.ts +306 -0
- package/dist/Excel/index.js +13 -0
- package/dist/Excel/index.js.map +1 -0
- package/dist/Excel/v1/from/index.js +289 -0
- package/dist/Excel/v1/from/index.js.map +1 -0
- package/dist/Excel/v1/index.d.ts +239 -0
- package/dist/Excel/v1/index.js +10 -0
- package/dist/Excel/v1/index.js.map +1 -0
- package/dist/Excel/v1/types/index.d.ts +44 -0
- package/dist/Excel/v2/from/index.js +537 -0
- package/dist/Excel/v2/from/index.js.map +1 -0
- package/dist/Excel/v2/index.d.ts +301 -0
- package/dist/Excel/v2/index.js +10 -0
- package/dist/Excel/v2/index.js.map +1 -0
- package/dist/Excel/v2/types/index.d.ts +70 -0
- package/dist/IdunSoft/from/courses.js +16 -0
- package/dist/IdunSoft/from/courses.js.map +1 -0
- package/dist/IdunSoft/from/events.js +59 -0
- package/dist/IdunSoft/from/events.js.map +1 -0
- package/dist/IdunSoft/from/groups.js +17 -0
- package/dist/IdunSoft/from/groups.js.map +1 -0
- package/dist/IdunSoft/from/index.js +8 -0
- package/dist/IdunSoft/from/index.js.map +1 -0
- package/dist/IdunSoft/from/locations.js +16 -0
- package/dist/IdunSoft/from/locations.js.map +1 -0
- package/dist/IdunSoft/from/schedules.d.ts +23 -0
- package/dist/IdunSoft/from/schedules.js +20 -0
- package/dist/IdunSoft/from/schedules.js.map +1 -0
- package/dist/IdunSoft/from/teachers.js +16 -0
- package/dist/IdunSoft/from/teachers.js.map +1 -0
- package/dist/IdunSoft/index.d.ts +14 -0
- package/dist/IdunSoft/index.js +12 -0
- package/dist/IdunSoft/index.js.map +1 -0
- package/dist/IdunSoft/to/index.d.ts +9 -0
- package/dist/IdunSoft/to/index.js +10 -0
- package/dist/IdunSoft/to/index.js.map +1 -0
- package/dist/IdunSoft/to/schedules.js +58 -0
- package/dist/IdunSoft/to/schedules.js.map +1 -0
- package/dist/IdunSoft/types/courses.d.ts +8 -0
- package/dist/IdunSoft/types/events.d.ts +26 -0
- package/dist/IdunSoft/types/groups.d.ts +8 -0
- package/dist/IdunSoft/types/index.d.ts +20 -0
- package/dist/IdunSoft/types/locations.d.ts +8 -0
- package/dist/IdunSoft/types/schedules.d.ts +17 -0
- package/dist/IdunSoft/types/teachers.d.ts +8 -0
- package/dist/InfoMentor/index.d.ts +10 -0
- package/dist/InfoMentor/index.js +10 -0
- package/dist/InfoMentor/index.js.map +1 -0
- package/dist/InfoMentor/to/index.d.ts +9 -0
- package/dist/InfoMentor/to/index.js +10 -0
- package/dist/InfoMentor/to/index.js.map +1 -0
- package/dist/InfoMentor/to/schedules.js +58 -0
- package/dist/InfoMentor/to/schedules.js.map +1 -0
- package/dist/InfoMentor/types/events.d.ts +13 -0
- package/dist/InfoMentor/types/index.d.ts +9 -0
- package/dist/PlanDigital/from/index.js +8 -0
- package/dist/PlanDigital/from/index.js.map +1 -0
- package/dist/PlanDigital/from/schedules.js +72 -0
- package/dist/PlanDigital/from/schedules.js.map +1 -0
- package/dist/PlanDigital/index.d.ts +128 -0
- package/dist/PlanDigital/index.js +10 -0
- package/dist/PlanDigital/index.js.map +1 -0
- package/dist/PlanDigital/types/index.d.ts +34 -0
- package/dist/Quiculum/file/index.d.ts +9 -0
- package/dist/Quiculum/file/index.js +10 -0
- package/dist/Quiculum/file/index.js.map +1 -0
- package/dist/Quiculum/file/to/index.d.ts +20 -0
- package/dist/Quiculum/file/to/index.js +10 -0
- package/dist/Quiculum/file/to/index.js.map +1 -0
- package/dist/Quiculum/file/to/schedules.js +91 -0
- package/dist/Quiculum/file/to/schedules.js.map +1 -0
- package/dist/Quiculum/index.d.ts +11 -0
- package/dist/Quiculum/index.js +11 -0
- package/dist/Quiculum/index.js.map +1 -0
- package/dist/RS/from/division.d.ts +7 -0
- package/dist/RS/from/division.js +18 -0
- package/dist/RS/from/division.js.map +1 -0
- package/dist/RS/from/index.js +12 -0
- package/dist/RS/from/index.js.map +1 -0
- package/dist/RS/from/schedules.d.ts +8 -0
- package/dist/RS/from/schedules.js +37 -0
- package/dist/RS/from/schedules.js.map +1 -0
- package/dist/RS/index.d.ts +18 -0
- package/dist/RS/index.js +12 -0
- package/dist/RS/index.js.map +1 -0
- package/dist/RS/make-connected.d.ts +23 -0
- package/dist/RS/make-connected.js +216 -0
- package/dist/RS/make-connected.js.map +1 -0
- package/dist/RS/to/index.js +8 -0
- package/dist/RS/to/index.js.map +1 -0
- package/dist/RS/to/initial-configuration.js +43 -0
- package/dist/RS/to/initial-configuration.js.map +1 -0
- package/dist/RS/to/input/default.js +29 -0
- package/dist/RS/to/input/default.js.map +1 -0
- package/dist/RS/to/input/dependencies.js +32 -0
- package/dist/RS/to/input/dependencies.js.map +1 -0
- package/dist/RS/to/input/events.js +102 -0
- package/dist/RS/to/input/events.js.map +1 -0
- package/dist/RS/to/input/groups.js +32 -0
- package/dist/RS/to/input/groups.js.map +1 -0
- package/dist/RS/to/input/individuals.js +46 -0
- package/dist/RS/to/input/individuals.js.map +1 -0
- package/dist/RS/to/input/input.js +61 -0
- package/dist/RS/to/input/input.js.map +1 -0
- package/dist/RS/to/input/intervals.js +131 -0
- package/dist/RS/to/input/intervals.js.map +1 -0
- package/dist/RS/to/input/linked-events-sets.js +96 -0
- package/dist/RS/to/input/linked-events-sets.js.map +1 -0
- package/dist/RS/to/input/locked-times.js +91 -0
- package/dist/RS/to/input/locked-times.js.map +1 -0
- package/dist/RS/to/input/periods.js +58 -0
- package/dist/RS/to/input/periods.js.map +1 -0
- package/dist/RS/to/input/settings.js +13 -0
- package/dist/RS/to/input/settings.js.map +1 -0
- package/dist/RS/to/input/teachers.js +32 -0
- package/dist/RS/to/input/teachers.js.map +1 -0
- package/dist/RS/to/input/util/parse-days.js +10 -0
- package/dist/RS/to/input/util/parse-days.js.map +1 -0
- package/dist/RS/to/input/util/parse-group-references.js +50 -0
- package/dist/RS/to/input/util/parse-group-references.js.map +1 -0
- package/dist/RS/to/input/util/parse-location-references.js +24 -0
- package/dist/RS/to/input/util/parse-location-references.js.map +1 -0
- package/dist/RS/to/input/util/parse-max-working-hours.js +14 -0
- package/dist/RS/to/input/util/parse-max-working-hours.js.map +1 -0
- package/dist/RS/to/input/util/parse-minimum-break-length.js +19 -0
- package/dist/RS/to/input/util/parse-minimum-break-length.js.map +1 -0
- package/dist/RS/to/input/util/util.js +59 -0
- package/dist/RS/to/input/util/util.js.map +1 -0
- package/dist/RS/to/schedules.d.ts +7 -0
- package/dist/RS/to/schedules.js +51 -0
- package/dist/RS/to/schedules.js.map +1 -0
- package/dist/RS/types/algorithm-parameters.d.ts +17 -0
- package/dist/RS/types/configurations.d.ts +10 -0
- package/dist/RS/types/event-configuration.d.ts +20 -0
- package/dist/RS/types/index.d.ts +21 -0
- package/dist/RS/types/schedule-data.d.ts +20 -0
- package/dist/RS/types/to.d.ts +65 -0
- package/dist/RS/types/to.js +6 -0
- package/dist/RS/types/to.js.map +1 -0
- package/dist/SS12000/from/activities.js +36 -0
- package/dist/SS12000/from/activities.js.map +1 -0
- package/dist/SS12000/from/calendar-events.js +20 -0
- package/dist/SS12000/from/calendar-events.js.map +1 -0
- package/dist/SS12000/from/duties.js +31 -0
- package/dist/SS12000/from/duties.js.map +1 -0
- package/dist/SS12000/from/groups.js +23 -0
- package/dist/SS12000/from/groups.js.map +1 -0
- package/dist/SS12000/from/index.js +24 -0
- package/dist/SS12000/from/index.js.map +1 -0
- package/dist/SS12000/from/persons.js +43 -0
- package/dist/SS12000/from/persons.js.map +1 -0
- package/dist/SS12000/from/resources.js +9 -0
- package/dist/SS12000/from/resources.js.map +1 -0
- package/dist/SS12000/from/rooms.js +18 -0
- package/dist/SS12000/from/rooms.js.map +1 -0
- package/dist/SS12000/from/syllabuses.js +21 -0
- package/dist/SS12000/from/syllabuses.js.map +1 -0
- package/dist/SS12000/index.d.ts +36 -0
- package/dist/SS12000/index.js +12 -0
- package/dist/SS12000/index.js.map +1 -0
- package/dist/SS12000/to/activities.js +63 -0
- package/dist/SS12000/to/activities.js.map +1 -0
- package/dist/SS12000/to/calendar-events.js +53 -0
- package/dist/SS12000/to/calendar-events.js.map +1 -0
- package/dist/SS12000/to/common.js +25 -0
- package/dist/SS12000/to/common.js.map +1 -0
- package/dist/SS12000/to/duties.js +45 -0
- package/dist/SS12000/to/duties.js.map +1 -0
- package/dist/SS12000/to/groups.js +49 -0
- package/dist/SS12000/to/groups.js.map +1 -0
- package/dist/SS12000/to/index.d.ts +56 -0
- package/dist/SS12000/to/index.js +24 -0
- package/dist/SS12000/to/index.js.map +1 -0
- package/dist/SS12000/to/persons.js +40 -0
- package/dist/SS12000/to/persons.js.map +1 -0
- package/dist/SS12000/to/resources.js +27 -0
- package/dist/SS12000/to/resources.js.map +1 -0
- package/dist/SS12000/to/rooms.js +32 -0
- package/dist/SS12000/to/rooms.js.map +1 -0
- package/dist/SS12000/to/syllabuses.js +34 -0
- package/dist/SS12000/to/syllabuses.js.map +1 -0
- package/dist/SS12000/types/activities.d.ts +41 -0
- package/dist/SS12000/types/calendar-events.d.ts +23 -0
- package/dist/SS12000/types/codes.d.ts +9 -0
- package/dist/SS12000/types/duties.d.ts +23 -0
- package/dist/SS12000/types/duty-assignments.d.ts +13 -0
- package/dist/SS12000/types/groups.d.ts +23 -0
- package/dist/SS12000/types/index.d.ts +21 -0
- package/dist/SS12000/types/organisation.d.ts +20 -0
- package/dist/SS12000/types/persons.d.ts +30 -0
- package/dist/SS12000/types/resources.d.ts +13 -0
- package/dist/SS12000/types/rooms.d.ts +17 -0
- package/dist/SS12000/types/syllabus.d.ts +19 -0
- package/dist/SchoolSoft/api/from/index.js +8 -0
- package/dist/SchoolSoft/api/from/index.js.map +1 -0
- package/dist/SchoolSoft/api/from/schedules.js +167 -0
- package/dist/SchoolSoft/api/from/schedules.js.map +1 -0
- package/dist/SchoolSoft/api/index.d.ts +463 -0
- package/dist/SchoolSoft/api/index.js +10 -0
- package/dist/SchoolSoft/api/index.js.map +1 -0
- package/dist/SchoolSoft/api/types/group.d.ts +12 -0
- package/dist/SchoolSoft/api/types/index.d.ts +19 -0
- package/dist/SchoolSoft/api/types/lesson.d.ts +9 -0
- package/dist/SchoolSoft/api/types/location.d.ts +8 -0
- package/dist/SchoolSoft/api/types/persons.d.ts +31 -0
- package/dist/SchoolSoft/api/types/schedule.d.ts +17 -0
- package/dist/SchoolSoft/api/types/teacher.d.ts +13 -0
- package/dist/SchoolSoft/file/from/index.js +8 -0
- package/dist/SchoolSoft/file/from/index.js.map +1 -0
- package/dist/SchoolSoft/file/from/schedules.js +134 -0
- package/dist/SchoolSoft/file/from/schedules.js.map +1 -0
- package/dist/SchoolSoft/file/index.d.ts +15 -0
- package/dist/SchoolSoft/file/index.js +12 -0
- package/dist/SchoolSoft/file/index.js.map +1 -0
- package/dist/SchoolSoft/file/to/index.d.ts +13 -0
- package/dist/SchoolSoft/file/to/index.js +10 -0
- package/dist/SchoolSoft/file/to/index.js.map +1 -0
- package/dist/SchoolSoft/file/to/schedules.js +107 -0
- package/dist/SchoolSoft/file/to/schedules.js.map +1 -0
- package/dist/SchoolSoft/file/types/events.d.ts +27 -0
- package/dist/SchoolSoft/file/types/index.d.ts +17 -0
- package/dist/SchoolSoft/file/types/persons.d.ts +31 -0
- package/dist/SchoolSoft/index.d.ts +20 -0
- package/dist/SchoolSoft/index.js +14 -0
- package/dist/SchoolSoft/index.js.map +1 -0
- package/dist/Schoolity/index.d.ts +10 -0
- package/dist/Schoolity/index.js +10 -0
- package/dist/Schoolity/index.js.map +1 -0
- package/dist/Schoolity/txt/index.d.ts +10 -0
- package/dist/Schoolity/txt/index.js +10 -0
- package/dist/Schoolity/txt/index.js.map +1 -0
- package/dist/Schoolity/txt/to/index.d.ts +10 -0
- package/dist/Schoolity/txt/to/index.js +10 -0
- package/dist/Schoolity/txt/to/index.js.map +1 -0
- package/dist/Schoolity/txt/to/schedules.js +331 -0
- package/dist/Schoolity/txt/to/schedules.js.map +1 -0
- package/dist/Schoolity/txt/types/index.d.ts +119 -0
- package/dist/Skola24/index.d.ts +13 -0
- package/dist/Skola24/index.js +12 -0
- package/dist/Skola24/index.js.map +1 -0
- package/dist/Skola24/mdb/from/course-and-events.js +241 -0
- package/dist/Skola24/mdb/from/course-and-events.js.map +1 -0
- package/dist/Skola24/mdb/from/groups.js +12 -0
- package/dist/Skola24/mdb/from/groups.js.map +1 -0
- package/dist/Skola24/mdb/from/index.js +8 -0
- package/dist/Skola24/mdb/from/index.js.map +1 -0
- package/dist/Skola24/mdb/from/locations.js +11 -0
- package/dist/Skola24/mdb/from/locations.js.map +1 -0
- package/dist/Skola24/mdb/from/schedule.d.ts +27 -0
- package/dist/Skola24/mdb/from/schedule.js +97 -0
- package/dist/Skola24/mdb/from/schedule.js.map +1 -0
- package/dist/Skola24/mdb/from/teachers.js +11 -0
- package/dist/Skola24/mdb/from/teachers.js.map +1 -0
- package/dist/Skola24/mdb/index.d.ts +12 -0
- package/dist/Skola24/mdb/index.js +10 -0
- package/dist/Skola24/mdb/index.js.map +1 -0
- package/dist/Skola24/mdb/types/Course.d.ts +10 -0
- package/dist/Skola24/mdb/types/Group-group-link.d.ts +8 -0
- package/dist/Skola24/mdb/types/Group.d.ts +9 -0
- package/dist/Skola24/mdb/types/Lesson-group-link.d.ts +8 -0
- package/dist/Skola24/mdb/types/Lesson-period-link.d.ts +8 -0
- package/dist/Skola24/mdb/types/Lesson-room-link.d.ts +8 -0
- package/dist/Skola24/mdb/types/Lesson-teacher-link.d.ts +8 -0
- package/dist/Skola24/mdb/types/Lesson.d.ts +13 -0
- package/dist/Skola24/mdb/types/Options.d.ts +11 -0
- package/dist/Skola24/mdb/types/Period.d.ts +9 -0
- package/dist/Skola24/mdb/types/Plan-group-link.d.ts +8 -0
- package/dist/Skola24/mdb/types/Plan-period-link.d.ts +8 -0
- package/dist/Skola24/mdb/types/Plan-teacher-link.d.ts +10 -0
- package/dist/Skola24/mdb/types/Plan.d.ts +9 -0
- package/dist/Skola24/mdb/types/Room.d.ts +9 -0
- package/dist/Skola24/mdb/types/Schedule.d.ts +39 -0
- package/dist/Skola24/mdb/types/Subject.d.ts +8 -0
- package/dist/Skola24/mdb/types/Teacher.d.ts +10 -0
- package/dist/Skola24/mdb/types/index.d.ts +23 -0
- package/dist/Skola24/txt/from/calendar-exceptions.js +68 -0
- package/dist/Skola24/txt/from/calendar-exceptions.js.map +1 -0
- package/dist/Skola24/txt/from/division.js +44 -0
- package/dist/Skola24/txt/from/division.js.map +1 -0
- package/dist/Skola24/txt/from/index.js +12 -0
- package/dist/Skola24/txt/from/index.js.map +1 -0
- package/dist/Skola24/txt/from/period.js +98 -0
- package/dist/Skola24/txt/from/period.js.map +1 -0
- package/dist/Skola24/txt/from/schedules.d.ts +16 -0
- package/dist/Skola24/txt/from/schedules.js +277 -0
- package/dist/Skola24/txt/from/schedules.js.map +1 -0
- package/dist/Skola24/txt/from/util.js +17 -0
- package/dist/Skola24/txt/from/util.js.map +1 -0
- package/dist/Skola24/txt/index.d.ts +28 -0
- package/dist/Skola24/txt/index.js +12 -0
- package/dist/Skola24/txt/index.js.map +1 -0
- package/dist/Skola24/txt/to/index.d.ts +10 -0
- package/dist/Skola24/txt/to/index.js +10 -0
- package/dist/Skola24/txt/to/index.js.map +1 -0
- package/dist/Skola24/txt/to/schedules.js +297 -0
- package/dist/Skola24/txt/to/schedules.js.map +1 -0
- package/dist/Skola24/txt/types/index.d.ts +141 -0
- package/dist/common/constants.js +8 -0
- package/dist/common/constants.js.map +1 -0
- package/dist/common/functions.js +61 -0
- package/dist/common/functions.js.map +1 -0
- package/dist/common/get-date.js +15 -0
- package/dist/common/get-date.js.map +1 -0
- package/dist/common/make-chainable/index.js +36 -0
- package/dist/common/make-chainable/index.js.map +1 -0
- package/dist/common/types.d.ts +42 -0
- package/dist/core/from/configurations.js +12 -0
- package/dist/core/from/configurations.js.map +1 -0
- package/dist/core/from/courses.js +12 -0
- package/dist/core/from/courses.js.map +1 -0
- package/dist/core/from/events.js +13 -0
- package/dist/core/from/events.js.map +1 -0
- package/dist/core/from/exceptions.js +12 -0
- package/dist/core/from/exceptions.js.map +1 -0
- package/dist/core/from/groups.js +12 -0
- package/dist/core/from/groups.js.map +1 -0
- package/dist/core/from/index.js +23 -0
- package/dist/core/from/index.js.map +1 -0
- package/dist/core/from/locations.js +12 -0
- package/dist/core/from/locations.js.map +1 -0
- package/dist/core/from/locked-times.js +12 -0
- package/dist/core/from/locked-times.js.map +1 -0
- package/dist/core/from/overlap-groups.js +12 -0
- package/dist/core/from/overlap-groups.js.map +1 -0
- package/dist/core/from/periods.js +12 -0
- package/dist/core/from/periods.js.map +1 -0
- package/dist/core/from/persons.js +12 -0
- package/dist/core/from/persons.js.map +1 -0
- package/dist/core/from/root-intervals.js +12 -0
- package/dist/core/from/root-intervals.js.map +1 -0
- package/dist/core/from/schedules.d.ts +7 -0
- package/dist/core/from/schedules.js +38 -0
- package/dist/core/from/schedules.js.map +1 -0
- package/dist/core/from/settings.js +21 -0
- package/dist/core/from/settings.js.map +1 -0
- package/dist/core/from/syllabuses.js +13 -0
- package/dist/core/from/syllabuses.js.map +1 -0
- package/dist/core/from/teachers.js +12 -0
- package/dist/core/from/teachers.js.map +1 -0
- package/dist/core/index.d.ts +37 -0
- package/dist/core/index.js +16 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/interfaces/index.js +6 -0
- package/dist/core/interfaces/other/companies.d.ts +132 -0
- package/dist/core/interfaces/other/companies.js +9 -0
- package/dist/core/interfaces/other/companies.js.map +1 -0
- package/dist/core/interfaces/other/etc.d.ts +19 -0
- package/dist/core/interfaces/other/integrations.d.ts +17 -0
- package/dist/core/interfaces/other/operations.d.ts +35 -0
- package/dist/core/interfaces/other/policies.d.ts +31 -0
- package/dist/core/interfaces/other/sync-logs.d.ts +21 -0
- package/dist/core/interfaces/other/users.d.ts +35 -0
- package/dist/core/interfaces/vertices/companies.d.ts +7 -0
- package/dist/core/interfaces/vertices/configurations.d.ts +57 -0
- package/dist/core/interfaces/vertices/courses.d.ts +67 -0
- package/dist/core/interfaces/vertices/division-settings.d.ts +56 -0
- package/dist/core/interfaces/vertices/divisions.d.ts +30 -0
- package/dist/core/interfaces/vertices/events.d.ts +104 -0
- package/dist/core/interfaces/vertices/exceptions.d.ts +73 -0
- package/dist/core/interfaces/vertices/generations.d.ts +21 -0
- package/dist/core/interfaces/vertices/groups.d.ts +52 -0
- package/dist/core/interfaces/vertices/index.d.ts +230 -0
- package/dist/core/interfaces/vertices/index.js +3 -0
- package/dist/core/interfaces/vertices/linked-events-sets.d.ts +18 -0
- package/dist/core/interfaces/vertices/locations.d.ts +21 -0
- package/dist/core/interfaces/vertices/locked-times.d.ts +35 -0
- package/dist/core/interfaces/vertices/overlap-groups.d.ts +16 -0
- package/dist/core/interfaces/vertices/periods.d.ts +13 -0
- package/dist/core/interfaces/vertices/persons.d.ts +31 -0
- package/dist/core/interfaces/vertices/properties/belongs-to.d.ts +10 -0
- package/dist/core/interfaces/vertices/properties/coalesced.d.ts +7 -0
- package/dist/core/interfaces/vertices/properties/days.d.ts +9 -0
- package/dist/core/interfaces/vertices/properties/index.d.ts +15 -0
- package/dist/core/interfaces/vertices/properties/intervals.d.ts +10 -0
- package/dist/core/interfaces/vertices/properties/maximum-schedule-span.d.ts +19 -0
- package/dist/core/interfaces/vertices/properties/min-break-length.d.ts +5 -0
- package/dist/core/interfaces/vertices/properties/planned-scheduled-duration.d.ts +13 -0
- package/dist/core/interfaces/vertices/properties/species.d.ts +9 -0
- package/dist/core/interfaces/vertices/properties/tags.d.ts +9 -0
- package/dist/core/interfaces/vertices/properties/week.d.ts +22 -0
- package/dist/core/interfaces/vertices/properties/week.js +6 -0
- package/dist/core/interfaces/vertices/properties/week.js.map +1 -0
- package/dist/core/interfaces/vertices/root-intervals.d.ts +12 -0
- package/dist/core/interfaces/vertices/syllabuses.d.ts +17 -0
- package/dist/core/interfaces/vertices/teachers.d.ts +42 -0
- package/dist/core/interfaces/vertices/threads.d.ts +32 -0
- package/dist/core/interfaces/vertices/users.d.ts +10 -0
- package/dist/core/interfaces/vertices/util/common.d.ts +28 -0
- package/dist/core/interfaces/vertices/util/custom-vertex-export/assert-no-invalid-expand-keys.d.ts +16 -0
- package/dist/core/interfaces/vertices/util/custom-vertex-export/index.d.ts +34 -0
- package/dist/core/interfaces/vertices/util/custom-vertex-export/util.d.ts +53 -0
- package/dist/core/interfaces/vertices/util/deep-vertex-export/index.d.ts +65 -0
- package/dist/core/interfaces/vertices/util/edges.d.ts +123 -0
- package/dist/core/interfaces/vertices/util/keys-of.d.ts +27 -0
- package/dist/core/interfaces/vertices/util/serialized-vertex-export.d.ts +12 -0
- package/dist/core/interfaces/vertices/util/util.d.ts +84 -0
- package/dist/core/interfaces/vertices/util/vertex-query/index.d.ts +51 -0
- package/dist/core/interfaces/vertices/util/vertex-query/util.d.ts +13 -0
- package/dist/core/interfaces/vertices/util/vertex.d.ts +71 -0
- package/dist/core/interfaces/vertices/vertex-query.d.ts +111 -0
- package/dist/core/interfaces/vertices/vertex-query.js +114 -0
- package/dist/core/interfaces/vertices/vertex-query.js.map +1 -0
- package/dist/core/to/configurations.js +17 -0
- package/dist/core/to/configurations.js.map +1 -0
- package/dist/core/to/courses.js +42 -0
- package/dist/core/to/courses.js.map +1 -0
- package/dist/core/to/division.js +10 -0
- package/dist/core/to/division.js.map +1 -0
- package/dist/core/to/events.js +44 -0
- package/dist/core/to/events.js.map +1 -0
- package/dist/core/to/exceptions.js +30 -0
- package/dist/core/to/exceptions.js.map +1 -0
- package/dist/core/to/groups.js +26 -0
- package/dist/core/to/groups.js.map +1 -0
- package/dist/core/to/index.d.ts +9 -0
- package/dist/core/to/index.js +10 -0
- package/dist/core/to/index.js.map +1 -0
- package/dist/core/to/linked-events-sets.js +18 -0
- package/dist/core/to/linked-events-sets.js.map +1 -0
- package/dist/core/to/locations.js +22 -0
- package/dist/core/to/locations.js.map +1 -0
- package/dist/core/to/locked-times.js +21 -0
- package/dist/core/to/locked-times.js.map +1 -0
- package/dist/core/to/overlap-groups.js +28 -0
- package/dist/core/to/overlap-groups.js.map +1 -0
- package/dist/core/to/periods.js +17 -0
- package/dist/core/to/periods.js.map +1 -0
- package/dist/core/to/persons.js +18 -0
- package/dist/core/to/persons.js.map +1 -0
- package/dist/core/to/root-intervals.js +17 -0
- package/dist/core/to/root-intervals.js.map +1 -0
- package/dist/core/to/schedules.d.ts +48 -0
- package/dist/core/to/schedules.js +44 -0
- package/dist/core/to/schedules.js.map +1 -0
- package/dist/core/to/settings.js +19 -0
- package/dist/core/to/settings.js.map +1 -0
- package/dist/core/to/syllabuses.js +17 -0
- package/dist/core/to/syllabuses.js.map +1 -0
- package/dist/core/to/teachers.js +25 -0
- package/dist/core/to/teachers.js.map +1 -0
- package/dist/core/to/util.d.ts +8 -0
- package/dist/core/to/util.js +25 -0
- package/dist/core/to/util.js.map +1 -0
- package/dist/core/types/common/index.d.ts +8 -0
- package/dist/core/types/common/meta.d.ts +15 -0
- package/dist/core/types/index.d.ts +136 -0
- package/dist/core/util.js +47 -0
- package/dist/core/util.js.map +1 -0
- package/dist/identify/constants/index.d.ts +144 -0
- package/dist/identify/constants/index.js +317 -0
- package/dist/identify/constants/index.js.map +1 -0
- package/dist/identify/index.d.ts +8 -0
- package/dist/identify/index.js +94 -0
- package/dist/identify/index.js.map +1 -0
- package/dist/identify/types/index.d.ts +15 -0
- package/dist/index.d.ts +57 -0
- package/dist/index.js +22 -0
- package/dist/sdui/from/classes.js +8 -0
- package/dist/sdui/from/classes.js.map +1 -0
- package/dist/sdui/from/courses.js +14 -0
- package/dist/sdui/from/courses.js.map +1 -0
- package/dist/sdui/from/holidays.js +8 -0
- package/dist/sdui/from/holidays.js.map +1 -0
- package/dist/sdui/from/hours.js +6 -0
- package/dist/sdui/from/hours.js.map +1 -0
- package/dist/sdui/from/index.js +30 -0
- package/dist/sdui/from/index.js.map +1 -0
- package/dist/sdui/from/lessons.js +23 -0
- package/dist/sdui/from/lessons.js.map +1 -0
- package/dist/sdui/from/rooms.js +11 -0
- package/dist/sdui/from/rooms.js.map +1 -0
- package/dist/sdui/from/schedules.d.ts +19 -0
- package/dist/sdui/from/schedules.js +24 -0
- package/dist/sdui/from/schedules.js.map +1 -0
- package/dist/sdui/from/school-years.js +11 -0
- package/dist/sdui/from/school-years.js.map +1 -0
- package/dist/sdui/from/subjects.js +6 -0
- package/dist/sdui/from/subjects.js.map +1 -0
- package/dist/sdui/from/substitution-plans.js +10 -0
- package/dist/sdui/from/substitution-plans.js.map +1 -0
- package/dist/sdui/from/teachers.js +15 -0
- package/dist/sdui/from/teachers.js.map +1 -0
- package/dist/sdui/index.d.ts +32 -0
- package/dist/sdui/index.js +12 -0
- package/dist/sdui/index.js.map +1 -0
- package/dist/sdui/to/classes.js +10 -0
- package/dist/sdui/to/classes.js.map +1 -0
- package/dist/sdui/to/courses.js +16 -0
- package/dist/sdui/to/courses.js.map +1 -0
- package/dist/sdui/to/holidays.js +16 -0
- package/dist/sdui/to/holidays.js.map +1 -0
- package/dist/sdui/to/hours.js +15 -0
- package/dist/sdui/to/hours.js.map +1 -0
- package/dist/sdui/to/index.d.ts +20 -0
- package/dist/sdui/to/index.js +30 -0
- package/dist/sdui/to/index.js.map +1 -0
- package/dist/sdui/to/lessons.js +24 -0
- package/dist/sdui/to/lessons.js.map +1 -0
- package/dist/sdui/to/rooms.js +13 -0
- package/dist/sdui/to/rooms.js.map +1 -0
- package/dist/sdui/to/schedules.js +26 -0
- package/dist/sdui/to/schedules.js.map +1 -0
- package/dist/sdui/to/school-years.js +18 -0
- package/dist/sdui/to/school-years.js.map +1 -0
- package/dist/sdui/to/subjects.js +8 -0
- package/dist/sdui/to/subjects.js.map +1 -0
- package/dist/sdui/to/substitution-plans.js +49 -0
- package/dist/sdui/to/substitution-plans.js.map +1 -0
- package/dist/sdui/to/teachers.js +20 -0
- package/dist/sdui/to/teachers.js.map +1 -0
- package/dist/sdui/types/classes.d.ts +8 -0
- package/dist/sdui/types/courses.d.ts +12 -0
- package/dist/sdui/types/holidays.d.ts +10 -0
- package/dist/sdui/types/hours.d.ts +10 -0
- package/dist/sdui/types/index.d.ts +31 -0
- package/dist/sdui/types/lessons.d.ts +13 -0
- package/dist/sdui/types/rooms.d.ts +9 -0
- package/dist/sdui/types/schedules.d.ts +27 -0
- package/dist/sdui/types/school-years.d.ts +9 -0
- package/dist/sdui/types/subjects.d.ts +9 -0
- package/dist/sdui/types/substitution-plans.d.ts +30 -0
- package/dist/sdui/types/teachers.d.ts +10 -0
- package/dist/vKlass/from/index.js +8 -0
- package/dist/vKlass/from/index.js.map +1 -0
- package/dist/vKlass/from/schedule.d.ts +23 -0
- package/dist/vKlass/from/schedule.js +71 -0
- package/dist/vKlass/from/schedule.js.map +1 -0
- package/dist/vKlass/index.d.ts +13 -0
- package/dist/vKlass/index.js +12 -0
- package/dist/vKlass/index.js.map +1 -0
- package/dist/vKlass/to/index.d.ts +9 -0
- package/dist/vKlass/to/index.js +10 -0
- package/dist/vKlass/to/index.js.map +1 -0
- package/dist/vKlass/to/schedules.d.ts +14 -0
- package/dist/vKlass/to/schedules.js +93 -0
- package/dist/vKlass/to/schedules.js.map +1 -0
- package/dist/vKlass/types/index.d.ts +53 -0
- package/package.json +3 -3
- package/dist/Additio/from/courses.mjs +0 -28
- package/dist/Additio/from/courses.mjs.map +0 -1
- package/dist/Additio/from/events.mjs +0 -61
- package/dist/Additio/from/events.mjs.map +0 -1
- package/dist/Additio/from/groups.mjs +0 -14
- package/dist/Additio/from/groups.mjs.map +0 -1
- package/dist/Additio/from/index.mjs +0 -8
- package/dist/Additio/from/index.mjs.map +0 -1
- package/dist/Additio/from/locations.mjs +0 -13
- package/dist/Additio/from/locations.mjs.map +0 -1
- package/dist/Additio/from/persons.mjs +0 -30
- package/dist/Additio/from/persons.mjs.map +0 -1
- package/dist/Additio/from/schedules.d.mts +0 -39
- package/dist/Additio/from/schedules.mjs +0 -34
- package/dist/Additio/from/schedules.mjs.map +0 -1
- package/dist/Additio/from/teachers.mjs +0 -25
- package/dist/Additio/from/teachers.mjs.map +0 -1
- package/dist/Additio/index.d.mts +0 -14
- package/dist/Additio/index.mjs +0 -12
- package/dist/Additio/index.mjs.map +0 -1
- package/dist/Additio/to/index.d.mts +0 -23
- package/dist/Additio/to/index.mjs +0 -10
- package/dist/Additio/to/index.mjs.map +0 -1
- package/dist/Additio/to/schedules.mjs +0 -109
- package/dist/Additio/to/schedules.mjs.map +0 -1
- package/dist/Additio/types/course-sections.d.mts +0 -20
- package/dist/Additio/types/courses.d.mts +0 -17
- package/dist/Additio/types/index.d.mts +0 -27
- package/dist/Additio/types/lessons.d.mts +0 -27
- package/dist/Additio/types/options.d.mts +0 -16
- package/dist/Additio/types/primary-groups.d.mts +0 -30
- package/dist/Additio/types/rooms.d.mts +0 -12
- package/dist/Additio/types/schedule-groups.d.mts +0 -23
- package/dist/Additio/types/schedules.d.mts +0 -27
- package/dist/Additio/types/schools.d.mts +0 -11
- package/dist/Additio/types/users.d.mts +0 -20
- package/dist/Admentum/from/courses.mjs +0 -32
- package/dist/Admentum/from/courses.mjs.map +0 -1
- package/dist/Admentum/from/events.mjs +0 -62
- package/dist/Admentum/from/events.mjs.map +0 -1
- package/dist/Admentum/from/groups.mjs +0 -14
- package/dist/Admentum/from/groups.mjs.map +0 -1
- package/dist/Admentum/from/index.mjs +0 -8
- package/dist/Admentum/from/index.mjs.map +0 -1
- package/dist/Admentum/from/locations.mjs +0 -13
- package/dist/Admentum/from/locations.mjs.map +0 -1
- package/dist/Admentum/from/persons.mjs +0 -30
- package/dist/Admentum/from/persons.mjs.map +0 -1
- package/dist/Admentum/from/schedules.d.mts +0 -39
- package/dist/Admentum/from/schedules.mjs +0 -34
- package/dist/Admentum/from/schedules.mjs.map +0 -1
- package/dist/Admentum/from/teachers.mjs +0 -25
- package/dist/Admentum/from/teachers.mjs.map +0 -1
- package/dist/Admentum/index.d.mts +0 -14
- package/dist/Admentum/index.mjs +0 -12
- package/dist/Admentum/index.mjs.map +0 -1
- package/dist/Admentum/to/index.d.mts +0 -20
- package/dist/Admentum/to/index.mjs +0 -10
- package/dist/Admentum/to/index.mjs.map +0 -1
- package/dist/Admentum/to/schedules.mjs +0 -91
- package/dist/Admentum/to/schedules.mjs.map +0 -1
- package/dist/Admentum/types/course-sections.d.mts +0 -20
- package/dist/Admentum/types/courses.d.mts +0 -17
- package/dist/Admentum/types/index.d.mts +0 -25
- package/dist/Admentum/types/lessons.d.mts +0 -27
- package/dist/Admentum/types/primary-groups.d.mts +0 -30
- package/dist/Admentum/types/rooms.d.mts +0 -12
- package/dist/Admentum/types/schedule-groups.d.mts +0 -23
- package/dist/Admentum/types/schedules.d.mts +0 -27
- package/dist/Admentum/types/schools.d.mts +0 -11
- package/dist/Admentum/types/users.d.mts +0 -20
- package/dist/Excel/index.d.mts +0 -307
- package/dist/Excel/index.mjs +0 -13
- package/dist/Excel/index.mjs.map +0 -1
- package/dist/Excel/v1/from/index.mjs +0 -289
- package/dist/Excel/v1/from/index.mjs.map +0 -1
- package/dist/Excel/v1/index.d.mts +0 -240
- package/dist/Excel/v1/index.mjs +0 -10
- package/dist/Excel/v1/index.mjs.map +0 -1
- package/dist/Excel/v1/types/index.d.mts +0 -44
- package/dist/Excel/v2/from/index.mjs +0 -528
- package/dist/Excel/v2/from/index.mjs.map +0 -1
- package/dist/Excel/v2/index.d.mts +0 -302
- package/dist/Excel/v2/index.mjs +0 -10
- package/dist/Excel/v2/index.mjs.map +0 -1
- package/dist/Excel/v2/types/index.d.mts +0 -70
- package/dist/IdunSoft/from/courses.mjs +0 -16
- package/dist/IdunSoft/from/courses.mjs.map +0 -1
- package/dist/IdunSoft/from/events.mjs +0 -58
- package/dist/IdunSoft/from/events.mjs.map +0 -1
- package/dist/IdunSoft/from/groups.mjs +0 -17
- package/dist/IdunSoft/from/groups.mjs.map +0 -1
- package/dist/IdunSoft/from/index.mjs +0 -8
- package/dist/IdunSoft/from/index.mjs.map +0 -1
- package/dist/IdunSoft/from/locations.mjs +0 -16
- package/dist/IdunSoft/from/locations.mjs.map +0 -1
- package/dist/IdunSoft/from/schedules.d.mts +0 -24
- package/dist/IdunSoft/from/schedules.mjs +0 -20
- package/dist/IdunSoft/from/schedules.mjs.map +0 -1
- package/dist/IdunSoft/from/teachers.mjs +0 -16
- package/dist/IdunSoft/from/teachers.mjs.map +0 -1
- package/dist/IdunSoft/index.d.mts +0 -14
- package/dist/IdunSoft/index.mjs +0 -12
- package/dist/IdunSoft/index.mjs.map +0 -1
- package/dist/IdunSoft/to/index.d.mts +0 -10
- package/dist/IdunSoft/to/index.mjs +0 -10
- package/dist/IdunSoft/to/index.mjs.map +0 -1
- package/dist/IdunSoft/to/schedules.mjs +0 -55
- package/dist/IdunSoft/to/schedules.mjs.map +0 -1
- package/dist/IdunSoft/types/courses.d.mts +0 -8
- package/dist/IdunSoft/types/events.d.mts +0 -26
- package/dist/IdunSoft/types/groups.d.mts +0 -8
- package/dist/IdunSoft/types/index.d.mts +0 -20
- package/dist/IdunSoft/types/locations.d.mts +0 -8
- package/dist/IdunSoft/types/schedules.d.mts +0 -17
- package/dist/IdunSoft/types/teachers.d.mts +0 -8
- package/dist/InfoMentor/index.d.mts +0 -10
- package/dist/InfoMentor/index.mjs +0 -10
- package/dist/InfoMentor/index.mjs.map +0 -1
- package/dist/InfoMentor/to/index.d.mts +0 -10
- package/dist/InfoMentor/to/index.mjs +0 -10
- package/dist/InfoMentor/to/index.mjs.map +0 -1
- package/dist/InfoMentor/to/schedules.mjs +0 -57
- package/dist/InfoMentor/to/schedules.mjs.map +0 -1
- package/dist/InfoMentor/types/events.d.mts +0 -13
- package/dist/InfoMentor/types/index.d.mts +0 -9
- package/dist/PlanDigital/from/index.mjs +0 -8
- package/dist/PlanDigital/from/index.mjs.map +0 -1
- package/dist/PlanDigital/from/schedules.mjs +0 -70
- package/dist/PlanDigital/from/schedules.mjs.map +0 -1
- package/dist/PlanDigital/index.d.mts +0 -129
- package/dist/PlanDigital/index.mjs +0 -10
- package/dist/PlanDigital/index.mjs.map +0 -1
- package/dist/PlanDigital/types/index.d.mts +0 -34
- package/dist/Quiculum/file/index.d.mts +0 -9
- package/dist/Quiculum/file/index.mjs +0 -10
- package/dist/Quiculum/file/index.mjs.map +0 -1
- package/dist/Quiculum/file/to/index.d.mts +0 -21
- package/dist/Quiculum/file/to/index.mjs +0 -10
- package/dist/Quiculum/file/to/index.mjs.map +0 -1
- package/dist/Quiculum/file/to/schedules.mjs +0 -87
- package/dist/Quiculum/file/to/schedules.mjs.map +0 -1
- package/dist/Quiculum/index.d.mts +0 -11
- package/dist/Quiculum/index.mjs +0 -11
- package/dist/Quiculum/index.mjs.map +0 -1
- package/dist/RS/from/division.d.mts +0 -8
- package/dist/RS/from/division.mjs +0 -17
- package/dist/RS/from/division.mjs.map +0 -1
- package/dist/RS/from/index.mjs +0 -12
- package/dist/RS/from/index.mjs.map +0 -1
- package/dist/RS/from/schedules.d.mts +0 -9
- package/dist/RS/from/schedules.mjs +0 -37
- package/dist/RS/from/schedules.mjs.map +0 -1
- package/dist/RS/index.d.mts +0 -18
- package/dist/RS/index.mjs +0 -12
- package/dist/RS/index.mjs.map +0 -1
- package/dist/RS/make-connected.d.mts +0 -25
- package/dist/RS/make-connected.mjs +0 -207
- package/dist/RS/make-connected.mjs.map +0 -1
- package/dist/RS/to/index.mjs +0 -8
- package/dist/RS/to/index.mjs.map +0 -1
- package/dist/RS/to/initial-configuration.mjs +0 -41
- package/dist/RS/to/initial-configuration.mjs.map +0 -1
- package/dist/RS/to/input/default.mjs +0 -28
- package/dist/RS/to/input/default.mjs.map +0 -1
- package/dist/RS/to/input/dependencies.mjs +0 -31
- package/dist/RS/to/input/dependencies.mjs.map +0 -1
- package/dist/RS/to/input/events.mjs +0 -101
- package/dist/RS/to/input/events.mjs.map +0 -1
- package/dist/RS/to/input/groups.mjs +0 -32
- package/dist/RS/to/input/groups.mjs.map +0 -1
- package/dist/RS/to/input/individuals.mjs +0 -45
- package/dist/RS/to/input/individuals.mjs.map +0 -1
- package/dist/RS/to/input/input.mjs +0 -59
- package/dist/RS/to/input/input.mjs.map +0 -1
- package/dist/RS/to/input/intervals.mjs +0 -129
- package/dist/RS/to/input/intervals.mjs.map +0 -1
- package/dist/RS/to/input/linked-events-sets.mjs +0 -96
- package/dist/RS/to/input/linked-events-sets.mjs.map +0 -1
- package/dist/RS/to/input/locked-times.mjs +0 -88
- package/dist/RS/to/input/locked-times.mjs.map +0 -1
- package/dist/RS/to/input/periods.mjs +0 -57
- package/dist/RS/to/input/periods.mjs.map +0 -1
- package/dist/RS/to/input/settings.mjs +0 -13
- package/dist/RS/to/input/settings.mjs.map +0 -1
- package/dist/RS/to/input/teachers.mjs +0 -32
- package/dist/RS/to/input/teachers.mjs.map +0 -1
- package/dist/RS/to/input/util/parse-days.mjs +0 -10
- package/dist/RS/to/input/util/parse-days.mjs.map +0 -1
- package/dist/RS/to/input/util/parse-group-references.mjs +0 -50
- package/dist/RS/to/input/util/parse-group-references.mjs.map +0 -1
- package/dist/RS/to/input/util/parse-location-references.mjs +0 -24
- package/dist/RS/to/input/util/parse-location-references.mjs.map +0 -1
- package/dist/RS/to/input/util/parse-max-working-hours.mjs +0 -14
- package/dist/RS/to/input/util/parse-max-working-hours.mjs.map +0 -1
- package/dist/RS/to/input/util/parse-minimum-break-length.mjs +0 -19
- package/dist/RS/to/input/util/parse-minimum-break-length.mjs.map +0 -1
- package/dist/RS/to/input/util/util.mjs +0 -58
- package/dist/RS/to/input/util/util.mjs.map +0 -1
- package/dist/RS/to/schedules.d.mts +0 -7
- package/dist/RS/to/schedules.mjs +0 -51
- package/dist/RS/to/schedules.mjs.map +0 -1
- package/dist/RS/types/algorithm-parameters.d.mts +0 -17
- package/dist/RS/types/configurations.d.mts +0 -10
- package/dist/RS/types/event-configuration.d.mts +0 -20
- package/dist/RS/types/index.d.mts +0 -21
- package/dist/RS/types/schedule-data.d.mts +0 -20
- package/dist/RS/types/to.d.mts +0 -64
- package/dist/RS/types/to.mjs +0 -6
- package/dist/RS/types/to.mjs.map +0 -1
- package/dist/SS12000/from/activities.mjs +0 -35
- package/dist/SS12000/from/activities.mjs.map +0 -1
- package/dist/SS12000/from/calendar-events.mjs +0 -20
- package/dist/SS12000/from/calendar-events.mjs.map +0 -1
- package/dist/SS12000/from/duties.mjs +0 -31
- package/dist/SS12000/from/duties.mjs.map +0 -1
- package/dist/SS12000/from/groups.mjs +0 -23
- package/dist/SS12000/from/groups.mjs.map +0 -1
- package/dist/SS12000/from/index.mjs +0 -24
- package/dist/SS12000/from/index.mjs.map +0 -1
- package/dist/SS12000/from/persons.mjs +0 -43
- package/dist/SS12000/from/persons.mjs.map +0 -1
- package/dist/SS12000/from/resources.mjs +0 -9
- package/dist/SS12000/from/resources.mjs.map +0 -1
- package/dist/SS12000/from/rooms.mjs +0 -18
- package/dist/SS12000/from/rooms.mjs.map +0 -1
- package/dist/SS12000/from/syllabuses.mjs +0 -21
- package/dist/SS12000/from/syllabuses.mjs.map +0 -1
- package/dist/SS12000/index.d.mts +0 -37
- package/dist/SS12000/index.mjs +0 -12
- package/dist/SS12000/index.mjs.map +0 -1
- package/dist/SS12000/to/activities.mjs +0 -63
- package/dist/SS12000/to/activities.mjs.map +0 -1
- package/dist/SS12000/to/calendar-events.mjs +0 -53
- package/dist/SS12000/to/calendar-events.mjs.map +0 -1
- package/dist/SS12000/to/common.mjs +0 -25
- package/dist/SS12000/to/common.mjs.map +0 -1
- package/dist/SS12000/to/duties.mjs +0 -45
- package/dist/SS12000/to/duties.mjs.map +0 -1
- package/dist/SS12000/to/groups.mjs +0 -49
- package/dist/SS12000/to/groups.mjs.map +0 -1
- package/dist/SS12000/to/index.d.mts +0 -57
- package/dist/SS12000/to/index.mjs +0 -24
- package/dist/SS12000/to/index.mjs.map +0 -1
- package/dist/SS12000/to/persons.mjs +0 -40
- package/dist/SS12000/to/persons.mjs.map +0 -1
- package/dist/SS12000/to/resources.mjs +0 -27
- package/dist/SS12000/to/resources.mjs.map +0 -1
- package/dist/SS12000/to/rooms.mjs +0 -32
- package/dist/SS12000/to/rooms.mjs.map +0 -1
- package/dist/SS12000/to/syllabuses.mjs +0 -34
- package/dist/SS12000/to/syllabuses.mjs.map +0 -1
- package/dist/SS12000/types/activities.d.mts +0 -41
- package/dist/SS12000/types/calendar-events.d.mts +0 -23
- package/dist/SS12000/types/codes.d.mts +0 -9
- package/dist/SS12000/types/duties.d.mts +0 -23
- package/dist/SS12000/types/duty-assignments.d.mts +0 -13
- package/dist/SS12000/types/groups.d.mts +0 -23
- package/dist/SS12000/types/index.d.mts +0 -21
- package/dist/SS12000/types/organisation.d.mts +0 -20
- package/dist/SS12000/types/persons.d.mts +0 -30
- package/dist/SS12000/types/resources.d.mts +0 -13
- package/dist/SS12000/types/rooms.d.mts +0 -17
- package/dist/SS12000/types/syllabus.d.mts +0 -19
- package/dist/SchoolSoft/api/from/index.mjs +0 -8
- package/dist/SchoolSoft/api/from/index.mjs.map +0 -1
- package/dist/SchoolSoft/api/from/schedules.mjs +0 -163
- package/dist/SchoolSoft/api/from/schedules.mjs.map +0 -1
- package/dist/SchoolSoft/api/index.d.mts +0 -464
- package/dist/SchoolSoft/api/index.mjs +0 -10
- package/dist/SchoolSoft/api/index.mjs.map +0 -1
- package/dist/SchoolSoft/api/types/group.d.mts +0 -12
- package/dist/SchoolSoft/api/types/index.d.mts +0 -19
- package/dist/SchoolSoft/api/types/lesson.d.mts +0 -9
- package/dist/SchoolSoft/api/types/location.d.mts +0 -8
- package/dist/SchoolSoft/api/types/persons.d.mts +0 -31
- package/dist/SchoolSoft/api/types/schedule.d.mts +0 -17
- package/dist/SchoolSoft/api/types/teacher.d.mts +0 -13
- package/dist/SchoolSoft/file/from/index.mjs +0 -8
- package/dist/SchoolSoft/file/from/index.mjs.map +0 -1
- package/dist/SchoolSoft/file/from/schedules.mjs +0 -130
- package/dist/SchoolSoft/file/from/schedules.mjs.map +0 -1
- package/dist/SchoolSoft/file/index.d.mts +0 -16
- package/dist/SchoolSoft/file/index.mjs +0 -12
- package/dist/SchoolSoft/file/index.mjs.map +0 -1
- package/dist/SchoolSoft/file/to/index.d.mts +0 -14
- package/dist/SchoolSoft/file/to/index.mjs +0 -10
- package/dist/SchoolSoft/file/to/index.mjs.map +0 -1
- package/dist/SchoolSoft/file/to/schedules.mjs +0 -106
- package/dist/SchoolSoft/file/to/schedules.mjs.map +0 -1
- package/dist/SchoolSoft/file/types/events.d.mts +0 -27
- package/dist/SchoolSoft/file/types/index.d.mts +0 -17
- package/dist/SchoolSoft/file/types/persons.d.mts +0 -31
- package/dist/SchoolSoft/index.d.mts +0 -21
- package/dist/SchoolSoft/index.mjs +0 -14
- package/dist/SchoolSoft/index.mjs.map +0 -1
- package/dist/Schoolity/index.d.mts +0 -10
- package/dist/Schoolity/index.mjs +0 -10
- package/dist/Schoolity/index.mjs.map +0 -1
- package/dist/Schoolity/txt/index.d.mts +0 -10
- package/dist/Schoolity/txt/index.mjs +0 -10
- package/dist/Schoolity/txt/index.mjs.map +0 -1
- package/dist/Schoolity/txt/to/index.d.mts +0 -11
- package/dist/Schoolity/txt/to/index.mjs +0 -10
- package/dist/Schoolity/txt/to/index.mjs.map +0 -1
- package/dist/Schoolity/txt/to/schedules.mjs +0 -324
- package/dist/Schoolity/txt/to/schedules.mjs.map +0 -1
- package/dist/Schoolity/txt/types/index.d.mts +0 -119
- package/dist/Skola24/index.d.mts +0 -13
- package/dist/Skola24/index.mjs +0 -12
- package/dist/Skola24/index.mjs.map +0 -1
- package/dist/Skola24/mdb/from/course-and-events.mjs +0 -239
- package/dist/Skola24/mdb/from/course-and-events.mjs.map +0 -1
- package/dist/Skola24/mdb/from/groups.mjs +0 -12
- package/dist/Skola24/mdb/from/groups.mjs.map +0 -1
- package/dist/Skola24/mdb/from/index.mjs +0 -8
- package/dist/Skola24/mdb/from/index.mjs.map +0 -1
- package/dist/Skola24/mdb/from/locations.mjs +0 -11
- package/dist/Skola24/mdb/from/locations.mjs.map +0 -1
- package/dist/Skola24/mdb/from/schedule.d.mts +0 -28
- package/dist/Skola24/mdb/from/schedule.mjs +0 -97
- package/dist/Skola24/mdb/from/schedule.mjs.map +0 -1
- package/dist/Skola24/mdb/from/teachers.mjs +0 -11
- package/dist/Skola24/mdb/from/teachers.mjs.map +0 -1
- package/dist/Skola24/mdb/index.d.mts +0 -12
- package/dist/Skola24/mdb/index.mjs +0 -10
- package/dist/Skola24/mdb/index.mjs.map +0 -1
- package/dist/Skola24/mdb/types/Course.d.mts +0 -10
- package/dist/Skola24/mdb/types/Group-group-link.d.mts +0 -8
- package/dist/Skola24/mdb/types/Group.d.mts +0 -9
- package/dist/Skola24/mdb/types/Lesson-group-link.d.mts +0 -8
- package/dist/Skola24/mdb/types/Lesson-period-link.d.mts +0 -8
- package/dist/Skola24/mdb/types/Lesson-room-link.d.mts +0 -8
- package/dist/Skola24/mdb/types/Lesson-teacher-link.d.mts +0 -8
- package/dist/Skola24/mdb/types/Lesson.d.mts +0 -13
- package/dist/Skola24/mdb/types/Options.d.mts +0 -11
- package/dist/Skola24/mdb/types/Period.d.mts +0 -9
- package/dist/Skola24/mdb/types/Plan-group-link.d.mts +0 -8
- package/dist/Skola24/mdb/types/Plan-period-link.d.mts +0 -8
- package/dist/Skola24/mdb/types/Plan-teacher-link.d.mts +0 -10
- package/dist/Skola24/mdb/types/Plan.d.mts +0 -9
- package/dist/Skola24/mdb/types/Room.d.mts +0 -9
- package/dist/Skola24/mdb/types/Schedule.d.mts +0 -39
- package/dist/Skola24/mdb/types/Subject.d.mts +0 -8
- package/dist/Skola24/mdb/types/Teacher.d.mts +0 -10
- package/dist/Skola24/mdb/types/index.d.mts +0 -23
- package/dist/Skola24/txt/from/calendar-exceptions.mjs +0 -67
- package/dist/Skola24/txt/from/calendar-exceptions.mjs.map +0 -1
- package/dist/Skola24/txt/from/division.mjs +0 -44
- package/dist/Skola24/txt/from/division.mjs.map +0 -1
- package/dist/Skola24/txt/from/index.mjs +0 -12
- package/dist/Skola24/txt/from/index.mjs.map +0 -1
- package/dist/Skola24/txt/from/period.mjs +0 -95
- package/dist/Skola24/txt/from/period.mjs.map +0 -1
- package/dist/Skola24/txt/from/schedules.d.mts +0 -17
- package/dist/Skola24/txt/from/schedules.mjs +0 -273
- package/dist/Skola24/txt/from/schedules.mjs.map +0 -1
- package/dist/Skola24/txt/from/util.mjs +0 -17
- package/dist/Skola24/txt/from/util.mjs.map +0 -1
- package/dist/Skola24/txt/index.d.mts +0 -29
- package/dist/Skola24/txt/index.mjs +0 -12
- package/dist/Skola24/txt/index.mjs.map +0 -1
- package/dist/Skola24/txt/to/index.d.mts +0 -11
- package/dist/Skola24/txt/to/index.mjs +0 -10
- package/dist/Skola24/txt/to/index.mjs.map +0 -1
- package/dist/Skola24/txt/to/schedules.mjs +0 -290
- package/dist/Skola24/txt/to/schedules.mjs.map +0 -1
- package/dist/Skola24/txt/types/index.d.mts +0 -141
- package/dist/common/constants.mjs +0 -8
- package/dist/common/constants.mjs.map +0 -1
- package/dist/common/functions.mjs +0 -61
- package/dist/common/functions.mjs.map +0 -1
- package/dist/common/get-date.mjs +0 -15
- package/dist/common/get-date.mjs.map +0 -1
- package/dist/common/make-chainable/index.mjs +0 -36
- package/dist/common/make-chainable/index.mjs.map +0 -1
- package/dist/common/types.d.mts +0 -38
- package/dist/core/from/configurations.mjs +0 -12
- package/dist/core/from/configurations.mjs.map +0 -1
- package/dist/core/from/courses.mjs +0 -12
- package/dist/core/from/courses.mjs.map +0 -1
- package/dist/core/from/events.mjs +0 -13
- package/dist/core/from/events.mjs.map +0 -1
- package/dist/core/from/exceptions.mjs +0 -12
- package/dist/core/from/exceptions.mjs.map +0 -1
- package/dist/core/from/groups.mjs +0 -12
- package/dist/core/from/groups.mjs.map +0 -1
- package/dist/core/from/index.mjs +0 -23
- package/dist/core/from/index.mjs.map +0 -1
- package/dist/core/from/locations.mjs +0 -12
- package/dist/core/from/locations.mjs.map +0 -1
- package/dist/core/from/locked-times.mjs +0 -12
- package/dist/core/from/locked-times.mjs.map +0 -1
- package/dist/core/from/overlap-groups.mjs +0 -12
- package/dist/core/from/overlap-groups.mjs.map +0 -1
- package/dist/core/from/periods.mjs +0 -12
- package/dist/core/from/periods.mjs.map +0 -1
- package/dist/core/from/persons.mjs +0 -12
- package/dist/core/from/persons.mjs.map +0 -1
- package/dist/core/from/root-intervals.mjs +0 -12
- package/dist/core/from/root-intervals.mjs.map +0 -1
- package/dist/core/from/schedules.d.mts +0 -7
- package/dist/core/from/schedules.mjs +0 -38
- package/dist/core/from/schedules.mjs.map +0 -1
- package/dist/core/from/settings.mjs +0 -21
- package/dist/core/from/settings.mjs.map +0 -1
- package/dist/core/from/syllabuses.mjs +0 -13
- package/dist/core/from/syllabuses.mjs.map +0 -1
- package/dist/core/from/teachers.mjs +0 -12
- package/dist/core/from/teachers.mjs.map +0 -1
- package/dist/core/index.d.mts +0 -38
- package/dist/core/index.mjs +0 -16
- package/dist/core/index.mjs.map +0 -1
- package/dist/core/interfaces/index.d.mts +0 -23
- package/dist/core/interfaces/index.mjs +0 -6
- package/dist/core/interfaces/other/companies.d.mts +0 -132
- package/dist/core/interfaces/other/companies.mjs +0 -9
- package/dist/core/interfaces/other/companies.mjs.map +0 -1
- package/dist/core/interfaces/other/etc.d.mts +0 -19
- package/dist/core/interfaces/other/index.d.mts +0 -6
- package/dist/core/interfaces/other/integrations.d.mts +0 -17
- package/dist/core/interfaces/other/operations.d.mts +0 -36
- package/dist/core/interfaces/other/policies.d.mts +0 -31
- package/dist/core/interfaces/other/sync-logs.d.mts +0 -21
- package/dist/core/interfaces/other/users.d.mts +0 -35
- package/dist/core/interfaces/vertices/companies.d.mts +0 -8
- package/dist/core/interfaces/vertices/configurations.d.mts +0 -58
- package/dist/core/interfaces/vertices/courses.d.mts +0 -66
- package/dist/core/interfaces/vertices/division-settings.d.mts +0 -54
- package/dist/core/interfaces/vertices/divisions.d.mts +0 -31
- package/dist/core/interfaces/vertices/events.d.mts +0 -104
- package/dist/core/interfaces/vertices/exceptions.d.mts +0 -74
- package/dist/core/interfaces/vertices/generations.d.mts +0 -23
- package/dist/core/interfaces/vertices/groups.d.mts +0 -51
- package/dist/core/interfaces/vertices/index.d.mts +0 -231
- package/dist/core/interfaces/vertices/index.mjs +0 -3
- package/dist/core/interfaces/vertices/linked-events-sets.d.mts +0 -19
- package/dist/core/interfaces/vertices/locations.d.mts +0 -22
- package/dist/core/interfaces/vertices/locked-times.d.mts +0 -37
- package/dist/core/interfaces/vertices/overlap-groups.d.mts +0 -17
- package/dist/core/interfaces/vertices/periods.d.mts +0 -15
- package/dist/core/interfaces/vertices/persons.d.mts +0 -32
- package/dist/core/interfaces/vertices/properties/belongs-to.d.mts +0 -11
- package/dist/core/interfaces/vertices/properties/coalesced.d.mts +0 -8
- package/dist/core/interfaces/vertices/properties/days.d.mts +0 -9
- package/dist/core/interfaces/vertices/properties/index.d.mts +0 -15
- package/dist/core/interfaces/vertices/properties/intervals.d.mts +0 -10
- package/dist/core/interfaces/vertices/properties/maximum-schedule-span.d.mts +0 -19
- package/dist/core/interfaces/vertices/properties/min-break-length.d.mts +0 -5
- package/dist/core/interfaces/vertices/properties/planned-scheduled-duration.d.mts +0 -13
- package/dist/core/interfaces/vertices/properties/species.d.mts +0 -9
- package/dist/core/interfaces/vertices/properties/tags.d.mts +0 -9
- package/dist/core/interfaces/vertices/properties/week.d.mts +0 -22
- package/dist/core/interfaces/vertices/properties/week.mjs +0 -6
- package/dist/core/interfaces/vertices/properties/week.mjs.map +0 -1
- package/dist/core/interfaces/vertices/root-intervals.d.mts +0 -14
- package/dist/core/interfaces/vertices/syllabuses.d.mts +0 -18
- package/dist/core/interfaces/vertices/teachers.d.mts +0 -41
- package/dist/core/interfaces/vertices/threads.d.mts +0 -33
- package/dist/core/interfaces/vertices/users.d.mts +0 -11
- package/dist/core/interfaces/vertices/util/common.d.mts +0 -28
- package/dist/core/interfaces/vertices/util/custom-vertex-export/assert-no-invalid-expand-keys.d.mts +0 -16
- package/dist/core/interfaces/vertices/util/custom-vertex-export/index.d.mts +0 -34
- package/dist/core/interfaces/vertices/util/custom-vertex-export/util.d.mts +0 -52
- package/dist/core/interfaces/vertices/util/deep-vertex-export/index.d.mts +0 -65
- package/dist/core/interfaces/vertices/util/edges.d.mts +0 -123
- package/dist/core/interfaces/vertices/util/index.d.mts +0 -6
- package/dist/core/interfaces/vertices/util/keys-of.d.mts +0 -26
- package/dist/core/interfaces/vertices/util/serialized-vertex-export.d.mts +0 -11
- package/dist/core/interfaces/vertices/util/util.d.mts +0 -79
- package/dist/core/interfaces/vertices/util/vertex-query/index.d.mts +0 -50
- package/dist/core/interfaces/vertices/util/vertex-query/util.d.mts +0 -13
- package/dist/core/interfaces/vertices/util/vertex.d.mts +0 -69
- package/dist/core/interfaces/vertices/vertex-query.d.mts +0 -112
- package/dist/core/interfaces/vertices/vertex-query.mjs +0 -114
- package/dist/core/interfaces/vertices/vertex-query.mjs.map +0 -1
- package/dist/core/to/configurations.mjs +0 -16
- package/dist/core/to/configurations.mjs.map +0 -1
- package/dist/core/to/courses.mjs +0 -41
- package/dist/core/to/courses.mjs.map +0 -1
- package/dist/core/to/division.mjs +0 -10
- package/dist/core/to/division.mjs.map +0 -1
- package/dist/core/to/events.mjs +0 -43
- package/dist/core/to/events.mjs.map +0 -1
- package/dist/core/to/exceptions.mjs +0 -29
- package/dist/core/to/exceptions.mjs.map +0 -1
- package/dist/core/to/groups.mjs +0 -25
- package/dist/core/to/groups.mjs.map +0 -1
- package/dist/core/to/index.d.mts +0 -9
- package/dist/core/to/index.mjs +0 -10
- package/dist/core/to/index.mjs.map +0 -1
- package/dist/core/to/locations.mjs +0 -21
- package/dist/core/to/locations.mjs.map +0 -1
- package/dist/core/to/locked-times.mjs +0 -20
- package/dist/core/to/locked-times.mjs.map +0 -1
- package/dist/core/to/overlap-groups.mjs +0 -27
- package/dist/core/to/overlap-groups.mjs.map +0 -1
- package/dist/core/to/periods.mjs +0 -16
- package/dist/core/to/periods.mjs.map +0 -1
- package/dist/core/to/persons.mjs +0 -17
- package/dist/core/to/persons.mjs.map +0 -1
- package/dist/core/to/root-intervals.mjs +0 -16
- package/dist/core/to/root-intervals.mjs.map +0 -1
- package/dist/core/to/schedules.d.mts +0 -47
- package/dist/core/to/schedules.mjs +0 -42
- package/dist/core/to/schedules.mjs.map +0 -1
- package/dist/core/to/settings.mjs +0 -18
- package/dist/core/to/settings.mjs.map +0 -1
- package/dist/core/to/syllabuses.mjs +0 -16
- package/dist/core/to/syllabuses.mjs.map +0 -1
- package/dist/core/to/teachers.mjs +0 -24
- package/dist/core/to/teachers.mjs.map +0 -1
- package/dist/core/to/util.d.mts +0 -10
- package/dist/core/to/util.mjs +0 -24
- package/dist/core/to/util.mjs.map +0 -1
- package/dist/core/types/common/index.d.mts +0 -8
- package/dist/core/types/common/meta.d.mts +0 -15
- package/dist/core/types/index.d.mts +0 -137
- package/dist/core/util.mjs +0 -46
- package/dist/core/util.mjs.map +0 -1
- package/dist/identify/constants/index.d.mts +0 -144
- package/dist/identify/constants/index.mjs +0 -317
- package/dist/identify/constants/index.mjs.map +0 -1
- package/dist/identify/index.d.mts +0 -8
- package/dist/identify/index.mjs +0 -93
- package/dist/identify/index.mjs.map +0 -1
- package/dist/identify/types/index.d.mts +0 -15
- package/dist/index.d.mts +0 -57
- package/dist/index.mjs +0 -22
- package/dist/sdui/from/classes.mjs +0 -8
- package/dist/sdui/from/classes.mjs.map +0 -1
- package/dist/sdui/from/courses.mjs +0 -14
- package/dist/sdui/from/courses.mjs.map +0 -1
- package/dist/sdui/from/holidays.mjs +0 -8
- package/dist/sdui/from/holidays.mjs.map +0 -1
- package/dist/sdui/from/hours.mjs +0 -6
- package/dist/sdui/from/hours.mjs.map +0 -1
- package/dist/sdui/from/index.mjs +0 -30
- package/dist/sdui/from/index.mjs.map +0 -1
- package/dist/sdui/from/lessons.mjs +0 -23
- package/dist/sdui/from/lessons.mjs.map +0 -1
- package/dist/sdui/from/rooms.mjs +0 -11
- package/dist/sdui/from/rooms.mjs.map +0 -1
- package/dist/sdui/from/schedules.d.mts +0 -21
- package/dist/sdui/from/schedules.mjs +0 -24
- package/dist/sdui/from/schedules.mjs.map +0 -1
- package/dist/sdui/from/school-years.mjs +0 -11
- package/dist/sdui/from/school-years.mjs.map +0 -1
- package/dist/sdui/from/subjects.mjs +0 -6
- package/dist/sdui/from/subjects.mjs.map +0 -1
- package/dist/sdui/from/substitution-plans.mjs +0 -10
- package/dist/sdui/from/substitution-plans.mjs.map +0 -1
- package/dist/sdui/from/teachers.mjs +0 -15
- package/dist/sdui/from/teachers.mjs.map +0 -1
- package/dist/sdui/index.d.mts +0 -32
- package/dist/sdui/index.mjs +0 -12
- package/dist/sdui/index.mjs.map +0 -1
- package/dist/sdui/to/classes.mjs +0 -10
- package/dist/sdui/to/classes.mjs.map +0 -1
- package/dist/sdui/to/courses.mjs +0 -16
- package/dist/sdui/to/courses.mjs.map +0 -1
- package/dist/sdui/to/holidays.mjs +0 -16
- package/dist/sdui/to/holidays.mjs.map +0 -1
- package/dist/sdui/to/hours.mjs +0 -15
- package/dist/sdui/to/hours.mjs.map +0 -1
- package/dist/sdui/to/index.d.mts +0 -22
- package/dist/sdui/to/index.mjs +0 -30
- package/dist/sdui/to/index.mjs.map +0 -1
- package/dist/sdui/to/lessons.mjs +0 -24
- package/dist/sdui/to/lessons.mjs.map +0 -1
- package/dist/sdui/to/rooms.mjs +0 -13
- package/dist/sdui/to/rooms.mjs.map +0 -1
- package/dist/sdui/to/schedules.mjs +0 -26
- package/dist/sdui/to/schedules.mjs.map +0 -1
- package/dist/sdui/to/school-years.mjs +0 -18
- package/dist/sdui/to/school-years.mjs.map +0 -1
- package/dist/sdui/to/subjects.mjs +0 -8
- package/dist/sdui/to/subjects.mjs.map +0 -1
- package/dist/sdui/to/substitution-plans.mjs +0 -46
- package/dist/sdui/to/substitution-plans.mjs.map +0 -1
- package/dist/sdui/to/teachers.mjs +0 -20
- package/dist/sdui/to/teachers.mjs.map +0 -1
- package/dist/sdui/types/classes.d.mts +0 -8
- package/dist/sdui/types/courses.d.mts +0 -12
- package/dist/sdui/types/holidays.d.mts +0 -10
- package/dist/sdui/types/hours.d.mts +0 -10
- package/dist/sdui/types/index.d.mts +0 -31
- package/dist/sdui/types/lessons.d.mts +0 -13
- package/dist/sdui/types/rooms.d.mts +0 -9
- package/dist/sdui/types/schedules.d.mts +0 -27
- package/dist/sdui/types/school-years.d.mts +0 -9
- package/dist/sdui/types/subjects.d.mts +0 -9
- package/dist/sdui/types/substitution-plans.d.mts +0 -30
- package/dist/sdui/types/teachers.d.mts +0 -10
- package/dist/vKlass/from/index.mjs +0 -8
- package/dist/vKlass/from/index.mjs.map +0 -1
- package/dist/vKlass/from/schedule.d.mts +0 -24
- package/dist/vKlass/from/schedule.mjs +0 -71
- package/dist/vKlass/from/schedule.mjs.map +0 -1
- package/dist/vKlass/index.d.mts +0 -13
- package/dist/vKlass/index.mjs +0 -12
- package/dist/vKlass/index.mjs.map +0 -1
- package/dist/vKlass/to/index.d.mts +0 -9
- package/dist/vKlass/to/index.mjs +0 -10
- package/dist/vKlass/to/index.mjs.map +0 -1
- package/dist/vKlass/to/schedules.d.mts +0 -14
- package/dist/vKlass/to/schedules.mjs +0 -82
- package/dist/vKlass/to/schedules.mjs.map +0 -1
- package/dist/vKlass/types/index.d.mts +0 -53
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { getVertexId } from "../../../core/util.mjs";
|
|
2
|
-
import { idOf } from "./util/util.mjs";
|
|
3
|
-
|
|
4
|
-
//#region src/RS/to/input/linked-events-sets.ts
|
|
5
|
-
function fromLinkedEventsSets(_linkedEventsSets, _settings, presentEventIds, options) {
|
|
6
|
-
return (_linkedEventsSets ?? []).map((x) => {
|
|
7
|
-
if (x.type === "parallel") {
|
|
8
|
-
if (x.anchor == null) throw new Error(`Linked events set ${getVertexId(x, options)} of type "parallel" is missing "anchor" property`);
|
|
9
|
-
return {
|
|
10
|
-
...x,
|
|
11
|
-
type: "parallel",
|
|
12
|
-
anchor: x.anchor
|
|
13
|
-
};
|
|
14
|
-
} else if (x.type === "sequential") {
|
|
15
|
-
if (x.gap == null) throw new Error(`Linked events set ${getVertexId(x, options)} of type "sequential" is missing "gap" property`);
|
|
16
|
-
return {
|
|
17
|
-
...x,
|
|
18
|
-
type: "sequential",
|
|
19
|
-
gap: x.gap
|
|
20
|
-
};
|
|
21
|
-
} else if (x.type === "custom") return {
|
|
22
|
-
...x,
|
|
23
|
-
type: "custom"
|
|
24
|
-
};
|
|
25
|
-
throw new Error(`Linked events set ${getVertexId(x, options)} is missing "type" property`);
|
|
26
|
-
}).map((x) => {
|
|
27
|
-
const id = getVertexId(x, options);
|
|
28
|
-
const restrictedEvents = x.events.filter((x) => presentEventIds.has(idOf.event(x, options)));
|
|
29
|
-
const type = x.type;
|
|
30
|
-
if (type === "parallel") {
|
|
31
|
-
const configurations = [];
|
|
32
|
-
const anchor = x.anchor;
|
|
33
|
-
switch (anchor) {
|
|
34
|
-
case "start":
|
|
35
|
-
configurations.push(restrictedEvents.map(() => ({
|
|
36
|
-
anchor: "start",
|
|
37
|
-
offset: 0
|
|
38
|
-
})));
|
|
39
|
-
break;
|
|
40
|
-
case "end":
|
|
41
|
-
configurations.push(restrictedEvents.map(() => ({
|
|
42
|
-
anchor: "end",
|
|
43
|
-
offset: 0
|
|
44
|
-
})));
|
|
45
|
-
break;
|
|
46
|
-
case "middle":
|
|
47
|
-
configurations.push(restrictedEvents.map(() => ({
|
|
48
|
-
anchor: "middle",
|
|
49
|
-
offset: 0
|
|
50
|
-
})));
|
|
51
|
-
break;
|
|
52
|
-
default: throw new Error(`Unrecognized anchor "${anchor}" in linked events set ${getVertexId(x, options)}`);
|
|
53
|
-
}
|
|
54
|
-
return {
|
|
55
|
-
id,
|
|
56
|
-
configurations,
|
|
57
|
-
events: restrictedEvents.map((x) => idOf.event(x, options))
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
if (type === "sequential") {
|
|
61
|
-
const { min, max } = x.gap;
|
|
62
|
-
const dt = _settings.discretization;
|
|
63
|
-
const numConfigurations = Math.pow(1 + Math.round(max / dt - min / dt), restrictedEvents.length - 1);
|
|
64
|
-
const maxNumConfigurations = 49;
|
|
65
|
-
if (numConfigurations >= maxNumConfigurations) throw new Error(`Linked events set ${getVertexId(x, options)} has too many configurations (${numConfigurations}, max allowed is ${maxNumConfigurations})`);
|
|
66
|
-
const gaps = [];
|
|
67
|
-
for (let i = min; i <= max; i += dt) gaps.push(i);
|
|
68
|
-
let configurations = [[{
|
|
69
|
-
anchor: "start",
|
|
70
|
-
offset: 0
|
|
71
|
-
}]];
|
|
72
|
-
for (let i = 1; i < restrictedEvents.length; i++) {
|
|
73
|
-
const newConfigurations = [];
|
|
74
|
-
for (const config of configurations) {
|
|
75
|
-
const lastOffsetBottom = config[config.length - 1].offset + restrictedEvents[i - 1].preferredDuration;
|
|
76
|
-
for (const gap of gaps) newConfigurations.push([...config, {
|
|
77
|
-
anchor: "start",
|
|
78
|
-
offset: lastOffsetBottom + gap
|
|
79
|
-
}]);
|
|
80
|
-
}
|
|
81
|
-
configurations = newConfigurations;
|
|
82
|
-
}
|
|
83
|
-
return {
|
|
84
|
-
id,
|
|
85
|
-
configurations,
|
|
86
|
-
events: restrictedEvents.map((x) => idOf.event(x, options))
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
if (type === "custom") throw new Error(`Custom linked events sets are not yet supported (linked events set ${getVertexId(x, options)})`);
|
|
90
|
-
throw new Error(`Unrecognized linked events set type "${type}" in linked events set ${getVertexId(x, options)}`);
|
|
91
|
-
}).filter((x) => x.events.length > 1);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
//#endregion
|
|
95
|
-
export { fromLinkedEventsSets };
|
|
96
|
-
//# sourceMappingURL=linked-events-sets.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"linked-events-sets.mjs","names":[],"sources":["../../../../src/RS/to/input/linked-events-sets.ts"],"sourcesContent":["import type { Types } from '../../types';\nimport type { ConnectedTypes } from '../../make-connected';\nimport { getVertexId } from '../../../core/util';\nimport { idOf } from './util/util';\n\n\nexport function fromLinkedEventsSets (\n _linkedEventsSets: ConnectedTypes.linkedEventsSet[],\n _settings: ConnectedTypes.divisionSettings,\n presentEventIds: Set<string>,\n options: Types.parsedToOptions\n): Types.Entities.LinkedEventsSet[] {\n\n return (_linkedEventsSets ?? [])\n .map(x => {\n // ensure that linkedEventsSets conform to the expected union that is currently not enforced by the schema\n if (x.type === 'parallel') {\n if (x.anchor == null) throw new Error(`Linked events set ${getVertexId(x, options)} of type \"parallel\" is missing \"anchor\" property`);\n return { ...x, type: 'parallel', anchor: x.anchor } as const;\n }\n else if (x.type === 'sequential') {\n if (x.gap == null) throw new Error(`Linked events set ${getVertexId(x, options)} of type \"sequential\" is missing \"gap\" property`);\n return { ...x, type: 'sequential', gap: x.gap } as const;\n }\n else if (x.type === 'custom') {\n return { ...x, type: 'custom' } as const;\n }\n\n throw new Error(`Linked events set ${getVertexId(x, options)} is missing \"type\" property`);\n })\n .map((x): Types.Entities.LinkedEventsSet => {\n type Configurations = Types.Entities.LinkedEventsSet['configurations'];\n const id = getVertexId(x, options);\n\n const restrictedEvents = x.events.filter(x => presentEventIds.has(idOf.event(x, options)));\n const type = x.type;\n if (type === 'parallel') {\n const configurations: Configurations = [];\n const anchor = x.anchor;\n switch (anchor) {\n case 'start': configurations.push(restrictedEvents.map(() => ({ anchor: 'start', offset: 0 }))); break;\n case 'end': configurations.push(restrictedEvents.map(() => ({ anchor: 'end', offset: 0 }))); break;\n case 'middle': configurations.push(restrictedEvents.map(() => ({ anchor: 'middle', offset: 0 }))); break;\n default: throw new Error(`Unrecognized anchor \"${anchor satisfies never as string}\" in linked events set ${getVertexId(x, options)}`);\n }\n return {\n id, configurations,\n events: restrictedEvents.map(x => idOf.event(x, options))\n };\n }\n\n if (type === 'sequential') {\n const { min, max } = x.gap;\n const dt = _settings.discretization;\n\n const numConfigurations = Math.pow(1 + Math.round(max/dt - min/dt), restrictedEvents.length - 1);\n const maxNumConfigurations = 49; // max 3 events and a maximum gap range of 30 minutes => 7^2 = 49\n if (numConfigurations >= maxNumConfigurations) throw new Error(`Linked events set ${getVertexId(x, options)} has too many configurations (${numConfigurations}, max allowed is ${maxNumConfigurations})`);\n\n const gaps: number[] = [];\n for (let i = min; i <= max; i += dt) gaps.push(i);\n\n let configurations: Configurations = [[{ anchor: 'start', offset: 0 }]]; // first event is always at offset 0\n for (let i = 1; i < restrictedEvents.length; i++) {\n const newConfigurations: Configurations = [];\n for (const config of configurations) {\n const lastOffsetBottom = config[config.length - 1].offset + restrictedEvents[i - 1].preferredDuration;\n for (const gap of gaps) {\n newConfigurations.push([...config, { anchor: 'start', offset: lastOffsetBottom + gap }]);\n }\n }\n configurations = newConfigurations;\n }\n\n return {\n id, configurations,\n events: restrictedEvents.map(x => idOf.event(x, options))\n };\n }\n\n if (type === 'custom') {\n throw new Error(`Custom linked events sets are not yet supported (linked events set ${getVertexId(x, options)})`);\n }\n\n throw new Error(`Unrecognized linked events set type \"${type satisfies never as string}\" in linked events set ${getVertexId(x, options)}`);\n })\n .filter(x => x.events.length > 1); // filter out linked events sets that only contain one event after filtering out events that are not present\n}"],"mappings":";;;;AAMA,SAAgB,qBACd,mBACA,WACA,iBACA,SACkC;AAElC,SAAQ,qBAAqB,EAAE,EAC5B,KAAI,MAAK;AAER,MAAI,EAAE,SAAS,YAAY;AACzB,OAAI,EAAE,UAAU,KAAM,OAAM,IAAI,MAAM,qBAAqB,YAAY,GAAG,QAAQ,CAAC,kDAAkD;AACrI,UAAO;IAAE,GAAG;IAAG,MAAM;IAAY,QAAQ,EAAE;IAAQ;aAE5C,EAAE,SAAS,cAAc;AAChC,OAAI,EAAE,OAAO,KAAM,OAAM,IAAI,MAAM,qBAAqB,YAAY,GAAG,QAAQ,CAAC,iDAAiD;AACjI,UAAO;IAAE,GAAG;IAAG,MAAM;IAAc,KAAK,EAAE;IAAK;aAExC,EAAE,SAAS,SAClB,QAAO;GAAE,GAAG;GAAG,MAAM;GAAU;AAGjC,QAAM,IAAI,MAAM,qBAAqB,YAAY,GAAG,QAAQ,CAAC,6BAA6B;GAC1F,CACD,KAAK,MAAsC;EAE1C,MAAM,KAAK,YAAY,GAAG,QAAQ;EAElC,MAAM,mBAAmB,EAAE,OAAO,QAAO,MAAK,gBAAgB,IAAI,KAAK,MAAM,GAAG,QAAQ,CAAC,CAAC;EAC1F,MAAM,OAAO,EAAE;AACf,MAAI,SAAS,YAAY;GACvB,MAAM,iBAAiC,EAAE;GACzC,MAAM,SAAS,EAAE;AACjB,WAAQ,QAAR;IACE,KAAK;AAAU,oBAAe,KAAK,iBAAiB,WAAW;MAAE,QAAQ;MAAU,QAAQ;MAAG,EAAE,CAAC;AAAE;IACnG,KAAK;AAAU,oBAAe,KAAK,iBAAiB,WAAW;MAAE,QAAQ;MAAU,QAAQ;MAAG,EAAE,CAAC;AAAE;IACnG,KAAK;AAAU,oBAAe,KAAK,iBAAiB,WAAW;MAAE,QAAQ;MAAU,QAAQ;MAAG,EAAE,CAAC;AAAE;IACnG,QAAS,OAAM,IAAI,MAAM,wBAAwB,OAAiC,yBAAyB,YAAY,GAAG,QAAQ,GAAG;;AAEvI,UAAO;IACL;IAAI;IACJ,QAAQ,iBAAiB,KAAI,MAAK,KAAK,MAAM,GAAG,QAAQ,CAAC;IAC1D;;AAGH,MAAI,SAAS,cAAc;GACzB,MAAM,EAAE,KAAK,QAAQ,EAAE;GACvB,MAAM,KAAK,UAAU;GAErB,MAAM,oBAAoB,KAAK,IAAI,IAAI,KAAK,MAAM,MAAI,KAAK,MAAI,GAAG,EAAE,iBAAiB,SAAS,EAAE;GAChG,MAAM,uBAAuB;AAC7B,OAAI,qBAAqB,qBAAsB,OAAM,IAAI,MAAM,qBAAqB,YAAY,GAAG,QAAQ,CAAC,gCAAgC,kBAAkB,mBAAmB,qBAAqB,GAAG;GAEzM,MAAM,OAAiB,EAAE;AACzB,QAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAI,MAAK,KAAK,EAAE;GAEjD,IAAI,iBAAiC,CAAC,CAAC;IAAE,QAAQ;IAAS,QAAQ;IAAG,CAAC,CAAC;AACvE,QAAK,IAAI,IAAI,GAAG,IAAI,iBAAiB,QAAQ,KAAK;IAChD,MAAM,oBAAoC,EAAE;AAC5C,SAAK,MAAM,UAAU,gBAAgB;KACnC,MAAM,mBAAmB,OAAO,OAAO,SAAS,GAAG,SAAS,iBAAiB,IAAI,GAAG;AACpF,UAAK,MAAM,OAAO,KAChB,mBAAkB,KAAK,CAAC,GAAG,QAAQ;MAAE,QAAQ;MAAS,QAAQ,mBAAmB;MAAK,CAAC,CAAC;;AAG5F,qBAAiB;;AAGnB,UAAO;IACL;IAAI;IACJ,QAAQ,iBAAiB,KAAI,MAAK,KAAK,MAAM,GAAG,QAAQ,CAAC;IAC1D;;AAGH,MAAI,SAAS,SACX,OAAM,IAAI,MAAM,sEAAsE,YAAY,GAAG,QAAQ,CAAC,GAAG;AAGnH,QAAM,IAAI,MAAM,wCAAwC,KAA+B,yBAAyB,YAAY,GAAG,QAAQ,GAAG;GAC1I,CACD,QAAO,MAAK,EAAE,OAAO,SAAS,EAAE"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { getDayIndex, getVertexId, parseDateInterval } from "../../../core/util.mjs";
|
|
2
|
-
import { makeChainable } from "../../../common/make-chainable/index.mjs";
|
|
3
|
-
import { idOf } from "./util/util.mjs";
|
|
4
|
-
import { getDefaultInterval } from "./intervals.mjs";
|
|
5
|
-
import { parseGroupReferences } from "./util/parse-group-references.mjs";
|
|
6
|
-
import { toDayAndStart } from "./events.mjs";
|
|
7
|
-
import { groupBy, omitBy, uniq } from "lodash-es";
|
|
8
|
-
|
|
9
|
-
//#region src/RS/to/input/locked-times.ts
|
|
10
|
-
function parseRegular(lockedTime, options) {
|
|
11
|
-
const { start: startDate, end: endDate } = parseDateInterval(lockedTime, "locked time");
|
|
12
|
-
const duration = endDate.diff(startDate, "minutes");
|
|
13
|
-
if (duration < 5) throw new Error("(RS::To::parseRegular) Length of a locked time is less than 5 min");
|
|
14
|
-
const start = parseFloat(startDate.format("HH.mm"));
|
|
15
|
-
const day = getDayIndex(startDate);
|
|
16
|
-
const doc = {
|
|
17
|
-
id: idOf.lockedTime(lockedTime, options),
|
|
18
|
-
day,
|
|
19
|
-
start,
|
|
20
|
-
duration
|
|
21
|
-
};
|
|
22
|
-
if (options.includeEntityMeta) doc.name = lockedTime.displayName;
|
|
23
|
-
return doc;
|
|
24
|
-
}
|
|
25
|
-
function parseDynamic(lockedTime, settings, options, defaultInterval) {
|
|
26
|
-
const duration = lockedTime.duration;
|
|
27
|
-
if (!duration || duration < 5) throw new Error("(RS::To::parseDynamic) Length of a locked time is less than 5 min");
|
|
28
|
-
const dependencyReferences = makeChainable(lockedTime.coalesced ?? []).chain((x) => x.filter((x) => x.toModel == "locations").map((x) => getVertexId(x.to, options)), (x) => uniq(x), (x) => x.map((x) => [x])).value;
|
|
29
|
-
const days = lockedTime.intervals ? makeChainable(lockedTime.intervals).chain((x) => x.map((x) => getDayIndex(x.start)), (x) => uniq(x)).value : void 0;
|
|
30
|
-
const day = days?.length == 1 ? days[0] : void 0;
|
|
31
|
-
if (day != null && lockedTime.coalesced) {
|
|
32
|
-
if (!lockedTime.coalesced.every((x) => !x.to.days?.length || x.to.days.some((x) => x.day == day))) return;
|
|
33
|
-
}
|
|
34
|
-
const distributionKey = lockedTime.type == "COMPLEMENTARY_TIME" ? "COMPLEMENTARY_TIME." + lockedTime.tags?.at(0)?.value : void 0;
|
|
35
|
-
const intervals = lockedTime.intervals ?? defaultInterval;
|
|
36
|
-
const doc = {
|
|
37
|
-
id: idOf.lockedTime(lockedTime, options),
|
|
38
|
-
duration,
|
|
39
|
-
minBreakDuration: false,
|
|
40
|
-
maxDurationVariance: lockedTime.durationVariance,
|
|
41
|
-
groups: parseGroupReferences({
|
|
42
|
-
type: "lockedTime",
|
|
43
|
-
item: lockedTime
|
|
44
|
-
}, options),
|
|
45
|
-
dependencies: dependencyReferences,
|
|
46
|
-
intervals: idOf.intervalPairReference(intervals, void 0, options),
|
|
47
|
-
distributionKey,
|
|
48
|
-
...days && { days },
|
|
49
|
-
...day && { day }
|
|
50
|
-
};
|
|
51
|
-
if (options.partialScheduleOptions) {
|
|
52
|
-
const { includedEvents, omittedEventsHandling } = options.partialScheduleOptions;
|
|
53
|
-
if (includedEvents && !includedEvents.has(doc.id)) {
|
|
54
|
-
if (omittedEventsHandling == "ignore") return;
|
|
55
|
-
if (omittedEventsHandling == "freeze") {
|
|
56
|
-
if (lockedTime.parked || !lockedTime.start || !lockedTime.duration) return;
|
|
57
|
-
Object.assign(doc, toDayAndStart(lockedTime.start));
|
|
58
|
-
doc.duration = lockedTime.duration;
|
|
59
|
-
doc.maxDurationVariance = 0;
|
|
60
|
-
const numDays = settings.numDays ?? 5;
|
|
61
|
-
doc.days = Array.from({ length: numDays }, (_, i) => i);
|
|
62
|
-
doc.intervals = Array.from({ length: numDays }, () => [{
|
|
63
|
-
start: 0,
|
|
64
|
-
end: 24
|
|
65
|
-
}]);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return omitBy(doc, (x) => x == null);
|
|
70
|
-
}
|
|
71
|
-
function fromLockedTimes(lockedTimes, settings, options) {
|
|
72
|
-
const defaultInterval = getDefaultInterval(settings);
|
|
73
|
-
const blockedTimes = lockedTimes.filter((x) => x.type == null || x.type == "ANY").map((lockedTime) => parseRegular(lockedTime, options)).filter((x) => !!x);
|
|
74
|
-
const complementaryHours = lockedTimes.filter((x) => x.type == "COMPLEMENTARY_TIME").map((x) => parseDynamic(x, settings, options, defaultInterval)).filter((x) => !!x);
|
|
75
|
-
const lunches = lockedTimes.filter((x) => x.type == "LUNCH").map((lockedTime) => parseDynamic(lockedTime, settings, options, defaultInterval)).filter((x) => !!x);
|
|
76
|
-
return {
|
|
77
|
-
events: [...complementaryHours, ...lunches],
|
|
78
|
-
activities: Object.entries(groupBy(complementaryHours, (x) => [x.distributionKey].flat().toSorted().join("|"))).map(([id, events]) => ({
|
|
79
|
-
id: `COMPLEMENTARY_TIME.${id}`,
|
|
80
|
-
events: events.map((x) => x.id)
|
|
81
|
-
})),
|
|
82
|
-
blockedTimes
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
//#endregion
|
|
87
|
-
export { fromLockedTimes };
|
|
88
|
-
//# sourceMappingURL=locked-times.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"locked-times.mjs","names":[],"sources":["../../../../src/RS/to/input/locked-times.ts"],"sourcesContent":["import { groupBy, omitBy, uniq } from 'lodash-es';\nimport type { ConnectedTypes } from '../../make-connected';\nimport { getDayIndex, getVertexId, parseDateInterval } from '../../../core/util';\nimport { idOf } from './util/util';\nimport { parseGroupReferences } from './util/parse-group-references';\nimport type { Types } from '../../types';\nimport { makeChainable } from '../../../common/make-chainable';\nimport { toDayAndStart } from './events';\nimport { getDefaultInterval } from './intervals';\nimport type { Interval } from '../../../core/interfaces';\n\nfunction parseRegular (\n lockedTime: ConnectedTypes.lockedTime,\n options: Types.parsedToOptions,\n): Types.Entities.BlockedTime | undefined {\n const { start: startDate, end: endDate } = parseDateInterval(lockedTime, 'locked time');\n\n const duration = endDate.diff(startDate, 'minutes');\n if (duration < 5) throw new Error('(RS::To::parseRegular) Length of a locked time is less than 5 min');\n\n const start = parseFloat(startDate.format('HH.mm'));\n const day = getDayIndex(startDate);\n\n const doc: Types.Entities.BlockedTime = {\n id: idOf.lockedTime(lockedTime, options),\n day: day,\n start: start,\n duration: duration,\n };\n\n if (options.includeEntityMeta) {\n doc.name = lockedTime.displayName;\n }\n\n return doc;\n};\n\nfunction parseDynamic (\n lockedTime: ConnectedTypes.lockedTime,\n settings: ConnectedTypes.divisionSettings,\n options: Types.parsedToOptions,\n defaultInterval: Interval[]\n) {\n const duration = lockedTime.duration;\n if (!duration || duration < 5) throw new Error('(RS::To::parseDynamic) Length of a locked time is less than 5 min');\n\n const dependencyReferences = makeChainable(lockedTime.coalesced ?? [])\n .chain(\n x => x\n .filter(x => x.toModel == 'locations')\n .map(x => getVertexId(x.to, options)),\n x => uniq(x),\n x => x.map(x => [x])\n )\n .value;\n\n const days = lockedTime.intervals\n ? makeChainable(lockedTime.intervals)\n .chain(\n x => x.map(x => getDayIndex(x.start)),\n x => uniq(x),\n )\n .value\n : undefined;\n const day = days?.length == 1 ? days[0] : undefined;\n\n // ignore locked times that reside on days that are not part of any coalesced's days\n if (day != null && lockedTime.coalesced) {\n const allowedByEvery = lockedTime.coalesced.every(x => !x.to.days?.length || x.to.days.some(x => x.day == day));\n if (!allowedByEvery) return;\n }\n\n // each type (tag) of complementary hours should distribute evenly\n const distributionKey = lockedTime.type == 'COMPLEMENTARY_TIME'\n ? 'COMPLEMENTARY_TIME.' + lockedTime.tags?.at(0)?.value\n : undefined;\n\n const intervals = lockedTime.intervals ?? defaultInterval;\n\n const doc: Types.Entities.Event = {\n id: idOf.lockedTime(lockedTime, options),\n duration: duration,\n minBreakDuration: false,\n maxDurationVariance: lockedTime.durationVariance,\n groups: parseGroupReferences({ type: 'lockedTime', item: lockedTime }, options),\n dependencies: dependencyReferences,\n intervals: idOf.intervalPairReference(intervals, undefined, options),\n distributionKey,\n ...days && { days },\n ...day && { day },\n };\n\n\n ////\n //// filter based on partialScheduleOptions\n ////\n if (options.partialScheduleOptions) {\n const { includedEvents, omittedEventsHandling } = options.partialScheduleOptions;\n if (includedEvents && !includedEvents.has(doc.id)) {\n\n if (omittedEventsHandling == 'ignore') return;\n\n if (omittedEventsHandling == 'freeze') {\n // must not be parked and have a start and duration to be frozen, otherwise it's ignored\n if (lockedTime.parked || !lockedTime.start || !lockedTime.duration) return;\n\n // fix day, start and end\n Object.assign(doc, toDayAndStart(lockedTime.start));\n doc.duration = lockedTime.duration;\n doc.maxDurationVariance = 0;\n\n // override intervals and days to not cause conflicts\n const numDays = settings.numDays ?? 5;\n doc.days = Array.from({ length: numDays }, (_, i) => i);\n doc.intervals = Array.from({ length: numDays }, () => [{ start: 0, end: 24.00 }]);\n\n // fix locations\n // > locations are always fixed for locked times\n }\n }\n }\n\n return omitBy(doc, x => x == null) as Types.Entities.Event;\n}\n\ntype Out = {\n events: Types.Entities.Event[];\n activities: Types.Entities.Activity[];\n blockedTimes: Types.Entities.BlockedTime[];\n};\nexport function fromLockedTimes (\n lockedTimes: ConnectedTypes.lockedTime[],\n settings: ConnectedTypes.divisionSettings,\n options: Types.parsedToOptions,\n): Out {\n const defaultInterval = getDefaultInterval(settings);\n\n const blockedTimes = lockedTimes\n .filter(x => x.type == null || x.type == 'ANY')\n .map(lockedTime => parseRegular(lockedTime, options))\n .filter(x => !!x) as Types.Entities.BlockedTime[];\n\n const complementaryHours = lockedTimes\n .filter(x => x.type == 'COMPLEMENTARY_TIME')\n .map(x => parseDynamic(x, settings, options, defaultInterval))\n .filter(x => !!x)\n\n const lunches = lockedTimes\n .filter(x => x.type == 'LUNCH')\n .map(lockedTime => parseDynamic(lockedTime, settings, options, defaultInterval))\n .filter(x => !!x);\n\n const events = [...complementaryHours, ...lunches]\n\n const activities = Object.entries(groupBy(complementaryHours, x => [x.distributionKey].flat().toSorted().join('|')))\n .map(([id, events]) => ({ id: `COMPLEMENTARY_TIME.${id}`, events: events.map(x => x.id) }));\n\n return { events, activities, blockedTimes };\n};"],"mappings":";;;;;;;;;AAWA,SAAS,aACP,YACA,SACwC;CACxC,MAAM,EAAE,OAAO,WAAW,KAAK,YAAY,kBAAkB,YAAY,cAAc;CAEvF,MAAM,WAAW,QAAQ,KAAK,WAAW,UAAU;AACnD,KAAI,WAAW,EAAG,OAAM,IAAI,MAAM,oEAAoE;CAEtG,MAAM,QAAQ,WAAW,UAAU,OAAO,QAAQ,CAAC;CACnD,MAAM,MAAQ,YAAY,UAAU;CAEpC,MAAM,MAAkC;EACtC,IAAU,KAAK,WAAW,YAAY,QAAQ;EACpC;EACA;EACA;EACX;AAED,KAAI,QAAQ,kBACV,KAAI,OAAO,WAAW;AAGxB,QAAO;;AAGT,SAAS,aACP,YACA,UACA,SACA,iBACA;CACA,MAAM,WAAW,WAAW;AAC5B,KAAI,CAAC,YAAY,WAAW,EAAG,OAAM,IAAI,MAAM,oEAAoE;CAEnH,MAAM,uBAAuB,cAAc,WAAW,aAAa,EAAE,CAAC,CACnE,OACC,MAAK,EACF,QAAO,MAAK,EAAE,WAAW,YAAY,CACrC,KAAI,MAAK,YAAY,EAAE,IAAI,QAAQ,CAAC,GACvC,MAAK,KAAK,EAAE,GACZ,MAAK,EAAE,KAAI,MAAK,CAAC,EAAE,CAAC,CACrB,CACA;CAEH,MAAM,OAAO,WAAW,YACpB,cAAc,WAAW,UAAU,CAClC,OACC,MAAK,EAAE,KAAI,MAAK,YAAY,EAAE,MAAM,CAAC,GACrC,MAAK,KAAK,EAAE,CACb,CACA,QACD;CACJ,MAAM,MAAM,MAAM,UAAU,IAAI,KAAK,KAAK;AAG1C,KAAI,OAAO,QAAQ,WAAW,WAE5B;MAAI,CADmB,WAAW,UAAU,OAAM,MAAK,CAAC,EAAE,GAAG,MAAM,UAAU,EAAE,GAAG,KAAK,MAAK,MAAK,EAAE,OAAO,IAAI,CAAC,CAC1F;;CAIvB,MAAM,kBAAkB,WAAW,QAAQ,uBACvC,wBAAwB,WAAW,MAAM,GAAG,EAAE,EAAE,QAChD;CAEJ,MAAM,YAAY,WAAW,aAAa;CAE1C,MAAM,MAA4B;EAChC,IAAqB,KAAK,WAAW,YAAY,QAAQ;EACpC;EACrB,kBAAqB;EACrB,qBAAqB,WAAW;EAChC,QAAqB,qBAAqB;GAAE,MAAM;GAAc,MAAM;GAAY,EAAE,QAAQ;EAC5F,cAAqB;EACrB,WAAqB,KAAK,sBAAsB,WAAW,QAAW,QAAQ;EAC9E;EACA,GAAG,QAAQ,EAAE,MAAM;EACnB,GAAG,OAAO,EAAE,KAAK;EAClB;AAMD,KAAI,QAAQ,wBAAwB;EAClC,MAAM,EAAE,gBAAgB,0BAA0B,QAAQ;AAC1D,MAAI,kBAAkB,CAAC,eAAe,IAAI,IAAI,GAAG,EAAE;AAEjD,OAAI,yBAAyB,SAAU;AAEvC,OAAI,yBAAyB,UAAU;AAErC,QAAI,WAAW,UAAU,CAAC,WAAW,SAAS,CAAC,WAAW,SAAU;AAGpE,WAAO,OAAO,KAAK,cAAc,WAAW,MAAM,CAAC;AACnD,QAAI,WAAW,WAAW;AAC1B,QAAI,sBAAsB;IAG1B,MAAM,UAAU,SAAS,WAAW;AACpC,QAAI,OAAY,MAAM,KAAK,EAAE,QAAQ,SAAS,GAAG,GAAG,MAAM,EAAE;AAC5D,QAAI,YAAY,MAAM,KAAK,EAAE,QAAQ,SAAS,QAAQ,CAAC;KAAE,OAAO;KAAG,KAAK;KAAO,CAAC,CAAC;;;;AAQvF,QAAO,OAAO,MAAK,MAAK,KAAK,KAAK;;AAQpC,SAAgB,gBACd,aACA,UACA,SACK;CACL,MAAM,kBAAkB,mBAAmB,SAAS;CAEpD,MAAM,eAAe,YAClB,QAAO,MAAK,EAAE,QAAQ,QAAQ,EAAE,QAAQ,MAAM,CAC9C,KAAI,eAAc,aAAa,YAAY,QAAQ,CAAC,CACpD,QAAO,MAAK,CAAC,CAAC,EAAE;CAEnB,MAAM,qBAAqB,YACxB,QAAO,MAAK,EAAE,QAAQ,qBAAqB,CAC3C,KAAI,MAAK,aAAa,GAAG,UAAU,SAAS,gBAAgB,CAAC,CAC7D,QAAO,MAAK,CAAC,CAAC,EAAE;CAEnB,MAAM,UAAU,YACb,QAAO,MAAK,EAAE,QAAQ,QAAQ,CAC9B,KAAI,eAAc,aAAa,YAAY,UAAU,SAAS,gBAAgB,CAAC,CAC/E,QAAO,MAAK,CAAC,CAAC,EAAE;AAOnB,QAAO;EAAE,QALM,CAAC,GAAG,oBAAoB,GAAG,QAAQ;EAKjC,YAHE,OAAO,QAAQ,QAAQ,qBAAoB,MAAK,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,CACjH,KAAK,CAAC,IAAI,aAAa;GAAE,IAAI,sBAAsB;GAAM,QAAQ,OAAO,KAAI,MAAK,EAAE,GAAG;GAAE,EAAE;EAEhE;EAAc"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { range } from "../../../common/functions.mjs";
|
|
2
|
-
import { getVertexId } from "../../../core/util.mjs";
|
|
3
|
-
import moment from "moment";
|
|
4
|
-
|
|
5
|
-
//#region src/RS/to/input/periods.ts
|
|
6
|
-
function createRange({ start, end }) {
|
|
7
|
-
return {
|
|
8
|
-
start: moment.utc(start).clone().startOf("isoWeek"),
|
|
9
|
-
end: moment.utc(end).clone().endOf("isoWeek")
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
function parsePeriods(periods, division, options) {
|
|
13
|
-
const divisionRange = createRange(division);
|
|
14
|
-
const weeksMap = /* @__PURE__ */ new Map();
|
|
15
|
-
for (const x = divisionRange.start.clone(); x.isSameOrBefore(divisionRange.end); x.add(1, "week")) weeksMap.set(x.toISOString(), false);
|
|
16
|
-
const out = periods.map((p) => {
|
|
17
|
-
const id = getVertexId(p, options);
|
|
18
|
-
const clippedRanges = p.ranges.map((r) => createRange(r)).filter((r) => range.overlaps(r, divisionRange)).map((r) => ({
|
|
19
|
-
start: moment.max(r.start, divisionRange.start).clone(),
|
|
20
|
-
end: moment.min(r.end, divisionRange.end).clone()
|
|
21
|
-
}));
|
|
22
|
-
const activeWeeksMap = new Map(weeksMap);
|
|
23
|
-
clippedRanges.forEach((r) => {
|
|
24
|
-
for (const x = r.start.clone(); x.isSameOrBefore(r.end); x.add(1, "week")) {
|
|
25
|
-
const key = x.toISOString();
|
|
26
|
-
activeWeeksMap.set(key, true);
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
const weeks = Array.from(activeWeeksMap.entries()).sort((a, b) => moment.utc(a[0]).diff(moment.utc(b[0]))).map((x) => x[1] ? "1" : "0").join("");
|
|
30
|
-
return {
|
|
31
|
-
id,
|
|
32
|
-
weeks,
|
|
33
|
-
overlaps: weeks.length <= 64 ? weeks : ""
|
|
34
|
-
};
|
|
35
|
-
});
|
|
36
|
-
if (weeksMap.size > 64 && out && out.length <= 64) for (let i = 0; i < out.length; i++) {
|
|
37
|
-
let overlaps = "";
|
|
38
|
-
for (let j = 0; j < out.length; j++) {
|
|
39
|
-
if (i == j) {
|
|
40
|
-
overlaps += "1";
|
|
41
|
-
continue;
|
|
42
|
-
}
|
|
43
|
-
let overlap = false;
|
|
44
|
-
for (let k = 0; k < out[i].weeks.length; k++) if (out[i].weeks[k] === "1" && out[j].weeks[k] === "1") {
|
|
45
|
-
overlap = true;
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
overlaps += overlap ? "1" : "0";
|
|
49
|
-
}
|
|
50
|
-
out[i].overlaps = overlaps;
|
|
51
|
-
}
|
|
52
|
-
return out;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
//#endregion
|
|
56
|
-
export { parsePeriods };
|
|
57
|
-
//# sourceMappingURL=periods.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"periods.mjs","names":[],"sources":["../../../../src/RS/to/input/periods.ts"],"sourcesContent":["import moment from 'moment';\nimport { getVertexId } from '../../../core/util';\nimport type { ConnectedTypes } from '../../make-connected';\nimport type { Types } from '../../types';\nimport { range } from '../../../common/functions';\nimport type { Interval } from '../../../core/interfaces';\n\ntype Range = Partial<Interval<string | moment.Moment | Date>>;\ntype DateRange = Interval<moment.Moment>;\n\nfunction createRange ({ start, end }: Range): DateRange {\n return {\n start: moment.utc(start).clone().startOf('isoWeek'),\n end: moment.utc(end ).clone().endOf ('isoWeek')\n };\n}\n\nexport function parsePeriods (\n periods: ConnectedTypes.period[],\n division: ConnectedTypes.division,\n options: Types.parsedToOptions\n): Types.Entities.Period[] {\n const divisionRange = createRange(division);\n\n // build a mapping of week starts to boolean active flags\n const weeksMap = new Map<string, boolean>();\n for (const x = divisionRange.start.clone(); x.isSameOrBefore(divisionRange.end); x.add(1, 'week')) {\n weeksMap.set(x.toISOString(), false);\n }\n\n const out = periods.map((p): Types.Entities.Period => {\n const id = getVertexId(p, options);\n\n // preserve only the ranges that lay within the division range\n const clippedRanges = p.ranges\n .map(r => createRange(r))\n .filter(r => range.overlaps(r, divisionRange))\n .map(r => ({\n start: moment.max(r.start, divisionRange.start).clone(),\n end: moment.min(r.end, divisionRange.end ).clone()\n }));\n\n // get the active weeks by checking which weeks in the division are covered by the clipped ranges\n const activeWeeksMap = new Map(weeksMap);\n clippedRanges.forEach(r => {\n for (const x = r.start.clone(); x.isSameOrBefore(r.end); x.add(1, 'week')) {\n const key = x.toISOString();\n activeWeeksMap.set(key, true);\n }\n });\n\n // build the active weeks string\n const weeks = Array.from(activeWeeksMap.entries())\n .sort((a, b) => moment.utc(a[0]).diff(moment.utc(b[0])))\n .map(x => x[1] ? '1' : '0')\n .join('');\n\n const overlaps = weeks.length <= 64 ? weeks : '';\n\n return { id, weeks, overlaps };\n });\n\n // If there are more than 64 weeks but less than or equal to 64 periods, we compute the overlap between periods directly.\n if (weeksMap.size > 64 && out && out.length <= 64) {\n for (let i = 0; i < out.length; i++) {\n let overlaps = '';\n for (let j = 0; j < out.length; j++) {\n // self-overlap\n if (i == j) {\n overlaps += '1';\n continue;\n }\n\n // overlap with other periods\n let overlap = false;\n for (let k = 0; k < out[i].weeks.length; k++) {\n if (out[i].weeks[k] === '1' && out[j].weeks[k] === '1') {\n overlap = true;\n break;\n }\n }\n overlaps += overlap ? '1' : '0';\n }\n out[i].overlaps = overlaps;\n }\n }\n\n return out;\n}"],"mappings":";;;;;AAUA,SAAS,YAAa,EAAE,OAAO,OAAyB;AACtD,QAAO;EACL,OAAO,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,UAAU;EACnD,KAAO,OAAO,IAAI,IAAM,CAAC,OAAO,CAAC,MAAQ,UAAU;EACpD;;AAGH,SAAgB,aACd,SACA,UACA,SACyB;CACzB,MAAM,gBAAgB,YAAY,SAAS;CAG3C,MAAM,2BAAW,IAAI,KAAsB;AAC3C,MAAK,MAAM,IAAI,cAAc,MAAM,OAAO,EAAE,EAAE,eAAe,cAAc,IAAI,EAAE,EAAE,IAAI,GAAG,OAAO,CAC/F,UAAS,IAAI,EAAE,aAAa,EAAE,MAAM;CAGtC,MAAM,MAAM,QAAQ,KAAK,MAA6B;EACpD,MAAM,KAAK,YAAY,GAAG,QAAQ;EAGlC,MAAM,gBAAgB,EAAE,OACrB,KAAI,MAAK,YAAY,EAAE,CAAC,CACxB,QAAO,MAAK,MAAM,SAAS,GAAG,cAAc,CAAC,CAC7C,KAAI,OAAM;GACT,OAAO,OAAO,IAAI,EAAE,OAAO,cAAc,MAAM,CAAC,OAAO;GACvD,KAAO,OAAO,IAAI,EAAE,KAAO,cAAc,IAAM,CAAC,OAAO;GACxD,EAAE;EAGL,MAAM,iBAAiB,IAAI,IAAI,SAAS;AACxC,gBAAc,SAAQ,MAAK;AACzB,QAAK,MAAM,IAAI,EAAE,MAAM,OAAO,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,IAAI,GAAG,OAAO,EAAE;IACzE,MAAM,MAAM,EAAE,aAAa;AAC3B,mBAAe,IAAI,KAAK,KAAK;;IAE/B;EAGF,MAAM,QAAQ,MAAM,KAAK,eAAe,SAAS,CAAC,CAC/C,MAAM,GAAG,MAAM,OAAO,IAAI,EAAE,GAAG,CAAC,KAAK,OAAO,IAAI,EAAE,GAAG,CAAC,CAAC,CACvD,KAAI,MAAK,EAAE,KAAK,MAAM,IAAI,CAC1B,KAAK,GAAG;AAIX,SAAO;GAAE;GAAI;GAAO,UAFH,MAAM,UAAU,KAAK,QAAQ;GAEhB;GAC9B;AAGF,KAAI,SAAS,OAAO,MAAM,OAAO,IAAI,UAAU,GAC7C,MAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;EACnC,IAAI,WAAW;AACf,OAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AAEnC,OAAI,KAAK,GAAG;AACV,gBAAY;AACZ;;GAIF,IAAI,UAAU;AACd,QAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,MAAM,QAAQ,IACvC,KAAI,IAAI,GAAG,MAAM,OAAO,OAAO,IAAI,GAAG,MAAM,OAAO,KAAK;AACtD,cAAU;AACV;;AAGJ,eAAY,UAAU,MAAM;;AAE9B,MAAI,GAAG,WAAW;;AAItB,QAAO"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
//#region src/RS/to/input/settings.ts
|
|
2
|
-
function parseSettings(settings) {
|
|
3
|
-
if (!settings.numDays) throw new Error("(RS::To::parseSettings) numDays is falsy");
|
|
4
|
-
if (!settings.discretization) throw new Error("(RS::To::parseSettings) discretization is falsy");
|
|
5
|
-
return {
|
|
6
|
-
numDays: settings.numDays,
|
|
7
|
-
discretization: settings.discretization
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
//#endregion
|
|
12
|
-
export { parseSettings };
|
|
13
|
-
//# sourceMappingURL=settings.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"settings.mjs","names":[],"sources":["../../../../src/RS/to/input/settings.ts"],"sourcesContent":["import type { Types } from '../../types';\nimport type { ConnectedTypes } from '../../make-connected';\n\nexport function parseSettings (settings: ConnectedTypes.divisionSettings): Types.Entities.Settings {\n\n if (!settings.numDays) throw new Error('(RS::To::parseSettings) numDays is falsy');\n if (!settings.discretization) throw new Error('(RS::To::parseSettings) discretization is falsy');\n\n return {\n numDays: settings.numDays,\n discretization: settings.discretization,\n };\n};"],"mappings":";AAGA,SAAgB,cAAe,UAAoE;AAEjG,KAAI,CAAC,SAAS,QAAgB,OAAM,IAAI,MAAM,2CAA2C;AACzF,KAAI,CAAC,SAAS,eAAgB,OAAM,IAAI,MAAM,kDAAkD;AAEhG,QAAO;EACL,SAAgB,SAAS;EACzB,gBAAgB,SAAS;EAC1B"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { idOf } from "./util/util.mjs";
|
|
2
|
-
import { parseDayIndices } from "./util/parse-days.mjs";
|
|
3
|
-
import { parseMaxWorkingHours } from "./util/parse-max-working-hours.mjs";
|
|
4
|
-
import { getDefaultInterval } from "./intervals.mjs";
|
|
5
|
-
import { omitBy } from "lodash-es";
|
|
6
|
-
|
|
7
|
-
//#region src/RS/to/input/teachers.ts
|
|
8
|
-
function fromTeachers(teachers, settings, options) {
|
|
9
|
-
const defaultInterval = getDefaultInterval(settings);
|
|
10
|
-
return teachers.map((teacher) => {
|
|
11
|
-
const intervals = teacher.intervals ?? defaultInterval;
|
|
12
|
-
const rootInterval = teacher.rootInterval ?? settings.defaultRootInterval;
|
|
13
|
-
const doc = {
|
|
14
|
-
id: idOf.teacher(teacher, options),
|
|
15
|
-
group_type: "personal",
|
|
16
|
-
minimizeGaps: false,
|
|
17
|
-
minimizeDependencyAlternation: true,
|
|
18
|
-
weight: teacher.weight,
|
|
19
|
-
intervals: idOf.intervalPairReference(intervals, rootInterval, options),
|
|
20
|
-
days: parseDayIndices(teacher.days, settings),
|
|
21
|
-
blockedTimes: teacher.lockedTimes?.map((x) => idOf.lockedTime(x, options)),
|
|
22
|
-
minBreakDuration: teacher.minBreakLength,
|
|
23
|
-
...parseMaxWorkingHours(teacher)
|
|
24
|
-
};
|
|
25
|
-
if (options.includeEntityMeta) doc.name = teacher.displayName;
|
|
26
|
-
return omitBy(doc, (x) => x == null);
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
//#endregion
|
|
31
|
-
export { fromTeachers };
|
|
32
|
-
//# sourceMappingURL=teachers.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"teachers.mjs","names":[],"sources":["../../../../src/RS/to/input/teachers.ts"],"sourcesContent":["import { omitBy } from 'lodash-es';\nimport type { Types } from '../../types';\nimport type { ConnectedTypes } from '../../make-connected';\nimport { parseMaxWorkingHours } from './util/parse-max-working-hours';\nimport { parseDayIndices } from './util/parse-days';\nimport { idOf } from './util/util';\nimport { getDefaultInterval } from './intervals';\n\nexport function fromTeachers (\n teachers: ConnectedTypes.teacher[],\n settings: ConnectedTypes.divisionSettings,\n options: Types.parsedToOptions\n): Types.Entities.Group[] {\n const defaultInterval = getDefaultInterval(settings);\n\n return teachers\n .map(teacher => {\n const intervals = teacher.intervals ?? defaultInterval;\n const rootInterval = teacher.rootInterval ?? settings.defaultRootInterval;\n\n const doc: Types.Entities.Group = {\n id: idOf.teacher(teacher, options),\n group_type: 'personal',\n minimizeGaps: false,\n minimizeDependencyAlternation: true,\n weight: teacher.weight,\n intervals: idOf.intervalPairReference(intervals, rootInterval, options),\n days: parseDayIndices(teacher.days, settings),\n blockedTimes: teacher.lockedTimes?.map(x => idOf.lockedTime(x, options)),\n minBreakDuration: teacher.minBreakLength,\n ...parseMaxWorkingHours(teacher),\n };\n\n if (options.includeEntityMeta) {\n doc.name = teacher.displayName;\n }\n\n return omitBy(doc, x => x == null) as Types.Entities.Group;\n });\n};\n"],"mappings":";;;;;;;AAQA,SAAgB,aACd,UACA,UACA,SACwB;CACxB,MAAM,kBAAkB,mBAAmB,SAAS;AAEpD,QAAO,SACJ,KAAI,YAAW;EACd,MAAM,YAAe,QAAQ,aAAgB;EAC7C,MAAM,eAAe,QAAQ,gBAAgB,SAAS;EAEtD,MAAM,MAA4B;GAChC,IAA+B,KAAK,QAAQ,SAAS,QAAQ;GAC7D,YAA+B;GAC/B,cAA+B;GAC/B,+BAA+B;GAC/B,QAA+B,QAAQ;GACvC,WAA+B,KAAK,sBAAsB,WAAW,cAAc,QAAQ;GAC3F,MAA+B,gBAAgB,QAAQ,MAAM,SAAS;GACtE,cAA+B,QAAQ,aAAa,KAAI,MAAK,KAAK,WAAW,GAAG,QAAQ,CAAC;GACzF,kBAA+B,QAAQ;GACvC,GAAG,qBAAqB,QAAQ;GACjC;AAED,MAAI,QAAQ,kBACV,KAAI,OAAO,QAAQ;AAGrB,SAAO,OAAO,MAAK,MAAK,KAAK,KAAK;GAClC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
//#region src/RS/to/input/util/parse-days.ts
|
|
2
|
-
function parseDayIndices(days, settings) {
|
|
3
|
-
if (!days) return;
|
|
4
|
-
if (days.length) return days.map((x) => x.day);
|
|
5
|
-
return [...Array.from({ length: settings.numDays })].map((_, i) => i);
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
//#endregion
|
|
9
|
-
export { parseDayIndices };
|
|
10
|
-
//# sourceMappingURL=parse-days.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-days.mjs","names":[],"sources":["../../../../../src/RS/to/input/util/parse-days.ts"],"sourcesContent":["import type { ConnectedTypes } from '../../../make-connected';\nimport type { Types } from '../../../types';\n\nexport function parseDayIndices (\n days: ConnectedTypes.event['days'] | ConnectedTypes.course['days'],\n settings: ConnectedTypes.divisionSettings\n): Types.Shared.DayIndices | undefined {\n if (!days) return;\n\n if (days.length) return days.map(x => x.day);\n\n // empty days means all days selected (since no days selected is prohibited)\n return [...Array.from({ length: settings.numDays })].map((_, i) => i);\n}"],"mappings":";AAGA,SAAgB,gBACd,MACA,UACqC;AACrC,KAAI,CAAC,KAAM;AAEX,KAAI,KAAK,OAAQ,QAAO,KAAK,KAAI,MAAK,EAAE,IAAI;AAG5C,QAAO,CAAC,GAAG,MAAM,KAAK,EAAE,QAAQ,SAAS,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,EAAE"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { getVertexId } from "../../../../core/util.mjs";
|
|
2
|
-
import { makeChainable } from "../../../../common/make-chainable/index.mjs";
|
|
3
|
-
import { idOf } from "./util.mjs";
|
|
4
|
-
import { groupBy } from "lodash-es";
|
|
5
|
-
|
|
6
|
-
//#region src/RS/to/input/util/parse-group-references.ts
|
|
7
|
-
/**
|
|
8
|
-
* Merges group references with their parent groups while ensuring that a group is present at
|
|
9
|
-
* most once and that parent groups are prioritized as they carry no member exclusions.
|
|
10
|
-
*/
|
|
11
|
-
function mergeWithParentGroups(references, options) {
|
|
12
|
-
return makeChainable(references).chain((x) => x.flatMap((x) => [x, ...(x.to.parentGroups ?? []).map((y) => ({
|
|
13
|
-
to: y,
|
|
14
|
-
isParentGroup: true
|
|
15
|
-
}))]), (x) => groupBy(x, (x) => getVertexId(x.to, options)), (x) => Object.values(x).map((xs) => xs.find((x) => x.isParentGroup) ?? xs.at(0)).filter((x) => x != null)).value;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Returns the source of group, teacher, and participant references for a given item while taking into account event inheritance.
|
|
19
|
-
*/
|
|
20
|
-
function getSources(itemAndType) {
|
|
21
|
-
if (itemAndType.type == "lockedTime") return {
|
|
22
|
-
teachers: itemAndType.item.coalesced?.filter((x) => x.toModel == "teachers"),
|
|
23
|
-
groups: itemAndType.item.coalesced?.filter((x) => x.toModel == "groups")
|
|
24
|
-
};
|
|
25
|
-
const item = itemAndType.item;
|
|
26
|
-
const teachersSource = item.teachers ? item : "course" in item && item.course ? item.course : item;
|
|
27
|
-
const groupsAndParticipantsSource = item.groups || item.participants ? item : "course" in item && item.course ? item.course : item;
|
|
28
|
-
return {
|
|
29
|
-
teachers: teachersSource.teachers ?? void 0,
|
|
30
|
-
groups: groupsAndParticipantsSource.groups ?? void 0,
|
|
31
|
-
participants: groupsAndParticipantsSource.participants ?? void 0
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Parses group references from a course or event while carrying out event inheritance and taking into account parent groups.
|
|
36
|
-
*/
|
|
37
|
-
function parseGroupReferences(itemAndType, options) {
|
|
38
|
-
const sources = getSources(itemAndType);
|
|
39
|
-
const teacherReferences = (sources.teachers ?? []).map((x) => ({ group: idOf.teacher(x.to, options) }));
|
|
40
|
-
const groupReferences = mergeWithParentGroups(sources.groups ?? [], options).map((x) => {
|
|
41
|
-
if (x.to.species != "class" || x.exclude?.length) return { individuals: idOf.groupReference(x, options) };
|
|
42
|
-
return { group: idOf.group(x.to, options) };
|
|
43
|
-
});
|
|
44
|
-
const participantReferences = sources.participants?.length ? { individuals: sources.participants.map((x) => idOf.person(x.to, options)) } : void 0;
|
|
45
|
-
return new Array().concat(teacherReferences, groupReferences, participantReferences ? [participantReferences] : []).map((x) => [x]);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
//#endregion
|
|
49
|
-
export { parseGroupReferences };
|
|
50
|
-
//# sourceMappingURL=parse-group-references.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
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 parseLocationReferences(references, options) {
|
|
7
|
-
if (!references) return;
|
|
8
|
-
return makeChainable(references).chain((x) => x.map(({ locations, groupIndex, rank }) => ({
|
|
9
|
-
dependency: getVertexId(locations[0], options),
|
|
10
|
-
rank,
|
|
11
|
-
groupIndex
|
|
12
|
-
})).filter((x) => {
|
|
13
|
-
const includedLocations = options.partialScheduleOptions?.includedLocations;
|
|
14
|
-
if (!includedLocations) return true;
|
|
15
|
-
return includedLocations.has(x.dependency);
|
|
16
|
-
}), (x) => groupBy(x, (x) => x.groupIndex), (x) => Object.values(x).map((xs) => xs.map((x) => ({
|
|
17
|
-
dependency: x.dependency,
|
|
18
|
-
...x.rank != null && { rank: x.rank }
|
|
19
|
-
})))).value;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
//#endregion
|
|
23
|
-
export { parseLocationReferences };
|
|
24
|
-
//# sourceMappingURL=parse-location-references.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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\nexport function parseLocationReferences (\n references: AvailableLocation.Util.Value<ConnectedTypes.location, { groupIndex?: number; rank?: number; }>[] | null | undefined,\n options: Types.parsedToOptions\n) {\n if (!references) return;\n\n return makeChainable(references)\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 // filter location references 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\nexport 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":";;;;;AAQA,SAAgB,wBACd,YACA,SACA;AACA,KAAI,CAAC,WAAY;AAEjB,QAAO,cAAc,WAAW,CAC7B,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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,58 +0,0 @@
|
|
|
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
|
-
let idOf;
|
|
22
|
-
(function(_idOf) {
|
|
23
|
-
function person(person, options) {
|
|
24
|
-
return `${COLLECTION_ID.persons}.${getVertexId(person, options)}`;
|
|
25
|
-
}
|
|
26
|
-
_idOf.person = person;
|
|
27
|
-
function group(group, options) {
|
|
28
|
-
return `${COLLECTION_ID.groups}.${getVertexId(group, options)}`;
|
|
29
|
-
}
|
|
30
|
-
_idOf.group = group;
|
|
31
|
-
function teacher(teacher, options) {
|
|
32
|
-
return `${COLLECTION_ID.teachers}.${getVertexId(teacher, options)}`;
|
|
33
|
-
}
|
|
34
|
-
_idOf.teacher = teacher;
|
|
35
|
-
function event(event, options) {
|
|
36
|
-
return `${COLLECTION_ID.events}.${getVertexId(event, options)}`;
|
|
37
|
-
}
|
|
38
|
-
_idOf.event = event;
|
|
39
|
-
function lockedTime(lockedTime, options) {
|
|
40
|
-
return `${COLLECTION_ID.lockedTimes}.${getVertexId(lockedTime, options)}`;
|
|
41
|
-
}
|
|
42
|
-
_idOf.lockedTime = lockedTime;
|
|
43
|
-
function groupReference(group, options) {
|
|
44
|
-
return `${COLLECTION_ID.groups}.${getVertexId(group.to, options)}` + (group.exclude?.length ? ".exclude." + group.exclude.map((x) => getVertexId(x, options)).sort().join(".") : "");
|
|
45
|
-
}
|
|
46
|
-
_idOf.groupReference = groupReference;
|
|
47
|
-
function intervalPairReference(interval, rootInterval, options) {
|
|
48
|
-
if (interval === null) interval = void 0;
|
|
49
|
-
if (rootInterval === null) rootInterval = void 0;
|
|
50
|
-
if (interval && interval.length == 0) interval = void 0;
|
|
51
|
-
return (rootInterval ? getVertexId(rootInterval, options) + "&" : "") + JSON.stringify(interval);
|
|
52
|
-
}
|
|
53
|
-
_idOf.intervalPairReference = intervalPairReference;
|
|
54
|
-
})(idOf || (idOf = {}));
|
|
55
|
-
|
|
56
|
-
//#endregion
|
|
57
|
-
export { COLLECTION_ID, idOf, min2hrs, toTimeFloat };
|
|
58
|
-
//# sourceMappingURL=util.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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',\n groups: 'groups',\n teachers: 'teachers',\n events: 'events',\n lockedTimes: 'lockedtimes',\n} satisfies Partial<Record<Collection, string>>;\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,\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,\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,\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,\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"],"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;;;CAOQ,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"}
|