Files
react-native/Libraries/Network/RCTNetworking.ios.js
T
Rubén Norte 4409642811 Migrate large amount of modules to flow strict and strict-local
Summary:
| Group | Before | After | Change |
| Untyped | 50 | 49 | -1 |
| flow | 197 | 155 | -42 |
| flow strict-local | 226 | 185 | -41 |
| flow strict | 33 | 117 | +84

Changelog: [Changed] Improved Flow typing of multiple modules (with migrations to `flow strict` and `flow strict-local`

Reviewed By: motiz88

Differential Revision: D22549140

fbshipit-source-id: ed29415332cfce15b244ee4dea9e13d035543175
2020-07-22 09:46:16 -07:00

62 lines
1.5 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.
*
* @format
* @flow strict-local
*/
'use strict';
import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
import NativeNetworkingIOS from './NativeNetworkingIOS';
import type {NativeResponseType} from './XMLHttpRequest';
import convertRequestBody from './convertRequestBody';
import type {RequestBody} from './convertRequestBody';
class RCTNetworking extends NativeEventEmitter {
constructor() {
super(NativeNetworkingIOS);
}
sendRequest(
method: string,
trackingName: string,
url: string,
headers: {...},
data: RequestBody,
responseType: NativeResponseType,
incrementalUpdates: boolean,
timeout: number,
callback: (requestId: number) => void,
withCredentials: boolean,
) {
const body = convertRequestBody(data);
NativeNetworkingIOS.sendRequest(
{
method,
url,
data: {...body, trackingName},
headers,
responseType,
incrementalUpdates,
timeout,
withCredentials,
},
callback,
);
}
abortRequest(requestId: number) {
NativeNetworkingIOS.abortRequest(requestId);
}
clearCookies(callback: (result: boolean) => void) {
NativeNetworkingIOS.clearCookies(callback);
}
}
module.exports = (new RCTNetworking(): RCTNetworking);