{ "version": 3, "sources": ["../javascripts/actions/vehicle.ts"], "sourcesContent": ["import type { Dispatch as ReduxDispatch } from '@reduxjs/toolkit';\n\nimport type { ElasticSearchResponse } from '../@types/ElasticSearchResponse';\nimport type { Vehicle, VehiclesOptions } from '../@types/Vehicle';\nimport type { BaseAction } from '../@types/actions';\nimport * as http from '../Http';\nimport { buildGetRequest } from '../Http/requestTemplates';\nimport requestCache from '../utils/request-cache';\n\nexport const REQ_VEHICLE_LOOKUP = 'REQ/VEHICLE_LOOKUP';\nexport const RCV_VEHICLE_LOOKUP = 'RCV/VEHICLE_LOOKUP';\ntype REQ_VEHICLE_LOOKUP_TYPE = BaseAction;\ntype RCV_VEHICLE_LOOKUP_TYPE = BaseAction & {\n response: Vehicle;\n};\n\nexport const REQ_VEHICLE_OPTIONS = 'REQ/VEHICLE_OPTIONS';\nexport const RCV_VEHICLE_OPTIONS = 'RCV/VEHICLE_OPTIONS';\ntype REQ_VEHICLE_OPTIONS_TYPE = BaseAction;\ntype RCV_VEHICLE_OPTIONS_TYPE = BaseAction & {\n response: ElasticSearchResponse;\n};\n\nexport const REQ_CLEAR = 'REQ/VEHICLE_CLEAR';\ntype REQ_CLEAR_TYPE = BaseAction;\n\nexport const REQUEST_FAILED = 'VEHICLE/REQUEST_FAILED';\ntype REQUEST_FAILED_TYPE = BaseAction & {\n action: typeof REQ_VEHICLE_LOOKUP | typeof REQ_VEHICLE_OPTIONS;\n};\n\nexport type VEHICLE_ACTION =\n | REQ_VEHICLE_LOOKUP_TYPE\n | RCV_VEHICLE_LOOKUP_TYPE\n | REQ_VEHICLE_OPTIONS_TYPE\n | RCV_VEHICLE_OPTIONS_TYPE\n | REQ_CLEAR_TYPE\n | REQUEST_FAILED_TYPE;\n\ntype Dispatch = ReduxDispatch;\n\nexport const lookup = (registrationNumber: string) => async (dispatch: Dispatch) => {\n if (requestCache.isPending(REQ_VEHICLE_LOOKUP)) {\n return;\n }\n requestCache.isPending(REQ_VEHICLE_LOOKUP, true);\n\n try {\n dispatch({ type: REQ_VEHICLE_LOOKUP });\n\n const response = await http.json(\n `/api/vehicles/${registrationNumber}`,\n buildGetRequest(),\n );\n http.validateResponse(response);\n dispatch({\n type: RCV_VEHICLE_LOOKUP,\n response: response.response,\n });\n } catch (_e) {\n dispatch({ type: REQUEST_FAILED, action: REQ_VEHICLE_LOOKUP });\n }\n requestCache.isPending(REQ_VEHICLE_LOOKUP, false);\n};\n\nexport const options = (queryFilter: any) => async (dispatch: Dispatch) => {\n if (requestCache.isPending(REQ_VEHICLE_OPTIONS)) {\n return;\n }\n requestCache.isPending(REQ_VEHICLE_OPTIONS, true);\n\n try {\n dispatch({ type: REQ_VEHICLE_OPTIONS });\n\n const response = await http.json>(\n `/api/vehicles/options?filter=${queryFilter.toQueryStringFilter()}`,\n buildGetRequest(),\n );\n http.validateResponse(response);\n dispatch({\n type: RCV_VEHICLE_OPTIONS,\n response: response.response,\n });\n } catch (_e) {\n dispatch({ type: REQUEST_FAILED, action: REQ_VEHICLE_OPTIONS });\n }\n requestCache.isPending(REQ_VEHICLE_OPTIONS, false);\n};\n\nexport const clear = () => (dispatch: Dispatch) => dispatch({ type: REQ_CLEAR });\n"], "mappings": "4GASO,IAAMA,EAAqB,qBACrBC,EAAqB,qBAMrBC,EAAsB,sBACtBC,EAAsB,sBAMtBC,EAAY,oBAGZC,EAAiB,yBAejBC,EAAUC,GAA+B,MAAOC,GAAuB,CAClF,GAAI,CAAAC,EAAa,UAAUT,CAAkB,EAG7C,CAAAS,EAAa,UAAUT,EAAoB,EAAI,EAE/C,GAAI,CACFQ,EAAS,CAAE,KAAMR,CAAmB,CAAC,EAErC,IAAMU,EAAW,MAAWC,EAC1B,iBAAiBJ,CAAkB,GACnCK,EAAgB,CAClB,EACKC,EAAiBH,CAAQ,EAC9BF,EAAS,CACP,KAAMP,EACN,SAAUS,EAAS,QACrB,CAAC,CACH,MAAa,CACXF,EAAS,CAAE,KAAMH,EAAgB,OAAQL,CAAmB,CAAC,CAC/D,CACAS,EAAa,UAAUT,EAAoB,EAAK,EAClD", "names": ["REQ_VEHICLE_LOOKUP", "RCV_VEHICLE_LOOKUP", "REQ_VEHICLE_OPTIONS", "RCV_VEHICLE_OPTIONS", "REQ_CLEAR", "REQUEST_FAILED", "lookup", "registrationNumber", "dispatch", "request_cache_default", "response", "json", "buildGetRequest", "validateResponse"] }