diff --git a/desktop/flipper-plugin/src/__tests__/api.node.tsx b/desktop/flipper-plugin/src/__tests__/api.node.tsx index 6bc8abffd..3daf34b09 100644 --- a/desktop/flipper-plugin/src/__tests__/api.node.tsx +++ b/desktop/flipper-plugin/src/__tests__/api.node.tsx @@ -57,6 +57,7 @@ test('Correct top level API exposed', () => { "createState", "createTablePlugin", "getFlipperLib", + "isAtom", "path", "produce", "renderReactRoot", diff --git a/desktop/flipper-plugin/src/index.tsx b/desktop/flipper-plugin/src/index.tsx index d94f2349e..af7f7cad3 100644 --- a/desktop/flipper-plugin/src/index.tsx +++ b/desktop/flipper-plugin/src/index.tsx @@ -34,7 +34,7 @@ export { SandyPluginContext as _SandyPluginContext, usePlugin, } from './plugin/PluginContext'; -export {createState, useValue, Atom} from './state/atom'; +export {createState, useValue, Atom, isAtom} from './state/atom'; export {batch} from './state/batch'; export { FlipperLib, diff --git a/docs/extending/flipper-plugin.mdx b/docs/extending/flipper-plugin.mdx index 12217b03c..720526215 100644 --- a/docs/extending/flipper-plugin.mdx +++ b/docs/extending/flipper-plugin.mdx @@ -1332,6 +1332,12 @@ someService.on('event', (val) => controllerPromise.resolve(val)) await controllerPromise.promise ``` +### isAtom + +Usage: `isAtom(value)` + +Checks if value is an [Atom](https://github.com/facebook/flipper/blob/566f7108c9efd8aefc8522af645bd0674fb91b20/desktop/flipper-plugin/src/state/atom.tsx#L30). Returns boolean. + ## TestUtils The object `TestUtils` as exposed from `flipper-plugin` exposes utilities to write unit tests for Sandy plugins.