@royalschedule/maps 3.3.15 → 3.3.17

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.
@@ -1,4 +1,5 @@
1
1
  import { Types } from "../../core/v2/types/index.js";
2
+ import { Types as Types$1 } from "../types/index.js";
2
3
  import * as xlsx0 from "xlsx";
3
4
 
4
5
  //#region src/Additio/to/index.d.ts
@@ -12,7 +13,8 @@ declare class export_default {
12
13
  teachers: Types.teacher[];
13
14
  courses: Types.course[];
14
15
  events: Types.event[];
15
- }) => xlsx0.WorkBook;
16
+ lockedTimes: Types.lockedTime[];
17
+ }, options?: Types$1.options) => xlsx0.WorkBook;
16
18
  }
17
19
  //#endregion
18
20
  export { export_default };
@@ -7,7 +7,7 @@ const getId = (ref) => {
7
7
  if (typeof ref == "string") return ref;
8
8
  return ref.id.toString();
9
9
  };
10
- var schedules_default = (schedule) => {
10
+ var schedules_default = (schedule, options = {}) => {
11
11
  const periodsMap = new Map(schedule.periods.map((x) => [getId(x), x]));
12
12
  periodsMap.set("", { ranges: [{
13
13
  start: schedule.division.start,
@@ -31,20 +31,20 @@ var schedules_default = (schedule) => {
31
31
  const groupsMap = new Map(schedule.groups.map((x) => [getId(x), x]));
32
32
  const teachersMap = new Map(schedule.teachers.map((x) => [getId(x), x]));
33
33
  const coursesMap = new Map(schedule.courses.map((x) => [getId(x), x]));
34
- const events = schedule.events.reduce((acc, event) => {
35
- if (event.parked) return acc;
36
- const course = coursesMap.get(getId(event.course));
37
- if (!course) return acc;
38
- const start = moment.utc(event.start);
39
- const end = moment.utc(event.end);
40
- const periodId = getId(event.period ?? course.period ?? schedule.settings.period);
34
+ const events = (options.includeEvents ?? true ? schedule.events : []).map((x) => {
35
+ if (x.parked) return;
36
+ const course = coursesMap.get(getId(x.course));
37
+ if (!course) return;
38
+ const start = moment.utc(x.start);
39
+ const end = moment.utc(x.end);
40
+ const periodId = getId(x.period ?? course.period ?? schedule.settings.period);
41
41
  const inWeeks = inWeeksMap.get(periodId);
42
- const locations = (event.inLocations ?? []).map((x) => x ? locationsMap.get(getId(x)) : null).filter((x) => !!x);
43
- const teachers = (event.teachers ?? course.teachers ?? []).map((x) => teachersMap.get(getId(x.to))).filter((x) => !!x);
44
- const groups = (event.groups ?? course.groups ?? []).map((x) => groupsMap.get(getId(x.to))).filter((x) => !!x);
42
+ const locations = (x.inLocations ?? []).map((x$1) => x$1 ? locationsMap.get(getId(x$1)) : null).filter((x$1) => !!x$1);
43
+ const teachers = (x.teachers ?? course.teachers ?? []).map((x$1) => teachersMap.get(getId(x$1.to))).filter((x$1) => !!x$1);
44
+ const groups = (x.groups ?? course.groups ?? []).map((x$1) => groupsMap.get(getId(x$1.to))).filter((x$1) => !!x$1);
45
45
  const out = {
46
- id: event._id?.toString(),
47
- externalid: event.ids?.toString(),
46
+ id: x._id?.toString(),
47
+ externalid: x.ids?.toString(),
48
48
  groupid: course.ids,
49
49
  group: course.displayName,
50
50
  dayid: (start.day() + 6) % 7,
@@ -52,16 +52,31 @@ var schedules_default = (schedule) => {
52
52
  length: end.diff(start, "minutes"),
53
53
  subject: course.subject,
54
54
  inweek: inWeeks,
55
- roomid: locations.map((x) => x.ids).join(", "),
56
- room: locations.map((x) => x.displayName).join(", "),
57
- teacherid: teachers.map((x) => x.ids).join(", "),
58
- teacher: teachers.map((x) => x.displayName).join(", "),
59
- classid: groups.map((x) => x.ids).join(", "),
60
- class: groups.map((x) => x.displayName).join(", ")
55
+ roomid: locations.map((x$1) => x$1.ids).join(", "),
56
+ room: locations.map((x$1) => x$1.displayName).join(", "),
57
+ teacherid: teachers.map((x$1) => x$1.ids).join(", "),
58
+ teacher: teachers.map((x$1) => x$1.displayName).join(", "),
59
+ classid: groups.map((x$1) => x$1.ids).join(", "),
60
+ class: groups.map((x$1) => x$1.displayName).join(", ")
61
61
  };
62
- return acc.concat(out);
63
- }, []);
64
- return toXlsx(events);
62
+ return out;
63
+ }).filter((x) => !!x);
64
+ const complementaryTimes = (options.includeComplementaryTimes ?? true ? schedule.lockedTimes : []).filter((x) => x.type == "COMPLEMENTARY_TIME").map((x) => {
65
+ if (x.parked) return;
66
+ const start = moment.utc(x.start);
67
+ const end = moment.utc(x.end);
68
+ const teachers = (x.coalesced ?? []).filter((x$1) => x$1.toModel == "teachers").map((x$1) => teachersMap.get(getId(x$1.to))).filter((x$1) => !!x$1);
69
+ const out = {
70
+ id: x._id?.toString(),
71
+ dayid: (start.day() + 6) % 7,
72
+ startTime: start.format("HHmm"),
73
+ length: end.diff(start, "minutes"),
74
+ teacherid: teachers.map((x$1) => x$1.ids).join(", "),
75
+ teacher: teachers.map((x$1) => x$1.displayName).join(", ")
76
+ };
77
+ return out;
78
+ }).filter((x) => !!x);
79
+ return toXlsx([...events, ...complementaryTimes]);
65
80
  };
66
81
  function toXlsx(events) {
67
82
  const wb = XLSX$1.utils.book_new();
@@ -1 +1 @@
1
- {"version":3,"file":"schedules.js","names":["weeks","out: OutEvent","XLSX"],"sources":["../../../src/Additio/to/schedules.ts"],"sourcesContent":["import * as XLSX from 'xlsx';\nimport moment from 'moment';\nimport { Types } from 'mongoose';\n\nimport { Types as CoreTypes } from '../../core/types';\n\ntype OutEvent = {\n id?: string;\n externalid?: string;\n groupid?: string;\n group?: string;\n dayid?: number;\n startTime?: string;\n length?: number;\n subject?: string;\n roomid?: string;\n room?: string;\n teacherid?: string;\n teacher?: string;\n classid?: string;\n class?: string;\n inweek?: string;\n};\n\ntype Schedule = {\n division: CoreTypes.division;\n settings: CoreTypes.divisionSettings;\n periods: CoreTypes.period[];\n locations: CoreTypes.location[];\n groups: CoreTypes.group[];\n teachers: CoreTypes.teacher[];\n courses: CoreTypes.course[];\n events: CoreTypes.event[];\n};\n\n\nconst getId = (ref: { id?: string } | Types.ObjectId | string | undefined): string => {\n if (!ref) return '';\n if (typeof ref == 'string') return ref;\n return ref.id!.toString();\n};\n\nexport default (\n schedule: Schedule\n): XLSX.WorkBook => {\n\n // a map of period.id -> period\n const periodsMap = new Map(schedule.periods.map(x => [getId(x), x]));\n periodsMap.set('', { ranges: [{ start: schedule.division.start, end: schedule.division.end }] });\n\n // a map of period.id -> inWeeks\n const inWeeksMap = new Map<string, string>();\n periodsMap.forEach((period, id) => {\n const weeks = period.ranges\n .map(x => {\n // fetch all weeks between start and end\n const start = moment.utc(x.start);\n const end = moment.utc(x.end);\n const weeks = new Array<number>();\n while (start.isBefore(end)) {\n weeks.push(start.week());\n start.add(1, 'week');\n }\n return weeks;\n })\n .flat()\n .join(', ');\n\n inWeeksMap.set(id, weeks);\n });\n\n // a map of location.id -> location\n const locationsMap = new Map(schedule.locations.map(x => [getId(x), x]));\n\n // a map of group.id -> group\n const groupsMap = new Map(schedule.groups.map(x => [getId(x), x]));\n\n // a map of teacher.id -> teacher\n const teachersMap = new Map(schedule.teachers.map(x => [getId(x), x]));\n\n // a map of course.id -> course\n const coursesMap = new Map(schedule.courses.map(x => [getId(x), x]));\n\n\n const events = schedule.events.reduce((acc, event) => {\n // ignore parked events\n if (event.parked) return acc;\n\n // must have a course\n const course = coursesMap.get(getId(event.course));\n if (!course) return acc;\n\n const start = moment.utc(event.start);\n const end = moment.utc(event.end);\n\n const periodId = getId(event.period ?? course.period ?? schedule.settings.period);\n const inWeeks = inWeeksMap.get(periodId);\n\n const locations = (event.inLocations ?? []).map(x => x ? locationsMap.get(getId(x )) : null).filter((x): x is NonNullable<typeof x> => !!x);\n const teachers = (event.teachers ?? course.teachers ?? []).map(x => teachersMap .get(getId(x.to)) ).filter((x): x is NonNullable<typeof x> => !!x);\n const groups = (event.groups ?? course.groups ?? []).map(x => groupsMap .get(getId(x.to)) ).filter((x): x is NonNullable<typeof x> => !!x);\n\n const out: OutEvent = {\n id: event._id?.toString(),\n externalid: event.ids?.toString(),\n groupid: course.ids,\n group: course.displayName,\n dayid: (start.day() + 6) % 7,\n startTime: start.format('HHmm'),\n length: end.diff(start, 'minutes'),\n subject: course.subject,\n inweek: inWeeks,\n roomid: locations.map(x => x.ids ).join(', '),\n room: locations.map(x => x.displayName).join(', '),\n teacherid: teachers .map(x => x.ids ).join(', '),\n teacher: teachers .map(x => x.displayName).join(', '),\n classid: groups .map(x => x.ids ).join(', '),\n class: groups .map(x => x.displayName).join(', ')\n };\n return acc.concat(out);\n }, [] as OutEvent[]);\n\n // return toXlsx(events);\n return toXlsx(events);\n};\n\nfunction toXlsx (events: OutEvent[]): XLSX.WorkBook {\n const wb = XLSX.utils.book_new();\n\n XLSX.utils.book_append_sheet(wb, XLSX.utils.json_to_sheet(events), 'royal schedule export');\n\n return wb;\n}"],"mappings":";;;;AAoCA,MAAM,SAAS,QAAuE;AACpF,KAAI,CAAC,IAAK,QAAO;AACjB,KAAI,OAAO,OAAO,SAAU,QAAO;AACnC,QAAO,IAAI,GAAI;;AAGjB,yBACE,aACkB;CAGlB,MAAM,aAAa,IAAI,IAAI,SAAS,QAAQ,KAAI,MAAK,CAAC,MAAM,IAAI;AAChE,YAAW,IAAI,IAAI,EAAE,QAAQ,CAAC;EAAE,OAAO,SAAS,SAAS;EAAO,KAAK,SAAS,SAAS;;CAGvF,MAAM,6BAAa,IAAI;AACvB,YAAW,SAAS,QAAQ,OAAO;EACjC,MAAM,QAAQ,OAAO,OAClB,KAAI,MAAK;GAER,MAAM,QAAQ,OAAO,IAAI,EAAE;GAC3B,MAAM,MAAQ,OAAO,IAAI,EAAE;GAC3B,MAAMA,UAAQ,IAAI;AAClB,UAAO,MAAM,SAAS,MAAM;AAC1B,YAAM,KAAK,MAAM;AACjB,UAAM,IAAI,GAAG;;AAEf,UAAOA;KAER,OACA,KAAK;AAER,aAAW,IAAI,IAAI;;CAIrB,MAAM,eAAe,IAAI,IAAI,SAAS,UAAU,KAAI,MAAK,CAAC,MAAM,IAAI;CAGpE,MAAM,YAAY,IAAI,IAAI,SAAS,OAAO,KAAI,MAAK,CAAC,MAAM,IAAI;CAG9D,MAAM,cAAc,IAAI,IAAI,SAAS,SAAS,KAAI,MAAK,CAAC,MAAM,IAAI;CAGlE,MAAM,aAAa,IAAI,IAAI,SAAS,QAAQ,KAAI,MAAK,CAAC,MAAM,IAAI;CAGhE,MAAM,SAAS,SAAS,OAAO,QAAQ,KAAK,UAAU;AAEpD,MAAI,MAAM,OAAQ,QAAO;EAGzB,MAAM,SAAS,WAAW,IAAI,MAAM,MAAM;AAC1C,MAAI,CAAC,OAAQ,QAAO;EAEpB,MAAM,QAAQ,OAAO,IAAI,MAAM;EAC/B,MAAM,MAAQ,OAAO,IAAI,MAAM;EAE/B,MAAM,WAAW,MAAM,MAAM,UAAU,OAAO,UAAU,SAAS,SAAS;EAC1E,MAAM,UAAU,WAAW,IAAI;EAE/B,MAAM,aAAa,MAAM,eAA+B,IAAI,KAAI,MAAM,IAAI,aAAa,IAAI,MAAM,MAAS,MAAM,QAAQ,MAAkC,CAAC,CAAC;EAC5J,MAAM,YAAa,MAAM,YAAY,OAAO,YAAY,IAAI,KAAI,MAAU,YAAa,IAAI,MAAM,EAAE,MAAa,QAAQ,MAAkC,CAAC,CAAC;EAC5J,MAAM,UAAa,MAAM,UAAY,OAAO,UAAY,IAAI,KAAI,MAAU,UAAa,IAAI,MAAM,EAAE,MAAa,QAAQ,MAAkC,CAAC,CAAC;EAE5J,MAAMC,MAAgB;GACpB,IAAY,MAAM,KAAK;GACvB,YAAY,MAAM,KAAK;GACvB,SAAY,OAAO;GACnB,OAAY,OAAO;GACnB,QAAa,MAAM,QAAQ,KAAK;GAChC,WAAY,MAAM,OAAO;GACzB,QAAY,IAAI,KAAK,OAAO;GAC5B,SAAY,OAAO;GACnB,QAAY;GACZ,QAAY,UAAU,KAAI,MAAK,EAAE,KAAa,KAAK;GACnD,MAAY,UAAU,KAAI,MAAK,EAAE,aAAa,KAAK;GACnD,WAAY,SAAU,KAAI,MAAK,EAAE,KAAa,KAAK;GACnD,SAAY,SAAU,KAAI,MAAK,EAAE,aAAa,KAAK;GACnD,SAAY,OAAU,KAAI,MAAK,EAAE,KAAa,KAAK;GACnD,OAAY,OAAU,KAAI,MAAK,EAAE,aAAa,KAAK;;AAErD,SAAO,IAAI,OAAO;IACjB;AAGH,QAAO,OAAO;;AAGhB,SAAS,OAAQ,QAAmC;CAClD,MAAM,KAAKC,OAAK,MAAM;AAEtB,QAAK,MAAM,kBAAkB,IAAIA,OAAK,MAAM,cAAc,SAAS;AAEnE,QAAO"}
1
+ {"version":3,"file":"schedules.js","names":["weeks","x","out: OutEvent","XLSX"],"sources":["../../../src/Additio/to/schedules.ts"],"sourcesContent":["import * as XLSX from 'xlsx';\nimport moment from 'moment';\nimport type { Types as MongooseTypes } from 'mongoose';\nimport type { Types as CoreTypes } from '../../core/types';\nimport type { Types } from '../types';\n\ntype OutEvent = {\n id?: string;\n externalid?: string;\n groupid?: string;\n group?: string;\n dayid?: number;\n startTime?: string;\n length?: number;\n subject?: string;\n roomid?: string;\n room?: string;\n teacherid?: string;\n teacher?: string;\n classid?: string;\n class?: string;\n inweek?: string;\n};\n\ntype Schedule = {\n division: CoreTypes.division;\n settings: CoreTypes.divisionSettings;\n periods: CoreTypes.period[];\n locations: CoreTypes.location[];\n groups: CoreTypes.group[];\n teachers: CoreTypes.teacher[];\n courses: CoreTypes.course[];\n events: CoreTypes.event[];\n lockedTimes: CoreTypes.lockedTime[];\n};\n\n\nconst getId = (ref: { id?: string } | MongooseTypes.ObjectId | string | undefined): string => {\n if (!ref) return '';\n if (typeof ref == 'string') return ref;\n return ref.id!.toString();\n};\n\nexport default (\n schedule: Schedule,\n options: Types.options = { }\n): XLSX.WorkBook => {\n\n // a map of period.id -> period\n const periodsMap = new Map(schedule.periods.map(x => [getId(x), x]));\n periodsMap.set('', { ranges: [{ start: schedule.division.start, end: schedule.division.end }] });\n\n // a map of period.id -> inWeeks\n const inWeeksMap = new Map<string, string>();\n periodsMap.forEach((period, id) => {\n const weeks = period.ranges\n .map(x => {\n // fetch all weeks between start and end\n const start = moment.utc(x.start);\n const end = moment.utc(x.end);\n const weeks = new Array<number>();\n while (start.isBefore(end)) {\n weeks.push(start.week());\n start.add(1, 'week');\n }\n return weeks;\n })\n .flat()\n .join(', ');\n\n inWeeksMap.set(id, weeks);\n });\n\n // a map of location.id -> location\n const locationsMap = new Map(schedule.locations.map(x => [getId(x), x]));\n\n // a map of group.id -> group\n const groupsMap = new Map(schedule.groups.map(x => [getId(x), x]));\n\n // a map of teacher.id -> teacher\n const teachersMap = new Map(schedule.teachers.map(x => [getId(x), x]));\n\n // a map of course.id -> course\n const coursesMap = new Map(schedule.courses.map(x => [getId(x), x]));\n\n const events = (options.includeEvents ?? true ? schedule.events : [])\n .map(x => {\n // ignore parked events\n if (x.parked) return;\n\n // must have a course\n const course = coursesMap.get(getId(x.course));\n if (!course) return;\n\n const start = moment.utc(x.start);\n const end = moment.utc(x.end);\n\n const periodId = getId(x.period ?? course.period ?? schedule.settings.period);\n const inWeeks = inWeeksMap.get(periodId);\n\n const locations = (x.inLocations ?? []).map(x => x ? locationsMap.get(getId(x )) : null).filter(x => !!x);\n const teachers = (x.teachers ?? course.teachers ?? []).map(x => teachersMap .get(getId(x.to)) ).filter(x => !!x);\n const groups = (x.groups ?? course.groups ?? []).map(x => groupsMap .get(getId(x.to)) ).filter(x => !!x);\n\n const out: OutEvent = {\n id: x._id?.toString(),\n externalid: x.ids?.toString(),\n groupid: course.ids,\n group: course.displayName,\n dayid: (start.day() + 6) % 7,\n startTime: start.format('HHmm'),\n length: end.diff(start, 'minutes'),\n subject: course.subject,\n inweek: inWeeks,\n roomid: locations.map(x => x.ids ).join(', '),\n room: locations.map(x => x.displayName).join(', '),\n teacherid: teachers .map(x => x.ids ).join(', '),\n teacher: teachers .map(x => x.displayName).join(', '),\n classid: groups .map(x => x.ids ).join(', '),\n class: groups .map(x => x.displayName).join(', ')\n };\n return out;\n })\n .filter(x => !!x);\n\n const complementaryTimes = (options.includeComplementaryTimes ?? true ? schedule.lockedTimes : [])\n .filter(x => x.type == 'COMPLEMENTARY_TIME')\n .map(x => {\n // ignore parked events\n if (x.parked) return;\n\n const start = moment.utc(x.start);\n const end = moment.utc(x.end);\n\n const teachers = (x.coalesced ?? [])\n .filter(x => x.toModel == 'teachers')\n .map(x => teachersMap.get(getId(x.to)))\n .filter(x => !!x);\n\n const out: OutEvent = {\n id: x._id?.toString(),\n dayid: (start.day() + 6) % 7,\n startTime: start.format('HHmm'),\n length: end.diff(start, 'minutes'),\n teacherid: teachers .map(x => x.ids ).join(', '),\n teacher: teachers .map(x => x.displayName).join(', '),\n };\n return out;\n })\n .filter(x => !!x);\n\n return toXlsx([...events, ...complementaryTimes]);\n};\n\nfunction toXlsx (events: OutEvent[]): XLSX.WorkBook {\n const wb = XLSX.utils.book_new();\n\n XLSX.utils.book_append_sheet(wb, XLSX.utils.json_to_sheet(events), 'royal schedule export');\n\n return wb;\n}"],"mappings":";;;;AAqCA,MAAM,SAAS,QAA+E;AAC5F,KAAI,CAAC,IAAK,QAAO;AACjB,KAAI,OAAO,OAAO,SAAU,QAAO;AACnC,QAAO,IAAI,GAAI;;AAGjB,yBACE,UACA,UAA0B,OACR;CAGlB,MAAM,aAAa,IAAI,IAAI,SAAS,QAAQ,KAAI,MAAK,CAAC,MAAM,IAAI;AAChE,YAAW,IAAI,IAAI,EAAE,QAAQ,CAAC;EAAE,OAAO,SAAS,SAAS;EAAO,KAAK,SAAS,SAAS;;CAGvF,MAAM,6BAAa,IAAI;AACvB,YAAW,SAAS,QAAQ,OAAO;EACjC,MAAM,QAAQ,OAAO,OAClB,KAAI,MAAK;GAER,MAAM,QAAQ,OAAO,IAAI,EAAE;GAC3B,MAAM,MAAQ,OAAO,IAAI,EAAE;GAC3B,MAAMA,UAAQ,IAAI;AAClB,UAAO,MAAM,SAAS,MAAM;AAC1B,YAAM,KAAK,MAAM;AACjB,UAAM,IAAI,GAAG;;AAEf,UAAOA;KAER,OACA,KAAK;AAER,aAAW,IAAI,IAAI;;CAIrB,MAAM,eAAe,IAAI,IAAI,SAAS,UAAU,KAAI,MAAK,CAAC,MAAM,IAAI;CAGpE,MAAM,YAAY,IAAI,IAAI,SAAS,OAAO,KAAI,MAAK,CAAC,MAAM,IAAI;CAG9D,MAAM,cAAc,IAAI,IAAI,SAAS,SAAS,KAAI,MAAK,CAAC,MAAM,IAAI;CAGlE,MAAM,aAAa,IAAI,IAAI,SAAS,QAAQ,KAAI,MAAK,CAAC,MAAM,IAAI;CAEhE,MAAM,UAAU,QAAQ,iBAAiB,OAAO,SAAS,SAAS,IAC/D,KAAI,MAAK;AAER,MAAI,EAAE,OAAQ;EAGd,MAAM,SAAS,WAAW,IAAI,MAAM,EAAE;AACtC,MAAI,CAAC,OAAQ;EAEb,MAAM,QAAQ,OAAO,IAAI,EAAE;EAC3B,MAAM,MAAQ,OAAO,IAAI,EAAE;EAE3B,MAAM,WAAW,MAAM,EAAE,UAAU,OAAO,UAAU,SAAS,SAAS;EACtE,MAAM,UAAU,WAAW,IAAI;EAE/B,MAAM,aAAa,EAAE,eAA+B,IAAI,KAAI,QAAMC,MAAI,aAAa,IAAI,MAAMA,QAAS,MAAM,QAAO,QAAK,CAAC,CAACA;EAC1H,MAAM,YAAa,EAAE,YAAY,OAAO,YAAY,IAAI,KAAI,QAAU,YAAa,IAAI,MAAMA,IAAE,MAAa,QAAO,QAAK,CAAC,CAACA;EAC1H,MAAM,UAAa,EAAE,UAAY,OAAO,UAAY,IAAI,KAAI,QAAU,UAAa,IAAI,MAAMA,IAAE,MAAa,QAAO,QAAK,CAAC,CAACA;EAE1H,MAAMC,MAAgB;GACpB,IAAY,EAAE,KAAK;GACnB,YAAY,EAAE,KAAK;GACnB,SAAY,OAAO;GACnB,OAAY,OAAO;GACnB,QAAa,MAAM,QAAQ,KAAK;GAChC,WAAY,MAAM,OAAO;GACzB,QAAY,IAAI,KAAK,OAAO;GAC5B,SAAY,OAAO;GACnB,QAAY;GACZ,QAAY,UAAU,KAAI,QAAKD,IAAE,KAAa,KAAK;GACnD,MAAY,UAAU,KAAI,QAAKA,IAAE,aAAa,KAAK;GACnD,WAAY,SAAU,KAAI,QAAKA,IAAE,KAAa,KAAK;GACnD,SAAY,SAAU,KAAI,QAAKA,IAAE,aAAa,KAAK;GACnD,SAAY,OAAU,KAAI,QAAKA,IAAE,KAAa,KAAK;GACnD,OAAY,OAAU,KAAI,QAAKA,IAAE,aAAa,KAAK;;AAErD,SAAO;IAER,QAAO,MAAK,CAAC,CAAC;CAEjB,MAAM,sBAAsB,QAAQ,6BAA6B,OAAO,SAAS,cAAc,IAC5F,QAAO,MAAK,EAAE,QAAQ,sBACtB,KAAI,MAAK;AAER,MAAI,EAAE,OAAQ;EAEd,MAAM,QAAQ,OAAO,IAAI,EAAE;EAC3B,MAAM,MAAQ,OAAO,IAAI,EAAE;EAE3B,MAAM,YAAY,EAAE,aAAa,IAC9B,QAAO,QAAKA,IAAE,WAAW,YACzB,KAAI,QAAK,YAAY,IAAI,MAAMA,IAAE,MACjC,QAAO,QAAK,CAAC,CAACA;EAEjB,MAAMC,MAAgB;GACpB,IAAW,EAAE,KAAK;GAClB,QAAY,MAAM,QAAQ,KAAK;GAC/B,WAAW,MAAM,OAAO;GACxB,QAAW,IAAI,KAAK,OAAO;GAC3B,WAAW,SAAU,KAAI,QAAKD,IAAE,KAAa,KAAK;GAClD,SAAW,SAAU,KAAI,QAAKA,IAAE,aAAa,KAAK;;AAEpD,SAAO;IAER,QAAO,MAAK,CAAC,CAAC;AAEjB,QAAO,OAAO,CAAC,GAAG,QAAQ,GAAG;;AAG/B,SAAS,OAAQ,QAAmC;CAClD,MAAM,KAAKE,OAAK,MAAM;AAEtB,QAAK,MAAM,kBAAkB,IAAIA,OAAK,MAAM,cAAc,SAAS;AAEnE,QAAO"}
@@ -7,9 +7,11 @@ import { ScheduleGroup } from "./schedule-groups.js";
7
7
  import { Lesson } from "./lessons.js";
8
8
  import { Schedule } from "./schedules.js";
9
9
  import { CourseSection } from "./course-sections.js";
10
+ import { Options } from "./options.js";
10
11
 
11
12
  //#region src/Additio/types/index.d.ts
12
13
  declare namespace Types {
14
+ type options = Options;
13
15
  type courseSection = CourseSection;
14
16
  type course = Course;
15
17
  type lesson = Lesson;
@@ -0,0 +1,8 @@
1
+ //#region src/Additio/types/options.d.ts
2
+ type Options = {
3
+ includeEvents?: boolean;
4
+ includeComplementaryTimes?: boolean;
5
+ };
6
+ //#endregion
7
+ export { Options };
8
+ //# sourceMappingURL=options.d.ts.map
@@ -17,8 +17,8 @@ import { AlgorithmWeightParameters } from "../types/algorithm-parameters.js";
17
17
  import { Configuration } from "../types/configurations.js";
18
18
  import { Constraint } from "../types/constraints.js";
19
19
  import { OutOptions } from "../types/out-options.js";
20
- import * as mongoose2 from "mongoose";
21
- import * as lodash0 from "lodash";
20
+ import * as mongoose5 from "mongoose";
21
+ import * as lodash1 from "lodash";
22
22
 
23
23
  //#region src/RS/v3/to/index.d.ts
24
24
  declare class export_default {
@@ -26,7 +26,7 @@ declare class export_default {
26
26
  input: Constraint;
27
27
  output?: Configuration[] | undefined;
28
28
  coreData?: {
29
- syllabuses: lodash0.Omit<Deserialized<Syllabus>, "_id" | "belongsTo" | "createdAt" | "updatedAt" | "lastModifiedBy">[];
29
+ syllabuses: lodash1.Omit<Deserialized<Syllabus>, "_id" | "belongsTo" | "createdAt" | "updatedAt" | "lastModifiedBy">[];
30
30
  settings: DivisionSettings;
31
31
  rootIntervals: RootInterval[];
32
32
  overlapGroups: Serialized<Omit<OverlapGroup, "belongsTo" | "lastModifiedBy">>[];
@@ -54,7 +54,7 @@ declare class export_default {
54
54
  to: string;
55
55
  }[] | undefined;
56
56
  course: string | undefined;
57
- _id?: mongoose2.Types.ObjectId | undefined;
57
+ _id?: mongoose5.Types.ObjectId | undefined;
58
58
  id?: string | undefined;
59
59
  belongsTo?: Deserialized<Division> | undefined;
60
60
  density?: number | undefined;
@@ -139,7 +139,7 @@ declare class export_default {
139
139
  persons: {
140
140
  exceptions?: string[] | undefined;
141
141
  group: string | undefined;
142
- _id?: mongoose2.Types.ObjectId | undefined;
142
+ _id?: mongoose5.Types.ObjectId | undefined;
143
143
  id?: string | undefined;
144
144
  belongsTo?: Deserialized<Division> | undefined;
145
145
  ids?: string | undefined;
@@ -223,7 +223,7 @@ declare class export_default {
223
223
  }[];
224
224
  locations: {
225
225
  exceptions?: string[] | Deserialized<Exception>[] | undefined;
226
- _id?: mongoose2.Types.ObjectId | undefined;
226
+ _id?: mongoose5.Types.ObjectId | undefined;
227
227
  id?: string | undefined;
228
228
  belongsTo?: Deserialized<Division> | undefined;
229
229
  ids?: string | undefined;
@@ -13,12 +13,12 @@ import { DivisionSettings } from "../types/division-settings.js";
13
13
  import { Division } from "../types/divisions.js";
14
14
  import { Types as Types$1 } from "../types/index.js";
15
15
  import { Deserialized, Serialized } from "../../types/index.js";
16
- import * as mongoose5 from "mongoose";
17
- import * as lodash1 from "lodash";
16
+ import * as mongoose2 from "mongoose";
17
+ import * as lodash0 from "lodash";
18
18
 
19
19
  //#region src/core/v2/to/schedules.d.ts
20
20
  declare function export_default(schedule: Deserialized<Types$1.schedule>): {
21
- syllabuses: lodash1.Omit<Deserialized<Syllabus>, "_id" | "belongsTo" | "createdAt" | "updatedAt" | "lastModifiedBy">[];
21
+ syllabuses: lodash0.Omit<Deserialized<Syllabus>, "_id" | "belongsTo" | "createdAt" | "updatedAt" | "lastModifiedBy">[];
22
22
  settings: DivisionSettings;
23
23
  rootIntervals: RootInterval[];
24
24
  overlapGroups: Serialized<Omit<OverlapGroup, "belongsTo" | "lastModifiedBy">>[];
@@ -46,7 +46,7 @@ declare function export_default(schedule: Deserialized<Types$1.schedule>): {
46
46
  to: string;
47
47
  }[] | undefined;
48
48
  course: string | undefined;
49
- _id?: mongoose5.Types.ObjectId | undefined;
49
+ _id?: mongoose2.Types.ObjectId | undefined;
50
50
  id?: string | undefined;
51
51
  belongsTo?: Deserialized<Division> | undefined;
52
52
  density?: number | undefined;
@@ -131,7 +131,7 @@ declare function export_default(schedule: Deserialized<Types$1.schedule>): {
131
131
  persons: {
132
132
  exceptions?: string[] | undefined;
133
133
  group: string | undefined;
134
- _id?: mongoose5.Types.ObjectId | undefined;
134
+ _id?: mongoose2.Types.ObjectId | undefined;
135
135
  id?: string | undefined;
136
136
  belongsTo?: Deserialized<Division> | undefined;
137
137
  ids?: string | undefined;
@@ -215,7 +215,7 @@ declare function export_default(schedule: Deserialized<Types$1.schedule>): {
215
215
  }[];
216
216
  locations: {
217
217
  exceptions?: string[] | Deserialized<Exception>[] | undefined;
218
- _id?: mongoose5.Types.ObjectId | undefined;
218
+ _id?: mongoose2.Types.ObjectId | undefined;
219
219
  id?: string | undefined;
220
220
  belongsTo?: Deserialized<Division> | undefined;
221
221
  ids?: string | undefined;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@royalschedule/maps",
3
3
  "description": "",
4
- "version": "3.3.15",
4
+ "version": "3.3.17",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "type": "module",