expo-modules-macros 0.19.0 → 0.19.1

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.
Binary file
@@ -88,22 +88,23 @@ internal func directionalConformanceAssertion(
88
88
  // Build the generic parameter list and the matching call arguments in lockstep: one `A0…` slot
89
89
  // constrained `JavaScriptDecodable` per argument, one `E0…` slot constrained `JavaScriptEncodable`
90
90
  // per closure-argument parameter, and a single `Return` slot constrained `JavaScriptEncodable` for
91
- // the return/getter value (there's only ever one, so it isn't indexed).
91
+ // the return/getter value (there's only ever one, so it isn't indexed). Every slot suppresses
92
+ // `Copyable`, so a non-copyable boundary type such as `JavaScriptValue` can fill it.
92
93
  var parameters: [String] = []
93
94
  var typeParameters: [String] = []
94
95
  var arguments: [String] = []
95
96
  for (index, type) in decodables.enumerated() {
96
- parameters.append("A\(index): \(javaScriptDecodableProtocolName)")
97
+ parameters.append("A\(index): \(javaScriptDecodableProtocolName) & ~Copyable")
97
98
  typeParameters.append("_: A\(index).Type")
98
99
  arguments.append("\(type).self")
99
100
  }
100
101
  for (index, type) in callbackArguments.enumerated() {
101
- parameters.append("E\(index): \(javaScriptEncodableProtocolName)")
102
+ parameters.append("E\(index): \(javaScriptEncodableProtocolName) & ~Copyable")
102
103
  typeParameters.append("_: E\(index).Type")
103
104
  arguments.append("\(type).self")
104
105
  }
105
106
  if let encodable {
106
- parameters.append("Return: \(javaScriptEncodableProtocolName)")
107
+ parameters.append("Return: \(javaScriptEncodableProtocolName) & ~Copyable")
107
108
  typeParameters.append("_: Return.Type")
108
109
  arguments.append("\(encodable).self")
109
110
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-modules-macros",
3
- "version": "0.19.0",
3
+ "version": "0.19.1",
4
4
  "description": "Swift macro plugin for Expo modules",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -23,7 +23,7 @@
23
23
  "typescript": "^5.4.0"
24
24
  },
25
25
  "optionalDependencies": {
26
- "@expo/modules-macros-win32-arm64": "0.19.0",
27
- "@expo/modules-macros-win32-x64": "0.19.0"
26
+ "@expo/modules-macros-win32-arm64": "0.19.1",
27
+ "@expo/modules-macros-win32-x64": "0.19.1"
28
28
  }
29
29
  }