UNPKG

google-maps-js-api-react

Version:

Fast, tree-shakable, and light-weight React components and hooks for integrating Google Maps API functionality

1 lines 1.62 kB
{"version":3,"sources":["../../src/useGoogleMapsStatus/index.ts"],"names":["useState","GoogleMapsLoader","useEffect"],"mappings":";;;;;;AAUA,IAAM,mBAAA,GAAsB,CAAC,OAAgC,KAAA;AAC3D,EAAM,MAAA,CAAC,QAAQ,SAAS,CAAA,GAAIA,eAASC,sCAAiB,CAAA,SAAA,CAAU,OAAQ,CAAC,CAAA;AAEzE,EAAAC,eAAA,CAAU,MAAM;AACd,IAAM,MAAA,aAAA,GAAgBD,sCAAiB,CAAA,SAAA,CAAU,OAAQ,CAAA;AAEzD,IAAA,IAAI,iBAAiB,MAAQ,EAAA;AAC3B,MAAA,SAAA,CAAU,aAAa,CAAA;AAAA;AAGzB,IAAI,IAAA,aAAA,IAAiB,QAAY,IAAA,aAAA,IAAiB,OAAS,EAAA;AACzD,MAAAA,sCAAA,CAAiB,aAAc,CAAA,OAAQ,CAAE,CAAA,OAAA,CAAQ,MAAM;AACrD,QAAU,SAAA,CAAAA,sCAAA,CAAiB,SAAU,CAAA,OAAQ,CAAC,CAAA;AAAA,OAC/C,CAAA;AAAA;AACH,GACF,EAAG,EAAE,CAAA;AAEL,EAAO,OAAA,MAAA;AACT,CAAA;AAEA,IAAO,2BAAQ,GAAA","file":"chunk-ZTZNHYFO.cjs","sourcesContent":["import {\n type GoogleMapsLibrary,\n GoogleMapsLoader,\n} from 'google-maps-js-api-loader';\nimport { useEffect, useState } from 'react';\n\n/**\n * Hook for getting status of {@link google.maps} script or specific {@link library}\n * > It not provokes loading of script/library\n */\nconst useGoogleMapsStatus = (library?: GoogleMapsLibrary) => {\n const [status, setStatus] = useState(GoogleMapsLoader.getStatus(library!));\n\n useEffect(() => {\n const currentStatus = GoogleMapsLoader.getStatus(library!);\n\n if (currentStatus != status) {\n setStatus(currentStatus);\n }\n\n if (currentStatus != 'loaded' && currentStatus != 'error') {\n GoogleMapsLoader.getCompletion(library!).finally(() => {\n setStatus(GoogleMapsLoader.getStatus(library!));\n });\n }\n }, []);\n\n return status;\n};\n\nexport default useGoogleMapsStatus;\n"]}