UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

40 lines (30 loc) • 1.19 kB
import { NitroModules } from 'react-native-nitro-modules' import { rethrowNativeError } from '../nativeError' import type { OneQuickActions, QuickActionItem } from '../specs/OneQuickActions.nitro' import { assertQuickActionItems, assertQuickActionListener } from './validate' export type { QuickActionItem } let hybrid: OneQuickActions | undefined function native(): OneQuickActions { hybrid ??= NitroModules.createHybridObject<OneQuickActions>('OneQuickActions') return hybrid } function setItems(items: QuickActionItem[]): Promise<void> { assertQuickActionItems(items) return native().setItems(items).catch(rethrowNativeError) } function getItems(): Promise<QuickActionItem[]> { return native().getItems().catch(rethrowNativeError) } function getInitialAction(): string | null { return native().getInitialAction() ?? null } function clearInitialAction(): void { native().clearInitialAction() } function addListener(listener: (id: string) => void): () => void { assertQuickActionListener(listener) return native().addListener(listener) } export const QuickActions = Object.freeze({ setItems, getItems, getInitialAction, clearInitialAction, addListener, })