turf-common 1.4.2-beta.24 → 1.4.2-beta.26

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.
@@ -46,6 +46,18 @@ export declare class TurfAvailability implements ITurfAvailability {
46
46
  getTotalTime(): number;
47
47
  getCode(): string;
48
48
  getEventCode(): string;
49
+ static parseEventCode(eventCode: string): {
50
+ fromDateCode: string;
51
+ toDateCode: string;
52
+ data: {
53
+ fromDateCode: string;
54
+ toDateCode: string;
55
+ fromTimeCode: string;
56
+ toTimeCode: string;
57
+ weekDay: number;
58
+ }[];
59
+ pitchIds: string[];
60
+ };
49
61
  parse(): void;
50
62
  static parse(eventCode: string): {
51
63
  pitchCodes: string[];
@@ -193,6 +193,48 @@ var TurfAvailability = /** @class */ (function () {
193
193
  }
194
194
  return "";
195
195
  };
196
+ TurfAvailability.parseEventCode = function (eventCode) {
197
+ var eventCodes = eventCode.split("#");
198
+ var dateCodeRange = eventCodes[1];
199
+ var weekdayTimeSlots = eventCodes[2].split(",");
200
+ var timeSlotsByWeekday = {};
201
+ for (var _i = 0, weekdayTimeSlots_1 = weekdayTimeSlots; _i < weekdayTimeSlots_1.length; _i++) {
202
+ var weekdayTimeSlot = weekdayTimeSlots_1[_i];
203
+ var weekday = parseInt(weekdayTimeSlot.slice(0, 1));
204
+ if (!timeSlotsByWeekday[weekday]) {
205
+ timeSlotsByWeekday[weekday] = [];
206
+ }
207
+ timeSlotsByWeekday[weekday].push(weekdayTimeSlot.slice(1));
208
+ }
209
+ var weekdays = Array.from(new Set(weekdayTimeSlots.map(function (timeSlot) { return parseInt(timeSlot.slice(0, 1)); })));
210
+ var dateCodes = [];
211
+ for (var _a = 0, weekdays_1 = weekdays; _a < weekdays_1.length; _a++) {
212
+ var weekday = weekdays_1[_a];
213
+ dateCodes.push.apply(dateCodes, booking_code_model_1.BookingCode.getDateCodesByWeek(Number(dateCodeRange.slice(0, 6)), Number(dateCodeRange.slice(7, 13)), weekday));
214
+ }
215
+ var data = [];
216
+ dateCodes.sort();
217
+ for (var _b = 0, dateCodes_1 = dateCodes; _b < dateCodes_1.length; _b++) {
218
+ var dateCode = dateCodes_1[_b];
219
+ var dateCodeWeekday = booking_code_model_1.BookingCode.getWeekday(Number(dateCode));
220
+ for (var _c = 0, _d = timeSlotsByWeekday[dateCodeWeekday] || []; _c < _d.length; _c++) {
221
+ var timeslot = _d[_c];
222
+ data.push({
223
+ fromDateCode: dateCode,
224
+ toDateCode: dateCode,
225
+ fromTimeCode: timeslot.slice(0, 4),
226
+ toTimeCode: timeslot.slice(4, 8),
227
+ weekDay: dateCodeWeekday,
228
+ });
229
+ }
230
+ }
231
+ return {
232
+ fromDateCode: dateCodes[0],
233
+ toDateCode: dateCodes[dateCodes.length - 1],
234
+ data: data,
235
+ pitchIds: eventCodes[3].split(","),
236
+ };
237
+ };
196
238
  TurfAvailability.prototype.parse = function () {
197
239
  if (!Object.keys(this.data).length)
198
240
  return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "turf-common",
3
- "version": "1.4.2-beta.24",
3
+ "version": "1.4.2-beta.26",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",