UNPKG

@toolpad/utils

Version:

Shared utilities used by Toolpad packages.

1 lines 883 B
{"version":3,"sources":["../../src/hooks/useLatest.ts"],"sourcesContent":["import * as React from 'react';\n\n/**\n * Returns the latest non-null, non-undefined value that has been passed to it.\n */\nfunction useLatest<T>(value: T): T;\nfunction useLatest<T>(value: T | null | undefined): T | null | undefined;\nfunction useLatest<T>(value: T | null | undefined): T | null | undefined {\n const [latest, setLatest] = React.useState<T | null | undefined>(value);\n if (latest !== value && value !== null && value !== undefined) {\n setLatest(value);\n }\n return value ?? latest;\n}\n\nexport default useLatest;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AAOvB,SAAS,UAAa,OAAmD;AACvE,QAAM,CAAC,QAAQ,SAAS,IAAU,eAA+B,KAAK;AACtE,MAAI,WAAW,SAAS,UAAU,QAAQ,UAAU,QAAW;AAC7D,cAAU,KAAK;AAAA,EACjB;AACA,SAAO,SAAS;AAClB;AAEA,IAAO,oBAAQ;","names":[]}