{"version":3,"file":"mapRoot.mjs","sources":["../../../packages/use/mapRoot.ts"],"sourcesContent":["import { inject, type Ref } from \"vue\";\nimport type { Emitter } from \"mitt\";\nimport type { MapEvents } from \"~/utils/emitter\";\n\n/**\n * 获取根地图实例\n */\nexport function useMapRoot(): Promise<T.Map> {\n  return new Promise(resolve => {\n    const mapRoot = inject<Ref<T.Map>>(\"mapRoot\");\n    const mapEmitter = inject<Emitter<MapEvents>>(\"mapEmitter\");\n    if (mapRoot?.value) {\n      resolve(mapRoot?.value);\n    } else {\n      mapEmitter?.on(\"mapInit\", resolver);\n    }\n\n    function resolver(map: T.Map) {\n      mapEmitter?.off(\"mapInit\", resolver);\n      resolve(map);\n    }\n  });\n}\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;"}