expo-modules-jsi 56.0.11 → 56.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,18 @@
|
|
|
10
10
|
|
|
11
11
|
### 💡 Others
|
|
12
12
|
|
|
13
|
+
## 56.0.13 — 2026-08-28
|
|
14
|
+
|
|
15
|
+
### 🐛 Bug fixes
|
|
16
|
+
|
|
17
|
+
- [iOS] Type the host-object setter pointer explicitly so the nil-check conversion type-checks reliably. ([#46736](https://github.com/expo/expo/pull/46736) by [@tsapeta](https://github.com/tsapeta))
|
|
18
|
+
|
|
19
|
+
## 56.0.12 — 2026-07-07
|
|
20
|
+
|
|
21
|
+
### 🐛 Bug fixes
|
|
22
|
+
|
|
23
|
+
- [iOS] Return `NSNull` instead of trapping in the deprecated `JavaScriptValue.getAny()` when it encounters a unrepresentable value. ([#47381](https://github.com/expo/expo/pull/47381) by [@alanjhughes](https://github.com/alanjhughes))
|
|
24
|
+
|
|
13
25
|
## 56.0.11 — 2026-07-03
|
|
14
26
|
|
|
15
27
|
### 🐛 Bug fixes
|
|
@@ -213,10 +213,11 @@ open class JavaScriptRuntime: Equatable, @unchecked Sendable {
|
|
|
213
213
|
|
|
214
214
|
let context = Unmanaged.passRetained(HostObjectContext(runtime: self, get, set, getPropertyNames, dealloc))
|
|
215
215
|
.toOpaque()
|
|
216
|
+
let setterPointer: (@convention(c) (UnsafeMutableRawPointer, UnsafePointer<CChar>, UnsafeMutableRawPointer) -> Void)? = setter
|
|
216
217
|
// Pass a null setter to C++ when the Swift setter is nil so that JS assignment
|
|
217
218
|
// raises a `jsi::JSError` directly, without crossing the Swift boundary.
|
|
218
219
|
let callbacks = expo.HostObjectCallbacks(
|
|
219
|
-
context, getter, set == nil ? nil :
|
|
220
|
+
context, getter, set == nil ? nil : setterPointer, propertyNamesGetter, deallocate)
|
|
220
221
|
let hostObject = expo.HostObject.makeObject(pointee, consume callbacks)
|
|
221
222
|
|
|
222
223
|
return JavaScriptObject(self, hostObject)
|
|
@@ -201,7 +201,8 @@ public final class JavaScriptValue: JavaScriptType, Equatable, Escapable, Error
|
|
|
201
201
|
return result
|
|
202
202
|
}
|
|
203
203
|
if object.isFunction() {
|
|
204
|
-
|
|
204
|
+
// Don't trap, callers convert speculatively under `try?`, which can't catch a `fatalError`.
|
|
205
|
+
return NSNull()
|
|
205
206
|
}
|
|
206
207
|
var result = [String: Any]()
|
|
207
208
|
|
|
@@ -215,7 +216,8 @@ public final class JavaScriptValue: JavaScriptType, Equatable, Escapable, Error
|
|
|
215
216
|
}
|
|
216
217
|
return result
|
|
217
218
|
}
|
|
218
|
-
|
|
219
|
+
// Unrepresentable kind (e.g. symbol). Don't trap, for the same reason as above.
|
|
220
|
+
return NSNull()
|
|
219
221
|
}
|
|
220
222
|
|
|
221
223
|
/// Returns the value as a boolean, or asserts if not a boolean.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-modules-jsi",
|
|
3
|
-
"version": "56.0.
|
|
3
|
+
"version": "56.0.13",
|
|
4
4
|
"description": "The JavaScript Interface for Expo Modules",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"sideEffects": [],
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"./apple/scripts/test.sh"
|
|
42
42
|
]
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "1b8eb0e13635d3ef52c1c11d305ff927d01390ae",
|
|
45
45
|
"scripts": {
|
|
46
46
|
"build": "apple/scripts/build-xcframework.sh",
|
|
47
47
|
"swift:format": "../../scripts/swift-format.sh",
|