react-native-readium 4.0.2 → 5.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +227 -31
- package/android/.cxx/Debug/1o6u5d69/arm64-v8a/metadata_generation_command.txt +20 -0
- package/android/.cxx/Debug/1o6u5d69/arm64-v8a/prefab_config.json +9 -0
- package/android/.cxx/Debug/1o6u5d69/hash_key.txt +27 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/reply/cache-v2-d1c3348b32c30ac6a032.json +1383 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/reply/cmakeFiles-v1-556430fba24741f19697.json +207 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/reply/codemodel-v2-1ced52b45c1052bc37ec.json +60 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json +14 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/reply/index-2026-02-11T21-48-38-0164.json +92 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.cmake/api/v1/reply/target-NitroReadium-Debug-1a98e1c85aa4f0067ac7.json +310 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.ninja_deps +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/.ninja_log +16 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeCache.txt +413 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +72 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +83 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +15 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +803 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/CMakeOutput.log +262 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/NitroReadiumOnLoad.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/c++/JHybridReadiumViewSpec.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/c++/views/JHybridReadiumViewStateUpdater.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/shared/c++/HybridReadiumViewSpec.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/shared/c++/views/HybridReadiumViewComponent.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/NitroReadium.dir/src/main/cpp/cpp-adapter.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/CMakeFiles/rules.ninja +64 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/additional_project_files.txt +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/android_gradle_build.json +48 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/android_gradle_build_mini.json +37 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/build.ninja +193 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/build_file_index.txt +6 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/cmake_install.cmake +54 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/compile_commands.json +32 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/compile_commands.json.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/configure_fingerprint.bin +41 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/metadata_generation_command.txt +21 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/prefab_config.json +9 -0
- package/android/.cxx/Debug/705z3vy2/arm64-v8a/symbol_folder_index.txt +1 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/reply/cache-v2-029ee0d18a16b9900504.json +1383 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/reply/cmakeFiles-v1-0ec9478532515d6deeb0.json +207 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/reply/codemodel-v2-00f0c7708253709bbb50.json +60 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json +14 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/reply/index-2026-02-11T21-48-44-0722.json +92 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.cmake/api/v1/reply/target-NitroReadium-Debug-a00931bf570afa83f011.json +310 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.ninja_deps +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/.ninja_log +16 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeCache.txt +413 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +72 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +83 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +15 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +803 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/CMakeOutput.log +266 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/NitroReadiumOnLoad.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/c++/JHybridReadiumViewSpec.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/c++/views/JHybridReadiumViewStateUpdater.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/shared/c++/HybridReadiumViewSpec.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/shared/c++/views/HybridReadiumViewComponent.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/NitroReadium.dir/src/main/cpp/cpp-adapter.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/CMakeFiles/rules.ninja +64 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/additional_project_files.txt +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/android_gradle_build.json +48 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/android_gradle_build_mini.json +37 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/build.ninja +193 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/build_file_index.txt +6 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/cmake_install.cmake +54 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/compile_commands.json +32 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/compile_commands.json.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/configure_fingerprint.bin +41 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/metadata_generation_command.txt +21 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/prefab_config.json +9 -0
- package/android/.cxx/Debug/705z3vy2/armeabi-v7a/symbol_folder_index.txt +1 -0
- package/android/.cxx/Debug/705z3vy2/hash_key.txt +28 -0
- package/android/.cxx/Debug/705z3vy2/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/ReactAndroid/ReactAndroidConfig.cmake +27 -0
- package/android/.cxx/Debug/705z3vy2/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/ReactAndroid/ReactAndroidConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/fbjni/fbjniConfig.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/fbjni/fbjniConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/arm64-v8a/prefab/lib/aarch64-linux-android/cmake/react-native-nitro-modules/react-native-nitro-modulesConfig.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/ReactAndroid/ReactAndroidConfig.cmake +27 -0
- package/android/.cxx/Debug/705z3vy2/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/ReactAndroid/ReactAndroidConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/fbjni/fbjniConfig.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/fbjni/fbjniConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/armeabi-v7a/prefab/lib/arm-linux-androideabi/cmake/react-native-nitro-modules/react-native-nitro-modulesConfig.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86/prefab/lib/i686-linux-android/cmake/ReactAndroid/ReactAndroidConfig.cmake +27 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86/prefab/lib/i686-linux-android/cmake/ReactAndroid/ReactAndroidConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86/prefab/lib/i686-linux-android/cmake/fbjni/fbjniConfig.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86/prefab/lib/i686-linux-android/cmake/fbjni/fbjniConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86/prefab/lib/i686-linux-android/cmake/react-native-nitro-modules/react-native-nitro-modulesConfig.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/ReactAndroid/ReactAndroidConfig.cmake +27 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/ReactAndroid/ReactAndroidConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/fbjni/fbjniConfig.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/fbjni/fbjniConfigVersion.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/prefab/x86_64/prefab/lib/x86_64-linux-android/cmake/react-native-nitro-modules/react-native-nitro-modulesConfig.cmake +9 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/reply/cache-v2-a4f471a31e824ae32ba5.json +1383 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/reply/cmakeFiles-v1-f73d504308ce3a4e5765.json +207 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/reply/codemodel-v2-00f85d43d057b2ba79db.json +60 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json +14 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/reply/index-2026-02-11T21-48-50-0628.json +92 -0
- package/android/.cxx/Debug/705z3vy2/x86/.cmake/api/v1/reply/target-NitroReadium-Debug-98c8a7d46de91d0d2e7e.json +310 -0
- package/android/.cxx/Debug/705z3vy2/x86/.ninja_deps +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/.ninja_log +16 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeCache.txt +413 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +72 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +83 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +15 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +803 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/CMakeOutput.log +256 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/NitroReadiumOnLoad.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/c++/JHybridReadiumViewSpec.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/c++/views/JHybridReadiumViewStateUpdater.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/shared/c++/HybridReadiumViewSpec.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/shared/c++/views/HybridReadiumViewComponent.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/NitroReadium.dir/src/main/cpp/cpp-adapter.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/Debug/705z3vy2/x86/CMakeFiles/rules.ninja +64 -0
- package/android/.cxx/Debug/705z3vy2/x86/additional_project_files.txt +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/android_gradle_build.json +48 -0
- package/android/.cxx/Debug/705z3vy2/x86/android_gradle_build_mini.json +37 -0
- package/android/.cxx/Debug/705z3vy2/x86/build.ninja +193 -0
- package/android/.cxx/Debug/705z3vy2/x86/build_file_index.txt +6 -0
- package/android/.cxx/Debug/705z3vy2/x86/cmake_install.cmake +54 -0
- package/android/.cxx/Debug/705z3vy2/x86/compile_commands.json +32 -0
- package/android/.cxx/Debug/705z3vy2/x86/compile_commands.json.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/x86/configure_fingerprint.bin +41 -0
- package/android/.cxx/Debug/705z3vy2/x86/metadata_generation_command.txt +21 -0
- package/android/.cxx/Debug/705z3vy2/x86/prefab_config.json +9 -0
- package/android/.cxx/Debug/705z3vy2/x86/symbol_folder_index.txt +1 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/reply/cache-v2-691c4c7ce8ee23d9eb36.json +1383 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/reply/cmakeFiles-v1-5d2071095d60cec89732.json +207 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/reply/codemodel-v2-141850c8d8ba3993f9ba.json +60 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json +14 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/reply/index-2026-02-11T21-48-56-0488.json +92 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.cmake/api/v1/reply/target-NitroReadium-Debug-fc544bc0688ecafa85a0.json +310 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.ninja_deps +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/.ninja_log +16 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeCache.txt +413 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake +72 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake +83 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake +15 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c +803 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/CMakeOutput.log +256 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/NitroReadiumOnLoad.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/c++/JHybridReadiumViewSpec.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/android/c++/views/JHybridReadiumViewStateUpdater.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/shared/c++/HybridReadiumViewSpec.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/NitroReadium.dir/Users/jspizziri/Documents/Projects/readium/react-native-readium/nitrogen/generated/shared/c++/views/HybridReadiumViewComponent.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/NitroReadium.dir/src/main/cpp/cpp-adapter.cpp.o +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/CMakeFiles/rules.ninja +64 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/additional_project_files.txt +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/android_gradle_build.json +48 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/android_gradle_build_mini.json +37 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/build.ninja +193 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/build_file_index.txt +6 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/cmake_install.cmake +54 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/compile_commands.json +32 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/compile_commands.json.bin +0 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/configure_fingerprint.bin +41 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/metadata_generation_command.txt +21 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/prefab_config.json +9 -0
- package/android/.cxx/Debug/705z3vy2/x86_64/symbol_folder_index.txt +1 -0
- package/android/.cxx/tools/debug/arm64-v8a/compile_commands.json +32 -0
- package/android/.cxx/tools/debug/armeabi-v7a/compile_commands.json +32 -0
- package/android/.cxx/tools/debug/x86/compile_commands.json +32 -0
- package/android/.cxx/tools/debug/x86_64/compile_commands.json +32 -0
- package/android/CMakeLists.txt +12 -0
- package/android/build.gradle +55 -30
- package/android/gradle.properties +3 -3
- package/android/src/main/cpp/cpp-adapter.cpp +6 -0
- package/android/src/main/java/com/reactnativereadium/HybridReadiumView.kt +593 -0
- package/android/src/main/java/com/reactnativereadium/ReadiumPackage.kt +9 -2
- package/android/src/main/java/com/reactnativereadium/reader/BaseReaderFragment.kt +214 -6
- package/android/src/main/java/com/reactnativereadium/reader/EpubReaderFragment.kt +143 -70
- package/android/src/main/java/com/reactnativereadium/reader/PositionLabelManager.kt +132 -0
- package/android/src/main/java/com/reactnativereadium/reader/ReaderService.kt +64 -65
- package/android/src/main/java/com/reactnativereadium/reader/ReaderViewModel.kt +23 -84
- package/android/src/main/java/com/reactnativereadium/reader/VisualReaderFragment.kt +32 -2
- package/android/src/main/java/com/reactnativereadium/utils/DecorationSerializer.kt +175 -0
- package/android/src/main/java/com/reactnativereadium/utils/EventChannel.kt +0 -9
- package/android/src/main/java/com/reactnativereadium/utils/FragmentFactory.kt +2 -3
- package/android/src/main/java/com/reactnativereadium/utils/JsonExtensions.kt +61 -0
- package/android/src/main/java/com/reactnativereadium/utils/LocationNormalizer.kt +47 -0
- package/android/src/main/java/com/reactnativereadium/utils/MetadataNormalizer.kt +183 -0
- package/android/src/main/java/com/reactnativereadium/utils/NormalizedMetadata.kt +179 -0
- package/android/src/main/java/com/reactnativereadium/utils/extensions/InputStream.kt +0 -9
- package/ios/App/AppModule.swift +3 -9
- package/ios/Common/Toolkit/Extensions/{Locator.swift → Locator+Codable.swift} +2 -2
- package/ios/DecorationData.swift +316 -0
- package/ios/HybridReadiumView.swift +498 -0
- package/ios/Reader/Common/ReaderViewController.swift +121 -53
- package/ios/Reader/EPUB/AssociatedColors.swift +1 -1
- package/ios/Reader/EPUB/EPUBHTTPServer.swift +13 -0
- package/ios/Reader/EPUB/EPUBModule.swift +6 -5
- package/ios/Reader/EPUB/EPUBViewController.swift +88 -15
- package/ios/Reader/EPUB/SelectionActionHandler.h +25 -0
- package/ios/Reader/EPUB/SelectionActionHandler.m +56 -0
- package/ios/Reader/ReaderFormatModule.swift +4 -4
- package/ios/Reader/ReaderModule.swift +7 -5
- package/ios/Reader/ReaderService.swift +75 -67
- package/lib/nitrogen/generated/shared/json/ReadiumViewConfig.json +19 -0
- package/lib/src/components/NitroReadiumView.d.ts +2 -0
- package/lib/src/components/NitroReadiumView.js +3 -0
- package/lib/src/components/ReadiumView.d.ts +3 -5
- package/lib/src/components/ReadiumView.js +15 -40
- package/lib/src/components/ReadiumView.types.d.ts +18 -0
- package/lib/src/components/ReadiumView.web.d.ts +12 -5
- package/lib/src/components/ReadiumView.web.js +112 -21
- package/lib/src/index.d.ts +0 -1
- package/lib/src/index.js +0 -1
- package/lib/src/interfaces/Decoration.d.ts +8 -0
- package/lib/src/interfaces/Decoration.js +1 -0
- package/lib/src/interfaces/File.d.ts +5 -12
- package/lib/src/interfaces/Link.d.ts +3 -13
- package/lib/src/interfaces/Locator.d.ts +1 -14
- package/lib/src/interfaces/Preferences.d.ts +5 -19
- package/lib/src/interfaces/PublicationMetadata.d.ts +13 -0
- package/lib/src/interfaces/PublicationMetadata.js +1 -0
- package/lib/src/interfaces/PublicationReady.d.ts +1 -0
- package/lib/src/interfaces/PublicationReady.js +1 -0
- package/lib/src/interfaces/Selection.d.ts +1 -0
- package/lib/src/interfaces/Selection.js +1 -0
- package/lib/src/interfaces/SelectionAction.d.ts +1 -0
- package/lib/src/interfaces/SelectionAction.js +1 -0
- package/lib/src/interfaces/index.d.ts +6 -1
- package/lib/src/interfaces/index.js +5 -1
- package/lib/src/specs/ReadiumView.nitro.d.ts +199 -0
- package/lib/src/specs/ReadiumView.nitro.js +1 -0
- package/lib/src/utils/index.d.ts +0 -6
- package/lib/src/utils/index.js +0 -6
- package/lib/web/hooks/index.d.ts +4 -2
- package/lib/web/hooks/index.js +4 -2
- package/lib/web/hooks/useDecorationsObserver.d.ts +6 -0
- package/lib/web/hooks/useDecorationsObserver.js +96 -0
- package/lib/web/hooks/useLocationObserver.d.ts +2 -1
- package/lib/web/hooks/useLocationObserver.js +18 -11
- package/lib/web/hooks/useNavigator.d.ts +12 -0
- package/lib/web/hooks/useNavigator.js +92 -0
- package/lib/web/hooks/usePositionLabel.d.ts +9 -0
- package/lib/web/hooks/usePositionLabel.js +33 -0
- package/lib/web/hooks/usePreferencesObserver.d.ts +2 -0
- package/lib/web/hooks/usePreferencesObserver.js +54 -0
- package/lib/web/utils/locationNormalizer.d.ts +28 -0
- package/lib/web/utils/locationNormalizer.js +49 -0
- package/lib/web/utils/manifestFetcher.d.ts +8 -0
- package/lib/web/utils/manifestFetcher.js +28 -0
- package/lib/web/utils/manifestNormalizer.d.ts +8 -0
- package/lib/web/utils/manifestNormalizer.js +70 -0
- package/lib/web/utils/metadataNormalizer.d.ts +53 -0
- package/lib/web/utils/metadataNormalizer.js +220 -0
- package/lib/web/utils/navigatorListeners.d.ts +6 -0
- package/lib/web/utils/navigatorListeners.js +50 -0
- package/lib/web/utils/publicationUtils.d.ts +15 -0
- package/lib/web/utils/publicationUtils.js +39 -0
- package/nitro.json +16 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/NitroReadium+autolinking.cmake +83 -0
- package/nitrogen/generated/android/NitroReadium+autolinking.gradle +27 -0
- package/nitrogen/generated/android/NitroReadiumOnLoad.cpp +56 -0
- package/nitrogen/generated/android/NitroReadiumOnLoad.hpp +25 -0
- package/nitrogen/generated/android/c++/JAccessibility.hpp +175 -0
- package/nitrogen/generated/android/c++/JAccessibilityCertification.hpp +66 -0
- package/nitrogen/generated/android/c++/JBelongsTo.hpp +101 -0
- package/nitrogen/generated/android/c++/JContributor.hpp +74 -0
- package/nitrogen/generated/android/c++/JDecoration.hpp +92 -0
- package/nitrogen/generated/android/c++/JDecorationActivatedEvent.hpp +85 -0
- package/nitrogen/generated/android/c++/JDecorationGroup.hpp +92 -0
- package/nitrogen/generated/android/c++/JDecorationStyle.hpp +86 -0
- package/nitrogen/generated/android/c++/JFunc_void_DecorationActivatedEvent.hpp +94 -0
- package/nitrogen/generated/android/c++/JFunc_void_Locator.hpp +83 -0
- package/nitrogen/generated/android/c++/JFunc_void_PublicationReadyEvent.hpp +102 -0
- package/nitrogen/generated/android/c++/JFunc_void_SelectionActionEvent.hpp +85 -0
- package/nitrogen/generated/android/c++/JFunc_void_SelectionEvent.hpp +85 -0
- package/nitrogen/generated/android/c++/JHybridReadiumViewSpec.cpp +328 -0
- package/nitrogen/generated/android/c++/JHybridReadiumViewSpec.hpp +86 -0
- package/nitrogen/generated/android/c++/JLink.hpp +131 -0
- package/nitrogen/generated/android/c++/JLocator.hpp +82 -0
- package/nitrogen/generated/android/c++/JLocatorLocations.hpp +65 -0
- package/nitrogen/generated/android/c++/JLocatorText.hpp +66 -0
- package/nitrogen/generated/android/c++/JPoint.hpp +61 -0
- package/nitrogen/generated/android/c++/JPreferences.hpp +158 -0
- package/nitrogen/generated/android/c++/JPublicationMetadata.hpp +449 -0
- package/nitrogen/generated/android/c++/JPublicationReadyEvent.hpp +125 -0
- package/nitrogen/generated/android/c++/JReadiumFile.hpp +68 -0
- package/nitrogen/generated/android/c++/JRect.hpp +69 -0
- package/nitrogen/generated/android/c++/JSelectionAction.hpp +61 -0
- package/nitrogen/generated/android/c++/JSelectionActionEvent.hpp +72 -0
- package/nitrogen/generated/android/c++/JSelectionEvent.hpp +68 -0
- package/nitrogen/generated/android/c++/JSeriesInfo.hpp +62 -0
- package/nitrogen/generated/android/c++/JSubject.hpp +70 -0
- package/nitrogen/generated/android/c++/views/JHybridReadiumViewStateUpdater.cpp +93 -0
- package/nitrogen/generated/android/c++/views/JHybridReadiumViewStateUpdater.hpp +49 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Accessibility.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/AccessibilityCertification.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/BelongsTo.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Contributor.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Decoration.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/DecorationActivatedEvent.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/DecorationGroup.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/DecorationStyle.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Func_void_DecorationActivatedEvent.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Func_void_Locator.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Func_void_PublicationReadyEvent.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Func_void_SelectionActionEvent.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Func_void_SelectionEvent.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/HybridReadiumViewSpec.kt +159 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Link.kt +65 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Locator.kt +53 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/LocatorLocations.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/LocatorText.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/NitroReadiumOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Point.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Preferences.kt +113 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/PublicationMetadata.kt +119 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/PublicationReadyEvent.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/ReadiumFile.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Rect.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/SelectionAction.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/SelectionActionEvent.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/SelectionEvent.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/SeriesInfo.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/Subject.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/views/HybridReadiumViewManager.kt +70 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativereadium/views/HybridReadiumViewStateUpdater.kt +23 -0
- package/nitrogen/generated/ios/NitroReadium+autolinking.rb +60 -0
- package/nitrogen/generated/ios/NitroReadium-Swift-Cxx-Bridge.cpp +73 -0
- package/nitrogen/generated/ios/NitroReadium-Swift-Cxx-Bridge.hpp +641 -0
- package/nitrogen/generated/ios/NitroReadium-Swift-Cxx-Umbrella.hpp +117 -0
- package/nitrogen/generated/ios/NitroReadiumAutolinking.mm +33 -0
- package/nitrogen/generated/ios/NitroReadiumAutolinking.swift +26 -0
- package/nitrogen/generated/ios/c++/HybridReadiumViewSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridReadiumViewSpecSwift.hpp +226 -0
- package/nitrogen/generated/ios/c++/views/HybridReadiumViewComponent.mm +152 -0
- package/nitrogen/generated/ios/swift/Accessibility.swift +173 -0
- package/nitrogen/generated/ios/swift/AccessibilityCertification.swift +78 -0
- package/nitrogen/generated/ios/swift/BelongsTo.swift +72 -0
- package/nitrogen/generated/ios/swift/Contributor.swift +94 -0
- package/nitrogen/generated/ios/swift/Decoration.swift +71 -0
- package/nitrogen/generated/ios/swift/DecorationActivatedEvent.swift +56 -0
- package/nitrogen/generated/ios/swift/DecorationGroup.swift +40 -0
- package/nitrogen/generated/ios/swift/DecorationStyle.swift +155 -0
- package/nitrogen/generated/ios/swift/Func_void_DecorationActivatedEvent.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_Locator.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_PublicationReadyEvent.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_SelectionActionEvent.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_SelectionEvent.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridReadiumViewSpec.swift +65 -0
- package/nitrogen/generated/ios/swift/HybridReadiumViewSpec_cxx.swift +363 -0
- package/nitrogen/generated/ios/swift/Link.swift +162 -0
- package/nitrogen/generated/ios/swift/Locator.swift +85 -0
- package/nitrogen/generated/ios/swift/LocatorLocations.swift +51 -0
- package/nitrogen/generated/ios/swift/LocatorText.swift +78 -0
- package/nitrogen/generated/ios/swift/Point.swift +34 -0
- package/nitrogen/generated/ios/swift/Preferences.swift +429 -0
- package/nitrogen/generated/ios/swift/PublicationMetadata.swift +577 -0
- package/nitrogen/generated/ios/swift/PublicationReadyEvent.swift +51 -0
- package/nitrogen/generated/ios/swift/ReadiumFile.swift +40 -0
- package/nitrogen/generated/ios/swift/Rect.swift +44 -0
- package/nitrogen/generated/ios/swift/SelectionAction.swift +34 -0
- package/nitrogen/generated/ios/swift/SelectionActionEvent.swift +39 -0
- package/nitrogen/generated/ios/swift/SelectionEvent.swift +53 -0
- package/nitrogen/generated/ios/swift/SeriesInfo.swift +40 -0
- package/nitrogen/generated/ios/swift/Subject.swift +83 -0
- package/nitrogen/generated/shared/c++/Accessibility.hpp +111 -0
- package/nitrogen/generated/shared/c++/AccessibilityCertification.hpp +92 -0
- package/nitrogen/generated/shared/c++/BelongsTo.hpp +90 -0
- package/nitrogen/generated/shared/c++/Contributor.hpp +100 -0
- package/nitrogen/generated/shared/c++/Decoration.hpp +102 -0
- package/nitrogen/generated/shared/c++/DecorationActivatedEvent.hpp +104 -0
- package/nitrogen/generated/shared/c++/DecorationGroup.hpp +90 -0
- package/nitrogen/generated/shared/c++/DecorationStyle.hpp +112 -0
- package/nitrogen/generated/shared/c++/HybridReadiumViewSpec.cpp +42 -0
- package/nitrogen/generated/shared/c++/HybridReadiumViewSpec.hpp +110 -0
- package/nitrogen/generated/shared/c++/Link.hpp +121 -0
- package/nitrogen/generated/shared/c++/Locator.hpp +109 -0
- package/nitrogen/generated/shared/c++/LocatorLocations.hpp +91 -0
- package/nitrogen/generated/shared/c++/LocatorText.hpp +92 -0
- package/nitrogen/generated/shared/c++/Point.hpp +87 -0
- package/nitrogen/generated/shared/c++/Preferences.hpp +184 -0
- package/nitrogen/generated/shared/c++/PublicationMetadata.hpp +204 -0
- package/nitrogen/generated/shared/c++/PublicationReadyEvent.hpp +99 -0
- package/nitrogen/generated/shared/c++/ReadiumFile.hpp +90 -0
- package/nitrogen/generated/shared/c++/Rect.hpp +95 -0
- package/nitrogen/generated/shared/c++/SelectionAction.hpp +87 -0
- package/nitrogen/generated/shared/c++/SelectionActionEvent.hpp +93 -0
- package/nitrogen/generated/shared/c++/SelectionEvent.hpp +90 -0
- package/nitrogen/generated/shared/c++/SeriesInfo.hpp +88 -0
- package/nitrogen/generated/shared/c++/Subject.hpp +96 -0
- package/nitrogen/generated/shared/c++/views/HybridReadiumViewComponent.cpp +182 -0
- package/nitrogen/generated/shared/c++/views/HybridReadiumViewComponent.hpp +129 -0
- package/nitrogen/generated/shared/json/ReadiumViewConfig.json +19 -0
- package/package.json +48 -17
- package/react-native-readium.podspec +29 -8
- package/src/components/NitroReadiumView.tsx +9 -0
- package/src/components/ReadiumView.tsx +38 -68
- package/src/components/ReadiumView.types.ts +30 -0
- package/src/components/ReadiumView.web.tsx +149 -37
- package/src/index.tsx +0 -1
- package/src/interfaces/Decoration.ts +15 -0
- package/src/interfaces/File.ts +5 -13
- package/src/interfaces/Link.ts +4 -13
- package/src/interfaces/Locator.ts +5 -14
- package/src/interfaces/Preferences.ts +16 -19
- package/src/interfaces/PublicationMetadata.ts +23 -0
- package/src/interfaces/PublicationReady.ts +1 -0
- package/src/interfaces/Selection.ts +1 -0
- package/src/interfaces/SelectionAction.ts +4 -0
- package/src/interfaces/index.ts +6 -1
- package/src/specs/ReadiumView.nitro.ts +249 -0
- package/src/utils/index.ts +0 -6
- package/web/hooks/index.ts +4 -2
- package/web/hooks/useDecorationsObserver.ts +116 -0
- package/web/hooks/useLocationObserver.ts +24 -11
- package/web/hooks/useNavigator.ts +152 -0
- package/web/hooks/usePositionLabel.ts +51 -0
- package/web/hooks/usePreferencesObserver.ts +69 -0
- package/web/utils/locationNormalizer.ts +58 -0
- package/web/utils/manifestFetcher.ts +38 -0
- package/web/utils/manifestNormalizer.ts +74 -0
- package/web/utils/metadataNormalizer.ts +238 -0
- package/web/utils/navigatorListeners.ts +60 -0
- package/web/utils/publicationUtils.ts +47 -0
- package/android/src/main/java/com/reactnativereadium/ReadiumView.kt +0 -109
- package/android/src/main/java/com/reactnativereadium/ReadiumViewManager.kt +0 -149
- package/android/src/main/java/com/reactnativereadium/search/SearchFragment.kt +0 -100
- package/android/src/main/java/com/reactnativereadium/search/SearchPagingSource.kt +0 -44
- package/android/src/main/java/com/reactnativereadium/search/SearchResultAdapter.kt +0 -68
- package/android/src/main/java/com/reactnativereadium/utils/Dimensions.kt +0 -6
- package/android/src/main/java/com/reactnativereadium/utils/R2DispatcherActivity.kt +0 -45
- package/android/src/main/java/com/reactnativereadium/utils/SectionDecoration.kt +0 -98
- package/android/src/main/java/com/reactnativereadium/utils/SingleClickListener.kt +0 -32
- package/android/src/main/java/com/reactnativereadium/utils/extensions/Bitmap.kt +0 -23
- package/android/src/main/java/com/reactnativereadium/utils/extensions/Context.kt +0 -16
- package/android/src/main/java/com/reactnativereadium/utils/extensions/File.kt +0 -22
- package/android/src/main/java/com/reactnativereadium/utils/extensions/Link.kt +0 -6
- package/android/src/main/java/com/reactnativereadium/utils/extensions/Metadata.kt +0 -6
- package/android/src/main/java/com/reactnativereadium/utils/extensions/URL.kt +0 -29
- package/android/src/main/java/com/reactnativereadium/utils/extensions/Uri.kt +0 -17
- package/android/src/main/res/layout/fragment_search.xml +0 -39
- package/android/src/main/res/layout/item_recycle_search.xml +0 -14
- package/ios/Common/EPUBPreferences.swift +0 -8
- package/ios/Common/Paths.swift +0 -52
- package/ios/Common/Publication.swift +0 -15
- package/ios/Common/Toolkit/Extensions/HTTPClient.swift +0 -65
- package/ios/Common/Toolkit/Extensions/UIImage.swift +0 -12
- package/ios/Common/Toolkit/Extensions/UIViewController.swift +0 -19
- package/ios/Common/Toolkit/ScreenOrientation.swift +0 -13
- package/ios/Data/Bookmark.swift +0 -23
- package/ios/Readium-Bridging-Header.h +0 -2
- package/ios/ReadiumView.swift +0 -165
- package/ios/ReadiumViewManager.m +0 -11
- package/ios/ReadiumViewManager.swift +0 -9
- package/lib/src/components/BaseReadiumView.d.ts +0 -2
- package/lib/src/components/BaseReadiumView.js +0 -7
- package/lib/src/components/BaseReadiumView.web.d.ts +0 -1
- package/lib/src/components/BaseReadiumView.web.js +0 -1
- package/lib/src/enums/Appearance.d.ts +0 -11
- package/lib/src/enums/Appearance.js +0 -13
- package/lib/src/enums/ColumnCount.d.ts +0 -5
- package/lib/src/enums/ColumnCount.js +0 -7
- package/lib/src/enums/FontFamily.d.ts +0 -10
- package/lib/src/enums/FontFamily.js +0 -12
- package/lib/src/enums/TextAlignment.d.ts +0 -4
- package/lib/src/enums/TextAlignment.js +0 -6
- package/lib/src/enums/index.d.ts +0 -4
- package/lib/src/enums/index.js +0 -4
- package/lib/src/interfaces/BaseReadiumViewProps.d.ts +0 -15
- package/lib/src/utils/COMPONENT_NAME.d.ts +0 -1
- package/lib/src/utils/COMPONENT_NAME.js +0 -1
- package/lib/src/utils/LINKING_ERROR.d.ts +0 -1
- package/lib/src/utils/LINKING_ERROR.js +0 -5
- package/lib/src/utils/clamp.d.ts +0 -1
- package/lib/src/utils/clamp.js +0 -7
- package/lib/src/utils/createFragment.d.ts +0 -1
- package/lib/src/utils/createFragment.js +0 -10
- package/lib/src/utils/getWidthOrHeightValue.d.ts +0 -1
- package/lib/src/utils/getWidthOrHeightValue.js +0 -6
- package/lib/src/utils/indexOfObjectValue.d.ts +0 -1
- package/lib/src/utils/indexOfObjectValue.js +0 -3
- package/lib/web/hooks/useReaderRef.d.ts +0 -3
- package/lib/web/hooks/useReaderRef.js +0 -85
- package/lib/web/hooks/useSettingsObserver.d.ts +0 -2
- package/lib/web/hooks/useSettingsObserver.js +0 -44
- package/src/components/BaseReadiumView.tsx +0 -11
- package/src/components/BaseReadiumView.web.tsx +0 -1
- package/src/enums/Appearance.ts +0 -14
- package/src/enums/ColumnCount.ts +0 -6
- package/src/enums/FontFamily.ts +0 -11
- package/src/enums/TextAlignment.ts +0 -5
- package/src/enums/index.ts +0 -4
- package/src/interfaces/BaseReadiumViewProps.ts +0 -16
- package/src/utils/COMPONENT_NAME.ts +0 -1
- package/src/utils/LINKING_ERROR.ts +0 -7
- package/src/utils/clamp.ts +0 -5
- package/src/utils/createFragment.ts +0 -15
- package/src/utils/getWidthOrHeightValue.ts +0 -7
- package/src/utils/indexOfObjectValue.ts +0 -3
- package/web/hooks/useReaderRef.ts +0 -109
- package/web/hooks/useSettingsObserver.ts +0 -61
- /package/lib/src/{interfaces/BaseReadiumViewProps.js → components/ReadiumView.types.js} +0 -0
|
@@ -2,7 +2,6 @@ package com.reactnativereadium.utils
|
|
|
2
2
|
|
|
3
3
|
import androidx.fragment.app.Fragment
|
|
4
4
|
import androidx.fragment.app.FragmentFactory
|
|
5
|
-
import org.readium.r2.shared.extensions.tryOrNull
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* Creates a [FragmentFactory] for a single type of [Fragment] using the result of the given
|
|
@@ -36,8 +35,8 @@ class CompositeFragmentFactory(private val factories: List<FragmentFactory>) : F
|
|
|
36
35
|
|
|
37
36
|
override fun instantiate(classLoader: ClassLoader, className: String): Fragment {
|
|
38
37
|
for (factory in factories) {
|
|
39
|
-
|
|
40
|
-
?.let { return it }
|
|
38
|
+
runCatching { factory.instantiate(classLoader, className) }
|
|
39
|
+
.getOrNull()?.let { return it }
|
|
41
40
|
}
|
|
42
41
|
|
|
43
42
|
return super.instantiate(classLoader, className)
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
package com.reactnativereadium.utils
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Arguments
|
|
4
|
+
import com.facebook.react.bridge.WritableArray
|
|
5
|
+
import com.facebook.react.bridge.WritableMap
|
|
6
|
+
import org.json.JSONArray
|
|
7
|
+
import org.json.JSONObject
|
|
8
|
+
import org.readium.r2.shared.publication.Link
|
|
9
|
+
import org.readium.r2.shared.publication.Locator
|
|
10
|
+
|
|
11
|
+
internal fun Locator.toWritableMap(): WritableMap =
|
|
12
|
+
toJSON().toWritableMap()
|
|
13
|
+
|
|
14
|
+
internal fun Link.toWritableMap(): WritableMap =
|
|
15
|
+
toJSON().toWritableMap()
|
|
16
|
+
|
|
17
|
+
internal fun List<Link>.toWritableArray(): WritableArray =
|
|
18
|
+
Arguments.createArray().apply {
|
|
19
|
+
forEach { pushMap(it.toWritableMap()) }
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
internal fun JSONObject.toWritableMap(): WritableMap {
|
|
23
|
+
val map = Arguments.createMap()
|
|
24
|
+
val iterator = keys()
|
|
25
|
+
while (iterator.hasNext()) {
|
|
26
|
+
val key = iterator.next()
|
|
27
|
+
when (val value = opt(key)) {
|
|
28
|
+
JSONObject.NULL -> map.putNull(key)
|
|
29
|
+
is JSONObject -> map.putMap(key, value.toWritableMap())
|
|
30
|
+
is JSONArray -> map.putArray(key, value.toWritableArray())
|
|
31
|
+
is String -> map.putString(key, value)
|
|
32
|
+
is Boolean -> map.putBoolean(key, value)
|
|
33
|
+
is Int -> map.putInt(key, value)
|
|
34
|
+
is Long -> map.putDouble(key, value.toDouble())
|
|
35
|
+
is Double -> map.putDouble(key, value)
|
|
36
|
+
is Float -> map.putDouble(key, value.toDouble())
|
|
37
|
+
else -> map.putString(key, value?.toString() ?: "")
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return map
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
internal fun JSONArray.toWritableArray(): WritableArray {
|
|
44
|
+
val array = Arguments.createArray()
|
|
45
|
+
for (index in 0 until length()) {
|
|
46
|
+
when (val value = opt(index)) {
|
|
47
|
+
JSONObject.NULL -> array.pushNull()
|
|
48
|
+
is JSONObject -> array.pushMap(value.toWritableMap())
|
|
49
|
+
is JSONArray -> array.pushArray(value.toWritableArray())
|
|
50
|
+
is String -> array.pushString(value)
|
|
51
|
+
is Boolean -> array.pushBoolean(value)
|
|
52
|
+
is Int -> array.pushInt(value)
|
|
53
|
+
is Long -> array.pushDouble(value.toDouble())
|
|
54
|
+
is Double -> array.pushDouble(value)
|
|
55
|
+
is Float -> array.pushDouble(value.toDouble())
|
|
56
|
+
null -> array.pushNull()
|
|
57
|
+
else -> array.pushString(value.toString())
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return array
|
|
61
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
package com.reactnativereadium.utils
|
|
2
|
+
|
|
3
|
+
import org.json.JSONObject
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Normalizes an href by removing leading slashes for consistency across platforms.
|
|
7
|
+
*
|
|
8
|
+
* The Readium toolkit expects hrefs in relative format (e.g., "OPS/main3.xml")
|
|
9
|
+
* rather than absolute format (e.g., "/OPS/main3.xml").
|
|
10
|
+
*
|
|
11
|
+
* @param href The href to normalize
|
|
12
|
+
* @return The normalized href without leading slash
|
|
13
|
+
*/
|
|
14
|
+
fun normalizeHref(href: String): String {
|
|
15
|
+
return if (href.startsWith("/")) {
|
|
16
|
+
href.removePrefix("/")
|
|
17
|
+
} else {
|
|
18
|
+
href
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Normalizes a location JSONObject by normalizing its href.
|
|
24
|
+
*
|
|
25
|
+
* @param location The location JSONObject to normalize
|
|
26
|
+
* @return A new JSONObject with normalized href
|
|
27
|
+
*/
|
|
28
|
+
fun normalizeLocation(location: JSONObject): JSONObject {
|
|
29
|
+
val normalized = JSONObject(location.toString()) // Deep copy
|
|
30
|
+
|
|
31
|
+
if (normalized.has("href")) {
|
|
32
|
+
val href = normalized.getString("href")
|
|
33
|
+
val normalizedHref = normalizeHref(href)
|
|
34
|
+
if (href != normalizedHref) {
|
|
35
|
+
normalized.put("href", normalizedHref)
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return normalized
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Extension function to normalize the href in a JSONObject.
|
|
44
|
+
*
|
|
45
|
+
* @return A new JSONObject with normalized href
|
|
46
|
+
*/
|
|
47
|
+
fun JSONObject.normalizedLocation(): JSONObject = normalizeLocation(this)
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
package com.reactnativereadium.utils
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.*
|
|
4
|
+
import org.readium.r2.shared.publication.Metadata
|
|
5
|
+
import org.readium.r2.shared.publication.LocalizedString
|
|
6
|
+
import org.readium.r2.shared.publication.Contributor
|
|
7
|
+
import org.readium.r2.shared.publication.Subject
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Normalizes metadata to ensure consistent structure per RWPM spec.
|
|
11
|
+
*
|
|
12
|
+
* This normalizer works directly with Readium's native Kotlin types (Metadata, LocalizedString,
|
|
13
|
+
* Contributor, Subject) and converts them to normalized, spec-compliant structures.
|
|
14
|
+
*
|
|
15
|
+
* This approach is:
|
|
16
|
+
* - More efficient (no intermediate WritableMap conversion)
|
|
17
|
+
* - More type-safe (working with actual Kotlin types)
|
|
18
|
+
* - Based on the stable RWPM specification
|
|
19
|
+
*
|
|
20
|
+
* https://readium.org/webpub-manifest/
|
|
21
|
+
*/
|
|
22
|
+
object MetadataNormalizer {
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Normalizes a Metadata object to a consistent React Native-compatible format.
|
|
26
|
+
* Works directly with Readium native types for efficiency and type safety.
|
|
27
|
+
*/
|
|
28
|
+
fun normalize(metadata: Metadata): WritableMap {
|
|
29
|
+
// Build typed NormalizedMetadata object from Readium's native types
|
|
30
|
+
val normalized = NormalizedMetadata(
|
|
31
|
+
// Required fields (provide default empty string if null)
|
|
32
|
+
title = normalizeLocalizedString(metadata.localizedTitle) ?: "",
|
|
33
|
+
|
|
34
|
+
// Optional localized string fields
|
|
35
|
+
sortAs = normalizeLocalizedString(metadata.localizedSortAs),
|
|
36
|
+
subtitle = normalizeLocalizedString(metadata.localizedSubtitle),
|
|
37
|
+
|
|
38
|
+
// Simple string fields
|
|
39
|
+
identifier = metadata.identifier,
|
|
40
|
+
description = metadata.description,
|
|
41
|
+
readingProgression = metadata.readingProgression?.name?.lowercase(),
|
|
42
|
+
|
|
43
|
+
// Date fields (convert Instant to ISO string)
|
|
44
|
+
modified = metadata.modified?.toString(),
|
|
45
|
+
published = metadata.published?.toString(),
|
|
46
|
+
|
|
47
|
+
// Layout is not directly on Metadata - would need Publication.metadata.presentation
|
|
48
|
+
// For now, pass null and extract from JSON if needed
|
|
49
|
+
layout = null,
|
|
50
|
+
|
|
51
|
+
// Array fields
|
|
52
|
+
language = if (metadata.languages.isNotEmpty()) metadata.languages else null,
|
|
53
|
+
conformsTo = metadata.conformsTo.map { it.uri }.takeIf { it.isNotEmpty() },
|
|
54
|
+
|
|
55
|
+
// Numeric fields
|
|
56
|
+
duration = metadata.duration,
|
|
57
|
+
numberOfPages = metadata.numberOfPages,
|
|
58
|
+
|
|
59
|
+
// Normalize contributors (all types)
|
|
60
|
+
author = normalizeContributors(metadata.authors),
|
|
61
|
+
translator = normalizeContributors(metadata.translators),
|
|
62
|
+
editor = normalizeContributors(metadata.editors),
|
|
63
|
+
artist = normalizeContributors(metadata.artists),
|
|
64
|
+
illustrator = normalizeContributors(metadata.illustrators),
|
|
65
|
+
letterer = normalizeContributors(metadata.letterers),
|
|
66
|
+
penciler = normalizeContributors(metadata.pencilers),
|
|
67
|
+
colorist = normalizeContributors(metadata.colorists),
|
|
68
|
+
inker = normalizeContributors(metadata.inkers),
|
|
69
|
+
narrator = normalizeContributors(metadata.narrators),
|
|
70
|
+
contributor = normalizeContributors(metadata.contributors),
|
|
71
|
+
publisher = normalizeContributors(metadata.publishers),
|
|
72
|
+
imprint = normalizeContributors(metadata.imprints),
|
|
73
|
+
|
|
74
|
+
// Normalize subjects
|
|
75
|
+
subject = normalizeSubjects(metadata.subjects),
|
|
76
|
+
|
|
77
|
+
// Complex objects - these need special handling
|
|
78
|
+
// For now, convert via JSON if they exist
|
|
79
|
+
accessibility = metadata.accessibility?.let { convertAccessibilityToWritableMap(it) },
|
|
80
|
+
belongsTo = if (metadata.belongsTo.isNotEmpty()) convertBelongsToToWritableMap(metadata.belongsTo) else null
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
// Convert to WritableMap for React Native
|
|
84
|
+
return normalized.toWritableMap()
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Normalizes a LocalizedString per RWPM spec.
|
|
89
|
+
*
|
|
90
|
+
* Per RWPM spec, we extract a single string from the localized string using priority:
|
|
91
|
+
* 1. null key (undefined/undetermined language)
|
|
92
|
+
* 2. "en" (English fallback)
|
|
93
|
+
* 3. First available translation
|
|
94
|
+
*
|
|
95
|
+
* https://readium.org/webpub-manifest/contexts/default/
|
|
96
|
+
*/
|
|
97
|
+
private fun normalizeLocalizedString(value: LocalizedString?): String? {
|
|
98
|
+
if (value == null) return null
|
|
99
|
+
|
|
100
|
+
// Priority: null key (undefined) -> "en" -> first available
|
|
101
|
+
return value.translations[null]?.string
|
|
102
|
+
?: value.translations["en"]?.string
|
|
103
|
+
?: value.translations.values.firstOrNull()?.string
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Normalizes contributors per RWPM spec.
|
|
108
|
+
*
|
|
109
|
+
* Converts Readium's Contributor objects to our normalized format.
|
|
110
|
+
* https://readium.org/webpub-manifest/schema/contributor-object.schema.json
|
|
111
|
+
*/
|
|
112
|
+
private fun normalizeContributors(contributors: List<Contributor>): List<NormalizedContributor>? {
|
|
113
|
+
if (contributors.isEmpty()) return null
|
|
114
|
+
|
|
115
|
+
return contributors.mapNotNull { contributor ->
|
|
116
|
+
val name = normalizeLocalizedString(contributor.localizedName) ?: return@mapNotNull null
|
|
117
|
+
|
|
118
|
+
NormalizedContributor(
|
|
119
|
+
name = name,
|
|
120
|
+
sortAs = normalizeLocalizedString(contributor.localizedSortAs),
|
|
121
|
+
identifier = contributor.identifier,
|
|
122
|
+
role = contributor.roles.firstOrNull(),
|
|
123
|
+
position = contributor.position?.toInt()
|
|
124
|
+
)
|
|
125
|
+
}.takeIf { it.isNotEmpty() }
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Normalizes subjects per RWPM spec.
|
|
130
|
+
*
|
|
131
|
+
* Converts Readium's Subject objects to our normalized format.
|
|
132
|
+
* https://readium.org/webpub-manifest/schema/subject.schema.json
|
|
133
|
+
*/
|
|
134
|
+
private fun normalizeSubjects(subjects: List<Subject>): List<NormalizedSubject>? {
|
|
135
|
+
if (subjects.isEmpty()) return null
|
|
136
|
+
|
|
137
|
+
return subjects.mapNotNull { subject ->
|
|
138
|
+
val name = normalizeLocalizedString(subject.localizedName) ?: return@mapNotNull null
|
|
139
|
+
|
|
140
|
+
NormalizedSubject(
|
|
141
|
+
name = name,
|
|
142
|
+
sortAs = normalizeLocalizedString(subject.localizedSortAs),
|
|
143
|
+
code = subject.code,
|
|
144
|
+
scheme = subject.scheme
|
|
145
|
+
)
|
|
146
|
+
}.takeIf { it.isNotEmpty() }
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Converts Readium's Accessibility object to WritableMap.
|
|
151
|
+
* This is a complex nested structure that we pass through as-is.
|
|
152
|
+
*/
|
|
153
|
+
private fun convertAccessibilityToWritableMap(accessibility: org.readium.r2.shared.publication.Accessibility): WritableMap? {
|
|
154
|
+
return try {
|
|
155
|
+
// Use Readium's built-in JSON serialization
|
|
156
|
+
val json = accessibility.toJSON()
|
|
157
|
+
json.toWritableMap()
|
|
158
|
+
} catch (e: Exception) {
|
|
159
|
+
null
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Converts Readium's belongsTo map to WritableMap.
|
|
165
|
+
* This is a complex nested structure that we pass through as-is.
|
|
166
|
+
*/
|
|
167
|
+
private fun convertBelongsToToWritableMap(belongsTo: Map<String, List<org.readium.r2.shared.publication.Collection>>): WritableMap? {
|
|
168
|
+
return try {
|
|
169
|
+
Arguments.createMap().apply {
|
|
170
|
+
belongsTo.forEach { (key, collections) ->
|
|
171
|
+
val array = Arguments.createArray().apply {
|
|
172
|
+
collections.forEach { collection ->
|
|
173
|
+
collection.toJSON().toWritableMap()?.let { pushMap(it) }
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
putArray(key, array)
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
} catch (e: Exception) {
|
|
180
|
+
null
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
package com.reactnativereadium.utils
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Arguments
|
|
4
|
+
import com.facebook.react.bridge.WritableArray
|
|
5
|
+
import com.facebook.react.bridge.WritableMap
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Normalized metadata data classes that mirror the TypeScript PublicationMetadata interface.
|
|
9
|
+
* These provide type safety and structure enforcement during metadata normalization.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Contributor information for publication metadata
|
|
14
|
+
*/
|
|
15
|
+
data class NormalizedContributor(
|
|
16
|
+
val name: String,
|
|
17
|
+
val sortAs: String? = null,
|
|
18
|
+
val identifier: String? = null,
|
|
19
|
+
val role: String? = null,
|
|
20
|
+
val position: Int? = null
|
|
21
|
+
) {
|
|
22
|
+
fun toWritableMap(): WritableMap {
|
|
23
|
+
return Arguments.createMap().apply {
|
|
24
|
+
putString("name", name)
|
|
25
|
+
sortAs?.let { putString("sortAs", it) }
|
|
26
|
+
identifier?.let { putString("identifier", it) }
|
|
27
|
+
role?.let { putString("role", it) }
|
|
28
|
+
position?.let { putInt("position", it) }
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Subject/tag information
|
|
35
|
+
*/
|
|
36
|
+
data class NormalizedSubject(
|
|
37
|
+
val name: String,
|
|
38
|
+
val sortAs: String? = null,
|
|
39
|
+
val code: String? = null,
|
|
40
|
+
val scheme: String? = null
|
|
41
|
+
) {
|
|
42
|
+
fun toWritableMap(): WritableMap {
|
|
43
|
+
return Arguments.createMap().apply {
|
|
44
|
+
putString("name", name)
|
|
45
|
+
sortAs?.let { putString("sortAs", it) }
|
|
46
|
+
code?.let { putString("code", it) }
|
|
47
|
+
scheme?.let { putString("scheme", it) }
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Normalized publication metadata following the RWPM spec
|
|
54
|
+
* @see https://readium.org/webpub-manifest/
|
|
55
|
+
*/
|
|
56
|
+
data class NormalizedMetadata(
|
|
57
|
+
// Required fields
|
|
58
|
+
val title: String,
|
|
59
|
+
|
|
60
|
+
// Optional localized string fields
|
|
61
|
+
val sortAs: String? = null,
|
|
62
|
+
val subtitle: String? = null,
|
|
63
|
+
|
|
64
|
+
// Simple fields
|
|
65
|
+
val identifier: String? = null,
|
|
66
|
+
val description: String? = null,
|
|
67
|
+
val readingProgression: String? = null,
|
|
68
|
+
val layout: String? = null,
|
|
69
|
+
val modified: String? = null,
|
|
70
|
+
val published: String? = null,
|
|
71
|
+
|
|
72
|
+
// Array fields
|
|
73
|
+
val language: List<String>? = null,
|
|
74
|
+
val conformsTo: List<String>? = null,
|
|
75
|
+
|
|
76
|
+
// Numeric fields
|
|
77
|
+
val duration: Double? = null,
|
|
78
|
+
val numberOfPages: Int? = null,
|
|
79
|
+
|
|
80
|
+
// Contributors (all types)
|
|
81
|
+
val author: List<NormalizedContributor>? = null,
|
|
82
|
+
val translator: List<NormalizedContributor>? = null,
|
|
83
|
+
val editor: List<NormalizedContributor>? = null,
|
|
84
|
+
val artist: List<NormalizedContributor>? = null,
|
|
85
|
+
val illustrator: List<NormalizedContributor>? = null,
|
|
86
|
+
val letterer: List<NormalizedContributor>? = null,
|
|
87
|
+
val penciler: List<NormalizedContributor>? = null,
|
|
88
|
+
val colorist: List<NormalizedContributor>? = null,
|
|
89
|
+
val inker: List<NormalizedContributor>? = null,
|
|
90
|
+
val narrator: List<NormalizedContributor>? = null,
|
|
91
|
+
val contributor: List<NormalizedContributor>? = null,
|
|
92
|
+
val publisher: List<NormalizedContributor>? = null,
|
|
93
|
+
val imprint: List<NormalizedContributor>? = null,
|
|
94
|
+
|
|
95
|
+
// Subjects
|
|
96
|
+
val subject: List<NormalizedSubject>? = null,
|
|
97
|
+
|
|
98
|
+
// Complex objects (preserved as-is from source)
|
|
99
|
+
val accessibility: WritableMap? = null,
|
|
100
|
+
val belongsTo: WritableMap? = null
|
|
101
|
+
) {
|
|
102
|
+
/**
|
|
103
|
+
* Converts this normalized metadata to a WritableMap for React Native
|
|
104
|
+
*/
|
|
105
|
+
fun toWritableMap(): WritableMap {
|
|
106
|
+
return Arguments.createMap().apply {
|
|
107
|
+
// Required fields
|
|
108
|
+
putString("title", title)
|
|
109
|
+
|
|
110
|
+
// Optional localized fields
|
|
111
|
+
sortAs?.let { putString("sortAs", it) }
|
|
112
|
+
subtitle?.let { putString("subtitle", it) }
|
|
113
|
+
|
|
114
|
+
// Simple fields
|
|
115
|
+
identifier?.let { putString("identifier", it) }
|
|
116
|
+
description?.let { putString("description", it) }
|
|
117
|
+
readingProgression?.let { putString("readingProgression", it) }
|
|
118
|
+
layout?.let { putString("layout", it) }
|
|
119
|
+
modified?.let { putString("modified", it) }
|
|
120
|
+
published?.let { putString("published", it) }
|
|
121
|
+
|
|
122
|
+
// Array fields
|
|
123
|
+
language?.let {
|
|
124
|
+
putArray("language", Arguments.createArray().apply {
|
|
125
|
+
it.forEach { lang -> pushString(lang) }
|
|
126
|
+
})
|
|
127
|
+
}
|
|
128
|
+
conformsTo?.let {
|
|
129
|
+
putArray("conformsTo", Arguments.createArray().apply {
|
|
130
|
+
it.forEach { item -> pushString(item) }
|
|
131
|
+
})
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// Numeric fields
|
|
135
|
+
duration?.let { putDouble("duration", it) }
|
|
136
|
+
numberOfPages?.let { putInt("numberOfPages", it) }
|
|
137
|
+
|
|
138
|
+
// Contributors
|
|
139
|
+
author?.let { putArray("author", it.toContributorWritableArray()) }
|
|
140
|
+
translator?.let { putArray("translator", it.toContributorWritableArray()) }
|
|
141
|
+
editor?.let { putArray("editor", it.toContributorWritableArray()) }
|
|
142
|
+
artist?.let { putArray("artist", it.toContributorWritableArray()) }
|
|
143
|
+
illustrator?.let { putArray("illustrator", it.toContributorWritableArray()) }
|
|
144
|
+
letterer?.let { putArray("letterer", it.toContributorWritableArray()) }
|
|
145
|
+
penciler?.let { putArray("penciler", it.toContributorWritableArray()) }
|
|
146
|
+
colorist?.let { putArray("colorist", it.toContributorWritableArray()) }
|
|
147
|
+
inker?.let { putArray("inker", it.toContributorWritableArray()) }
|
|
148
|
+
narrator?.let { putArray("narrator", it.toContributorWritableArray()) }
|
|
149
|
+
contributor?.let { putArray("contributor", it.toContributorWritableArray()) }
|
|
150
|
+
publisher?.let { putArray("publisher", it.toContributorWritableArray()) }
|
|
151
|
+
imprint?.let { putArray("imprint", it.toContributorWritableArray()) }
|
|
152
|
+
|
|
153
|
+
// Subjects
|
|
154
|
+
subject?.let { putArray("subject", it.toSubjectWritableArray()) }
|
|
155
|
+
|
|
156
|
+
// Complex objects
|
|
157
|
+
accessibility?.let { putMap("accessibility", it) }
|
|
158
|
+
belongsTo?.let { putMap("belongsTo", it) }
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Extension function to convert a list of contributors to WritableArray
|
|
165
|
+
*/
|
|
166
|
+
private fun List<NormalizedContributor>.toContributorWritableArray(): WritableArray {
|
|
167
|
+
return Arguments.createArray().apply {
|
|
168
|
+
this@toContributorWritableArray.forEach { pushMap(it.toWritableMap()) }
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Extension function to convert a list of subjects to WritableArray
|
|
174
|
+
*/
|
|
175
|
+
private fun List<NormalizedSubject>.toSubjectWritableArray(): WritableArray {
|
|
176
|
+
return Arguments.createArray().apply {
|
|
177
|
+
this@toSubjectWritableArray.forEach { pushMap(it.toWritableMap()) }
|
|
178
|
+
}
|
|
179
|
+
}
|
|
@@ -2,11 +2,8 @@ package com.reactnativereadium.utils.extensions
|
|
|
2
2
|
|
|
3
3
|
import kotlinx.coroutines.Dispatchers
|
|
4
4
|
import kotlinx.coroutines.withContext
|
|
5
|
-
import org.readium.r2.shared.extensions.tryOrNull
|
|
6
5
|
import java.io.File
|
|
7
6
|
import java.io.InputStream
|
|
8
|
-
import java.util.*
|
|
9
|
-
|
|
10
7
|
|
|
11
8
|
suspend fun InputStream.toFile(path: String) {
|
|
12
9
|
withContext(Dispatchers.IO) {
|
|
@@ -15,9 +12,3 @@ suspend fun InputStream.toFile(path: String) {
|
|
|
15
12
|
}
|
|
16
13
|
}
|
|
17
14
|
}
|
|
18
|
-
|
|
19
|
-
suspend fun InputStream.copyToTempFile(dir: String): File? = tryOrNull {
|
|
20
|
-
val filename = UUID.randomUUID().toString()
|
|
21
|
-
File(dir + filename)
|
|
22
|
-
.also { toFile(it.path) }
|
|
23
|
-
}
|
package/ios/App/AppModule.swift
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import Combine
|
|
2
2
|
import Foundation
|
|
3
3
|
import UIKit
|
|
4
|
-
import
|
|
5
|
-
import R2Streamer
|
|
4
|
+
import ReadiumShared
|
|
6
5
|
|
|
7
6
|
|
|
8
7
|
/// Base module delegate, that sub-modules' delegate can extend.
|
|
@@ -22,15 +21,10 @@ final class AppModule {
|
|
|
22
21
|
var reader: ReaderModuleAPI! = nil
|
|
23
22
|
|
|
24
23
|
init() throws {
|
|
25
|
-
guard let server = PublicationServer() else {
|
|
26
|
-
/// FIXME: we should recover properly if the publication server can't start, maybe this should only forbid opening a publication?
|
|
27
|
-
fatalError("Can't start publication server")
|
|
28
|
-
}
|
|
29
|
-
|
|
30
24
|
reader = ReaderModule(delegate: self)
|
|
31
25
|
|
|
32
|
-
// Set Readium
|
|
33
|
-
|
|
26
|
+
// Set Readium logging minimum level for debugging
|
|
27
|
+
ReadiumEnableLog(withMinimumSeverityLevel: .debug)
|
|
34
28
|
}
|
|
35
29
|
}
|
|
36
30
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Foundation
|
|
2
|
-
import
|
|
2
|
+
import ReadiumShared
|
|
3
3
|
|
|
4
|
-
extension Locator: Codable {
|
|
4
|
+
extension ReadiumShared.Locator: Codable {
|
|
5
5
|
public init(from decoder: Decoder) throws {
|
|
6
6
|
let json = try decoder.singleValueContainer().decode(String.self)
|
|
7
7
|
try self.init(jsonString: json)!
|