{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-render-chart/index.ts"],"sourcesContent":["import { isReactive, nextTick, onBeforeUnmount, toRef, watch } from 'vue'\n\nimport type { Ref } from 'vue'\nimport type { Indexable } from 'fx-front-utils'\n\nfunction useRenderChart(cb: () => void, data: Ref<unknown> | Indexable<any>, field = 'chartData') {\n  const watcherData = isReactive(data) ? toRef(data, field as keyof typeof data) : data\n  const unwatcher = watch(watcherData, () => {\n    nextTick(() => {\n      cb()\n    })\n  }, {\n    immediate: true,\n    deep: true,\n  })\n\n  onBeforeUnmount(() => {\n    unwatcher && unwatcher()\n  })\n}\n\nexport { useRenderChart }\n"],"names":[],"mappings":";;AAKA,SAAwB,cAAA,CAAA,EAAA,EAAgB,IAAqC,EAAA,KAAA,GAAQ,WAAa,EAAA;AAChG,EAAA,MAAM,WAAc,GAAA,UAAA,CAAW,IAAQ,CAAA,GAAA,KAAA,CAAM,MAAM,KAA8B,CAAA,GAAA,IAAA,CAAA;AACjF,EAAM,MAAA,SAAA,GAAY,KAAM,CAAA,WAAA,EAAa,MAAM;AACzC,IAAA,QAAA,CAAS,MAAM;AACb,MAAA,EAAA,EAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAED,EAAA;AAAA,IACD,SAAW,EAAA,IAAA;AAAA,IACX,IAAM,EAAA,IAAA;AAAA,GAAA,CAAA,CAAA;AAGR,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAa,SAAA,IAAA,SAAA,EAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAAA;;;;"}