Files
react-native/Libraries/Alert/NativeAlertManager.js
T
Daiki Ihara 122cc8ba8a Add spec for AlertManager (#24906)
Summary:
Part of #24875

## Changelog

[General] [Added] - Add TurboModule spec for AlertManager
Pull Request resolved: https://github.com/facebook/react-native/pull/24906

Reviewed By: lunaleaps

Differential Revision: D15471065

Pulled By: fkgozali

fbshipit-source-id: bb22e6454b1f748987f3a8cd957bfd4e027493a5
2019-05-27 22:14:29 -07:00

52 lines
1.1 KiB
JavaScript

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow
* @format
*/
'use strict';
import type {TurboModule} from 'RCTExport';
import * as TurboModuleRegistry from 'TurboModuleRegistry';
export type Buttons = Array<{
text?: string,
onPress?: ?Function,
style?: AlertButtonStyle,
}>;
export type Options = {
cancelable?: ?boolean,
onDismiss?: ?() => void,
};
/* 'default' | plain-text' | 'secure-text' | 'login-password' */
export type AlertType = string;
/* 'default' | 'cancel' | 'destructive' */
export type AlertButtonStyle = string;
export type Args = {|
title?: string,
message?: string,
buttons?: Buttons,
type?: string,
defaultValue?: string,
cancelButtonKey?: string,
destructiveButtonKey?: string,
keyboardType?: string,
|};
export interface Spec extends TurboModule {
+alertWithArgs: (
args: Args,
callback: (id: number, value: string) => void,
) => void;
}
export default TurboModuleRegistry.get<Spec>('AlertManager');