diff --git a/package.json b/package.json index 4a54554..5a1684d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nuxt-mapbox", - "version": "1.6.4", + "version": "1.6.4-dev.0", "description": "Elegant Mapbox GL JS integration with Nuxt", "author": { "name": "Alex Lavoie", @@ -14,17 +14,16 @@ "type": "module", "exports": { ".": { - "import": "./dist/module.mjs", - "require": "./dist/module.cjs" + "import": "./dist/module.mjs" } }, - "main": "./dist/module.cjs", - "types": "./dist/types.d.ts", + "main": "./dist/module.mjs", + "types": "./dist/types.d.mts", "files": [ "dist" ], "scripts": { - "build": "nuxt-module-build", + "build": "nuxt-module-build build", "dev": "nuxi dev playground", "dev:build": "nuxi build playground", "dev:prepare": "nuxt-module-build --stub && nuxi prepare playground", diff --git a/src/runtime/composables/defineMapboxInstance.ts b/src/runtime/composables/defineMapboxInstance.ts index 86b9e21..754bf19 100644 --- a/src/runtime/composables/defineMapboxInstance.ts +++ b/src/runtime/composables/defineMapboxInstance.ts @@ -10,33 +10,34 @@ export function defineMapboxInstance(key: string, options: mapboxgl.MapboxOption return useMapboxInstance(key) } mapbox_instances.value[key] = shallowReactive({ map: new mapboxgl.Map(options), loaded: false }); - mapbox_instances.value[key].map.on("load", () => { - mapbox_instances.value[key].loaded = true; + const mapInstance = mapbox_instances.value[key]; + mapInstance.map.on("load", () => { + mapInstance.loaded = true; triggerRef(mapbox_instances) - if (mapbox_instances.value[key]) { - triggerRef(toRef(mapbox_instances.value[key])) + if (mapInstance) { + triggerRef(toRef(mapInstance)) } }); - mapbox_instances.value[key].map.on("style.load", () => { - mapbox_instances.value[key].loaded = true; + mapInstance.map.on("style.load", () => { + mapInstance.loaded = true; triggerRef(mapbox_instances) - if (mapbox_instances.value[key]) { - triggerRef(toRef(mapbox_instances.value[key])) + if (mapInstance) { + triggerRef(toRef(mapInstance)) } }); - mapbox_instances.value[key].map.on("idle", () => { + mapInstance.map.on("idle", () => { triggerRef(mapbox_instances) - if (mapbox_instances.value[key]) { - triggerRef(toRef(mapbox_instances.value[key])) + if (mapInstance) { + triggerRef(toRef(mapInstance)) } }); - mapbox_instances.value[key].map.on("data", () => { + mapInstance.map.on("data", () => { triggerRef(mapbox_instances) - if (mapbox_instances.value[key]) { - triggerRef(toRef(mapbox_instances.value[key])) + if (mapInstance) { + triggerRef(toRef(mapInstance)) } }); return useMapboxInstance(key) diff --git a/src/runtime/composables/mapboxMarkerRef.ts b/src/runtime/composables/mapboxMarkerRef.ts index c5eac00..74727a5 100644 --- a/src/runtime/composables/mapboxMarkerRef.ts +++ b/src/runtime/composables/mapboxMarkerRef.ts @@ -6,6 +6,6 @@ import type { MapboxMarkerObject } from '../utils/types'; export function useMapboxMarkerRef(markerID: string): Ref { return computed(() => { const mapbox_marker_instances: Ref = useState('mapbox_marker_instances', () => {return {}}); - return mapbox_marker_instances.value[markerID]; + return mapbox_marker_instances.value[markerID] ?? null; }); } \ No newline at end of file