{"version":3,"file":"watch.mjs","sources":["../../../../../packages/overlay/markerClusterer/use/watch.ts"],"sourcesContent":["import { watch } from \"vue\";\r\nimport { toMarker, toPoint } from \"~/utils/converter\";\r\nimport type { Props } from \"./\";\r\n\r\nexport function useWatch({ props, instance }: { props: Props; instance: T.MarkerClusterer }) {\r\n  watch(\r\n    () => props.girdSize,\r\n    val => val && instance.setGridSize(val)\r\n  );\r\n  watch(\r\n    () => props.maxZoom,\r\n    val => val && instance.setMaxZoom(val)\r\n  );\r\n  watch(\r\n    () => props.markers,\r\n    val => {\r\n      instance.clearMarkers();\r\n      if (val?.length) {\r\n        instance.addMarkers(val.map(toMarker));\r\n      }\r\n    }\r\n  );\r\n  watch(\r\n    () => props.styles,\r\n    val => {\r\n      const styles =\r\n        val?.map(item => {\r\n          return {\r\n            ...item,\r\n            offset: item.offset && toPoint(item.offset)\r\n          };\r\n        }) ?? [];\r\n      instance.setStyles(styles);\r\n    },\r\n    { immediate: true }\r\n  );\r\n}\r\n"],"names":["useWatch","props","instance","watch","val","toMarker","styles","item","toPoint"],"mappings":";;AAIO,SAASA,EAAS,EAAE,OAAAC,GAAO,UAAAC,KAA2D;AAC3F,EAAAC;AAAA,IACE,MAAMF,EAAM;AAAA,IACZ,CAAOG,MAAAA,KAAOF,EAAS,YAAYE,CAAG;AAAA,EACxC,GACAD;AAAA,IACE,MAAMF,EAAM;AAAA,IACZ,CAAOG,MAAAA,KAAOF,EAAS,WAAWE,CAAG;AAAA,EACvC,GACAD;AAAA,IACE,MAAMF,EAAM;AAAA,IACZ,CAAOG,MAAA;AACL,MAAAF,EAAS,aAAa,GAClBE,KAAA,QAAAA,EAAK,UACPF,EAAS,WAAWE,EAAI,IAAIC,CAAQ,CAAC;AAAA,IACvC;AAAA,EAEJ,GACAF;AAAA,IACE,MAAMF,EAAM;AAAA,IACZ,CAAOG,MAAA;AACC,YAAAE,KACJF,KAAA,gBAAAA,EAAK,IAAI,CAAQG,OACR;AAAA,QACL,GAAGA;AAAA,QACH,QAAQA,EAAK,UAAUC,EAAQD,EAAK,MAAM;AAAA,MAC5C,QACI,CAAC;AACT,MAAAL,EAAS,UAAUI,CAAM;AAAA,IAC3B;AAAA,IACA,EAAE,WAAW,GAAK;AAAA,EACpB;AACF;"}