@office-iss/react-native-win32 0.83.0-preview.1 → 0.84.0-preview.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +2 -2
- package/CHANGELOG.json +57 -6
- package/CHANGELOG.md +30 -5
- package/IntegrationTests/AccessibilityManagerTest.js +10 -7
- package/IntegrationTests/ImageCachePolicyTest.js +8 -8
- package/IntegrationTests/IntegrationTestsApp.js +3 -3
- package/IntegrationTests/LayoutEventsTest.js +1 -1
- package/IntegrationTests/TimersTest.js +1 -1
- package/IntegrationTests/WebSocketTest.js +1 -1
- package/Libraries/Animated/AnimatedEvent.js +2 -2
- package/Libraries/Animated/animations/Animation.js +1 -3
- package/Libraries/Animated/createAnimatedComponent.js +8 -5
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +40 -4
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
- package/Libraries/Animated/nodes/AnimatedObject.js +16 -11
- package/Libraries/Animated/nodes/AnimatedProps.js +43 -12
- package/Libraries/Animated/nodes/AnimatedStyle.js +12 -12
- package/Libraries/Animated/nodes/AnimatedValue.js +6 -3
- package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +24 -22
- package/Libraries/Blob/URL.js +34 -3
- package/Libraries/Blob/URLSearchParams.js +1 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +6 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +6 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +8 -1
- package/Libraries/Components/Button.js +2 -5
- package/Libraries/Components/Button.win32.js +2 -5
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +4 -4
- package/Libraries/Components/Keyboard/Keyboard.js +2 -2
- package/Libraries/Components/Pressable/Pressable.js +8 -8
- package/Libraries/Components/Pressable/Pressable.win32.js +14 -13
- package/Libraries/Components/TextInput/TextInput.flow.js +13 -13
- package/Libraries/Components/TextInput/TextInput.flow.win32.js +13 -13
- package/Libraries/Components/TextInput/TextInput.js +33 -34
- package/Libraries/Components/TextInput/TextInput.win32.js +39 -39
- package/Libraries/Components/Touchable/PooledClass.js +2 -2
- package/Libraries/Components/Touchable/TouchableBounce.js +3 -3
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +9 -9
- package/Libraries/Components/View/View.win32.js +5 -5
- package/Libraries/Components/View/ViewPropTypes.js +16 -6
- package/Libraries/Components/View/ViewPropTypes.win32.js +20 -10
- package/Libraries/Core/Devtools/loadBundleFromServer.js +6 -3
- package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +6 -3
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +3 -3
- package/Libraries/Core/RawEventEmitter.js +1 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpErrorHandling.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +2 -2
- package/Libraries/Image/Image.android.js +2 -2
- package/Libraries/Image/Image.ios.js +2 -2
- package/Libraries/Image/Image.win32.js +1 -1
- package/Libraries/Image/ImageProps.js +1 -1
- package/Libraries/Image/ImageTypes.flow.js +2 -2
- package/Libraries/Interaction/InteractionManager.js +3 -3
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.js +2 -2
- package/Libraries/LogBox/Data/LogBoxData.js +31 -4
- package/Libraries/LogBox/Data/LogBoxLog.js +2 -2
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -5
- package/Libraries/LogBox/LogBox.js +7 -7
- package/Libraries/NativeComponent/BaseViewConfig.android.js +12 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +4 -4
- package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -1
- package/Libraries/Network/RCTNetworking.android.js +3 -3
- package/Libraries/Network/RCTNetworking.ios.js +2 -2
- package/Libraries/Network/RCTNetworking.js.flow +2 -2
- package/Libraries/Network/RCTNetworking.win32.js +2 -2
- package/Libraries/Pressability/Pressability.js +9 -9
- package/Libraries/Pressability/Pressability.win32.js +17 -16
- package/Libraries/ReactNative/AppRegistry.flow.js +1 -1
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
- package/Libraries/ReactNative/FabricUIManager.js +1 -1
- package/Libraries/ReactNative/PaperUIManager.js +1 -1
- package/Libraries/ReactNative/PaperUIManager.win32.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +2 -2
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +1 -1
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -2
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +11 -4
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +11 -4
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +11 -4
- package/Libraries/Renderer/shims/ReactFabric.js +3 -1
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
- package/Libraries/Renderer/shims/ReactNative.js +2 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +4 -2
- package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +99 -4
- package/Libraries/StyleSheet/StyleSheetTypes.js +6 -8
- package/Libraries/StyleSheet/processFilter.js +1 -1
- package/Libraries/Text/Text.js +46 -6
- package/Libraries/Text/Text.win32.js +46 -6
- package/Libraries/Text/TextNativeComponent.js +1 -1
- package/Libraries/Text/TextNativeComponent.win32.js +1 -1
- package/Libraries/Text/TextProps.js +7 -7
- package/Libraries/Text/TextProps.win32.js +7 -7
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.js +31 -0
- package/Libraries/Types/CoreEventTypes.win32.js +30 -13
- package/Libraries/Types/ReactDevToolsTypes.js +2 -2
- package/Libraries/Utilities/Appearance.js +2 -2
- package/Libraries/Utilities/DevLoadingView.js +8 -1
- package/Libraries/Utilities/DevSettings.js +3 -3
- package/Libraries/Utilities/HMRClient.js +4 -3
- package/Libraries/Utilities/RCTLog.js +3 -3
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +1 -1
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +3 -3
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +7 -7
- package/Libraries/Utilities/useRefEffect.js +1 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +3 -3
- package/Libraries/promiseRejectionTrackingOptions.js +8 -8
- package/Libraries/vendor/core/ErrorUtils.js +10 -10
- package/Libraries/vendor/emitter/EventEmitter.js +6 -6
- package/flow/HermesInternalType.js +6 -6
- package/flow/bom.js.flow +35 -28
- package/flow/cssom.js.flow +3 -3
- package/flow/dom.js.flow +34 -33
- package/index.js +3 -0
- package/index.win32.js +3 -0
- package/index.win32.js.flow +8 -0
- package/jest/mock.js +2 -2
- package/jest/mockComponent.js +1 -1
- package/jest/setup.js +1 -1
- package/overrides.json +23 -23
- package/package.json +19 -18
- package/src/private/animated/NativeAnimatedHelper.js +130 -125
- package/src/private/animated/NativeAnimatedHelper.win32.js +130 -125
- package/src/private/animated/NativeAnimatedValidation.js +7 -4
- package/src/private/animated/createAnimatedPropsHook.js +13 -5
- package/src/private/animated/createAnimatedPropsMemoHook.js +10 -10
- package/src/private/components/virtualview/VirtualView.js +16 -9
- package/src/private/components/virtualview/logger/VirtualViewLogger.js +21 -0
- package/src/private/components/virtualview/logger/VirtualViewLoggerTypes.js +24 -0
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +6 -25
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -27
- package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +3 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +63 -42
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +12 -9
- package/src/private/renderer/errorhandling/ErrorHandlers.js +7 -4
- package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +4 -0
- package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -0
- package/src/private/webapis/dom/events/CustomEvent.js +3 -3
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +29 -29
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +1 -1
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/geometry/DOMRectReadOnly.js +1 -1
- package/src/private/webapis/html/events/MessageEvent.js +3 -3
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +3 -3
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +53 -5
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +2 -2
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +4 -4
- package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +1 -1
- package/src/private/webapis/mutationobserver/MutationObserver.js +1 -1
- package/src/private/webapis/mutationobserver/MutationRecord.js +1 -1
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +4 -4
- package/src/private/webapis/performance/Performance.js +1 -1
- package/src/private/webapis/performance/UserTiming.js +1 -1
- package/src/private/webapis/performance/specs/NativePerformance.js +3 -3
- package/src/private/webapis/structuredClone/structuredClone.js +3 -3
- package/src/types/globals.d.ts +30 -1
- package/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +6 -0
- package/src-win/index.win32.js.flow +8 -0
- package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +0 -628
- package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +0 -66
|
@@ -362,17 +362,34 @@ export type MouseEvent = NativeSyntheticEvent<
|
|
|
362
362
|
}>,
|
|
363
363
|
>;
|
|
364
364
|
// Windows]
|
|
365
|
+
export type KeyEvent = $ReadOnly<{
|
|
366
|
+
/**
|
|
367
|
+
* The actual key that was pressed. For example, F would be "f" or "F" depending on the shift key.
|
|
368
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key
|
|
369
|
+
*/
|
|
370
|
+
key: string,
|
|
371
|
+
/**
|
|
372
|
+
* The key code of the key that was pressed. For example, F would be "KeyF"
|
|
373
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code
|
|
374
|
+
*/
|
|
375
|
+
code: string,
|
|
376
|
+
altKey: boolean,
|
|
377
|
+
ctrlKey: boolean,
|
|
378
|
+
metaKey: boolean,
|
|
379
|
+
shiftKey: boolean,
|
|
380
|
+
/**
|
|
381
|
+
* A boolean value that is true if the given key is being held down such that it is automatically repeating.
|
|
382
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat
|
|
383
|
+
*/
|
|
384
|
+
repeat?: boolean,
|
|
385
|
+
/**
|
|
386
|
+
* Returns a boolean value indicating if the event is fired within a composition session
|
|
387
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/CompositionEvent/isComposing
|
|
388
|
+
*/
|
|
389
|
+
isComposing?: boolean,
|
|
390
|
+
eventPhase: number, //Windows
|
|
391
|
+
}>;
|
|
365
392
|
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
altKey: boolean,
|
|
370
|
-
ctrlKey: boolean,
|
|
371
|
-
metaKey: boolean,
|
|
372
|
-
shiftKey: boolean,
|
|
373
|
-
key: string,
|
|
374
|
-
code: string,
|
|
375
|
-
eventPhase: number,
|
|
376
|
-
|}>,
|
|
377
|
-
>;
|
|
378
|
-
// Windows]
|
|
393
|
+
export type KeyUpEvent = NativeSyntheticEvent<KeyEvent>;
|
|
394
|
+
|
|
395
|
+
export type KeyDownEvent = NativeSyntheticEvent<KeyEvent>;
|
|
@@ -32,7 +32,7 @@ export type ReactDevToolsAgentEvents = {
|
|
|
32
32
|
};
|
|
33
33
|
|
|
34
34
|
export type ReactDevToolsAgent = {
|
|
35
|
-
selectNode(node:
|
|
35
|
+
selectNode(node: unknown): void,
|
|
36
36
|
stopInspectingNative(value: boolean): void,
|
|
37
37
|
addListener<Event: $Keys<ReactDevToolsAgentEvents>>(
|
|
38
38
|
event: Event,
|
|
@@ -48,6 +48,6 @@ export type ReactDevToolsGlobalHook = {
|
|
|
48
48
|
on: (eventName: string, (agent: ReactDevToolsAgent) => void) => void,
|
|
49
49
|
off: (eventName: string, (agent: ReactDevToolsAgent) => void) => void,
|
|
50
50
|
reactDevtoolsAgent?: ReactDevToolsAgent,
|
|
51
|
-
resolveRNStyle?:
|
|
51
|
+
resolveRNStyle?: unknown,
|
|
52
52
|
nativeStyleEditorValidAttributes?: Array<string>,
|
|
53
53
|
};
|
|
@@ -35,7 +35,7 @@ let lazyState: ?{
|
|
|
35
35
|
/**
|
|
36
36
|
* Ensures that all state and listeners are lazily initialized correctly.
|
|
37
37
|
*/
|
|
38
|
-
function getState():
|
|
38
|
+
function getState(): NonNullable<typeof lazyState> {
|
|
39
39
|
if (lazyState != null) {
|
|
40
40
|
return lazyState;
|
|
41
41
|
}
|
|
@@ -50,7 +50,7 @@ function getState(): $NonMaybeType<typeof lazyState> {
|
|
|
50
50
|
eventEmitter,
|
|
51
51
|
};
|
|
52
52
|
} else {
|
|
53
|
-
const state:
|
|
53
|
+
const state: NonNullable<typeof lazyState> = {
|
|
54
54
|
NativeAppearance,
|
|
55
55
|
appearance: null,
|
|
56
56
|
eventEmitter,
|
|
@@ -44,7 +44,11 @@ const COLOR_SCHEME = {
|
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
export default {
|
|
47
|
-
showMessage(
|
|
47
|
+
showMessage(
|
|
48
|
+
message: string,
|
|
49
|
+
type: 'load' | 'refresh' | 'error',
|
|
50
|
+
options?: {dismissButton?: boolean},
|
|
51
|
+
) {
|
|
48
52
|
if (NativeDevLoadingView) {
|
|
49
53
|
const colorScheme =
|
|
50
54
|
getColorScheme() === 'dark' ? COLOR_SCHEME.dark : COLOR_SCHEME.default;
|
|
@@ -59,10 +63,13 @@ export default {
|
|
|
59
63
|
textColor = processColor(colorSet.textColor);
|
|
60
64
|
}
|
|
61
65
|
|
|
66
|
+
const hasDismissButton = options?.dismissButton ?? false;
|
|
67
|
+
|
|
62
68
|
NativeDevLoadingView.showMessage(
|
|
63
69
|
message,
|
|
64
70
|
typeof textColor === 'number' ? textColor : null,
|
|
65
71
|
typeof backgroundColor === 'number' ? backgroundColor : null,
|
|
72
|
+
hasDismissButton,
|
|
66
73
|
);
|
|
67
74
|
}
|
|
68
75
|
},
|
|
@@ -24,7 +24,7 @@ let DevSettings: {
|
|
|
24
24
|
* @param title - The title of the menu item. Is internally used as id and should therefore be unique.
|
|
25
25
|
* @param handler - The callback invoked when pressing the menu item.
|
|
26
26
|
*/
|
|
27
|
-
addMenuItem(title: string, handler: () =>
|
|
27
|
+
addMenuItem(title: string, handler: () => unknown): void,
|
|
28
28
|
/**
|
|
29
29
|
* Reload the application.
|
|
30
30
|
*
|
|
@@ -33,7 +33,7 @@ let DevSettings: {
|
|
|
33
33
|
reload(reason?: string): void,
|
|
34
34
|
onFastRefresh(): void,
|
|
35
35
|
} = {
|
|
36
|
-
addMenuItem(title: string, handler: () =>
|
|
36
|
+
addMenuItem(title: string, handler: () => unknown): void {},
|
|
37
37
|
reload(reason?: string): void {},
|
|
38
38
|
onFastRefresh(): void {},
|
|
39
39
|
};
|
|
@@ -51,7 +51,7 @@ if (__DEV__) {
|
|
|
51
51
|
const subscriptions = new Map<string, EventSubscription>();
|
|
52
52
|
|
|
53
53
|
DevSettings = {
|
|
54
|
-
addMenuItem(title: string, handler: () =>
|
|
54
|
+
addMenuItem(title: string, handler: () => unknown): void {
|
|
55
55
|
// Make sure items are not added multiple times. This can
|
|
56
56
|
// happen when hot reloading the module that registers the
|
|
57
57
|
// menu items. The title is used as the id which means we
|
|
@@ -26,7 +26,7 @@ let hmrUnavailableReason: string | null = null;
|
|
|
26
26
|
let hmrOrigin: string | null = null;
|
|
27
27
|
let currentCompileErrorMessage: string | null = null;
|
|
28
28
|
let didConnect: boolean = false;
|
|
29
|
-
let pendingLogs: Array<[LogLevel, $ReadOnlyArray<
|
|
29
|
+
let pendingLogs: Array<[LogLevel, $ReadOnlyArray<unknown>]> = [];
|
|
30
30
|
|
|
31
31
|
type LogLevel =
|
|
32
32
|
| 'trace'
|
|
@@ -43,7 +43,7 @@ export type HMRClientNativeInterface = {
|
|
|
43
43
|
enable(): void,
|
|
44
44
|
disable(): void,
|
|
45
45
|
registerBundle(requestUrl: string): void,
|
|
46
|
-
log(level: LogLevel, data: $ReadOnlyArray<
|
|
46
|
+
log(level: LogLevel, data: $ReadOnlyArray<unknown>): void,
|
|
47
47
|
setup(
|
|
48
48
|
platform: string,
|
|
49
49
|
bundleEntry: string,
|
|
@@ -113,7 +113,7 @@ const HMRClient: HMRClientNativeInterface = {
|
|
|
113
113
|
registerBundleEntryPoints(hmrClient);
|
|
114
114
|
},
|
|
115
115
|
|
|
116
|
-
log(level: LogLevel, data: $ReadOnlyArray<
|
|
116
|
+
log(level: LogLevel, data: $ReadOnlyArray<unknown>) {
|
|
117
117
|
if (!hmrClient) {
|
|
118
118
|
// Catch a reasonable number of early logs
|
|
119
119
|
// in case hmrClient gets initialized later.
|
|
@@ -307,6 +307,7 @@ function setHMRUnavailableReason(reason: string) {
|
|
|
307
307
|
DevLoadingView.showMessage(
|
|
308
308
|
'Fast Refresh disconnected. Reload app to reconnect.',
|
|
309
309
|
'error',
|
|
310
|
+
{dismissButton: true},
|
|
310
311
|
);
|
|
311
312
|
console.warn(reason);
|
|
312
313
|
// (Not using the `warning` module to prevent a Buck cycle.)
|
|
@@ -20,11 +20,11 @@ const levelsMap = {
|
|
|
20
20
|
fatal: 'error',
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
-
let warningHandler: ?(...Array<
|
|
23
|
+
let warningHandler: ?(...Array<unknown>) => void = null;
|
|
24
24
|
|
|
25
25
|
const RCTLog = {
|
|
26
26
|
// level one of log, info, warn, error, mustfix
|
|
27
|
-
logIfNoNativeHook(level: string, ...args: Array<
|
|
27
|
+
logIfNoNativeHook(level: string, ...args: Array<unknown>): void {
|
|
28
28
|
// We already printed in the native console, so only log here if using a js debugger
|
|
29
29
|
if (typeof global.nativeLoggingHook === 'undefined') {
|
|
30
30
|
RCTLog.logToConsole(level, ...args);
|
|
@@ -37,7 +37,7 @@ const RCTLog = {
|
|
|
37
37
|
},
|
|
38
38
|
|
|
39
39
|
// Log to console regardless of nativeLoggingHook
|
|
40
|
-
logToConsole(level: string, ...args: Array<
|
|
40
|
+
logToConsole(level: string, ...args: Array<unknown>): void {
|
|
41
41
|
// $FlowFixMe[invalid-computed-prop]
|
|
42
42
|
const logFn = levelsMap[level];
|
|
43
43
|
invariant(
|
|
@@ -17,7 +17,7 @@ type NativeCommandsOptions<T = string> = $ReadOnly<{
|
|
|
17
17
|
function codegenNativeCommands<T: interface {}>(
|
|
18
18
|
options: NativeCommandsOptions<$Keys<T>>,
|
|
19
19
|
): T {
|
|
20
|
-
const commandObj: {[$Keys<T>]: (...$ReadOnlyArray<
|
|
20
|
+
const commandObj: {[$Keys<T>]: (...$ReadOnlyArray<unknown>) => void} = {};
|
|
21
21
|
|
|
22
22
|
options.supportedCommands.forEach(command => {
|
|
23
23
|
// $FlowFixMe[missing-local-annot]
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* Freezing the object and adding the throw mechanism is expensive and will
|
|
28
28
|
* only be used in DEV.
|
|
29
29
|
*/
|
|
30
|
-
function deepFreezeAndThrowOnMutationInDev<T: {...} | Array<
|
|
30
|
+
function deepFreezeAndThrowOnMutationInDev<T: {...} | Array<unknown>>(
|
|
31
31
|
object: T,
|
|
32
32
|
): T {
|
|
33
33
|
if (__DEV__) {
|
|
@@ -43,7 +43,7 @@ function deepFreezeAndThrowOnMutationInDev<T: {...} | Array<mixed>>(
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
// $FlowFixMe[not-an-object] `object` can be an array, but Object.keys works with arrays too
|
|
46
|
-
const keys = Object.keys((object: {...} | Array<
|
|
46
|
+
const keys = Object.keys((object: {...} | Array<unknown>));
|
|
47
47
|
// $FlowFixMe[method-unbinding] added when improving typing for this parameters
|
|
48
48
|
const hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
49
49
|
|
|
@@ -85,7 +85,7 @@ function throwOnImmutableMutation(key: empty, value) {
|
|
|
85
85
|
);
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
function identity(value:
|
|
88
|
+
function identity(value: unknown) {
|
|
89
89
|
return value;
|
|
90
90
|
}
|
|
91
91
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* `console.error` as a failure callback - it's not properly bound. If passes an
|
|
16
16
|
* `Error` object, it will print the message and stack.
|
|
17
17
|
*/
|
|
18
|
-
const logError = function (...args: $ReadOnlyArray<
|
|
18
|
+
const logError = function (...args: $ReadOnlyArray<unknown>) {
|
|
19
19
|
if (args.length === 1 && args[0] instanceof Error) {
|
|
20
20
|
const err = args[0];
|
|
21
21
|
console.error('Error: "' + err.message + '". Stack:\n' + err.stack);
|
|
@@ -19,17 +19,17 @@ export function createStringifySafeWithLimits(limits: {
|
|
|
19
19
|
maxStringLimit?: number,
|
|
20
20
|
maxArrayLimit?: number,
|
|
21
21
|
maxObjectKeysLimit?: number,
|
|
22
|
-
}):
|
|
22
|
+
}): unknown => string {
|
|
23
23
|
const {
|
|
24
24
|
maxDepth = Number.POSITIVE_INFINITY,
|
|
25
25
|
maxStringLimit = Number.POSITIVE_INFINITY,
|
|
26
26
|
maxArrayLimit = Number.POSITIVE_INFINITY,
|
|
27
27
|
maxObjectKeysLimit = Number.POSITIVE_INFINITY,
|
|
28
28
|
} = limits;
|
|
29
|
-
const stack: Array<
|
|
29
|
+
const stack: Array<unknown> = [];
|
|
30
30
|
/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
|
|
31
31
|
* Flow's LTI update could not be added via codemod */
|
|
32
|
-
function replacer(key: string, value:
|
|
32
|
+
function replacer(key: string, value: unknown): unknown {
|
|
33
33
|
while (stack.length && this !== stack[0]) {
|
|
34
34
|
stack.shift();
|
|
35
35
|
}
|
|
@@ -45,7 +45,7 @@ export function createStringifySafeWithLimits(limits: {
|
|
|
45
45
|
return value;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
let retval:
|
|
48
|
+
let retval: unknown = value;
|
|
49
49
|
if (Array.isArray(value)) {
|
|
50
50
|
if (stack.length >= maxDepth) {
|
|
51
51
|
retval = `[ ... array with ${value.length} values ... ]`;
|
|
@@ -64,7 +64,7 @@ export function createStringifySafeWithLimits(limits: {
|
|
|
64
64
|
retval = `{ ... object with ${keys.length} keys ... }`;
|
|
65
65
|
} else if (keys.length > maxObjectKeysLimit) {
|
|
66
66
|
// Return a sample of the keys.
|
|
67
|
-
retval = ({}: {[string]:
|
|
67
|
+
retval = ({}: {[string]: unknown});
|
|
68
68
|
for (let k of keys.slice(0, maxObjectKeysLimit)) {
|
|
69
69
|
retval[k] = value[k];
|
|
70
70
|
}
|
|
@@ -76,7 +76,7 @@ export function createStringifySafeWithLimits(limits: {
|
|
|
76
76
|
return retval;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
return function stringifySafe(arg:
|
|
79
|
+
return function stringifySafe(arg: unknown): string {
|
|
80
80
|
if (arg === undefined) {
|
|
81
81
|
return 'undefined';
|
|
82
82
|
} else if (arg === null) {
|
|
@@ -111,7 +111,7 @@ export function createStringifySafeWithLimits(limits: {
|
|
|
111
111
|
};
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
const stringifySafe:
|
|
114
|
+
const stringifySafe: unknown => string = createStringifySafeWithLimits({
|
|
115
115
|
maxDepth: 10,
|
|
116
116
|
maxStringLimit: 100,
|
|
117
117
|
maxArrayLimit: 50,
|
|
@@ -33,10 +33,10 @@ let isInterceptorEnabled = false;
|
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
* A network interceptor which monkey-patches RCTWebSocketModule methods
|
|
36
|
-
* to gather all websocket network
|
|
37
|
-
*
|
|
36
|
+
* to gather all websocket network events.
|
|
37
|
+
*
|
|
38
|
+
* @deprecated Since React Native 0.84
|
|
38
39
|
*/
|
|
39
|
-
|
|
40
40
|
const WebSocketInterceptor = {
|
|
41
41
|
/**
|
|
42
42
|
* Invoked when RCTWebSocketModule.close(...) is called.
|
|
@@ -12,8 +12,15 @@ import typeof {enable} from 'promise/setimmediate/rejection-tracking';
|
|
|
12
12
|
|
|
13
13
|
import ExceptionsManager from './Core/ExceptionsManager';
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
const rejectionTrackingOptions: NonNullable<Parameters<enable>[0]> = {
|
|
16
16
|
allRejections: true,
|
|
17
|
+
onHandled: id => {
|
|
18
|
+
const warning =
|
|
19
|
+
`Promise rejection handled (id: ${id})\n` +
|
|
20
|
+
'This means you can ignore any previous messages of the form ' +
|
|
21
|
+
`"Uncaught (in promise, id: ${id})"`;
|
|
22
|
+
console.warn(warning);
|
|
23
|
+
},
|
|
17
24
|
onUnhandled: (id, rejection) => {
|
|
18
25
|
let message: string;
|
|
19
26
|
|
|
@@ -46,13 +53,6 @@ let rejectionTrackingOptions: $NonMaybeType<Parameters<enable>[0]> = {
|
|
|
46
53
|
false /* isFatal */,
|
|
47
54
|
);
|
|
48
55
|
},
|
|
49
|
-
onHandled: id => {
|
|
50
|
-
const warning =
|
|
51
|
-
`Promise rejection handled (id: ${id})\n` +
|
|
52
|
-
'This means you can ignore any previous messages of the form ' +
|
|
53
|
-
`"Uncaught (in promise, id: ${id})"`;
|
|
54
|
-
console.warn(warning);
|
|
55
|
-
},
|
|
56
56
|
};
|
|
57
57
|
|
|
58
58
|
export default rejectionTrackingOptions;
|
|
@@ -9,30 +9,30 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
// From @react-native/js-polyfills
|
|
12
|
-
type ErrorHandler = (error:
|
|
13
|
-
type Fn<Args: $ReadOnlyArray<
|
|
12
|
+
type ErrorHandler = (error: unknown, isFatal: boolean) => void;
|
|
13
|
+
type Fn<Args: $ReadOnlyArray<unknown>, Return> = (...Args) => Return;
|
|
14
14
|
export type ErrorUtils = {
|
|
15
|
-
applyWithGuard<TArgs: $ReadOnlyArray<
|
|
15
|
+
applyWithGuard<TArgs: $ReadOnlyArray<unknown>, TOut>(
|
|
16
16
|
fun: Fn<TArgs, TOut>,
|
|
17
|
-
context?:
|
|
17
|
+
context?: unknown,
|
|
18
18
|
args?: ?TArgs,
|
|
19
19
|
unused_onError?: null,
|
|
20
20
|
unused_name?: ?string,
|
|
21
21
|
): ?TOut,
|
|
22
|
-
applyWithGuardIfNeeded<TArgs: $ReadOnlyArray<
|
|
22
|
+
applyWithGuardIfNeeded<TArgs: $ReadOnlyArray<unknown>, TOut>(
|
|
23
23
|
fun: Fn<TArgs, TOut>,
|
|
24
|
-
context?:
|
|
24
|
+
context?: unknown,
|
|
25
25
|
args?: ?TArgs,
|
|
26
26
|
): ?TOut,
|
|
27
27
|
getGlobalHandler(): ErrorHandler,
|
|
28
|
-
guard<TArgs: $ReadOnlyArray<
|
|
28
|
+
guard<TArgs: $ReadOnlyArray<unknown>, TOut>(
|
|
29
29
|
fun: Fn<TArgs, TOut>,
|
|
30
30
|
name?: ?string,
|
|
31
|
-
context?:
|
|
31
|
+
context?: unknown,
|
|
32
32
|
): ?(...TArgs) => ?TOut,
|
|
33
33
|
inGuard(): boolean,
|
|
34
|
-
reportError(error:
|
|
35
|
-
reportFatalError(error:
|
|
34
|
+
reportError(error: unknown): void,
|
|
35
|
+
reportFatalError(error: unknown): void,
|
|
36
36
|
setGlobalHandler(fun: ErrorHandler): void,
|
|
37
37
|
};
|
|
38
38
|
|
|
@@ -20,8 +20,8 @@ export interface IEventEmitter<
|
|
|
20
20
|
> {
|
|
21
21
|
addListener<TEvent: $Keys<TEventToArgsMap>>(
|
|
22
22
|
eventType: TEvent,
|
|
23
|
-
listener: (...args: TEventToArgsMap[TEvent]) =>
|
|
24
|
-
context?:
|
|
23
|
+
listener: (...args: TEventToArgsMap[TEvent]) => unknown,
|
|
24
|
+
context?: unknown,
|
|
25
25
|
): EventSubscription;
|
|
26
26
|
|
|
27
27
|
emit<TEvent: $Keys<TEventToArgsMap>>(
|
|
@@ -35,8 +35,8 @@ export interface IEventEmitter<
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
interface Registration<TArgs> {
|
|
38
|
-
+context:
|
|
39
|
-
+listener: (...args: TArgs) =>
|
|
38
|
+
+context: unknown;
|
|
39
|
+
+listener: (...args: TArgs) => unknown;
|
|
40
40
|
+remove: () => void;
|
|
41
41
|
}
|
|
42
42
|
|
|
@@ -85,8 +85,8 @@ export default class EventEmitter<
|
|
|
85
85
|
*/
|
|
86
86
|
addListener<TEvent: $Keys<TEventToArgsMap>>(
|
|
87
87
|
eventType: TEvent,
|
|
88
|
-
listener: (...args: TEventToArgsMap[TEvent]) =>
|
|
89
|
-
context:
|
|
88
|
+
listener: (...args: TEventToArgsMap[TEvent]) => unknown,
|
|
89
|
+
context: unknown,
|
|
90
90
|
): EventSubscription {
|
|
91
91
|
if (typeof listener !== 'function') {
|
|
92
92
|
throw new TypeError(
|
|
@@ -59,7 +59,7 @@ declare type $HermesInternalType = {
|
|
|
59
59
|
+getRuntimeProperties?: () => {
|
|
60
60
|
'OSS Release Version': string,
|
|
61
61
|
Build: string,
|
|
62
|
-
[string]:
|
|
62
|
+
[string]: unknown,
|
|
63
63
|
},
|
|
64
64
|
|
|
65
65
|
/**
|
|
@@ -93,10 +93,10 @@ declare type $HermesInternalType = {
|
|
|
93
93
|
*/
|
|
94
94
|
+enablePromiseRejectionTracker?: (
|
|
95
95
|
options: ?{
|
|
96
|
-
whitelist?: ?Array<
|
|
96
|
+
whitelist?: ?Array<unknown>,
|
|
97
97
|
allRejections?: ?boolean,
|
|
98
|
-
onUnhandled?: ?(number,
|
|
99
|
-
onHandled?: ?(number,
|
|
98
|
+
onUnhandled?: ?(number, unknown) => void,
|
|
99
|
+
onHandled?: ?(number, unknown) => void,
|
|
100
100
|
},
|
|
101
101
|
) => void,
|
|
102
102
|
|
|
@@ -108,7 +108,7 @@ declare type $HermesInternalType = {
|
|
|
108
108
|
/**
|
|
109
109
|
* Enqueue a JavaScript callback function as a Job into the engine Job queue.
|
|
110
110
|
*/
|
|
111
|
-
+enqueueJob?: <TArguments: Array<
|
|
112
|
-
jobCallback: (...args: TArguments) =>
|
|
111
|
+
+enqueueJob?: <TArguments: Array<unknown>>(
|
|
112
|
+
jobCallback: (...args: TArguments) => unknown,
|
|
113
113
|
) => void,
|
|
114
114
|
};
|
package/flow/bom.js.flow
CHANGED
|
@@ -25,34 +25,38 @@ type DevToolsColor =
|
|
|
25
25
|
| 'warning'
|
|
26
26
|
| 'error';
|
|
27
27
|
|
|
28
|
+
declare interface ConsoleTask {
|
|
29
|
+
run<T>(f: () => T): T;
|
|
30
|
+
}
|
|
31
|
+
|
|
28
32
|
// $FlowExpectedError[libdef-override] Flow core definitions are incomplete.
|
|
29
33
|
declare var console: {
|
|
30
34
|
// Logging
|
|
31
|
-
log(...data: $ReadOnlyArray<
|
|
32
|
-
trace(...data: $ReadOnlyArray<
|
|
33
|
-
debug(...data: $ReadOnlyArray<
|
|
34
|
-
info(...data: $ReadOnlyArray<
|
|
35
|
-
warn(...data: $ReadOnlyArray<
|
|
36
|
-
error(...data: $ReadOnlyArray<
|
|
35
|
+
log(...data: $ReadOnlyArray<unknown>): void,
|
|
36
|
+
trace(...data: $ReadOnlyArray<unknown>): void,
|
|
37
|
+
debug(...data: $ReadOnlyArray<unknown>): void,
|
|
38
|
+
info(...data: $ReadOnlyArray<unknown>): void,
|
|
39
|
+
warn(...data: $ReadOnlyArray<unknown>): void,
|
|
40
|
+
error(...data: $ReadOnlyArray<unknown>): void,
|
|
37
41
|
|
|
38
42
|
// Grouping
|
|
39
|
-
group(...data: $ReadOnlyArray<
|
|
40
|
-
groupCollapsed(...data: $ReadOnlyArray<
|
|
43
|
+
group(...data: $ReadOnlyArray<unknown>): void,
|
|
44
|
+
groupCollapsed(...data: $ReadOnlyArray<unknown>): void,
|
|
41
45
|
groupEnd(): void,
|
|
42
46
|
|
|
43
47
|
// Printing
|
|
44
48
|
table(
|
|
45
49
|
tabularData:
|
|
46
|
-
| $ReadOnly<{[key: string]:
|
|
47
|
-
| $ReadOnlyArray<$ReadOnly<{[key: string]:
|
|
48
|
-
| $ReadOnlyArray<$ReadOnlyArray<
|
|
50
|
+
| $ReadOnly<{[key: string]: unknown, ...}>
|
|
51
|
+
| $ReadOnlyArray<$ReadOnly<{[key: string]: unknown, ...}>>
|
|
52
|
+
| $ReadOnlyArray<$ReadOnlyArray<unknown>>,
|
|
49
53
|
): void,
|
|
50
|
-
dir(...data: $ReadOnlyArray<
|
|
51
|
-
dirxml(...data: $ReadOnlyArray<
|
|
54
|
+
dir(...data: $ReadOnlyArray<unknown>): void,
|
|
55
|
+
dirxml(...data: $ReadOnlyArray<unknown>): void,
|
|
52
56
|
clear(): void,
|
|
53
57
|
|
|
54
58
|
// Utilities
|
|
55
|
-
assert(condition:
|
|
59
|
+
assert(condition: unknown, ...data: $ReadOnlyArray<unknown>): void,
|
|
56
60
|
|
|
57
61
|
// Profiling
|
|
58
62
|
profile(name?: string): void,
|
|
@@ -72,9 +76,12 @@ declare var console: {
|
|
|
72
76
|
trackName?: string,
|
|
73
77
|
trackGroup?: string,
|
|
74
78
|
color?: DevToolsColor,
|
|
75
|
-
detail?: {[string]:
|
|
79
|
+
detail?: {[string]: unknown},
|
|
76
80
|
): void,
|
|
77
81
|
|
|
82
|
+
// Stack tagging
|
|
83
|
+
createTask(label: string): ConsoleTask,
|
|
84
|
+
|
|
78
85
|
...
|
|
79
86
|
};
|
|
80
87
|
|
|
@@ -107,12 +114,12 @@ declare class PerformanceEntry {
|
|
|
107
114
|
// https://w3c.github.io/user-timing/#performancemark
|
|
108
115
|
declare class PerformanceMark extends PerformanceEntry {
|
|
109
116
|
constructor(name: string, markOptions?: PerformanceMarkOptions): void;
|
|
110
|
-
+detail:
|
|
117
|
+
+detail: unknown;
|
|
111
118
|
}
|
|
112
119
|
|
|
113
120
|
// https://w3c.github.io/user-timing/#performancemeasure
|
|
114
121
|
declare class PerformanceMeasure extends PerformanceEntry {
|
|
115
|
-
+detail:
|
|
122
|
+
+detail: unknown;
|
|
116
123
|
}
|
|
117
124
|
|
|
118
125
|
// https://w3c.github.io/server-timing/#the-performanceservertiming-interface
|
|
@@ -170,12 +177,12 @@ declare class PerformanceLongTaskTiming extends PerformanceEntry {
|
|
|
170
177
|
|
|
171
178
|
// https://www.w3.org/TR/user-timing/#extensions-performance-interface
|
|
172
179
|
declare type PerformanceMarkOptions = {
|
|
173
|
-
detail?:
|
|
180
|
+
detail?: unknown,
|
|
174
181
|
startTime?: number,
|
|
175
182
|
};
|
|
176
183
|
|
|
177
184
|
declare type PerformanceMeasureOptions = {
|
|
178
|
-
detail?:
|
|
185
|
+
detail?: unknown,
|
|
179
186
|
duration?: number,
|
|
180
187
|
end?: number | string,
|
|
181
188
|
start?: number | string,
|
|
@@ -242,7 +249,7 @@ declare class PerformanceObserver {
|
|
|
242
249
|
callback: (
|
|
243
250
|
entries: PerformanceObserverEntryList,
|
|
244
251
|
observer: PerformanceObserver,
|
|
245
|
-
) =>
|
|
252
|
+
) => unknown,
|
|
246
253
|
): void;
|
|
247
254
|
|
|
248
255
|
disconnect(): void;
|
|
@@ -338,10 +345,10 @@ declare class WebSocket extends EventTarget {
|
|
|
338
345
|
CONNECTING: 0;
|
|
339
346
|
constructor(url: string, protocols?: string | Array<string>): void;
|
|
340
347
|
extensions: string;
|
|
341
|
-
onclose: (ev: CloseEvent) =>
|
|
342
|
-
onerror: (ev: $FlowFixMe) =>
|
|
343
|
-
onmessage: (ev: MessageEvent) =>
|
|
344
|
-
onopen: (ev: $FlowFixMe) =>
|
|
348
|
+
onclose: (ev: CloseEvent) => unknown;
|
|
349
|
+
onerror: (ev: $FlowFixMe) => unknown;
|
|
350
|
+
onmessage: (ev: MessageEvent) => unknown;
|
|
351
|
+
onopen: (ev: $FlowFixMe) => unknown;
|
|
345
352
|
static OPEN: 1;
|
|
346
353
|
OPEN: 1;
|
|
347
354
|
protocol: string;
|
|
@@ -371,7 +378,7 @@ declare class XMLHttpRequest extends EventTarget {
|
|
|
371
378
|
onloadend: ProgressEventHandler;
|
|
372
379
|
onloadstart: ProgressEventHandler;
|
|
373
380
|
onprogress: ProgressEventHandler;
|
|
374
|
-
onreadystatechange: (ev: $FlowFixMe) =>
|
|
381
|
+
onreadystatechange: (ev: $FlowFixMe) => unknown;
|
|
375
382
|
ontimeout: ProgressEventHandler;
|
|
376
383
|
open(
|
|
377
384
|
method: string,
|
|
@@ -434,7 +441,7 @@ declare class Headers {
|
|
|
434
441
|
value: string,
|
|
435
442
|
name: string,
|
|
436
443
|
headers: Headers,
|
|
437
|
-
) =>
|
|
444
|
+
) => unknown,
|
|
438
445
|
thisArg: This,
|
|
439
446
|
): void;
|
|
440
447
|
get(name: string): null | string;
|
|
@@ -464,7 +471,7 @@ declare class URLSearchParams {
|
|
|
464
471
|
value: string,
|
|
465
472
|
name: string,
|
|
466
473
|
params: URLSearchParams,
|
|
467
|
-
) =>
|
|
474
|
+
) => unknown,
|
|
468
475
|
thisArg: This,
|
|
469
476
|
): void;
|
|
470
477
|
get(name: string): null | string;
|
|
@@ -604,7 +611,7 @@ declare class AbortController {
|
|
|
604
611
|
declare class AbortSignal extends EventTarget {
|
|
605
612
|
abort(reason?: $FlowFixMe): AbortSignal;
|
|
606
613
|
+aborted: boolean;
|
|
607
|
-
onabort: (event: Event) =>
|
|
614
|
+
onabort: (event: Event) => unknown;
|
|
608
615
|
+reason: $FlowFixMe;
|
|
609
616
|
throwIfAborted(): void;
|
|
610
617
|
timeout(time: number): AbortSignal;
|
package/flow/cssom.js.flow
CHANGED
|
@@ -524,9 +524,9 @@ declare class Animation extends EventTarget {
|
|
|
524
524
|
finish(): void;
|
|
525
525
|
+finished: Promise<Animation>;
|
|
526
526
|
id: string;
|
|
527
|
-
oncancel: ?(ev: AnimationPlaybackEvent) =>
|
|
528
|
-
onfinish: ?(ev: AnimationPlaybackEvent) =>
|
|
529
|
-
onremove: ?(ev: AnimationPlaybackEvent) =>
|
|
527
|
+
oncancel: ?(ev: AnimationPlaybackEvent) => unknown;
|
|
528
|
+
onfinish: ?(ev: AnimationPlaybackEvent) => unknown;
|
|
529
|
+
onremove: ?(ev: AnimationPlaybackEvent) => unknown;
|
|
530
530
|
pause(): void;
|
|
531
531
|
+pending: boolean;
|
|
532
532
|
persist(): void;
|