{"version":3,"sources":["../../src/utils/createAsyncSubscribe.ts"],"names":["_load","noop","postBatchCallbacksPush"],"mappings":";;;;;;;;;AAIO,IAAM,uBACX,GAAA,CAAC,GAA2B,EAAA,KAAA,KAAyB,CAAC,EAAmB,KAAA;AACvE,EAAA,GAAA,CAAI,IAAI,EAAE,CAAA;AAEV,EAAM,MAAA,MAAA,GAAS,MAAM,IAAK,EAAA;AAE1B,EAAA,OAAO,MAAM;AACX,IAAA,GAAA,CAAI,OAAO,EAAE,CAAA;AAEb,IAAO,MAAA,EAAA;AAAA,GACT;AACF;AAEK,IAAM,2BACX,CACE,GAAA,EACA,QACA,EAAA,KAAA,KAEF,CAAC,EAAmB,KAAA;AAClB,EAAA,IAAI,WAAc,GAAA,IAAA;AAElB,EAAA,MAAM,MAAS,GAAA,KAAA,CAAMA,CAAQ,GAAA,KAAA,CAAM,MAAS,GAAAC,qBAAA;AAE5C,EAAA,MAAM,KAAK,MAAM;AACf,IAAA,IAAI,WAAa,EAAA;AACf,MAAc,WAAA,GAAA,KAAA;AAEd,MAAAC,wCAAA,CAAuB,MAAM;AAC3B,QAAG,EAAA,EAAA;AAEH,QAAc,WAAA,GAAA,IAAA;AAAA,OACf,CAAA;AAAA;AACH,GACF;AAEA,EAAA,GAAA,CAAI,IAAI,EAAE,CAAA;AAEV,EAAA,QAAA,CAAS,IAAI,EAAE,CAAA;AAEf,EAAA,OAAO,MAAM;AACX,IAAA,GAAA,CAAI,OAAO,EAAE,CAAA;AAEb,IAAA,QAAA,CAAS,OAAO,EAAE,CAAA;AAElB,IAAK,EAAA,GAAAD,qBAAA;AAEL,IAAO,MAAA,EAAA;AAAA,GACT;AACF","file":"chunk-XXUEOOSW.cjs","sourcesContent":["import noop from 'lodash.noop';\nimport type { LoadableState, ValueChangeCallbacks } from '../types';\nimport { postBatchCallbacksPush } from './batching';\n\nexport const createLoadableSubscribe =\n  (set: ValueChangeCallbacks, state: LoadableState) => (cb: () => void) => {\n    set.add(cb);\n\n    const unload = state.load();\n\n    return () => {\n      set.delete(cb);\n\n      unload();\n    };\n  };\n\nexport const createSubscribeWithError =\n  (\n    set: ValueChangeCallbacks,\n    errorSet: ValueChangeCallbacks,\n    state: LoadableState\n  ) =>\n  (cb: () => void) => {\n    let isAvailable = true;\n\n    const unload = state._load ? state.load() : noop;\n\n    const fn = () => {\n      if (isAvailable) {\n        isAvailable = false;\n\n        postBatchCallbacksPush(() => {\n          cb();\n\n          isAvailable = true;\n        });\n      }\n    };\n\n    set.add(fn);\n\n    errorSet.add(fn);\n\n    return () => {\n      set.delete(fn);\n\n      errorSet.delete(fn);\n\n      cb = noop;\n\n      unload();\n    };\n  };\n"]}