react-async-states
Version:
A low-level multi paradigm state management library
33 lines (30 loc) • 1.15 kB
JavaScript
import { freeze, __DEV__, emptyArray } from '../shared/index.js';
import { useAsync_internal } from './useAsync_internal.js';
import { useCallerName } from '../helpers/useCallerName.js';
import { __DEV__setHookCallerName } from './modules/HookSubscriptionUtils.js';
//endregion
function useAsync_export(config, deps = emptyArray) {
if (__DEV__) {
__DEV__setHookCallerName(useCallerName(3));
}
return useAsync_internal(config, deps);
}
// we avoid creating this object everytime, so it is created on-demand
// and then reused when necessary
let autoRunOverride = null;
function useAuto(config, deps = emptyArray) {
if (__DEV__) {
__DEV__setHookCallerName(useCallerName(3));
}
if (!autoRunOverride) {
autoRunOverride = { lazy: false };
}
// this override will be restored to null inside useAsync_export()
return useAsync_internal(config, deps, autoRunOverride);
}
useAsync_export.auto = useAuto;
const useAsync = freeze(useAsync_export);
// keep this for historical reasons
const useAsyncState = useAsync;
export { useAsync, useAsyncState };
//# sourceMappingURL=useAsync_export.js.map