{"version":3,"file":"dep-99cbb82a.mjs","sources":["../../src/jue-map/useLayerManager/useHDRoadModelLayer.ts"],"sourcesContent":["import { Ref, WatchStopHandle } from 'vue';\n\nexport default function useHDRoadModelLayer(\n  mapInstance: LooseObject,\n  layerInfo: Ref<MapLayer<HDRoadModelLayerConfig>>,\n) {\n  if (!layerInfo.value || !layerInfo.value.config || !JUE.model.HDRoadModel) return;\n\n  const { id, styleId } = layerInfo.value.config;\n\n  if (!id) return;\n\n  let unwatchList: WatchStopHandle[] | null = [];\n\n  let modelLayer = new JUE.model.HDRoadModel({\n    id,\n    map: mapInstance,\n    styleId,\n  });\n\n  unwatchList.push(watch(() => layerInfo.value.config.id, () => {\n    modelLayer?.unmount();\n    useHDRoadModelLayer(mapInstance, layerInfo);\n  }));\n\n  unwatchList.push(watch(() => layerInfo.value.config.styleId, (newVal) => {\n    modelLayer.setStyleId(newVal);\n  }));\n\n  modelLayer.unmount = (): void => {\n    modelLayer?.destroy();\n    modelLayer = null;\n    unwatchList?.forEach(unwatch => unwatch());\n    unwatchList = null;\n  };\n\n  return modelLayer;\n}\n"],"names":["useHDRoadModelLayer","mapInstance","layerInfo","value","config","JUE","model","HDRoadModel","id","styleId","unwatchList","modelLayer","map","push","watch","unmount","newVal","setStyleId","destroy","forEach","unwatch"],"mappings":";;AAAA,SAAAA,mBAAA,CAAAC,WAAA,EAAAC,SAAA,EAAA;AACA,EAAA,IAAA,CAAAA,SAAA,CAAAC,KAAA,IAAA,CAAAD,SAAA,CAAAC,KAAA,CAAAC,MAAA,IAAA,CAAAC,GAAA,CAAAC,KAAA,CAAAC,WAAA,EACA,OAAA;EACA,IAAA;IAAAC,EAAA;AAAAC,IAAAA,OAAAA;AAAA,GAAA,GAAAP,SAAA,CAAAC,KAAA,CAAAC,MAAA,CAAA;EACA,IAAA,CAAAI,EAAA,EACA,OAAA;EACA,IAAAE,WAAA,GAAA,EAAA,CAAA;EACA,IAAAC,UAAA,GAAA,IAAAN,GAAA,CAAAC,KAAA,CAAAC,WAAA,CAAA;IACAC,EADA;AAEAI,IAAAA,GAAA,EAAAX,WAFA;AAGAQ,IAAAA,OAAAA;AAHA,GAAA,CAAA,CAAA;AAKAC,EAAAA,WAAA,CAAAG,IAAA,CAAAC,KAAA,CAAA,MAAAZ,SAAA,CAAAC,KAAA,CAAAC,MAAA,CAAAI,EAAA,EAAA,MAAA;AAAA,IAAA,IAAA,WAAA,CAAA;;IACA,CAAAG,WAAAA,GAAAA,UAAA,MAAA,IAAA,IAAA,WAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAAI,OAAA,EAAA,CAAA;AACAf,IAAAA,mBAAA,CAAAC,WAAA,EAAAC,SAAA,CAAA,CAAA;AACA,GAHA,CAAA,CAAA,CAAA;AAIAQ,EAAAA,WAAA,CAAAG,IAAA,CAAAC,KAAA,CAAA,MAAAZ,SAAA,CAAAC,KAAA,CAAAC,MAAA,CAAAK,OAAA,EAAAO,MAAA,IAAA;IACAL,UAAA,CAAAM,UAAA,CAAAD,MAAA,CAAA,CAAA;AACA,GAFA,CAAA,CAAA,CAAA;;EAGAL,UAAA,CAAAI,OAAA,GAAA,MAAA;AAAA,IAAA,IAAA,YAAA,EAAA,YAAA,CAAA;;IACA,CAAAJ,YAAAA,GAAAA,UAAA,MAAA,IAAA,IAAA,YAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAAO,OAAA,EAAA,CAAA;AACAP,IAAAA,UAAA,GAAA,IAAA,CAAA;IACA,CAAAD,YAAAA,GAAAA,WAAA,UAAA,IAAAS,YAAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAAA,CAAAA,OAAA,CAAAC,OAAA,IAAAA,OAAA,EAAA,CAAA,CAAA;AACAV,IAAAA,WAAA,GAAA,IAAA,CAAA;GAJA,CAAA;;AAMA,EAAA,OAAAC,UAAA,CAAA;AACA;;;;"}