diff --git a/packages/community-cli-plugin/src/dev-server/version.js b/packages/community-cli-plugin/src/dev-server/version.js index 8d86c1bdcd89..9cc0303344b0 100644 --- a/packages/community-cli-plugin/src/dev-server/version.js +++ b/packages/community-cli-plugin/src/dev-server/version.js @@ -153,7 +153,7 @@ function buildDiffUrl(oldVersion: string, newVersion: string) { * Returns the most recent React Native version available to upgrade to. */ async function getLatestRnDiffPurgeVersion(): Promise { - const options: RequestOptions = { + const options: RequestInit = { // https://developer.github.com/v3/#user-agent-required headers: {'User-Agent': '@react-native/community-cli-plugin'} as Headers, }; diff --git a/packages/react-native/Libraries/Animated/animations/DecayAnimation.js b/packages/react-native/Libraries/Animated/animations/DecayAnimation.js index 07dc60372058..17ec3b3a61df 100644 --- a/packages/react-native/Libraries/Animated/animations/DecayAnimation.js +++ b/packages/react-native/Libraries/Animated/animations/DecayAnimation.js @@ -42,7 +42,7 @@ export default class DecayAnimation extends Animation { _deceleration: number; _velocity: number; _onUpdate: (value: number) => void; - _animationFrame: ?AnimationFrameID; + _animationFrame: ?number; _platformConfig: ?PlatformConfig; constructor(config: DecayAnimationConfigSingle) { diff --git a/packages/react-native/Libraries/Animated/animations/SpringAnimation.js b/packages/react-native/Libraries/Animated/animations/SpringAnimation.js index 62ede656adce..158432b6d6bd 100644 --- a/packages/react-native/Libraries/Animated/animations/SpringAnimation.js +++ b/packages/react-native/Libraries/Animated/animations/SpringAnimation.js @@ -104,7 +104,7 @@ export default class SpringAnimation extends Animation { _lastTime: number; _frameTime: number; _onUpdate: (value: number) => void; - _animationFrame: ?AnimationFrameID; + _animationFrame: ?number; _platformConfig: ?PlatformConfig; constructor(config: SpringAnimationConfigSingle) { diff --git a/packages/react-native/Libraries/Animated/animations/TimingAnimation.js b/packages/react-native/Libraries/Animated/animations/TimingAnimation.js index e83d1a449a05..65bb99978f6d 100644 --- a/packages/react-native/Libraries/Animated/animations/TimingAnimation.js +++ b/packages/react-native/Libraries/Animated/animations/TimingAnimation.js @@ -68,7 +68,7 @@ export default class TimingAnimation extends Animation { _delay: number; _easing: (value: number) => number; _onUpdate: (value: number) => void; - _animationFrame: ?AnimationFrameID; + _animationFrame: ?number; _timeout: ?TimeoutID; _platformConfig: ?PlatformConfig; _deferredStart: boolean; diff --git a/packages/react-native/flow/bom.js.flow b/packages/react-native/flow/bom.js.flow index 6d88d7dc7dfd..a2ed4d76e610 100644 --- a/packages/react-native/flow/bom.js.flow +++ b/packages/react-native/flow/bom.js.flow @@ -479,14 +479,14 @@ declare class XMLHttpRequest extends EventTarget { LOADING: number; msCaching: string; msCachingEnabled(): boolean; - onabort: ProgressEventHandler; - onerror: ProgressEventHandler; - onload: ProgressEventHandler; - onloadend: ProgressEventHandler; - onloadstart: ProgressEventHandler; - onprogress: ProgressEventHandler; + onabort: (event: ProgressEvent) => unknown; + onerror: (event: ProgressEvent) => unknown; + onload: (event: ProgressEvent) => unknown; + onloadend: (event: ProgressEvent) => unknown; + onloadstart: (event: ProgressEvent) => unknown; + onprogress: (event: ProgressEvent) => unknown; onreadystatechange: (ev: $FlowFixMe) => unknown; - ontimeout: ProgressEventHandler; + ontimeout: (event: ProgressEvent) => unknown; open( method: string, url: string, @@ -518,13 +518,13 @@ declare class XMLHttpRequest extends EventTarget { } declare class XMLHttpRequestEventTarget extends EventTarget { - onabort: ProgressEventHandler; - onerror: ProgressEventHandler; - onload: ProgressEventHandler; - onloadend: ProgressEventHandler; - onloadstart: ProgressEventHandler; - onprogress: ProgressEventHandler; - ontimeout: ProgressEventHandler; + onabort: (event: ProgressEvent) => unknown; + onerror: (event: ProgressEvent) => unknown; + onload: (event: ProgressEvent) => unknown; + onloadend: (event: ProgressEvent) => unknown; + onloadstart: (event: ProgressEvent) => unknown; + onprogress: (event: ProgressEvent) => unknown; + ontimeout: (event: ProgressEvent) => unknown; } // this part of spec is not finished yet, apparently @@ -625,7 +625,7 @@ type BodyInit = type RequestInfo = Request | URL | string; -type RequestOptions = { +type RequestInit = { body?: ?BodyInit, cache?: CacheType, credentials?: CredentialsType, @@ -684,7 +684,7 @@ declare class Request { cache: CacheType; clone(): Request; - constructor(input: RequestInfo, init?: RequestOptions): void; + constructor(input: RequestInfo, init?: RequestInit): void; credentials: CredentialsType; formData(): Promise; headers: Headers; @@ -720,7 +720,7 @@ declare class AbortSignal extends EventTarget { declare function fetch( input: RequestInfo, - init?: RequestOptions, + init?: RequestInit, ): Promise; declare class Location { @@ -740,11 +740,6 @@ declare class Location { toString(): string; } -declare class CanvasCaptureMediaStream extends MediaStream { - canvas: HTMLCanvasElement; - requestFrame(): void; -} - declare type FileSystemHandleKind = 'file' | 'directory'; // https://wicg.github.io/file-system-access/#api-filesystemhandle diff --git a/packages/react-native/flow/dom.js.flow b/packages/react-native/flow/dom.js.flow index e7175d425db7..8937494e034b 100644 --- a/packages/react-native/flow/dom.js.flow +++ b/packages/react-native/flow/dom.js.flow @@ -1260,7 +1260,7 @@ declare class SecurityPolicyViolationEvent extends Event { // https://developer.mozilla.org/en-US/docs/Web/API/USBConnectionEvent declare class USBConnectionEvent extends Event { - device: USBDevice; + device: unknown; } // TODO: *Event @@ -4965,6 +4965,12 @@ declare class WebGLContextEvent extends Event { // http://www.w3.org/TR/html5/scripting-1.html#renderingcontext type RenderingContext = CanvasRenderingContext2D | WebGLRenderingContext; +type CanvasCaptureMediaStream = MediaStream & { + canvas: HTMLCanvasElement, + requestFrame(): void, + ... +}; + // https://www.w3.org/TR/html5/scripting-1.html#htmlcanvaselement declare class HTMLCanvasElement extends HTMLElement { tagName: 'CANVAS'; @@ -6100,12 +6106,10 @@ declare function getComputedStyle( elt: Element, pseudoElt?: string, ): CSSStyleDeclaration; -declare opaque type AnimationFrameID; declare function requestAnimationFrame( callback: (timestamp: number) => void, -): AnimationFrameID; -declare function cancelAnimationFrame(requestId: AnimationFrameID): void; -declare opaque type IdleCallbackID; +): number; +declare function cancelAnimationFrame(requestId: number): void; declare function requestIdleCallback( cb: (deadline: { didTimeout: boolean, @@ -6113,8 +6117,8 @@ declare function requestIdleCallback( ... }) => void, opts?: {timeout: number, ...}, -): IdleCallbackID; -declare function cancelIdleCallback(id: IdleCallbackID): void; +): number; +declare function cancelIdleCallback(id: number): void; declare var localStorage: Storage; declare var devicePixelRatio: number; declare function focus(): void; diff --git a/packages/rn-tester/IntegrationTests/TimersTest.js b/packages/rn-tester/IntegrationTests/TimersTest.js index b18ce45505ce..d82b6f8c0e6b 100644 --- a/packages/rn-tester/IntegrationTests/TimersTest.js +++ b/packages/rn-tester/IntegrationTests/TimersTest.js @@ -32,7 +32,7 @@ class TimersTest extends React.Component { _timeoutIDs: Set = new Set(); _intervalIDs: Set = new Set(); _immediateIDs: Set = new Set(); - _animationFrameIDs: Set = new Set(); + _animationFrameIDs: Set = new Set(); state: State = { count: 0, @@ -81,8 +81,8 @@ class TimersTest extends React.Component { return id; } - requestAnimationFrame(fn: () => void): AnimationFrameID { - const id: AnimationFrameID = requestAnimationFrame(() => { + requestAnimationFrame(fn: () => void): number { + const id: number = requestAnimationFrame(() => { this._animationFrameIDs.delete(id); fn(); }); @@ -92,7 +92,7 @@ class TimersTest extends React.Component { return id; } - cancelAnimationFrame(id: AnimationFrameID): void { + cancelAnimationFrame(id: number): void { this._animationFrameIDs.delete(id); cancelAnimationFrame(id); } diff --git a/packages/rn-tester/js/examples/Timer/TimerExample.js b/packages/rn-tester/js/examples/Timer/TimerExample.js index d9417d4c33b6..fa2e0d57b012 100644 --- a/packages/rn-tester/js/examples/Timer/TimerExample.js +++ b/packages/rn-tester/js/examples/Timer/TimerExample.js @@ -33,7 +33,7 @@ class RequestIdleCallbackTester extends React.Component< message: '-', }; - _idleTimer: ?IdleCallbackID = null; + _idleTimer: ?number = null; _iters = 0; componentWillUnmount() { @@ -156,7 +156,7 @@ class TimerTester extends React.Component { _iters = 0; _start = 0; _timerId: ?TimeoutID = null; - _rafId: ?AnimationFrameID = null; + _rafId: ?number = null; _intervalId: ?IntervalID = null; _immediateId: ?Object = null; _timerFn: ?() => any = null;