{"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":";;AACA,SAAS,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,GAAG,WAAW,EAAE;AACvD,EAAE,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;AACnE,EAAE,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,MAAM;AAC7C,IAAI,QAAQ,CAAC,MAAM;AACnB,MAAM,EAAE,EAAE,CAAC;AACX,KAAK,CAAC,CAAC;AACP,GAAG,EAAE;AACL,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,IAAI,EAAE,IAAI;AACd,GAAG,CAAC,CAAC;AACL,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;AAC7B,GAAG,CAAC,CAAC;AACL;;;;"}