mindoodb 0.0.2 → 0.0.4

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 (305) hide show
  1. package/README-server.md +1001 -0
  2. package/README.md +89 -28
  3. package/dist/__mocks__/expo-standard-web-crypto.d.ts +10 -0
  4. package/dist/__mocks__/expo-standard-web-crypto.d.ts.map +1 -0
  5. package/dist/__mocks__/expo-standard-web-crypto.js +22 -0
  6. package/dist/__mocks__/expo-standard-web-crypto.js.map +1 -0
  7. package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.d.ts +8 -0
  8. package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.d.ts.map +1 -0
  9. package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.js +16 -0
  10. package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.js.map +1 -0
  11. package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.d.ts +1 -1
  12. package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.d.ts.map +1 -1
  13. package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.js +2 -2
  14. package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.js.map +1 -1
  15. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +30 -1
  16. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  17. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +152 -5
  18. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  19. package/dist/appendonlystores/network/HttpTransport.d.ts +17 -2
  20. package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
  21. package/dist/appendonlystores/network/HttpTransport.js +129 -0
  22. package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
  23. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +22 -2
  24. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
  25. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +110 -0
  26. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
  27. package/dist/appendonlystores/network/index.d.ts +1 -1
  28. package/dist/appendonlystores/network/index.d.ts.map +1 -1
  29. package/dist/appendonlystores/network/index.js.map +1 -1
  30. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts +65 -0
  31. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts.map +1 -0
  32. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js +741 -0
  33. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js.map +1 -0
  34. package/dist/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.d.ts +25 -0
  35. package/dist/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.d.ts.map +1 -0
  36. package/dist/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.js +41 -0
  37. package/dist/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.js.map +1 -0
  38. package/dist/browser/cache/IndexedDBLocalCacheStore.d.ts +21 -0
  39. package/dist/browser/cache/IndexedDBLocalCacheStore.d.ts.map +1 -0
  40. package/dist/browser/cache/IndexedDBLocalCacheStore.js +106 -0
  41. package/dist/browser/cache/IndexedDBLocalCacheStore.js.map +1 -0
  42. package/dist/browser/index.d.ts +8 -0
  43. package/dist/browser/index.d.ts.map +1 -1
  44. package/dist/browser/index.js +21 -1
  45. package/dist/browser/index.js.map +1 -1
  46. package/dist/core/BaseMindooDB.d.ts +115 -13
  47. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  48. package/dist/core/BaseMindooDB.js +1232 -269
  49. package/dist/core/BaseMindooDB.js.map +1 -1
  50. package/dist/core/BaseMindooTenant.d.ts +69 -6
  51. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  52. package/dist/core/BaseMindooTenant.js +302 -109
  53. package/dist/core/BaseMindooTenant.js.map +1 -1
  54. package/dist/core/BaseMindooTenantDirectory.d.ts +13 -10
  55. package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
  56. package/dist/core/BaseMindooTenantDirectory.js +144 -27
  57. package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
  58. package/dist/core/BaseMindooTenantFactory.d.ts +27 -29
  59. package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
  60. package/dist/core/BaseMindooTenantFactory.js +185 -112
  61. package/dist/core/BaseMindooTenantFactory.js.map +1 -1
  62. package/dist/core/MindooDBServerAdmin.d.ts +238 -0
  63. package/dist/core/MindooDBServerAdmin.d.ts.map +1 -0
  64. package/dist/core/MindooDBServerAdmin.js +345 -0
  65. package/dist/core/MindooDBServerAdmin.js.map +1 -0
  66. package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +68 -0
  67. package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -0
  68. package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.js +659 -0
  69. package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -0
  70. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts +45 -3
  71. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
  72. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +184 -23
  73. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
  74. package/dist/core/appendonlystores/MaterializationPlanner.d.ts +49 -0
  75. package/dist/core/appendonlystores/MaterializationPlanner.d.ts.map +1 -0
  76. package/dist/core/appendonlystores/MaterializationPlanner.js +325 -0
  77. package/dist/core/appendonlystores/MaterializationPlanner.js.map +1 -0
  78. package/dist/core/appendonlystores/bloom.d.ts +85 -0
  79. package/dist/core/appendonlystores/bloom.d.ts.map +1 -0
  80. package/dist/core/appendonlystores/bloom.js +228 -0
  81. package/dist/core/appendonlystores/bloom.js.map +1 -0
  82. package/dist/core/appendonlystores/network/NetworkTransport.d.ts +37 -2
  83. package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
  84. package/dist/core/appendonlystores/network/types.d.ts +12 -0
  85. package/dist/core/appendonlystores/network/types.d.ts.map +1 -1
  86. package/dist/core/appendonlystores/network/types.js.map +1 -1
  87. package/dist/core/appendonlystores/types.d.ts +206 -0
  88. package/dist/core/appendonlystores/types.d.ts.map +1 -1
  89. package/dist/core/automerge-adapter.d.ts +15 -0
  90. package/dist/core/automerge-adapter.d.ts.map +1 -0
  91. package/dist/core/automerge-adapter.js +73 -0
  92. package/dist/core/automerge-adapter.js.map +1 -0
  93. package/dist/core/cache/CacheManager.d.ts +75 -0
  94. package/dist/core/cache/CacheManager.d.ts.map +1 -0
  95. package/dist/core/cache/CacheManager.js +101 -0
  96. package/dist/core/cache/CacheManager.js.map +1 -0
  97. package/dist/core/cache/EncryptedLocalCacheStore.d.ts +41 -0
  98. package/dist/core/cache/EncryptedLocalCacheStore.d.ts.map +1 -0
  99. package/dist/core/cache/EncryptedLocalCacheStore.js +120 -0
  100. package/dist/core/cache/EncryptedLocalCacheStore.js.map +1 -0
  101. package/dist/core/cache/LocalCacheStore.d.ts +50 -0
  102. package/dist/core/cache/LocalCacheStore.d.ts.map +1 -0
  103. package/dist/core/cache/LocalCacheStore.js +39 -0
  104. package/dist/core/cache/LocalCacheStore.js.map +1 -0
  105. package/dist/core/crypto/pbkdf2Iterations.d.ts +12 -0
  106. package/dist/core/crypto/pbkdf2Iterations.d.ts.map +1 -0
  107. package/dist/core/crypto/pbkdf2Iterations.js +55 -0
  108. package/dist/core/crypto/pbkdf2Iterations.js.map +1 -0
  109. package/dist/core/crypto/privateKeyEncryption.d.ts +5 -0
  110. package/dist/core/crypto/privateKeyEncryption.d.ts.map +1 -0
  111. package/dist/core/crypto/privateKeyEncryption.js +87 -0
  112. package/dist/core/crypto/privateKeyEncryption.js.map +1 -0
  113. package/dist/core/index.d.ts +18 -6
  114. package/dist/core/index.d.ts.map +1 -1
  115. package/dist/core/index.js +42 -1
  116. package/dist/core/index.js.map +1 -1
  117. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts +4 -1
  118. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts.map +1 -1
  119. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js +39 -11
  120. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js.map +1 -1
  121. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.d.ts +1 -0
  122. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.d.ts.map +1 -1
  123. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.js +3 -0
  124. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.js.map +1 -1
  125. package/dist/core/indexing/virtualviews/VirtualView.d.ts +43 -0
  126. package/dist/core/indexing/virtualviews/VirtualView.d.ts.map +1 -1
  127. package/dist/core/indexing/virtualviews/VirtualView.js +173 -0
  128. package/dist/core/indexing/virtualviews/VirtualView.js.map +1 -1
  129. package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts +7 -0
  130. package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts.map +1 -1
  131. package/dist/core/indexing/virtualviews/VirtualViewEntryData.js +28 -0
  132. package/dist/core/indexing/virtualviews/VirtualViewEntryData.js.map +1 -1
  133. package/dist/core/keys/KeyBag.d.ts +56 -12
  134. package/dist/core/keys/KeyBag.d.ts.map +1 -1
  135. package/dist/core/keys/KeyBag.js +156 -70
  136. package/dist/core/keys/KeyBag.js.map +1 -1
  137. package/dist/core/keys/KeyContext.d.ts +4 -0
  138. package/dist/core/keys/KeyContext.d.ts.map +1 -0
  139. package/dist/core/keys/KeyContext.js +17 -0
  140. package/dist/core/keys/KeyContext.js.map +1 -0
  141. package/dist/core/types.d.ts +512 -60
  142. package/dist/core/types.d.ts.map +1 -1
  143. package/dist/core/types.js +9 -1
  144. package/dist/core/types.js.map +1 -1
  145. package/dist/core/uri/MindooURI.d.ts +58 -0
  146. package/dist/core/uri/MindooURI.d.ts.map +1 -0
  147. package/dist/core/uri/MindooURI.js +169 -0
  148. package/dist/core/uri/MindooURI.js.map +1 -0
  149. package/dist/core/userid/index.d.ts +0 -10
  150. package/dist/core/userid/index.d.ts.map +1 -1
  151. package/dist/core/utils/idGeneration.d.ts.map +1 -1
  152. package/dist/core/utils/idGeneration.js +37 -3
  153. package/dist/core/utils/idGeneration.js.map +1 -1
  154. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +544 -0
  155. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -0
  156. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +1358 -0
  157. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -0
  158. package/dist/node/attachments/writeAttachmentToFile.d.ts +15 -0
  159. package/dist/node/attachments/writeAttachmentToFile.d.ts.map +1 -0
  160. package/dist/node/attachments/writeAttachmentToFile.js +73 -0
  161. package/dist/node/attachments/writeAttachmentToFile.js.map +1 -0
  162. package/dist/node/cache/FileSystemLocalCacheStore.d.ts +17 -0
  163. package/dist/node/cache/FileSystemLocalCacheStore.d.ts.map +1 -0
  164. package/dist/node/cache/FileSystemLocalCacheStore.js +128 -0
  165. package/dist/node/cache/FileSystemLocalCacheStore.js.map +1 -0
  166. package/dist/node/cli/change-identity-password.d.ts +7 -0
  167. package/dist/node/cli/change-identity-password.d.ts.map +1 -0
  168. package/dist/node/cli/change-identity-password.js +67 -0
  169. package/dist/node/cli/change-identity-password.js.map +1 -0
  170. package/dist/node/cli/cli-utils.d.ts +16 -0
  171. package/dist/node/cli/cli-utils.d.ts.map +1 -0
  172. package/dist/node/cli/cli-utils.js +113 -0
  173. package/dist/node/cli/cli-utils.js.map +1 -0
  174. package/dist/node/cli/identity-export-public.d.ts +4 -0
  175. package/dist/node/cli/identity-export-public.d.ts.map +1 -0
  176. package/dist/node/cli/identity-export-public.js +55 -0
  177. package/dist/node/cli/identity-export-public.js.map +1 -0
  178. package/dist/node/cli/identity-info.d.ts +4 -0
  179. package/dist/node/cli/identity-info.d.ts.map +1 -0
  180. package/dist/node/cli/identity-info.js +57 -0
  181. package/dist/node/cli/identity-info.js.map +1 -0
  182. package/dist/node/index.d.ts +2 -0
  183. package/dist/node/index.d.ts.map +1 -1
  184. package/dist/node/index.js +8 -1
  185. package/dist/node/index.js.map +1 -1
  186. package/dist/node/server/CapabilityMatcher.d.ts +45 -0
  187. package/dist/node/server/CapabilityMatcher.d.ts.map +1 -0
  188. package/dist/node/server/CapabilityMatcher.js +117 -0
  189. package/dist/node/server/CapabilityMatcher.js.map +1 -0
  190. package/dist/node/server/MindooDBServer.d.ts +87 -0
  191. package/dist/node/server/MindooDBServer.d.ts.map +1 -0
  192. package/dist/node/server/MindooDBServer.js +1040 -0
  193. package/dist/node/server/MindooDBServer.js.map +1 -0
  194. package/dist/node/server/ServerSync.d.ts +41 -0
  195. package/dist/node/server/ServerSync.d.ts.map +1 -0
  196. package/dist/node/server/ServerSync.js +187 -0
  197. package/dist/node/server/ServerSync.js.map +1 -0
  198. package/dist/node/server/StoreFactory.d.ts +45 -0
  199. package/dist/node/server/StoreFactory.d.ts.map +1 -0
  200. package/dist/node/server/StoreFactory.js +89 -0
  201. package/dist/node/server/StoreFactory.js.map +1 -0
  202. package/dist/node/server/SystemAdminAuth.d.ts +65 -0
  203. package/dist/node/server/SystemAdminAuth.d.ts.map +1 -0
  204. package/dist/node/server/SystemAdminAuth.js +200 -0
  205. package/dist/node/server/SystemAdminAuth.js.map +1 -0
  206. package/dist/node/server/SystemIpAllowlist.d.ts +21 -0
  207. package/dist/node/server/SystemIpAllowlist.d.ts.map +1 -0
  208. package/dist/node/server/SystemIpAllowlist.js +210 -0
  209. package/dist/node/server/SystemIpAllowlist.js.map +1 -0
  210. package/dist/node/server/TenantManager.d.ts +85 -0
  211. package/dist/node/server/TenantManager.d.ts.map +1 -0
  212. package/dist/node/server/TenantManager.js +493 -0
  213. package/dist/node/server/TenantManager.js.map +1 -0
  214. package/dist/node/server/add-to-network.d.ts +20 -0
  215. package/dist/node/server/add-to-network.d.ts.map +1 -0
  216. package/dist/node/server/add-to-network.js +275 -0
  217. package/dist/node/server/add-to-network.js.map +1 -0
  218. package/dist/node/server/config.d.ts +51 -0
  219. package/dist/node/server/config.d.ts.map +1 -0
  220. package/dist/node/server/config.js +218 -0
  221. package/dist/node/server/config.js.map +1 -0
  222. package/dist/node/server/resolveServerPassword.d.ts +7 -0
  223. package/dist/node/server/resolveServerPassword.d.ts.map +1 -0
  224. package/dist/node/server/resolveServerPassword.js +25 -0
  225. package/dist/node/server/resolveServerPassword.js.map +1 -0
  226. package/dist/node/server/server.d.ts +22 -0
  227. package/dist/node/server/server.d.ts.map +1 -0
  228. package/dist/node/server/server.js +225 -0
  229. package/dist/node/server/server.js.map +1 -0
  230. package/dist/node/server/serverinit.d.ts +21 -0
  231. package/dist/node/server/serverinit.d.ts.map +1 -0
  232. package/dist/node/server/serverinit.js +317 -0
  233. package/dist/node/server/serverinit.js.map +1 -0
  234. package/dist/node/server/types.d.ts +162 -0
  235. package/dist/node/server/types.d.ts.map +1 -0
  236. package/dist/node/server/types.js +24 -0
  237. package/dist/node/server/types.js.map +1 -0
  238. package/dist/node/server/validation.d.ts +47 -0
  239. package/dist/node/server/validation.d.ts.map +1 -0
  240. package/dist/node/server/validation.js +114 -0
  241. package/dist/node/server/validation.js.map +1 -0
  242. package/dist/reactnative/cache/MMKVLocalCacheStore.d.ts +48 -0
  243. package/dist/reactnative/cache/MMKVLocalCacheStore.d.ts.map +1 -0
  244. package/dist/reactnative/cache/MMKVLocalCacheStore.js +113 -0
  245. package/dist/reactnative/cache/MMKVLocalCacheStore.js.map +1 -0
  246. package/dist/reactnative/crypto/AESAdapter.d.ts +18 -0
  247. package/dist/reactnative/crypto/AESAdapter.d.ts.map +1 -0
  248. package/dist/reactnative/crypto/AESAdapter.js +112 -0
  249. package/dist/reactnative/crypto/AESAdapter.js.map +1 -0
  250. package/dist/reactnative/crypto/Ed25519Adapter.d.ts +34 -0
  251. package/dist/reactnative/crypto/Ed25519Adapter.d.ts.map +1 -0
  252. package/dist/reactnative/crypto/Ed25519Adapter.js +386 -0
  253. package/dist/reactnative/crypto/Ed25519Adapter.js.map +1 -0
  254. package/dist/reactnative/crypto/ExpoGoCryptoAdapter.d.ts +23 -0
  255. package/dist/reactnative/crypto/ExpoGoCryptoAdapter.d.ts.map +1 -0
  256. package/dist/reactnative/crypto/ExpoGoCryptoAdapter.js +51 -0
  257. package/dist/reactnative/crypto/ExpoGoCryptoAdapter.js.map +1 -0
  258. package/dist/reactnative/crypto/HMACAdapter.d.ts +13 -0
  259. package/dist/reactnative/crypto/HMACAdapter.d.ts.map +1 -0
  260. package/dist/reactnative/crypto/HMACAdapter.js +50 -0
  261. package/dist/reactnative/crypto/HMACAdapter.js.map +1 -0
  262. package/dist/reactnative/crypto/KeyFormatConverter.d.ts +21 -0
  263. package/dist/reactnative/crypto/KeyFormatConverter.d.ts.map +1 -0
  264. package/dist/reactnative/crypto/KeyFormatConverter.js +72 -0
  265. package/dist/reactnative/crypto/KeyFormatConverter.js.map +1 -0
  266. package/dist/reactnative/crypto/PBKDF2Adapter.d.ts +19 -0
  267. package/dist/reactnative/crypto/PBKDF2Adapter.d.ts.map +1 -0
  268. package/dist/reactnative/crypto/PBKDF2Adapter.js +67 -0
  269. package/dist/reactnative/crypto/PBKDF2Adapter.js.map +1 -0
  270. package/dist/reactnative/crypto/QuickCryptoAdapter.d.ts +37 -0
  271. package/dist/reactnative/crypto/QuickCryptoAdapter.d.ts.map +1 -0
  272. package/dist/reactnative/crypto/QuickCryptoAdapter.js +72 -0
  273. package/dist/reactnative/crypto/QuickCryptoAdapter.js.map +1 -0
  274. package/dist/reactnative/crypto/RSAAdapter.d.ts +38 -0
  275. package/dist/reactnative/crypto/RSAAdapter.d.ts.map +1 -0
  276. package/dist/reactnative/crypto/RSAAdapter.js +184 -0
  277. package/dist/reactnative/crypto/RSAAdapter.js.map +1 -0
  278. package/dist/reactnative/crypto/ReactNativeCryptoAdapter.d.ts +33 -0
  279. package/dist/reactnative/crypto/ReactNativeCryptoAdapter.d.ts.map +1 -0
  280. package/dist/reactnative/crypto/ReactNativeCryptoAdapter.js +61 -0
  281. package/dist/reactnative/crypto/ReactNativeCryptoAdapter.js.map +1 -0
  282. package/dist/reactnative/crypto/SHA256Adapter.d.ts +9 -0
  283. package/dist/reactnative/crypto/SHA256Adapter.d.ts.map +1 -0
  284. package/dist/reactnative/crypto/SHA256Adapter.js +29 -0
  285. package/dist/reactnative/crypto/SHA256Adapter.js.map +1 -0
  286. package/dist/reactnative/crypto/SubtleCryptoPolyfill.d.ts +63 -0
  287. package/dist/reactnative/crypto/SubtleCryptoPolyfill.d.ts.map +1 -0
  288. package/dist/reactnative/crypto/SubtleCryptoPolyfill.js +350 -0
  289. package/dist/reactnative/crypto/SubtleCryptoPolyfill.js.map +1 -0
  290. package/dist/reactnative/index.d.ts +9 -0
  291. package/dist/reactnative/index.d.ts.map +1 -0
  292. package/dist/reactnative/index.js +41 -0
  293. package/dist/reactnative/index.js.map +1 -0
  294. package/package.json +63 -7
  295. package/patches/PATCHES.md +111 -0
  296. package/patches/react-native+0.76.9.patch +34 -0
  297. package/patches/react-native-quick-crypto+1.0.7.patch +42 -0
  298. package/scripts/cli.js +21 -0
  299. package/scripts/setup-react-native.js +228 -0
  300. package/templates/reactnative/App.js +252 -0
  301. package/templates/reactnative/app.json +29 -0
  302. package/templates/reactnative/babel.config.js +6 -0
  303. package/templates/reactnative/index.js +26 -0
  304. package/templates/reactnative/metro.config.snippet.js +39 -0
  305. package/templates/reactnative/mindoodb-polyfills.js +116 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactNativeCryptoAdapter.d.ts","sourceRoot":"","sources":["../../../src/reactnative/crypto/ReactNativeCryptoAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAIrE;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,aAAa;IAC5D,OAAO,CAAC,OAAO,CAAgB;IAE/B;;;OAGG;IACH,SAAgB,mBAAmB,EAAE,OAAO,CAAC;;IA4B7C;;OAEG;IACH,SAAS,IAAI,YAAY;IAIzB;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU;CAG/C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ /**
3
+ * React Native Crypto Adapter
4
+ * Auto-detects and uses the best available crypto implementation:
5
+ * 1. react-native-quick-crypto (native, fast) - for dev builds and production
6
+ * 2. ExpoGoCryptoAdapter (JS-only, slower) - fallback for Expo Go
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ReactNativeCryptoAdapter = void 0;
10
+ exports.createCryptoAdapter = createCryptoAdapter;
11
+ const ExpoGoCryptoAdapter_1 = require("./ExpoGoCryptoAdapter");
12
+ const QuickCryptoAdapter_1 = require("./QuickCryptoAdapter");
13
+ /**
14
+ * React Native Crypto Adapter
15
+ * Automatically selects the best available crypto implementation
16
+ */
17
+ class ReactNativeCryptoAdapter {
18
+ constructor() {
19
+ // Try react-native-quick-crypto first, fall back to ExpoGoCryptoAdapter
20
+ if ((0, QuickCryptoAdapter_1.isQuickCryptoAvailable)()) {
21
+ try {
22
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
23
+ const quickCrypto = require("react-native-quick-crypto");
24
+ this.adapter = new QuickCryptoAdapter_1.QuickCryptoAdapter(quickCrypto);
25
+ this.isUsingNativeCrypto = true;
26
+ console.log("[MindooDB] Using react-native-quick-crypto (native crypto)");
27
+ return;
28
+ }
29
+ catch (error) {
30
+ // Fall through to ExpoGoCryptoAdapter
31
+ console.warn("[MindooDB] Failed to initialize react-native-quick-crypto:", error);
32
+ }
33
+ }
34
+ // Fallback to JS-only implementation
35
+ this.adapter = new ExpoGoCryptoAdapter_1.ExpoGoCryptoAdapter();
36
+ this.isUsingNativeCrypto = false;
37
+ console.warn("[MindooDB] react-native-quick-crypto not available. " +
38
+ "Falling back to JavaScript-only crypto (slower). " +
39
+ "For better performance, create a development build with react-native-quick-crypto.");
40
+ }
41
+ /**
42
+ * Get the SubtleCrypto interface
43
+ */
44
+ getSubtle() {
45
+ return this.adapter.getSubtle();
46
+ }
47
+ /**
48
+ * Get random values
49
+ */
50
+ getRandomValues(array) {
51
+ return this.adapter.getRandomValues(array);
52
+ }
53
+ }
54
+ exports.ReactNativeCryptoAdapter = ReactNativeCryptoAdapter;
55
+ /**
56
+ * Factory function to create the ReactNativeCryptoAdapter
57
+ */
58
+ function createCryptoAdapter() {
59
+ return new ReactNativeCryptoAdapter();
60
+ }
61
+ //# sourceMappingURL=ReactNativeCryptoAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactNativeCryptoAdapter.js","sourceRoot":"","sources":["../../../src/reactnative/crypto/ReactNativeCryptoAdapter.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA+DH,kDAEC;AA9DD,+DAA4D;AAC5D,6DAAkF;AAElF;;;GAGG;AACH,MAAa,wBAAwB;IASnC;QACE,wEAAwE;QACxE,IAAI,IAAA,2CAAsB,GAAE,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,8DAA8D;gBAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;gBACzD,IAAI,CAAC,OAAO,GAAG,IAAI,uCAAkB,CAAC,WAAW,CAAC,CAAC;gBACnD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,4DAA4D,EAAE,KAAK,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,IAAI,CAAC,OAAO,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACzC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,OAAO,CAAC,IAAI,CACV,sDAAsD;YACtD,mDAAmD;YACnD,oFAAoF,CACrF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,KAAiB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;CACF;AAhDD,4DAgDC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,OAAO,IAAI,wBAAwB,EAAE,CAAC;AACxC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * SHA-256 Digest Adapter
3
+ * Implements SHA-256 hashing using node-forge
4
+ */
5
+ /**
6
+ * Compute SHA-256 digest of data
7
+ */
8
+ export declare function sha256Digest(data: ArrayBuffer | Uint8Array): Promise<ArrayBuffer>;
9
+ //# sourceMappingURL=SHA256Adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SHA256Adapter.d.ts","sourceRoot":"","sources":["../../../src/reactnative/crypto/SHA256Adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAevF"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ /**
3
+ * SHA-256 Digest Adapter
4
+ * Implements SHA-256 hashing using node-forge
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.sha256Digest = sha256Digest;
11
+ const node_forge_1 = __importDefault(require("node-forge"));
12
+ /**
13
+ * Compute SHA-256 digest of data
14
+ */
15
+ async function sha256Digest(data) {
16
+ const bytes = data instanceof Uint8Array ? data : new Uint8Array(data);
17
+ const md = node_forge_1.default.md.sha256.create();
18
+ const dataBuf = node_forge_1.default.util.createBuffer(bytes.buffer);
19
+ md.update(dataBuf.getBytes());
20
+ const hash = md.digest();
21
+ // Convert hash to Uint8Array
22
+ const hashHex = hash.toHex();
23
+ const hashBytes = new Uint8Array(hashHex.length / 2);
24
+ for (let i = 0; i < hashBytes.length; i++) {
25
+ hashBytes[i] = parseInt(hashHex.substr(i * 2, 2), 16);
26
+ }
27
+ return hashBytes.buffer;
28
+ }
29
+ //# sourceMappingURL=SHA256Adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SHA256Adapter.js","sourceRoot":"","sources":["../../../src/reactnative/crypto/SHA256Adapter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;AAOH,oCAeC;AApBD,4DAA+B;AAE/B;;GAEG;AACI,KAAK,UAAU,YAAY,CAAC,IAA8B;IAC/D,MAAM,KAAK,GAAG,IAAI,YAAY,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACvE,MAAM,EAAE,GAAG,oBAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,oBAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAqB,CAAC,CAAC;IACrE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;IAEzB,6BAA6B;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,SAAS,CAAC,MAAM,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * SubtleCrypto Polyfill
3
+ * Implements the Web Crypto API SubtleCrypto interface using JavaScript-only libraries
4
+ * Only implements methods actually used by MindooDB
5
+ */
6
+ /**
7
+ * SubtleCrypto polyfill implementation
8
+ * Note: We use 'as any' for type compatibility since we only implement a subset of methods
9
+ */
10
+ export declare class SubtleCryptoPolyfill {
11
+ /**
12
+ * Generate a cryptographic key
13
+ */
14
+ generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams | AesKeyGenParams | {
15
+ name: "Ed25519";
16
+ } | "Ed25519", extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair | CryptoKey>;
17
+ /**
18
+ * Import a key
19
+ */
20
+ importKey(format: KeyFormat, keyData: BufferSource | JsonWebKey, algorithm: RsaHashedImportParams | EcKeyImportParams | AesKeyAlgorithm | HmacImportParams | {
21
+ name: "Ed25519";
22
+ }, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
23
+ /**
24
+ * Export a key
25
+ */
26
+ exportKey(format: KeyFormat, key: CryptoKey): Promise<ArrayBuffer | JsonWebKey>;
27
+ /**
28
+ * Sign data
29
+ */
30
+ sign(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams | {
31
+ name: "Ed25519";
32
+ } | {
33
+ name: "HMAC";
34
+ }, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;
35
+ /**
36
+ * Verify a signature
37
+ */
38
+ verify(algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams | {
39
+ name: "Ed25519";
40
+ } | {
41
+ name: "HMAC";
42
+ }, key: CryptoKey, signature: BufferSource, data: BufferSource): Promise<boolean>;
43
+ /**
44
+ * Encrypt data
45
+ */
46
+ encrypt(algorithm: RsaOaepParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;
47
+ /**
48
+ * Decrypt data
49
+ */
50
+ decrypt(algorithm: RsaOaepParams | AesGcmParams, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;
51
+ /**
52
+ * Derive a key using PBKDF2
53
+ */
54
+ deriveKey(algorithm: Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AesDerivedKeyParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
55
+ /**
56
+ * Compute digest
57
+ */
58
+ digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise<ArrayBuffer>;
59
+ deriveBits(algorithm: AlgorithmIdentifier, baseKey: CryptoKey, length: number): Promise<ArrayBuffer>;
60
+ wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier): Promise<ArrayBuffer>;
61
+ unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier, unwrappedKeyAlgorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
62
+ }
63
+ //# sourceMappingURL=SubtleCryptoPolyfill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubtleCryptoPolyfill.d.ts","sourceRoot":"","sources":["../../../src/reactnative/crypto/SubtleCryptoPolyfill.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmBH;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B;;OAEG;IACG,WAAW,CACf,SAAS,EAAE,qBAAqB,GAAG,cAAc,GAAG,eAAe,GAAG;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,GAAG,SAAS,EACrG,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IA2CrC;;OAEG;IACG,SAAS,CACb,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,YAAY,GAAG,UAAU,EAClC,SAAS,EACL,qBAAqB,GACrB,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,EACvB,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,CAAC;IA6FrB;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC;IAwBrF;;OAEG;IACG,IAAI,CACR,SAAS,EAAE,mBAAmB,GAAG,YAAY,GAAG,WAAW,GAAG;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EACpG,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,YAAY,GACnB,OAAO,CAAC,WAAW,CAAC;IAiBrB;;OAEG;IACG,MAAM,CACV,SAAS,EAAE,mBAAmB,GAAG,YAAY,GAAG,WAAW,GAAG;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EACpG,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,YAAY,EACvB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,OAAO,CAAC;IAkBnB;;OAEG;IACG,OAAO,CACX,SAAS,EAAE,aAAa,GAAG,YAAY,EACvC,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,WAAW,CAAC;IAqBvB;;OAEG;IACG,OAAO,CACX,SAAS,EAAE,aAAa,GAAG,YAAY,EACvC,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,WAAW,CAAC;IAqBvB;;OAEG;IACG,SAAS,CACb,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,SAAS,EAClB,cAAc,EAAE,mBAAmB,EACnC,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,CAAC;IAyBrB;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAYhF,UAAU,CACd,SAAS,EAAE,mBAAmB,EAC9B,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;IAIjB,OAAO,CACX,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,SAAS,EACd,WAAW,EAAE,SAAS,EACtB,aAAa,EAAE,mBAAmB,GACjC,OAAO,CAAC,WAAW,CAAC;IAIjB,SAAS,CACb,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,YAAY,EACxB,aAAa,EAAE,SAAS,EACxB,eAAe,EAAE,mBAAmB,EACpC,qBAAqB,EAAE,mBAAmB,EAC1C,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,CAAC;CAGtB"}
@@ -0,0 +1,350 @@
1
+ "use strict";
2
+ /**
3
+ * SubtleCrypto Polyfill
4
+ * Implements the Web Crypto API SubtleCrypto interface using JavaScript-only libraries
5
+ * Only implements methods actually used by MindooDB
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.SubtleCryptoPolyfill = void 0;
42
+ const ed25519 = __importStar(require("./Ed25519Adapter"));
43
+ const rsa = __importStar(require("./RSAAdapter"));
44
+ const aes = __importStar(require("./AESAdapter"));
45
+ const pbkdf2 = __importStar(require("./PBKDF2Adapter"));
46
+ const hmac = __importStar(require("./HMACAdapter"));
47
+ const sha256 = __importStar(require("./SHA256Adapter"));
48
+ /**
49
+ * NotSupportedError for unimplemented methods
50
+ */
51
+ class NotSupportedError extends Error {
52
+ constructor(message) {
53
+ super(message);
54
+ this.name = "NotSupportedError";
55
+ }
56
+ }
57
+ /**
58
+ * SubtleCrypto polyfill implementation
59
+ * Note: We use 'as any' for type compatibility since we only implement a subset of methods
60
+ */
61
+ class SubtleCryptoPolyfill {
62
+ /**
63
+ * Generate a cryptographic key
64
+ */
65
+ async generateKey(algorithm, extractable, keyUsages) {
66
+ const alg = typeof algorithm === "string" ? { name: algorithm } : algorithm;
67
+ if (alg.name === "Ed25519") {
68
+ return ed25519.ed25519GenerateKey();
69
+ }
70
+ else if (alg.name === "RSA-OAEP") {
71
+ const params = alg;
72
+ return rsa.rsaGenerateKey({
73
+ name: "RSA-OAEP",
74
+ modulusLength: params.modulusLength,
75
+ publicExponent: new Uint8Array(params.publicExponent),
76
+ hash: params.hash,
77
+ }, extractable, keyUsages);
78
+ }
79
+ else if (alg.name === "AES-GCM") {
80
+ const params = alg;
81
+ // Generate random key material
82
+ const keyLength = params.length / 8; // Convert bits to bytes
83
+ const keyMaterial = new Uint8Array(keyLength);
84
+ // Use crypto.getRandomValues if available, otherwise throw
85
+ if (typeof crypto !== "undefined" && crypto.getRandomValues) {
86
+ crypto.getRandomValues(keyMaterial);
87
+ }
88
+ else {
89
+ throw new Error("getRandomValues not available");
90
+ }
91
+ return {
92
+ type: "secret",
93
+ extractable,
94
+ algorithm: {
95
+ name: "AES-GCM",
96
+ length: params.length,
97
+ },
98
+ usages: keyUsages,
99
+ _rawKey: keyMaterial.buffer,
100
+ };
101
+ }
102
+ else {
103
+ throw new NotSupportedError(`Algorithm ${alg.name} is not supported`);
104
+ }
105
+ }
106
+ /**
107
+ * Import a key
108
+ */
109
+ async importKey(format, keyData, algorithm, extractable, keyUsages) {
110
+ if (format === "jwk") {
111
+ throw new NotSupportedError("JWK format is not supported");
112
+ }
113
+ let keyBuffer;
114
+ if (keyData instanceof ArrayBuffer) {
115
+ keyBuffer = keyData;
116
+ }
117
+ else if (typeof SharedArrayBuffer !== 'undefined' && keyData instanceof SharedArrayBuffer) {
118
+ // Convert SharedArrayBuffer to ArrayBuffer by copying
119
+ // Note: SharedArrayBuffer may not exist in React Native/Expo Go environments
120
+ const view = new Uint8Array(keyData);
121
+ const copy = new Uint8Array(view.length);
122
+ copy.set(view);
123
+ keyBuffer = copy.buffer;
124
+ }
125
+ else {
126
+ // ArrayBufferView - copy to ensure we have an ArrayBuffer
127
+ const view = keyData;
128
+ const bytes = new Uint8Array(view.buffer, view.byteOffset, view.byteLength);
129
+ const copy = new Uint8Array(bytes.length);
130
+ copy.set(bytes);
131
+ keyBuffer = copy.buffer;
132
+ }
133
+ const alg = typeof algorithm === "string" ? { name: algorithm } : algorithm;
134
+ if (alg.name === "Ed25519") {
135
+ return ed25519.ed25519ImportKey(format, keyBuffer, alg, extractable, keyUsages);
136
+ }
137
+ else if (alg.name === "RSA-OAEP") {
138
+ const params = alg;
139
+ return rsa.rsaImportKey(format, keyBuffer, {
140
+ name: "RSA-OAEP",
141
+ hash: params.hash,
142
+ }, extractable, keyUsages);
143
+ }
144
+ else if (alg.name === "AES-GCM") {
145
+ if (format !== "raw") {
146
+ throw new Error("AES-GCM keys can only be imported in 'raw' format");
147
+ }
148
+ const params = alg;
149
+ const keyBytes = new Uint8Array(keyBuffer);
150
+ return {
151
+ type: "secret",
152
+ extractable,
153
+ algorithm: {
154
+ name: "AES-GCM",
155
+ length: params.length || keyBytes.length * 8,
156
+ },
157
+ usages: keyUsages,
158
+ _rawKey: keyBuffer,
159
+ };
160
+ }
161
+ else if (alg.name === "HMAC") {
162
+ if (format !== "raw") {
163
+ throw new Error("HMAC keys can only be imported in 'raw' format");
164
+ }
165
+ const params = alg;
166
+ return {
167
+ type: "secret",
168
+ extractable,
169
+ algorithm: {
170
+ name: "HMAC",
171
+ hash: params.hash,
172
+ length: new Uint8Array(keyBuffer).length * 8,
173
+ },
174
+ usages: keyUsages,
175
+ _rawKey: keyBuffer,
176
+ };
177
+ }
178
+ else if (alg.name === "PBKDF2") {
179
+ // PBKDF2 key import - treat the keyData as raw password material
180
+ // This is used for PBKDF2 key derivation
181
+ return {
182
+ type: "secret",
183
+ extractable,
184
+ algorithm: alg,
185
+ usages: keyUsages,
186
+ _rawKey: keyBuffer,
187
+ };
188
+ }
189
+ else {
190
+ throw new NotSupportedError(`Algorithm ${alg.name} is not supported`);
191
+ }
192
+ }
193
+ /**
194
+ * Export a key
195
+ */
196
+ async exportKey(format, key) {
197
+ if (format === "jwk") {
198
+ throw new NotSupportedError("JWK format is not supported");
199
+ }
200
+ if (format === "raw") {
201
+ // For raw keys (AES, HMAC), export the raw key material
202
+ const rawKey = key._rawKey;
203
+ if (!rawKey) {
204
+ throw new Error("Key does not contain raw key material");
205
+ }
206
+ return rawKey instanceof ArrayBuffer ? rawKey : rawKey.buffer;
207
+ }
208
+ else if (format === "spki" || format === "pkcs8") {
209
+ if (key.algorithm.name === "Ed25519") {
210
+ return ed25519.ed25519ExportKey(format, key);
211
+ }
212
+ else if (key.algorithm.name === "RSA-OAEP") {
213
+ return rsa.rsaExportKey(format, key);
214
+ }
215
+ else {
216
+ throw new Error(`Cannot export ${key.algorithm.name} key in ${format} format`);
217
+ }
218
+ }
219
+ else {
220
+ throw new NotSupportedError(`Export format ${format} is not supported`);
221
+ }
222
+ }
223
+ /**
224
+ * Sign data
225
+ */
226
+ async sign(algorithm, key, data) {
227
+ const dataBuffer = data instanceof ArrayBuffer ? data : data.buffer;
228
+ const alg = typeof algorithm === "string" ? { name: algorithm } : algorithm;
229
+ if (alg.name === "Ed25519") {
230
+ return ed25519.ed25519Sign(alg, key, dataBuffer);
231
+ }
232
+ else if (algorithm === "HMAC" || alg.name === "HMAC") {
233
+ const rawKey = key._rawKey;
234
+ if (!rawKey) {
235
+ throw new Error("Key does not contain raw key material");
236
+ }
237
+ return hmac.hmacSign(rawKey, dataBuffer);
238
+ }
239
+ else {
240
+ throw new NotSupportedError(`Signing algorithm ${alg.name || algorithm} is not supported`);
241
+ }
242
+ }
243
+ /**
244
+ * Verify a signature
245
+ */
246
+ async verify(algorithm, key, signature, data) {
247
+ const sigBuffer = signature instanceof ArrayBuffer ? signature : signature.buffer;
248
+ const dataBuffer = data instanceof ArrayBuffer ? data : data.buffer;
249
+ const alg = typeof algorithm === "string" ? { name: algorithm } : algorithm;
250
+ if (alg.name === "Ed25519") {
251
+ return ed25519.ed25519Verify(alg, key, sigBuffer, dataBuffer);
252
+ }
253
+ else if (algorithm === "HMAC" || alg.name === "HMAC") {
254
+ const rawKey = key._rawKey;
255
+ if (!rawKey) {
256
+ throw new Error("Key does not contain raw key material");
257
+ }
258
+ return hmac.hmacVerify(rawKey, sigBuffer, dataBuffer);
259
+ }
260
+ else {
261
+ throw new NotSupportedError(`Verification algorithm ${alg.name || algorithm} is not supported`);
262
+ }
263
+ }
264
+ /**
265
+ * Encrypt data
266
+ */
267
+ async encrypt(algorithm, key, data) {
268
+ const dataBuffer = data instanceof ArrayBuffer ? data : data.buffer;
269
+ if (algorithm.name === "RSA-OAEP") {
270
+ return rsa.rsaEncrypt(algorithm, key, dataBuffer);
271
+ }
272
+ else if (algorithm.name === "AES-GCM") {
273
+ const params = algorithm;
274
+ return aes.aesGcmEncrypt({
275
+ name: "AES-GCM",
276
+ iv: params.iv,
277
+ tagLength: params.tagLength,
278
+ }, key, dataBuffer);
279
+ }
280
+ else {
281
+ throw new NotSupportedError(`Encryption algorithm ${algorithm.name} is not supported`);
282
+ }
283
+ }
284
+ /**
285
+ * Decrypt data
286
+ */
287
+ async decrypt(algorithm, key, data) {
288
+ const dataBuffer = data instanceof ArrayBuffer ? data : data.buffer;
289
+ if (algorithm.name === "RSA-OAEP") {
290
+ return rsa.rsaDecrypt(algorithm, key, dataBuffer);
291
+ }
292
+ else if (algorithm.name === "AES-GCM") {
293
+ const params = algorithm;
294
+ return aes.aesGcmDecrypt({
295
+ name: "AES-GCM",
296
+ iv: params.iv,
297
+ tagLength: params.tagLength,
298
+ }, key, dataBuffer);
299
+ }
300
+ else {
301
+ throw new NotSupportedError(`Decryption algorithm ${algorithm.name} is not supported`);
302
+ }
303
+ }
304
+ /**
305
+ * Derive a key using PBKDF2
306
+ */
307
+ async deriveKey(algorithm, baseKey, derivedKeyType, extractable, keyUsages) {
308
+ if (algorithm.name !== "PBKDF2") {
309
+ throw new NotSupportedError(`Key derivation algorithm ${algorithm.name} is not supported`);
310
+ }
311
+ const rawKey = baseKey._rawKey;
312
+ if (!rawKey) {
313
+ throw new Error("Base key does not contain raw key material");
314
+ }
315
+ return pbkdf2.pbkdf2DeriveKey({
316
+ name: "PBKDF2",
317
+ salt: algorithm.salt,
318
+ iterations: algorithm.iterations,
319
+ hash: algorithm.hash,
320
+ }, rawKey, {
321
+ name: "AES-GCM",
322
+ length: derivedKeyType.length,
323
+ });
324
+ }
325
+ /**
326
+ * Compute digest
327
+ */
328
+ async digest(algorithm, data) {
329
+ const dataBuffer = data instanceof ArrayBuffer ? data : data.buffer;
330
+ const alg = typeof algorithm === "string" ? algorithm : algorithm.name;
331
+ if (alg === "SHA-256") {
332
+ return sha256.sha256Digest(dataBuffer);
333
+ }
334
+ else {
335
+ throw new NotSupportedError(`Digest algorithm ${alg} is not supported`);
336
+ }
337
+ }
338
+ // Unimplemented methods - throw NotSupportedError
339
+ async deriveBits(algorithm, baseKey, length) {
340
+ throw new NotSupportedError("deriveBits is not implemented");
341
+ }
342
+ async wrapKey(format, key, wrappingKey, wrapAlgorithm) {
343
+ throw new NotSupportedError("wrapKey is not implemented");
344
+ }
345
+ async unwrapKey(format, wrappedKey, unwrappingKey, unwrapAlgorithm, unwrappedKeyAlgorithm, extractable, keyUsages) {
346
+ throw new NotSupportedError("unwrapKey is not implemented");
347
+ }
348
+ }
349
+ exports.SubtleCryptoPolyfill = SubtleCryptoPolyfill;
350
+ //# sourceMappingURL=SubtleCryptoPolyfill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubtleCryptoPolyfill.js","sourceRoot":"","sources":["../../../src/reactnative/crypto/SubtleCryptoPolyfill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export * from "../core/index";
2
+ export { BaseMindooDB } from "../core/BaseMindooDB";
3
+ export { BaseMindooTenant } from "../core/BaseMindooTenant";
4
+ export { BaseMindooTenantFactory } from "../core/BaseMindooTenantFactory";
5
+ export { ReactNativeCryptoAdapter, createCryptoAdapter } from "./crypto/ReactNativeCryptoAdapter";
6
+ export { ExpoGoCryptoAdapter } from "./crypto/ExpoGoCryptoAdapter";
7
+ export { QuickCryptoAdapter, isQuickCryptoAvailable } from "./crypto/QuickCryptoAdapter";
8
+ export { MMKVLocalCacheStore, type MMKVInterface, type AsyncStorageInterface } from "./cache/MMKVLocalCacheStore";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reactnative/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGzF,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // React Native-specific exports
3
+ // Re-exports everything from core plus React Native-specific implementations
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.MMKVLocalCacheStore = exports.isQuickCryptoAvailable = exports.QuickCryptoAdapter = exports.ExpoGoCryptoAdapter = exports.createCryptoAdapter = exports.ReactNativeCryptoAdapter = exports.BaseMindooTenantFactory = exports.BaseMindooTenant = exports.BaseMindooDB = void 0;
20
+ // Re-export all core exports
21
+ __exportStar(require("../core/index"), exports);
22
+ // Re-export Base* classes that aren't in core/index
23
+ var BaseMindooDB_1 = require("../core/BaseMindooDB");
24
+ Object.defineProperty(exports, "BaseMindooDB", { enumerable: true, get: function () { return BaseMindooDB_1.BaseMindooDB; } });
25
+ var BaseMindooTenant_1 = require("../core/BaseMindooTenant");
26
+ Object.defineProperty(exports, "BaseMindooTenant", { enumerable: true, get: function () { return BaseMindooTenant_1.BaseMindooTenant; } });
27
+ var BaseMindooTenantFactory_1 = require("../core/BaseMindooTenantFactory");
28
+ Object.defineProperty(exports, "BaseMindooTenantFactory", { enumerable: true, get: function () { return BaseMindooTenantFactory_1.BaseMindooTenantFactory; } });
29
+ // React Native-specific crypto adapters
30
+ var ReactNativeCryptoAdapter_1 = require("./crypto/ReactNativeCryptoAdapter");
31
+ Object.defineProperty(exports, "ReactNativeCryptoAdapter", { enumerable: true, get: function () { return ReactNativeCryptoAdapter_1.ReactNativeCryptoAdapter; } });
32
+ Object.defineProperty(exports, "createCryptoAdapter", { enumerable: true, get: function () { return ReactNativeCryptoAdapter_1.createCryptoAdapter; } });
33
+ var ExpoGoCryptoAdapter_1 = require("./crypto/ExpoGoCryptoAdapter");
34
+ Object.defineProperty(exports, "ExpoGoCryptoAdapter", { enumerable: true, get: function () { return ExpoGoCryptoAdapter_1.ExpoGoCryptoAdapter; } });
35
+ var QuickCryptoAdapter_1 = require("./crypto/QuickCryptoAdapter");
36
+ Object.defineProperty(exports, "QuickCryptoAdapter", { enumerable: true, get: function () { return QuickCryptoAdapter_1.QuickCryptoAdapter; } });
37
+ Object.defineProperty(exports, "isQuickCryptoAvailable", { enumerable: true, get: function () { return QuickCryptoAdapter_1.isQuickCryptoAvailable; } });
38
+ // React Native-specific cache store
39
+ var MMKVLocalCacheStore_1 = require("./cache/MMKVLocalCacheStore");
40
+ Object.defineProperty(exports, "MMKVLocalCacheStore", { enumerable: true, get: function () { return MMKVLocalCacheStore_1.MMKVLocalCacheStore; } });
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reactnative/index.ts"],"names":[],"mappings":";AAAA,gCAAgC;AAChC,6EAA6E;;;;;;;;;;;;;;;;;AAE7E,6BAA6B;AAC7B,gDAA8B;AAE9B,oDAAoD;AACpD,qDAAoD;AAA3C,4GAAA,YAAY,OAAA;AACrB,6DAA4D;AAAnD,oHAAA,gBAAgB,OAAA;AACzB,2EAA0E;AAAjE,kIAAA,uBAAuB,OAAA;AAEhC,wCAAwC;AACxC,8EAAkG;AAAzF,oIAAA,wBAAwB,OAAA;AAAE,+HAAA,mBAAmB,OAAA;AACtD,oEAAmE;AAA1D,0HAAA,mBAAmB,OAAA;AAC5B,kEAAyF;AAAhF,wHAAA,kBAAkB,OAAA;AAAE,4HAAA,sBAAsB,OAAA;AAEnD,oCAAoC;AACpC,mEAAkH;AAAzG,0HAAA,mBAAmB,OAAA"}