react-native-quick-crypto 1.1.2 → 1.1.3

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.
@@ -142,11 +142,12 @@ namespace {
142
142
  }
143
143
 
144
144
  size_t offset = result.size();
145
- result.resize(offset + (num * 2)); // This fills the buffer with '\0'
145
+ result.reserve(offset + (num * 2)); // Allocate buffer conservatively
146
146
 
147
- auto* dst = result.data() + offset;
148
147
  if (isAscii) {
149
148
  // Widen ASCII characters from char into char16_t
149
+ result.resize(offset + (num * 2)); // This fills the buffer with '\0'
150
+ auto* dst = result.data() + offset;
150
151
  const auto* asciiSrc = reinterpret_cast<const char*>(data);
151
152
  for (size_t i = 0; i < num; i++, dst += 2) {
152
153
  *dst = asciiSrc[i];
@@ -155,13 +156,16 @@ namespace {
155
156
  return;
156
157
  }
157
158
 
158
- const auto* utf16Src = reinterpret_cast<const char16_t*>(data);
159
159
  if constexpr (kCanDirectCopyUtf16) {
160
160
  // Fast&direct copy path
161
- std::memcpy(dst, utf16Src, num * 2);
161
+ const auto* byteSrc = reinterpret_cast<const uint8_t*>(data);
162
+ result.insert(result.end(), byteSrc, byteSrc + num * 2);
162
163
  return;
163
164
  }
164
165
  // Slow path for unexpected endianness/char16_t size
166
+ result.resize(offset + (num * 2));
167
+ const auto* utf16Src = reinterpret_cast<const char16_t*>(data);
168
+ auto* dst = result.data() + offset;
165
169
  for (size_t i = 0; i < num; i++) {
166
170
  const uint16_t codeUnit = static_cast<uint16_t>(utf16Src[i]);
167
171
  dst[i * 2 + 0] = static_cast<uint8_t>(codeUnit & 0xFFu);
@@ -175,7 +179,7 @@ namespace {
175
179
  throw std::runtime_error("Unsupported encoding: utf16le");
176
180
  }
177
181
 
178
- std::vector<uint8_t> decodeLatin1(const std::string& str) {
182
+ std::vector<uint8_t> decodeLatin1FromUtf8(const std::string& str) {
179
183
  std::vector<uint8_t> result;
180
184
  result.reserve(str.size());
181
185
  size_t i = 0;
@@ -204,6 +208,43 @@ namespace {
204
208
  return result;
205
209
  }
206
210
 
211
+ template <typename JSIString = facebook::jsi::String>
212
+ std::vector<uint8_t> decodeLatin1(facebook::jsi::Runtime& runtime, bool isHermes, const JSIString& str) {
213
+ if constexpr (HasStringGetStringData<JSIString>) {
214
+ if (isHermes) {
215
+ std::vector<uint8_t> result;
216
+ auto chunkCallback = [&result](bool isAscii, const void* data, size_t num) {
217
+ if (num == 0) {
218
+ return;
219
+ }
220
+
221
+ size_t offset = result.size();
222
+ result.reserve(offset + num); // Allocate buffer conservatively
223
+
224
+ if (isAscii) {
225
+ // Fast&direct copy path
226
+ const auto* asciiSrc = reinterpret_cast<const uint8_t*>(data);
227
+ result.insert(result.end(), asciiSrc, asciiSrc + num);
228
+ return;
229
+ }
230
+
231
+ result.resize(offset + num);
232
+ const auto* utf16Src = reinterpret_cast<const char16_t*>(data);
233
+ auto* dst = result.data() + offset;
234
+ for (size_t i = 0; i < num; i++) {
235
+ // Node.js-like behavior
236
+ dst[i] = static_cast<uint8_t>(utf16Src[i] & 0xFFu);
237
+ }
238
+ };
239
+
240
+ str.getStringData(runtime, chunkCallback);
241
+ return result;
242
+ }
243
+ }
244
+ // Slow path for non-Hermes runtime/old RN versions
245
+ return decodeLatin1FromUtf8(str.utf8(runtime));
246
+ }
247
+
207
248
  std::string encodeLatin1(const uint8_t* data, size_t len) {
208
249
  if (len == 0) {
209
250
  return {};
@@ -231,6 +272,15 @@ bool HybridUtils::timingSafeEqual(const std::shared_ptr<ArrayBuffer>& a, const s
231
272
  return CRYPTO_memcmp(a->data(), b->data(), aLen) == 0;
232
273
  }
233
274
 
275
+ bool HybridUtils::isHermesRuntime(facebook::jsi::Runtime& runtime) {
276
+ // Cache assumes runtimes are long-lived and calls happen on the JS thread.
277
+ if (cachedRuntime_ != &runtime) [[unlikely]] {
278
+ cachedRuntime_ = &runtime;
279
+ cachedIsHermesRuntime_ = runtime.global().hasProperty(runtime, "HermesInternal");
280
+ }
281
+ return cachedIsHermesRuntime_;
282
+ }
283
+
234
284
  facebook::jsi::Value HybridUtils::bufferToJsiString(facebook::jsi::Runtime& runtime, const facebook::jsi::Value&,
235
285
  const facebook::jsi::Value* args, size_t argCount) {
236
286
  // Runtime argument check from react-native-nitro-modules/cpp/core/HybridFunction.hpp
@@ -261,13 +311,13 @@ facebook::jsi::Value HybridUtils::bufferToJsiString(facebook::jsi::Runtime& runt
261
311
  const auto* data = reinterpret_cast<const uint8_t*>(buffer->data() + offset);
262
312
 
263
313
  if (encoding == "hex") {
264
- return facebook::jsi::String::createFromUtf8(runtime, encodeHex(data, length));
314
+ return facebook::jsi::String::createFromAscii(runtime, encodeHex(data, length));
265
315
  }
266
316
  if (encoding == "base64") {
267
- return facebook::jsi::String::createFromUtf8(runtime, encodeBase64(data, length));
317
+ return facebook::jsi::String::createFromAscii(runtime, encodeBase64(data, length));
268
318
  }
269
319
  if (encoding == "base64url") {
270
- return facebook::jsi::String::createFromUtf8(runtime, encodeBase64Url(data, length));
320
+ return facebook::jsi::String::createFromAscii(runtime, encodeBase64Url(data, length));
271
321
  }
272
322
  if (encoding == "utf8" || encoding == "utf-8") {
273
323
  return facebook::jsi::String::createFromUtf8(runtime, data, length);
@@ -280,7 +330,7 @@ facebook::jsi::Value HybridUtils::bufferToJsiString(facebook::jsi::Runtime& runt
280
330
  for (auto& c : result) {
281
331
  c &= 0x7F;
282
332
  }
283
- return facebook::jsi::String::createFromUtf8(runtime, result);
333
+ return facebook::jsi::String::createFromAscii(runtime, result);
284
334
  }
285
335
  if (encoding == "utf16le") {
286
336
  return createUtf16LeString(runtime, data, length);
@@ -322,7 +372,7 @@ facebook::jsi::Value HybridUtils::jsiStringToBuffer(facebook::jsi::Runtime& runt
322
372
  runtime, ArrayBuffer::copy(reinterpret_cast<const uint8_t*>(utf8Str.data()), utf8Str.size()));
323
373
  }
324
374
  if (encoding == "latin1" || encoding == "binary" || encoding == "ascii") {
325
- auto decoded = decodeLatin1(str.utf8(runtime));
375
+ auto decoded = decodeLatin1(runtime, isHermesRuntime(runtime), str);
326
376
  return JSIConverter<std::shared_ptr<ArrayBuffer>>::toJSI(runtime, ArrayBuffer::move(std::move(decoded)));
327
377
  }
328
378
  if (encoding == "utf16le") {
@@ -15,6 +15,10 @@ class HybridUtils : public HybridUtilsSpec {
15
15
  void loadHybridMethods() override;
16
16
 
17
17
  private:
18
+ facebook::jsi::Runtime* cachedRuntime_ = nullptr;
19
+ bool cachedIsHermesRuntime_ = false;
20
+
21
+ bool isHermesRuntime(facebook::jsi::Runtime& runtime);
18
22
  facebook::jsi::Value bufferToJsiString(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& thisArg,
19
23
  const facebook::jsi::Value* args, size_t argCount);
20
24
  facebook::jsi::Value jsiStringToBuffer(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& thisArg,
@@ -18,10 +18,10 @@ const withXCode = config => {
18
18
  // Use expo-build-properties to bump iOS deployment target
19
19
  config = (0, _expoBuildProperties.withBuildProperties)(config, {
20
20
  ios: {
21
- deploymentTarget: '16.1'
21
+ deploymentTarget: '16.4'
22
22
  }
23
23
  });
24
- // Patch the generated Podfile fallback to ensure platform is always 16.1
24
+ // Patch the generated Podfile fallback to ensure platform is always 16.4
25
25
  config = (0, _configPlugins.withDangerousMod)(config, ['ios', modConfig => {
26
26
  const podfilePath = _path.default.join(modConfig.modRequest.platformProjectRoot, 'Podfile');
27
27
  let contents = _fs.default.readFileSync(podfilePath, 'utf-8');
@@ -37,7 +37,7 @@ const withXCode = config => {
37
37
  # https://github.com/mrousavy/nitro/issues/422#issuecomment-2545988256
38
38
  installer.pods_project.targets.each do |target|
39
39
  target.build_configurations.each do |config|
40
- config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.1'
40
+ config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.4'
41
41
  end
42
42
  end
43
43
  $2`);
@@ -93,7 +93,7 @@ function rejectSharedArrayBuffer(buf) {
93
93
  * Only use this when the caller separately tracks `byteOffset`/`byteLength`
94
94
  * and the native receiver needs to write back into the original memory
95
95
  * (e.g. `randomFill`). For data that will be read by native crypto, use
96
- * `binaryLikeToArrayBuffer`/`toArrayBuffer` instead — those slice to the
96
+ * `binaryLikeToArrayBuffer`/`toArrayBuffer` instead — those return only the
97
97
  * view's region and won't leak unrelated bytes from the backing buffer.
98
98
  */
99
99
  const abvToArrayBuffer = buf => {
@@ -108,18 +108,20 @@ const abvToArrayBuffer = buf => {
108
108
  };
109
109
 
110
110
  /**
111
- * Converts supplied argument to an ArrayBuffer. Note this copies data if the
112
- * supplied buffer has the .slice() method, so can be a bit slow.
111
+ * Converts supplied argument to an ArrayBuffer. Note this copies data
112
+ * only when the supplied view represents a subrange of the underlying
113
+ * ArrayBuffer; otherwise the backing buffer is returned directly
114
+ * (aliased — do not mutate after passing).
113
115
  * @param buf
114
116
  * @returns ArrayBuffer
115
117
  */
116
118
  exports.abvToArrayBuffer = abvToArrayBuffer;
117
119
  function toArrayBuffer(buf) {
118
120
  if (_reactNativeBuffer.Buffer.isBuffer(buf) || ArrayBuffer.isView(buf)) {
119
- if (buf?.buffer?.slice) {
120
- return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
121
- } else {
121
+ if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {
122
122
  return buf.buffer;
123
+ } else {
124
+ return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
123
125
  }
124
126
  }
125
127
  const ab = new ArrayBuffer(buf.length);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeBuffer","require","_safeBuffer","_reactNativeNitroModules","_reactNative","_noble","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","utils","NitroModules","createHybridObject","isHermes","global","HermesInternal","canGetU16StringFromJsiString","Platform","constants","reactNativeVersion","major","minor","canCreateJsiStringFromUtf16","baseNativeEncodings","nativeStringToBufferEncodings","Set","nativeBufferToStringEncodings","add","rejectSharedArrayBuffer","buf","SharedArrayBuffer","TypeError","ArrayBuffer","isView","buffer","abvToArrayBuffer","CraftzdogBuffer","isBuffer","toArrayBuffer","slice","byteOffset","byteLength","ab","length","view","Uint8Array","i","SafeBuffer","readUInt8","bufferLikeToArrayBuffer","binaryLikeToArrayBuffer","input","encoding","Error","has","stringToBuffer","from","toString","handle","exportKey","ab2str","start","end","bufferToString","undefined","Math","trunc","str","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeBuffer","require","_safeBuffer","_reactNativeNitroModules","_reactNative","_noble","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","utils","NitroModules","createHybridObject","isHermes","global","HermesInternal","canGetU16StringFromJsiString","Platform","constants","reactNativeVersion","major","minor","canCreateJsiStringFromUtf16","baseNativeEncodings","nativeStringToBufferEncodings","Set","nativeBufferToStringEncodings","add","rejectSharedArrayBuffer","buf","SharedArrayBuffer","TypeError","ArrayBuffer","isView","buffer","abvToArrayBuffer","CraftzdogBuffer","isBuffer","toArrayBuffer","byteOffset","byteLength","slice","ab","length","view","Uint8Array","i","SafeBuffer","readUInt8","bufferLikeToArrayBuffer","binaryLikeToArrayBuffer","input","encoding","Error","has","stringToBuffer","from","toString","handle","exportKey","ab2str","start","end","bufferToString","undefined","Math","trunc","str","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}
@@ -14,10 +14,10 @@ export const withXCode = config => {
14
14
  // Use expo-build-properties to bump iOS deployment target
15
15
  config = withBuildProperties(config, {
16
16
  ios: {
17
- deploymentTarget: '16.1'
17
+ deploymentTarget: '16.4'
18
18
  }
19
19
  });
20
- // Patch the generated Podfile fallback to ensure platform is always 16.1
20
+ // Patch the generated Podfile fallback to ensure platform is always 16.4
21
21
  config = withDangerousMod(config, ['ios', modConfig => {
22
22
  const podfilePath = path.join(modConfig.modRequest.platformProjectRoot, 'Podfile');
23
23
  let contents = fs.readFileSync(podfilePath, 'utf-8');
@@ -33,7 +33,7 @@ export const withXCode = config => {
33
33
  # https://github.com/mrousavy/nitro/issues/422#issuecomment-2545988256
34
34
  installer.pods_project.targets.each do |target|
35
35
  target.build_configurations.each do |config|
36
- config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.1'
36
+ config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.4'
37
37
  end
38
38
  end
39
39
  $2`);
@@ -58,7 +58,7 @@ export function rejectSharedArrayBuffer(buf) {
58
58
  * Only use this when the caller separately tracks `byteOffset`/`byteLength`
59
59
  * and the native receiver needs to write back into the original memory
60
60
  * (e.g. `randomFill`). For data that will be read by native crypto, use
61
- * `binaryLikeToArrayBuffer`/`toArrayBuffer` instead — those slice to the
61
+ * `binaryLikeToArrayBuffer`/`toArrayBuffer` instead — those return only the
62
62
  * view's region and won't leak unrelated bytes from the backing buffer.
63
63
  */
64
64
  export const abvToArrayBuffer = buf => {
@@ -73,17 +73,19 @@ export const abvToArrayBuffer = buf => {
73
73
  };
74
74
 
75
75
  /**
76
- * Converts supplied argument to an ArrayBuffer. Note this copies data if the
77
- * supplied buffer has the .slice() method, so can be a bit slow.
76
+ * Converts supplied argument to an ArrayBuffer. Note this copies data
77
+ * only when the supplied view represents a subrange of the underlying
78
+ * ArrayBuffer; otherwise the backing buffer is returned directly
79
+ * (aliased — do not mutate after passing).
78
80
  * @param buf
79
81
  * @returns ArrayBuffer
80
82
  */
81
83
  export function toArrayBuffer(buf) {
82
84
  if (CraftzdogBuffer.isBuffer(buf) || ArrayBuffer.isView(buf)) {
83
- if (buf?.buffer?.slice) {
84
- return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
85
- } else {
85
+ if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {
86
86
  return buf.buffer;
87
+ } else {
88
+ return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
87
89
  }
88
90
  }
89
91
  const ab = new ArrayBuffer(buf.length);
@@ -1 +1 @@
1
- {"version":3,"names":["Buffer","CraftzdogBuffer","SafeBuffer","NitroModules","Platform","utils","createHybridObject","isHermes","global","HermesInternal","canGetU16StringFromJsiString","constants","reactNativeVersion","major","minor","canCreateJsiStringFromUtf16","baseNativeEncodings","nativeStringToBufferEncodings","Set","nativeBufferToStringEncodings","add","rejectSharedArrayBuffer","buf","SharedArrayBuffer","TypeError","ArrayBuffer","isView","buffer","abvToArrayBuffer","isBuffer","toArrayBuffer","slice","byteOffset","byteLength","ab","length","view","Uint8Array","i","readUInt8","bufferLikeToArrayBuffer","binaryLikeToArrayBuffer","input","encoding","Error","has","stringToBuffer","from","Object","prototype","toString","call","handle","exportKey","ab2str","start","end","bufferToString","undefined","Math","trunc","str","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Buffer","CraftzdogBuffer","SafeBuffer","NitroModules","Platform","utils","createHybridObject","isHermes","global","HermesInternal","canGetU16StringFromJsiString","constants","reactNativeVersion","major","minor","canCreateJsiStringFromUtf16","baseNativeEncodings","nativeStringToBufferEncodings","Set","nativeBufferToStringEncodings","add","rejectSharedArrayBuffer","buf","SharedArrayBuffer","TypeError","ArrayBuffer","isView","buffer","abvToArrayBuffer","isBuffer","toArrayBuffer","byteOffset","byteLength","slice","ab","length","view","Uint8Array","i","readUInt8","bufferLikeToArrayBuffer","binaryLikeToArrayBuffer","input","encoding","Error","has","stringToBuffer","from","Object","prototype","toString","call","handle","exportKey","ab2str","start","end","bufferToString","undefined","Math","trunc","str","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD,OAAO,KAAK,YAAY,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAG3B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAIjC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAiFimB,cAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA5DlnB,yCAKC,EAAC,YAAe;qBAeH,0BACjB,EAAC,2BAAsB;qBAiCW,oCAEzB,EAAC,2BAAwB;;;;;;qIAIw7E,CAAC;mKAA85B,CAAC;;;;;;;;;;;;;;+DAN11G,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA7CmB,CAAC;gBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAP5E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,YAUnB,CAAC;AAYF,eAAe,WAAW,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxE,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD,OAAO,KAAK,YAAY,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAG3B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAIjC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAiFomB,cAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA5DrnB,yCAKC,EAAC,YAAe;qBAeH,0BACjB,EAAC,2BAAsB;qBAiCW,oCAEzB,EAAC,2BAAwB;;;;;;qIAIw7E,CAAC;mKAA85B,CAAC;;;;;;;;;;;;;;+DAN11G,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA7CmB,CAAC;gBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAP5E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,YAUnB,CAAC;AAYF,eAAe,WAAW,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxE,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC"}
@@ -10,13 +10,15 @@ export declare function rejectSharedArrayBuffer(buf: unknown): void;
10
10
  * Only use this when the caller separately tracks `byteOffset`/`byteLength`
11
11
  * and the native receiver needs to write back into the original memory
12
12
  * (e.g. `randomFill`). For data that will be read by native crypto, use
13
- * `binaryLikeToArrayBuffer`/`toArrayBuffer` instead — those slice to the
13
+ * `binaryLikeToArrayBuffer`/`toArrayBuffer` instead — those return only the
14
14
  * view's region and won't leak unrelated bytes from the backing buffer.
15
15
  */
16
16
  export declare const abvToArrayBuffer: (buf: ABV) => ArrayBuffer;
17
17
  /**
18
- * Converts supplied argument to an ArrayBuffer. Note this copies data if the
19
- * supplied buffer has the .slice() method, so can be a bit slow.
18
+ * Converts supplied argument to an ArrayBuffer. Note this copies data
19
+ * only when the supplied view represents a subrange of the underlying
20
+ * ArrayBuffer; otherwise the backing buffer is returned directly
21
+ * (aliased — do not mutate after passing).
20
22
  * @param buf
21
23
  * @returns ArrayBuffer
22
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../../src/utils/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAoE/D,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAa1D;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,GAAG,gBASxC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,eAAe,GAAG,UAAU,GAAG,eAAe,GAClD,WAAW,CAiBb;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW,CAoBpE;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,cAAc,EAAE,wCAAwC;AAC/D,QAAQ,GAAE,MAAgB,GACzB,WAAW,CAmEb;AAED,wBAAgB,MAAM,CACpB,GAAG,EAAE,WAAW,EAChB,QAAQ,GAAE,MAAc,EACxB,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,CAMR;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,CAC5B,GAAG,EAAE,WAAW,EAChB,QAAQ,GAAE,MAAc,EACxB,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,CAqBR;AAED,6DAA6D;AAC7D,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,MAAgB,GACzB,WAAW,CAEb;AAED,eAAO,MAAM,YAAY,KAAqC,CAAC;AAE/D,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../../src/utils/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAoE/D,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAa1D;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,GAAG,gBASxC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,eAAe,GAAG,UAAU,GAAG,eAAe,GAClD,WAAW,CAiBb;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW,CAoBpE;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,cAAc,EAAE,wCAAwC;AAC/D,QAAQ,GAAE,MAAgB,GACzB,WAAW,CAmEb;AAED,wBAAgB,MAAM,CACpB,GAAG,EAAE,WAAW,EAChB,QAAQ,GAAE,MAAc,EACxB,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,CAMR;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,CAC5B,GAAG,EAAE,WAAW,EAChB,QAAQ,GAAE,MAAc,EACxB,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,CAqBR;AAED,6DAA6D;AAC7D,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,MAAgB,GACzB,WAAW,CAEb;AAED,eAAO,MAAM,YAAY,KAAqC,CAAC;AAE/D,cAAc,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-quick-crypto",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "description": "A fast implementation of Node's `crypto` module written in C/C++ JSI",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -108,7 +108,7 @@
108
108
  "dependencies": {
109
109
  "@craftzdog/react-native-buffer": "6.1.0",
110
110
  "events": "3.3.0",
111
- "readable-stream": "4.5.2",
111
+ "readable-stream": "4.7.0",
112
112
  "safe-buffer": "^5.2.1",
113
113
  "string_decoder": "^1.3.0",
114
114
  "util": "0.12.5"
@@ -117,7 +117,7 @@
117
117
  "@types/jest": "29.5.11",
118
118
  "@types/node": "24.3.0",
119
119
  "@types/react": "18.3.3",
120
- "@types/readable-stream": "4.0.18",
120
+ "@types/readable-stream": "4.0.23",
121
121
  "del-cli": "7.0.0",
122
122
  "dpdm": "^4.0.1",
123
123
  "expo": "^54.0.25",
@@ -12,8 +12,8 @@ import path from 'path';
12
12
  */
13
13
  export const withXCode: ConfigPlugin<ConfigProps> = config => {
14
14
  // Use expo-build-properties to bump iOS deployment target
15
- config = withBuildProperties(config, { ios: { deploymentTarget: '16.1' } });
16
- // Patch the generated Podfile fallback to ensure platform is always 16.1
15
+ config = withBuildProperties(config, { ios: { deploymentTarget: '16.4' } });
16
+ // Patch the generated Podfile fallback to ensure platform is always 16.4
17
17
  config = withDangerousMod(config, [
18
18
  'ios',
19
19
  modConfig => {
@@ -40,7 +40,7 @@ export const withXCode: ConfigPlugin<ConfigProps> = config => {
40
40
  # https://github.com/mrousavy/nitro/issues/422#issuecomment-2545988256
41
41
  installer.pods_project.targets.each do |target|
42
42
  target.build_configurations.each do |config|
43
- config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.1'
43
+ config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.4'
44
44
  end
45
45
  end
46
46
  $2`,
@@ -93,7 +93,7 @@ export function rejectSharedArrayBuffer(buf: unknown): void {
93
93
  * Only use this when the caller separately tracks `byteOffset`/`byteLength`
94
94
  * and the native receiver needs to write back into the original memory
95
95
  * (e.g. `randomFill`). For data that will be read by native crypto, use
96
- * `binaryLikeToArrayBuffer`/`toArrayBuffer` instead — those slice to the
96
+ * `binaryLikeToArrayBuffer`/`toArrayBuffer` instead — those return only the
97
97
  * view's region and won't leak unrelated bytes from the backing buffer.
98
98
  */
99
99
  export const abvToArrayBuffer = (buf: ABV) => {
@@ -108,8 +108,10 @@ export const abvToArrayBuffer = (buf: ABV) => {
108
108
  };
109
109
 
110
110
  /**
111
- * Converts supplied argument to an ArrayBuffer. Note this copies data if the
112
- * supplied buffer has the .slice() method, so can be a bit slow.
111
+ * Converts supplied argument to an ArrayBuffer. Note this copies data
112
+ * only when the supplied view represents a subrange of the underlying
113
+ * ArrayBuffer; otherwise the backing buffer is returned directly
114
+ * (aliased — do not mutate after passing).
113
115
  * @param buf
114
116
  * @returns ArrayBuffer
115
117
  */
@@ -117,13 +119,13 @@ export function toArrayBuffer(
117
119
  buf: CraftzdogBuffer | SafeBuffer | ArrayBufferView,
118
120
  ): ArrayBuffer {
119
121
  if (CraftzdogBuffer.isBuffer(buf) || ArrayBuffer.isView(buf)) {
120
- if (buf?.buffer?.slice) {
122
+ if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {
123
+ return buf.buffer as ArrayBuffer;
124
+ } else {
121
125
  return buf.buffer.slice(
122
126
  buf.byteOffset,
123
127
  buf.byteOffset + buf.byteLength,
124
128
  ) as ArrayBuffer;
125
- } else {
126
- return buf.buffer as ArrayBuffer;
127
129
  }
128
130
  }
129
131
  const ab = new ArrayBuffer(buf.length);