{"version":3,"file":"use-once.cjs","sources":["../../../../../../src/mods/react/hooks/blocks/use-once.ts"],"sourcesContent":["import { useEffect } from \"react\";\n/**\n * Do a request on mount and url change only if there is no data yet\n * @warning Will still try to fetch is there is an error\n * @param query\n * @example You want to get some data once and share it in multiple components\n */\nexport function useOnce(query) {\n    const { data, fetch } = query;\n    useEffect(() => {\n        if (data != null)\n            return;\n        fetch().then(r => r.ignore());\n    }, [data, fetch]);\n}\n//# sourceMappingURL=use-once.js.map"],"names":["useEffect"],"mappings":";;;;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,OAAO,CAAC,KAAK,EAAE;AAC/B,IAAI,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;AAClC,IAAIA,eAAS,CAAC,MAAM;AACpB,QAAQ,IAAI,IAAI,IAAI,IAAI;AACxB,YAAY,OAAO;AACnB,QAAQ,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACtC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACtB;;;;"}