UNPKG

@vtaits/use-lazy-ref

Version:

[![NPM](https://img.shields.io/npm/v/@vtaits/use-lazy-ref.svg)](https://www.npmjs.com/package/@vtaits/use-lazy-ref)

1 lines 674 B
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { type RefObject, useRef } from \"react\";\n\nconst EMPTY_VALUE = Symbol(\"useLazyRef empty value\");\n\nexport const useLazyRef = <T>(init: () => T): RefObject<T> => {\n\tconst resultRef = useRef<T | typeof EMPTY_VALUE>(EMPTY_VALUE);\n\n\tif (resultRef.current === EMPTY_VALUE) {\n\t\tresultRef.current = init();\n\t}\n\n\treturn resultRef as RefObject<T>;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuC;AAEvC,IAAM,cAAc,OAAO,wBAAwB;AAE5C,IAAM,aAAa,CAAI,SAAgC;AAC7D,QAAM,gBAAY,qBAA+B,WAAW;AAE5D,MAAI,UAAU,YAAY,aAAa;AACtC,cAAU,UAAU,KAAK;AAAA,EAC1B;AAEA,SAAO;AACR;","names":[]}