[core][ios] Add support for ArrayBuffers#41548
Merged
Conversation
91037c5 to
156bc6f
Compare
Collaborator
|
The Pull Request introduced fingerprint changes against the base commit: 8ea5b2a Fingerprint diff[
{
"op": "changed",
"beforeSource": {
"type": "dir",
"filePath": "../../packages/expo-modules-core",
"reasons": [
"expoAutolinkingIos",
"expoAutolinkingAndroid",
"expoAutolinkingIos"
],
"hash": "9dedccf6bf207b12be2007a2eaafcfb7fd0b5d34"
},
"afterSource": {
"type": "dir",
"filePath": "../../packages/expo-modules-core",
"reasons": [
"expoAutolinkingIos",
"expoAutolinkingAndroid",
"expoAutolinkingIos"
],
"hash": "570a540a11f807254c4f5586afcebc97bfee8db7"
}
}
]Generated by PR labeler 🤖 |
Contributor
|
Subscribed to pull request
Generated by CodeMention |
lukmccall
reviewed
Dec 12, 2025
packages/expo-modules-core/ios/Core/ArrayBuffers/ArrayBuffer.swift
Outdated
Show resolved
Hide resolved
packages/expo-modules-core/ios/Core/ArrayBuffers/ArrayBuffer.swift
Outdated
Show resolved
Hide resolved
packages/expo-modules-core/ios/Core/ArrayBuffers/ArrayBufferExtensions.swift
Outdated
Show resolved
Hide resolved
packages/expo-modules-core/ios/JSI/EXRawJavaScriptArrayBuffer.mm
Outdated
Show resolved
Hide resolved
packages/expo-modules-core/ios/JSI/EXRawJavaScriptArrayBuffer.mm
Outdated
Show resolved
Hide resolved
packages/expo-modules-core/ios/JSI/EXRawJavaScriptArrayBuffer.mm
Outdated
Show resolved
Hide resolved
packages/expo-modules-core/ios/JSI/EXRawJavaScriptArrayBuffer.mm
Outdated
Show resolved
Hide resolved
Co-authored-by: Łukasz Kosmaty <kosmatylukasz@gmail.com>
lukmccall
approved these changes
Jan 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Follow up #41404 and #41415 for Android.
Adds support for
JavaScriptArrayBufferandNativeArrayBufferin Expo modules.How
JavaScriptArrayBufferthat wraps JSI ArrayBuffer objectNativeArrayBufferthat manages direct memory, is thread safe, can be created on native side. When used as argument type, a JS buffer is copied. Then, zero-copy JSI ArrayBuffer is created upon returning.ArrayBufferclass which contains some utilities for working withUnsafe[...]Pointers andData.I tried to keep code organized similarly to the typed arrays implementation, to keep it somehow consistent.
Test Plan
Checklist
changelog.mdentry and rebuilt the package sources according to this short guidenpx expo prebuild& EAS Build (eg: updated a module plugin).