@royalschedule/maps 2.4.8 → 2.4.9

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.
Files changed (101) hide show
  1. package/dist/RS/v2/to/destructure.js +8 -3
  2. package/dist/RS/v2/to/destructure.js.map +1 -1
  3. package/dist/core/from/courses.js +15 -0
  4. package/dist/core/from/courses.js.map +1 -1
  5. package/dist/core/from/events.js +15 -0
  6. package/dist/core/from/events.js.map +1 -1
  7. package/dist/core/from/groups.js +15 -0
  8. package/dist/core/from/groups.js.map +1 -1
  9. package/dist/core/from/locations.js +15 -0
  10. package/dist/core/from/locations.js.map +1 -1
  11. package/dist/core/from/locked-times.js +15 -0
  12. package/dist/core/from/locked-times.js.map +1 -1
  13. package/dist/core/from/overlap-groups.js +15 -0
  14. package/dist/core/from/overlap-groups.js.map +1 -1
  15. package/dist/core/from/persons.js +15 -0
  16. package/dist/core/from/persons.js.map +1 -1
  17. package/dist/core/from/schedules.js +15 -0
  18. package/dist/core/from/schedules.js.map +1 -1
  19. package/dist/core/from/teachers.js +15 -0
  20. package/dist/core/from/teachers.js.map +1 -1
  21. package/dist/core/to/available-locations.js +15 -0
  22. package/dist/core/to/available-locations.js.map +1 -1
  23. package/dist/core/to/courses.d.ts +37 -1
  24. package/dist/core/to/courses.js +43 -10
  25. package/dist/core/to/courses.js.map +1 -1
  26. package/dist/core/to/days.d.ts +4 -1
  27. package/dist/core/to/days.js +15 -0
  28. package/dist/core/to/days.js.map +1 -1
  29. package/dist/core/to/events.d.ts +41 -1
  30. package/dist/core/to/events.js +43 -10
  31. package/dist/core/to/events.js.map +1 -1
  32. package/dist/core/to/groups.d.ts +15 -1
  33. package/dist/core/to/groups.js +15 -0
  34. package/dist/core/to/groups.js.map +1 -1
  35. package/dist/core/to/intervals.d.ts +4 -1
  36. package/dist/core/to/intervals.js.map +1 -1
  37. package/dist/core/to/locations.js +15 -0
  38. package/dist/core/to/locations.js.map +1 -1
  39. package/dist/core/to/locked-times.d.ts +2 -2
  40. package/dist/core/to/locked-times.js +16 -1
  41. package/dist/core/to/locked-times.js.map +1 -1
  42. package/dist/core/to/overlap-groups.js +15 -0
  43. package/dist/core/to/overlap-groups.js.map +1 -1
  44. package/dist/core/to/persons.js +15 -0
  45. package/dist/core/to/persons.js.map +1 -1
  46. package/dist/core/to/schedules.js +16 -1
  47. package/dist/core/to/schedules.js.map +1 -1
  48. package/dist/core/to/settings.js +15 -0
  49. package/dist/core/to/settings.js.map +1 -1
  50. package/dist/core/to/teachers.js +15 -0
  51. package/dist/core/to/teachers.js.map +1 -1
  52. package/dist/core/types/common/index.d.ts +2 -2
  53. package/dist/core/types/common/index.js +0 -1
  54. package/dist/core/types/common/index.js.map +1 -1
  55. package/dist/core/types/common.d.ts +26 -0
  56. package/dist/{PlanDigital/types/period.js → core/types/common.js} +1 -1
  57. package/dist/core/types/common.js.map +1 -0
  58. package/dist/core/types/course-events.d.ts +13 -3
  59. package/dist/core/types/courses.d.ts +14 -3
  60. package/dist/core/types/meta.d.ts +1 -1
  61. package/dist/core/types/teachers.d.ts +0 -2
  62. package/dist/core/v2/types/common/index.d.ts +26 -0
  63. package/package.json +1 -1
  64. package/dist/PlanDigital/types/course.d.ts +0 -15
  65. package/dist/PlanDigital/types/course.js +0 -6
  66. package/dist/PlanDigital/types/course.js.map +0 -1
  67. package/dist/PlanDigital/types/period.d.ts +0 -3
  68. package/dist/PlanDigital/types/period.js.map +0 -1
  69. package/dist/SchoolSoft/from/index.d.ts +0 -8
  70. package/dist/SchoolSoft/from/index.js +0 -16
  71. package/dist/SchoolSoft/from/index.js.map +0 -1
  72. package/dist/SchoolSoft/from/schedules.d.ts +0 -9
  73. package/dist/SchoolSoft/from/schedules.js +0 -221
  74. package/dist/SchoolSoft/from/schedules.js.map +0 -1
  75. package/dist/SchoolSoft/to/index.d.ts +0 -3
  76. package/dist/SchoolSoft/to/index.js +0 -16
  77. package/dist/SchoolSoft/to/index.js.map +0 -1
  78. package/dist/SchoolSoft/to/schedules.d.ts +0 -4
  79. package/dist/SchoolSoft/to/schedules.js +0 -36
  80. package/dist/SchoolSoft/to/schedules.js.map +0 -1
  81. package/dist/SchoolSoft/types/events.d.ts +0 -19
  82. package/dist/SchoolSoft/types/events.js +0 -6
  83. package/dist/SchoolSoft/types/events.js.map +0 -1
  84. package/dist/SchoolSoft/types/index.d.ts +0 -4
  85. package/dist/Skola24/types/Meta.d.ts +0 -7
  86. package/dist/Skola24/types/Meta.js +0 -6
  87. package/dist/Skola24/types/Meta.js.map +0 -1
  88. package/dist/core/constants/index.d.ts +0 -71
  89. package/dist/core/constants/index.js +0 -136
  90. package/dist/core/constants/index.js.map +0 -1
  91. package/dist/core/identify/index.d.ts +0 -2
  92. package/dist/core/identify/index.js +0 -65
  93. package/dist/core/identify/index.js.map +0 -1
  94. package/dist/core/types/identify.d.ts +0 -10
  95. package/dist/core/types/identify.js +0 -6
  96. package/dist/core/types/identify.js.map +0 -1
  97. package/dist/core/types/students.d.ts +0 -8
  98. package/dist/core/types/students.js +0 -6
  99. package/dist/core/types/students.js.map +0 -1
  100. /package/dist/{SchoolSoft/types → core/v2/types/common}/index.js +0 -0
  101. /package/dist/{SchoolSoft/types → core/v2/types/common}/index.js.map +0 -0
@@ -33,6 +33,7 @@ function _objectSpread(target) {
33
33
  return target;
34
34
  }
35
35
  function _defineProperty(obj, key, value) {
36
+ key = _toPropertyKey(key);
36
37
  if (key in obj) {
37
38
  Object.defineProperty(obj, key, {
38
39
  value: value,
@@ -45,6 +46,20 @@ function _defineProperty(obj, key, value) {
45
46
  }
46
47
  return obj;
47
48
  }
49
+ function _toPropertyKey(arg) {
50
+ var key = _toPrimitive(arg, "string");
51
+ return typeof key === "symbol" ? key : String(key);
52
+ }
53
+ function _toPrimitive(input, hint) {
54
+ if (typeof input !== "object" || input === null) return input;
55
+ var prim = input[Symbol.toPrimitive];
56
+ if (prim !== undefined) {
57
+ var res = prim.call(input, hint || "default");
58
+ if (typeof res !== "object") return res;
59
+ throw new TypeError("@@toPrimitive must return a primitive value.");
60
+ }
61
+ return (hint === "string" ? String : Number)(input);
62
+ }
48
63
  var _default = teachers => {
49
64
  return teachers.map(teacher => {
50
65
  delete teacher._id;
@@ -1 +1 @@
1
- {"version":3,"file":"teachers.js","names":["_days2","_interopRequireDefault","require","_intervals2","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","configurable","writable","_default","teachers","map","teacher","_id","belongsTo","lockedTimes","lunch","createdAt","days","intervals","exports"],"sources":["../../../src/core/to/teachers.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAA8D,SAAAD,uBAAAG,GAAA;EAAA,OAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA;IAAAE,OAAA,EAAAF;EAAA;AAAA;AAAA,SAAAG,QAAAC,MAAA,EAAAC,cAAA;EAAA,IAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA;EAAA,IAAAG,MAAA,CAAAC,qBAAA;IAAA,IAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA;IAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA;MAAA,OAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA;IAAA,KAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA;EAAA;EAAA,OAAAH,IAAA;AAAA;AAAA,SAAAU,cAAAC,MAAA;EAAA,SAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA;IAAA,IAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA;IAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA;MAAAC,eAAA,CAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA;IAAA,KAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA;MAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA;IAAA;EAAA;EAAA,OAAAN,MAAA;AAAA;AAAA,SAAAO,gBAAAxB,GAAA,EAAAuB,GAAA,EAAAK,KAAA;EAAA,IAAAL,GAAA,IAAAvB,GAAA;IAAAO,MAAA,CAAAoB,cAAA,CAAA3B,GAAA,EAAAuB,GAAA;MAAAK,KAAA,EAAAA,KAAA;MAAAf,UAAA;MAAAgB,YAAA;MAAAC,QAAA;IAAA;EAAA;IAAA9B,GAAA,CAAAuB,GAAA,IAAAK,KAAA;EAAA;EAAA,OAAA5B,GAAA;AAAA;AAAA,IAAA+B,QAAA,GAI9CC,QAAmB,IAAe;EAChD,OAAOA,QAAQ,CAACC,GAAG,CAACC,OAAO,IAAG;IAC5B,OAAOA,OAAO,CAACC,GAAG;IAClB,OAAOD,OAAO,CAACE,SAAS;IACxB,OAAOF,OAAO,CAACG,WAAW;IAC1B,OAAOH,OAAO,CAACI,KAAK;IACpB,OAAOJ,OAAO,CAACK,SAAS;IAExB,IAAIL,OAAO,CAACM,IAAI,EACdN,OAAO,CAACM,IAAI,GAAU,IAAA5C,MAAA,CAAAM,OAAK,EAACgC,OAAO,CAACM,IAAI,CAAC;IAE3C,IAAIN,OAAO,CAACO,SAAS,EACnBP,OAAO,CAACO,SAAS,GAAK,IAAA1C,WAAA,CAAAG,OAAU,EAACgC,OAAO,CAACO,SAAS,CAAC;IAErD,OAAAzB,aAAA,KAAYkB,OAAO;EACrB,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAAAQ,OAAA,CAAAxC,OAAA,GAAA6B,QAAA"}
1
+ {"version":3,"file":"teachers.js","names":["_days2","_interopRequireDefault","require","_intervals2","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","_default","teachers","map","teacher","_id","belongsTo","lockedTimes","lunch","createdAt","days","intervals","exports"],"sources":["../../../src/core/to/teachers.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -20,7 +20,7 @@ type ArrayType<T> = T extends object[] ? T[0] : never;
20
20
  export type Deserialized<ObjectType> = {
21
21
  [Key in keyof ObjectType]: (ExtractEdge<ObjectType[Key]> extends never ? (ArrayType<ObjectType[Key]> extends never ? ObjectType[Key] : (ArrayType<ObjectType[Key]> extends object ? Deserialized<ArrayType<ObjectType[Key]>>[] : ObjectType[Key])) : Deserialized<ExtractEdge<ObjectType[Key]>>);
22
22
  };
23
- export type Serialized<T> = {
24
- [Key in keyof T]: T[Key] extends null | undefined ? T[Key] : Required<NonNullable<T[Key]>> extends Required<Edge<Vertex>> ? Vertex['id'] : NonNullable<T[Key]> extends Array<any> | Object ? Serialized<T[Key]> : T[Key];
23
+ export type Serialized<ObjectType> = {
24
+ [Key in keyof ObjectType]: (Edge<Vertex> extends ObjectType[Key] ? Extract<ObjectType[Key], string> : (Edge<Vertex[]> extends ObjectType[Key] ? Extract<ObjectType[Key], string[]> : (ObjectType[Key] extends Exclude<{}, Types.ObjectId | Types.ObjectId[]> ? Serialized<ObjectType[Key]> : ObjectType[Key])));
25
25
  };
26
26
  export {};
@@ -3,5 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- {}
7
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/core/types/common/index.ts"],"sourcesContent":[null],"mappings":";;;;;AAoIA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":[],"sourcesContent":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { Types } from 'mongoose';
2
+ export type ID = string;
3
+ export type Vertex = {
4
+ _id?: Types.ObjectId;
5
+ id?: ID;
6
+ };
7
+ export type Edge<T extends Vertex | Vertex[]> = T extends Vertex[] ? T | Types.ObjectId[] | ID[] : T | Types.ObjectId | ID;
8
+ export type ExtractEdge<T> = T extends Vertex[] ? Exclude<T, Types.ObjectId[] | ID[]> : (T extends Vertex ? Exclude<T, Types.ObjectId | ID> : never);
9
+ export type NestedKeyOf<ObjectType extends object | object[]> = {
10
+ [Key in keyof ObjectType & (string | number)]: ObjectType[Key] extends object | object[] ? `${Key}` | `${Key}.${NestedKeyOf<ObjectType[Key]>}` : `${Key}`;
11
+ }[keyof ObjectType & (string | number)];
12
+ export type Join<K, P> = K extends string ? P extends string ? `${K}.${P}` : never : never;
13
+ export type firstChild<ObjectType extends object> = {
14
+ [Key in keyof ObjectType & (string | number)]: ObjectType[Key] extends object ? ObjectType[Key] : (ObjectType[Key] extends any ? ObjectType[Key] : never);
15
+ }[keyof ObjectType & (string | number)];
16
+ export type DeserializedOld<ObjectType> = {
17
+ [Key in keyof ObjectType]: (ObjectType[Key] extends Types.ObjectId | Types.ObjectId[] ? ObjectType[Key] : (Edge<Vertex> extends ObjectType[Key] ? Extract<Exclude<ObjectType[Key], Types.ObjectId>, Vertex> : (Edge<Vertex[]> extends ObjectType[Key] ? Extract<Exclude<ObjectType[Key], Types.ObjectId[]>, Vertex[]> : (Exclude<object, Types.ObjectId | Types.ObjectId[]> extends ObjectType[Key] ? Deserialized<ObjectType[Key]> : (Exclude<any[], string[] | number[] | boolean[] | Types.ObjectId | Types.ObjectId[]>[] extends ObjectType[Key] ? Deserialized<ObjectType[Key]> : ObjectType[Key])))));
18
+ };
19
+ type ArrayType<T> = T extends object[] ? T[0] : never;
20
+ export type Deserialized<ObjectType> = {
21
+ [Key in keyof ObjectType]: (ExtractEdge<ObjectType[Key]> extends never ? (ArrayType<ObjectType[Key]> extends never ? ObjectType[Key] : (ArrayType<ObjectType[Key]> extends object ? Deserialized<ArrayType<ObjectType[Key]>>[] : ObjectType[Key])) : Deserialized<ExtractEdge<ObjectType[Key]>>);
22
+ };
23
+ export type Serialized<ObjectType> = {
24
+ [Key in keyof ObjectType]: (Edge<Vertex> extends ObjectType[Key] ? Extract<ObjectType[Key], string> : (Edge<Vertex[]> extends ObjectType[Key] ? Extract<ObjectType[Key], string[]> : (ObjectType[Key] extends Exclude<{}, Types.ObjectId | Types.ObjectId[]> ? Serialized<ObjectType[Key]> : ObjectType[Key])));
25
+ };
26
+ export {};
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- //# sourceMappingURL=period.js.map
6
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","names":[],"sources":[],"sourcesContent":[],"mappings":""}
@@ -17,10 +17,20 @@ import { Person } from './persons';
17
17
  export interface CourseEventBare {
18
18
  belongsTo?: Edge<Division>;
19
19
  course?: Edge<Course>;
20
- groups?: Edge<Group[]> | null;
21
- teachers?: Edge<Teacher[]> | null;
22
- participants?: Edge<Person[]> | null;
23
20
  period?: Edge<Period> | null;
21
+ groups?: {
22
+ to: Edge<Group>;
23
+ exclude?: Edge<Person[]>;
24
+ groupIndex?: number;
25
+ }[] | null;
26
+ teachers?: {
27
+ to: Edge<Teacher>;
28
+ groupIndex?: number;
29
+ }[] | null;
30
+ participants?: {
31
+ to: Edge<Person>;
32
+ groupIndex?: number;
33
+ }[] | null;
24
34
  locations?: AvailableLocation[] | null;
25
35
  inLocations?: Edge<Location[]>;
26
36
  density?: number;
@@ -15,10 +15,21 @@ import { Person } from './persons';
15
15
  export interface CourseBare {
16
16
  belongsTo?: Edge<Division>;
17
17
  events?: Edge<CourseEvent[]>;
18
- groups?: Edge<Group[]>;
19
- teachers?: Edge<Teacher[]>;
20
- participants?: Edge<Person[]>;
21
18
  period?: Edge<Period>;
19
+ groups?: {
20
+ to: Edge<Group>;
21
+ include?: Edge<Person[]>;
22
+ exclude?: Edge<Person[]>;
23
+ groupIndex?: number;
24
+ }[];
25
+ teachers?: {
26
+ to: Edge<Teacher>;
27
+ groupIndex?: number;
28
+ }[];
29
+ participants?: {
30
+ to: Edge<Person>;
31
+ groupIndex?: number;
32
+ }[];
22
33
  locations?: AvailableLocation[];
23
34
  density?: number;
24
35
  weight?: number;
@@ -1,5 +1,5 @@
1
1
  export interface Meta {
2
- structure?: 'RS/core-1.0.0';
2
+ structure?: `RS/core-${number}.${number}.${number}`;
3
3
  warnings?: string[];
4
4
  errors?: string[];
5
5
  }
@@ -9,8 +9,6 @@ export interface TeacherBare {
9
9
  belongsTo?: Edge<Division>;
10
10
  ids?: string;
11
11
  displayName?: string;
12
- lastname?: string;
13
- firstname?: string;
14
12
  minBreakLength?: BreakLength;
15
13
  maxNumWorkingHours?: number | boolean;
16
14
  maxNumDailyWorkingHours?: number | number[] | boolean;
@@ -0,0 +1,26 @@
1
+ import { Types } from 'mongoose';
2
+ export type ID = string;
3
+ export type Vertex = {
4
+ _id?: Types.ObjectId;
5
+ id?: ID;
6
+ };
7
+ export type Edge<T extends Vertex | Vertex[]> = T extends Vertex[] ? T | Types.ObjectId[] | ID[] : T | Types.ObjectId | ID;
8
+ export type ExtractEdge<T> = T extends Vertex[] ? Exclude<T, Types.ObjectId[] | ID[]> : (T extends Vertex ? Exclude<T, Types.ObjectId | ID> : never);
9
+ export type NestedKeyOf<ObjectType extends object | object[]> = {
10
+ [Key in keyof ObjectType & (string | number)]: ObjectType[Key] extends object | object[] ? `${Key}` | `${Key}.${NestedKeyOf<ObjectType[Key]>}` : `${Key}`;
11
+ }[keyof ObjectType & (string | number)];
12
+ export type Join<K, P> = K extends string ? P extends string ? `${K}.${P}` : never : never;
13
+ export type firstChild<ObjectType extends object> = {
14
+ [Key in keyof ObjectType & (string | number)]: ObjectType[Key] extends object ? ObjectType[Key] : (ObjectType[Key] extends any ? ObjectType[Key] : never);
15
+ }[keyof ObjectType & (string | number)];
16
+ export type DeserializedOld<ObjectType> = {
17
+ [Key in keyof ObjectType]: (ObjectType[Key] extends Types.ObjectId | Types.ObjectId[] ? ObjectType[Key] : (Edge<Vertex> extends ObjectType[Key] ? Extract<Exclude<ObjectType[Key], Types.ObjectId>, Vertex> : (Edge<Vertex[]> extends ObjectType[Key] ? Extract<Exclude<ObjectType[Key], Types.ObjectId[]>, Vertex[]> : (Exclude<object, Types.ObjectId | Types.ObjectId[]> extends ObjectType[Key] ? Deserialized<ObjectType[Key]> : (Exclude<any[], string[] | number[] | boolean[] | Types.ObjectId | Types.ObjectId[]>[] extends ObjectType[Key] ? Deserialized<ObjectType[Key]> : ObjectType[Key])))));
18
+ };
19
+ type ArrayType<T> = T extends object[] ? T[0] : never;
20
+ export type Deserialized<ObjectType> = {
21
+ [Key in keyof ObjectType]: (ExtractEdge<ObjectType[Key]> extends never ? (ArrayType<ObjectType[Key]> extends never ? ObjectType[Key] : (ArrayType<ObjectType[Key]> extends object ? Deserialized<ArrayType<ObjectType[Key]>>[] : ObjectType[Key])) : Deserialized<ExtractEdge<ObjectType[Key]>>);
22
+ };
23
+ export type Serialized<ObjectType> = {
24
+ [Key in keyof ObjectType]: (Edge<Vertex> extends ObjectType[Key] ? Extract<ObjectType[Key], string> : (Edge<Vertex[]> extends ObjectType[Key] ? Extract<ObjectType[Key], string[]> : (ObjectType[Key] extends Exclude<{}, Types.ObjectId | Types.ObjectId[]> ? Serialized<ObjectType[Key]> : ObjectType[Key])));
25
+ };
26
+ export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@royalschedule/maps",
3
3
  "description": "",
4
- "version": "2.4.8",
4
+ "version": "2.4.9",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "engines": {
@@ -1,15 +0,0 @@
1
- export interface Course {
2
- Klass: string;
3
- Kurskod: string;
4
- Sign: string;
5
- Poäng: number;
6
- Ht: number;
7
- Resurs: 0 | 1;
8
- Vt: number;
9
- Summa: number;
10
- Period: 'LÅ' | 'Vt' | 'Ht';
11
- Anteckningar: string;
12
- Antal: number;
13
- Ämne: string;
14
- Kursnamn: string;
15
- }
@@ -1,6 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- //# sourceMappingURL=course.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"course.js","names":[],"sources":[],"sourcesContent":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- export interface Period {
2
- name: string;
3
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"period.js","names":[],"sources":[],"sourcesContent":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- export default class {
2
- static schedules: (input: import("../types/events").Event[], options?: {
3
- interval?: {
4
- start: number;
5
- end: number;
6
- } | undefined;
7
- } | undefined) => import("../../core/types/divisions").Division;
8
- }
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _schedules2 = _interopRequireDefault(require("./schedules"));
8
- function _interopRequireDefault(obj) {
9
- return obj && obj.__esModule ? obj : {
10
- default: obj
11
- };
12
- }
13
- class default_1 {}
14
- exports.default = default_1;
15
- default_1.schedules = _schedules2.default;
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_schedules2","_interopRequireDefault","require","default_1","schedules","default"],"sources":["../../../src/SchoolSoft/from/index.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;;;;;;AAEc,MAAAC,SAAA;;AACLA,SAAA,CAAAC,SAAA,GAAsBJ,WAAA,CAAAK,OAAtB"}
@@ -1,9 +0,0 @@
1
- import { Event } from '../types/events';
2
- import { Types as CoreTypes } from '../../core/types';
3
- declare const _default: (input: Event[], options?: {
4
- interval?: {
5
- start: number;
6
- end: number;
7
- } | undefined;
8
- } | undefined) => CoreTypes.division;
9
- export default _default;
@@ -1,221 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _lodash = _interopRequireDefault(require("lodash"));
8
- var _getDate = _interopRequireDefault(require("../../common/get-date"));
9
- function _interopRequireDefault(obj) {
10
- return obj && obj.__esModule ? obj : {
11
- default: obj
12
- };
13
- }
14
- function ownKeys(object, enumerableOnly) {
15
- var keys = Object.keys(object);
16
- if (Object.getOwnPropertySymbols) {
17
- var symbols = Object.getOwnPropertySymbols(object);
18
- enumerableOnly && (symbols = symbols.filter(function (sym) {
19
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
20
- })), keys.push.apply(keys, symbols);
21
- }
22
- return keys;
23
- }
24
- function _objectSpread(target) {
25
- for (var i = 1; i < arguments.length; i++) {
26
- var source = null != arguments[i] ? arguments[i] : {};
27
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
28
- _defineProperty(target, key, source[key]);
29
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
30
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
31
- });
32
- }
33
- return target;
34
- }
35
- function _defineProperty(obj, key, value) {
36
- if (key in obj) {
37
- Object.defineProperty(obj, key, {
38
- value: value,
39
- enumerable: true,
40
- configurable: true,
41
- writable: true
42
- });
43
- } else {
44
- obj[key] = value;
45
- }
46
- return obj;
47
- }
48
- var days = ['Mån', 'Tis', 'Ons', 'Tor', 'Fre', 'Lör', 'Sön'];
49
- function _parseWeeks(weeks, set) {
50
- var method = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'add';
51
- if (!weeks) return;
52
- var intervals = weeks.split(',').map(_lodash.default.trim);
53
- intervals.forEach(interval => {
54
- if (!interval.includes('-')) return set[method](Number(interval));
55
- var [start, end] = interval.split('-').map(Number);
56
- Array(end - start + 1).fill(start).forEach((val, index) => set[method](val + index));
57
- });
58
- }
59
- var _default = (input, options) => {
60
- if (!input) throw new Error('(SchoolSoft::From::Schedules) Input was undefined');
61
- if (_lodash.default.isString(input)) throw new Error('(SchoolSoft::From::Schedules) Input was of type string. Is required to be of object type');
62
- var teachers = new Set();
63
- var groups = new Set();
64
- var locations = new Set();
65
- var events = input.reduce((acc, event) => {
66
- var _locations2;
67
- if (!('length' in event)) return acc;
68
- var weeks = new Set();
69
- var {
70
- inweek,
71
- exweek,
72
- realweeks
73
- } = event;
74
- try {
75
- _parseWeeks(inweek, weeks, 'add');
76
- _parseWeeks(realweeks, weeks, 'add');
77
- if (weeks.size == 0) Array(51).fill(1).forEach((val, index) => weeks.add(val + index));
78
- _parseWeeks(exweek, weeks, 'delete');
79
- } catch (err) {
80
- console.error(err);
81
- }
82
- if (options !== null && options !== void 0 && options.interval) {
83
- var {
84
- start: _start,
85
- end: _end
86
- } = options.interval;
87
- if (_start > 52 || _start <= 0) throw new Error("(SchoolSoft::From::Schedules) Interval::start is invalid. value ".concat(_start));
88
- if (_end > 52 || _end <= 0) throw new Error("(SchoolSoft::From::Schedules) Interval::end is invalid. value ".concat(_end));
89
- if (_start > _end) {
90
- if (!Array.from(weeks).some(week => week >= _start && week <= 52 || week <= _end)) return acc;
91
- } else {
92
- if (!Array.from(weeks).some(week => week >= _start && week <= _end)) return acc;
93
- }
94
- }
95
- var start, end;
96
- var {
97
- starttime,
98
- subject,
99
- day,
100
- length,
101
- teacher,
102
- group,
103
- room
104
- } = event;
105
- if (day && starttime) {
106
- var _day = days.indexOf(day);
107
- if (_day > 4) return acc;
108
- start = (0, _getDate.default)(_day, "".concat(starttime.substring(0, 2), ":").concat(starttime.substring(2, 4)));
109
- end = start.clone().add(length, 'm');
110
- }
111
- var _teachers;
112
- var _groups;
113
- var _locations;
114
- if (teacher) {
115
- _teachers = teacher.split(',').map(x => x.trim());
116
- _teachers.forEach(_teacher => teachers.add(_teacher));
117
- }
118
- if (group) {
119
- _groups = group.split(',').map(x => x.trim());
120
- _groups.forEach(_group => groups.add(_group));
121
- }
122
- if (room) {
123
- _locations = _lodash.default.sortBy(room.split(',').map(x => x.trim()));
124
- _locations.forEach(_location => locations.add(_location));
125
- }
126
- return acc.concat(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
127
- ids: event.id,
128
- preferredDuration: event.length,
129
- weeks: _lodash.default.sortBy(Array.from(weeks))
130
- }, subject && {
131
- subject
132
- }), start && {
133
- start
134
- }), end && {
135
- end
136
- }), event.group && {
137
- groups: _groups
138
- }), event.teacher && {
139
- teachers: _teachers
140
- }), event.room && {
141
- inLocations: _locations,
142
- locations: (_locations2 = _locations) === null || _locations2 === void 0 ? void 0 : _locations2.map((_location, index) => ({
143
- locations: [_location],
144
- groupIndex: index
145
- }))
146
- }));
147
- }, []);
148
- var set = new Set(events);
149
- var courses = new Set([]);
150
- var _loop = function _loop(element) {
151
- var _ref;
152
- set.delete(element);
153
- var events = [element];
154
- var {
155
- subject,
156
- groups,
157
- teachers,
158
- inLocations,
159
- locations
160
- } = element;
161
- delete element.groups;
162
- delete element.subject;
163
- for (var event of set) {
164
- if (event.subject != subject) continue;
165
- if (groups !== null && groups !== void 0 && groups.length && !_lodash.default.isEqual(_lodash.default.sortBy(event.groups), _lodash.default.sortBy(groups))) continue;
166
- if (!(groups !== null && groups !== void 0 && groups.length) && teachers !== null && teachers !== void 0 && teachers.length && !_lodash.default.isEqual(_lodash.default.sortBy(event.teachers), _lodash.default.sortBy(teachers))) continue;
167
- delete event.groups;
168
- delete event.subject;
169
- events.push(event);
170
- set.delete(event);
171
- }
172
- var course = _objectSpread(_objectSpread({
173
- displayName: "".concat(subject, "-").concat((_ref = groups !== null && groups !== void 0 ? groups : teachers) === null || _ref === void 0 ? void 0 : _ref.join(' '))
174
- }, groups && {
175
- groups
176
- }), {}, {
177
- events
178
- });
179
- if (events.every(_ref2 => {
180
- var {
181
- teachers: _teachers
182
- } = _ref2;
183
- return _lodash.default.isEqual(_lodash.default.sortBy(teachers), _lodash.default.sortBy(_teachers));
184
- })) {
185
- var _course$events;
186
- course.teachers = teachers;
187
- (_course$events = course.events) === null || _course$events === void 0 ? void 0 : _course$events.forEach(event => delete event.teachers);
188
- }
189
- if (events.every(_ref3 => {
190
- var {
191
- inLocations: _inLocations
192
- } = _ref3;
193
- return _lodash.default.isEqual(_lodash.default.sortBy(inLocations), _lodash.default.sortBy(_inLocations));
194
- })) {
195
- var _course$events2;
196
- course.locations = locations;
197
- (_course$events2 = course.events) === null || _course$events2 === void 0 ? void 0 : _course$events2.forEach(event => delete event.locations);
198
- }
199
- courses.add(course);
200
- };
201
- for (var element of set) {
202
- _loop(element);
203
- }
204
- return {
205
- courses: Array.from(courses),
206
- teachers: Array.from(teachers).map(ids => ({
207
- ids,
208
- displayName: ids
209
- })),
210
- groups: Array.from(groups).map(ids => ({
211
- ids,
212
- displayName: ids
213
- })),
214
- locations: Array.from(locations).map(ids => ({
215
- ids,
216
- displayName: ids
217
- }))
218
- };
219
- };
220
- exports.default = _default;
221
- //# sourceMappingURL=schedules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schedules.js","names":["_lodash","_interopRequireDefault","require","_getDate","days","_parseWeeks","weeks","set","method","arguments","length","undefined","intervals","split","map","default","trim","forEach","interval","includes","Number","start","end","Array","fill","val","index","_default","input","options","Error","isString","teachers","Set","groups","locations","events","reduce","acc","event","_locations2","inweek","exweek","realweeks","size","add","err","console","error","_start","_end","concat","from","some","week","starttime","subject","day","teacher","group","room","_day","indexOf","substring","clone","_teachers","_groups","_locations","x","_teacher","_group","sortBy","_location","_objectSpread","ids","id","preferredDuration","inLocations","groupIndex","courses","_loop","element","_ref","delete","isEqual","push","course","displayName","join","every","_ref2","_course$events","_ref3","_inLocations","_course$events2"],"sources":["../../../src/SchoolSoft/from/schedules.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export default class {
2
- static schedules: (courseEvents: import("../../core/types/course-events").CourseEvent[]) => import("xlsx").WorkBook;
3
- }
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _schedules2 = _interopRequireDefault(require("./schedules"));
8
- function _interopRequireDefault(obj) {
9
- return obj && obj.__esModule ? obj : {
10
- default: obj
11
- };
12
- }
13
- class default_1 {}
14
- exports.default = default_1;
15
- default_1.schedules = _schedules2.default;
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_schedules2","_interopRequireDefault","require","default_1","schedules","default"],"sources":["../../../src/SchoolSoft/to/index.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;;;;;;AAEc,MAAAC,SAAA;;AACLA,SAAA,CAAAC,SAAA,GAAsBJ,WAAA,CAAAK,OAAtB"}
@@ -1,4 +0,0 @@
1
- import XLSX from 'xlsx';
2
- import { CourseEvent } from '../../core/types/course-events';
3
- declare const _default: (courseEvents: CourseEvent[]) => XLSX.WorkBook;
4
- export default _default;
@@ -1,36 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _xlsx = _interopRequireDefault(require("xlsx"));
8
- var _moment = _interopRequireDefault(require("moment"));
9
- function _interopRequireDefault(obj) {
10
- return obj && obj.__esModule ? obj : {
11
- default: obj
12
- };
13
- }
14
- var _default = courseEvents => {
15
- var events = courseEvents.reduce((acc, event) => {
16
- if (event.parked) return acc;
17
- var teachers = event.teachers == null ? event.course.teachers : event.teachers;
18
- var room = event.inLocations.filter(x => x !== null).map(locations => locations.ids).join(', ');
19
- return acc.concat({
20
- group: event.course.ids,
21
- dayid: _moment.default.utc(event.start).day() - 1,
22
- starttime: _moment.default.utc(event.start).format('HHmm'),
23
- length: _moment.default.utc(event.end).diff(_moment.default.utc(event.start), 'minutes'),
24
- teacher: (teachers || []).map(teacher => teacher.ids).join(', '),
25
- subject: '',
26
- room: room,
27
- inweek: '',
28
- exweek: ''
29
- });
30
- }, []);
31
- var wb = _xlsx.default.utils.book_new();
32
- _xlsx.default.utils.book_append_sheet(wb, _xlsx.default.utils.json_to_sheet(events), 'royal schedule export');
33
- return wb;
34
- };
35
- exports.default = _default;
36
- //# sourceMappingURL=schedules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schedules.js","names":["_xlsx","_interopRequireDefault","require","_moment","courseEvents","events","reduce","acc","event","parked","teachers","course","room","inLocations","filter","x","map","locations","ids","join","concat","group","dayid","default","utc","start","day","starttime","format","length","end","diff","teacher","subject","inweek","exweek","wb","utils","book_new","book_append_sheet","json_to_sheet"],"sources":["../../../src/SchoolSoft/to/schedules.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;;;;;;eAUgBE,YAAD,IAA+C;EAC5D,IAAIC,MAAM,GAAGD,YAAY,CAACE,MAAb,CAAoB,CAACC,GAAD,EAAeC,KAAf,KAAqC;IACpE,IAAIA,KAAK,CAACC,MAAV,EACE,OAAOF,GAAP;IAEF,IAAIG,QAAQ,GAAeF,KAAK,CAACE,QAAN,IAAkB,IAAlB,GAA0BF,KAAK,CAACG,MAAN,CAAyBD,QAAnD,GAA8DF,KAAK,CAACE,QAA/F;IAEA,IAAIE,IAAI,GAAmBJ,KAAK,CAACK,WAAN,CACkBC,MADlB,CAC0BC,CAAD,IAAYA,CAAC,KAAK,IAD3C,EAEkBC,GAFlB,CAEuBC,SAAD,IAAyBA,SAAS,CAACC,GAFzD,EAGkBC,IAHlB,CAGuB,IAHvB,CAA3B;IAKA,OAAOZ,GAAG,CAACa,MAAJ,CAAW;MAChBC,KAAK,EAAOb,KAAK,CAACG,MAAN,CAAwBO,GADpB;MAEhBI,KAAK,EAAMnB,OAAA,CAAAoB,OAAA,CAAOC,GAAP,CAAWhB,KAAK,CAACiB,KAAjB,EAAwBC,GAAxB,KAAgC,CAF3B;MAGhBC,SAAS,EAAExB,OAAA,CAAAoB,OAAA,CAAOC,GAAP,CAAWhB,KAAK,CAACiB,KAAjB,EAAwBG,MAAxB,CAA+B,MAA/B,CAHK;MAIhBC,MAAM,EAAK1B,OAAA,CAAAoB,OAAA,CAAOC,GAAP,CAAWhB,KAAK,CAACsB,GAAjB,EAAsBC,IAAtB,CAA2B5B,OAAA,CAAAoB,OAAA,CAAOC,GAAP,CAAWhB,KAAK,CAACiB,KAAjB,CAA3B,EAAoD,SAApD,CAJK;MAKhBO,OAAO,EAAI,CAACtB,QAAQ,IAAI,EAAb,EAAiBM,GAAjB,CAAsBgB,OAAD,IAAsBA,OAAO,CAACd,GAAnD,EAAwDC,IAAxD,CAA6D,IAA7D,CALK;MAMhBc,OAAO,EAAI,EANK;MAOhBrB,IAAI,EAAOA,IAPK;MAQhBsB,MAAM,EAAK,EARK;MAShBC,MAAM,EAAK;IATK,CAAX,CAAP;EAXW,GAsBV,EAtBU,CAAb;EAwBA,IAAIC,EAAE,GAAGpC,KAAA,CAAAuB,OAAA,CAAKc,KAAL,CAAWC,QAAX,EAAT;EAEAtC,KAAA,CAAAuB,OAAA,CAAKc,KAAL,CAAWE,iBAAX,CAA6BH,EAA7B,EAAiCpC,KAAA,CAAAuB,OAAA,CAAKc,KAAL,CAAWG,aAAX,CAAyBnC,MAAzB,CAAjC,EAAmE,uBAAnE;EAEA,OAAO+B,EAAP"}
@@ -1,19 +0,0 @@
1
- export declare type Time = `${number}${number}${number}${number}`;
2
- export declare type Day = 'Mån' | 'Tis' | 'Ons' | 'Tor' | 'Fre' | 'Lör' | 'Sön';
3
- export interface Event {
4
- id?: string;
5
- group?: string;
6
- dayid?: number;
7
- day?: Day;
8
- starttime?: Time;
9
- length?: number;
10
- teacher?: string;
11
- subject?: string;
12
- room?: string;
13
- period?: string;
14
- experiod?: string;
15
- inweek?: string;
16
- exweek?: string;
17
- exclass?: 0 | 1;
18
- realweeks?: string;
19
- }
@@ -1,6 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","names":[],"sources":[],"sourcesContent":[],"mappings":""}