{"version":3,"sources":["../../src/awaitOnly/index.ts"],"names":["_root","_onValueChange","_subscribeWithError","_subscribeWithLoad","_path","_awaitOnly","load","get","set"],"mappings":";;;;;AAIA,IAAM,SAAY,GAAA,CAChB,KAMC,KAAA,KAAA,CAAMA,KAAS,KACZ,GAAA;AAAA,EACEA,GAAO,KAAMA,CAAAA,CAAAA;AAAA,EACb,MAAO,KAA+B,CAAA,IAAA;AAAA,EACtC,KAAK,KAAM,CAAA,GAAA;AAAA,EACX,KAAK,KAAM,CAAA,GAAA;AAAA,EACXC,GAAgB,KAAMA,CAAAA,CAAAA;AAAA,EACtBC,GAAqB,KAAMA,CAAAA,CAAAA;AAAA,EAC3BC,GAAoB,KAAMA,CAAAA,CAAAA;AAAA,EAC1B,OAAO,KAAM,CAAA,KAAA;AAAA,EACb,UAAU,KAAM,CAAA,QAAA;AAAA,EAChB,SAAU,KAA8C,CAAA,OAAA;AAAA,EACxDC,GAAO,KAAMA,CAAAA,CAAAA;AAAA,EACbC,CAAY,EAAA;AACd,CACA,GAAA;AAAA,EACEL,CAAO,EAAA,KAAA;AAAA,EACP,IAAA,EAAO,MAA+B,IAAQ,IAAAM,sBAAA;AAAA,OAC9CC,qBAAA;AAAA,OACAC,qBAAA;AAAA,EACAP,GAAgB,KAAMA,CAAAA,CAAAA;AAAA,EACtBC,GAAqB,KAAMA,CAAAA,CAAAA;AAAA,EAC3BC,GAAoB,KAAMA,CAAAA,CAAAA;AAAA,EAC1B,OAAO,KAAM,CAAA,KAAA;AAAA,EACb,UAAU,KAAM,CAAA,QAAA;AAAA,EAChB,SAAU,KAA8C,CAAA,OAAA;AAAA,EACxDE,CAAY,EAAA;AACd,CAAA;AAEN,IAAO,iBAAQ,GAAA","file":"chunk-WRZRZ64S.cjs","sourcesContent":["import type { AsyncState, LoadableState } from '../types';\nimport { get, load, set } from '../utils/state/wrapped';\n\n/** Makes the given {@link state} to be awaited only, without triggering re-renders on state changes. */\nconst awaitOnly = <S extends AsyncState>(\n  state: S\n): S extends LoadableState<any, infer E, infer C>\n  ? LoadableState<void, E, C>\n  : S extends AsyncState<any, infer E>\n    ? AsyncState<void, E>\n    : never =>\n  (state._root != state\n    ? {\n        _root: state._root,\n        load: (state as any as LoadableState).load,\n        get: state.get,\n        set: state.set,\n        _onValueChange: state._onValueChange,\n        _subscribeWithError: state._subscribeWithError,\n        _subscribeWithLoad: state._subscribeWithLoad,\n        error: state.error,\n        isLoaded: state.isLoaded,\n        control: (state as any as LoadableState<any, any, any>).control,\n        _path: state._path,\n        _awaitOnly: true,\n      }\n    : {\n        _root: state as any,\n        load: (state as any as LoadableState).load && load,\n        get,\n        set,\n        _onValueChange: state._onValueChange,\n        _subscribeWithError: state._subscribeWithError,\n        _subscribeWithLoad: state._subscribeWithLoad,\n        error: state.error,\n        isLoaded: state.isLoaded,\n        control: (state as any as LoadableState<any, any, any>).control,\n        _awaitOnly: true,\n      }) as LoadableState<any, any, any> as any;\n\nexport default awaitOnly;\n"]}