Files
react-native/packages/react-native/Libraries/Network/convertRequestBody.js
T
Iwo PlazaandFacebook GitHub Bot 152587cda0 Migrate Utilities/binaryToBase64, Utilities/DevSettings, Utilities/PolyfillFunctions & Utilities/RCTLog to use export syntax (#49403)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49403

## Motivation
Modernising the RN codebase to allow for modern Flow tooling to process it.

## This diff
- Migrates `Utilities/binaryToBase64`, `Utilities/DevSettings`, `Utilities/PolyfillFunctions` & `Utilities/RCTLog` to use the export syntax.
- Updates deep-imports of these files to use `.default`
- Updates the current iteration of API snapshots (intended).

Changelog:
[General][Breaking] - Deep imports to `Utilities/binaryToBase64`, `Utilities/DevSettings`, `Utilities/PolyfillFunctions` or `Utilities/RCTLog` with `require` syntax need to be appended with '.default'.

Reviewed By: huntie

Differential Revision: D69600476

fbshipit-source-id: 3f8ac3a35031e8b20446abc8f52a2817cb31b6d2
2025-02-13 11:13:25 -08:00

47 lines
1.1 KiB
JavaScript

/**
* Copyright (c) Meta Platforms, Inc. and 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 typeof BlobT from '../Blob/Blob';
import typeof FormDataT from './FormData';
const Blob: BlobT = require('../Blob/Blob').default;
const binaryToBase64 = require('../Utilities/binaryToBase64').default;
const FormData: FormDataT = require('./FormData').default;
export type RequestBody =
| string
| Blob
| FormData
| {uri: string, ...}
| ArrayBuffer
| $ArrayBufferView;
function convertRequestBody(body: RequestBody): Object {
if (typeof body === 'string') {
return {string: body};
}
if (body instanceof Blob) {
return {blob: body.data};
}
if (body instanceof FormData) {
return {formData: body.getParts()};
}
if (body instanceof ArrayBuffer || ArrayBuffer.isView(body)) {
/* $FlowFixMe[incompatible-call] : no way to assert that 'body' is indeed
* an ArrayBufferView */
return {base64: binaryToBase64(body)};
}
return body;
}
export default convertRequestBody;