SIGN IN SIGN UP
facebook / react-native UNCLAIMED

A framework for building native applications using React

0 0 0 C++

Align Flow lib defs for Node.js buffer with v24

Summary:
This is an AI-assisted change to align the Flow definitions for the `buffer` module with the Node.js docs as at v24.

**New Validation Functions:**

1. **`isUtf8(input)`** - UTF-8 validation (added in v19.4.0, v18.14.0)
   - Validates if Buffer/ArrayBuffer/TypedArray contains only valid UTF-8 data
   - Returns `true` for valid UTF-8 (including empty buffers)
   - Throws error if input is a detached array buffer
   - https://nodejs.org/api/buffer.html#bufferisutf8input

2. **`isAscii(input)`** - ASCII validation (added in v19.6.0, v18.15.0)
   - Validates if Buffer/ArrayBuffer/TypedArray contains only ASCII (0x00-0x7F)
   - Returns `true` for valid ASCII (including empty buffers)
   - Throws error if input is a detached array buffer
   - https://nodejs.org/api/buffer.html#bufferisasciiinput

**Blob URL Resolution:**

3. **`resolveObjectURL(id)`** - Resolve Blob from URL (added in v16.7.0)
   - Resolves `'blob:nodedata:...'` URL to its associated Blob object
   - Returns Blob or `undefined` if URL not found
   - Works with URLs created via `URL.createObjectURL(blob)`
   - https://nodejs.org/api/buffer.html#bufferresolveobjecturlid

**New Constants:**

4. **`constants` object** - Buffer size limits
   - `constants.MAX_LENGTH` - Maximum size of a single Buffer instance
   - `constants.MAX_STRING_LENGTH` - Maximum length for string operations
   - https://nodejs.org/api/buffer.html#bufferconstantsmax_length

**Web API Classes (re-exported):**

5. **`Blob` class** - Exported from buffer module (global in v18.0.0)
   - Web API-compatible Blob for immutable binary data
   - Also available as global (no import needed in v18+)
   - https://nodejs.org/api/buffer.html#class-blob

6. **`File` class** - Exported from buffer module (global in v20.0.0)
   - Web API-compatible File extending Blob
   - Also available as global (no import needed in v20+)
   - https://nodejs.org/api/buffer.html#class-file

**References:**
- Node.js buffer module docs: https://nodejs.org/api/buffer.html

Changelog: [Internal]
---
> Generated by [Confucius Code Assist (CCA)](https://www.internalfb.com/wiki/Confucius/Analect/Shared_Analects/Confucius_Code_Assist_(CCA)/)
[Confucius Session](https://www.internalfb.com/confucius?host=devvm45708.cln0.facebook.com&port=8086&tab=Chat&session_id=1a3aa26e-e5a9-11f0-8d47-71a4a90f0494&entry_name=Code+Assist), [Trace](https://www.internalfb.com/confucius?session_id=1a3aa26e-e5a9-11f0-8d47-71a4a90f0494&tab=Trace)

Reviewed By: vzaidman

Differential Revision: D89942832
R
Rob Hogan committed
1e69a6dba1bd47a3692d54da5eedc2d2386d980c
Parent: f5c1126
Committed by Facebook GitHub Bot <facebook-github-bot@users.noreply.github.com> on 1/2/2026, 5:03:02 PM