{"version":3,"names":["ReservationMode","DATA_STORE_KEY_LATEST_BOOKING_STEP","DATA_STORE_KEY_PHONE_NUMBER","DATA_STORE_KEY_SESSION_CORRUPTED","DATA_STORE_KEY_PAYMENT_METHOD","DATA_STORE_KEY_PREBOOK_ID","DATA_STORE_KEY_ORDER_TOTAL","DATA_STORE_KEY_TICKETS","DATA_STORE_KEY_PASSENGERS","DATA_STORE_KEY_PASSENGER_EMAIL","DATA_STORE_KEY_PREBOOK","DATA_STORE_KEY_FROM_TO","DATA_STORE_KEY_FROM_TO_RETURN","DATA_STORE_KEY_VALUE_SUFFIX","DATA_STORE_KEY_OUTWARD_VALUE","Outward","DATA_STORE_KEY_RETURN_VALUE","Return","SessionHealthState","dataStore","DataStore","getInstance","constructor","this","data","instance","setLocalData","name","value","localStorage","setItem","JSON","stringify","getLocalData","defaultValue","getItem","parse","dateReviver","removeLocalData","removeItem","key","test","date","Date","setSessionData","sessionStorage","sessionDataChanged","getSessionData","parseJson","json","removeSessionData","sessionDataRemoved","resetSessionData","OKAY","resetAllSessionData","setData","result","filter","element","val","length","push","removeData","indexFound","index","splice","getData","output","dataName","event","CustomEvent","detail","sessionName","sessionData","window","dispatchEvent"],"sources":["src/components/nj-reservation/ReservationMode.ts","src/global/DataStore.ts"],"sourcesContent":["export enum ReservationMode {\n Outward = 'Outward',\n Return = 'Return',\n};\n","import { ReservationMode } from \"../components/nj-reservation/ReservationMode\";\n\nexport const DATA_STORE_KEY_LATEST_BOOKING_STEP = \"latestBookingStep\";\nexport const DATA_STORE_KEY_PHONE_NUMBER = \"phoneNumber\";\nexport const DATA_STORE_KEY_SESSION_CORRUPTED = \"sessionCorrupted\";\nexport const DATA_STORE_KEY_PAYMENT_METHOD = \"paymentMethod\";\nexport const DATA_STORE_KEY_PREBOOK_ID = \"prebookId\";\nexport const DATA_STORE_KEY_ORDER_TOTAL = \"orderTotal\";\nexport const DATA_STORE_KEY_TICKETS = \"tickets\";\nexport const DATA_STORE_KEY_PASSENGERS = \"passangers\";\nexport const DATA_STORE_KEY_PASSENGER_EMAIL = 'passangerEmail';\nexport const DATA_STORE_KEY_PREBOOK = 'prebook';\nexport const DATA_STORE_KEY_FROM_TO = 'fromToData';\nexport const DATA_STORE_KEY_FROM_TO_RETURN = 'fromToReturnData';\nexport const DATA_STORE_KEY_VALUE_SUFFIX = '_Value';\nexport const DATA_STORE_KEY_OUTWARD_VALUE = ReservationMode.Outward + DATA_STORE_KEY_VALUE_SUFFIX;\nexport const DATA_STORE_KEY_RETURN_VALUE = ReservationMode.Return + DATA_STORE_KEY_VALUE_SUFFIX;\n\nexport enum SessionHealthState {\n OKAY = \"okay\",\n CORRUPTED = \"corrupted\"\n}\n\nexport function dataStore(): DataStore {\n return DataStore.getInstance()\n}\nclass DataStore {\n\n static instance: DataStore\n\n private data: any[]\n\n constructor() {\n this.data = [];\n }\n\n static getInstance() {\n if (!DataStore.instance) {\n DataStore.instance = new DataStore();\n }\n return DataStore.instance;\n }\n public setLocalData(name: string, value: any): any {\n\n localStorage.setItem(name, JSON.stringify(value));\n }\n public getLocalData(name: string, defaultValue: any): any {\n let data: any = localStorage.getItem(name);\n if (data) {\n return JSON.parse(data,this.dateReviver)\n } else {\n return defaultValue\n }\n\n }\n public removeLocalData(name: string) {\n\n localStorage.removeItem(name);\n }\n\n\n\nprivate dateReviver(key, value) {\n\n // If the value is a string and if it roughly looks like it could be a\n // JSON-style date string go ahead and try to parse it as a Date object.\n if(key==\"context\"){\n // console.log(key,value)\n\n if ('string' === typeof value && /^\\d{4}-[01]\\d-[0-3]\\dT[012]\\d(?::[0-6]\\d){2}\\.\\d{3}Z$/.test(value)) {\n // console.log(value)\n var date = new Date(value);\n // console.log(date)\n // If the date is valid then go ahead and return the date object.\n if (+date === +date) {\n return date;\n }\n }\n}\n // If a date was not returned, return the value that was passed in.\n return value;\n }\n public setSessionData(name: string, value: any): any {\n\n sessionStorage.setItem(name, JSON.stringify(value));\n this.sessionDataChanged(name, sessionStorage.getItem(name))\n }\n\n public getSessionData(name: string, defaultValue: any = null): any {\n let data: any = sessionStorage.getItem(name);\n if (data) {\n return JSON.parse(data,this.dateReviver)\n } else {\n return defaultValue\n }\n\n }\n public parseJson(json: string, defaultValue: any = null): any {\n if(json){\n return JSON.parse(json,this.dateReviver)\n } else {\n return defaultValue\n }\n\n }\n public removeSessionData(name: string) {\n sessionStorage.removeItem(name);\n this.sessionDataRemoved(name)\n }\n\n public resetSessionData() {\n dataStore().removeSessionData(ReservationMode.Outward)\n dataStore().removeSessionData(DATA_STORE_KEY_OUTWARD_VALUE)\n dataStore().removeSessionData(ReservationMode.Return)\n dataStore().removeSessionData(DATA_STORE_KEY_RETURN_VALUE)\n dataStore().removeSessionData(DATA_STORE_KEY_PREBOOK)\n dataStore().removeSessionData(DATA_STORE_KEY_PREBOOK_ID)\n dataStore().removeSessionData(DATA_STORE_KEY_FROM_TO)\n dataStore().removeSessionData(DATA_STORE_KEY_FROM_TO_RETURN)\n dataStore().removeSessionData(DATA_STORE_KEY_LATEST_BOOKING_STEP);\n dataStore().removeSessionData(DATA_STORE_KEY_PHONE_NUMBER);\n\t\tdataStore().removeSessionData(DATA_STORE_KEY_PAYMENT_METHOD);\n\t\tdataStore().setSessionData(DATA_STORE_KEY_SESSION_CORRUPTED, SessionHealthState.OKAY);\n\t\tdataStore().removeSessionData(DATA_STORE_KEY_TICKETS);\n\t\tdataStore().removeSessionData(DATA_STORE_KEY_ORDER_TOTAL);\n }\n\n public resetAllSessionData() {\n dataStore().removeSessionData(ReservationMode.Outward)\n dataStore().removeSessionData(DATA_STORE_KEY_OUTWARD_VALUE)\n dataStore().removeSessionData(ReservationMode.Return)\n dataStore().removeSessionData(DATA_STORE_KEY_RETURN_VALUE)\n dataStore().removeSessionData(DATA_STORE_KEY_PASSENGERS)\n dataStore().removeSessionData(DATA_STORE_KEY_PASSENGER_EMAIL)\n dataStore().removeSessionData(DATA_STORE_KEY_FROM_TO)\n dataStore().removeSessionData(DATA_STORE_KEY_FROM_TO_RETURN)\n dataStore().removeSessionData(DATA_STORE_KEY_PREBOOK)\n dataStore().removeSessionData(DATA_STORE_KEY_PREBOOK_ID)\n dataStore().removeSessionData(DATA_STORE_KEY_LATEST_BOOKING_STEP);\n dataStore().removeSessionData(DATA_STORE_KEY_PHONE_NUMBER);\n\t\tdataStore().removeSessionData(DATA_STORE_KEY_PAYMENT_METHOD);\n dataStore().setSessionData(DATA_STORE_KEY_SESSION_CORRUPTED, SessionHealthState.OKAY);\n\t\tdataStore().removeSessionData(DATA_STORE_KEY_TICKETS);\n\t\tdataStore().removeSessionData(DATA_STORE_KEY_ORDER_TOTAL);\n\t}\n\n\n public setData(name: string, value: string): any {\n // console.log(name)\n var result = this.data.filter(function (element: any) {\n if (element.key == name) {\n element.val = value\n return true\n }\n })\n // console.log(result)\n if (result.length == 0) {\n this.data.push({ key: name, val: value },)\n }\n }\n public removeData(name: string) {\n // console.log(name)\n var indexFound = -1\n var result = this.data.filter(function (element: any, index: number) {\n if (element.key == name) {\n indexFound = index\n return true\n }\n })\n\n if (result && indexFound > -1) {\n this.data.splice(indexFound, 1);\n }\n }\n\n public getData(name: string, defaultValue?: string): any {\n var output = null\n var result = this.data.filter(function (element: any) {\n if (element.key == name) {\n return true\n }\n })\n if (defaultValue) {\n output = defaultValue\n }\n if (result.length > 0) {\n if (result[0][\"val\"]) {\n output = result[0][\"val\"]\n }\n }\n return output\n }\n\n private sessionDataChanged(dataName: string, data: any) {\n let event = new CustomEvent('sessionDataChanged', {\n detail: {\n sessionName: dataName,\n sessionData: data\n }\n });\n\n window.dispatchEvent(event);\n }\n\n private sessionDataRemoved(dataName: string) {\n let event = new CustomEvent('sessionDataRemoved', {\n detail: {\n sessionName: dataName\n }\n });\n\n window.dispatchEvent(event);\n }\n}\n"],"mappings":"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"}