{"version":3,"file":"use-tick.mjs","sources":["../../../../../packages/composables/private/use-tick.ts"],"sourcesContent":["import { nextTick, onBeforeUnmount } from 'vue'\n\n/*\n * Usage:\n *    registerTick(fn)\n *    registerTick(fn)\n *    ....\n *    prepareTick()\n */\n\nexport default function () {\n  let tickFn\n\n  onBeforeUnmount(() => {\n    tickFn = void 0\n  })\n\n  return {\n    registerTick(fn) {\n      tickFn = fn\n    },\n\n    removeTick() {\n      tickFn = void 0\n    },\n\n    prepareTick() {\n      if (tickFn !== void 0) {\n        const fn = tickFn\n        nextTick(() => {\n          if (tickFn === fn) {\n            tickFn()\n            tickFn = void 0\n          }\n        })\n      }\n    }\n  }\n}\n"],"names":[],"mappings":";;;AAU2B,gBAAA,GAAA;AACzB,EAAI,IAAA,MAAA,CAAA;AAEJ,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAS,MAAA,GAAA,KAAA,CAAA,CAAA;AAAA,GACV,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,aAAa,EAAI,EAAA;AACf,MAAS,MAAA,GAAA,EAAA,CAAA;AAAA,KACX;AAAA,IAEA,UAAa,GAAA;AACX,MAAS,MAAA,GAAA,KAAA,CAAA,CAAA;AAAA,KACX;AAAA,IAEA,WAAc,GAAA;AACZ,MAAA,IAAI,WAAW,KAAQ,CAAA,EAAA;AACrB,QAAA,MAAM,EAAK,GAAA,MAAA,CAAA;AACX,QAAA,QAAA,CAAS,MAAM;AACb,UAAA,IAAI,WAAW,EAAI,EAAA;AACjB,YAAO,MAAA,EAAA,CAAA;AACP,YAAS,MAAA,GAAA,KAAA,CAAA,CAAA;AAAA,WACX;AAAA,SACD,CAAA,CAAA;AAAA,OACH;AAAA,KACF;AAAA,GACF,CAAA;AACF;;;;"}