{"version":3,"file":"app-c76adf7f.xxxxxxxx.bundle.js","mappings":"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","sources":["webpack://iadviser/./src/resources/utilities/instance-of-interface.ts","webpack://iadviser/./src/resources/utilities/api-error-handler.ts","webpack://iadviser/./src/resources/utilities/flatten-errors.ts","webpack://iadviser/./src/resources/utilities/apply-theme.ts","webpack://iadviser/./src/resources/utilities/au-table-custom-filter.ts","webpack://iadviser/./src/resources/utilities/date-helper.ts","webpack://iadviser/./src/resources/utilities/http-helper.ts","webpack://iadviser/./src/resources/utilities/insecure-guid.ts","webpack://iadviser/./src/resources/utilities/json-date-to-display-date.ts","webpack://iadviser/./src/resources/utilities/logger.ts","webpack://iadviser/./src/resources/utilities/storage-helper.ts","webpack://iadviser/./src/resources/utilities/toastr-helper.ts","webpack://iadviser/./src/resources/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\r\nimport { ErrorItem, PlaceHolderValue, ServerErrorDescription, ExceptionMessage } from 'store/interfaces';\r\n\r\nexport function isArrayOfStrings(object: any): object is string[] {\r\n return Array.isArray(object) && object.every((item) => typeof item === 'string');\r\n}\r\n\r\nexport function isErrorItem(object: any): object is ErrorItem {\r\n return 'errorKey' in object && 'placeHolderVals' in object && isPlaceHolderValueArray(object.placeHolderVals);\r\n}\r\n\r\nexport function isErrorItemArray(object: any): object is ErrorItem[] {\r\n return Array.isArray(object) && object.every((item) => isErrorItem(item));\r\n}\r\n\r\nexport function isExceptionMessage(object: any): object is ExceptionMessage {\r\n return 'ExceptionMessage' in object || 'exceptionMessage' in object;\r\n}\r\n\r\nexport function isPlaceHolderValue(object: any): object is PlaceHolderValue {\r\n return 'varName' in object && 'val' in object;\r\n}\r\n\r\nexport function isPlaceHolderValueArray(object: any): object is PlaceHolderValue[] {\r\n return Array.isArray(object) && object.every((item) => isPlaceHolderValue(item));\r\n}\r\n\r\nexport function isServerErrorDescription(object: any): object is ServerErrorDescription {\r\n return 'guid' in object && 'property' in object && 'errors' in object && isErrorItemArray(object.errors);\r\n}\r\n\r\nexport function isServerErrorDescriptionArray(object: any): object is ServerErrorDescription[] {\r\n return Array.isArray(object) && object.every((item) => isServerErrorDescription(item));\r\n}\r\n","import { log } from './../services/log-service';\r\nimport { Container } from 'aurelia-framework';\r\nimport { I18N } from 'aurelia-i18n';\r\nimport { InsuredLocation } from 'resources/models/client';\r\nimport isObjectLike from 'lodash/isObjectLike';\r\nimport { flattenErrors } from 'resources/utilities/flatten-errors';\r\nimport {\r\n isServerErrorDescriptionArray,\r\n isExceptionMessage,\r\n isArrayOfStrings,\r\n} from 'resources/utilities/instance-of-interface';\r\nimport { IaToastService, IaToastMessage } from 'resources/services/ia-toast-service';\r\nimport { ServerError } from 'resources/interceptors/server-validation';\r\nimport { PlaceHolderValue, ExceptionMessage } from 'store/interfaces';\r\nimport { EntityMode, EntityActionType, EntityType } from 'routes/app-adviser/client/quotes/interfaces';\r\nimport moment from 'moment';\r\nimport { momentToLocalDateTimeString } from 'resources/moment-helpers';\r\n\r\nexport interface EntityWizardErrorMetaData {\r\n methodName: string;\r\n clientId: number;\r\n entityActionType: EntityActionType;\r\n entityType: EntityType;\r\n entityId: number;\r\n additionalPageId?: number;\r\n quoteOrVersionSituationId?: number;\r\n situationRiskId?: number;\r\n riskArray?: any[];\r\n mode?: EntityMode;\r\n location?: InsuredLocation;\r\n}\r\n\r\nexport async function entityWizardErrorHandler({ ...metaData }: EntityWizardErrorMetaData) {\r\n let errorMetaData = '';\r\n const i18n: I18N = Container.instance.get(I18N);\r\n const errorMessageTitle = i18n.tr('entityWizardApiError');\r\n\r\n for (let [key, value] of Object.entries(metaData)) {\r\n if (value) {\r\n if (isObjectLike(value)) {\r\n value = JSON.stringify(value);\r\n }\r\n errorMetaData += `\r\n ${key}: ${value}`;\r\n }\r\n }\r\n log.error(`${errorMessageTitle} => Failed for => ${errorMetaData}`);\r\n}\r\n\r\nexport async function httpErrorResponseHandler(response: Response) {\r\n if (response.ok) return;\r\n\r\n const toastr: IaToastService = Container.instance.get(IaToastService);\r\n const i18n: I18N = Container.instance.get(I18N);\r\n\r\n // Bad Request\r\n if (response.status === 400) {\r\n const responseClone = response.clone();\r\n const responseBody = await responseClone.json();\r\n\r\n const apiError = new ServerError(responseBody as any);\r\n\r\n if (!apiError || !apiError.serverErrors || !responseBody?.length) return;\r\n\r\n if (!apiError?.serverErrors && responseBody?.length) {\r\n apiError.serverErrors = responseBody as any;\r\n }\r\n\r\n const errors: string[] = [];\r\n\r\n if (isServerErrorDescriptionArray(apiError.serverErrors)) {\r\n const errorKeys = flattenErrors(apiError.serverErrors, true) as Map;\r\n const error = [];\r\n for (const [key, value] of errorKeys) {\r\n const options = {};\r\n if (value && value.length) {\r\n value.forEach((placeholder) => {\r\n Object.defineProperty(options, placeholder.varName, {\r\n value: placeholder.val,\r\n enumerable: true,\r\n writable: true,\r\n configurable: true,\r\n });\r\n });\r\n errors.push(i18n.tr(key as string, options));\r\n } else {\r\n errors.push(i18n.tr(key as string));\r\n }\r\n }\r\n } else if (isExceptionMessage(apiError.serverErrors)) {\r\n const errorObj = apiError.serverErrors as ExceptionMessage;\r\n const errMsg = errorObj.ExceptionMessage || errorObj.exceptionMessage;\r\n errors.push(errMsg);\r\n } else if (isObjectLike(apiError.serverErrors)) {\r\n let errList = '';\r\n\r\n for (const [key, value] of Object.entries(apiError.serverErrors)) {\r\n errList;\r\n if (!value) continue;\r\n\r\n if (isArrayOfStrings(value)) {\r\n value.forEach((v) => {\r\n errList += v;\r\n });\r\n } else if (isObjectLike(value)) {\r\n errList += JSON.stringify(value);\r\n } else {\r\n errList += value;\r\n }\r\n }\r\n errors.push(errList);\r\n }\r\n\r\n const toast = new IaToastMessage(errors.join('
'), i18n.tr('server400ErrorTitle'));\r\n toastr.error(toast);\r\n }\r\n // Internal Server Error\r\n else if (response.status === 500) {\r\n const toast = new IaToastMessage(\r\n i18n.tr('server500ErrorMessage') + momentToLocalDateTimeString(moment()) + '
' + response.url,\r\n i18n.tr('server500ErrorTitle'),\r\n );\r\n toastr.error(toast);\r\n }\r\n}\r\n","import { ServerErrorDescription, PlaceHolderValue } from 'store/interfaces';\r\n\r\n/**\r\n * Flatten the `errors` provided into an array to cater for aurelia localization.\r\n *\r\n * If `mapErrorKeyToPlaceHolderVals` is `true`, @returns a `Map`.\r\n * The `Map` dictionary object's `key` is the actual `errorKey` and `value` is `placeHolderVals[]`.\r\n *\r\n * If `mapErrorKeyToPlaceHolderVals` is `false` (default), @returns `string [ prependNamespace:MY_ERROR_KEY_1, ... ]`.\r\n *\r\n * Pass `prependNamespace = ''` to return error keys without a namespace.\r\n */\r\nexport function flattenErrors(\r\n errors: ServerErrorDescription[],\r\n mapErrorKeyToPlaceHolderVals = false,\r\n prependNamespace = 'errors',\r\n): string[] | Map {\r\n if (!errors || !errors.length) return;\r\n\r\n const namespace = prependNamespace ? `${prependNamespace}:` : '';\r\n let flattenedErrors: string[] | Map;\r\n\r\n if (mapErrorKeyToPlaceHolderVals) {\r\n flattenedErrors = new Map();\r\n } else {\r\n flattenedErrors = [];\r\n }\r\n\r\n errors.forEach((error) => {\r\n if (!error.errors || !error.errors.length) return;\r\n\r\n error.errors.forEach((errorActual) => {\r\n const errorKey = `${namespace}${errorActual.errorKey}`;\r\n\r\n if (mapErrorKeyToPlaceHolderVals) {\r\n flattenedErrors = flattenedErrors as Map;\r\n\r\n if (flattenedErrors.has(errorKey)) {\r\n const allPlaceHolderVals = flattenedErrors.get(errorKey).concat(errorActual.placeHolderVals);\r\n flattenedErrors.set(errorKey, allPlaceHolderVals);\r\n } else {\r\n flattenedErrors.set(errorKey, errorActual.placeHolderVals);\r\n }\r\n } else {\r\n (flattenedErrors as string[]).push(errorKey);\r\n }\r\n });\r\n });\r\n\r\n return flattenedErrors;\r\n}\r\n","import { AppTheme } from 'resources/enums';\r\n\r\n/* istanbul ignore next */\r\nexport function applyTheme(theme) {\r\n if (theme === AppTheme.LIGHT) {\r\n document.documentElement.style.setProperty('--color-secondary', '#818EA3');\r\n document.documentElement.style.setProperty('--color-secondary--dark', '#677284');\r\n document.documentElement.style.setProperty('--color-body-background', '#F9FBFC');\r\n document.documentElement.style.setProperty('--color-top-nav-background', '#E9EFF3');\r\n document.documentElement.style.setProperty('--color-card-heading-background', '#FBFDFD');\r\n }\r\n\r\n if (theme === AppTheme.BLUE) {\r\n document.documentElement.style.setProperty('--color-secondary', '#677284');\r\n document.documentElement.style.setProperty('--color-secondary--dark', '#4D5562');\r\n document.documentElement.style.setProperty('--color-body-background', '#E0E7EE');\r\n document.documentElement.style.setProperty('--color-top-nav-background', '#F0F8FF');\r\n document.documentElement.style.setProperty('--color-card-heading-background', '#EDF1F5');\r\n }\r\n\r\n localStorage.setItem('theme', theme);\r\n}\r\n","import { momentToString } from 'resources/moment-helpers';\r\n\r\nexport function customFilter(filterValue, row) {\r\n // Show row when no filterValue applied - i.e. table load\r\n if (filterValue === '') return true;\r\n\r\n // Get the row value\r\n //@ts-ignore\r\n let rowValue = row[this.key];\r\n\r\n // Format rowValue as date\r\n if (rowValue && rowValue.includes('T') && rowValue.includes('-')) {\r\n rowValue = momentToString(rowValue);\r\n }\r\n\r\n // filter out nulls and rows that include the filterValue\r\n return rowValue === null ? false : rowValue.includes(filterValue);\r\n}\r\n","export const DateHelper = {\r\n dateSorter(a: Record, b: Record, sortOrder: 1 | -1, key: string) {\r\n const date1 = new Date(a[key]);\r\n const date2 = new Date(b[key]);\r\n\r\n if (date1.getTime() === date2.getTime()) {\r\n return 0;\r\n }\r\n\r\n return date1 > date2 ? (1 * sortOrder) : (-1 * sortOrder);\r\n }\r\n};\r\n","import { Endpoint } from 'resources/endpoints/endpoints';\r\n\r\nexport const HttpHelper = {\r\n requestFromEndpoint(endpoint: Endpoint, ...uriParams: string[]) {\r\n const init: RequestInit = { headers: {}, ...endpoint } as RequestInit;\r\n\r\n return {\r\n uri: endpoint.uri(uriParams),\r\n init,\r\n };\r\n },\r\n\r\n addFormFields(request: RequestInit, fields: Record) {\r\n let { body = '' } = request;\r\n\r\n if (body !== '') {\r\n body += '&';\r\n }\r\n\r\n for (const [key, value] of Object.entries(fields)) {\r\n body = `${body}${key}=${encodeURIComponent(value as string)}&`;\r\n }\r\n\r\n request.body = (body as string).substring(0, (body as string).length - 1);\r\n },\r\n\r\n awaiter(promise) {\r\n return promise\r\n .then((data) => {\r\n return [null, data];\r\n })\r\n .catch((err) => [err]);\r\n },\r\n};\r\n","/* eslint-disable @typescript-eslint/no-use-before-define */\r\n// Adapted from https://github.com/dandean/guid\r\n// Original Source MIT License\r\n// Copyright 2009, 2010 Dan Dean. All rights reserved.\r\n// Permission is hereby granted, free of charge, to any person obtaining a copy\r\n// of this software and associated documentation files (the 'Software'), to\r\n// deal in the Software without restriction, including without limitation the\r\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\r\n// sell copies of the Software, and to permit persons to whom the Software is\r\n// furnished to do so, subject to the following conditions:\r\n\r\n// The above copyright notice and this permission notice shall be included in\r\n// all copies or substantial portions of the Software.\r\n\r\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\r\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\r\n// IN THE SOFTWARE.\r\n/* eslint:disable */\r\n\r\nconst validator = new RegExp('^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$', 'i');\r\n\r\nexport const EMPTY_GUID = '00000000-0000-0000-0000-000000000000';\r\n\r\nfunction gen(count: number): string {\r\n let out = '';\r\n for (let i = 0; i < count; i++) {\r\n out += (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\r\n }\r\n return out;\r\n}\r\n\r\nexport function generateGuid(): Guid {\r\n return new Guid([gen(2), gen(1), gen(1), gen(1), gen(3)].join('-'));\r\n}\r\n\r\nexport function generateGuidString(): string {\r\n return [gen(2), gen(1), gen(1), gen(1), gen(3)].join('-');\r\n}\r\n\r\nexport class GuidGenerator {\r\n public generateGuid = generateGuid;\r\n public generateGuidString = generateGuidString;\r\n}\r\n\r\nexport class Guid {\r\n public static EMPTY = '00000000-0000-0000-0000-000000000000';\r\n public value: string = Guid.EMPTY;\r\n\r\n constructor(guid: string | Guid) {\r\n if (!guid) {\r\n throw new TypeError('Invalid argument; `value` has no value.');\r\n }\r\n\r\n this.value = Guid.EMPTY;\r\n\r\n if (guid && guid instanceof Guid) {\r\n this.value = guid.toString();\r\n } else if (guid && Object.prototype.toString.call(guid) === '[object String]' && Guid.isGuid(guid)) {\r\n this.value = guid as string;\r\n }\r\n }\r\n\r\n public equals(other: any) {\r\n // Comparing string `value` against provided `guid` will auto-call\r\n // toString on `guid` for comparison\r\n return Guid.isGuid(other) && this.value == other;\r\n }\r\n\r\n public isEmpty() {\r\n return this.value === Guid.EMPTY;\r\n }\r\n\r\n public toString() {\r\n return this.value;\r\n }\r\n\r\n public toJSON() {\r\n return this.value;\r\n }\r\n\r\n public static isGuid(value: any) {\r\n return value && (value instanceof Guid || validator.test(value.toString()));\r\n }\r\n}\r\n","export function jsonDateToDisplayDate(value: string) {\r\n if (value) {\r\n const [year, month, day] = value\r\n .slice(0, 10)\r\n .split('-')\r\n .map((p) => parseInt(p));\r\n const date = new Date(year, month - 1, day);\r\n\r\n return date.toLocaleDateString(undefined, {\r\n month: '2-digit',\r\n day: '2-digit',\r\n year: 'numeric',\r\n });\r\n }\r\n return '';\r\n}\r\n\r\nexport function jsonDateToDisplayDateTime(value: string) {\r\n if (value) {\r\n const [year, month, day] = value\r\n .slice(0, 10)\r\n .split('-')\r\n .map((p) => parseInt(p));\r\n const [hour, minute, second] = value\r\n .slice(11)\r\n .split(':')\r\n .map((p) => parseInt(p));\r\n\r\n const date = new Date(year, month - 1, day, hour, minute, second);\r\n\r\n const localDate = date.toLocaleDateString(undefined, {\r\n month: '2-digit',\r\n day: '2-digit',\r\n year: 'numeric',\r\n });\r\n\r\n const localTime = date.toLocaleTimeString();\r\n\r\n return `${localDate} ${localTime}`;\r\n }\r\n return '';\r\n}\r\n","let currentModule = 'DOCUMENT MANAGEMENT';\r\n\r\n/**\r\n * Sets the module for the console logger text\r\n * @param moduleName\r\n * @default 'DOCUMENT MANAGEMENT'\r\n */\r\nexport const setModule = (moduleName: string) => (currentModule = (moduleName || currentModule).toUpperCase());\r\n\r\n/**\r\n * Gets the current module text\r\n */\r\nexport const getModule = () => currentModule;\r\n\r\n/**\r\n * Adds message text after the module name for the console logger\r\n * @param message\r\n */\r\nexport const appendMessageToModule = (message: string) => `%c[${currentModule}] => ${message}`;\r\n\r\n/**\r\n * Gets the default base styles for the console logger\r\n * @param styles override default base styles\r\n */\r\nexport const getBaseStyles = (styles?: string) =>\r\n styles ?? 'font-weight: bold; display: inline-block; padding: 0.5em 0;';\r\n\r\n/**\r\n * Logs a custom styled `warning` message with optional params to console\r\n * @param message warning message to be displayed\r\n * @param optionalParams same optional params passed to `console.log`\r\n */\r\nexport const warn = (message: string, ...optionalParams: any[]) =>\r\n console.log(appendMessageToModule(message), `color: #ff7900; ${getBaseStyles()}`, ...optionalParams);\r\n\r\n/**\r\n * Logs a custom styled `info` message with optional params to console\r\n * @param message info message to be displayed\r\n * @param optionalParams same optional params passed to `console.info`\r\n */\r\nexport const info = (message: string, ...optionalParams: any[]) =>\r\n console.info(appendMessageToModule(message), `color: #89cff0; ${getBaseStyles()}`, ...optionalParams);\r\n\r\n/**\r\n * Logs a custom styled `error` message with optional params to console\r\n * @param message error message to be displayed\r\n * @param optionalParams same optional params passed to `console.error`\r\n */\r\nexport const error = (message: string, ...optionalParams: any[]) =>\r\n console.error(appendMessageToModule(message), `color: #ff2400; ${getBaseStyles()}`, ...optionalParams);\r\n","import lzstring from 'lz-string';\r\nimport { PLATFORM } from 'aurelia-pal';\r\n\r\nexport class StorageService {\r\n lzstring = lzstring;\r\n\r\n saveToSessionStorage(key: string, data: any) {\r\n if (PLATFORM.global.sessionStorage) {\r\n PLATFORM.global.sessionStorage.setItem(key, this.lzstring.compressToUTF16(JSON.stringify(data)));\r\n }\r\n }\r\n\r\n getFromSessionStorage(key: string) {\r\n if (PLATFORM.global.sessionStorage) {\r\n const data = this.lzstring.decompressFromUTF16(PLATFORM.global.sessionStorage.getItem(key));\r\n\r\n if (data) {\r\n return JSON.parse(data);\r\n }\r\n\r\n return data;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n saveToLocalStorage(key: string, data: any) {\r\n if (PLATFORM.global.localStorage) {\r\n PLATFORM.global.localStorage.setItem(key, this.lzstring.compressToUTF16(JSON.stringify(data)));\r\n }\r\n }\r\n\r\n getFromLocalStorage(key: string) {\r\n if (PLATFORM.global.localStorage) {\r\n const data = this.lzstring.decompressFromUTF16(PLATFORM.global.localStorage.getItem(key));\r\n\r\n if (data) {\r\n return JSON.parse(data);\r\n }\r\n\r\n return data;\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n\r\nexport const Storage = new StorageService();\r\n","import { Container } from 'aurelia-framework';\r\nimport { IaToastService, IaToastMessage } from 'resources/services/ia-toast-service';\r\n\r\nexport function successToast(message: string) {\r\n const toastService: IaToastService = Container.instance.get(IaToastService);\r\n toastService.success(new IaToastMessage(message));\r\n}\r\n\r\nexport function errorToast(message: string, title?: string) {\r\n const toastService: IaToastService = Container.instance.get(IaToastService);\r\n toastService.error(new IaToastMessage(message, title));\r\n}\r\n\r\nexport function infoToast(message: string, title?: string) {\r\n const toastService: IaToastService = Container.instance.get(IaToastService);\r\n toastService.info(new IaToastMessage(message, title));\r\n}\r\n","export function isProd() {\r\n return (\r\n window.location.href.includes('iadviser.insuranceadviser.net') ||\r\n window.location.href.includes('prod2-iadviserapi.azurewebsites.net') ||\r\n window.location.href.includes('prod5-iadviserapi.azurewebsites.net') ||\r\n window.location.href.includes('ibroker.insuranceadvisernet.co.nz') ||\r\n window.location.href.includes('prod2-ibrokerapi.azurewebsites.net') ||\r\n window.location.href.includes('prod3-ibrokerapi.azurewebsites.net')\r\n );\r\n}\r\n"],"names":["isArrayOfStrings","object","Array","isArray","every","item","isServerErrorDescription","isPlaceHolderValue","isPlaceHolderValueArray","placeHolderVals","isErrorItem","isErrorItemArray","errors","entityWizardErrorHandler","metaData","errorMetaData","i18n","Container","I18N","errorMessageTitle","tr","Object","entries","key","value","JSON","stringify","httpErrorResponseHandler","response","ok","toastr","status","clone","json","responseBody","apiError","serverErrors","length","errorKeys","mapErrorKeyToPlaceHolderVals","prependNamespace","flattenedErrors","namespace","Map","forEach","error","errorActual","errorKey","has","allPlaceHolderVals","get","concat","set","push","flattenErrors","options","placeholder","defineProperty","varName","val","enumerable","writable","configurable","isExceptionMessage","errorObj","errMsg","ExceptionMessage","exceptionMessage","v","toast","join","url","applyTheme","theme","document","documentElement","style","setProperty","localStorage","setItem","customFilter","filterValue","row","rowValue","this","includes","DateHelper","dateSorter","a","b","sortOrder","date1","Date","date2","getTime","HttpHelper","requestFromEndpoint","endpoint","init","headers","uri","uriParams","addFormFields","request","fields","body","encodeURIComponent","substring","awaiter","promise","then","data","catch","err","validator","RegExp","gen","count","out","i","Math","random","toString","generateGuid","Guid","generateGuidString","guid","EMPTY","TypeError","prototype","call","isGuid","equals","other","isEmpty","toJSON","test","jsonDateToDisplayDate","slice","split","map","p","parseInt","year","month","day","toLocaleDateString","undefined","jsonDateToDisplayDateTime","hour","minute","second","date","localDate","localTime","toLocaleTimeString","currentModule","setModule","moduleName","toUpperCase","appendMessageToModule","message","getBaseStyles","styles","warn","console","log","optionalParams","info","lzstring","saveToSessionStorage","compressToUTF16","getFromSessionStorage","decompressFromUTF16","parse","saveToLocalStorage","getFromLocalStorage","Storage","StorageService","successToast","success","errorToast","title","infoToast","isProd","window","location","href"],"sourceRoot":""}