react-native-quick-crypto 0.7.2 → 1.0.0-beta.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.
Files changed (304) hide show
  1. package/QuickCrypto.podspec +34 -0
  2. package/android/CMakeLists.txt +32 -64
  3. package/android/build.gradle +52 -125
  4. package/android/gradle.properties +3 -3
  5. package/android/src/main/cpp/cpp-adapter.cpp +9 -54
  6. package/android/src/main/java/com/margelo/nitro/quickcrypto/QuickCryptoPackage.java +38 -0
  7. package/ios/QuickCryptoOnLoad.mm +19 -0
  8. package/lib/commonjs/index.js +39 -39
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/package.json +1 -0
  11. package/lib/commonjs/random.js +26 -12
  12. package/lib/commonjs/random.js.map +1 -1
  13. package/lib/commonjs/{NativeQuickCrypto/rsa.js → specs/random.nitro.js} +1 -1
  14. package/lib/commonjs/{NativeQuickCrypto/aes.js.map → specs/random.nitro.js.map} +1 -1
  15. package/lib/commonjs/utils/conversion.js +22 -0
  16. package/lib/commonjs/utils/conversion.js.map +1 -0
  17. package/lib/commonjs/utils/index.js +12 -0
  18. package/lib/commonjs/utils/index.js.map +1 -0
  19. package/lib/commonjs/utils/types.js +2 -0
  20. package/lib/{module/NativeQuickCrypto/aes.js.map → commonjs/utils/types.js.map} +1 -1
  21. package/lib/module/index.js +40 -38
  22. package/lib/module/index.js.map +1 -1
  23. package/lib/module/package.json +1 -0
  24. package/lib/module/random.js +28 -12
  25. package/lib/module/random.js.map +1 -1
  26. package/lib/module/specs/random.nitro.js +4 -0
  27. package/lib/module/{NativeQuickCrypto/rsa.js.map → specs/random.nitro.js.map} +1 -1
  28. package/lib/module/utils/conversion.js +16 -0
  29. package/lib/module/utils/conversion.js.map +1 -0
  30. package/lib/module/utils/index.js +8 -0
  31. package/lib/module/utils/index.js.map +1 -0
  32. package/lib/module/utils/types.js +2 -0
  33. package/lib/{commonjs/NativeQuickCrypto/rsa.js.map → module/utils/types.js.map} +1 -1
  34. package/lib/tsconfig.tsbuildinfo +1 -0
  35. package/lib/typescript/index.d.ts +10 -141
  36. package/lib/typescript/index.d.ts.map +1 -1
  37. package/lib/typescript/random.d.ts +4 -5
  38. package/lib/typescript/random.d.ts.map +1 -1
  39. package/lib/typescript/specs/random.nitro.d.ts +9 -0
  40. package/lib/typescript/specs/random.nitro.d.ts.map +1 -0
  41. package/lib/typescript/utils/conversion.d.ts +4 -0
  42. package/lib/typescript/utils/conversion.d.ts.map +1 -0
  43. package/lib/typescript/utils/index.d.ts +6 -0
  44. package/lib/typescript/utils/index.d.ts.map +1 -0
  45. package/lib/typescript/utils/types.d.ts +5 -0
  46. package/lib/typescript/utils/types.d.ts.map +1 -0
  47. package/package.json +58 -108
  48. package/src/index.ts +38 -48
  49. package/src/random.ts +51 -48
  50. package/src/specs/random.nitro.ts +14 -0
  51. package/src/utils/conversion.ts +16 -0
  52. package/src/utils/index.ts +6 -0
  53. package/src/utils/types.ts +15 -0
  54. package/LICENSE +0 -27
  55. package/README.md +0 -203
  56. package/android/src/main/java/com/margelo/quickcrypto/QuickCryptoModule.java +0 -70
  57. package/android/src/main/java/com/margelo/quickcrypto/QuickCryptoPackage.java +0 -25
  58. package/cpp/Cipher/MGLCipherHostObject.cpp +0 -663
  59. package/cpp/Cipher/MGLCipherHostObject.h +0 -90
  60. package/cpp/Cipher/MGLCreateCipherInstaller.cpp +0 -75
  61. package/cpp/Cipher/MGLCreateCipherInstaller.h +0 -22
  62. package/cpp/Cipher/MGLCreateDecipherInstaller.cpp +0 -77
  63. package/cpp/Cipher/MGLCreateDecipherInstaller.h +0 -17
  64. package/cpp/Cipher/MGLGenerateKeyPairInstaller.cpp +0 -134
  65. package/cpp/Cipher/MGLGenerateKeyPairInstaller.h +0 -35
  66. package/cpp/Cipher/MGLGenerateKeyPairSyncInstaller.cpp +0 -63
  67. package/cpp/Cipher/MGLGenerateKeyPairSyncInstaller.h +0 -37
  68. package/cpp/Cipher/MGLPublicCipher.h +0 -120
  69. package/cpp/Cipher/MGLPublicCipherInstaller.h +0 -107
  70. package/cpp/Cipher/MGLRsa.cpp +0 -573
  71. package/cpp/Cipher/MGLRsa.h +0 -109
  72. package/cpp/HMAC/MGLHmacHostObject.cpp +0 -95
  73. package/cpp/HMAC/MGLHmacHostObject.h +0 -39
  74. package/cpp/HMAC/MGLHmacInstaller.cpp +0 -43
  75. package/cpp/HMAC/MGLHmacInstaller.h +0 -20
  76. package/cpp/Hash/MGLHashHostObject.cpp +0 -147
  77. package/cpp/Hash/MGLHashHostObject.h +0 -53
  78. package/cpp/Hash/MGLHashInstaller.cpp +0 -44
  79. package/cpp/Hash/MGLHashInstaller.h +0 -20
  80. package/cpp/JSIUtils/MGLJSIMacros.h +0 -110
  81. package/cpp/JSIUtils/MGLJSIUtils.h +0 -41
  82. package/cpp/JSIUtils/MGLSmartHostObject.cpp +0 -43
  83. package/cpp/JSIUtils/MGLSmartHostObject.h +0 -46
  84. package/cpp/JSIUtils/MGLThreadAwareHostObject.cpp +0 -24
  85. package/cpp/JSIUtils/MGLThreadAwareHostObject.h +0 -43
  86. package/cpp/JSIUtils/MGLTypedArray.cpp +0 -325
  87. package/cpp/JSIUtils/MGLTypedArray.h +0 -160
  88. package/cpp/MGLKeys.cpp +0 -1426
  89. package/cpp/MGLKeys.h +0 -203
  90. package/cpp/MGLQuickCryptoHostObject.cpp +0 -124
  91. package/cpp/MGLQuickCryptoHostObject.h +0 -30
  92. package/cpp/Random/MGLRandomHostObject.cpp +0 -96
  93. package/cpp/Random/MGLRandomHostObject.h +0 -27
  94. package/cpp/Sig/MGLSignHostObjects.cpp +0 -757
  95. package/cpp/Sig/MGLSignHostObjects.h +0 -128
  96. package/cpp/Sig/MGLSignInstaller.cpp +0 -24
  97. package/cpp/Sig/MGLSignInstaller.h +0 -29
  98. package/cpp/Sig/MGLVerifyInstaller.cpp +0 -24
  99. package/cpp/Sig/MGLVerifyInstaller.h +0 -22
  100. package/cpp/Utils/MGLDispatchQueue.cpp +0 -75
  101. package/cpp/Utils/MGLDispatchQueue.h +0 -55
  102. package/cpp/Utils/MGLUtils.cpp +0 -295
  103. package/cpp/Utils/MGLUtils.h +0 -358
  104. package/cpp/Utils/base64.h +0 -320
  105. package/cpp/Utils/logs.h +0 -38
  106. package/cpp/Utils/node.h +0 -13
  107. package/cpp/fastpbkdf2/MGLPbkdf2HostObject.cpp +0 -164
  108. package/cpp/fastpbkdf2/MGLPbkdf2HostObject.h +0 -29
  109. package/cpp/fastpbkdf2/fastpbkdf2.c +0 -352
  110. package/cpp/fastpbkdf2/fastpbkdf2.h +0 -68
  111. package/cpp/webcrypto/MGLWebCrypto.cpp +0 -125
  112. package/cpp/webcrypto/MGLWebCrypto.h +0 -32
  113. package/cpp/webcrypto/crypto_aes.cpp +0 -516
  114. package/cpp/webcrypto/crypto_aes.h +0 -79
  115. package/cpp/webcrypto/crypto_ec.cpp +0 -424
  116. package/cpp/webcrypto/crypto_ec.h +0 -78
  117. package/cpp/webcrypto/crypto_keygen.cpp +0 -86
  118. package/cpp/webcrypto/crypto_keygen.h +0 -38
  119. package/ios/QuickCrypto.xcodeproj/project.pbxproj +0 -274
  120. package/ios/QuickCrypto.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  121. package/ios/QuickCrypto.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  122. package/ios/QuickCrypto.xcodeproj/project.xcworkspace/xcuserdata/brad.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  123. package/ios/QuickCrypto.xcodeproj/xcuserdata/brad.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  124. package/ios/QuickCryptoModule.h +0 -5
  125. package/ios/QuickCryptoModule.mm +0 -42
  126. package/lib/commonjs/Cipher.js +0 -502
  127. package/lib/commonjs/Cipher.js.map +0 -1
  128. package/lib/commonjs/Hash.js +0 -99
  129. package/lib/commonjs/Hash.js.map +0 -1
  130. package/lib/commonjs/Hashnames.js +0 -87
  131. package/lib/commonjs/Hashnames.js.map +0 -1
  132. package/lib/commonjs/Hmac.js +0 -79
  133. package/lib/commonjs/Hmac.js.map +0 -1
  134. package/lib/commonjs/NativeQuickCrypto/Cipher.js +0 -30
  135. package/lib/commonjs/NativeQuickCrypto/Cipher.js.map +0 -1
  136. package/lib/commonjs/NativeQuickCrypto/NativeQuickCrypto.js +0 -52
  137. package/lib/commonjs/NativeQuickCrypto/NativeQuickCrypto.js.map +0 -1
  138. package/lib/commonjs/NativeQuickCrypto/aes.js +0 -6
  139. package/lib/commonjs/NativeQuickCrypto/hash.js +0 -2
  140. package/lib/commonjs/NativeQuickCrypto/hash.js.map +0 -1
  141. package/lib/commonjs/NativeQuickCrypto/hmac.js +0 -2
  142. package/lib/commonjs/NativeQuickCrypto/hmac.js.map +0 -1
  143. package/lib/commonjs/NativeQuickCrypto/keygen.js +0 -6
  144. package/lib/commonjs/NativeQuickCrypto/keygen.js.map +0 -1
  145. package/lib/commonjs/NativeQuickCrypto/pbkdf2.js +0 -2
  146. package/lib/commonjs/NativeQuickCrypto/pbkdf2.js.map +0 -1
  147. package/lib/commonjs/NativeQuickCrypto/random.js +0 -2
  148. package/lib/commonjs/NativeQuickCrypto/random.js.map +0 -1
  149. package/lib/commonjs/NativeQuickCrypto/sig.js +0 -19
  150. package/lib/commonjs/NativeQuickCrypto/sig.js.map +0 -1
  151. package/lib/commonjs/NativeQuickCrypto/webcrypto.js +0 -6
  152. package/lib/commonjs/NativeQuickCrypto/webcrypto.js.map +0 -1
  153. package/lib/commonjs/Utils.js +0 -608
  154. package/lib/commonjs/Utils.js.map +0 -1
  155. package/lib/commonjs/aes.js +0 -281
  156. package/lib/commonjs/aes.js.map +0 -1
  157. package/lib/commonjs/constants.js +0 -85
  158. package/lib/commonjs/constants.js.map +0 -1
  159. package/lib/commonjs/ec.js +0 -276
  160. package/lib/commonjs/ec.js.map +0 -1
  161. package/lib/commonjs/keygen.js +0 -56
  162. package/lib/commonjs/keygen.js.map +0 -1
  163. package/lib/commonjs/keys.js +0 -492
  164. package/lib/commonjs/keys.js.map +0 -1
  165. package/lib/commonjs/pbkdf2.js +0 -90
  166. package/lib/commonjs/pbkdf2.js.map +0 -1
  167. package/lib/commonjs/rsa.js +0 -248
  168. package/lib/commonjs/rsa.js.map +0 -1
  169. package/lib/commonjs/sig.js +0 -129
  170. package/lib/commonjs/sig.js.map +0 -1
  171. package/lib/commonjs/subtle.js +0 -448
  172. package/lib/commonjs/subtle.js.map +0 -1
  173. package/lib/commonjs/webcrypto.js +0 -14
  174. package/lib/commonjs/webcrypto.js.map +0 -1
  175. package/lib/module/Cipher.js +0 -489
  176. package/lib/module/Cipher.js.map +0 -1
  177. package/lib/module/Hash.js +0 -91
  178. package/lib/module/Hash.js.map +0 -1
  179. package/lib/module/Hashnames.js +0 -83
  180. package/lib/module/Hashnames.js.map +0 -1
  181. package/lib/module/Hmac.js +0 -72
  182. package/lib/module/Hmac.js.map +0 -1
  183. package/lib/module/NativeQuickCrypto/Cipher.js +0 -24
  184. package/lib/module/NativeQuickCrypto/Cipher.js.map +0 -1
  185. package/lib/module/NativeQuickCrypto/NativeQuickCrypto.js +0 -47
  186. package/lib/module/NativeQuickCrypto/NativeQuickCrypto.js.map +0 -1
  187. package/lib/module/NativeQuickCrypto/aes.js +0 -2
  188. package/lib/module/NativeQuickCrypto/hash.js +0 -2
  189. package/lib/module/NativeQuickCrypto/hash.js.map +0 -1
  190. package/lib/module/NativeQuickCrypto/hmac.js +0 -2
  191. package/lib/module/NativeQuickCrypto/hmac.js.map +0 -1
  192. package/lib/module/NativeQuickCrypto/keygen.js +0 -2
  193. package/lib/module/NativeQuickCrypto/keygen.js.map +0 -1
  194. package/lib/module/NativeQuickCrypto/pbkdf2.js +0 -2
  195. package/lib/module/NativeQuickCrypto/pbkdf2.js.map +0 -1
  196. package/lib/module/NativeQuickCrypto/random.js +0 -2
  197. package/lib/module/NativeQuickCrypto/random.js.map +0 -1
  198. package/lib/module/NativeQuickCrypto/rsa.js +0 -2
  199. package/lib/module/NativeQuickCrypto/sig.js +0 -15
  200. package/lib/module/NativeQuickCrypto/sig.js.map +0 -1
  201. package/lib/module/NativeQuickCrypto/webcrypto.js +0 -2
  202. package/lib/module/NativeQuickCrypto/webcrypto.js.map +0 -1
  203. package/lib/module/Utils.js +0 -537
  204. package/lib/module/Utils.js.map +0 -1
  205. package/lib/module/aes.js +0 -272
  206. package/lib/module/aes.js.map +0 -1
  207. package/lib/module/constants.js +0 -79
  208. package/lib/module/constants.js.map +0 -1
  209. package/lib/module/ec.js +0 -265
  210. package/lib/module/ec.js.map +0 -1
  211. package/lib/module/keygen.js +0 -47
  212. package/lib/module/keygen.js.map +0 -1
  213. package/lib/module/keys.js +0 -475
  214. package/lib/module/keys.js.map +0 -1
  215. package/lib/module/pbkdf2.js +0 -82
  216. package/lib/module/pbkdf2.js.map +0 -1
  217. package/lib/module/rsa.js +0 -240
  218. package/lib/module/rsa.js.map +0 -1
  219. package/lib/module/sig.js +0 -122
  220. package/lib/module/sig.js.map +0 -1
  221. package/lib/module/subtle.js +0 -441
  222. package/lib/module/subtle.js.map +0 -1
  223. package/lib/module/webcrypto.js +0 -8
  224. package/lib/module/webcrypto.js.map +0 -1
  225. package/lib/typescript/Cipher.d.ts +0 -81
  226. package/lib/typescript/Cipher.d.ts.map +0 -1
  227. package/lib/typescript/Hash.d.ts +0 -44
  228. package/lib/typescript/Hash.d.ts.map +0 -1
  229. package/lib/typescript/Hashnames.d.ts +0 -11
  230. package/lib/typescript/Hashnames.d.ts.map +0 -1
  231. package/lib/typescript/Hmac.d.ts +0 -37
  232. package/lib/typescript/Hmac.d.ts.map +0 -1
  233. package/lib/typescript/NativeQuickCrypto/Cipher.d.ts +0 -44
  234. package/lib/typescript/NativeQuickCrypto/Cipher.d.ts.map +0 -1
  235. package/lib/typescript/NativeQuickCrypto/NativeQuickCrypto.d.ts +0 -33
  236. package/lib/typescript/NativeQuickCrypto/NativeQuickCrypto.d.ts.map +0 -1
  237. package/lib/typescript/NativeQuickCrypto/aes.d.ts +0 -5
  238. package/lib/typescript/NativeQuickCrypto/aes.d.ts.map +0 -1
  239. package/lib/typescript/NativeQuickCrypto/hash.d.ts +0 -7
  240. package/lib/typescript/NativeQuickCrypto/hash.d.ts.map +0 -1
  241. package/lib/typescript/NativeQuickCrypto/hmac.d.ts +0 -6
  242. package/lib/typescript/NativeQuickCrypto/hmac.d.ts.map +0 -1
  243. package/lib/typescript/NativeQuickCrypto/keygen.d.ts +0 -4
  244. package/lib/typescript/NativeQuickCrypto/keygen.d.ts.map +0 -1
  245. package/lib/typescript/NativeQuickCrypto/pbkdf2.d.ts +0 -5
  246. package/lib/typescript/NativeQuickCrypto/pbkdf2.d.ts.map +0 -1
  247. package/lib/typescript/NativeQuickCrypto/random.d.ts +0 -5
  248. package/lib/typescript/NativeQuickCrypto/random.d.ts.map +0 -1
  249. package/lib/typescript/NativeQuickCrypto/rsa.d.ts +0 -5
  250. package/lib/typescript/NativeQuickCrypto/rsa.d.ts.map +0 -1
  251. package/lib/typescript/NativeQuickCrypto/sig.d.ts +0 -23
  252. package/lib/typescript/NativeQuickCrypto/sig.d.ts.map +0 -1
  253. package/lib/typescript/NativeQuickCrypto/webcrypto.d.ts +0 -39
  254. package/lib/typescript/NativeQuickCrypto/webcrypto.d.ts.map +0 -1
  255. package/lib/typescript/Utils.d.ts +0 -48
  256. package/lib/typescript/Utils.d.ts.map +0 -1
  257. package/lib/typescript/aes.d.ts +0 -22
  258. package/lib/typescript/aes.d.ts.map +0 -1
  259. package/lib/typescript/constants.d.ts +0 -76
  260. package/lib/typescript/constants.d.ts.map +0 -1
  261. package/lib/typescript/ec.d.ts +0 -7
  262. package/lib/typescript/ec.d.ts.map +0 -1
  263. package/lib/typescript/keygen.d.ts +0 -6
  264. package/lib/typescript/keygen.d.ts.map +0 -1
  265. package/lib/typescript/keys.d.ts +0 -206
  266. package/lib/typescript/keys.d.ts.map +0 -1
  267. package/lib/typescript/pbkdf2.d.ts +0 -12
  268. package/lib/typescript/pbkdf2.d.ts.map +0 -1
  269. package/lib/typescript/rsa.d.ts +0 -12
  270. package/lib/typescript/rsa.d.ts.map +0 -1
  271. package/lib/typescript/sig.d.ts +0 -21
  272. package/lib/typescript/sig.d.ts.map +0 -1
  273. package/lib/typescript/subtle.d.ts +0 -15
  274. package/lib/typescript/subtle.d.ts.map +0 -1
  275. package/lib/typescript/webcrypto.d.ts +0 -9
  276. package/lib/typescript/webcrypto.d.ts.map +0 -1
  277. package/react-native-quick-crypto.podspec +0 -40
  278. package/src/Cipher.ts +0 -832
  279. package/src/Hash.ts +0 -132
  280. package/src/Hashnames.ts +0 -93
  281. package/src/Hmac.ts +0 -106
  282. package/src/NativeQuickCrypto/Cipher.ts +0 -102
  283. package/src/NativeQuickCrypto/NativeQuickCrypto.ts +0 -102
  284. package/src/NativeQuickCrypto/aes.ts +0 -14
  285. package/src/NativeQuickCrypto/hash.ts +0 -10
  286. package/src/NativeQuickCrypto/hmac.ts +0 -9
  287. package/src/NativeQuickCrypto/keygen.ts +0 -7
  288. package/src/NativeQuickCrypto/pbkdf2.ts +0 -16
  289. package/src/NativeQuickCrypto/random.ts +0 -12
  290. package/src/NativeQuickCrypto/rsa.ts +0 -12
  291. package/src/NativeQuickCrypto/sig.ts +0 -44
  292. package/src/NativeQuickCrypto/webcrypto.ts +0 -72
  293. package/src/Utils.ts +0 -777
  294. package/src/aes.ts +0 -402
  295. package/src/constants.ts +0 -79
  296. package/src/ec.ts +0 -375
  297. package/src/keygen.ts +0 -80
  298. package/src/keys.ts +0 -787
  299. package/src/pbkdf2.ts +0 -169
  300. package/src/rsa.ts +0 -370
  301. package/src/sig.ts +0 -164
  302. package/src/subtle.ts +0 -639
  303. package/src/webcrypto.ts +0 -8
  304. /package/android/src/main/{AndroidManifestNew.xml → AndroidManifest.xml} +0 -0
@@ -0,0 +1,34 @@
1
+ require "json"
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
+
5
+ Pod::UI.puts "[QuickCrypto] crypto just got quicker 💨"
6
+
7
+ Pod::Spec.new do |s|
8
+ s.name = "QuickCrypto"
9
+ s.version = package["version"]
10
+ s.summary = package["description"]
11
+ s.homepage = package["homepage"]
12
+ s.license = package["license"]
13
+ s.authors = package["authors"]
14
+
15
+ s.platforms = { :ios => min_ios_version_supported }
16
+ s.source = { :git => "https://github.com/margelo/react-native-quick-crypto.git", :tag => "#{s.version}" }
17
+
18
+ s.source_files = [
19
+ # implementation (Swift)
20
+ "ios/**/*.{swift}",
21
+ # ios (Objective-C++)
22
+ "ios/**/*.{h,m,mm}",
23
+ # implementation (C++)
24
+ "cpp/**/*.{hpp,cpp}",
25
+ ]
26
+
27
+ # Add all files generated by Nitrogen
28
+ load 'nitrogen/generated/ios/QuickCrypto+autolinking.rb'
29
+ add_nitrogen_files(s)
30
+
31
+ install_modules_dependencies(s)
32
+ s.dependency "OpenSSL-Universal"
33
+
34
+ end
@@ -1,76 +1,44 @@
1
- project(ReactNativeQuickCrypto)
2
- cmake_minimum_required(VERSION 3.10.2)
1
+ cmake_minimum_required(VERSION 3.9.0)
3
2
 
4
- set(PACKAGE_NAME "reactnativequickcrypto")
5
- set(BUILD_DIR ${CMAKE_SOURCE_DIR}/build)
6
- set(CMAKE_VERBOSE_MAKEFILE ON)
7
- set(CMAKE_CXX_STANDARD 17)
8
-
9
- # set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")
10
- # set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
3
+ project(QuickCrypto)
4
+ set(PACKAGE_NAME QuickCrypto)
11
5
 
12
- # Third party libraries (Prefabs)
13
- find_package(fbjni REQUIRED CONFIG)
14
- find_package(ReactAndroid REQUIRED CONFIG)
15
- find_package(openssl REQUIRED CONFIG)
16
- find_library(LOG_LIB log)
6
+ set(CMAKE_VERBOSE_MAKEFILE ON)
7
+ set(CMAKE_CXX_STANDARD 20)
17
8
 
9
+ # Define C++ library and add all sources
18
10
  add_library(
19
- ${PACKAGE_NAME}
20
- SHARED
21
- "src/main/cpp/cpp-adapter.cpp"
22
- "../cpp/MGLQuickCryptoHostObject.cpp"
23
- "../cpp/JSIUtils/MGLTypedArray.cpp"
24
- "../cpp/Utils/MGLDispatchQueue.cpp"
25
- "../cpp/JSIUtils/MGLThreadAwareHostObject.cpp"
26
- "../cpp/JSIUtils/MGLSmartHostObject.cpp"
27
- "../cpp/HMAC/MGLHmacInstaller.cpp"
28
- "../cpp/HMAC/MGLHmacHostObject.cpp"
29
- "../cpp/fastpbkdf2/MGLPbkdf2HostObject.cpp"
30
- "../cpp/fastpbkdf2/fastpbkdf2.c"
31
- "../cpp/Random/MGLRandomHostObject.cpp"
32
- "../cpp/Hash/MGLHashInstaller.cpp"
33
- "../cpp/Hash/MGLHashHostObject.cpp"
34
- "../cpp/Cipher/MGLCipherHostObject.cpp"
35
- "../cpp/Cipher/MGLCreateCipherInstaller.cpp"
36
- "../cpp/Cipher/MGLCreateDecipherInstaller.cpp"
37
- "../cpp/MGLKeys.cpp"
38
- "../cpp/Utils/MGLUtils.cpp"
39
- "../cpp/Cipher/MGLRsa.cpp"
40
- "../cpp/Cipher/MGLGenerateKeyPairInstaller.cpp"
41
- "../cpp/Cipher/MGLGenerateKeyPairSyncInstaller.cpp"
42
- "../cpp/Sig/MGLSignInstaller.cpp"
43
- "../cpp/Sig/MGLVerifyInstaller.cpp"
44
- "../cpp/Sig/MGLSignHostObjects.cpp"
45
- "../cpp/webcrypto/MGLWebCrypto.cpp"
46
- "../cpp/webcrypto/crypto_aes.cpp"
47
- "../cpp/webcrypto/crypto_ec.cpp"
48
- "../cpp/webcrypto/crypto_keygen.cpp"
11
+ ${PACKAGE_NAME} SHARED
12
+ src/main/cpp/cpp-adapter.cpp
13
+ ../cpp/random/HybridRandom.cpp
49
14
  )
50
15
 
51
- target_include_directories(
52
- ${PACKAGE_NAME}
53
- PRIVATE
54
- "../cpp"
55
- "src/main/cpp"
56
- "${NODE_MODULES_DIR}/react-native/ReactCommon"
57
- "${NODE_MODULES_DIR}/react-native/ReactCommon/callinvoker"
58
- "${NODE_MODULES_DIR}/react-native/ReactAndroid/src/main/jni/react/turbomodule"
59
- "${NODE_MODULES_DIR}/react-native/ReactCommon/jsi"
60
- "${NODE_MODULES_DIR}/react-native/ReactCommon/turbomodule/core"
61
- "${NODE_MODULES_DIR}/react-native/ReactCommon/react/nativemodule/core"
62
- )
16
+ include_directories(../cpp)
17
+ include(${CMAKE_SOURCE_DIR}/../nitrogen/generated/android/QuickCrypto+autolinking.cmake)
63
18
 
64
- #file(GLOB LIBRN_DIR "${BUILD_DIR}/react-native-0*/jni/${ANDROID_ABI}")
19
+ # Third party libraries (Prefabs)
20
+ find_library(LOG_LIB log)
21
+
22
+ find_package(ReactAndroid REQUIRED CONFIG)
23
+ find_package(fbjni REQUIRED CONFIG)
24
+ find_package(openssl REQUIRED CONFIG)
65
25
 
26
+ # Link all libraries together
66
27
  target_link_libraries(
67
28
  ${PACKAGE_NAME}
68
- ReactAndroid::turbomodulejsijni
69
- fbjni::fbjni # <-- fbjni
70
29
  ${LOG_LIB} # <-- Logcat logger
71
- ReactAndroid::jsi # <-- RN: JSI
72
- ReactAndroid::reactnativejni # <-- RN: React Native JNI bindings
73
- ReactAndroid::react_nativemodule_core # <-- RN: React Native native module core
74
- android # <-- Android JNI core
30
+ android # <-- Android core
31
+ fbjni::fbjni # <-- Facebook C++ JNI helpers
75
32
  openssl::crypto # <-- OpenSSL (Crypto)
76
- )
33
+ ReactAndroid::jsi
34
+ ReactAndroid::turbomodulejsijni
35
+ ReactAndroid::react_nativemodule_core
36
+ ReactAndroid::react_render_core
37
+ ReactAndroid::runtimeexecutor
38
+ ReactAndroid::fabricjni
39
+ ReactAndroid::react_debug
40
+ ReactAndroid::react_render_core
41
+ ReactAndroid::react_render_componentregistry
42
+ ReactAndroid::rrc_view
43
+ ReactAndroid::folly_runtime
44
+ )
@@ -1,118 +1,56 @@
1
- import java.nio.file.Paths
2
- import com.android.Version
3
-
4
- def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION
5
- def agpVersionMajor = agpVersion.tokenize('.')[0].toInteger()
6
- def agpVersionMinor = agpVersion.tokenize('.')[1].toInteger()
7
-
8
1
  buildscript {
2
+ ext.kotlinVersion = '1.9.25'
3
+
9
4
  repositories {
10
- maven {
11
- url "https://plugins.gradle.org/m2/"
12
- }
13
- mavenCentral()
14
5
  google()
6
+ mavenCentral()
15
7
  }
16
8
 
17
9
  dependencies {
18
- classpath("com.android.tools.build:gradle:8.3.1")
10
+ classpath "com.android.tools.build:gradle:8.2.2"
11
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}"
19
12
  }
20
13
  }
21
14
 
22
- def isNewArchitectureEnabled() {
23
- // To opt-in for the New Architecture, you can either:
24
- // - Set `newArchEnabled` to true inside the `gradle.properties` file
25
- // - Invoke gradle with `-newArchEnabled=true`
26
- // - Set an environment variable `ORG_GRADLE_PROJECT_newArchEnabled=true`
27
- return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true"
15
+ def reactNativeArchitectures() {
16
+ def value = rootProject.getProperties().get("reactNativeArchitectures")
17
+ return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
28
18
  }
29
19
 
30
- def resolveBuildType() {
31
- Gradle gradle = getGradle()
32
- String tskReqStr = gradle.getStartParameter().getTaskRequests()['args'].toString()
33
-
34
- return tskReqStr.contains('Release') ? 'release' : 'debug'
20
+ def isNewArchitectureEnabled() {
21
+ return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
35
22
  }
36
23
 
24
+ apply plugin: "com.android.library"
25
+ apply plugin: "org.jetbrains.kotlin.android"
26
+ apply from: "../nitrogen/generated/android/QuickCrypto+autolinking.gradle"
27
+
37
28
  if (isNewArchitectureEnabled()) {
38
29
  apply plugin: "com.facebook.react"
39
30
  }
40
- apply plugin: 'com.android.library'
41
-
42
- def safeExtGet(prop, fallback) {
43
- rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
44
- }
45
31
 
46
- def reactNativeArchitectures() {
47
- def value = project.getProperties().get("reactNativeArchitectures")
48
- return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
32
+ def getExtOrDefault(name) {
33
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["QuickCrypto_" + name]
49
34
  }
50
35
 
51
- static def findNodeModules(baseDir) {
52
- def basePath = baseDir.toPath().normalize()
53
- // Node's module resolution algorithm searches up to the root directory,
54
- // after which the base path will be null
55
- while (basePath) {
56
- def nodeModulesPath = Paths.get(basePath.toString(), "node_modules")
57
- def reactNativePath = Paths.get(nodeModulesPath.toString(), "react-native")
58
- if (nodeModulesPath.toFile().exists() && reactNativePath.toFile().exists()) {
59
- return nodeModulesPath.toString()
60
- }
61
- basePath = basePath.getParent()
62
- }
63
- throw new GradleException("react-native-quick-crypto: Failed to find node_modules/ path!")
64
- }
65
-
66
- def nodeModules = findNodeModules(projectDir)
67
-
68
- repositories {
69
- google()
70
- mavenCentral()
36
+ def getExtOrIntegerDefault(name) {
37
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["QuickCrypto_" + name]).toInteger()
71
38
  }
72
39
 
73
40
  android {
74
- compileSdkVersion safeExtGet("compileSdkVersion", 31)
75
-
76
- if ((agpVersionMajor == 7 && agpVersionMinor >= 3) || agpVersionMajor >= 8) {
77
- // Namespace support was added in 7.3.0
78
- namespace "com.margelo.quickcrypto"
79
-
80
- sourceSets {
81
- main {
82
- manifest.srcFile "src/main/AndroidManifestNew.xml"
83
- }
84
- }
85
- }
86
-
87
- if (agpVersionMajor >= 8) {
88
- buildFeatures {
89
- buildConfig = true
90
- }
91
- }
92
-
93
- // Used to override the NDK path/version on internal CI or by allowing
94
- // users to customize the NDK path/version from their root project (e.g. for M1 support)
95
- if (rootProject.hasProperty("ndkPath")) {
96
- ndkPath rootProject.ext.ndkPath
97
- }
98
- if (rootProject.hasProperty("ndkVersion")) {
99
- ndkVersion rootProject.ext.ndkVersion
100
- }
101
-
102
- buildFeatures {
103
- prefab true
104
- }
41
+ namespace "com.margelo.nitro.quickcrypto"
42
+ ndkVersion getExtOrDefault("ndkVersion")
43
+ compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
105
44
 
106
45
  defaultConfig {
107
- minSdkVersion safeExtGet('minSdkVersion', 23)
108
- targetSdkVersion safeExtGet('targetSdkVersion', 31)
109
- versionCode 1
110
- versionName "1.0"
46
+ minSdkVersion getExtOrIntegerDefault("minSdkVersion")
47
+ targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
111
48
  buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
49
+
112
50
  externalNativeBuild {
113
51
  cmake {
114
- cppFlags "-O2 -frtti -fexceptions -Wall -Wno-unused-variable -fstack-protector-all -DANDROID"
115
- arguments "-DANDROID_STL=c++_shared", "-DNODE_MODULES_DIR=${nodeModules}"
52
+ cppFlags "-O2 -frtti -fexceptions -Wall -fstack-protector-all"
53
+ arguments "-DANDROID_STL=c++_shared"
116
54
  abiFilters (*reactNativeArchitectures())
117
55
  }
118
56
  }
@@ -124,42 +62,36 @@ android {
124
62
  }
125
63
  }
126
64
 
127
- packagingOptions {
128
- doNotStrip resolveBuildType() == 'debug' ? "**/**/*.so" : ''
129
- excludes = [
130
- "**/libc++_shared.so",
131
- "**/libfbjni.so",
132
- "**/libreactnativejni.so",
133
- "**/libjsi.so",
134
- "**/libreact_nativemodule_core.so",
135
- "**/libturbomodulejsijni.so",
136
- "**/MANIFEST.MF",
137
- ]
65
+ buildFeatures {
66
+ buildConfig true
67
+ prefab true
138
68
  }
139
69
 
140
70
  buildTypes {
141
71
  release {
142
72
  minifyEnabled false
143
73
  }
144
- debug {
145
- packagingOptions {
146
- doNotStrip '**/*.so'
147
- }
148
- minifyEnabled false
149
- debuggable true
150
- jniDebuggable true
151
- renderscriptDebuggable true
152
- }
153
74
  }
154
75
 
155
76
  lintOptions {
156
- disable 'GradleCompatible'
77
+ disable "GradleCompatible"
157
78
  }
79
+
158
80
  compileOptions {
159
81
  sourceCompatibility JavaVersion.VERSION_1_8
160
82
  targetCompatibility JavaVersion.VERSION_1_8
161
83
  }
162
84
 
85
+ sourceSets {
86
+ main {
87
+ if (isNewArchitectureEnabled()) {
88
+ java.srcDirs += [
89
+ // React Codegen files
90
+ "${project.buildDir}/generated/source/codegen/java"
91
+ ]
92
+ }
93
+ }
94
+ }
163
95
  }
164
96
 
165
97
  repositories {
@@ -167,24 +99,19 @@ repositories {
167
99
  google()
168
100
  }
169
101
 
102
+
170
103
  dependencies {
171
104
  //noinspection GradleDynamicVersion
172
- implementation "com.facebook.react:react-android:+"
173
- // https://mvnrepository.com/artifact/com.android.ndk.thirdparty/openssl
174
- implementation 'com.android.ndk.thirdparty:openssl:1.1.1q-beta-1'
105
+ implementation "com.facebook.react:react-native:+"
106
+
107
+ implementation project(":react-native-nitro-modules")
108
+ implementation "com.android.ndk.thirdparty:openssl:1.1.1q-beta-1"
175
109
  }
176
110
 
177
- // Resolves "LOCAL_SRC_FILES points to a missing file, Check that libfb.so exists or that its path is correct".
178
- tasks.whenTaskAdded { task ->
179
- if (task.name.contains("configureCMakeDebug")) {
180
- rootProject.getTasksByName("packageReactNdkDebugLibs", true).forEach {
181
- task.dependsOn(it)
182
- }
183
- }
184
- // We want to add a dependency for both configureCMakeRelease and configureCMakeRelWithDebInfo
185
- if (task.name.contains("configureCMakeRel")) {
186
- rootProject.getTasksByName("packageReactNdkReleaseLibs", true).forEach {
187
- task.dependsOn(it)
188
- }
111
+ if (isNewArchitectureEnabled()) {
112
+ react {
113
+ jsRootDir = file("../src/")
114
+ libraryName = "QuickCrypto"
115
+ codegenJavaPackageName = "com.margelo.nitro.quickcrypto"
189
116
  }
190
- }
117
+ }
@@ -1,6 +1,6 @@
1
- QuickCrypto_compileSdkVersion=31
2
- QuickCrypto_targetSdkVersion=31
3
- QuickCrypto_ndkversion=21.4.7075529
1
+ QuickCrypto_compileSdkVersion=34
2
+ QuickCrypto_targetSdkVersion=34
4
3
  QuickCrypto_minSdkVersion=23
4
+ QuickCrypto_ndkVersion=21.4.7075529
5
5
 
6
6
  android.useAndroidX=true
@@ -1,60 +1,15 @@
1
- #include <ReactCommon/CallInvokerHolder.h>
2
- #include <fbjni/fbjni.h>
3
1
  #include <jni.h>
4
- #include <jsi/jsi.h>
5
2
 
6
- #include "MGLQuickCryptoHostObject.h"
3
+ #include "random/HybridRandom.hpp"
4
+ #include <NitroModules/HybridObjectRegistry.hpp>
7
5
 
8
- using namespace facebook;
6
+ using namespace margelo::nitro::crypto;
7
+ using namespace margelo::crypto;
9
8
 
10
- class CryptoCppAdapter : public jni::HybridClass<CryptoCppAdapter> {
11
- public:
12
- static auto constexpr kJavaDescriptor =
13
- "Lcom/margelo/quickcrypto/QuickCryptoModule;";
9
+ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
10
+ HybridObjectRegistry::registerHybridObjectConstructor(
11
+ "Random", []() -> std::shared_ptr<HybridObject> { return std::make_shared<HybridRandom>();
12
+ });
14
13
 
15
- static jni::local_ref<jni::HybridClass<CryptoCppAdapter>::jhybriddata>
16
- initHybrid(jni::alias_ref<jhybridobject> jThis) {
17
- return makeCxxInstance();
18
- }
19
-
20
- CryptoCppAdapter() {}
21
-
22
- void install(jsi::Runtime &runtime,
23
- std::shared_ptr<facebook::react::CallInvoker> jsCallInvoker) {
24
- auto workerQueue = std::make_shared<margelo::DispatchQueue::dispatch_queue>(
25
- "margelo crypto worker thread");
26
- auto hostObject = std::make_shared<margelo::MGLQuickCryptoHostObject>(
27
- jsCallInvoker, workerQueue);
28
- auto object = jsi::Object::createFromHostObject(runtime, hostObject);
29
- runtime.global().setProperty(runtime, "__QuickCryptoProxy",
30
- std::move(object));
31
- }
32
-
33
- void nativeInstall(
34
- jlong jsiPtr,
35
- jni::alias_ref<facebook::react::CallInvokerHolder::javaobject>
36
- jsCallInvokerHolder) {
37
- auto jsCallInvoker = jsCallInvokerHolder->cthis()->getCallInvoker();
38
- auto runtime = reinterpret_cast<jsi::Runtime *>(jsiPtr);
39
- if (runtime) {
40
- install(*runtime, jsCallInvoker);
41
- }
42
- // if runtime was nullptr, QuickCrypto will not be installed. This should
43
- // only happen while Remote Debugging (Chrome), but will be weird either
44
- // way.
45
- }
46
-
47
- static void registerNatives() {
48
- registerHybrid(
49
- {makeNativeMethod("initHybrid", CryptoCppAdapter::initHybrid),
50
- makeNativeMethod("nativeInstall", CryptoCppAdapter::nativeInstall)});
51
- }
52
-
53
- private:
54
- friend HybridBase;
55
- };
56
-
57
- JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *) {
58
- return facebook::jni::initialize(vm,
59
- [] { CryptoCppAdapter::registerNatives(); });
14
+ return JNI_VERSION_1_2;
60
15
  }
@@ -0,0 +1,38 @@
1
+ package com.margelo.nitro.quickcrypto;
2
+
3
+ import android.util.Log;
4
+ import androidx.annotation.Nullable;
5
+
6
+ import com.facebook.react.bridge.NativeModule;
7
+ import com.facebook.react.bridge.ReactApplicationContext;
8
+ import com.facebook.react.module.model.ReactModuleInfoProvider;
9
+ import com.facebook.react.TurboReactPackage;
10
+
11
+ import java.util.HashMap;
12
+
13
+ public class QuickCryptoPackage extends TurboReactPackage {
14
+ private static final String TAG = "QuickCrypto";
15
+ static {
16
+ try {
17
+ Log.i(TAG, "Loading C++ library...");
18
+ System.loadLibrary(TAG);
19
+ Log.i(TAG, "Successfully loaded C++ library!");
20
+ } catch (Throwable e) {
21
+ Log.e(TAG, "Failed to load C++ library! Is it properly installed and linked?", e);
22
+ throw e;
23
+ }
24
+ }
25
+
26
+ @Nullable
27
+ @Override
28
+ public NativeModule getModule(String name, ReactApplicationContext reactContext) {
29
+ return null;
30
+ }
31
+
32
+ @Override
33
+ public ReactModuleInfoProvider getReactModuleInfoProvider() {
34
+ return () -> {
35
+ return new HashMap<>();
36
+ };
37
+ }
38
+ }
@@ -0,0 +1,19 @@
1
+
2
+ #include "HybridRandom.hpp"
3
+ #include <NitroModules/HybridObjectRegistry.hpp>
4
+
5
+ @interface QuickCryptoOnLoad : NSObject
6
+ @end
7
+
8
+ @implementation QuickCryptoOnLoad
9
+
10
+ using namespace margelo::nitro;
11
+ using namespace margelo::crypto;
12
+
13
+ + (void)load {
14
+ HybridObjectRegistry::registerHybridObjectConstructor(
15
+ "Random", []() -> std::shared_ptr<HybridObject> { return std::make_shared<HybridRandom>();
16
+ });
17
+ }
18
+
19
+ @end
@@ -5,52 +5,49 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.install = exports.default = void 0;
7
7
  var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
8
- var pbkdf2 = _interopRequireWildcard(require("./pbkdf2"));
9
8
  var random = _interopRequireWildcard(require("./random"));
10
- var _Cipher = require("./Cipher");
11
- var _keygen = require("./keygen");
12
- var _sig = require("./sig");
13
- var _Hmac = require("./Hmac");
14
- var _Hash = require("./Hash");
15
- var _constants = require("./constants");
16
- var _subtle = require("./subtle");
17
- var _Utils = require("./Utils");
18
- var _webcrypto = _interopRequireDefault(require("./webcrypto"));
19
- var _keys = require("./keys");
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ var _utils = require("./utils");
21
10
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
22
11
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ // polyfill imports
13
+
14
+ // API imports
15
+
16
+ // utils import
17
+
23
18
  /**
24
- * Loosely matches Node.js {crypto} with some unimplemented functionality
19
+ * Loosely matches Node.js {crypto} with some unimplemented functionality.
20
+ * See `docs/implementation-coverage.md` for status.
25
21
  */
26
22
  const QuickCrypto = {
27
- createHmac: _Hmac.createHmac,
28
- Hmac: _Hmac.createHmac,
29
- Hash: _Hash.createHash,
30
- createHash: _Hash.createHash,
31
- createCipher: _Cipher.createCipher,
32
- createCipheriv: _Cipher.createCipheriv,
33
- createDecipher: _Cipher.createDecipher,
34
- createDecipheriv: _Cipher.createDecipheriv,
35
- createPublicKey: _keys.createPublicKey,
36
- createPrivateKey: _keys.createPrivateKey,
37
- createSecretKey: _keys.createSecretKey,
38
- publicEncrypt: _Cipher.publicEncrypt,
39
- publicDecrypt: _Cipher.publicDecrypt,
40
- privateDecrypt: _Cipher.privateDecrypt,
41
- generateKey: _keygen.generateKey,
42
- generateKeyPair: _Cipher.generateKeyPair,
43
- generateKeyPairSync: _Cipher.generateKeyPairSync,
44
- generateKeySync: _keygen.generateKeySync,
45
- createSign: _sig.createSign,
46
- createVerify: _sig.createVerify,
47
- subtle: _subtle.subtle,
48
- constants: _constants.constants,
49
- ...pbkdf2,
23
+ // createHmac,
24
+ // Hmac: createHmac,
25
+ // Hash: createHash,
26
+ // createHash,
27
+ // createCipher,
28
+ // createCipheriv,
29
+ // createDecipher,
30
+ // createDecipheriv,
31
+ // createPublicKey,
32
+ // createPrivateKey,
33
+ // createSecretKey,
34
+ // publicEncrypt,
35
+ // publicDecrypt,
36
+ // privateDecrypt,
37
+ // generateKey,
38
+ // generateKeyPair,
39
+ // generateKeyPairSync,
40
+ // generateKeySync,
41
+ // createSign,
42
+ // createVerify,
43
+ // subtle,
44
+ // constants,
45
+ // ...pbkdf2,
50
46
  ...random,
51
- getCiphers: _Utils.getCiphers,
52
- getHashes: _Utils.getHashes,
53
- webcrypto: _webcrypto.default
47
+ // getCiphers,
48
+ // getHashes,
49
+ // webcrypto,
50
+ utils: _utils.utils
54
51
  };
55
52
 
56
53
  /**
@@ -63,7 +60,10 @@ const install = () => {
63
60
  // @ts-expect-error subtle isn't fully implemented and Cryptokey is missing
64
61
  global.crypto = QuickCrypto;
65
62
  };
63
+
64
+ // random, cipher, hash use nextTick
66
65
  exports.install = install;
66
+ global.process.nextTick = setImmediate;
67
67
  var _default = exports.default = QuickCrypto; // Additional exports for CommonJS compatibility
68
68
  module.exports = QuickCrypto;
69
69
  module.exports.default = QuickCrypto;
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeBuffer","require","pbkdf2","_interopRequireWildcard","random","_Cipher","_keygen","_sig","_Hmac","_Hash","_constants","_subtle","_Utils","_webcrypto","_interopRequireDefault","_keys","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","QuickCrypto","createHmac","Hmac","Hash","createHash","createCipher","createCipheriv","createDecipher","createDecipheriv","createPublicKey","createPrivateKey","createSecretKey","publicEncrypt","publicDecrypt","privateDecrypt","generateKey","generateKeyPair","generateKeyPairSync","generateKeySync","createSign","createVerify","subtle","constants","getCiphers","getHashes","webcrypto","install","global","Buffer","crypto","exports","_default","module"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeBuffer","require","random","_interopRequireWildcard","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","QuickCrypto","utils","install","global","Buffer","crypto","exports","process","nextTick","setImmediate","_default","module"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;AACA,IAAAA,kBAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAGA,IAAAG,MAAA,GAAAH,OAAA;AAAgC,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAPhC;;AAGA;;AAGA;;AAGA;AACA;AACA;AACA;AACA,MAAMW,WAAW,GAAG;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAGvB,MAAM;EACT;EACA;EACA;EACAwB,KAAK,EAALA;AACF,CAAC;;AAED;AACA;AACA;AACO,MAAMC,OAAO,GAAGA,CAAA,KAAM;EAC3B;EACAC,MAAM,CAACC,MAAM,GAAGA,yBAAM;;EAEtB;EACAD,MAAM,CAACE,MAAM,GAAGL,WAAW;AAC7B,CAAC;;AAED;AAAAM,OAAA,CAAAJ,OAAA,GAAAA,OAAA;AACAC,MAAM,CAACI,OAAO,CAACC,QAAQ,GAAGC,YAAY;AAAC,IAAAC,QAAA,GAAAJ,OAAA,CAAApB,OAAA,GAExBc,WAAW,EAE1B;AACAW,MAAM,CAACL,OAAO,GAAGN,WAAW;AAC5BW,MAAM,CAACL,OAAO,CAACpB,OAAO,GAAGc,WAAW;AACpCW,MAAM,CAACL,OAAO,CAACJ,OAAO,GAAGA,OAAO","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}