react-native-quick-crypto 1.0.0-beta.2 → 1.0.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/QuickCrypto.podspec +143 -7
- package/README.md +12 -6
- package/android/CMakeLists.txt +82 -21
- package/android/build.gradle +47 -4
- package/android/src/main/cpp/cpp-adapter.cpp +3 -10
- package/android/src/main/java/com/margelo/nitro/quickcrypto/QuickCryptoPackage.java +13 -10
- package/app.plugin.js +3 -0
- package/cpp/blake3/HybridBlake3.cpp +118 -0
- package/cpp/blake3/HybridBlake3.hpp +35 -0
- package/cpp/cipher/CCMCipher.cpp +199 -0
- package/cpp/cipher/CCMCipher.hpp +26 -0
- package/cpp/cipher/ChaCha20Cipher.cpp +97 -0
- package/cpp/cipher/ChaCha20Cipher.hpp +25 -0
- package/cpp/cipher/ChaCha20Poly1305Cipher.cpp +170 -0
- package/cpp/cipher/ChaCha20Poly1305Cipher.hpp +30 -0
- package/cpp/cipher/HybridCipher.cpp +322 -0
- package/cpp/cipher/HybridCipher.hpp +68 -0
- package/cpp/cipher/HybridCipherFactory.hpp +97 -0
- package/cpp/cipher/OCBCipher.cpp +55 -0
- package/cpp/cipher/OCBCipher.hpp +19 -0
- package/cpp/cipher/XSalsa20Cipher.cpp +61 -0
- package/cpp/cipher/XSalsa20Cipher.hpp +33 -0
- package/cpp/ec/HybridEcKeyPair.cpp +428 -0
- package/cpp/ec/HybridEcKeyPair.hpp +48 -0
- package/cpp/ed25519/HybridEdKeyPair.cpp +300 -0
- package/cpp/ed25519/HybridEdKeyPair.hpp +63 -0
- package/cpp/hash/HybridHash.cpp +185 -0
- package/cpp/hash/HybridHash.hpp +43 -0
- package/cpp/hmac/HybridHmac.cpp +95 -0
- package/cpp/hmac/HybridHmac.hpp +31 -0
- package/cpp/keys/HybridKeyObjectHandle.cpp +243 -0
- package/cpp/keys/HybridKeyObjectHandle.hpp +42 -0
- package/cpp/keys/KeyObjectData.cpp +226 -0
- package/cpp/keys/KeyObjectData.hpp +71 -0
- package/cpp/keys/node.h +5 -0
- package/cpp/pbkdf2/HybridPbkdf2.cpp +51 -0
- package/cpp/pbkdf2/HybridPbkdf2.hpp +24 -0
- package/cpp/random/HybridRandom.cpp +32 -18
- package/cpp/random/HybridRandom.hpp +18 -30
- package/cpp/rsa/HybridRsaKeyPair.cpp +154 -0
- package/cpp/rsa/HybridRsaKeyPair.hpp +43 -0
- package/cpp/utils/Macros.hpp +68 -0
- package/cpp/utils/Utils.hpp +53 -1
- package/deps/blake3/.cargo/config.toml +2 -0
- package/deps/blake3/.git-blame-ignore-revs +2 -0
- package/deps/blake3/.github/workflows/build_b3sum.py +38 -0
- package/deps/blake3/.github/workflows/ci.yml +491 -0
- package/deps/blake3/.github/workflows/tag.yml +43 -0
- package/deps/blake3/.github/workflows/upload_github_release_asset.py +73 -0
- package/deps/blake3/CONTRIBUTING.md +31 -0
- package/deps/blake3/Cargo.toml +135 -0
- package/deps/blake3/LICENSE_A2 +202 -0
- package/deps/blake3/LICENSE_A2LLVM +219 -0
- package/deps/blake3/LICENSE_CC0 +121 -0
- package/deps/blake3/README.md +229 -0
- package/deps/blake3/b3sum/Cargo.lock +513 -0
- package/deps/blake3/b3sum/Cargo.toml +26 -0
- package/deps/blake3/b3sum/README.md +72 -0
- package/deps/blake3/b3sum/src/main.rs +564 -0
- package/deps/blake3/b3sum/src/unit_tests.rs +235 -0
- package/deps/blake3/b3sum/tests/cli_tests.rs +680 -0
- package/deps/blake3/b3sum/what_does_check_do.md +176 -0
- package/deps/blake3/benches/bench.rs +623 -0
- package/deps/blake3/build.rs +389 -0
- package/deps/blake3/c/CMakeLists.txt +383 -0
- package/deps/blake3/c/CMakePresets.json +73 -0
- package/deps/blake3/c/Makefile.testing +82 -0
- package/deps/blake3/c/README.md +403 -0
- package/deps/blake3/c/blake3-config.cmake.in +14 -0
- package/deps/blake3/c/blake3.c +650 -0
- package/deps/blake3/c/blake3.h +86 -0
- package/deps/blake3/c/blake3_avx2.c +326 -0
- package/deps/blake3/c/blake3_avx2_x86-64_unix.S +1815 -0
- package/deps/blake3/c/blake3_avx2_x86-64_windows_gnu.S +1817 -0
- package/deps/blake3/c/blake3_avx2_x86-64_windows_msvc.asm +1828 -0
- package/deps/blake3/c/blake3_avx512.c +1388 -0
- package/deps/blake3/c/blake3_avx512_x86-64_unix.S +4824 -0
- package/deps/blake3/c/blake3_avx512_x86-64_windows_gnu.S +2615 -0
- package/deps/blake3/c/blake3_avx512_x86-64_windows_msvc.asm +2634 -0
- package/deps/blake3/c/blake3_c_rust_bindings/Cargo.toml +32 -0
- package/deps/blake3/c/blake3_c_rust_bindings/README.md +4 -0
- package/deps/blake3/c/blake3_c_rust_bindings/benches/bench.rs +477 -0
- package/deps/blake3/c/blake3_c_rust_bindings/build.rs +253 -0
- package/deps/blake3/c/blake3_c_rust_bindings/cross_test.sh +31 -0
- package/deps/blake3/c/blake3_c_rust_bindings/src/lib.rs +333 -0
- package/deps/blake3/c/blake3_c_rust_bindings/src/test.rs +696 -0
- package/deps/blake3/c/blake3_dispatch.c +332 -0
- package/deps/blake3/c/blake3_impl.h +333 -0
- package/deps/blake3/c/blake3_neon.c +366 -0
- package/deps/blake3/c/blake3_portable.c +160 -0
- package/deps/blake3/c/blake3_sse2.c +566 -0
- package/deps/blake3/c/blake3_sse2_x86-64_unix.S +2291 -0
- package/deps/blake3/c/blake3_sse2_x86-64_windows_gnu.S +2332 -0
- package/deps/blake3/c/blake3_sse2_x86-64_windows_msvc.asm +2350 -0
- package/deps/blake3/c/blake3_sse41.c +560 -0
- package/deps/blake3/c/blake3_sse41_x86-64_unix.S +2028 -0
- package/deps/blake3/c/blake3_sse41_x86-64_windows_gnu.S +2069 -0
- package/deps/blake3/c/blake3_sse41_x86-64_windows_msvc.asm +2089 -0
- package/deps/blake3/c/blake3_tbb.cpp +37 -0
- package/deps/blake3/c/dependencies/CMakeLists.txt +3 -0
- package/deps/blake3/c/dependencies/tbb/CMakeLists.txt +28 -0
- package/deps/blake3/c/example.c +36 -0
- package/deps/blake3/c/example_tbb.c +57 -0
- package/deps/blake3/c/libblake3.pc.in +12 -0
- package/deps/blake3/c/main.c +166 -0
- package/deps/blake3/c/test.py +97 -0
- package/deps/blake3/media/B3.svg +70 -0
- package/deps/blake3/media/BLAKE3.svg +85 -0
- package/deps/blake3/media/speed.svg +1474 -0
- package/deps/blake3/reference_impl/Cargo.toml +8 -0
- package/deps/blake3/reference_impl/README.md +14 -0
- package/deps/blake3/reference_impl/reference_impl.rs +374 -0
- package/deps/blake3/src/ffi_avx2.rs +65 -0
- package/deps/blake3/src/ffi_avx512.rs +169 -0
- package/deps/blake3/src/ffi_neon.rs +82 -0
- package/deps/blake3/src/ffi_sse2.rs +126 -0
- package/deps/blake3/src/ffi_sse41.rs +126 -0
- package/deps/blake3/src/guts.rs +60 -0
- package/deps/blake3/src/hazmat.rs +704 -0
- package/deps/blake3/src/io.rs +64 -0
- package/deps/blake3/src/join.rs +92 -0
- package/deps/blake3/src/lib.rs +1835 -0
- package/deps/blake3/src/platform.rs +587 -0
- package/deps/blake3/src/portable.rs +198 -0
- package/deps/blake3/src/rust_avx2.rs +474 -0
- package/deps/blake3/src/rust_sse2.rs +775 -0
- package/deps/blake3/src/rust_sse41.rs +766 -0
- package/deps/blake3/src/test.rs +1049 -0
- package/deps/blake3/src/traits.rs +227 -0
- package/deps/blake3/src/wasm32_simd.rs +794 -0
- package/deps/blake3/test_vectors/Cargo.toml +19 -0
- package/deps/blake3/test_vectors/cross_test.sh +25 -0
- package/deps/blake3/test_vectors/src/bin/generate.rs +4 -0
- package/deps/blake3/test_vectors/src/lib.rs +350 -0
- package/deps/blake3/test_vectors/test_vectors.json +217 -0
- package/deps/blake3/tools/compiler_version/Cargo.toml +7 -0
- package/deps/blake3/tools/compiler_version/build.rs +6 -0
- package/deps/blake3/tools/compiler_version/src/main.rs +27 -0
- package/deps/blake3/tools/instruction_set_support/Cargo.toml +6 -0
- package/deps/blake3/tools/instruction_set_support/src/main.rs +10 -0
- package/deps/blake3/tools/release.md +16 -0
- package/deps/fastpbkdf2/fastpbkdf2.c +356 -0
- package/deps/fastpbkdf2/fastpbkdf2.h +68 -0
- package/deps/ncrypto/ncrypto.cc +4679 -0
- package/deps/ncrypto/ncrypto.h +1625 -0
- package/lib/commonjs/blake3.js +98 -0
- package/lib/commonjs/blake3.js.map +1 -0
- package/lib/commonjs/cipher.js +180 -0
- package/lib/commonjs/cipher.js.map +1 -0
- package/lib/commonjs/ec.js +344 -0
- package/lib/commonjs/ec.js.map +1 -0
- package/lib/commonjs/ed.js +185 -0
- package/lib/commonjs/ed.js.map +1 -0
- package/lib/commonjs/expo-plugin/@types.js +2 -0
- package/lib/commonjs/expo-plugin/@types.js.map +1 -0
- package/lib/commonjs/expo-plugin/withRNQC.js +25 -0
- package/lib/commonjs/expo-plugin/withRNQC.js.map +1 -0
- package/lib/commonjs/expo-plugin/withSodiumAndroid.js +25 -0
- package/lib/commonjs/expo-plugin/withSodiumAndroid.js.map +1 -0
- package/lib/commonjs/expo-plugin/withSodiumIos.js +26 -0
- package/lib/commonjs/expo-plugin/withSodiumIos.js.map +1 -0
- package/lib/commonjs/expo-plugin/withXCode.js +51 -0
- package/lib/commonjs/expo-plugin/withXCode.js.map +1 -0
- package/lib/commonjs/hash.js +215 -0
- package/lib/commonjs/hash.js.map +1 -0
- package/lib/commonjs/hmac.js +109 -0
- package/lib/commonjs/hmac.js.map +1 -0
- package/lib/commonjs/index.js +152 -32
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/keys/classes.js +250 -0
- package/lib/commonjs/keys/classes.js.map +1 -0
- package/lib/commonjs/keys/generateKeyPair.js +102 -0
- package/lib/commonjs/keys/generateKeyPair.js.map +1 -0
- package/lib/commonjs/keys/index.js +89 -0
- package/lib/commonjs/keys/index.js.map +1 -0
- package/lib/commonjs/keys/signVerify.js +41 -0
- package/lib/commonjs/keys/signVerify.js.map +1 -0
- package/lib/commonjs/keys/utils.js +123 -0
- package/lib/commonjs/keys/utils.js.map +1 -0
- package/lib/commonjs/pbkdf2.js +89 -0
- package/lib/commonjs/pbkdf2.js.map +1 -0
- package/lib/commonjs/random.js +9 -3
- package/lib/commonjs/random.js.map +1 -1
- package/lib/commonjs/rsa.js +129 -0
- package/lib/commonjs/rsa.js.map +1 -0
- package/lib/commonjs/specs/blake3.nitro.js +6 -0
- package/lib/commonjs/specs/blake3.nitro.js.map +1 -0
- package/lib/commonjs/specs/cipher.nitro.js +6 -0
- package/lib/commonjs/specs/cipher.nitro.js.map +1 -0
- package/lib/commonjs/specs/ecKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/ecKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/specs/edKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/edKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/specs/hash.nitro.js +6 -0
- package/lib/commonjs/specs/hash.nitro.js.map +1 -0
- package/lib/commonjs/specs/hmac.nitro.js +6 -0
- package/lib/commonjs/specs/hmac.nitro.js.map +1 -0
- package/lib/commonjs/specs/keyObjectHandle.nitro.js +6 -0
- package/lib/commonjs/specs/keyObjectHandle.nitro.js.map +1 -0
- package/lib/commonjs/specs/pbkdf2.nitro.js +6 -0
- package/lib/commonjs/specs/pbkdf2.nitro.js.map +1 -0
- package/lib/commonjs/specs/rsaKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/rsaKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/subtle.js +365 -0
- package/lib/commonjs/subtle.js.map +1 -0
- package/lib/commonjs/utils/cipher.js +64 -0
- package/lib/commonjs/utils/cipher.js.map +1 -0
- package/lib/commonjs/utils/conversion.js +140 -6
- package/lib/commonjs/utils/conversion.js.map +1 -1
- package/lib/commonjs/utils/errors.js +14 -0
- package/lib/commonjs/utils/errors.js.map +1 -0
- package/lib/commonjs/utils/hashnames.js +91 -0
- package/lib/commonjs/utils/hashnames.js.map +1 -0
- package/lib/commonjs/utils/index.js +65 -5
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/commonjs/utils/noble.js +82 -0
- package/lib/commonjs/utils/noble.js.map +1 -0
- package/lib/commonjs/utils/types.js +52 -0
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/commonjs/utils/validation.js +98 -0
- package/lib/commonjs/utils/validation.js.map +1 -0
- package/lib/module/blake3.js +90 -0
- package/lib/module/blake3.js.map +1 -0
- package/lib/module/cipher.js +173 -0
- package/lib/module/cipher.js.map +1 -0
- package/lib/module/ec.js +336 -0
- package/lib/module/ec.js.map +1 -0
- package/lib/module/ed.js +178 -0
- package/lib/module/ed.js.map +1 -0
- package/lib/module/expo-plugin/@types.js +2 -0
- package/lib/module/expo-plugin/@types.js.map +1 -0
- package/lib/module/expo-plugin/withRNQC.js +21 -0
- package/lib/module/expo-plugin/withRNQC.js.map +1 -0
- package/lib/module/expo-plugin/withSodiumAndroid.js +20 -0
- package/lib/module/expo-plugin/withSodiumAndroid.js.map +1 -0
- package/lib/module/expo-plugin/withSodiumIos.js +20 -0
- package/lib/module/expo-plugin/withSodiumIos.js.map +1 -0
- package/lib/module/expo-plugin/withXCode.js +46 -0
- package/lib/module/expo-plugin/withXCode.js.map +1 -0
- package/lib/module/hash.js +207 -0
- package/lib/module/hash.js.map +1 -0
- package/lib/module/hmac.js +104 -0
- package/lib/module/hmac.js.map +1 -0
- package/lib/module/index.js +33 -29
- package/lib/module/index.js.map +1 -1
- package/lib/module/keys/classes.js +241 -0
- package/lib/module/keys/classes.js.map +1 -0
- package/lib/module/keys/generateKeyPair.js +96 -0
- package/lib/module/keys/generateKeyPair.js.map +1 -0
- package/lib/module/keys/index.js +32 -0
- package/lib/module/keys/index.js.map +1 -0
- package/lib/module/keys/signVerify.js +41 -0
- package/lib/module/keys/signVerify.js.map +1 -0
- package/lib/module/keys/utils.js +114 -0
- package/lib/module/keys/utils.js.map +1 -0
- package/lib/module/pbkdf2.js +83 -0
- package/lib/module/pbkdf2.js.map +1 -0
- package/lib/module/random.js +7 -1
- package/lib/module/random.js.map +1 -1
- package/lib/module/rsa.js +123 -0
- package/lib/module/rsa.js.map +1 -0
- package/lib/module/specs/blake3.nitro.js +4 -0
- package/lib/module/specs/blake3.nitro.js.map +1 -0
- package/lib/module/specs/cipher.nitro.js +4 -0
- package/lib/module/specs/cipher.nitro.js.map +1 -0
- package/lib/module/specs/ecKeyPair.nitro.js +4 -0
- package/lib/module/specs/ecKeyPair.nitro.js.map +1 -0
- package/lib/module/specs/edKeyPair.nitro.js +4 -0
- package/lib/module/specs/edKeyPair.nitro.js.map +1 -0
- package/lib/module/specs/hash.nitro.js +4 -0
- package/lib/module/specs/hash.nitro.js.map +1 -0
- package/lib/module/specs/hmac.nitro.js +4 -0
- package/lib/module/specs/hmac.nitro.js.map +1 -0
- package/lib/module/specs/keyObjectHandle.nitro.js +4 -0
- package/lib/module/specs/keyObjectHandle.nitro.js.map +1 -0
- package/lib/module/specs/pbkdf2.nitro.js +4 -0
- package/lib/module/specs/pbkdf2.nitro.js.map +1 -0
- package/lib/module/specs/rsaKeyPair.nitro.js +4 -0
- package/lib/module/specs/rsaKeyPair.nitro.js.map +1 -0
- package/lib/module/subtle.js +360 -0
- package/lib/module/subtle.js.map +1 -0
- package/lib/module/utils/cipher.js +56 -0
- package/lib/module/utils/cipher.js.map +1 -0
- package/lib/module/utils/conversion.js +120 -8
- package/lib/module/utils/conversion.js.map +1 -1
- package/lib/module/utils/errors.js +10 -0
- package/lib/module/utils/errors.js.map +1 -0
- package/lib/module/utils/hashnames.js +89 -0
- package/lib/module/utils/hashnames.js.map +1 -0
- package/lib/module/utils/index.js +6 -5
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/noble.js +76 -0
- package/lib/module/utils/noble.js.map +1 -0
- package/lib/module/utils/types.js +53 -0
- package/lib/module/utils/types.js.map +1 -1
- package/lib/module/utils/validation.js +87 -0
- package/lib/module/utils/validation.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/typescript/blake3.d.ts +33 -0
- package/lib/typescript/blake3.d.ts.map +1 -0
- package/lib/typescript/cipher.d.ts +60 -0
- package/lib/typescript/cipher.d.ts.map +1 -0
- package/lib/typescript/ec.d.ts +13 -0
- package/lib/typescript/ec.d.ts.map +1 -0
- package/lib/typescript/ed.d.ts +43 -0
- package/lib/typescript/ed.d.ts.map +1 -0
- package/lib/typescript/expo-plugin/@types.d.ts +8 -0
- package/lib/typescript/expo-plugin/@types.d.ts.map +1 -0
- package/lib/typescript/expo-plugin/withRNQC.d.ts +4 -0
- package/lib/typescript/expo-plugin/withRNQC.d.ts.map +1 -0
- package/lib/typescript/expo-plugin/withSodiumAndroid.d.ts +4 -0
- package/lib/typescript/expo-plugin/withSodiumAndroid.d.ts.map +1 -0
- package/lib/typescript/expo-plugin/withSodiumIos.d.ts +4 -0
- package/lib/typescript/expo-plugin/withSodiumIos.d.ts.map +1 -0
- package/lib/typescript/expo-plugin/withXCode.d.ts +9 -0
- package/lib/typescript/expo-plugin/withXCode.d.ts.map +1 -0
- package/lib/typescript/hash.d.ts +122 -0
- package/lib/typescript/hash.d.ts.map +1 -0
- package/lib/typescript/hmac.d.ts +66 -0
- package/lib/typescript/hmac.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +110 -9
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/keys/classes.d.ts +79 -0
- package/lib/typescript/keys/classes.d.ts.map +1 -0
- package/lib/typescript/keys/generateKeyPair.d.ts +6 -0
- package/lib/typescript/keys/generateKeyPair.d.ts.map +1 -0
- package/lib/typescript/keys/index.d.ts +7 -0
- package/lib/typescript/keys/index.d.ts.map +1 -0
- package/lib/typescript/keys/signVerify.d.ts +1 -0
- package/lib/typescript/keys/signVerify.d.ts.map +1 -0
- package/lib/typescript/keys/utils.d.ts +34 -0
- package/lib/typescript/keys/utils.d.ts.map +1 -0
- package/lib/typescript/pbkdf2.d.ts +12 -0
- package/lib/typescript/pbkdf2.d.ts.map +1 -0
- package/lib/typescript/random.d.ts +11 -5
- package/lib/typescript/random.d.ts.map +1 -1
- package/lib/typescript/rsa.d.ts +10 -0
- package/lib/typescript/rsa.d.ts.map +1 -0
- package/lib/typescript/specs/blake3.nitro.d.ts +15 -0
- package/lib/typescript/specs/blake3.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/cipher.nitro.d.ts +29 -0
- package/lib/typescript/specs/cipher.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/ecKeyPair.nitro.d.ts +20 -0
- package/lib/typescript/specs/ecKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/edKeyPair.nitro.d.ts +17 -0
- package/lib/typescript/specs/edKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/hash.nitro.d.ts +13 -0
- package/lib/typescript/specs/hash.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/hmac.nitro.d.ts +10 -0
- package/lib/typescript/specs/hmac.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts +14 -0
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/pbkdf2.nitro.d.ts +9 -0
- package/lib/typescript/specs/pbkdf2.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/rsaKeyPair.nitro.d.ts +20 -0
- package/lib/typescript/specs/rsaKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/subtle.d.ts +17 -0
- package/lib/typescript/subtle.d.ts.map +1 -0
- package/lib/typescript/utils/cipher.d.ts +7 -0
- package/lib/typescript/utils/cipher.d.ts.map +1 -0
- package/lib/typescript/utils/conversion.d.ts +24 -2
- package/lib/typescript/utils/conversion.d.ts.map +1 -1
- package/lib/typescript/utils/errors.d.ts +7 -0
- package/lib/typescript/utils/errors.d.ts.map +1 -0
- package/lib/typescript/utils/hashnames.d.ts +13 -0
- package/lib/typescript/utils/hashnames.d.ts.map +1 -0
- package/lib/typescript/utils/index.d.ts +6 -5
- package/lib/typescript/utils/index.d.ts.map +1 -1
- package/lib/typescript/utils/noble.d.ts +19 -0
- package/lib/typescript/utils/noble.d.ts.map +1 -0
- package/lib/typescript/utils/types.d.ts +252 -2
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/lib/typescript/utils/validation.d.ts +13 -0
- package/lib/typescript/utils/validation.d.ts.map +1 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +47 -4
- package/nitrogen/generated/android/QuickCrypto+autolinking.gradle +4 -3
- package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +144 -0
- package/nitrogen/generated/android/QuickCryptoOnLoad.hpp +25 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/crypto/QuickCryptoOnLoad.kt +35 -0
- package/nitrogen/generated/ios/QuickCrypto+autolinking.rb +11 -8
- package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.cpp +11 -3
- package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.hpp +5 -3
- package/nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Umbrella.hpp +16 -7
- package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +135 -0
- package/nitrogen/generated/ios/QuickCryptoAutolinking.swift +12 -0
- package/nitrogen/generated/shared/c++/CFRGKeyPairType.hpp +84 -0
- package/nitrogen/generated/shared/c++/CipherArgs.hpp +86 -0
- package/nitrogen/generated/shared/c++/HybridBlake3Spec.cpp +28 -0
- package/nitrogen/generated/shared/c++/HybridBlake3Spec.hpp +76 -0
- package/nitrogen/generated/shared/c++/HybridCipherFactorySpec.cpp +21 -0
- package/nitrogen/generated/shared/c++/HybridCipherFactorySpec.hpp +67 -0
- package/nitrogen/generated/shared/c++/HybridCipherSpec.cpp +28 -0
- package/nitrogen/generated/shared/c++/HybridCipherSpec.hpp +76 -0
- package/nitrogen/generated/shared/c++/HybridEcKeyPairSpec.cpp +29 -0
- package/nitrogen/generated/shared/c++/HybridEcKeyPairSpec.hpp +77 -0
- package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.cpp +30 -0
- package/nitrogen/generated/shared/c++/HybridEdKeyPairSpec.hpp +75 -0
- package/nitrogen/generated/shared/c++/HybridHashSpec.cpp +26 -0
- package/nitrogen/generated/shared/c++/HybridHashSpec.hpp +75 -0
- package/nitrogen/generated/shared/c++/HybridHmacSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridHmacSpec.hpp +66 -0
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.cpp +26 -0
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +92 -0
- package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridPbkdf2Spec.hpp +66 -0
- package/nitrogen/generated/shared/c++/HybridRandomSpec.cpp +2 -3
- package/nitrogen/generated/shared/c++/HybridRandomSpec.hpp +9 -6
- package/nitrogen/generated/shared/c++/HybridRsaKeyPairSpec.cpp +29 -0
- package/nitrogen/generated/shared/c++/HybridRsaKeyPairSpec.hpp +77 -0
- package/nitrogen/generated/shared/c++/JWK.hpp +161 -0
- package/nitrogen/generated/shared/c++/JWKkty.hpp +84 -0
- package/nitrogen/generated/shared/c++/JWKuse.hpp +76 -0
- package/nitrogen/generated/shared/c++/KFormatType.hpp +63 -0
- package/nitrogen/generated/shared/c++/KeyDetail.hpp +92 -0
- package/nitrogen/generated/shared/c++/KeyEncoding.hpp +64 -0
- package/nitrogen/generated/shared/c++/KeyObject.hpp +67 -0
- package/nitrogen/generated/shared/c++/KeyType.hpp +63 -0
- package/nitrogen/generated/shared/c++/KeyUsage.hpp +116 -0
- package/nitrogen/generated/shared/c++/NamedCurve.hpp +80 -0
- package/package.json +66 -39
- package/src/blake3.ts +123 -0
- package/src/cipher.ts +335 -0
- package/src/ec.ts +432 -0
- package/src/ed.ts +256 -0
- package/src/expo-plugin/@types.ts +7 -0
- package/src/expo-plugin/withRNQC.ts +23 -0
- package/src/expo-plugin/withSodiumAndroid.ts +24 -0
- package/src/expo-plugin/withSodiumIos.ts +30 -0
- package/src/expo-plugin/withXCode.ts +55 -0
- package/src/hash.ts +274 -0
- package/src/hmac.ts +135 -0
- package/src/index.ts +32 -29
- package/src/keys/classes.ts +317 -0
- package/src/keys/generateKeyPair.ts +145 -0
- package/src/keys/index.ts +52 -0
- package/src/keys/signVerify.ts +39 -0
- package/src/keys/utils.ts +190 -0
- package/src/pbkdf2.ts +154 -0
- package/src/random.ts +26 -23
- package/src/rsa.ts +176 -0
- package/src/specs/blake3.nitro.ts +12 -0
- package/src/specs/cipher.nitro.ts +25 -0
- package/src/specs/ecKeyPair.nitro.ts +38 -0
- package/src/specs/edKeyPair.nitro.ts +43 -0
- package/src/specs/hash.nitro.ts +10 -0
- package/src/specs/hmac.nitro.ts +7 -0
- package/src/specs/keyObjectHandle.nitro.ts +31 -0
- package/src/specs/pbkdf2.nitro.ts +18 -0
- package/src/specs/random.nitro.ts +2 -2
- package/src/specs/rsaKeyPair.nitro.ts +33 -0
- package/src/subtle.ts +614 -0
- package/src/utils/cipher.ts +60 -0
- package/src/utils/conversion.ts +143 -9
- package/src/utils/errors.ts +15 -0
- package/src/utils/hashnames.ts +98 -0
- package/src/utils/index.ts +6 -6
- package/src/utils/noble.ts +85 -0
- package/src/utils/types.ts +423 -3
- package/src/utils/validation.ts +130 -0
- package/ios/QuickCryptoOnLoad.mm +0 -19
- package/lib/module/package.json +0 -1
|
@@ -1,5 +1,255 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { Buffer as CraftzdogBuffer } from '@craftzdog/react-native-buffer';
|
|
2
|
+
import type { Buffer } from 'buffer';
|
|
3
|
+
import type { CipherKey } from 'node:crypto';
|
|
4
|
+
import type { Buffer as SafeBuffer } from 'safe-buffer';
|
|
5
|
+
import type { KeyObjectHandle as KeyObjectHandleType } from '../specs/keyObjectHandle.nitro';
|
|
6
|
+
import type { KeyObject, CryptoKey } from '../keys';
|
|
7
|
+
export type ABV = TypedArray | DataView | ArrayBufferLike | CraftzdogBuffer;
|
|
3
8
|
export type TypedArray = Uint8Array | Uint8ClampedArray | Uint16Array | Uint32Array | Int8Array | Int16Array | Int32Array | Float32Array | Float64Array;
|
|
4
9
|
export type RandomCallback<T> = (err: Error | null, value: T) => void;
|
|
10
|
+
export type BufferLike = ArrayBuffer | ArrayBufferLike | CraftzdogBuffer | SafeBuffer | ArrayBufferView;
|
|
11
|
+
export type BinaryLike = string | Buffer | ArrayBuffer | ArrayBufferLike | CraftzdogBuffer | SafeBuffer | TypedArray | DataView;
|
|
12
|
+
export type BinaryLikeNode = CipherKey | BinaryLike | KeyObject;
|
|
13
|
+
export type DigestAlgorithm = 'SHA-1' | 'SHA-256' | 'SHA-384' | 'SHA-512';
|
|
14
|
+
export type HashAlgorithm = DigestAlgorithm | 'SHA-224' | 'RIPEMD-160';
|
|
15
|
+
export type RSAKeyPairAlgorithm = 'RSASSA-PKCS1-v1_5' | 'RSA-PSS' | 'RSA-OAEP';
|
|
16
|
+
export interface RsaHashedKeyGenParams {
|
|
17
|
+
name: RSAKeyPairAlgorithm;
|
|
18
|
+
modulusLength: number;
|
|
19
|
+
publicExponent: Uint8Array;
|
|
20
|
+
hash: string | {
|
|
21
|
+
name: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export interface RsaKeyAlgorithm {
|
|
25
|
+
name: RSAKeyPairAlgorithm;
|
|
26
|
+
modulusLength: number;
|
|
27
|
+
publicExponent: Uint8Array;
|
|
28
|
+
hash: {
|
|
29
|
+
name: string;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export type ECKeyPairAlgorithm = 'ECDSA' | 'ECDH';
|
|
33
|
+
export type CFRGKeyPairAlgorithm = 'Ed25519' | 'Ed448' | 'X25519' | 'X448';
|
|
34
|
+
export type CFRGKeyPairType = 'ed25519' | 'ed448' | 'x25519' | 'x448';
|
|
35
|
+
export type KeyPairAlgorithm = RSAKeyPairAlgorithm | ECKeyPairAlgorithm | CFRGKeyPairAlgorithm;
|
|
36
|
+
export type AESAlgorithm = 'AES-CTR' | 'AES-CBC' | 'AES-GCM' | 'AES-KW';
|
|
37
|
+
export type SecretKeyAlgorithm = 'HMAC' | AESAlgorithm;
|
|
38
|
+
export type SignVerifyAlgorithm = 'RSASSA-PKCS1-v1_5' | 'RSA-PSS' | 'ECDSA' | 'HMAC' | 'Ed25519' | 'Ed448';
|
|
39
|
+
export type DeriveBitsAlgorithm = 'PBKDF2' | 'HKDF' | 'ECDH' | 'X25519' | 'X448';
|
|
40
|
+
export type EncryptDecryptAlgorithm = 'RSA-OAEP' | 'AES-CTR' | 'AES-CBC' | 'AES-GCM';
|
|
41
|
+
export type RsaOaepParams = {
|
|
42
|
+
name: 'RSA-OAEP';
|
|
43
|
+
label?: BufferLike;
|
|
44
|
+
};
|
|
45
|
+
export type AesCbcParams = {
|
|
46
|
+
name: 'AES-CBC';
|
|
47
|
+
iv: BufferLike;
|
|
48
|
+
};
|
|
49
|
+
export type AesCtrParams = {
|
|
50
|
+
name: 'AES-CTR';
|
|
51
|
+
counter: TypedArray;
|
|
52
|
+
length: number;
|
|
53
|
+
};
|
|
54
|
+
export type AesGcmParams = {
|
|
55
|
+
name: 'AES-GCM';
|
|
56
|
+
iv: BufferLike;
|
|
57
|
+
tagLength?: TagLength;
|
|
58
|
+
additionalData?: BufferLike;
|
|
59
|
+
};
|
|
60
|
+
export type AesKwParams = {
|
|
61
|
+
name: 'AES-KW';
|
|
62
|
+
wrappingKey?: BufferLike;
|
|
63
|
+
};
|
|
64
|
+
export type AesKeyGenParams = {
|
|
65
|
+
length: AESLength;
|
|
66
|
+
name?: AESAlgorithm;
|
|
67
|
+
};
|
|
68
|
+
export type TagLength = 32 | 64 | 96 | 104 | 112 | 120 | 128;
|
|
69
|
+
export type AESLength = 128 | 192 | 256;
|
|
70
|
+
export type EncryptDecryptParams = AesCbcParams | AesCtrParams | AesGcmParams | RsaOaepParams;
|
|
71
|
+
export type AnyAlgorithm = DigestAlgorithm | HashAlgorithm | KeyPairAlgorithm | SecretKeyAlgorithm | SignVerifyAlgorithm | DeriveBitsAlgorithm | EncryptDecryptAlgorithm | AESAlgorithm | 'PBKDF2' | 'HKDF' | 'unknown';
|
|
72
|
+
export type NamedCurve = 'P-256' | 'P-384' | 'P-521';
|
|
73
|
+
export type SubtleAlgorithm = {
|
|
74
|
+
name: AnyAlgorithm;
|
|
75
|
+
salt?: string;
|
|
76
|
+
iterations?: number;
|
|
77
|
+
hash?: HashAlgorithm | {
|
|
78
|
+
name: string;
|
|
79
|
+
};
|
|
80
|
+
namedCurve?: NamedCurve;
|
|
81
|
+
length?: number;
|
|
82
|
+
modulusLength?: number;
|
|
83
|
+
publicExponent?: number | Uint8Array;
|
|
84
|
+
};
|
|
85
|
+
export type KeyPairType = CFRGKeyPairType;
|
|
86
|
+
export type KeyUsage = 'encrypt' | 'decrypt' | 'sign' | 'verify' | 'deriveKey' | 'deriveBits' | 'encapsulateBits' | 'decapsulateBits' | 'encapsulateKey' | 'decapsulateKey' | 'wrapKey' | 'unwrapKey';
|
|
87
|
+
export declare enum KFormatType {
|
|
88
|
+
DER = 0,
|
|
89
|
+
PEM = 1,
|
|
90
|
+
JWK = 2
|
|
91
|
+
}
|
|
92
|
+
export declare enum KeyType {
|
|
93
|
+
SECRET = 0,
|
|
94
|
+
PUBLIC = 1,
|
|
95
|
+
PRIVATE = 2
|
|
96
|
+
}
|
|
97
|
+
export declare enum KeyEncoding {
|
|
98
|
+
PKCS1 = 0,
|
|
99
|
+
PKCS8 = 1,
|
|
100
|
+
SPKI = 2,
|
|
101
|
+
SEC1 = 3
|
|
102
|
+
}
|
|
103
|
+
export declare enum KeyFormat {
|
|
104
|
+
RAW = 0,
|
|
105
|
+
PKCS8 = 1,
|
|
106
|
+
SPKI = 2,
|
|
107
|
+
JWK = 3
|
|
108
|
+
}
|
|
109
|
+
export type KeyData = BufferLike | BinaryLike | JWK;
|
|
110
|
+
export declare const kNamedCurveAliases: {
|
|
111
|
+
readonly 'P-256': "prime256v1";
|
|
112
|
+
readonly 'P-384': "secp384r1";
|
|
113
|
+
readonly 'P-521': "secp521r1";
|
|
114
|
+
};
|
|
115
|
+
export type KeyPairGenConfig = {
|
|
116
|
+
publicFormat?: KFormatType;
|
|
117
|
+
publicType?: KeyEncoding;
|
|
118
|
+
privateFormat?: KFormatType;
|
|
119
|
+
privateType?: KeyEncoding;
|
|
120
|
+
cipher?: string;
|
|
121
|
+
passphrase?: ArrayBuffer;
|
|
122
|
+
};
|
|
123
|
+
export type AsymmetricKeyType = CFRGKeyPairType;
|
|
124
|
+
type JWKkty = 'AES' | 'RSA' | 'EC' | 'oct';
|
|
125
|
+
type JWKuse = 'sig' | 'enc';
|
|
126
|
+
export interface JWK {
|
|
127
|
+
kty?: JWKkty;
|
|
128
|
+
use?: JWKuse;
|
|
129
|
+
key_ops?: KeyUsage[];
|
|
130
|
+
alg?: string;
|
|
131
|
+
crv?: string;
|
|
132
|
+
kid?: string;
|
|
133
|
+
x5u?: string;
|
|
134
|
+
x5c?: string[];
|
|
135
|
+
x5t?: string;
|
|
136
|
+
'x5t#256'?: string;
|
|
137
|
+
n?: string;
|
|
138
|
+
e?: string;
|
|
139
|
+
d?: string;
|
|
140
|
+
p?: string;
|
|
141
|
+
q?: string;
|
|
142
|
+
x?: string;
|
|
143
|
+
y?: string;
|
|
144
|
+
k?: string;
|
|
145
|
+
dp?: string;
|
|
146
|
+
dq?: string;
|
|
147
|
+
qi?: string;
|
|
148
|
+
ext?: boolean;
|
|
149
|
+
}
|
|
150
|
+
export type KTypePrivate = 'pkcs1' | 'pkcs8' | 'sec1';
|
|
151
|
+
export type KTypePublic = 'pkcs1' | 'spki';
|
|
152
|
+
export type KType = KTypePrivate | KTypePublic;
|
|
153
|
+
export type KFormat = 'der' | 'pem' | 'jwk';
|
|
154
|
+
export type DSAEncoding = 'der' | 'ieee-p1363';
|
|
155
|
+
export type EncodingOptions = {
|
|
156
|
+
key?: any;
|
|
157
|
+
type?: KType;
|
|
158
|
+
encoding?: string;
|
|
159
|
+
dsaEncoding?: DSAEncoding;
|
|
160
|
+
format?: KFormat;
|
|
161
|
+
padding?: number;
|
|
162
|
+
cipher?: string;
|
|
163
|
+
passphrase?: BinaryLike;
|
|
164
|
+
saltLength?: number;
|
|
165
|
+
oaepHash?: string;
|
|
166
|
+
oaepLabel?: BinaryLike;
|
|
167
|
+
};
|
|
168
|
+
export interface KeyDetail {
|
|
169
|
+
length?: number;
|
|
170
|
+
publicExponent?: number;
|
|
171
|
+
modulusLength?: number;
|
|
172
|
+
hashAlgorithm?: string;
|
|
173
|
+
mgf1HashAlgorithm?: string;
|
|
174
|
+
saltLength?: number;
|
|
175
|
+
namedCurve?: string;
|
|
176
|
+
}
|
|
177
|
+
export type GenerateKeyPairOptions = {
|
|
178
|
+
modulusLength?: number;
|
|
179
|
+
publicExponent?: number;
|
|
180
|
+
hashAlgorithm?: string;
|
|
181
|
+
mgf1HashAlgorithm?: string;
|
|
182
|
+
saltLength?: number;
|
|
183
|
+
divisorLength?: number;
|
|
184
|
+
namedCurve?: string;
|
|
185
|
+
prime?: CraftzdogBuffer;
|
|
186
|
+
primeLength?: number;
|
|
187
|
+
generator?: number;
|
|
188
|
+
groupName?: string;
|
|
189
|
+
publicKeyEncoding?: EncodingOptions;
|
|
190
|
+
privateKeyEncoding?: EncodingOptions;
|
|
191
|
+
paramEncoding?: string;
|
|
192
|
+
hash?: string;
|
|
193
|
+
mgf1Hash?: string;
|
|
194
|
+
};
|
|
195
|
+
export type KeyPairKey = ArrayBuffer | KeyObject | KeyObjectHandle | CryptoKey | undefined;
|
|
196
|
+
export type GenerateKeyPairReturn = [
|
|
197
|
+
error?: Error,
|
|
198
|
+
privateKey?: KeyPairKey,
|
|
199
|
+
publicKey?: KeyPairKey
|
|
200
|
+
];
|
|
201
|
+
export type GenerateKeyPairCallback = (error?: Error, publicKey?: KeyPairKey, privateKey?: KeyPairKey) => GenerateKeyPairReturn | void;
|
|
202
|
+
export type KeyPair = {
|
|
203
|
+
publicKey?: KeyPairKey;
|
|
204
|
+
privateKey?: KeyPairKey;
|
|
205
|
+
};
|
|
206
|
+
export type GenerateKeyPairPromiseReturn = [error?: Error, keypair?: KeyPair];
|
|
207
|
+
export type CryptoKeyPair = {
|
|
208
|
+
publicKey: KeyPairKey;
|
|
209
|
+
privateKey: KeyPairKey;
|
|
210
|
+
};
|
|
211
|
+
export declare enum KeyVariant {
|
|
212
|
+
RSA_SSA_PKCS1_v1_5 = 0,
|
|
213
|
+
RSA_PSS = 1,
|
|
214
|
+
RSA_OAEP = 2,
|
|
215
|
+
DSA = 3,
|
|
216
|
+
EC = 4,
|
|
217
|
+
NID = 5,
|
|
218
|
+
DH = 6
|
|
219
|
+
}
|
|
220
|
+
export type SignCallback = (err: Error | null, signature?: ArrayBuffer) => void;
|
|
221
|
+
export type VerifyCallback = (err: Error | null, valid?: boolean) => void;
|
|
222
|
+
export type BinaryToTextEncoding = 'base64' | 'base64url' | 'hex' | 'binary';
|
|
223
|
+
export type CharacterEncoding = 'utf8' | 'utf-8' | 'utf16le' | 'latin1';
|
|
224
|
+
export type LegacyCharacterEncoding = 'ascii' | 'binary' | 'ucs2' | 'ucs-2';
|
|
225
|
+
export type Encoding = BinaryToTextEncoding | CharacterEncoding | LegacyCharacterEncoding | 'buffer';
|
|
226
|
+
export type CipherCFBType = 'aes-128-cfb' | 'aes-192-cfb' | 'aes-256-cfb' | 'aes-128-cfb1' | 'aes-192-cfb1' | 'aes-256-cfb1' | 'aes-128-cfb8' | 'aes-192-cfb8' | 'aes-256-cfb8';
|
|
227
|
+
export type CipherCTRType = 'aes-128-ctr' | 'aes-192-ctr' | 'aes-256-ctr';
|
|
228
|
+
export type CipherDESType = 'des' | 'des3' | 'des-cbc' | 'des-ecb' | 'des-ede' | 'des-ede-cbc' | 'des-ede3' | 'des-ede3-cbc';
|
|
229
|
+
export type CipherECBType = 'aes-128-ecb' | 'aes-192-ecb' | 'aes-256-ecb';
|
|
230
|
+
export type CipherGCMType = 'aes-128-gcm' | 'aes-192-gcm' | 'aes-256-gcm';
|
|
231
|
+
export type CipherOFBType = 'aes-128-ofb' | 'aes-192-ofb' | 'aes-256-ofb';
|
|
232
|
+
export type KeyObjectHandle = KeyObjectHandleType;
|
|
233
|
+
export type DiffieHellmanOptions = {
|
|
234
|
+
privateKey: KeyObject;
|
|
235
|
+
publicKey: KeyObject;
|
|
236
|
+
};
|
|
237
|
+
export type DiffieHellmanCallback = (err: Error | null, secret?: CraftzdogBuffer) => CraftzdogBuffer | void;
|
|
238
|
+
export type Hex = string | Uint8Array;
|
|
239
|
+
export type ImportFormat = 'raw' | 'pkcs8' | 'spki' | 'jwk';
|
|
240
|
+
export type Operation = 'encrypt' | 'decrypt' | 'sign' | 'verify' | 'generateKey' | 'importKey' | 'exportKey' | 'deriveBits';
|
|
241
|
+
export interface KeyPairOptions {
|
|
242
|
+
namedCurve: string;
|
|
243
|
+
publicKeyEncoding?: {
|
|
244
|
+
type: 'spki';
|
|
245
|
+
format: 'pem' | 'der';
|
|
246
|
+
};
|
|
247
|
+
privateKeyEncoding?: {
|
|
248
|
+
type: 'pkcs8';
|
|
249
|
+
format: 'pem' | 'der';
|
|
250
|
+
cipher?: string;
|
|
251
|
+
passphrase?: string;
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
export {};
|
|
5
255
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { BinaryLike, BufferLike, KeyUsage } from './types';
|
|
2
|
+
export declare function validateFunction(f: unknown): boolean;
|
|
3
|
+
export declare function isStringOrBuffer(val: unknown): val is string | ArrayBuffer;
|
|
4
|
+
export declare function validateObject<T>(value: unknown, name: string, options?: {
|
|
5
|
+
allowArray: boolean;
|
|
6
|
+
allowFunction: boolean;
|
|
7
|
+
nullable: boolean;
|
|
8
|
+
} | null): value is T;
|
|
9
|
+
export declare const validateMaxBufferLength: (data: BinaryLike | BufferLike, name: string) => void;
|
|
10
|
+
export declare const getUsagesUnion: (usageSet: KeyUsage[], ...usages: KeyUsage[]) => KeyUsage[];
|
|
11
|
+
export declare const validateKeyOps: (keyOps: KeyUsage[] | undefined, usagesSet: KeyUsage[]) => void;
|
|
12
|
+
export declare function hasAnyNotIn(set: string[], checks: string[]): boolean;
|
|
13
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMhE,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAEpD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,GAAG,WAAW,CAM1E;AAED,wBAAgB,cAAc,CAAC,CAAC,EAC9B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG,IAAI,GACP,KAAK,IAAI,CAAC,CAcZ;AAED,eAAO,MAAM,uBAAuB,GAClC,MAAM,UAAU,GAAG,UAAU,EAC7B,MAAM,MAAM,KACX,IAWF,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,UAAU,QAAQ,EAAE,EAAE,GAAG,QAAQ,QAAQ,EAAE,eAQzE,CAAC;AAmBF,eAAO,MAAM,cAAc,GACzB,QAAQ,QAAQ,EAAE,GAAG,SAAS,EAC9B,WAAW,QAAQ,EAAE,SAgCtB,CAAC;AAEF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAO1D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
** linguist-generated=true
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
#
|
|
2
2
|
# QuickCrypto+autolinking.cmake
|
|
3
|
-
# Tue Aug 13 2024
|
|
4
3
|
# This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
5
|
-
# https://github.com/mrousavy/
|
|
6
|
-
# Copyright ©
|
|
4
|
+
# https://github.com/mrousavy/nitro
|
|
5
|
+
# Copyright © 2025 Marc Rousavy @ Margelo
|
|
7
6
|
#
|
|
8
7
|
|
|
9
8
|
# This is a CMake file that adds all files generated by Nitrogen
|
|
@@ -18,18 +17,50 @@
|
|
|
18
17
|
include_directories(
|
|
19
18
|
"../nitrogen/generated/shared/c++"
|
|
20
19
|
"../nitrogen/generated/android/c++"
|
|
20
|
+
"../nitrogen/generated/android/"
|
|
21
21
|
)
|
|
22
22
|
|
|
23
23
|
# Add all .cpp sources that were generated by Nitrogen
|
|
24
24
|
target_sources(
|
|
25
25
|
# CMake project name (Android C++ library name)
|
|
26
26
|
QuickCrypto PRIVATE
|
|
27
|
+
# Autolinking Setup
|
|
28
|
+
../nitrogen/generated/android/QuickCryptoOnLoad.cpp
|
|
27
29
|
# Shared Nitrogen C++ sources
|
|
30
|
+
../nitrogen/generated/shared/c++/HybridBlake3Spec.cpp
|
|
31
|
+
../nitrogen/generated/shared/c++/HybridCipherSpec.cpp
|
|
32
|
+
../nitrogen/generated/shared/c++/HybridCipherFactorySpec.cpp
|
|
33
|
+
../nitrogen/generated/shared/c++/HybridEcKeyPairSpec.cpp
|
|
34
|
+
../nitrogen/generated/shared/c++/HybridEdKeyPairSpec.cpp
|
|
35
|
+
../nitrogen/generated/shared/c++/HybridHashSpec.cpp
|
|
36
|
+
../nitrogen/generated/shared/c++/HybridHmacSpec.cpp
|
|
37
|
+
../nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.cpp
|
|
38
|
+
../nitrogen/generated/shared/c++/HybridPbkdf2Spec.cpp
|
|
28
39
|
../nitrogen/generated/shared/c++/HybridRandomSpec.cpp
|
|
40
|
+
../nitrogen/generated/shared/c++/HybridRsaKeyPairSpec.cpp
|
|
29
41
|
# Android-specific Nitrogen C++ sources
|
|
30
42
|
|
|
31
43
|
)
|
|
32
44
|
|
|
45
|
+
# Define a flag to check if we are building properly
|
|
46
|
+
add_definitions(-DBUILDING_QUICKCRYPTO_WITH_GENERATED_CMAKE_PROJECT)
|
|
47
|
+
|
|
48
|
+
# From node_modules/react-native/ReactAndroid/cmake-utils/folly-flags.cmake
|
|
49
|
+
# Used in node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake
|
|
50
|
+
target_compile_definitions(
|
|
51
|
+
QuickCrypto PRIVATE
|
|
52
|
+
-DFOLLY_NO_CONFIG=1
|
|
53
|
+
-DFOLLY_HAVE_CLOCK_GETTIME=1
|
|
54
|
+
-DFOLLY_USE_LIBCPP=1
|
|
55
|
+
-DFOLLY_CFG_NO_COROUTINES=1
|
|
56
|
+
-DFOLLY_MOBILE=1
|
|
57
|
+
-DFOLLY_HAVE_RECVMMSG=1
|
|
58
|
+
-DFOLLY_HAVE_PTHREAD=1
|
|
59
|
+
# Once we target android-23 above, we can comment
|
|
60
|
+
# the following line. NDK uses GNU style stderror_r() after API 23.
|
|
61
|
+
-DFOLLY_HAVE_XSI_STRERROR_R=1
|
|
62
|
+
)
|
|
63
|
+
|
|
33
64
|
# Add all libraries required by the generated specs
|
|
34
65
|
find_package(fbjni REQUIRED) # <-- Used for communication between Java <-> C++
|
|
35
66
|
find_package(ReactAndroid REQUIRED) # <-- Used to set up React Native bindings (e.g. CallInvoker/TurboModule)
|
|
@@ -40,6 +71,18 @@ target_link_libraries(
|
|
|
40
71
|
QuickCrypto
|
|
41
72
|
fbjni::fbjni # <-- Facebook C++ JNI helpers
|
|
42
73
|
ReactAndroid::jsi # <-- RN: JSI
|
|
43
|
-
ReactAndroid::react_nativemodule_core # <-- RN: TurboModules Core
|
|
44
74
|
react-native-nitro-modules::NitroModules # <-- NitroModules Core :)
|
|
45
75
|
)
|
|
76
|
+
|
|
77
|
+
# Link react-native (different prefab between RN 0.75 and RN 0.76)
|
|
78
|
+
if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
|
|
79
|
+
target_link_libraries(
|
|
80
|
+
QuickCrypto
|
|
81
|
+
ReactAndroid::reactnative # <-- RN: Native Modules umbrella prefab
|
|
82
|
+
)
|
|
83
|
+
else()
|
|
84
|
+
target_link_libraries(
|
|
85
|
+
QuickCrypto
|
|
86
|
+
ReactAndroid::react_nativemodule_core # <-- RN: TurboModules Core
|
|
87
|
+
)
|
|
88
|
+
endif()
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
///
|
|
2
2
|
/// QuickCrypto+autolinking.gradle
|
|
3
|
-
/// Tue Aug 13 2024
|
|
4
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
5
|
-
/// https://github.com/mrousavy/
|
|
6
|
-
/// Copyright ©
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
7
6
|
///
|
|
8
7
|
|
|
9
8
|
/// This is a Gradle file that adds all files generated by Nitrogen
|
|
@@ -14,6 +13,8 @@
|
|
|
14
13
|
/// apply from: '../nitrogen/generated/android/QuickCrypto+autolinking.gradle'
|
|
15
14
|
/// ```
|
|
16
15
|
|
|
16
|
+
logger.warn("[NitroModules] 🔥 QuickCrypto is boosted by nitro!")
|
|
17
|
+
|
|
17
18
|
android {
|
|
18
19
|
sourceSets {
|
|
19
20
|
main {
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// QuickCryptoOnLoad.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#ifndef BUILDING_QUICKCRYPTO_WITH_GENERATED_CMAKE_PROJECT
|
|
9
|
+
#error QuickCryptoOnLoad.cpp is not being built with the autogenerated CMakeLists.txt project. Is a different CMakeLists.txt building this?
|
|
10
|
+
#endif
|
|
11
|
+
|
|
12
|
+
#include "QuickCryptoOnLoad.hpp"
|
|
13
|
+
|
|
14
|
+
#include <jni.h>
|
|
15
|
+
#include <fbjni/fbjni.h>
|
|
16
|
+
#include <NitroModules/HybridObjectRegistry.hpp>
|
|
17
|
+
|
|
18
|
+
#include "HybridBlake3.hpp"
|
|
19
|
+
#include "HybridCipher.hpp"
|
|
20
|
+
#include "HybridCipherFactory.hpp"
|
|
21
|
+
#include "HybridEcKeyPair.hpp"
|
|
22
|
+
#include "HybridEdKeyPair.hpp"
|
|
23
|
+
#include "HybridHash.hpp"
|
|
24
|
+
#include "HybridHmac.hpp"
|
|
25
|
+
#include "HybridKeyObjectHandle.hpp"
|
|
26
|
+
#include "HybridPbkdf2.hpp"
|
|
27
|
+
#include "HybridRandom.hpp"
|
|
28
|
+
#include "HybridRsaKeyPair.hpp"
|
|
29
|
+
|
|
30
|
+
namespace margelo::nitro::crypto {
|
|
31
|
+
|
|
32
|
+
int initialize(JavaVM* vm) {
|
|
33
|
+
using namespace margelo::nitro;
|
|
34
|
+
using namespace margelo::nitro::crypto;
|
|
35
|
+
using namespace facebook;
|
|
36
|
+
|
|
37
|
+
return facebook::jni::initialize(vm, [] {
|
|
38
|
+
// Register native JNI methods
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
// Register Nitro Hybrid Objects
|
|
42
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
43
|
+
"Blake3",
|
|
44
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
45
|
+
static_assert(std::is_default_constructible_v<HybridBlake3>,
|
|
46
|
+
"The HybridObject \"HybridBlake3\" is not default-constructible! "
|
|
47
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
48
|
+
return std::make_shared<HybridBlake3>();
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
52
|
+
"Cipher",
|
|
53
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
54
|
+
static_assert(std::is_default_constructible_v<HybridCipher>,
|
|
55
|
+
"The HybridObject \"HybridCipher\" is not default-constructible! "
|
|
56
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
57
|
+
return std::make_shared<HybridCipher>();
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
61
|
+
"CipherFactory",
|
|
62
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
63
|
+
static_assert(std::is_default_constructible_v<HybridCipherFactory>,
|
|
64
|
+
"The HybridObject \"HybridCipherFactory\" is not default-constructible! "
|
|
65
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
66
|
+
return std::make_shared<HybridCipherFactory>();
|
|
67
|
+
}
|
|
68
|
+
);
|
|
69
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
70
|
+
"EcKeyPair",
|
|
71
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
72
|
+
static_assert(std::is_default_constructible_v<HybridEcKeyPair>,
|
|
73
|
+
"The HybridObject \"HybridEcKeyPair\" is not default-constructible! "
|
|
74
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
75
|
+
return std::make_shared<HybridEcKeyPair>();
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
79
|
+
"EdKeyPair",
|
|
80
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
81
|
+
static_assert(std::is_default_constructible_v<HybridEdKeyPair>,
|
|
82
|
+
"The HybridObject \"HybridEdKeyPair\" is not default-constructible! "
|
|
83
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
84
|
+
return std::make_shared<HybridEdKeyPair>();
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
88
|
+
"Hash",
|
|
89
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
90
|
+
static_assert(std::is_default_constructible_v<HybridHash>,
|
|
91
|
+
"The HybridObject \"HybridHash\" is not default-constructible! "
|
|
92
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
93
|
+
return std::make_shared<HybridHash>();
|
|
94
|
+
}
|
|
95
|
+
);
|
|
96
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
97
|
+
"Hmac",
|
|
98
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
99
|
+
static_assert(std::is_default_constructible_v<HybridHmac>,
|
|
100
|
+
"The HybridObject \"HybridHmac\" is not default-constructible! "
|
|
101
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
102
|
+
return std::make_shared<HybridHmac>();
|
|
103
|
+
}
|
|
104
|
+
);
|
|
105
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
106
|
+
"KeyObjectHandle",
|
|
107
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
108
|
+
static_assert(std::is_default_constructible_v<HybridKeyObjectHandle>,
|
|
109
|
+
"The HybridObject \"HybridKeyObjectHandle\" is not default-constructible! "
|
|
110
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
111
|
+
return std::make_shared<HybridKeyObjectHandle>();
|
|
112
|
+
}
|
|
113
|
+
);
|
|
114
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
115
|
+
"Pbkdf2",
|
|
116
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
117
|
+
static_assert(std::is_default_constructible_v<HybridPbkdf2>,
|
|
118
|
+
"The HybridObject \"HybridPbkdf2\" is not default-constructible! "
|
|
119
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
120
|
+
return std::make_shared<HybridPbkdf2>();
|
|
121
|
+
}
|
|
122
|
+
);
|
|
123
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
124
|
+
"Random",
|
|
125
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
126
|
+
static_assert(std::is_default_constructible_v<HybridRandom>,
|
|
127
|
+
"The HybridObject \"HybridRandom\" is not default-constructible! "
|
|
128
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
129
|
+
return std::make_shared<HybridRandom>();
|
|
130
|
+
}
|
|
131
|
+
);
|
|
132
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
133
|
+
"RsaKeyPair",
|
|
134
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
135
|
+
static_assert(std::is_default_constructible_v<HybridRsaKeyPair>,
|
|
136
|
+
"The HybridObject \"HybridRsaKeyPair\" is not default-constructible! "
|
|
137
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
138
|
+
return std::make_shared<HybridRsaKeyPair>();
|
|
139
|
+
}
|
|
140
|
+
);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
} // namespace margelo::nitro::crypto
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// QuickCryptoOnLoad.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include <jni.h>
|
|
9
|
+
#include <NitroModules/NitroDefines.hpp>
|
|
10
|
+
|
|
11
|
+
namespace margelo::nitro::crypto {
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Initializes the native (C++) part of QuickCrypto, and autolinks all Hybrid Objects.
|
|
15
|
+
* Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`).
|
|
16
|
+
* Example:
|
|
17
|
+
* ```cpp (cpp-adapter.cpp)
|
|
18
|
+
* JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
|
|
19
|
+
* return margelo::nitro::crypto::initialize(vm);
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
int initialize(JavaVM* vm);
|
|
24
|
+
|
|
25
|
+
} // namespace margelo::nitro::crypto
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// QuickCryptoOnLoad.kt
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
package com.margelo.nitro.crypto
|
|
9
|
+
|
|
10
|
+
import android.util.Log
|
|
11
|
+
|
|
12
|
+
internal class QuickCryptoOnLoad {
|
|
13
|
+
companion object {
|
|
14
|
+
private const val TAG = "QuickCryptoOnLoad"
|
|
15
|
+
private var didLoad = false
|
|
16
|
+
/**
|
|
17
|
+
* Initializes the native part of "QuickCrypto".
|
|
18
|
+
* This method is idempotent and can be called more than once.
|
|
19
|
+
*/
|
|
20
|
+
@JvmStatic
|
|
21
|
+
fun initializeNative() {
|
|
22
|
+
if (didLoad) return
|
|
23
|
+
try {
|
|
24
|
+
Log.i(TAG, "Loading QuickCrypto C++ library...")
|
|
25
|
+
System.loadLibrary("QuickCrypto")
|
|
26
|
+
Log.i(TAG, "Successfully loaded QuickCrypto C++ library!")
|
|
27
|
+
didLoad = true
|
|
28
|
+
} catch (e: Error) {
|
|
29
|
+
Log.e(TAG, "Failed to load QuickCrypto C++ library! Is it properly installed and linked? " +
|
|
30
|
+
"Is the name correct? (see `CMakeLists.txt`, at `add_library(...)`)", e)
|
|
31
|
+
throw e
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
#
|
|
2
2
|
# QuickCrypto+autolinking.rb
|
|
3
|
-
# Tue Aug 13 2024
|
|
4
3
|
# This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
5
|
-
# https://github.com/mrousavy/
|
|
6
|
-
# Copyright ©
|
|
4
|
+
# https://github.com/mrousavy/nitro
|
|
5
|
+
# Copyright © 2025 Marc Rousavy @ Margelo
|
|
7
6
|
#
|
|
8
7
|
|
|
9
8
|
# This is a Ruby script that adds all files generated by Nitrogen
|
|
@@ -21,19 +20,19 @@
|
|
|
21
20
|
# ```
|
|
22
21
|
|
|
23
22
|
def add_nitrogen_files(spec)
|
|
24
|
-
Pod::UI.puts "[NitroModules]
|
|
23
|
+
Pod::UI.puts "[NitroModules] 🔥 QuickCrypto is boosted by nitro!"
|
|
25
24
|
|
|
26
25
|
spec.dependency "NitroModules"
|
|
27
26
|
|
|
28
|
-
current_source_files = spec.attributes_hash['source_files']
|
|
27
|
+
current_source_files = Array(spec.attributes_hash['source_files'])
|
|
29
28
|
spec.source_files = current_source_files + [
|
|
30
29
|
# Generated cross-platform specs
|
|
31
30
|
"nitrogen/generated/shared/**/*.{h,hpp,c,cpp,swift}",
|
|
32
31
|
# Generated bridges for the cross-platform specs
|
|
33
|
-
"nitrogen/generated/ios/**/*.{h,hpp,c,cpp,swift}",
|
|
32
|
+
"nitrogen/generated/ios/**/*.{h,hpp,c,cpp,mm,swift}",
|
|
34
33
|
]
|
|
35
34
|
|
|
36
|
-
current_public_header_files = spec.attributes_hash['public_header_files']
|
|
35
|
+
current_public_header_files = Array(spec.attributes_hash['public_header_files'])
|
|
37
36
|
spec.public_header_files = current_public_header_files + [
|
|
38
37
|
# Generated specs
|
|
39
38
|
"nitrogen/generated/shared/**/*.{h,hpp}",
|
|
@@ -41,10 +40,12 @@ def add_nitrogen_files(spec)
|
|
|
41
40
|
"nitrogen/generated/ios/QuickCrypto-Swift-Cxx-Bridge.hpp"
|
|
42
41
|
]
|
|
43
42
|
|
|
44
|
-
current_private_header_files = spec.attributes_hash['private_header_files']
|
|
43
|
+
current_private_header_files = Array(spec.attributes_hash['private_header_files'])
|
|
45
44
|
spec.private_header_files = current_private_header_files + [
|
|
46
45
|
# iOS specific specs
|
|
47
46
|
"nitrogen/generated/ios/c++/**/*.{h,hpp}",
|
|
47
|
+
# Views are framework-specific and should be private
|
|
48
|
+
"nitrogen/generated/shared/**/views/**/*"
|
|
48
49
|
]
|
|
49
50
|
|
|
50
51
|
current_pod_target_xcconfig = spec.attributes_hash['pod_target_xcconfig'] || {}
|
|
@@ -53,5 +54,7 @@ def add_nitrogen_files(spec)
|
|
|
53
54
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
|
|
54
55
|
# Enables C++ <-> Swift interop (by default it's only C)
|
|
55
56
|
"SWIFT_OBJC_INTEROP_MODE" => "objcxx",
|
|
57
|
+
# Enables stricter modular headers
|
|
58
|
+
"DEFINES_MODULE" => "YES",
|
|
56
59
|
})
|
|
57
60
|
end
|