{"version":3,"file":"mapRoot.mjs","sources":["../../../packages/use/mapRoot.ts"],"sourcesContent":["import { inject, type Ref } from \"vue\";\r\nimport type { Emitter } from \"mitt\";\r\nimport type { MapEvents } from \"~/utils/emitter\";\r\n\r\n/**\r\n * 获取根地图实例\r\n */\r\nexport function useMapRoot(): Promise<T.Map> {\r\n  return new Promise(resolve => {\r\n    const mapRoot = inject<Ref<T.Map>>(\"mapRoot\");\r\n    const mapEmitter = inject<Emitter<MapEvents>>(\"mapEmitter\");\r\n    if (mapRoot?.value) {\r\n      resolve(mapRoot?.value);\r\n    } else {\r\n      mapEmitter?.on(\"mapInit\", resolver);\r\n    }\r\n\r\n    function resolver(map: T.Map) {\r\n      mapEmitter?.off(\"mapInit\", resolver);\r\n      resolve(map);\r\n    }\r\n  });\r\n}\r\n"],"names":["useMapRoot","resolve","mapRoot","inject","mapEmitter","resolver","map"],"mappings":";AAOO,SAASA,IAA6B;AACpC,SAAA,IAAI,QAAQ,CAAWC,MAAA;AACtB,UAAAC,IAAUC,EAAmB,SAAS,GACtCC,IAAaD,EAA2B,YAAY;AAC1D,IAAID,KAAA,QAAAA,EAAS,QACXD,EAAQC,KAAA,gBAAAA,EAAS,KAAK,IAEVE,KAAA,QAAAA,EAAA,GAAG,WAAWC;AAG5B,aAASA,EAASC,GAAY;AAChB,MAAAF,KAAA,QAAAA,EAAA,IAAI,WAAWC,IAC3BJ,EAAQK,CAAG;AAAA,IAAA;AAAA,EACb,CACD;AACH;"}