UNPKG

33.2 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.AdamsCountyCO = AdamsCountyCO;
7exports.AlbuquerqueNM = AlbuquerqueNM;
8exports.AlexandriaVA = AlexandriaVA;
9exports.AnneArundelMD = AnneArundelMD;
10exports.ArvadaCO = ArvadaCO;
11exports.AshevilleNC = AshevilleNC;
12exports.BeavercreekOH = BeavercreekOH;
13exports.BellevueWA = BellevueWA;
14exports.BostonMA = BostonMA;
15exports.BothellWA = BothellWA;
16exports.BrowardFL = BrowardFL;
17exports.CapeCoralFL = CapeCoralFL;
18exports.CarmelIN = CarmelIN;
19exports.CasaGrandeAZ = CasaGrandeAZ;
20exports.CedarRapidsIA = CedarRapidsIA;
21exports.ChesapeakeVA = ChesapeakeVA;
22exports.CiceroIN = CiceroIN;
23exports.ClarkCountyNV = ClarkCountyNV;
24exports.ColumbusOH = ColumbusOH;
25exports.CoralGablesFL = CoralGablesFL;
26exports.CosumnesCA = CosumnesCA;
27exports.DelawareOH = DelawareOH;
28exports.DelrayBeachFL = DelrayBeachFL;
29exports.DerryNH = DerryNH;
30exports.EastPierceWA = EastPierceWA;
31exports.FairmountCO = FairmountCO;
32exports.FirecaresLookup = void 0;
33exports.FishersIN = FishersIN;
34exports.FtMyersFL = FtMyersFL;
35exports.GolderRanchAZ = GolderRanchAZ;
36exports.GoodyearAZ = GoodyearAZ;
37exports.GreenvilleNC = GreenvilleNC;
38exports.HallCountyGA = HallCountyGA;
39exports.HarrisonburgVA = HarrisonburgVA;
40exports.HiltonHeadSC = HiltonHeadSC;
41exports.IndianapolisIN = IndianapolisIN;
42exports.IonaMcGregorFL = IonaMcGregorFL;
43exports.JacksonCountyOR = JacksonCountyOR;
44exports.JacksonTownshipIN = JacksonTownshipIN;
45exports.JerseyCityNJ = JerseyCityNJ;
46exports.KansasCityMO = KansasCityMO;
47exports.KingstonON = KingstonON;
48exports.LACountyCA = LACountyCA;
49exports.LexingtonKy = LexingtonKy;
50exports.LoudounVA = LoudounVA;
51exports.LouisvilleKY = LouisvilleKY;
52exports.MadisonWI = MadisonWI;
53exports.ManchesterCT = ManchesterCT;
54exports.MemphisTN = MemphisTN;
55exports.MesaAZ = MesaAZ;
56exports.MiamiDadeFL = MiamiDadeFL;
57exports.MilwaukeeWI = MilwaukeeWI;
58exports.NewRochelleNY = NewRochelleNY;
59exports.NewportNewsVA = NewportNewsVA;
60exports.NoblesvilleIN = NoblesvilleIN;
61exports.NorthPortFL = NorthPortFL;
62exports.NorthwestAZ = NorthwestAZ;
63exports.OlatheKS = OlatheKS;
64exports.OntarioCA = OntarioCA;
65exports.OrangeCountyFL = OrangeCountyFL;
66exports.OrlandoFL = OrlandoFL;
67exports.OxnardCA = OxnardCA;
68exports.PalmBeachCountyFL = PalmBeachCountyFL;
69exports.PascoWA = PascoWA;
70exports.PflugervilleTX = PflugervilleTX;
71exports.PhoenixAZ = PhoenixAZ;
72exports.PlainfieldIL = PlainfieldIL;
73exports.PolkCountyFL = PolkCountyFL;
74exports.PrinceWilliamVA = PrinceWilliamVA;
75exports.RichlandWA = RichlandWA;
76exports.RinconValleyAZ = RinconValleyAZ;
77exports.RivieraBeachFL = RivieraBeachFL;
78exports.RogersAR = RogersAR;
79exports.RosevilleCA = RosevilleCA;
80exports.SacramentoMetroCA = SacramentoMetroCA;
81exports.SaintLucieFL = SaintLucieFL;
82exports.SanFranciscoCA = SanFranciscoCA;
83exports.SanLuisAZ = SanLuisAZ;
84exports.SeminoleCountyFL = SeminoleCountyFL;
85exports.SheridanIN = SheridanIN;
86exports.ShiftConfiguration = void 0;
87exports.SnoqualmieWA = SnoqualmieWA;
88exports.SomertonCocopahAZ = SomertonCocopahAZ;
89exports.SouthMetroCO = SouthMetroCO;
90exports.SouthernPlatteMO = SouthernPlatteMO;
91exports.SpokaneValleyWA = SpokaneValleyWA;
92exports.StLouisPark = StLouisPark;
93exports.StPaulMN = StPaulMN;
94exports.TheVillagesFL = TheVillagesFL;
95exports.TimberMesaAZ = TimberMesaAZ;
96exports.TorringtonCT = TorringtonCT;
97exports.TucsonAZ = TucsonAZ;
98exports.UpperProvidencePA = UpperProvidencePA;
99exports.WashoeCountyNV = WashoeCountyNV;
100exports.WayneTownshipIN = WayneTownshipIN;
101exports.WestMetroCO = WestMetroCO;
102exports.WestPalmBeachFL = WestPalmBeachFL;
103exports.WestfieldIN = WestfieldIN;
104exports.fairfaxVA = fairfaxVA;
105exports.richmondVA = richmondVA;
106exports.washingtonDC = washingtonDC;
107var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
108function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
109function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
110function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
111function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
112function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
113function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
114function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
115var ShiftInformation = /*#__PURE__*/function () {
116 /**
117 * Individual shift information and pattern for ShiftConfiguration
118 * @param {string} pattern - The department's shift pattern.
119 * @param {string} timeZone - The department's timezone.
120 * @param {string} shiftStart - The start time of the department's shift.
121 * @param {string} firstDay - The first day of the pattern (assumed to be in local tz).
122 * @param {number} shiftDuration - Number of hours per shift.
123 */
124 function ShiftInformation() {
125 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
126 pattern = _ref.pattern,
127 _ref$timeZone = _ref.timeZone,
128 timeZone = _ref$timeZone === void 0 ? 'US/Eastern' : _ref$timeZone,
129 _ref$shiftStart = _ref.shiftStart,
130 shiftStart = _ref$shiftStart === void 0 ? '0800' : _ref$shiftStart,
131 _ref$firstDay = _ref.firstDay,
132 firstDay = _ref$firstDay === void 0 ? '2016-10-30' : _ref$firstDay,
133 _ref$shiftDuration = _ref.shiftDuration,
134 shiftDuration = _ref$shiftDuration === void 0 ? 24 : _ref$shiftDuration;
135 _classCallCheck(this, ShiftInformation);
136 this.pattern = pattern;
137 this.timeZone = timeZone;
138 this.shiftStart = shiftStart;
139 this.firstDay = firstDay;
140 this.shiftDuration = shiftDuration;
141 this.shiftStartDate = _momentTimezone["default"].tz(this.shiftStart, 'hmm', this.timeZone);
142 this.patternStart = _momentTimezone["default"].tz("".concat(this.firstDay, " ").concat(this.shiftStart.slice(0, 2), ":").concat(this.shiftStart.slice(2)), this.timeZone).startOf('hour');
143 }
144 return _createClass(ShiftInformation, [{
145 key: "normalize",
146 value: function normalize(incomingDate) {
147 return _momentTimezone["default"].tz(incomingDate, this.timeZone);
148 }
149 }, {
150 key: "reversePattern",
151 value: function reversePattern() {
152 var isPatternString = typeof this.pattern === 'string';
153
154 // create shallow copy of the array
155 var pattern = Array.from(isPatternString ? this.pattern.split('') : this.pattern);
156 pattern = pattern.reverse();
157 return isPatternString ? pattern.join('') : pattern;
158 }
159 }, {
160 key: "afterShiftStartDate",
161 value: function afterShiftStartDate(date) {
162 var incomingDate = this.normalize(date);
163 return this.minutesFromPatternStart(incomingDate) >= 0;
164 }
165 }, {
166 key: "beforeShiftChange",
167 value: function beforeShiftChange(date) {
168 var startDate = this.shiftStartDate;
169 return date.hours() < startDate.hours() || date.hours() === startDate.hours() && date.minutes() < startDate.minutes();
170 }
171 }, {
172 key: "minutesFromPatternStart",
173 value: function minutesFromPatternStart(start) {
174 return start.diff(this.patternStart, 'minutes');
175 }
176 }, {
177 key: "hoursFromPatternStart",
178 value: function hoursFromPatternStart(start) {
179 return start.diff(this.patternStart, 'hours');
180 }
181 }, {
182 key: "calculateShift",
183 value: function calculateShift(date) {
184 var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
185 _ref2$dateOnly = _ref2.dateOnly,
186 dateOnly = _ref2$dateOnly === void 0 ? false : _ref2$dateOnly;
187 var momentDate = this.normalize(date);
188 if (dateOnly) {
189 momentDate.add(this.shiftStartDate.hour(), 'hours');
190 }
191 var hoursFromStart = this.hoursFromPatternStart(momentDate);
192
193 // Adjust for time spans covering DST transition :(
194 if (this.patternStart.isDST() !== momentDate.isDST()) {
195 hoursFromStart += momentDate.isDST() ? 1 : -1;
196 }
197 if (this.beforeShiftChange(momentDate)) {
198 hoursFromStart -= 1;
199 }
200 var pattern = hoursFromStart < 0 ? this.reversePattern() : this.pattern;
201 var index = Math.floor(Math.abs(hoursFromStart) / this.shiftDuration) % pattern.length;
202 var shift = pattern[index];
203 // Returns an undefined shift if the index is not found
204 if (typeof shift !== 'undefined') {
205 shift = shift.toUpperCase();
206 }
207 return shift;
208 }
209 }, {
210 key: "shiftTimeFrame",
211 value: function shiftTimeFrame(date) {
212 /**
213 * Returns the start and end time of the shift for the day.
214 * @param {string} date - The date of the shift as an ISO-8601 compliant string (ie YYYY-MM-DD).
215 */
216 var momentDate = this.normalize(date);
217 if (this.beforeShiftChange(momentDate)) {
218 momentDate = momentDate.subtract(1, 'days');
219 }
220 var start = momentDate.hours(this.shiftStartDate.hours()).minutes(this.shiftStartDate.minutes()).startOf('minute');
221 return {
222 start: start.format(),
223 end: start.add(this.shiftDuration, 'hours').format()
224 };
225 }
226 }]);
227}();
228var ShiftConfiguration = exports.ShiftConfiguration = /*#__PURE__*/function () {
229 // eslint-disable-line import/prefer-default-export
230 /**
231 * Create a ShiftConfiguration.
232 * @param shifts
233 */
234 function ShiftConfiguration() {
235 var shifts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
236 timeZone: 'US/Eastern',
237 shiftStart: '0800',
238 firstDay: '2016-10-30'
239 };
240 _classCallCheck(this, ShiftConfiguration);
241 if (Array.isArray(shifts)) {
242 this.shifts = shifts.map(function (shiftInfo) {
243 return new ShiftInformation(shiftInfo);
244 });
245 } else {
246 this.shifts = [new ShiftInformation(shifts)];
247 }
248 this.shifts = this.shifts.sort(function (a, b) {
249 return a.hoursFromPatternStart(b.patternStart);
250 });
251 }
252 return _createClass(ShiftConfiguration, [{
253 key: "determineShiftPattern",
254 value: function determineShiftPattern(date) {
255 var i;
256 for (i = 0; i < this.shifts.length; i += 1) {
257 if (this.shifts[i].afterShiftStartDate(date)) {
258 return this.shifts[i];
259 }
260 }
261 // Return newest known shift if none found for date
262 return this.shifts[0];
263 }
264 }, {
265 key: "normalize",
266 value: function normalize(incomingDate) {
267 var shiftPattern = this.determineShiftPattern(incomingDate);
268 return shiftPattern.normalize(incomingDate);
269 }
270 }, {
271 key: "calculateShift",
272 value: function calculateShift(date) {
273 var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
274 _ref3$dateOnly = _ref3.dateOnly,
275 dateOnly = _ref3$dateOnly === void 0 ? false : _ref3$dateOnly;
276 var shiftPattern = this.determineShiftPattern(date);
277 return shiftPattern.calculateShift(date, {
278 dateOnly: dateOnly
279 });
280 }
281 }, {
282 key: "shiftTimeFrame",
283 value: function shiftTimeFrame(date) {
284 var shiftPattern = this.determineShiftPattern(date);
285 return shiftPattern.shiftTimeFrame(date);
286 }
287 }, {
288 key: "beforeShiftChange",
289 value: function beforeShiftChange(date) {
290 var shiftPattern = this.determineShiftPattern(date);
291 return shiftPattern.beforeShiftChange(date);
292 }
293 }, {
294 key: "reversePattern",
295 value: function reversePattern() {
296 var shiftIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
297 return this.shifts[shiftIndex].reversePattern();
298 }
299 }]);
300}();
301function washingtonDC() {
302 return new ShiftConfiguration({
303 firstDay: '2017-09-01',
304 pattern: '1234',
305 shiftStart: '0700',
306 timeZone: 'US/Eastern'
307 });
308}
309function richmondVA() {
310 return new ShiftConfiguration({
311 firstDay: '2016-10-18',
312 pattern: 'acababacbcacacbabcbcb',
313 shiftStart: '0800',
314 timeZone: 'US/Eastern'
315 });
316}
317function fairfaxVA() {
318 return new ShiftConfiguration({
319 firstDay: '2016-10-14',
320 pattern: 'acababcbc',
321 shiftStart: '0700',
322 timeZone: 'US/Eastern'
323 });
324}
325function PrinceWilliamVA() {
326 return new ShiftConfiguration({
327 firstDay: '2017-07-10',
328 pattern: 'abc',
329 shiftStart: '0600',
330 timeZone: 'US/Eastern'
331 });
332}
333function OxnardCA() {
334 return new ShiftConfiguration({
335 firstDay: '2017-01-04',
336 pattern: 'acacababcbcbcacabababcbc',
337 shiftStart: '0800',
338 timeZone: 'US/Pacific'
339 });
340}
341function TucsonAZ() {
342 return new ShiftConfiguration([{
343 firstDay: '2017-01-01',
344 pattern: 'acbcbcbababacac',
345 shiftStart: '0800',
346 timeZone: 'US/Arizona'
347 },
348 // transition to new schedule starts
349 {
350 firstDay: '2021-03-31',
351 pattern: 'AC',
352 shiftDuration: 12,
353 shiftStart: '0800',
354 timeZone: 'US/Arizona'
355 }, {
356 firstDay: '2021-04-01',
357 pattern: 'BACACAC',
358 shiftStart: '0800',
359 timeZone: 'US/Arizona'
360 },
361 // transition to new schedule completes on 04/08/2021
362 {
363 firstDay: '2021-04-08',
364 pattern: 'BABCBCACA',
365 shiftStart: '0800',
366 timeZone: 'US/Arizona'
367 }]);
368}
369function ClarkCountyNV() {
370 return new ShiftConfiguration({
371 firstDay: '2017-01-06',
372 pattern: 'cbcbcacacababab',
373 shiftStart: '0800',
374 timeZone: 'US/Pacific'
375 });
376}
377function RogersAR() {
378 return new ShiftConfiguration({
379 firstDay: '2018-01-17',
380 pattern: 'aabbcc',
381 shiftStart: '0700',
382 timeZone: 'US/Central'
383 });
384}
385function BostonMA() {
386 return new ShiftConfiguration({
387 firstDay: '2018-01-01',
388 pattern: '13243142',
389 shiftStart: '0800',
390 timeZone: 'US/Eastern'
391 });
392}
393function FairmountCO() {
394 return new ShiftConfiguration({
395 firstDay: '2018-01-01',
396 pattern: 'BBAACC',
397 shiftStart: '0700',
398 timeZone: 'US/Mountain'
399 });
400}
401function KingstonON() {
402 return new ShiftConfiguration({
403 firstDay: '2018-01-01',
404 pattern: 'DBCDACABCABDADCADCBDBADBACBC',
405 shiftStart: '0800',
406 timeZone: 'US/Eastern'
407 });
408}
409function GreenvilleNC() {
410 return new ShiftConfiguration({
411 firstDay: '2018-04-30',
412 pattern: '123',
413 shiftStart: '0800',
414 timeZone: 'US/Eastern'
415 });
416}
417function CosumnesCA() {
418 return new ShiftConfiguration({
419 firstDay: '2018-01-05',
420 pattern: 'AABBCC',
421 shiftStart: '0700',
422 timeZone: 'US/Pacific'
423 });
424}
425function StLouisPark() {
426 return new ShiftConfiguration({
427 firstDay: '2018-01-01',
428 pattern: 'ACABCBCBABCACACBCABAB',
429 shiftStart: '0730',
430 timeZone: 'US/Central'
431 });
432}
433function HiltonHeadSC() {
434 return new ShiftConfiguration({
435 firstDay: '2018-01-01',
436 pattern: 'ABC',
437 shiftStart: '0800',
438 timeZone: 'US/Eastern'
439 });
440}
441function PolkCountyFL() {
442 return new ShiftConfiguration({
443 firstDay: '2018-05-08',
444 pattern: 'ABC',
445 shiftStart: '0800',
446 timeZone: 'US/Eastern'
447 });
448}
449function FtMyersFL() {
450 return new ShiftConfiguration({
451 firstDay: '2018-01-02',
452 pattern: 'ABC',
453 shiftStart: '0700',
454 timeZone: 'US/Eastern'
455 });
456}
457function OrangeCountyFL() {
458 return new ShiftConfiguration({
459 firstDay: '2018-05-01',
460 pattern: 'ABC',
461 shiftStart: '0730',
462 timeZone: 'US/Eastern'
463 });
464}
465function StPaulMN() {
466 return new ShiftConfiguration({
467 firstDay: '2018-01-01',
468 pattern: 'BABCBCBCACABABABCBCACACA',
469 shiftStart: '0800',
470 timeZone: 'US/Central'
471 });
472}
473function WestMetroCO() {
474 return new ShiftConfiguration({
475 firstDay: '2018-01-01',
476 pattern: 'BBAACC',
477 shiftStart: '0700',
478 timeZone: 'US/Mountain'
479 });
480}
481function BellevueWA() {
482 return new ShiftConfiguration({
483 firstDay: '2018-01-01',
484 pattern: 'BABACACBC',
485 shiftStart: '0800',
486 timeZone: 'US/Pacific'
487 });
488}
489function BothellWA() {
490 return new ShiftConfiguration({
491 firstDay: '2022-08-07',
492 pattern: 'ABABCDCD',
493 shiftStart: '0800',
494 timeZone: 'US/Pacific'
495 });
496}
497function DelrayBeachFL() {
498 return new ShiftConfiguration({
499 firstDay: '2018-01-01',
500 pattern: 'CABCAB',
501 shiftStart: '0800',
502 timeZone: 'US/Eastern'
503 });
504}
505function NewRochelleNY() {
506 return new ShiftConfiguration({
507 firstDay: '2018-09-03',
508 pattern: '12341234',
509 shiftStart: '0800',
510 timeZone: 'US/Eastern'
511 });
512}
513function MiamiDadeFL() {
514 return new ShiftConfiguration({
515 firstDay: '2017-12-03',
516 pattern: 'abcabc',
517 shiftStart: '0700',
518 timeZone: 'US/Eastern'
519 });
520}
521function SouthernPlatteMO() {
522 return new ShiftConfiguration({
523 firstDay: '2018-01-01',
524 pattern: 'BABCBCACABABCBCACA',
525 shiftStart: '0800',
526 timeZone: 'US/Central'
527 });
528}
529function AdamsCountyCO() {
530 return new ShiftConfiguration({
531 firstDay: '2019-01-02',
532 pattern: 'BBAACCBBAACC',
533 shiftStart: '0700',
534 timeZone: 'US/Mountain'
535 });
536}
537function FishersIN() {
538 return new ShiftConfiguration({
539 firstDay: '2018-12-01',
540 pattern: 'CAB',
541 shiftStart: '0700',
542 timeZone: 'US/Eastern'
543 });
544}
545function WestfieldIN() {
546 return new ShiftConfiguration({
547 firstDay: '2019-01-01',
548 pattern: 'ABC',
549 shiftStart: '0800',
550 timeZone: 'US/Eastern'
551 });
552}
553function CiceroIN() {
554 return new ShiftConfiguration({
555 firstDay: '2019-01-01',
556 pattern: 'acababcbc',
557 shiftStart: '0700',
558 timeZone: 'US/Eastern'
559 });
560}
561function SheridanIN() {
562 return new ShiftConfiguration({
563 firstDay: '2019-01-01',
564 pattern: 'acababcbc',
565 shiftStart: '0700',
566 timeZone: 'US/Eastern'
567 });
568}
569function CarmelIN() {
570 return new ShiftConfiguration([{
571 firstDay: '2019-01-01',
572 pattern: 'acababcbc',
573 shiftStart: '0700',
574 timeZone: 'US/Eastern'
575 }, {
576 firstDay: '2018-01-01',
577 pattern: 'abcbcacab',
578 shiftStart: '0700',
579 timeZone: 'US/Eastern'
580 }]);
581}
582function NoblesvilleIN() {
583 return new ShiftConfiguration({
584 firstDay: '2019-01-02',
585 pattern: 'BABCBCACA',
586 shiftStart: '0730',
587 timeZone: 'US/Eastern'
588 });
589}
590function MesaAZ() {
591 return new ShiftConfiguration({
592 firstDay: '2018-01-07',
593 pattern: 'ABCBCACAB',
594 shiftStart: '0700',
595 timeZone: 'US/Arizona'
596 });
597}
598function RivieraBeachFL() {
599 return new ShiftConfiguration({
600 firstDay: '2019-01-03',
601 pattern: 'ABC',
602 shiftStart: '0800',
603 timeZone: 'US/Eastern'
604 });
605}
606function WayneTownshipIN() {
607 return new ShiftConfiguration({
608 firstDay: '2019-02-01',
609 pattern: 'cab',
610 shiftStart: '0800',
611 timeZone: 'US/Eastern'
612 });
613}
614function WestPalmBeachFL() {
615 return new ShiftConfiguration({
616 firstDay: '2019-01-01',
617 pattern: '123',
618 shiftStart: '0800',
619 timeZone: 'US/Eastern'
620 });
621}
622function SacramentoMetroCA() {
623 return new ShiftConfiguration({
624 firstDay: '2019-01-01',
625 pattern: 'abbcca',
626 shiftStart: '0800',
627 timeZone: 'US/Pacific'
628 });
629}
630function WashoeCountyNV() {
631 return new ShiftConfiguration({
632 firstDay: '2019-01-01',
633 pattern: 'caabbc',
634 shiftStart: '0800',
635 timeZone: 'US/Pacific'
636 });
637}
638function JacksonTownshipIN() {
639 return new ShiftConfiguration({
640 firstDay: '2019-01-01',
641 pattern: 'acababcbc',
642 shiftStart: '0700',
643 timeZone: 'US/Eastern'
644 });
645}
646function JerseyCityNJ() {
647 return new ShiftConfiguration({
648 firstDay: '2020-01-04',
649 pattern: 'ABCD',
650 shiftStart: '0800',
651 timeZone: 'US/Eastern'
652 });
653}
654function DelawareOH() {
655 return new ShiftConfiguration([{
656 firstDay: '2019-03-21',
657 pattern: 'abcabc',
658 shiftStart: '0800',
659 timeZone: 'US/Eastern'
660 }, {
661 firstDay: '2020-02-29',
662 pattern: 'cba',
663 shiftDuration: 8,
664 shiftStart: '0800',
665 timeZone: 'US/Eastern'
666 }, {
667 firstDay: '2020-03-01',
668 pattern: 'abcabc',
669 shiftStart: '0800',
670 timeZone: 'US/Eastern'
671 }]);
672}
673function AnneArundelMD() {
674 return new ShiftConfiguration({
675 firstDay: '2019-05-02',
676 pattern: 'ABCD',
677 shiftStart: '0700'
678 });
679}
680function RosevilleCA() {
681 return new ShiftConfiguration({
682 firstDay: '2019-01-06',
683 pattern: 'aabbcc',
684 shiftStart: '0700',
685 timeZone: 'US/Pacific'
686 });
687}
688function TorringtonCT() {
689 return new ShiftConfiguration({
690 firstDay: '2019-06-25',
691 pattern: '1234',
692 shiftStart: '0800',
693 timeZone: 'US/Eastern'
694 });
695}
696function MemphisTN() {
697 return new ShiftConfiguration({
698 firstDay: '2019-01-01',
699 pattern: 'ababcbcac',
700 shiftStart: '0700',
701 timeZone: 'US/Central'
702 });
703}
704function JacksonCountyOR() {
705 return new ShiftConfiguration({
706 firstDay: '2019-07-05',
707 pattern: 'aabbcc',
708 shiftStart: '0800',
709 timeZone: 'US/Pacific'
710 });
711}
712function LexingtonKy() {
713 return new ShiftConfiguration({
714 firstDay: '2019-07-12',
715 pattern: '123',
716 shiftStart: '0700',
717 timeZone: 'US/Eastern'
718 });
719}
720function MilwaukeeWI() {
721 return new ShiftConfiguration({
722 firstDay: '2022-02-16',
723 pattern: 'RGB',
724 shiftStart: '0800',
725 timeZone: 'US/Central'
726 });
727}
728function PlainfieldIL() {
729 return new ShiftConfiguration({
730 firstDay: '2019-01-01',
731 pattern: 'RGB',
732 shiftStart: '0700',
733 timeZone: 'US/Central'
734 });
735}
736function ManchesterCT() {
737 return new ShiftConfiguration({
738 firstDay: '2019-01-08',
739 pattern: '13243142',
740 shiftStart: '0800',
741 timeZone: 'US/Eastern'
742 });
743}
744function PalmBeachCountyFL() {
745 return new ShiftConfiguration({
746 firstDay: '2019-12-02',
747 pattern: 'ABC',
748 shiftStart: '0730',
749 timeZone: 'US/Eastern'
750 });
751}
752function CedarRapidsIA() {
753 return new ShiftConfiguration({
754 firstDay: '2020-01-01',
755 pattern: 'ABC',
756 shiftStart: '0700',
757 timeZone: 'US/Central'
758 });
759}
760function AlexandriaVA() {
761 return new ShiftConfiguration({
762 firstDay: '2020-01-08',
763 pattern: 'ABABCBCAC',
764 shiftStart: '0700',
765 timeZone: 'US/Eastern'
766 });
767}
768function PascoWA() {
769 return new ShiftConfiguration({
770 firstDay: '2020-01-06',
771 pattern: 'AABBCC',
772 shiftStart: '0800',
773 timeZone: 'US/Pacific'
774 });
775}
776function RichlandWA() {
777 return new ShiftConfiguration({
778 firstDay: '2020-01-06',
779 pattern: 'AABBCC',
780 shiftStart: '0800',
781 timeZone: 'US/Pacific'
782 });
783}
784function RinconValleyAZ() {
785 return new ShiftConfiguration([{
786 firstDay: '2017-01-01',
787 pattern: 'acbcbcbababacac',
788 shiftStart: '0700',
789 timeZone: 'US/Arizona'
790 }, {
791 firstDay: '2023-07-09',
792 pattern: 'AABBCC',
793 shiftStart: '0700',
794 timeZone: 'US/Arizona'
795 }]);
796}
797function EastPierceWA() {
798 return new ShiftConfiguration({
799 firstDay: '2020-01-02',
800 pattern: 'ACABABCBC',
801 shiftStart: '0800',
802 timeZone: 'US/Pacific'
803 });
804}
805function CapeCoralFL() {
806 return new ShiftConfiguration({
807 firstDay: '2020-01-01',
808 pattern: 'BCA',
809 shiftStart: '0800',
810 timeZone: 'US/Eastern'
811 });
812}
813function NorthwestAZ() {
814 return new ShiftConfiguration({
815 firstDay: '2020-01-02',
816 pattern: 'ACABABCBC',
817 shiftStart: '0800',
818 timeZone: 'US/Arizona'
819 });
820}
821function GolderRanchAZ() {
822 return new ShiftConfiguration({
823 firstDay: '2020-04-01',
824 pattern: 'ACABABCBC',
825 shiftStart: '0800',
826 timeZone: 'US/Arizona'
827 });
828}
829function TheVillagesFL() {
830 return new ShiftConfiguration({
831 firstDay: '2020-05-01',
832 pattern: 'ABC',
833 shiftStart: '0800',
834 timeZone: 'US/Eastern'
835 });
836}
837function MadisonWI() {
838 return new ShiftConfiguration({
839 firstDay: '2020-01-05',
840 pattern: 'ababcbcac',
841 shiftStart: '0700',
842 timeZone: 'US/Central'
843 });
844}
845function HallCountyGA() {
846 return new ShiftConfiguration({
847 firstDay: '2020-06-01',
848 pattern: 'ABC',
849 shiftStart: '0800',
850 timeZone: 'US/Eastern'
851 });
852}
853function CoralGablesFL() {
854 return new ShiftConfiguration({
855 firstDay: '2020-06-11',
856 pattern: 'ABC',
857 shiftStart: '0700',
858 timeZone: 'US/Eastern'
859 });
860}
861function OntarioCA() {
862 return new ShiftConfiguration({
863 firstDay: '2020-01-01',
864 pattern: 'cabababcbcacacababcbcbca',
865 shiftStart: '0700',
866 timeZone: 'US/Pacific'
867 });
868}
869
870// Demo SF Data
871function SanFranciscoCA() {
872 return new ShiftConfiguration({
873 firstDay: '2016-10-18',
874 pattern: 'acababacbcacacbabcbcb',
875 shiftStart: '0800',
876 timeZone: 'US/Eastern'
877 });
878}
879function CasaGrandeAZ() {
880 return new ShiftConfiguration({
881 firstDay: '2020-08-12',
882 pattern: 'AABBCC',
883 shiftStart: '0800',
884 timeZone: 'US/Arizona'
885 });
886}
887function PhoenixAZ() {
888 return new ShiftConfiguration({
889 firstDay: '2020-02-10',
890 pattern: 'ABC',
891 shiftStart: '0800',
892 timeZone: 'US/Arizona'
893 });
894}
895function GoodyearAZ() {
896 return new ShiftConfiguration({
897 firstDay: '2020-10-15',
898 pattern: 'CCBBAA',
899 shiftStart: '0700',
900 timeZone: 'US/Arizona'
901 });
902}
903function TimberMesaAZ() {
904 return new ShiftConfiguration({
905 firstDay: '2023-03-27',
906 pattern: 'CCAABB',
907 shiftStart: '0800',
908 timeZone: 'US/Arizona'
909 });
910}
911function LACountyCA() {
912 return new ShiftConfiguration({
913 firstDay: '2020-01-23',
914 pattern: 'BABCACABCBCABABCACABCBCA',
915 shiftStart: '0800',
916 timeZone: 'US/Pacific'
917 });
918}
919function OrlandoFL() {
920 return new ShiftConfiguration({
921 firstDay: '2019-11-13',
922 pattern: 'abc',
923 shiftStart: '0800',
924 timeZone: 'US/Eastern'
925 });
926}
927function SaintLucieFL() {
928 return new ShiftConfiguration({
929 firstDay: '2016-10-18',
930 pattern: 'abc',
931 shiftStart: '0730',
932 timeZone: 'US/Eastern'
933 });
934}
935function SomertonCocopahAZ() {
936 return new ShiftConfiguration({
937 firstDay: '2020-01-05',
938 pattern: 'ababcbcac',
939 shiftStart: '0800',
940 timeZone: 'US/Arizona'
941 });
942}
943function UpperProvidencePA() {
944 return new ShiftConfiguration({
945 firstDay: '2020-09-28',
946 pattern: 'AE,ADE,ADE,ABCD,BCD,C,C,BE,ABE,ABE,ACDE,ACD,D,D,BC,BCE,BCE,ABDE,ADE,A,A,CD,BCD,BCD,ABCE,ABE,E,E,AD,ACD,ACD,BCDE,BCE,B,B'.split(','),
947 shiftStart: '0600',
948 timeZone: 'US/Eastern'
949 });
950}
951function OlatheKS() {
952 return new ShiftConfiguration({
953 firstDay: '2020-01-01',
954 pattern: 'CBCBABACA',
955 shiftStart: '0800',
956 timeZone: 'US/Central'
957 });
958}
959function IonaMcGregorFL() {
960 return new ShiftConfiguration({
961 firstDay: '2020-11-19',
962 pattern: 'ABC',
963 shiftStart: '0700',
964 timeZone: 'US/Eastern'
965 });
966}
967function AshevilleNC() {
968 return new ShiftConfiguration({
969 firstDay: '2021-01-08',
970 pattern: 'ABABCACABCBC',
971 shiftStart: '0800',
972 timeZone: 'US/Eastern'
973 });
974}
975function LoudounVA() {
976 return new ShiftConfiguration({
977 firstDay: '2021-01-04',
978 pattern: 'ABC',
979 shiftStart: '0600',
980 timeZone: 'US/Eastern'
981 });
982}
983function BrowardFL() {
984 return new ShiftConfiguration({
985 firstDay: '2021-03-04',
986 pattern: 'ABC',
987 shiftStart: '0800'
988 });
989}
990function AlbuquerqueNM() {
991 return new ShiftConfiguration({
992 firstDay: '2020-08-17',
993 pattern: 'AACCBB',
994 shiftStart: '0800'
995 });
996}
997function NewportNewsVA() {
998 return new ShiftConfiguration({
999 firstDay: '2021-01-19',
1000 pattern: 'ABABCBCACABABCBCACABABCBCAC',
1001 shiftStart: '0800'
1002 });
1003}
1004function SanLuisAZ() {
1005 return new ShiftConfiguration({
1006 firstDay: '2021-01-16',
1007 pattern: 'CABABCBCA',
1008 shiftStart: '0800'
1009 });
1010}
1011function BeavercreekOH() {
1012 return new ShiftConfiguration([{
1013 firstDay: '2020-02-28',
1014 pattern: 'ABC',
1015 shiftStart: '0700'
1016 }, {
1017 firstDay: '2020-02-29',
1018 pattern: 'ACB',
1019 shiftStart: '0700',
1020 shiftDuration: 8
1021 }, {
1022 firstDay: '2020-03-01',
1023 pattern: 'BCA',
1024 shiftStart: '0700'
1025 }]);
1026}
1027function SpokaneValleyWA() {
1028 return new ShiftConfiguration({
1029 firstDay: '2021-10-09',
1030 pattern: 'ABC',
1031 shiftStart: '0800',
1032 timeZone: 'US/Pacific'
1033 });
1034}
1035function SeminoleCountyFL() {
1036 return new ShiftConfiguration({
1037 firstDay: '2021-09-23',
1038 pattern: 'ABC',
1039 shiftStart: '0800',
1040 timeZone: 'US/Eastern'
1041 });
1042}
1043function SnoqualmieWA() {
1044 return new ShiftConfiguration({
1045 firstDay: '2022-08-07',
1046 pattern: 'CCAABB',
1047 shiftStart: '0800',
1048 timeZone: 'US/Pacific'
1049 });
1050}
1051function LouisvilleKY() {
1052 return new ShiftConfiguration({
1053 firstDay: '2022-02-03',
1054 pattern: '123',
1055 shiftStart: '0800',
1056 timeZone: 'US/Eastern'
1057 });
1058}
1059function IndianapolisIN() {
1060 return new ShiftConfiguration({
1061 firstDay: '2022-03-01',
1062 pattern: 'ABC',
1063 shiftStart: '0800',
1064 timeZone: 'US/Eastern'
1065 });
1066}
1067function SouthMetroCO() {
1068 return new ShiftConfiguration({
1069 firstDay: '2022-01-02',
1070 pattern: 'CCBBAA',
1071 shiftStart: '0700',
1072 timeZone: 'US/Mountain'
1073 });
1074}
1075function NorthPortFL() {
1076 return new ShiftConfiguration({
1077 firstDay: '2022-07-18',
1078 pattern: 'ABC',
1079 shiftStart: '0800',
1080 timeZone: 'US/Eastern'
1081 });
1082}
1083function ArvadaCO() {
1084 return new ShiftConfiguration({
1085 firstDay: '2023-01-01',
1086 pattern: 'AACCBB',
1087 shiftStart: '0700',
1088 timeZone: 'US/Mountain'
1089 });
1090}
1091function ChesapeakeVA() {
1092 return new ShiftConfiguration({
1093 firstDay: '2023-01-01',
1094 pattern: 'CABCBABABCACBCBCABACA',
1095 shiftStart: '0800',
1096 timeZone: 'US/Eastern'
1097 });
1098}
1099function KansasCityMO() {
1100 return new ShiftConfiguration({
1101 firstDay: '2022-01-01',
1102 pattern: 'BCA',
1103 shiftStart: '0700',
1104 timeZone: 'US/Central'
1105 });
1106}
1107function HarrisonburgVA() {
1108 return new ShiftConfiguration({
1109 firstDay: '2021-12-14',
1110 pattern: 'ABC',
1111 shiftStart: '0800',
1112 timeZone: 'US/Eastern'
1113 });
1114}
1115function ColumbusOH() {
1116 return new ShiftConfiguration([{
1117 firstDay: '2019-05-02',
1118 pattern: '123',
1119 shiftStart: '0800'
1120 }, {
1121 firstDay: '2020-03-01',
1122 pattern: '123',
1123 shiftStart: '0800'
1124 }, {
1125 firstDay: '2024-02-29',
1126 pattern: '2213',
1127 shiftStart: '0000',
1128 shiftDuration: '8'
1129 }, {
1130 firstDay: '2024-03-01',
1131 pattern: '312',
1132 shiftStart: '0800'
1133 }]);
1134}
1135function DerryNH() {
1136 return new ShiftConfiguration({
1137 firstDay: '2024-04-04',
1138 pattern: '1234',
1139 shiftStart: '0745',
1140 timeZone: 'US/Eastern'
1141 });
1142}
1143function PflugervilleTX() {
1144 return new ShiftConfiguration({
1145 firstDay: '2024-05-03',
1146 pattern: 'ABC',
1147 shiftStart: '0700',
1148 timeZone: 'US/Central'
1149 });
1150}
1151var FirecaresLookup = exports.FirecaresLookup = {
1152 98606: washingtonDC,
1153 93345: richmondVA,
1154 81147: fairfaxVA,
1155 81154: fairfaxVA,
1156 92724: PrinceWilliamVA,
1157 77818: OxnardCA,
1158 97477: TucsonAZ,
1159 77989: ClarkCountyNV,
1160 93717: RogersAR,
1161 75500: BostonMA,
1162 81205: FairmountCO,
1163 100262: KingstonON,
1164 83175: GreenvilleNC,
1165 78827: CosumnesCA,
1166 95940: StLouisPark,
1167 96833: HiltonHeadSC,
1168 '05102': PolkCountyFL,
1169 77656: FtMyersFL,
1170 91106: OrangeCountyFL,
1171 77863: StPaulMN,
1172 99082: WestMetroCO,
1173 74731: BellevueWA,
1174 77571: BothellWA,
1175 79592: DelrayBeachFL,
1176 88539: MiamiDadeFL,
1177 95671: SouthernPlatteMO,
1178 90552: AdamsCountyCO,
1179 95402: AdamsCountyCO,
1180 81508: FishersIN,
1181 77934: WestfieldIN,
1182 77482: CiceroIN,
1183 94967: SheridanIN,
1184 76662: CarmelIN,
1185 90227: NoblesvilleIN,
1186 88490: MesaAZ,
1187 93535: RivieraBeachFL,
1188 98751: WayneTownshipIN,
1189 99102: WestPalmBeachFL,
1190 94264: SanFranciscoCA,
1191 90011: NewRochelleNY,
1192 94043: SacramentoMetroCA,
1193 97450: WashoeCountyNV,
1194 85090: JacksonTownshipIN,
1195 79555: DelawareOH,
1196 73693: AnneArundelMD,
1197 77855: RosevilleCA,
1198 97104: TorringtonCT,
1199 88403: MemphisTN,
1200 85063: JacksonCountyOR,
1201 86743: LexingtonKy,
1202 92216: PlainfieldIL,
1203 97175: ManchesterCT,
1204 91407: PalmBeachCountyFL,
1205 76927: CedarRapidsIA,
1206 73375: AlexandriaVA,
1207 91576: PascoWA,
1208 85300: JerseyCityNJ,
1209 93429: RinconValleyAZ,
1210 80336: EastPierceWA,
1211 76590: CapeCoralFL,
1212 82670: GolderRanchAZ,
1213 90649: NorthwestAZ,
1214 98151: TheVillagesFL,
1215 87545: MadisonWI,
1216 83412: HallCountyGA,
1217 78725: CoralGablesFL,
1218 91073: OntarioCA,
1219 77594: CasaGrandeAZ,
1220 91934: PhoenixAZ,
1221 82740: GoodyearAZ,
1222 87255: LACountyCA,
1223 91165: OrlandoFL,
1224 95982: SaintLucieFL,
1225 93317: RichlandWA,
1226 95377: SomertonCocopahAZ,
1227 100278: UpperProvidencePA,
1228 90962: OlatheKS,
1229 84946: IonaMcGregorFL,
1230 73930: AshevilleNC,
1231 87281: LoudounVA,
1232 75928: BrowardFL,
1233 73343: AlbuquerqueNM,
1234 90123: NewportNewsVA,
1235 94279: SanLuisAZ,
1236 74600: BeavercreekOH,
1237 95805: SpokaneValleyWA,
1238 88821: MilwaukeeWI,
1239 94718: SeminoleCountyFL,
1240 77883: SnoqualmieWA,
1241 87291: LouisvilleKY,
1242 84888: IndianapolisIN,
1243 95528: SouthMetroCO,
1244 90490: NorthPortFL,
1245 73905: ArvadaCO,
1246 96985: TimberMesaAZ,
1247 77326: ChesapeakeVA,
1248 85484: KansasCityMO,
1249 83708: HarrisonburgVA,
1250 78503: ColumbusOH,
1251 79666: DerryNH,
1252 97301: PflugervilleTX
1253};
\No newline at end of file