@royalschedule/maps 4.0.15 → 4.0.16
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.map +1 -1
- package/dist/Additio/from/events.js.map +1 -1
- package/dist/Additio/from/groups.js.map +1 -1
- package/dist/Additio/from/index.js.map +1 -1
- package/dist/Additio/from/locations.js.map +1 -1
- package/dist/Additio/from/persons.js.map +1 -1
- package/dist/Additio/from/schedules.d.ts +7 -6
- package/dist/Additio/from/schedules.js +2 -4
- package/dist/Additio/from/schedules.js.map +1 -1
- package/dist/Additio/from/teachers.js.map +1 -1
- package/dist/Additio/to/index.d.ts +13 -11
- package/dist/Additio/to/schedules.js +2 -4
- package/dist/Additio/to/schedules.js.map +1 -1
- package/dist/Admentum/from/courses.js.map +1 -1
- package/dist/Admentum/from/events.js.map +1 -1
- package/dist/Admentum/from/groups.js.map +1 -1
- package/dist/Admentum/from/index.js.map +1 -1
- package/dist/Admentum/from/locations.js.map +1 -1
- package/dist/Admentum/from/persons.js.map +1 -1
- package/dist/Admentum/from/schedules.d.ts +7 -6
- package/dist/Admentum/from/schedules.js +2 -4
- package/dist/Admentum/from/schedules.js.map +1 -1
- package/dist/Admentum/from/teachers.js.map +1 -1
- package/dist/Admentum/to/index.d.ts +9 -8
- package/dist/Admentum/to/schedules.js +4 -7
- package/dist/Admentum/to/schedules.js.map +1 -1
- package/dist/Excel/index.d.ts +263 -26
- package/dist/Excel/v1/from/index.js +2 -1
- package/dist/Excel/v1/from/index.js.map +1 -1
- package/dist/Excel/v1/index.d.ts +218 -20
- package/dist/Excel/v2/from/index.js +49 -57
- package/dist/Excel/v2/from/index.js.map +1 -1
- package/dist/Excel/v2/index.d.ts +263 -26
- package/dist/IdunSoft/from/courses.js.map +1 -1
- package/dist/IdunSoft/from/events.js +1 -2
- package/dist/IdunSoft/from/events.js.map +1 -1
- package/dist/IdunSoft/from/groups.js.map +1 -1
- package/dist/IdunSoft/from/index.js.map +1 -1
- package/dist/IdunSoft/from/locations.js.map +1 -1
- package/dist/IdunSoft/from/schedules.d.ts +6 -5
- package/dist/IdunSoft/from/schedules.js.map +1 -1
- package/dist/IdunSoft/from/teachers.js.map +1 -1
- package/dist/IdunSoft/to/index.d.ts +2 -1
- package/dist/IdunSoft/to/schedules.js +5 -8
- package/dist/IdunSoft/to/schedules.js.map +1 -1
- package/dist/InfoMentor/to/index.d.ts +2 -1
- package/dist/InfoMentor/to/schedules.js +3 -4
- package/dist/InfoMentor/to/schedules.js.map +1 -1
- package/dist/PlanDigital/from/index.js.map +1 -1
- package/dist/PlanDigital/from/schedules.js +9 -11
- package/dist/PlanDigital/from/schedules.js.map +1 -1
- package/dist/PlanDigital/index.d.ts +73 -58
- package/dist/Quiculum/file/to/index.d.ts +10 -9
- package/dist/Quiculum/file/to/schedules.js +5 -9
- package/dist/Quiculum/file/to/schedules.js.map +1 -1
- package/dist/RS/from/division.d.ts +2 -1
- package/dist/RS/from/division.js +9 -6
- package/dist/RS/from/division.js.map +1 -1
- package/dist/RS/from/index.js.map +1 -1
- package/dist/RS/from/schedules.d.ts +2 -1
- package/dist/RS/from/schedules.js.map +1 -1
- package/dist/RS/make-connected.d.ts +17 -16
- package/dist/RS/make-connected.js +63 -96
- package/dist/RS/make-connected.js.map +1 -1
- package/dist/RS/to/index.js.map +1 -1
- package/dist/RS/to/initial-configuration.js +4 -6
- package/dist/RS/to/initial-configuration.js.map +1 -1
- package/dist/RS/to/input/collections.js.map +1 -1
- package/dist/RS/to/input/default.js +1 -2
- package/dist/RS/to/input/default.js.map +1 -1
- package/dist/RS/to/input/dependencies.js +1 -3
- package/dist/RS/to/input/dependencies.js.map +1 -1
- package/dist/RS/to/input/dynamic-locked-times.js +1 -2
- package/dist/RS/to/input/dynamic-locked-times.js.map +1 -1
- package/dist/RS/to/input/events.js +5 -3
- package/dist/RS/to/input/events.js.map +1 -1
- package/dist/RS/to/input/groups.js.map +1 -1
- package/dist/RS/to/input/individuals.js +2 -3
- package/dist/RS/to/input/individuals.js.map +1 -1
- package/dist/RS/to/input/input.js +1 -3
- package/dist/RS/to/input/input.js.map +1 -1
- package/dist/RS/to/input/intervals.js +2 -4
- package/dist/RS/to/input/intervals.js.map +1 -1
- package/dist/RS/to/input/periods.js +6 -8
- package/dist/RS/to/input/periods.js.map +1 -1
- package/dist/RS/to/input/settings.js.map +1 -1
- package/dist/RS/to/input/teachers.js.map +1 -1
- package/dist/RS/to/input/util/attach-locked-times.js.map +1 -1
- package/dist/RS/to/input/util/parse-days.js.map +1 -1
- package/dist/RS/to/input/util/parse-group-references.js.map +1 -1
- package/dist/RS/to/input/util/parse-intervals.js +2 -4
- package/dist/RS/to/input/util/parse-intervals.js.map +1 -1
- package/dist/RS/to/input/util/parse-location-references.js +1 -2
- package/dist/RS/to/input/util/parse-location-references.js.map +1 -1
- package/dist/RS/to/input/util/parse-max-working-hours.js.map +1 -1
- package/dist/RS/to/input/util/parse-minimum-break-length.js.map +1 -1
- package/dist/RS/to/input/util/util.js +1 -2
- package/dist/RS/to/input/util/util.js.map +1 -1
- package/dist/RS/to/schedules.js +1 -1
- package/dist/RS/to/schedules.js.map +1 -1
- package/dist/RS/types/to.d.ts +12 -3
- package/dist/RS/types/to.js +1 -1
- package/dist/RS/types/to.js.map +1 -1
- package/dist/SS12000/from/activities.js +1 -2
- package/dist/SS12000/from/activities.js.map +1 -1
- package/dist/SS12000/from/calendar-events.js.map +1 -1
- package/dist/SS12000/from/duties.js.map +1 -1
- package/dist/SS12000/from/groups.js.map +1 -1
- package/dist/SS12000/from/index.js.map +1 -1
- package/dist/SS12000/from/persons.js.map +1 -1
- package/dist/SS12000/from/resources.js.map +1 -1
- package/dist/SS12000/from/rooms.js.map +1 -1
- package/dist/SS12000/from/syllabuses.js.map +1 -1
- package/dist/SS12000/index.d.ts +12567 -9
- package/dist/SS12000/to/activities.js.map +1 -1
- package/dist/SS12000/to/calendar-events.js.map +1 -1
- package/dist/SS12000/to/common.js.map +1 -1
- package/dist/SS12000/to/duties.js.map +1 -1
- package/dist/SS12000/to/groups.js.map +1 -1
- package/dist/SS12000/to/index.d.ts +17 -16
- package/dist/SS12000/to/persons.js.map +1 -1
- package/dist/SS12000/to/resources.js.map +1 -1
- package/dist/SS12000/to/rooms.js.map +1 -1
- package/dist/SS12000/to/syllabuses.js.map +1 -1
- package/dist/SchoolSoft/api/from/index.js.map +1 -1
- package/dist/SchoolSoft/api/from/schedules.js +8 -12
- package/dist/SchoolSoft/api/from/schedules.js.map +1 -1
- package/dist/SchoolSoft/api/index.d.ts +444 -9
- package/dist/SchoolSoft/file/from/index.js.map +1 -1
- package/dist/SchoolSoft/file/from/schedules.js +83 -87
- package/dist/SchoolSoft/file/from/schedules.js.map +1 -1
- package/dist/SchoolSoft/file/index.d.ts +2 -1
- package/dist/SchoolSoft/file/to/index.d.ts +5 -4
- package/dist/SchoolSoft/file/to/schedules.js +1 -2
- package/dist/SchoolSoft/file/to/schedules.js.map +1 -1
- package/dist/SchoolSoft/index.d.ts +2 -1
- package/dist/Schoolity/txt/to/index.d.ts +2 -1
- package/dist/Schoolity/txt/to/schedules.js +5 -12
- package/dist/Schoolity/txt/to/schedules.js.map +1 -1
- package/dist/Skola24/mdb/from/course-and-events.js +3 -5
- package/dist/Skola24/mdb/from/course-and-events.js.map +1 -1
- package/dist/Skola24/mdb/from/groups.js.map +1 -1
- package/dist/Skola24/mdb/from/index.js.map +1 -1
- package/dist/Skola24/mdb/from/locations.js.map +1 -1
- package/dist/Skola24/mdb/from/schedule.d.ts +6 -5
- package/dist/Skola24/mdb/from/schedule.js.map +1 -1
- package/dist/Skola24/mdb/from/teachers.js.map +1 -1
- package/dist/Skola24/txt/from/calendar-exceptions.js +1 -2
- package/dist/Skola24/txt/from/calendar-exceptions.js.map +1 -1
- package/dist/Skola24/txt/from/division.js.map +1 -1
- package/dist/Skola24/txt/from/index.js.map +1 -1
- package/dist/Skola24/txt/from/period.js +31 -34
- package/dist/Skola24/txt/from/period.js.map +1 -1
- package/dist/Skola24/txt/from/schedules.d.ts +9 -8
- package/dist/Skola24/txt/from/schedules.js +10 -12
- package/dist/Skola24/txt/from/schedules.js.map +1 -1
- package/dist/Skola24/txt/from/util.js.map +1 -1
- package/dist/Skola24/txt/index.d.ts +2 -1
- package/dist/Skola24/txt/to/index.d.ts +2 -1
- package/dist/Skola24/txt/to/schedules.js +5 -12
- package/dist/Skola24/txt/to/schedules.js.map +1 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/functions.js +46 -10
- package/dist/common/functions.js.map +1 -1
- package/dist/common/get-date.js.map +1 -1
- package/dist/common/make-chainable/index.js.map +1 -1
- package/dist/common/types.d.ts +3 -6
- package/dist/core/from/configurations.js.map +1 -1
- package/dist/core/from/courses.js.map +1 -1
- package/dist/core/from/events.js +1 -1
- package/dist/core/from/events.js.map +1 -1
- package/dist/core/from/exceptions.js.map +1 -1
- package/dist/core/from/groups.js.map +1 -1
- package/dist/core/from/index.js +9 -6
- package/dist/core/from/index.js.map +1 -1
- package/dist/core/from/locations.js.map +1 -1
- package/dist/core/from/locked-times.js.map +1 -1
- package/dist/core/from/overlap-groups.js.map +1 -1
- package/dist/core/from/periods.js.map +1 -1
- package/dist/core/from/persons.js.map +1 -1
- package/dist/core/from/root-intervals.js.map +1 -1
- package/dist/core/from/schedules.js.map +1 -1
- package/dist/core/from/syllabuses.js.map +1 -1
- package/dist/core/from/teachers.js.map +1 -1
- package/dist/core/index.d.ts +24 -1
- package/dist/core/index.js +4 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/interfaces/index.d.ts +23 -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/index.d.ts +6 -0
- package/dist/core/interfaces/other/integrations.d.ts +17 -0
- package/dist/core/interfaces/other/operations.d.ts +36 -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 +8 -0
- package/dist/core/interfaces/vertices/configurations.d.ts +58 -0
- package/dist/core/interfaces/vertices/courses.d.ts +68 -0
- package/dist/core/{types → interfaces/vertices}/division-settings.d.ts +31 -29
- package/dist/core/interfaces/vertices/divisions.d.ts +31 -0
- package/dist/core/interfaces/vertices/events.d.ts +100 -0
- package/dist/core/interfaces/vertices/exceptions.d.ts +74 -0
- package/dist/core/interfaces/vertices/generations.d.ts +23 -0
- package/dist/core/interfaces/vertices/groups.d.ts +53 -0
- package/dist/core/interfaces/vertices/index.d.ts +209 -0
- package/dist/core/interfaces/vertices/index.js +3 -0
- package/dist/core/interfaces/vertices/locations.d.ts +22 -0
- package/dist/core/interfaces/vertices/locked-times.d.ts +37 -0
- package/dist/core/interfaces/vertices/overlap-groups.d.ts +17 -0
- package/dist/core/interfaces/vertices/periods.d.ts +15 -0
- package/dist/core/interfaces/vertices/persons.d.ts +32 -0
- package/dist/core/interfaces/vertices/properties/belongs-to.d.ts +11 -0
- package/dist/core/interfaces/vertices/properties/coalesced.d.ts +8 -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/{types/common → interfaces/vertices/properties}/maximum-schedule-span.d.ts +1 -1
- package/dist/core/interfaces/vertices/properties/min-break-length.d.ts +5 -0
- package/dist/core/{types/common/planned-schedule-duration.d.ts → interfaces/vertices/properties/planned-scheduled-duration.d.ts} +2 -2
- 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 +14 -0
- package/dist/core/interfaces/vertices/syllabuses.d.ts +18 -0
- package/dist/core/interfaces/vertices/teachers.d.ts +43 -0
- package/dist/core/interfaces/vertices/users.d.ts +8 -0
- package/dist/core/interfaces/vertices/util/common.d.ts +28 -0
- package/dist/core/interfaces/vertices/util/custom-vertex-export/index.d.ts +31 -0
- package/dist/core/interfaces/vertices/util/custom-vertex-export/util.d.ts +51 -0
- package/dist/core/interfaces/vertices/util/deep-vertex-export/index.d.ts +64 -0
- package/dist/core/interfaces/vertices/util/edges.d.ts +105 -0
- package/dist/core/interfaces/vertices/util/index.d.ts +5 -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 +76 -0
- package/dist/core/interfaces/vertices/util/vertex-query/index.d.ts +44 -0
- package/dist/core/interfaces/vertices/util/vertex-query/util.d.ts +13 -0
- package/dist/core/interfaces/vertices/util/vertex.d.ts +70 -0
- package/dist/core/interfaces/vertices/vertex-query.d.ts +102 -0
- package/dist/core/interfaces/vertices/vertex-query.js +94 -0
- package/dist/core/interfaces/vertices/vertex-query.js.map +1 -0
- package/dist/core/to/configurations.js +2 -3
- package/dist/core/to/configurations.js.map +1 -1
- package/dist/core/to/courses.js +2 -3
- package/dist/core/to/courses.js.map +1 -1
- package/dist/core/to/division.js.map +1 -1
- package/dist/core/to/events.js +2 -3
- package/dist/core/to/events.js.map +1 -1
- package/dist/core/to/exceptions.js +4 -4
- package/dist/core/to/exceptions.js.map +1 -1
- package/dist/core/to/groups.js +2 -3
- package/dist/core/to/groups.js.map +1 -1
- package/dist/core/to/locations.js +2 -3
- package/dist/core/to/locations.js.map +1 -1
- package/dist/core/to/locked-times.js +2 -3
- package/dist/core/to/locked-times.js.map +1 -1
- package/dist/core/to/overlap-groups.js +2 -3
- package/dist/core/to/overlap-groups.js.map +1 -1
- package/dist/core/to/periods.js +2 -3
- package/dist/core/to/periods.js.map +1 -1
- package/dist/core/to/persons.js +3 -9
- package/dist/core/to/persons.js.map +1 -1
- package/dist/core/to/root-intervals.js +2 -3
- package/dist/core/to/root-intervals.js.map +1 -1
- package/dist/core/to/schedules.d.ts +17 -18
- package/dist/core/to/schedules.js.map +1 -1
- package/dist/core/to/settings.js +2 -3
- package/dist/core/to/settings.js.map +1 -1
- package/dist/core/to/syllabuses.js +2 -3
- package/dist/core/to/syllabuses.js.map +1 -1
- package/dist/core/to/teachers.js +4 -4
- package/dist/core/to/teachers.js.map +1 -1
- package/dist/core/to/util.d.ts +4 -8
- package/dist/core/to/util.js +7 -5
- package/dist/core/to/util.js.map +1 -1
- package/dist/core/types/common/index.d.ts +4 -41
- package/dist/core/types/index.d.ts +108 -112
- package/dist/core/util.js +4 -5
- package/dist/core/util.js.map +1 -1
- package/dist/identify/constants/index.d.ts +1 -1
- package/dist/identify/constants/index.js.map +1 -1
- package/dist/identify/index.js +1 -2
- package/dist/identify/index.js.map +1 -1
- package/dist/index.d.ts +23 -1
- package/dist/index.js +4 -1
- package/dist/sdui/from/classes.js.map +1 -1
- package/dist/sdui/from/courses.js.map +1 -1
- package/dist/sdui/from/holidays.js.map +1 -1
- package/dist/sdui/from/index.js.map +1 -1
- package/dist/sdui/from/lessons.js +4 -0
- package/dist/sdui/from/lessons.js.map +1 -1
- package/dist/sdui/from/rooms.js.map +1 -1
- package/dist/sdui/from/schedules.d.ts +10 -8
- package/dist/sdui/from/schedules.js.map +1 -1
- package/dist/sdui/from/school-years.js +0 -1
- package/dist/sdui/from/school-years.js.map +1 -1
- package/dist/sdui/from/substitution-plans.js.map +1 -1
- package/dist/sdui/from/teachers.js.map +1 -1
- package/dist/sdui/index.d.ts +1 -1
- package/dist/sdui/to/classes.js.map +1 -1
- package/dist/sdui/to/courses.js.map +1 -1
- package/dist/sdui/to/holidays.js.map +1 -1
- package/dist/sdui/to/hours.js.map +1 -1
- package/dist/sdui/to/index.d.ts +12 -10
- package/dist/sdui/to/lessons.js.map +1 -1
- package/dist/sdui/to/rooms.js.map +1 -1
- package/dist/sdui/to/schedules.js.map +1 -1
- package/dist/sdui/to/school-years.js.map +1 -1
- package/dist/sdui/to/substitution-plans.js +3 -6
- package/dist/sdui/to/substitution-plans.js.map +1 -1
- package/dist/sdui/to/teachers.js.map +1 -1
- package/dist/vKlass/from/index.js.map +1 -1
- package/dist/vKlass/from/schedule.d.ts +4 -3
- package/dist/vKlass/from/schedule.js +2 -2
- package/dist/vKlass/from/schedule.js.map +1 -1
- package/dist/vKlass/to/schedules.d.ts +4 -4
- package/dist/vKlass/to/schedules.js +6 -17
- package/dist/vKlass/to/schedules.js.map +1 -1
- package/package.json +24 -22
- package/dist/core/types/areas.d.ts +0 -10
- package/dist/core/types/common/break-lengths.d.ts +0 -5
- package/dist/core/types/common/days.d.ts +0 -8
- package/dist/core/types/common/intervals.d.ts +0 -20
- package/dist/core/types/common/tag.d.ts +0 -9
- package/dist/core/types/configurations.d.ts +0 -31
- package/dist/core/types/courses.d.ts +0 -60
- package/dist/core/types/divisions.d.ts +0 -24
- package/dist/core/types/events.d.ts +0 -56
- package/dist/core/types/exceptions.d.ts +0 -35
- package/dist/core/types/groups.d.ts +0 -44
- package/dist/core/types/locations.d.ts +0 -27
- package/dist/core/types/locked-times.d.ts +0 -33
- package/dist/core/types/overlap-groups.d.ts +0 -14
- package/dist/core/types/periods.d.ts +0 -14
- package/dist/core/types/persons.d.ts +0 -38
- package/dist/core/types/root-intervals.d.ts +0 -13
- package/dist/core/types/schedules.d.ts +0 -44
- package/dist/core/types/syllabus.d.ts +0 -18
- package/dist/core/types/teachers.d.ts +0 -44
- package/dist/core/vertex-mapping.d.ts +0 -69
package/dist/Excel/v2/index.d.ts
CHANGED
|
@@ -1,52 +1,289 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IDType, PrivateIDType } from "../../core/interfaces/vertices/util/vertex.js";
|
|
2
|
+
import { Day } from "../../core/interfaces/vertices/properties/days.js";
|
|
3
|
+
import { Interval } from "../../core/interfaces/vertices/properties/intervals.js";
|
|
4
|
+
import { Tag } from "../../core/interfaces/vertices/properties/tags.js";
|
|
5
|
+
import { MaximumScheduleSpan } from "../../core/interfaces/vertices/properties/maximum-schedule-span.js";
|
|
6
|
+
import { PlannedScheduledDuration } from "../../core/interfaces/vertices/properties/planned-scheduled-duration.js";
|
|
7
|
+
import { MinBreakLength } from "../../core/interfaces/vertices/properties/min-break-length.js";
|
|
2
8
|
import { Types } from "./types/index.js";
|
|
9
|
+
import "../../index.js";
|
|
10
|
+
import * as moment197 from "moment";
|
|
3
11
|
|
|
4
12
|
//#region src/Excel/v2/index.d.ts
|
|
5
13
|
declare class Map {
|
|
6
14
|
static from: {
|
|
7
15
|
schedules: (source: Types.Source) => {
|
|
8
16
|
settings: {
|
|
9
|
-
discretization: number;
|
|
10
17
|
numDays: number;
|
|
11
18
|
dayStart: string;
|
|
12
19
|
dayEnd: string;
|
|
20
|
+
discretization: number;
|
|
13
21
|
};
|
|
14
|
-
locations: (
|
|
15
|
-
id:
|
|
16
|
-
|
|
22
|
+
locations: (Omit<{
|
|
23
|
+
id: IDType;
|
|
24
|
+
_id: PrivateIDType;
|
|
25
|
+
ids?: string | undefined;
|
|
26
|
+
is?: "location" | undefined;
|
|
27
|
+
displayName?: string | undefined;
|
|
28
|
+
createdAt?: string | undefined;
|
|
29
|
+
updatedAt?: string | undefined;
|
|
30
|
+
lastModifiedBy?: string | undefined;
|
|
31
|
+
tags?: Tag[] | undefined;
|
|
32
|
+
minBreakLength?: number | undefined;
|
|
33
|
+
days?: Day[] | undefined;
|
|
34
|
+
maximumCapacity?: number | undefined;
|
|
35
|
+
belongsTo?: string | undefined;
|
|
36
|
+
lockedTimes?: string[] | undefined;
|
|
37
|
+
lunch?: string[] | undefined;
|
|
38
|
+
exceptions?: string[] | undefined;
|
|
39
|
+
}, "_id"> & {
|
|
17
40
|
__raw: Types.Location;
|
|
18
41
|
})[];
|
|
19
|
-
teachers: (
|
|
20
|
-
id:
|
|
21
|
-
|
|
42
|
+
teachers: (Omit<{
|
|
43
|
+
id: IDType;
|
|
44
|
+
_id: PrivateIDType;
|
|
45
|
+
ids?: string | undefined;
|
|
46
|
+
is?: "teacher" | undefined;
|
|
47
|
+
displayName?: string | undefined;
|
|
48
|
+
createdAt?: string | undefined;
|
|
49
|
+
updatedAt?: string | undefined;
|
|
50
|
+
lastModifiedBy?: string | undefined;
|
|
51
|
+
tags?: Tag[] | undefined;
|
|
52
|
+
minBreakLength?: number | undefined;
|
|
53
|
+
maxNumWorkingHours?: number | false | undefined;
|
|
54
|
+
maxNumDailyWorkingHours?: number | number[] | false | undefined;
|
|
55
|
+
maximumScheduleSpan?: MaximumScheduleSpan | undefined;
|
|
56
|
+
forbidOverlappingEvents?: boolean | undefined;
|
|
57
|
+
disableDayLengthPunishment?: boolean | undefined;
|
|
58
|
+
weight?: number | undefined;
|
|
59
|
+
intervals?: Interval[] | undefined;
|
|
60
|
+
days?: Day[] | undefined;
|
|
61
|
+
signature?: string | undefined;
|
|
62
|
+
plannedScheduledDuration?: PlannedScheduledDuration | undefined;
|
|
63
|
+
belongsTo?: string | undefined;
|
|
64
|
+
rootInterval?: string | undefined;
|
|
65
|
+
lockedTimes?: string[] | undefined;
|
|
66
|
+
lunch?: string[] | undefined;
|
|
67
|
+
complementaryTimes?: string[] | undefined;
|
|
68
|
+
exceptions?: string[] | undefined;
|
|
69
|
+
person?: string | undefined;
|
|
70
|
+
}, "_id"> & {
|
|
22
71
|
__raw: Types.Teacher;
|
|
23
72
|
})[];
|
|
24
|
-
persons: (
|
|
25
|
-
id:
|
|
26
|
-
|
|
73
|
+
persons: (Omit<{
|
|
74
|
+
id: IDType;
|
|
75
|
+
_id: PrivateIDType;
|
|
76
|
+
ids?: string | undefined;
|
|
77
|
+
is?: "person" | undefined;
|
|
78
|
+
displayName?: string | undefined;
|
|
79
|
+
createdAt?: string | undefined;
|
|
80
|
+
updatedAt?: string | undefined;
|
|
81
|
+
lastModifiedBy?: string | undefined;
|
|
82
|
+
type?: "Student" | "Teacher" | "Other" | undefined;
|
|
83
|
+
tags?: Tag[] | undefined;
|
|
84
|
+
lastName?: string | undefined;
|
|
85
|
+
firstName?: string | undefined;
|
|
86
|
+
birthDate?: Date | undefined;
|
|
87
|
+
sex?: "Man" | "Woman" | undefined;
|
|
88
|
+
SSN?: {
|
|
89
|
+
value: string;
|
|
90
|
+
nationality?: string;
|
|
91
|
+
} | undefined;
|
|
92
|
+
emails?: {
|
|
93
|
+
value: string;
|
|
94
|
+
type?: string;
|
|
95
|
+
}[] | undefined;
|
|
96
|
+
phoneNumbers?: {
|
|
97
|
+
value: string;
|
|
98
|
+
type: string;
|
|
99
|
+
}[] | undefined;
|
|
100
|
+
belongsTo?: string | undefined;
|
|
101
|
+
group?: string | undefined;
|
|
102
|
+
}, "_id"> & {
|
|
27
103
|
__raw: Types.Person;
|
|
28
104
|
})[];
|
|
29
|
-
groups: (
|
|
30
|
-
id:
|
|
31
|
-
|
|
105
|
+
groups: (Omit<{
|
|
106
|
+
id: IDType;
|
|
107
|
+
_id: PrivateIDType;
|
|
108
|
+
ids?: string | undefined;
|
|
109
|
+
is?: "group" | undefined;
|
|
110
|
+
displayName?: string | undefined;
|
|
111
|
+
createdAt?: string | undefined;
|
|
112
|
+
updatedAt?: string | undefined;
|
|
113
|
+
lastModifiedBy?: string | undefined;
|
|
114
|
+
tags?: Tag[] | undefined;
|
|
115
|
+
minBreakLength?: number | undefined;
|
|
116
|
+
maxNumWorkingHours?: number | false | undefined;
|
|
117
|
+
maxNumDailyWorkingHours?: number | number[] | false | undefined;
|
|
118
|
+
maximumScheduleSpan?: MaximumScheduleSpan | undefined;
|
|
119
|
+
forbidOverlappingEvents?: boolean | undefined;
|
|
120
|
+
disableDayLengthPunishment?: boolean | undefined;
|
|
121
|
+
weight?: number | undefined;
|
|
122
|
+
species?: "class" | undefined;
|
|
123
|
+
intervals?: Interval[] | undefined;
|
|
124
|
+
days?: Day[] | undefined;
|
|
125
|
+
belongsTo?: string | undefined;
|
|
126
|
+
parentGroups?: string[] | undefined;
|
|
127
|
+
subGroups?: string[] | undefined;
|
|
128
|
+
lockedTimes?: string[] | undefined;
|
|
129
|
+
lunch?: string[] | undefined;
|
|
130
|
+
exceptions?: string[] | undefined;
|
|
131
|
+
members?: string[] | undefined;
|
|
132
|
+
rootInterval?: string | undefined;
|
|
133
|
+
derivedParentGroups?: {
|
|
134
|
+
implicit?: boolean | undefined;
|
|
135
|
+
explicit?: boolean | undefined;
|
|
136
|
+
group: string;
|
|
137
|
+
}[] | undefined;
|
|
138
|
+
}, "_id"> & {
|
|
32
139
|
__raw: Types.Group;
|
|
33
140
|
})[];
|
|
34
|
-
courses: (
|
|
35
|
-
id:
|
|
36
|
-
|
|
141
|
+
courses: (Omit<{
|
|
142
|
+
id: IDType;
|
|
143
|
+
_id: PrivateIDType;
|
|
144
|
+
ids?: string | undefined;
|
|
145
|
+
is?: "course" | undefined;
|
|
146
|
+
displayName?: string | undefined;
|
|
147
|
+
createdAt?: string | undefined;
|
|
148
|
+
updatedAt?: string | undefined;
|
|
149
|
+
lastModifiedBy?: string | undefined;
|
|
150
|
+
type?: string | undefined;
|
|
151
|
+
tags?: Tag[] | undefined;
|
|
152
|
+
minBreakLength?: MinBreakLength | undefined;
|
|
153
|
+
weight?: number | undefined;
|
|
154
|
+
intervals?: Interval[] | undefined;
|
|
155
|
+
days?: Day[] | undefined;
|
|
156
|
+
subject?: string | undefined;
|
|
157
|
+
color?: string | undefined;
|
|
158
|
+
eventDurationVariance?: number | undefined;
|
|
159
|
+
centerOfAttraction?: string | null | undefined;
|
|
160
|
+
density?: number | undefined;
|
|
161
|
+
plannedDuration?: string | undefined;
|
|
162
|
+
minutesPerWeek?: number | undefined;
|
|
163
|
+
expectedTotalHours?: number | undefined;
|
|
164
|
+
belongsTo?: string | undefined;
|
|
165
|
+
period?: string | undefined;
|
|
166
|
+
overlapGroup?: string | undefined;
|
|
167
|
+
syllabus?: string | undefined;
|
|
168
|
+
lockedTimes?: string[] | undefined;
|
|
169
|
+
exceptions?: string[] | undefined;
|
|
170
|
+
events?: string[] | undefined;
|
|
171
|
+
participants?: {
|
|
172
|
+
groupIndex?: number | undefined;
|
|
173
|
+
to: string;
|
|
174
|
+
}[] | undefined;
|
|
175
|
+
teachers?: {
|
|
176
|
+
groupIndex?: number | undefined;
|
|
177
|
+
to: string;
|
|
178
|
+
}[] | undefined;
|
|
179
|
+
groups?: {
|
|
180
|
+
groupIndex?: number | undefined;
|
|
181
|
+
to: string;
|
|
182
|
+
exclude?: string[] | undefined;
|
|
183
|
+
}[] | undefined;
|
|
184
|
+
locations?: {
|
|
185
|
+
groupIndex?: number | undefined;
|
|
186
|
+
rank?: number | undefined;
|
|
187
|
+
locations: [string];
|
|
188
|
+
}[] | undefined;
|
|
189
|
+
}, "_id"> & {
|
|
37
190
|
__raw: Types.Course;
|
|
38
191
|
})[];
|
|
39
|
-
events: (
|
|
40
|
-
id:
|
|
41
|
-
|
|
192
|
+
events: (Omit<{
|
|
193
|
+
id: IDType;
|
|
194
|
+
_id: PrivateIDType;
|
|
195
|
+
ids?: string | undefined;
|
|
196
|
+
is?: "event" | undefined;
|
|
197
|
+
displayName?: string | undefined;
|
|
198
|
+
createdAt?: string | undefined;
|
|
199
|
+
updatedAt?: string | undefined;
|
|
200
|
+
lastModifiedBy?: string | undefined;
|
|
201
|
+
start?: (moment197.Moment | string) | undefined;
|
|
202
|
+
end?: (moment197.Moment | string) | undefined;
|
|
203
|
+
potentialCenter?: string | undefined;
|
|
204
|
+
type?: string | undefined;
|
|
205
|
+
tags?: Tag[] | undefined;
|
|
206
|
+
minBreakLength?: (MinBreakLength | null) | undefined;
|
|
207
|
+
weight?: number | undefined;
|
|
208
|
+
intervals?: Interval[] | null | undefined;
|
|
209
|
+
days?: Day[] | null | undefined;
|
|
210
|
+
color?: string | null | undefined;
|
|
211
|
+
centerOfAttraction?: string | null | undefined;
|
|
212
|
+
density?: number | undefined;
|
|
213
|
+
fixedStart?: boolean | undefined;
|
|
214
|
+
visible?: boolean | undefined;
|
|
215
|
+
parked?: boolean | undefined;
|
|
216
|
+
preferredDuration: number;
|
|
217
|
+
durationVariance?: number | undefined;
|
|
218
|
+
duration?: number | undefined;
|
|
219
|
+
weeks?: number[] | undefined;
|
|
220
|
+
belongsTo?: string | undefined;
|
|
221
|
+
course?: string | undefined;
|
|
222
|
+
period?: string | undefined;
|
|
223
|
+
overlapSpecies?: string | undefined;
|
|
224
|
+
lockedTimes?: string[] | undefined;
|
|
225
|
+
exceptions?: string[] | undefined;
|
|
226
|
+
inLocations?: (string | null)[] | undefined;
|
|
227
|
+
participants?: {
|
|
228
|
+
groupIndex?: number | undefined;
|
|
229
|
+
to: string;
|
|
230
|
+
}[] | undefined;
|
|
231
|
+
teachers?: {
|
|
232
|
+
groupIndex?: number | undefined;
|
|
233
|
+
to: string;
|
|
234
|
+
}[] | undefined;
|
|
235
|
+
groups?: {
|
|
236
|
+
groupIndex?: number | undefined;
|
|
237
|
+
to: string;
|
|
238
|
+
exclude?: string[] | undefined;
|
|
239
|
+
}[] | undefined;
|
|
240
|
+
locations?: {
|
|
241
|
+
groupIndex?: number | undefined;
|
|
242
|
+
rank?: number | undefined;
|
|
243
|
+
locations: [string];
|
|
244
|
+
}[] | undefined;
|
|
245
|
+
}, "_id"> & {
|
|
42
246
|
__raw?: Types.Course;
|
|
43
247
|
})[];
|
|
44
|
-
overlapGroups:
|
|
45
|
-
id:
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
248
|
+
overlapGroups: Omit<{
|
|
249
|
+
id: IDType;
|
|
250
|
+
_id: PrivateIDType;
|
|
251
|
+
ids?: string | undefined;
|
|
252
|
+
is?: "overlapGroup" | undefined;
|
|
253
|
+
displayName?: string | undefined;
|
|
254
|
+
createdAt?: string | undefined;
|
|
255
|
+
updatedAt?: string | undefined;
|
|
256
|
+
lastModifiedBy?: string | undefined;
|
|
257
|
+
belongsTo?: string | undefined;
|
|
258
|
+
coalesced?: {
|
|
259
|
+
to: string;
|
|
260
|
+
toModel: "courses";
|
|
261
|
+
}[] | undefined;
|
|
262
|
+
species?: {
|
|
263
|
+
id: string;
|
|
264
|
+
to: string;
|
|
265
|
+
toModel: "events" | "courseevents";
|
|
266
|
+
}[] | undefined;
|
|
267
|
+
}, "_id">[];
|
|
268
|
+
syllabuses: (Omit<{
|
|
269
|
+
id: IDType;
|
|
270
|
+
_id: PrivateIDType;
|
|
271
|
+
ids?: string | undefined;
|
|
272
|
+
is?: "syllabus" | undefined;
|
|
273
|
+
displayName?: string | undefined;
|
|
274
|
+
createdAt?: string | undefined;
|
|
275
|
+
updatedAt?: string | undefined;
|
|
276
|
+
lastModifiedBy?: string | undefined;
|
|
277
|
+
schoolType: string;
|
|
278
|
+
subjectCode?: string | undefined;
|
|
279
|
+
subjectName: string;
|
|
280
|
+
subjectDesignation?: string | undefined;
|
|
281
|
+
courseCode?: string | undefined;
|
|
282
|
+
courseName?: string | undefined;
|
|
283
|
+
points?: number | undefined;
|
|
284
|
+
official: boolean;
|
|
285
|
+
belongsTo?: string | undefined;
|
|
286
|
+
}, "_id"> & {
|
|
50
287
|
__raw?: Types.Syllabus;
|
|
51
288
|
})[];
|
|
52
289
|
meta: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"courses.js","names":[],"sources":["../../../src/IdunSoft/from/courses.ts"],"sourcesContent":["import type { Types as IdunSoftTypes } from '../types';\nimport type { OutTypes } from './schedules';\n\nexport default (courses: IdunSoftTypes.course[]): OutTypes.course[] => {\n return courses\n .reduce<OutTypes.course[]>((acc, course, index) => {\n const ids = course['Ämne'];\n if (!ids)\n throw new Error('A course does not have a unique key');\n\n if (acc.map(x => x.ids).includes(ids))\n throw new Error(`A course ID \"${ids}\" exists multiple times at indices ${ index } and ${ acc.findIndex(x => x.ids == ids) }`);\n\n return acc.concat({\n ids: ids,\n subject: course['Betygskod']\n });\n }, []);\n};"],"mappings":";AAGA,uBAAgB,YAAuD;AACrE,QAAO,QACJ,QAA2B,KAAK,QAAQ,UAAU;EACjD,MAAM,MAAM,OAAO;AACnB,MAAI,CAAC,IACH,OAAM,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"courses.js","names":[],"sources":["../../../src/IdunSoft/from/courses.ts"],"sourcesContent":["import type { Types as IdunSoftTypes } from '../types';\nimport type { OutTypes } from './schedules';\n\nexport default (courses: IdunSoftTypes.course[]): OutTypes.course[] => {\n return courses\n .reduce<OutTypes.course[]>((acc, course, index) => {\n const ids = course['Ämne'];\n if (!ids)\n throw new Error('A course does not have a unique key');\n\n if (acc.map(x => x.ids).includes(ids))\n throw new Error(`A course ID \"${ids}\" exists multiple times at indices ${ index } and ${ acc.findIndex(x => x.ids == ids) }`);\n\n return acc.concat({\n ids: ids,\n subject: course['Betygskod']\n });\n }, []);\n};"],"mappings":";AAGA,uBAAgB,YAAuD;AACrE,QAAO,QACJ,QAA2B,KAAK,QAAQ,UAAU;EACjD,MAAM,MAAM,OAAO;AACnB,MAAI,CAAC,IACH,OAAM,IAAI,MAAM,sCAAsC;AAExD,MAAI,IAAI,KAAI,MAAK,EAAE,IAAI,CAAC,SAAS,IAAI,CACnC,OAAM,IAAI,MAAM,gBAAgB,IAAI,qCAAsC,MAAO,OAAQ,IAAI,WAAU,MAAK,EAAE,OAAO,IAAI,GAAI;AAE/H,SAAO,IAAI,OAAO;GACP;GACT,SAAS,OAAO;GACjB,CAAC;IACD,EAAE,CAAC"}
|
|
@@ -29,10 +29,9 @@ var events_default = (events) => {
|
|
|
29
29
|
const hours = Math.floor(event.Starttid * 24);
|
|
30
30
|
const minutes = (event.Starttid * 24 - hours) * 60;
|
|
31
31
|
const start$1 = Constants.FIRST_DAY.clone().add(day, "days").add(hours, "hours").add(minutes, "minutes");
|
|
32
|
-
const end$1 = start$1.clone().add(duration, "minutes");
|
|
33
32
|
return {
|
|
34
33
|
start: start$1,
|
|
35
|
-
end:
|
|
34
|
+
end: start$1.clone().add(duration, "minutes")
|
|
36
35
|
};
|
|
37
36
|
})();
|
|
38
37
|
const doc = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","names":["start","
|
|
1
|
+
{"version":3,"file":"events.js","names":["start","doc: OutTypes.event"],"sources":["../../../src/IdunSoft/from/events.ts"],"sourcesContent":["import { getDayIndex } from '../../core/util';\nimport { Constants } from '../../common/constants';\nimport type { Types as IdunSoftTypes } from '../types';\nimport type { OutTypes } from './schedules';\n\nexport default (events: IdunSoftTypes.fromEvent[]): OutTypes.event[] => {\n return events\n .reduce<OutTypes.event[]>((acc, event, index) => {\n const ids = event['LektionID'];\n if (!ids)\n throw new Error('An event does not have a unique key');\n\n if (acc.some(x => x.ids == ids))\n throw new Error(`An event ID \"${ids}\" exists multiple times at indices ${ index } and ${ acc.findIndex(x => x.ids == ids) }`);\n\n if (!event['Lektionslängd'])\n throw new Error(`An event [${ ids }] does not have a duration`);\n\n const duration = (() => {\n try {\n return parseInt(event['Lektionslängd'].split('min')[0]);\n } catch {\n throw new Error('duration have wrong structure');\n }\n })();\n\n const teachers = event['LärareID'] ? [...new Set(event['LärareID'].split(','))].map(to => ({ to })) : [];\n const groups = event['GruppID' ] ? [event['GruppID'] ].map(to => ({ to })) : [];\n const inLocations = event['RumID' ] ? [event['RumID'] ] : [];\n const locations = inLocations.map(x => ({ locations: [x] as [string] }));\n\n const preferredDuration = parseInt(event.Lektionslängd); // ASSUMED TO BE OF THE FORMAT '40', IS THIS TRUE?\n\n const { start, end } = (() => {\n if (event.Starttid == null || event.VeckodagID == null) return { start: undefined, end: undefined };\n\n const day = getDayIndex(event.VeckodagID);\n const hours = Math.floor(event.Starttid * 24);\n const minutes = (event.Starttid * 24 - hours) * 60;\n\n const start = Constants.FIRST_DAY\n .clone()\n .add(day, 'days')\n .add(hours, 'hours')\n .add(minutes, 'minutes');\n const end = start\n .clone()\n .add(duration, 'minutes');\n\n return { start, end };\n })();\n\n const doc: OutTypes.event = {\n ids: ids,\n course: event['Ämne'],\n preferredDuration,\n duration,\n teachers,\n groups,\n locations,\n inLocations,\n ...start && end && { start, end, parked: false }\n };\n return acc.concat(doc);\n }, []);\n};"],"mappings":";;;;AAKA,sBAAgB,WAAwD;AACtE,QAAO,OACJ,QAA0B,KAAK,OAAO,UAAU;EAC/C,MAAM,MAAM,MAAM;AAClB,MAAI,CAAC,IACH,OAAM,IAAI,MAAM,sCAAsC;AAExD,MAAI,IAAI,MAAK,MAAK,EAAE,OAAO,IAAI,CAC7B,OAAM,IAAI,MAAM,gBAAgB,IAAI,qCAAsC,MAAO,OAAQ,IAAI,WAAU,MAAK,EAAE,OAAO,IAAI,GAAI;AAE/H,MAAI,CAAC,MAAM,iBACT,OAAM,IAAI,MAAM,aAAc,IAAK,4BAA4B;EAEjE,MAAM,kBAAkB;AACtB,OAAI;AACF,WAAO,SAAS,MAAM,iBAAiB,MAAM,MAAM,CAAC,GAAG;WACjD;AACN,UAAM,IAAI,MAAM,gCAAgC;;MAEhD;EAEJ,MAAM,WAAc,MAAM,cAAc,CAAC,GAAG,IAAI,IAAI,MAAM,YAAY,MAAM,IAAI,CAAC,CAAC,CAAC,KAAI,QAAO,EAAE,IAAI,EAAE,GAAG,EAAE;EAC3G,MAAM,SAAc,MAAM,aAAc,CAAC,MAAM,WAAmC,CAAC,KAAI,QAAO,EAAE,IAAI,EAAE,GAAG,EAAE;EAC3G,MAAM,cAAc,MAAM,WAAc,CAAC,MAAM,SAAmC,GAAuB,EAAE;EAC3G,MAAM,YAAc,YAAY,KAAI,OAAM,EAAE,WAAW,CAAC,EAAE,EAAc,EAAE;EAE1E,MAAM,oBAAoB,SAAS,MAAM,cAAc;EAEvD,MAAM,EAAE,OAAO,eAAe;AAC5B,OAAI,MAAM,YAAY,QAAQ,MAAM,cAAc,KAAM,QAAO;IAAE,OAAO;IAAW,KAAK;IAAW;GAEnG,MAAM,MAAU,YAAY,MAAM,WAAW;GAC7C,MAAM,QAAU,KAAK,MAAM,MAAM,WAAW,GAAG;GAC/C,MAAM,WAAW,MAAM,WAAW,KAAK,SAAS;GAEhD,MAAMA,UAAQ,UAAU,UACrB,OAAO,CACP,IAAI,KAAK,OAAO,CAChB,IAAI,OAAO,QAAQ,CACnB,IAAI,SAAS,UAAU;AAK1B,UAAO;IAAE;IAAO,KAJJA,QACT,OAAO,CACP,IAAI,UAAU,UAAU;IAEN;MACnB;EAEJ,MAAMC,MAAsB;GAClB;GACR,QAAQ,MAAM;GACd;GACA;GACA;GACA;GACA;GACA;GACA,GAAG,SAAS,OAAO;IAAE;IAAO;IAAK,QAAQ;IAAO;GACjD;AACD,SAAO,IAAI,OAAO,IAAI;IACrB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groups.js","names":[],"sources":["../../../src/IdunSoft/from/groups.ts"],"sourcesContent":["import type { Types as IdunSoftTypes } from '../types';\nimport type { OutTypes } from './schedules';\n\nexport default (groups: IdunSoftTypes.group[]): OutTypes.group[] => {\n return groups\n .reduce<OutTypes.group[]>((acc, group, index) => {\n const ids = group['ID'];\n if (!ids)\n throw new Error('A group does not have a unique key');\n\n if (acc.some(x => x.ids == ids))\n throw new Error(`A group ID \"${ids}\" exist multiple times at indices ${ index } and ${ acc.findIndex(x => x.ids == ids) }`);\n\n return acc.concat({\n ids: ids,\n displayName: group['Klassnamn'],\n species: 'class',\n });\n }, []);\n};"],"mappings":";AAGA,sBAAgB,WAAoD;AAClE,QAAO,OACJ,QAA0B,KAAK,OAAO,UAAU;EAC/C,MAAM,MAAM,MAAM;AAClB,MAAI,CAAC,IACH,OAAM,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"groups.js","names":[],"sources":["../../../src/IdunSoft/from/groups.ts"],"sourcesContent":["import type { Types as IdunSoftTypes } from '../types';\nimport type { OutTypes } from './schedules';\n\nexport default (groups: IdunSoftTypes.group[]): OutTypes.group[] => {\n return groups\n .reduce<OutTypes.group[]>((acc, group, index) => {\n const ids = group['ID'];\n if (!ids)\n throw new Error('A group does not have a unique key');\n\n if (acc.some(x => x.ids == ids))\n throw new Error(`A group ID \"${ids}\" exist multiple times at indices ${ index } and ${ acc.findIndex(x => x.ids == ids) }`);\n\n return acc.concat({\n ids: ids,\n displayName: group['Klassnamn'],\n species: 'class',\n });\n }, []);\n};"],"mappings":";AAGA,sBAAgB,WAAoD;AAClE,QAAO,OACJ,QAA0B,KAAK,OAAO,UAAU;EAC/C,MAAM,MAAM,MAAM;AAClB,MAAI,CAAC,IACH,OAAM,IAAI,MAAM,qCAAqC;AAEvD,MAAI,IAAI,MAAK,MAAK,EAAE,OAAO,IAAI,CAC7B,OAAM,IAAI,MAAM,eAAe,IAAI,oCAAqC,MAAO,OAAQ,IAAI,WAAU,MAAK,EAAE,OAAO,IAAI,GAAI;AAE7H,SAAO,IAAI,OAAO;GACH;GACb,aAAa,MAAM;GACnB,SAAa;GACd,CAAC;IACD,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_schedules"],"sources":["../../../src/IdunSoft/from/index.ts"],"sourcesContent":["import type { FromInterface } from '../../common/types';\nimport _schedules from './schedules';\n\nexport default {\n schedules: _schedules\n} satisfies FromInterface;"],"mappings":";;;AAGA,mBAAe,EACb,WAAWA"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_schedules"],"sources":["../../../src/IdunSoft/from/index.ts"],"sourcesContent":["import type { FromInterface } from '../../common/types';\nimport _schedules from './schedules';\n\nexport default {\n schedules: _schedules\n} satisfies FromInterface;"],"mappings":";;;AAGA,mBAAe,EACb,WAAWA,mBACZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locations.js","names":[],"sources":["../../../src/IdunSoft/from/locations.ts"],"sourcesContent":["import type { Types as IdunSoftTypes } from '../types';\nimport type { OutTypes } from './schedules';\n\nexport default (locations: IdunSoftTypes.location[]): OutTypes.location[] => {\n return locations\n .reduce<OutTypes.location[]>((acc, location, index) => {\n const ids = location['ID'];\n if (!ids)\n throw new Error('A location does not have a unique key');\n\n if (acc.some(x => x.ids == ids))\n throw new Error(`A location ID \"${ids}\" exists multiple times at indices ${ index } and ${ acc.findIndex(x => x.ids == ids) }`);\n\n return acc.concat({\n ids: ids,\n displayName: location['Namn']\n });\n }, []);\n};"],"mappings":";AAGA,yBAAgB,cAA6D;AAC3E,QAAO,UACJ,QAA6B,KAAK,UAAU,UAAU;EACrD,MAAM,MAAM,SAAS;AACrB,MAAI,CAAC,IACH,OAAM,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"locations.js","names":[],"sources":["../../../src/IdunSoft/from/locations.ts"],"sourcesContent":["import type { Types as IdunSoftTypes } from '../types';\nimport type { OutTypes } from './schedules';\n\nexport default (locations: IdunSoftTypes.location[]): OutTypes.location[] => {\n return locations\n .reduce<OutTypes.location[]>((acc, location, index) => {\n const ids = location['ID'];\n if (!ids)\n throw new Error('A location does not have a unique key');\n\n if (acc.some(x => x.ids == ids))\n throw new Error(`A location ID \"${ids}\" exists multiple times at indices ${ index } and ${ acc.findIndex(x => x.ids == ids) }`);\n\n return acc.concat({\n ids: ids,\n displayName: location['Namn']\n });\n }, []);\n};"],"mappings":";AAGA,yBAAgB,cAA6D;AAC3E,QAAO,UACJ,QAA6B,KAAK,UAAU,UAAU;EACrD,MAAM,MAAM,SAAS;AACrB,MAAI,CAAC,IACH,OAAM,IAAI,MAAM,wCAAwC;AAE1D,MAAI,IAAI,MAAK,MAAK,EAAE,OAAO,IAAI,CAC7B,OAAM,IAAI,MAAM,kBAAkB,IAAI,qCAAsC,MAAO,OAAQ,IAAI,WAAU,MAAK,EAAE,OAAO,IAAI,GAAI;AAEjI,SAAO,IAAI,OAAO;GACH;GACb,aAAa,SAAS;GACvB,CAAC;IACD,EAAE,CAAC"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { InternalIdKey } from "../../core/types/common/index.js";
|
|
2
2
|
import { Types } from "../../core/types/index.js";
|
|
3
|
+
import "../../core/index.js";
|
|
3
4
|
import { Types as Types$1 } from "../types/index.js";
|
|
4
5
|
|
|
5
6
|
//#region src/IdunSoft/from/schedules.d.ts
|
|
6
7
|
declare namespace OutTypes {
|
|
7
|
-
type group = Omit<Types.
|
|
8
|
-
type teacher = Omit<Types.
|
|
9
|
-
type location = Omit<Types.
|
|
10
|
-
type course = Omit<Types.
|
|
11
|
-
type event = Omit<Types.
|
|
8
|
+
type group = Omit<Types.Serialized.Group, InternalIdKey>;
|
|
9
|
+
type teacher = Omit<Types.Serialized.Teacher, InternalIdKey>;
|
|
10
|
+
type location = Omit<Types.Serialized.Location, InternalIdKey>;
|
|
11
|
+
type course = Omit<Types.Serialized.Course, InternalIdKey>;
|
|
12
|
+
type event = Omit<Types.Serialized.Event, InternalIdKey>;
|
|
12
13
|
}
|
|
13
14
|
type Out = {
|
|
14
15
|
groups: OutTypes.group[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedules.js","names":["_groups","_teachers","_locations","_courses","_events"],"sources":["../../../src/IdunSoft/from/schedules.ts"],"sourcesContent":["\nimport type { CoreTypes } from '../../core';\nimport type { Types as IdunSoftTypes } from '../types';\nimport _groups from './groups';\nimport _teachers from './teachers';\nimport _locations from './locations';\nimport _courses from './courses';\nimport _events from './events';\nimport type { InternalIdKey } from '../../core/types/common';\n\nexport namespace OutTypes {\n export type group = Omit<CoreTypes.
|
|
1
|
+
{"version":3,"file":"schedules.js","names":["_groups","_teachers","_locations","_courses","_events"],"sources":["../../../src/IdunSoft/from/schedules.ts"],"sourcesContent":["\nimport type { CoreTypes } from '../../core';\nimport type { Types as IdunSoftTypes } from '../types';\nimport _groups from './groups';\nimport _teachers from './teachers';\nimport _locations from './locations';\nimport _courses from './courses';\nimport _events from './events';\nimport type { InternalIdKey } from '../../core/types/common';\n\nexport namespace OutTypes {\n export type group = Omit<CoreTypes.Serialized.Group, InternalIdKey>;\n export type teacher = Omit<CoreTypes.Serialized.Teacher, InternalIdKey>;\n export type location = Omit<CoreTypes.Serialized.Location, InternalIdKey>;\n export type course = Omit<CoreTypes.Serialized.Course, InternalIdKey>;\n export type event = Omit<CoreTypes.Serialized.Event, InternalIdKey>;\n};\n\ntype Out = {\n groups: OutTypes.group[];\n teachers: OutTypes.teacher[];\n locations: OutTypes.location[];\n courses: OutTypes.course[];\n events: OutTypes.event[];\n};\n\nexport default function (schedule: Partial<IdunSoftTypes.schedule>): Out {\n return {\n groups: _groups (schedule['Grupp' ] ?? []),\n teachers: _teachers (schedule['Lärare' ] ?? []),\n locations: _locations(schedule['Rum' ] ?? []),\n courses: _courses (schedule['Ämne' ] ?? []),\n events: _events (schedule['Lektion'] ?? []),\n };\n}"],"mappings":";;;;;;;AA0BA,2BAAyB,UAAgD;AACvE,QAAO;EACL,QAAWA,eAAW,SAAS,YAAc,EAAE,CAAC;EAChD,UAAWC,iBAAW,SAAS,aAAc,EAAE,CAAC;EAChD,WAAWC,kBAAW,SAAS,UAAc,EAAE,CAAC;EAChD,SAAWC,gBAAW,SAAS,WAAc,EAAE,CAAC;EAChD,QAAWC,eAAW,SAAS,cAAc,EAAE,CAAC;EACjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teachers.js","names":[],"sources":["../../../src/IdunSoft/from/teachers.ts"],"sourcesContent":["import type { Types as IdunSoftTypes } from '../types';\nimport type { OutTypes } from './schedules';\n\nexport default (teachers: IdunSoftTypes.teacher[]): OutTypes.teacher[] => {\n return teachers\n .reduce<OutTypes.teacher[]>((acc, teacher, index) => {\n const ids = teacher['ID'];\n if (!ids)\n throw new Error('A teacher does not have a unique key');\n\n if (acc.some(x => x.ids == ids))\n throw new Error(`A teacher ID \"${ids}\" exists multiple times at indices ${ index } and ${ acc.findIndex(x => x.ids == ids) }`);\n\n return acc.concat({\n ids: ids,\n displayName: teacher['Namn']\n });\n }, []);\n};"],"mappings":";AAGA,wBAAgB,aAA0D;AACxE,QAAO,SACJ,QAA4B,KAAK,SAAS,UAAU;EACnD,MAAM,MAAM,QAAQ;AACpB,MAAI,CAAC,IACH,OAAM,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"teachers.js","names":[],"sources":["../../../src/IdunSoft/from/teachers.ts"],"sourcesContent":["import type { Types as IdunSoftTypes } from '../types';\nimport type { OutTypes } from './schedules';\n\nexport default (teachers: IdunSoftTypes.teacher[]): OutTypes.teacher[] => {\n return teachers\n .reduce<OutTypes.teacher[]>((acc, teacher, index) => {\n const ids = teacher['ID'];\n if (!ids)\n throw new Error('A teacher does not have a unique key');\n\n if (acc.some(x => x.ids == ids))\n throw new Error(`A teacher ID \"${ids}\" exists multiple times at indices ${ index } and ${ acc.findIndex(x => x.ids == ids) }`);\n\n return acc.concat({\n ids: ids,\n displayName: teacher['Namn']\n });\n }, []);\n};"],"mappings":";AAGA,wBAAgB,aAA0D;AACxE,QAAO,SACJ,QAA4B,KAAK,SAAS,UAAU;EACnD,MAAM,MAAM,QAAQ;AACpB,MAAI,CAAC,IACH,OAAM,IAAI,MAAM,uCAAuC;AAEzD,MAAI,IAAI,MAAK,MAAK,EAAE,OAAO,IAAI,CAC7B,OAAM,IAAI,MAAM,iBAAiB,IAAI,qCAAsC,MAAO,OAAQ,IAAI,WAAU,MAAK,EAAE,OAAO,IAAI,GAAI;AAEhI,SAAO,IAAI,OAAO;GACH;GACb,aAAa,QAAQ;GACtB,CAAC;IACD,EAAE,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Types } from "../../core/types/index.js";
|
|
2
|
+
import "../../index.js";
|
|
2
3
|
|
|
3
4
|
//#region src/IdunSoft/to/index.d.ts
|
|
4
5
|
declare class export_default {
|
|
5
|
-
static schedules: (courseEvents: Types.
|
|
6
|
+
static schedules: (courseEvents: Types.Mixed.Event[]) => string;
|
|
6
7
|
}
|
|
7
8
|
//#endregion
|
|
8
9
|
export { export_default };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getDayIndex } from "../../core/util.js";
|
|
2
|
+
import { isMongooseObjectId } from "../../common/functions.js";
|
|
2
3
|
import moment from "moment";
|
|
3
|
-
import { Types } from "mongoose";
|
|
4
4
|
import { Parser } from "@json2csv/plainjs";
|
|
5
5
|
|
|
6
6
|
//#region src/IdunSoft/to/schedules.ts
|
|
@@ -30,10 +30,10 @@ var schedules_default = (courseEvents) => {
|
|
|
30
30
|
const day = days.at(getDayIndex(event.start));
|
|
31
31
|
if (!day) throw new Error("Invalid event day");
|
|
32
32
|
const course = event.course;
|
|
33
|
-
if (!
|
|
33
|
+
if (!course || typeof course == "string" || isMongooseObjectId(course)) throw new Error("Event course not found or invalid");
|
|
34
34
|
const teachers = (event.teachers ?? course.teachers)?.map((x) => x.to);
|
|
35
35
|
const groups = (event.groups ?? course.groups)?.map((x) => x.to);
|
|
36
|
-
|
|
36
|
+
return {
|
|
37
37
|
Ämne: course.ids,
|
|
38
38
|
Veckodag: day,
|
|
39
39
|
Starttid: moment.utc(event.start).format("HH.mm:ss"),
|
|
@@ -43,14 +43,11 @@ var schedules_default = (courseEvents) => {
|
|
|
43
43
|
Klassrum: (event.inLocations ?? []).map((x) => x && typeof x == "object" && "ids" in x ? x.ids : null).filter((x) => x != null).join(","),
|
|
44
44
|
Halvklass: "Nej"
|
|
45
45
|
};
|
|
46
|
-
return doc;
|
|
47
46
|
}).filter((x) => x != null);
|
|
48
|
-
|
|
47
|
+
return new Parser({
|
|
49
48
|
fields,
|
|
50
49
|
delimiter
|
|
51
|
-
};
|
|
52
|
-
const parser = new Parser(opts);
|
|
53
|
-
return parser.parse(events);
|
|
50
|
+
}).parse(events);
|
|
54
51
|
};
|
|
55
52
|
|
|
56
53
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedules.js","names":[
|
|
1
|
+
{"version":3,"file":"schedules.js","names":[],"sources":["../../../src/IdunSoft/to/schedules.ts"],"sourcesContent":["import type { ParserOptions } from '@json2csv/plainjs';\nimport { Parser } from '@json2csv/plainjs';\nimport moment from 'moment';\nimport type { Types as IdunSoftTypes } from '../types';\nimport type { CoreTypes } from '../../core';\nimport { getDayIndex } from '../../core/util';\nimport { isMongooseObjectId } from '../../common/functions';\n\nconst days = ['måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag'];\nconst fields = ['Veckodag', 'Starttid', 'Sluttid', 'Klass', 'Ämne', 'Kommentar', 'Lärare', 'Klassrum', 'Halvklass'];\nconst delimiter = '\\t';\nconst quote = '';\n\nexport default (courseEvents: CoreTypes.Mixed.Event[]): string => {\n const events = courseEvents\n .map(event => {\n if (event.parked) return;\n if (!event.start || !event.end) return;\n\n const day = days.at(getDayIndex(event.start));\n if (!day) throw new Error('Invalid event day');\n\n const course = event.course;\n if (!course || typeof course == 'string' || isMongooseObjectId(course))\n throw new Error('Event course not found or invalid');\n\n const teachers = (event.teachers ?? course.teachers)?.map(x => x.to);\n const groups = (event.groups ?? course.groups )?.map(x => x.to);\n\n const doc: IdunSoftTypes.toEvent = {\n Ämne: course.ids,\n Veckodag: day,\n Starttid: moment.utc(event.start).format('HH.mm:ss'),\n Sluttid: moment.utc(event.end ).format('HH.mm:ss'),\n Lärare: (teachers ?? []).map(x => typeof x == 'object' && 'ids' in x ? x.ids : null).filter(x => x != null).join(','),\n Klass: (groups ?? []).map(x => typeof x == 'object' && 'ids' in x ? x.ids : null).filter(x => x != null).join(','),\n Klassrum: (event.inLocations ?? []).map(x => x && typeof x == 'object' && 'ids' in x ? x.ids : null).filter(x => x != null).join(','),\n Halvklass: 'Nej'\n };\n return doc;\n })\n .filter(x => x != null);\n\n const opts: ParserOptions<IdunSoftTypes.toEvent> = { fields, delimiter/* , quote */ };\n const parser = new Parser(opts);\n return parser.parse(events);\n};\n"],"mappings":";;;;;;AAQA,MAAM,OAAY;CAAC;CAAU;CAAU;CAAU;CAAW;CAAS;AACrE,MAAM,SAAY;CAAC;CAAY;CAAY;CAAW;CAAS;CAAQ;CAAa;CAAU;CAAY;CAAY;AACtH,MAAM,YAAY;AAGlB,yBAAgB,iBAAkD;CAChE,MAAM,SAAS,aACZ,KAAI,UAAS;AACZ,MAAI,MAAM,OAAQ;AAClB,MAAI,CAAC,MAAM,SAAS,CAAC,MAAM,IAAK;EAEhC,MAAM,MAAM,KAAK,GAAG,YAAY,MAAM,MAAM,CAAC;AAC7C,MAAI,CAAC,IAAK,OAAM,IAAI,MAAM,oBAAoB;EAE9C,MAAM,SAAS,MAAM;AACrB,MAAI,CAAC,UAAU,OAAO,UAAU,YAAY,mBAAmB,OAAO,CACpE,OAAM,IAAI,MAAM,oCAAoC;EAEtD,MAAM,YAAY,MAAM,YAAY,OAAO,WAAW,KAAI,MAAK,EAAE,GAAG;EACpE,MAAM,UAAY,MAAM,UAAY,OAAO,SAAW,KAAI,MAAK,EAAE,GAAG;AAYpE,SAVmC;GACjC,MAAW,OAAO;GAClB,UAAW;GACX,UAAW,OAAO,IAAI,MAAM,MAAM,CAAC,OAAO,WAAW;GACrD,SAAW,OAAO,IAAI,MAAM,IAAM,CAAC,OAAO,WAAW;GACrD,SAAY,YAAqB,EAAE,EAAE,KAAI,MAAU,OAAO,KAAK,YAAY,SAAS,IAAI,EAAE,MAAM,KAAK,CAAC,QAAO,MAAK,KAAK,KAAK,CAAC,KAAK,IAAI;GACtI,QAAY,UAAqB,EAAE,EAAE,KAAI,MAAU,OAAO,KAAK,YAAY,SAAS,IAAI,EAAE,MAAM,KAAK,CAAC,QAAO,MAAK,KAAK,KAAK,CAAC,KAAK,IAAI;GACtI,WAAY,MAAM,eAAe,EAAE,EAAE,KAAI,MAAK,KAAK,OAAO,KAAK,YAAY,SAAS,IAAI,EAAE,MAAM,KAAK,CAAC,QAAO,MAAK,KAAK,KAAK,CAAC,KAAK,IAAI;GACtI,WAAW;GACZ;GAED,CACD,QAAO,MAAK,KAAK,KAAK;AAIzB,QADe,IAAI,OADgC;EAAE;EAAQ;EAAwB,CACtD,CACjB,MAAM,OAAO"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Types } from "../../core/types/index.js";
|
|
2
|
+
import "../../index.js";
|
|
2
3
|
|
|
3
4
|
//#region src/InfoMentor/to/index.d.ts
|
|
4
5
|
declare class export_default {
|
|
5
|
-
static schedules: (courseEvents: Types.
|
|
6
|
+
static schedules: (courseEvents: Types.Mixed.Event[]) => Buffer;
|
|
6
7
|
}
|
|
7
8
|
//#endregion
|
|
8
9
|
export { export_default };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getDayIndex } from "../../core/util.js";
|
|
2
|
+
import { isMongooseObjectId } from "../../common/functions.js";
|
|
2
3
|
import moment from "moment";
|
|
3
|
-
import { Types } from "mongoose";
|
|
4
4
|
import Papa from "papaparse";
|
|
5
5
|
import iconv from "iconv-lite";
|
|
6
6
|
|
|
@@ -30,11 +30,11 @@ var schedules_default = (courseEvents) => {
|
|
|
30
30
|
if (!course) return;
|
|
31
31
|
const day = days.at(getDayIndex(event.start));
|
|
32
32
|
if (!day) throw new Error("Invalid event day");
|
|
33
|
-
if (typeof course
|
|
33
|
+
if (typeof course == "string" || isMongooseObjectId(course)) throw new Error("(InfoMentor::To::Schedules) Event course is not an deserialized object");
|
|
34
34
|
const Personal = (event.teachers ?? course.teachers ?? []).map(({ to: x }) => typeof x == "object" && "displayName" in x ? x.displayName : null).filter((x) => x != null).join(",");
|
|
35
35
|
const Klasser = (event.groups ?? course.groups ?? []).map(({ to: x }) => typeof x == "object" && "displayName" in x ? x.displayName : null).filter((x) => x != null).join(",");
|
|
36
36
|
const Salar = (event.inLocations ?? []).map((x) => x && typeof x == "object" && "displayName" in x ? x.displayName : null).filter((x) => x != null).join(",");
|
|
37
|
-
|
|
37
|
+
return {
|
|
38
38
|
Ämne: course.displayName,
|
|
39
39
|
Dag: day,
|
|
40
40
|
Starttid: moment.utc(event.start).format("HH.mm"),
|
|
@@ -43,7 +43,6 @@ var schedules_default = (courseEvents) => {
|
|
|
43
43
|
Klasser,
|
|
44
44
|
Salar
|
|
45
45
|
};
|
|
46
|
-
return doc;
|
|
47
46
|
});
|
|
48
47
|
const opts = {
|
|
49
48
|
columns,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedules.js","names":[
|
|
1
|
+
{"version":3,"file":"schedules.js","names":[],"sources":["../../../src/InfoMentor/to/schedules.ts"],"sourcesContent":["import moment from 'moment';\nimport iconv from 'iconv-lite';\nimport Papa from 'papaparse';\nimport type { Types as InfoMentorTypes } from '../types';\nimport type { CoreTypes } from '../../core';\nimport { getDayIndex } from '../../core/util';\nimport { isMongooseObjectId } from '../../common/functions';\n\nconst days = ['MÅN', 'TIS', 'ONS', 'TOR', 'FRE'];\nconst columns = ['Ämne', 'Dag', 'Starttid', 'Längd', 'Personal', 'Klasser', 'Salar'];\nconst delimiter = '\\t';\nconst encoding = 'windows-1252';\n\nexport default (courseEvents: CoreTypes.Mixed.Event[]): Buffer => {\n const events = courseEvents\n .map(event => {\n if (event.parked || !event.start || !event.end) return;\n\n const course = event.course;\n if (!course) return;\n\n const day = days.at(getDayIndex(event.start));\n if (!day) throw new Error('Invalid event day');\n\n if (typeof course == 'string' || isMongooseObjectId(course))\n throw new Error('(InfoMentor::To::Schedules) Event course is not an deserialized object');\n\n const Personal = (event.teachers ?? course.teachers ?? []).map(({ to: x }) => typeof x == 'object' && 'displayName' in x ? x.displayName : null).filter(x => x != null).join(',');\n const Klasser = (event.groups ?? course.groups ?? []).map(({ to: x }) => typeof x == 'object' && 'displayName' in x ? x.displayName : null).filter(x => x != null).join(',');\n const Salar = (event.inLocations ?? []).map(x => x && typeof x == 'object' && 'displayName' in x ? x.displayName : null).filter(x => x != null).join(',');\n\n const doc: InfoMentorTypes.event ={\n Ämne: course.displayName,\n Dag: day,\n Starttid: moment.utc(event.start).format('HH.mm'),\n Längd: moment.utc(event.end).diff(moment.utc(event.start), 'minutes'),\n Personal,\n Klasser,\n Salar,\n };\n return doc;\n });\n\n const opts = { columns, delimiter };\n const csv = Papa.unparse(events, opts);\n return iconv.encode(csv, encoding);\n};\n"],"mappings":";;;;;;;AAQA,MAAM,OAAY;CAAC;CAAO;CAAO;CAAO;CAAO;CAAM;AACrD,MAAM,UAAY;CAAC;CAAQ;CAAO;CAAY;CAAS;CAAY;CAAW;CAAQ;AACtF,MAAM,YAAY;AAClB,MAAM,WAAY;AAElB,yBAAgB,iBAAkD;CAChE,MAAM,SAAS,aACZ,KAAI,UAAS;AACZ,MAAI,MAAM,UAAU,CAAC,MAAM,SAAS,CAAC,MAAM,IAAK;EAEhD,MAAM,SAAS,MAAM;AACrB,MAAI,CAAC,OAAQ;EAEb,MAAM,MAAM,KAAK,GAAG,YAAY,MAAM,MAAM,CAAC;AAC7C,MAAI,CAAC,IAAK,OAAM,IAAI,MAAM,oBAAoB;AAE9C,MAAI,OAAO,UAAU,YAAY,mBAAmB,OAAO,CACzD,OAAM,IAAI,MAAM,yEAAyE;EAE3F,MAAM,YAAY,MAAM,YAAY,OAAO,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,QAAa,OAAO,KAAK,YAAY,iBAAiB,IAAI,EAAE,cAAc,KAAK,CAAC,QAAO,MAAK,KAAK,KAAK,CAAC,KAAK,IAAI;EACtL,MAAM,WAAY,MAAM,UAAY,OAAO,UAAY,EAAE,EAAE,KAAK,EAAE,IAAI,QAAa,OAAO,KAAK,YAAY,iBAAiB,IAAI,EAAE,cAAc,KAAK,CAAC,QAAO,MAAK,KAAK,KAAK,CAAC,KAAK,IAAI;EACtL,MAAM,SAAY,MAAM,eAA+B,EAAE,EAAE,KAAI,MAAe,KAAK,OAAO,KAAK,YAAY,iBAAiB,IAAI,EAAE,cAAc,KAAK,CAAC,QAAO,MAAK,KAAK,KAAK,CAAC,KAAK,IAAI;AAWtL,SATkC;GAChC,MAAU,OAAO;GACjB,KAAU;GACV,UAAU,OAAO,IAAI,MAAM,MAAM,CAAC,OAAO,QAAQ;GACjD,OAAU,OAAO,IAAI,MAAM,IAAI,CAAC,KAAK,OAAO,IAAI,MAAM,MAAM,EAAE,UAAU;GACxE;GACA;GACA;GACD;GAED;CAEJ,MAAM,OAAO;EAAE;EAAS;EAAW;CACnC,MAAM,MAAM,KAAK,QAAQ,QAAQ,KAAK;AACtC,QAAO,MAAM,OAAO,KAAK,SAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_schedules"],"sources":["../../../src/PlanDigital/from/index.ts"],"sourcesContent":["import type { FromInterface } from '../../common/types';\nimport _schedules from './schedules';\n\nexport default {\n schedules: _schedules\n} satisfies FromInterface;"],"mappings":";;;AAGA,mBAAe,EACb,WAAWA"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_schedules"],"sources":["../../../src/PlanDigital/from/index.ts"],"sourcesContent":["import type { FromInterface } from '../../common/types';\nimport _schedules from './schedules';\n\nexport default {\n schedules: _schedules\n} satisfies FromInterface;"],"mappings":";;;AAGA,mBAAe,EACb,WAAWA,mBACZ"}
|
|
@@ -17,8 +17,7 @@ var schedules_default = (input, options) => {
|
|
|
17
17
|
errors.push(`The selected period ${x} does not exist.`);
|
|
18
18
|
return { meta: { errors } };
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
if (numUnits > 1) {
|
|
20
|
+
if (size(countBy(input["Perioder"].map((x) => x.Tidsenhet))) > 1) {
|
|
22
21
|
errors.push("Different time periods used for different periods.");
|
|
23
22
|
return { meta: { errors } };
|
|
24
23
|
}
|
|
@@ -31,18 +30,18 @@ var schedules_default = (input, options) => {
|
|
|
31
30
|
if (sum(periodTimes) == 0) return;
|
|
32
31
|
const displayName = c[options.displayName ?? "Gruppnamn"];
|
|
33
32
|
const subject = c["Kurskod"];
|
|
34
|
-
const groups
|
|
33
|
+
const groups = c["Klass"]?.split(",").map((x) => x.trim());
|
|
35
34
|
const teachers$1 = c["Sign"]?.split(",").map((x) => x.trim());
|
|
36
35
|
const periodTime = size(countBy(periodTimes)) == 1 ? periodTimes[0] : void 0;
|
|
37
36
|
const minutesPerWeek = timeUnit == "Minuter/Vecka" ? periodTime : void 0;
|
|
38
37
|
const expectedTotalHours = timeUnit == "Timmar/Period" ? periodTime : void 0;
|
|
39
38
|
teachers$1.forEach((x) => teacherSet.add(x));
|
|
40
|
-
groups
|
|
39
|
+
groups.forEach((x) => groupSet.add(x));
|
|
41
40
|
courses.push({
|
|
42
41
|
displayName,
|
|
43
42
|
subject,
|
|
44
43
|
teachers: teachers$1.map((to) => ({ to })),
|
|
45
|
-
groups: groups
|
|
44
|
+
groups: groups.map((to) => ({ to })),
|
|
46
45
|
...minutesPerWeek != void 0 && { minutesPerWeek },
|
|
47
46
|
...expectedTotalHours != void 0 && { expectedTotalHours }
|
|
48
47
|
});
|
|
@@ -51,13 +50,12 @@ var schedules_default = (input, options) => {
|
|
|
51
50
|
ids,
|
|
52
51
|
displayName: ids
|
|
53
52
|
}));
|
|
54
|
-
const groups = [...groupSet].map((ids) => ({
|
|
55
|
-
ids,
|
|
56
|
-
displayName: ids,
|
|
57
|
-
species: "class"
|
|
58
|
-
}));
|
|
59
53
|
return {
|
|
60
|
-
groups
|
|
54
|
+
groups: [...groupSet].map((ids) => ({
|
|
55
|
+
ids,
|
|
56
|
+
displayName: ids,
|
|
57
|
+
species: "class"
|
|
58
|
+
})),
|
|
61
59
|
teachers,
|
|
62
60
|
courses,
|
|
63
61
|
meta: {
|