@royalschedule/maps 2.7.3 → 2.7.4

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.
@@ -19,14 +19,17 @@ function generateId(map) {
19
19
  } while (map.has(id));
20
20
  return id;
21
21
  }
22
- function toMultipleOf5(val) {
22
+ function toPositiveMultipleOf5(val) {
23
23
  var num = _lodash.default.isString(val) ? parseInt(val) : val;
24
24
  if (isNaN(num)) throw new Error("toMultipleOf5: ".concat(val, " is not a number"));
25
- return Math.floor(num / 5) * 5;
25
+ var res = Math.floor(num / 5) * 5;
26
+ if (res <= 0) throw new Error("toMultipleOf5: the result ".concat(res, " is not positive"));
27
+ return res;
26
28
  }
27
- function toInteger(val) {
29
+ function toPositiveInteger(val) {
28
30
  var num = _lodash.default.isString(val) ? parseInt(val) : val;
29
31
  if (isNaN(num)) throw new Error("toInteger: ".concat(val, " is not a number"));
32
+ if (num <= 0) throw new Error("toInteger: te result ".concat(num, " is not positive"));
30
33
  return num;
31
34
  }
32
35
  function toString(x) {
@@ -38,12 +41,12 @@ function toString(x) {
38
41
  function _schedules(source) {
39
42
  var _source$settings, _source$locations, _source$teachers, _source$groups, _source$persons, _source$courses, _source$settings2, _source$settings2$, _source$persons2, _source$courses2;
40
43
  var warnings = [];
41
- source.settings = (_source$settings = source.settings) === null || _source$settings === void 0 ? void 0 : _source$settings.filter(x => Object.values(x).some(y => y !== undefined));
42
- source.locations = (_source$locations = source.locations) === null || _source$locations === void 0 ? void 0 : _source$locations.filter(x => Object.values(x).some(y => y !== undefined));
43
- source.teachers = (_source$teachers = source.teachers) === null || _source$teachers === void 0 ? void 0 : _source$teachers.filter(x => Object.values(x).some(y => y !== undefined));
44
- source.groups = (_source$groups = source.groups) === null || _source$groups === void 0 ? void 0 : _source$groups.filter(x => Object.values(x).some(y => y !== undefined));
45
- source.persons = (_source$persons = source.persons) === null || _source$persons === void 0 ? void 0 : _source$persons.filter(x => Object.values(x).some(y => y !== undefined));
46
- source.courses = (_source$courses = source.courses) === null || _source$courses === void 0 ? void 0 : _source$courses.filter(x => Object.values(x).some(y => y !== undefined));
44
+ source.settings = (_source$settings = source.settings) === null || _source$settings === void 0 ? void 0 : _source$settings.filter(x => Object.values(x).some(y => y.toString().trim().length > 0));
45
+ source.locations = (_source$locations = source.locations) === null || _source$locations === void 0 ? void 0 : _source$locations.filter(x => Object.values(x).some(y => y.toString().trim().length > 0));
46
+ source.teachers = (_source$teachers = source.teachers) === null || _source$teachers === void 0 ? void 0 : _source$teachers.filter(x => Object.values(x).some(y => y.toString().trim().length > 0));
47
+ source.groups = (_source$groups = source.groups) === null || _source$groups === void 0 ? void 0 : _source$groups.filter(x => Object.values(x).some(y => y.toString().trim().length > 0));
48
+ source.persons = (_source$persons = source.persons) === null || _source$persons === void 0 ? void 0 : _source$persons.filter(x => Object.values(x).some(y => y.toString().trim().length > 0));
49
+ source.courses = (_source$courses = source.courses) === null || _source$courses === void 0 ? void 0 : _source$courses.filter(x => Object.values(x).some(y => y.toString().trim().length > 0));
47
50
  var settings = {
48
51
  discretization: 5,
49
52
  numDays: 5,
@@ -51,19 +54,27 @@ function _schedules(source) {
51
54
  dayEnd: '17:00'
52
55
  };
53
56
  if (!source.settings) {
54
- warnings.push("Could not find the settings sheet.");
57
+ warnings.push({
58
+ code: 'missing_settings_sheet'
59
+ });
55
60
  }
56
61
  if ((_source$settings2 = source.settings) !== null && _source$settings2 !== void 0 && (_source$settings2$ = _source$settings2[0]) !== null && _source$settings2$ !== void 0 && _source$settings2$.number_of_days) {
57
62
  var _source$settings3, _source$settings3$;
58
63
  var numDays = (_source$settings3 = source.settings) === null || _source$settings3 === void 0 ? void 0 : (_source$settings3$ = _source$settings3[0]) === null || _source$settings3$ === void 0 ? void 0 : _source$settings3$.number_of_days;
59
64
  try {
60
- if (_lodash.default.isNumber(numDays)) settings.numDays = numDays;else if (_lodash.default.isString(numDays)) settings.numDays = parseInt(numDays);
65
+ settings.numDays = toPositiveInteger(numDays);
61
66
  if (settings.numDays !== 5 && settings.numDays !== 7) {
62
- warnings.push("The number of days \"".concat(numDays, "\" is not 5 or 7."));
67
+ warnings.push({
68
+ code: 'invalid_number_of_days',
69
+ context: numDays
70
+ });
63
71
  settings.numDays = 5;
64
72
  }
65
73
  } catch (e) {
66
- warnings.push("Could not parse the number of days \"".concat(numDays, "\" for the settings."));
74
+ warnings.push({
75
+ code: 'invalid_number_of_days',
76
+ context: numDays
77
+ });
67
78
  }
68
79
  }
69
80
  var locationsIdMap = new Map();
@@ -104,47 +115,57 @@ function _schedules(source) {
104
115
  nameMap
105
116
  } = _ref;
106
117
  if (!data) {
107
- warnings.push("Could not find the ".concat(name.plural, " sheet"));
118
+ warnings.push({
119
+ code: "missing_".concat(name.plural, "_sheet")
120
+ });
108
121
  }
109
122
  data === null || data === void 0 ? void 0 : data.forEach(x => {
110
- var _x$ID$toString, _x$ID;
123
+ var _x$ID$toString, _x$ID, _displayName$toLowerC;
111
124
  var displayName = toString(x.name);
112
- if (!displayName) {
113
- warnings.push("Ignoring a nameless ".concat(name.singular));
114
- return;
115
- }
116
- if (nameMap.has(displayName.toLowerCase())) {
117
- warnings.push("Ignoring the ".concat(name.singular, " \"").concat(displayName, "\" whose name is not unique"));
118
- return;
119
- }
120
125
  var id = (_x$ID$toString = (_x$ID = x.ID) === null || _x$ID === void 0 ? void 0 : _x$ID.toString()) !== null && _x$ID$toString !== void 0 ? _x$ID$toString : generateId(idMap);
121
126
  if (idMap.has(id)) {
122
- warnings.push("Ignoring the ".concat(name.singular, " \"").concat(displayName, "\" whose ID is not unique"));
127
+ warnings.push({
128
+ code: "ignoring_duplicate_".concat(name.singular),
129
+ context: displayName
130
+ });
123
131
  return;
124
132
  }
125
133
  var y = {
126
134
  id,
127
135
  displayName
128
136
  };
129
- nameMap.set(displayName.toLowerCase(), y);
137
+ nameMap.set((_displayName$toLowerC = displayName === null || displayName === void 0 ? void 0 : displayName.toLowerCase()) !== null && _displayName$toLowerC !== void 0 ? _displayName$toLowerC : '', y);
130
138
  idMap.set(id, y);
131
139
  });
132
140
  });
133
141
  var personsIdMap = new Map();
134
142
  if (!source.persons) {
135
- warnings.push("Could not find the persons sheet.");
143
+ warnings.push({
144
+ code: 'missing_persons_sheet'
145
+ });
136
146
  }
137
147
  (_source$persons2 = source.persons) === null || _source$persons2 === void 0 ? void 0 : _source$persons2.forEach(x => {
138
148
  var _x$ID$toString2, _x$ID2;
139
149
  var firstName = toString(x.first_name);
140
150
  var lastName = toString(x.last_name);
141
151
  var SSN = toString(x.SSN);
152
+ var id = (_x$ID$toString2 = (_x$ID2 = x.ID) === null || _x$ID2 === void 0 ? void 0 : _x$ID2.toString()) !== null && _x$ID$toString2 !== void 0 ? _x$ID$toString2 : generateId(personsIdMap);
153
+ if (personsIdMap.has(id)) {
154
+ warnings.push({
155
+ code: 'ignoring_duplicate_person',
156
+ context: "".concat(firstName, " ").concat(lastName)
157
+ });
158
+ return;
159
+ }
142
160
  var groupReference = undefined;
143
161
  if (x.group) {
144
162
  var key = toString(x.group).toLowerCase();
145
163
  var ref = groupsNameMap.get(key);
146
164
  if (!ref) {
147
- warnings.push("The group \"".concat(x.group, "\" referenced from the person \"").concat(firstName, " ").concat(lastName, "\" does not exist."));
165
+ warnings.push({
166
+ code: 'invalid_group_reference',
167
+ context: x.group
168
+ });
148
169
  } else {
149
170
  groupReference = ref.id;
150
171
  }
@@ -152,14 +173,12 @@ function _schedules(source) {
152
173
  var sex;
153
174
  if (x.sex) {
154
175
  if (_lodash.default.isString(x.sex) && x.sex.toLowerCase() == 'man') sex = 'Man';else if (_lodash.default.isString(x.sex) && x.sex.toLowerCase() == 'woman') sex = 'Woman';else {
155
- warnings.push("Unknown sex \"".concat(x.sex, "\" for the person \"").concat(firstName, " ").concat(lastName, "\"."));
176
+ warnings.push({
177
+ code: 'invalid_sex',
178
+ context: x.sex
179
+ });
156
180
  }
157
181
  }
158
- var id = (_x$ID$toString2 = (_x$ID2 = x.ID) === null || _x$ID2 === void 0 ? void 0 : _x$ID2.toString()) !== null && _x$ID$toString2 !== void 0 ? _x$ID$toString2 : generateId(personsIdMap);
159
- if (personsIdMap.has(id)) {
160
- warnings.push("Ignoring the person \"".concat(firstName, " ").concat(lastName, "\" whose ID is not unique"));
161
- return;
162
- }
163
182
  var person = _objectSpread({
164
183
  id,
165
184
  firstName,
@@ -176,7 +195,9 @@ function _schedules(source) {
176
195
  var coursesIdMap = new Map();
177
196
  var eventsIdMap = new Map();
178
197
  if (!source.courses) {
179
- warnings.push("Could not find the courses sheet.");
198
+ warnings.push({
199
+ code: 'missing_courses_sheet'
200
+ });
180
201
  }
181
202
  (_source$courses2 = source.courses) === null || _source$courses2 === void 0 ? void 0 : _source$courses2.forEach(x => {
182
203
  var _toString, _x$ID$toString3, _x$ID3, _toString2, _toString3, _toString4;
@@ -184,66 +205,74 @@ function _schedules(source) {
184
205
  var subject = toString(x.subject);
185
206
  var courseId = (_x$ID$toString3 = (_x$ID3 = x.ID) === null || _x$ID3 === void 0 ? void 0 : _x$ID3.toString()) !== null && _x$ID$toString3 !== void 0 ? _x$ID$toString3 : generateId(coursesIdMap);
186
207
  if (coursesIdMap.has(courseId)) {
187
- warnings.push("Ignoring the course \"".concat(displayName, "\" whose ID is not unique"));
208
+ warnings.push({
209
+ code: 'ignoring_duplicate_course',
210
+ context: displayName + (subject ? " (".concat(subject, ")") : '')
211
+ });
188
212
  return;
189
213
  }
190
214
  var totalHours = undefined;
191
215
  if (x.total_hours) {
192
216
  try {
193
- totalHours = toInteger(x.total_hours);
217
+ totalHours = toPositiveInteger(x.total_hours);
194
218
  } catch (e) {
195
- warnings.push("The total hours \"".concat(x.total_hours, "\" for the course \"").concat(displayName, "\" is not an integer."));
219
+ warnings.push({
220
+ code: 'invalid_total_hours',
221
+ context: x.total_hours
222
+ });
196
223
  }
197
224
  }
198
225
  var minutesPerWeek = undefined;
199
226
  if (x.minutes_per_week) {
200
227
  try {
201
- minutesPerWeek = toMultipleOf5(x.minutes_per_week);
228
+ minutesPerWeek = toPositiveMultipleOf5(x.minutes_per_week);
202
229
  } catch (e) {
203
- warnings.push("The minutes per week \"".concat(x.minutes_per_week, "\" for the course \"").concat(displayName, "\" is not an integer."));
230
+ warnings.push({
231
+ code: 'invalid_minutes_per_week',
232
+ context: x.minutes_per_week
233
+ });
204
234
  }
205
235
  }
206
236
  if (x.lesson_durations) {
207
- try {
208
- var durations = [];
209
- if (_lodash.default.isNumber(x.lesson_durations)) durations = [x.lesson_durations];else if (_lodash.default.isString(x.lesson_durations)) durations = x.lesson_durations.split(',').map(x => x.trim()).map(x => parseInt(x));
210
- durations = durations.map(x => {
211
- try {
212
- return toMultipleOf5(x);
213
- } catch (e) {
214
- warnings.push("The lesson duration \"".concat(x, "\" for the course \"").concat(displayName, "\" is not an integer."));
215
- return undefined;
216
- }
217
- }).filter(x => {
218
- if (!x) {
219
- warnings.push("The lesson duration for the course \"".concat(displayName, "\" becomes 0 when truncated to the nearest multiple of 5."));
220
- return false;
221
- }
222
- return true;
223
- });
224
- durations.forEach(x => {
225
- var id = generateId(eventsIdMap);
226
- var event = {
227
- id,
228
- course: courseId,
229
- preferredDuration: x
230
- };
231
- eventsIdMap.set(id, event);
232
- });
233
- } catch (e) {
234
- warnings.push("Could not parse the lesson durations \"".concat(x.lesson_durations, "\" for the course \"").concat(displayName, "\"."));
235
- }
237
+ var _durations = typeof x.lesson_durations === 'string' ? x.lesson_durations.split(',').map(x => x.trim()) : [x.lesson_durations];
238
+ var durations = _durations.map(e => {
239
+ try {
240
+ return toPositiveMultipleOf5(e);
241
+ } catch (e) {
242
+ warnings.push({
243
+ code: 'invalid_lesson_durations',
244
+ context: x.lesson_durations
245
+ });
246
+ return undefined;
247
+ }
248
+ }).filter(x => x !== undefined);
249
+ durations.forEach(x => {
250
+ var id = generateId(eventsIdMap);
251
+ var event = {
252
+ id,
253
+ course: courseId,
254
+ preferredDuration: x
255
+ };
256
+ eventsIdMap.set(id, event);
257
+ });
236
258
  }
237
259
  var locationReferences = [];
238
- (_toString2 = toString(x.locations)) === null || _toString2 === void 0 ? void 0 : _toString2.split('+').flatMap((x, i) => x.split(',').map(x => [i, x.trim().toLowerCase()])).forEach(_ref2 => {
260
+ (_toString2 = toString(x.locations)) === null || _toString2 === void 0 ? void 0 : _toString2.split('+').flatMap((x, i) => x.split(',').map(x => [i, x.trim()])).forEach(_ref2 => {
239
261
  var [i, x] = _ref2;
240
- var ref = locationsNameMap.get(x);
262
+ var key = x.toLowerCase();
263
+ var ref = locationsNameMap.get(key);
241
264
  if (!ref) {
242
- warnings.push("The location \"".concat(x, "\" referenced from the course \"").concat(displayName, "\" does not exist."));
265
+ warnings.push({
266
+ code: 'invalid_location_reference',
267
+ context: x
268
+ });
243
269
  return;
244
270
  }
245
271
  if (locationReferences.some(y => y.to == ref.id)) {
246
- warnings.push("The location \"".concat(x, "\" is referenced multiple times from the course \"").concat(displayName, "\"."));
272
+ warnings.push({
273
+ code: 'location_referenced_multiple_times',
274
+ context: x
275
+ });
247
276
  return;
248
277
  }
249
278
  locationReferences.push({
@@ -252,14 +281,21 @@ function _schedules(source) {
252
281
  });
253
282
  });
254
283
  var groupReferences = [];
255
- (_toString3 = toString(x.groups)) === null || _toString3 === void 0 ? void 0 : _toString3.split(',').map(x => x.trim().toLowerCase()).forEach(x => {
256
- var ref = groupsNameMap.get(x);
284
+ (_toString3 = toString(x.groups)) === null || _toString3 === void 0 ? void 0 : _toString3.split(',').map(x => x.trim()).forEach(x => {
285
+ var key = x.toLowerCase();
286
+ var ref = groupsNameMap.get(key);
257
287
  if (!ref) {
258
- warnings.push("The group \"".concat(x, "\" referenced from the course \"").concat(displayName, "\" does not exist."));
288
+ warnings.push({
289
+ code: 'invalid_group_reference',
290
+ context: x
291
+ });
259
292
  return;
260
293
  }
261
294
  if (groupReferences.some(y => y.to == ref.id)) {
262
- warnings.push("The group \"".concat(x, "\" is referenced multiple times from the course \"").concat(displayName, "\"."));
295
+ warnings.push({
296
+ code: 'group_referenced_multiple_times',
297
+ context: x
298
+ });
263
299
  return;
264
300
  }
265
301
  groupReferences.push({
@@ -267,14 +303,21 @@ function _schedules(source) {
267
303
  });
268
304
  });
269
305
  var teacherReferences = [];
270
- (_toString4 = toString(x.teachers)) === null || _toString4 === void 0 ? void 0 : _toString4.split(',').map(x => x.trim().toLowerCase()).forEach(x => {
271
- var ref = teachersNameMap.get(x);
306
+ (_toString4 = toString(x.teachers)) === null || _toString4 === void 0 ? void 0 : _toString4.split(',').map(x => x.trim()).forEach(x => {
307
+ var key = x.toLowerCase();
308
+ var ref = teachersNameMap.get(key);
272
309
  if (!ref) {
273
- warnings.push("The teacher \"".concat(x, "\" referenced from the course \"").concat(displayName, "\" does not exist."));
310
+ warnings.push({
311
+ code: 'invalid_teacher_reference',
312
+ context: x
313
+ });
274
314
  return;
275
315
  }
276
316
  if (teacherReferences.some(y => y.to == ref.id)) {
277
- warnings.push("The teacher \"".concat(x, "\" is referenced multiple times from the course \"").concat(displayName, "\"."));
317
+ warnings.push({
318
+ code: 'teacher_referenced_multiple_times',
319
+ context: x
320
+ });
278
321
  return;
279
322
  }
280
323
  teacherReferences.push({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_lodash","_interopRequireDefault","require","_nanoid","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","generateId","map","id","nanoid","has","toMultipleOf5","val","num","_","isString","parseInt","isNaN","Error","concat","Math","floor","toInteger","toString","x","isNumber","trim","_schedules","_source$settings","_source$locations","_source$teachers","_source$groups","_source$persons","_source$courses","_source$settings2","_source$settings2$","_source$persons2","_source$courses2","warnings","settings","values","some","y","locations","teachers","groups","persons","courses","discretization","numDays","dayStart","dayEnd","number_of_days","_source$settings3","_source$settings3$","e","locationsIdMap","Map","locationsNameMap","groupsIdMap","groupsNameMap","teachersIdMap","teachersNameMap","name","singular","plural","data","idMap","nameMap","_ref","_x$ID$toString","_x$ID","displayName","toLowerCase","ID","set","personsIdMap","_x$ID$toString2","_x$ID2","firstName","first_name","lastName","last_name","SSN","groupReference","group","ref","get","sex","person","coursesIdMap","eventsIdMap","_toString","_x$ID$toString3","_x$ID3","_toString2","_toString3","_toString4","subject","courseId","totalHours","total_hours","minutesPerWeek","minutes_per_week","lesson_durations","durations","split","event","course","preferredDuration","locationReferences","flatMap","_ref2","to","groupIndex","groupReferences","teacherReferences","expectedTotalHours","events","meta","default_1","_default"],"sources":["../../../../src/Excel/v2/from/index.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_lodash","_interopRequireDefault","require","_nanoid","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","generateId","map","id","nanoid","has","toPositiveMultipleOf5","val","num","_","isString","parseInt","isNaN","Error","concat","Math","floor","toPositiveInteger","toString","x","isNumber","trim","_schedules","_source$settings","_source$locations","_source$teachers","_source$groups","_source$persons","_source$courses","_source$settings2","_source$settings2$","_source$persons2","_source$courses2","warnings","settings","values","some","y","locations","teachers","groups","persons","courses","discretization","numDays","dayStart","dayEnd","code","number_of_days","_source$settings3","_source$settings3$","context","e","locationsIdMap","Map","locationsNameMap","groupsIdMap","groupsNameMap","teachersIdMap","teachersNameMap","name","singular","plural","data","idMap","nameMap","_ref","_x$ID$toString","_x$ID","_displayName$toLowerC","displayName","ID","set","toLowerCase","personsIdMap","_x$ID$toString2","_x$ID2","firstName","first_name","lastName","last_name","SSN","groupReference","group","ref","get","sex","person","coursesIdMap","eventsIdMap","_toString","_x$ID$toString3","_x$ID3","_toString2","_toString3","_toString4","subject","courseId","totalHours","total_hours","minutesPerWeek","minutes_per_week","lesson_durations","_durations","split","durations","event","course","preferredDuration","locationReferences","flatMap","_ref2","to","groupIndex","groupReferences","teacherReferences","expectedTotalHours","events","meta","default_1","_default"],"sources":["../../../../src/Excel/v2/from/index.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -42,5 +42,6 @@ export declare module Types {
42
42
  groups?: Group[];
43
43
  courses?: Course[];
44
44
  };
45
+ type ErrorCode = 'missing_settings_sheet' | 'invalid_number_of_days' | 'missing_locations_sheet' | 'missing_groups_sheet' | 'missing_teachers_sheet' | 'ignoring_duplicate_location' | 'ignoring_duplicate_group' | 'ignoring_duplicate_teacher' | 'missing_persons_sheet' | 'invalid_group_reference' | 'invalid_sex' | 'ignoring_duplicate_person' | 'missing_courses_sheet' | 'ignoring_duplicate_course' | 'invalid_total_hours' | 'invalid_minutes_per_week' | 'invalid_lesson_durations' | 'invalid_location_reference' | 'location_referenced_multiple_times' | 'group_referenced_multiple_times' | 'invalid_teacher_reference' | 'teacher_referenced_multiple_times';
45
46
  }
46
47
  export {};
@@ -1,5 +1,11 @@
1
1
  export interface Meta {
2
2
  structure?: `RS/core-${number}.${number}.${number}`;
3
- warnings?: string[];
4
- errors?: string[];
3
+ warnings?: (string | {
4
+ code: string;
5
+ context?: any;
6
+ })[];
7
+ errors?: (string | {
8
+ code: string;
9
+ context?: any;
10
+ })[];
5
11
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@royalschedule/maps",
3
3
  "description": "",
4
- "version": "2.7.3",
4
+ "version": "2.7.4",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "engines": {