@rnpack/utils 0.1.6 → 0.1.7
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/Utils.podspec +2 -2
- package/android/CMakeLists.txt +3 -3
- package/android/build.gradle +3 -3
- package/android/gradle.properties +5 -5
- package/android/src/main/cpp/cpp-adapter.cpp +2 -2
- package/android/src/main/java/com/margelo/nitro/rnpack/utils/{Utils.kt → RNPackUtils.kt} +1 -1
- package/android/src/main/java/com/margelo/nitro/rnpack/utils/{UtilsPackage.kt → RNPackUtilsPackage.kt} +2 -2
- package/ios/{Utils.swift → RNPackUtils.swift} +1 -1
- package/lib/module/RNPackUtils.nitro.js +4 -0
- package/lib/module/RNPackUtils.nitro.js.map +1 -0
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/{Utils.nitro.d.ts → RNPackUtils.nitro.d.ts} +2 -2
- package/lib/typescript/src/RNPackUtils.nitro.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/nitro.json +16 -9
- package/nitrogen/generated/android/{rnpack_utils+autolinking.cmake → RNPackUtils+autolinking.cmake} +10 -10
- package/nitrogen/generated/android/{rnpack_utils+autolinking.gradle → RNPackUtils+autolinking.gradle} +3 -3
- package/nitrogen/generated/android/{rnpack_utilsOnLoad.cpp → RNPackUtilsOnLoad.cpp} +10 -10
- package/nitrogen/generated/android/{rnpack_utilsOnLoad.hpp → RNPackUtilsOnLoad.hpp} +5 -5
- package/nitrogen/generated/android/c++/{JHybridUtilsSpec.cpp → JHybridRNPackUtilsSpec.cpp} +11 -11
- package/nitrogen/generated/android/c++/{JHybridUtilsSpec.hpp → JHybridRNPackUtilsSpec.hpp} +12 -12
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rnpack/utils/{HybridUtilsSpec.kt → HybridRNPackUtilsSpec.kt} +6 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rnpack/utils/{rnpack_utilsOnLoad.kt → RNPackUtilsOnLoad.kt} +8 -8
- package/nitrogen/generated/ios/{Utils+autolinking.rb → RNPackUtils+autolinking.rb} +4 -4
- package/nitrogen/generated/ios/RNPackUtils-Swift-Cxx-Bridge.cpp +33 -0
- package/nitrogen/generated/ios/RNPackUtils-Swift-Cxx-Bridge.hpp +51 -0
- package/nitrogen/generated/ios/{Utils-Swift-Cxx-Umbrella.hpp → RNPackUtils-Swift-Cxx-Umbrella.hpp} +13 -13
- package/nitrogen/generated/ios/{UtilsAutolinking.mm → RNPackUtilsAutolinking.mm} +8 -8
- package/nitrogen/generated/ios/{UtilsAutolinking.swift → RNPackUtilsAutolinking.swift} +9 -9
- package/nitrogen/generated/ios/c++/HybridRNPackUtilsSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/{HybridUtilsSpecSwift.hpp → HybridRNPackUtilsSpecSwift.hpp} +15 -15
- package/nitrogen/generated/ios/swift/HybridRNPackUtilsSpec.swift +56 -0
- package/nitrogen/generated/ios/swift/{HybridUtilsSpec_cxx.swift → HybridRNPackUtilsSpec_cxx.swift} +21 -21
- package/nitrogen/generated/shared/c++/{HybridUtilsSpec.cpp → HybridRNPackUtilsSpec.cpp} +6 -6
- package/nitrogen/generated/shared/c++/{HybridUtilsSpec.hpp → HybridRNPackUtilsSpec.hpp} +11 -11
- package/package.json +2 -2
- package/src/{Utils.nitro.ts → RNPackUtils.nitro.ts} +1 -1
- package/src/index.tsx +3 -2
- package/lib/module/Utils.nitro.js +0 -4
- package/lib/module/Utils.nitro.js.map +0 -1
- package/lib/typescript/src/Utils.nitro.d.ts.map +0 -1
- package/nitrogen/generated/ios/Utils-Swift-Cxx-Bridge.cpp +0 -33
- package/nitrogen/generated/ios/Utils-Swift-Cxx-Bridge.hpp +0 -51
- package/nitrogen/generated/ios/c++/HybridUtilsSpecSwift.cpp +0 -11
- package/nitrogen/generated/ios/swift/HybridUtilsSpec.swift +0 -56
package/Utils.podspec
CHANGED
|
@@ -3,7 +3,7 @@ require "json"
|
|
|
3
3
|
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
|
|
4
4
|
|
|
5
5
|
Pod::Spec.new do |s|
|
|
6
|
-
s.name = "
|
|
6
|
+
s.name = "RNPackUtils"
|
|
7
7
|
s.version = package["version"]
|
|
8
8
|
s.summary = package["description"]
|
|
9
9
|
s.homepage = package["homepage"]
|
|
@@ -22,7 +22,7 @@ Pod::Spec.new do |s|
|
|
|
22
22
|
s.dependency 'React-jsi'
|
|
23
23
|
s.dependency 'React-callinvoker'
|
|
24
24
|
|
|
25
|
-
load 'nitrogen/generated/ios/
|
|
25
|
+
load 'nitrogen/generated/ios/RNPackUtils+autolinking.rb'
|
|
26
26
|
add_nitrogen_files(s)
|
|
27
27
|
|
|
28
28
|
install_modules_dependencies(s)
|
package/android/CMakeLists.txt
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
project(
|
|
1
|
+
project(RNPackUtils)
|
|
2
2
|
cmake_minimum_required(VERSION 3.9.0)
|
|
3
3
|
|
|
4
|
-
set(PACKAGE_NAME
|
|
4
|
+
set(PACKAGE_NAME RNPackUtils)
|
|
5
5
|
set(CMAKE_VERBOSE_MAKEFILE ON)
|
|
6
6
|
set(CMAKE_CXX_STANDARD 20)
|
|
7
7
|
|
|
@@ -9,7 +9,7 @@ set(CMAKE_CXX_STANDARD 20)
|
|
|
9
9
|
add_library(${PACKAGE_NAME} SHARED src/main/cpp/cpp-adapter.cpp)
|
|
10
10
|
|
|
11
11
|
# Add Nitrogen specs :)
|
|
12
|
-
include(${CMAKE_SOURCE_DIR}/../nitrogen/generated/android/
|
|
12
|
+
include(${CMAKE_SOURCE_DIR}/../nitrogen/generated/android/RNPackUtils+autolinking.cmake)
|
|
13
13
|
|
|
14
14
|
# Set up local includes
|
|
15
15
|
include_directories("src/main/cpp" "../cpp")
|
package/android/build.gradle
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
buildscript {
|
|
2
2
|
ext.getExtOrDefault = {name ->
|
|
3
|
-
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['
|
|
3
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['RNPackUtils_' + name]
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
repositories {
|
|
@@ -22,12 +22,12 @@ def reactNativeArchitectures() {
|
|
|
22
22
|
|
|
23
23
|
apply plugin: "com.android.library"
|
|
24
24
|
apply plugin: "kotlin-android"
|
|
25
|
-
apply from: '../nitrogen/generated/android/
|
|
25
|
+
apply from: '../nitrogen/generated/android/RNPackUtils+autolinking.gradle'
|
|
26
26
|
|
|
27
27
|
apply plugin: "com.facebook.react"
|
|
28
28
|
|
|
29
29
|
def getExtOrIntegerDefault(name) {
|
|
30
|
-
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["
|
|
30
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["RNPackUtils_" + name]).toInteger()
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
android {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
RNPackUtils_kotlinVersion=2.0.21
|
|
2
|
+
RNPackUtils_minSdkVersion=24
|
|
3
|
+
RNPackUtils_targetSdkVersion=34
|
|
4
|
+
RNPackUtils_compileSdkVersion=35
|
|
5
|
+
RNPackUtils_ndkVersion=27.1.12297006
|
|
@@ -5,7 +5,7 @@ import com.facebook.react.bridge.NativeModule
|
|
|
5
5
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
6
|
import com.facebook.react.module.model.ReactModuleInfoProvider
|
|
7
7
|
|
|
8
|
-
class
|
|
8
|
+
class RNPackUtilsPackage : BaseReactPackage() {
|
|
9
9
|
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
|
|
10
10
|
return null
|
|
11
11
|
}
|
|
@@ -16,7 +16,7 @@ class UtilsPackage : BaseReactPackage() {
|
|
|
16
16
|
|
|
17
17
|
companion object {
|
|
18
18
|
init {
|
|
19
|
-
System.loadLibrary("
|
|
19
|
+
System.loadLibrary("RNPackUtils")
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["RNPackUtils.nitro.ts"],"mappings":"","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
|
-
const UtilsHybridObject = NitroModules.createHybridObject('
|
|
4
|
+
const UtilsHybridObject = NitroModules.createHybridObject('RNPackUtils');
|
|
5
5
|
export function multiply(a, b) {
|
|
6
6
|
return UtilsHybridObject.multiply(a, b);
|
|
7
7
|
}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NitroModules","UtilsHybridObject","createHybridObject","multiply","a","b"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAGzD,MAAMC,iBAAiB,
|
|
1
|
+
{"version":3,"names":["NitroModules","UtilsHybridObject","createHybridObject","multiply","a","b"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAGzD,MAAMC,iBAAiB,GACrBD,YAAY,CAACE,kBAAkB,CAAc,aAAa,CAAC;AAE7D,OAAO,SAASC,QAAQA,CAACC,CAAS,EAAEC,CAAS,EAAU;EACrD,OAAOJ,iBAAiB,CAACE,QAAQ,CAACC,CAAC,EAAEC,CAAC,CAAC;AACzC;AAEA,cAAc,kBAAS;AACvB,cAAc,kBAAS;AACvB,cAAc,sBAAa;AAC3B,cAAc,kBAAS","ignoreList":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { HybridObject } from 'react-native-nitro-modules';
|
|
2
|
-
export interface
|
|
2
|
+
export interface RNPackUtils extends HybridObject<{
|
|
3
3
|
ios: 'swift';
|
|
4
4
|
android: 'kotlin';
|
|
5
5
|
}> {
|
|
6
6
|
multiply(a: number, b: number): number;
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=
|
|
8
|
+
//# sourceMappingURL=RNPackUtils.nitro.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RNPackUtils.nitro.d.ts","sourceRoot":"","sources":["../../../src/RNPackUtils.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,WACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IACzD,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAMA,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
package/nitro.json
CHANGED
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cxxNamespace": [
|
|
2
|
+
"cxxNamespace": [
|
|
3
|
+
"RNPackUtils"
|
|
4
|
+
],
|
|
3
5
|
"ios": {
|
|
4
|
-
"iosModuleName": "
|
|
6
|
+
"iosModuleName": "RNPackUtils"
|
|
5
7
|
},
|
|
6
8
|
"android": {
|
|
7
|
-
"androidNamespace": [
|
|
8
|
-
|
|
9
|
+
"androidNamespace": [
|
|
10
|
+
"rnpack",
|
|
11
|
+
"utils"
|
|
12
|
+
],
|
|
13
|
+
"androidCxxLibName": "RNPackUtils"
|
|
9
14
|
},
|
|
10
15
|
"autolinking": {
|
|
11
|
-
"
|
|
12
|
-
"swift": "
|
|
13
|
-
"kotlin": "
|
|
16
|
+
"RNPackUtils": {
|
|
17
|
+
"swift": "RNPackUtils",
|
|
18
|
+
"kotlin": "RNPackUtils"
|
|
14
19
|
}
|
|
15
20
|
},
|
|
16
|
-
"ignorePaths": [
|
|
17
|
-
|
|
21
|
+
"ignorePaths": [
|
|
22
|
+
"node_modules"
|
|
23
|
+
]
|
|
24
|
+
}
|
package/nitrogen/generated/android/{rnpack_utils+autolinking.cmake → RNPackUtils+autolinking.cmake}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#
|
|
2
|
-
#
|
|
2
|
+
# RNPackUtils+autolinking.cmake
|
|
3
3
|
# This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
# https://github.com/mrousavy/nitro
|
|
5
5
|
# Copyright © 2025 Marc Rousavy @ Margelo
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
#
|
|
11
11
|
# To use it, add this to your CMakeLists.txt:
|
|
12
12
|
# ```cmake
|
|
13
|
-
# include(${CMAKE_SOURCE_DIR}/../nitrogen/generated/android/
|
|
13
|
+
# include(${CMAKE_SOURCE_DIR}/../nitrogen/generated/android/RNPackUtils+autolinking.cmake)
|
|
14
14
|
# ```
|
|
15
15
|
|
|
16
16
|
# Define a flag to check if we are building properly
|
|
@@ -29,19 +29,19 @@ include_directories(
|
|
|
29
29
|
# Add all .cpp sources that were generated by Nitrogen
|
|
30
30
|
target_sources(
|
|
31
31
|
# CMake project name (Android C++ library name)
|
|
32
|
-
|
|
32
|
+
RNPackUtils PRIVATE
|
|
33
33
|
# Autolinking Setup
|
|
34
|
-
../nitrogen/generated/android/
|
|
34
|
+
../nitrogen/generated/android/RNPackUtilsOnLoad.cpp
|
|
35
35
|
# Shared Nitrogen C++ sources
|
|
36
|
-
../nitrogen/generated/shared/c++/
|
|
36
|
+
../nitrogen/generated/shared/c++/HybridRNPackUtilsSpec.cpp
|
|
37
37
|
# Android-specific Nitrogen C++ sources
|
|
38
|
-
../nitrogen/generated/android/c++/
|
|
38
|
+
../nitrogen/generated/android/c++/JHybridRNPackUtilsSpec.cpp
|
|
39
39
|
)
|
|
40
40
|
|
|
41
41
|
# From node_modules/react-native/ReactAndroid/cmake-utils/folly-flags.cmake
|
|
42
42
|
# Used in node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake
|
|
43
43
|
target_compile_definitions(
|
|
44
|
-
|
|
44
|
+
RNPackUtils PRIVATE
|
|
45
45
|
-DFOLLY_NO_CONFIG=1
|
|
46
46
|
-DFOLLY_HAVE_CLOCK_GETTIME=1
|
|
47
47
|
-DFOLLY_USE_LIBCPP=1
|
|
@@ -61,7 +61,7 @@ find_package(react-native-nitro-modules REQUIRED) # <-- Used to create all Hybri
|
|
|
61
61
|
|
|
62
62
|
# Link all libraries together
|
|
63
63
|
target_link_libraries(
|
|
64
|
-
|
|
64
|
+
RNPackUtils
|
|
65
65
|
fbjni::fbjni # <-- Facebook C++ JNI helpers
|
|
66
66
|
ReactAndroid::jsi # <-- RN: JSI
|
|
67
67
|
react-native-nitro-modules::NitroModules # <-- NitroModules Core :)
|
|
@@ -70,12 +70,12 @@ target_link_libraries(
|
|
|
70
70
|
# Link react-native (different prefab between RN 0.75 and RN 0.76)
|
|
71
71
|
if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
|
|
72
72
|
target_link_libraries(
|
|
73
|
-
|
|
73
|
+
RNPackUtils
|
|
74
74
|
ReactAndroid::reactnative # <-- RN: Native Modules umbrella prefab
|
|
75
75
|
)
|
|
76
76
|
else()
|
|
77
77
|
target_link_libraries(
|
|
78
|
-
|
|
78
|
+
RNPackUtils
|
|
79
79
|
ReactAndroid::react_nativemodule_core # <-- RN: TurboModules Core
|
|
80
80
|
)
|
|
81
81
|
endif()
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
///
|
|
2
|
-
///
|
|
2
|
+
/// RNPackUtils+autolinking.gradle
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
5
|
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
///
|
|
11
11
|
/// To use it, add this to your build.gradle:
|
|
12
12
|
/// ```gradle
|
|
13
|
-
/// apply from: '../nitrogen/generated/android/
|
|
13
|
+
/// apply from: '../nitrogen/generated/android/RNPackUtils+autolinking.gradle'
|
|
14
14
|
/// ```
|
|
15
15
|
|
|
16
|
-
logger.warn("[NitroModules] 🔥
|
|
16
|
+
logger.warn("[NitroModules] 🔥 RNPackUtils is boosted by nitro!")
|
|
17
17
|
|
|
18
18
|
android {
|
|
19
19
|
sourceSets {
|
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
///
|
|
2
|
-
///
|
|
2
|
+
/// RNPackUtilsOnLoad.cpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
5
|
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#ifndef BUILDING_RNPACKUTILS_WITH_GENERATED_CMAKE_PROJECT
|
|
9
|
-
#error
|
|
9
|
+
#error RNPackUtilsOnLoad.cpp is not being built with the autogenerated CMakeLists.txt project. Is a different CMakeLists.txt building this?
|
|
10
10
|
#endif
|
|
11
11
|
|
|
12
|
-
#include "
|
|
12
|
+
#include "RNPackUtilsOnLoad.hpp"
|
|
13
13
|
|
|
14
14
|
#include <jni.h>
|
|
15
15
|
#include <fbjni/fbjni.h>
|
|
16
16
|
#include <NitroModules/HybridObjectRegistry.hpp>
|
|
17
17
|
|
|
18
|
-
#include "
|
|
18
|
+
#include "JHybridRNPackUtilsSpec.hpp"
|
|
19
19
|
#include <NitroModules/DefaultConstructableObject.hpp>
|
|
20
20
|
|
|
21
|
-
namespace margelo::nitro::
|
|
21
|
+
namespace margelo::nitro::RNPackUtils {
|
|
22
22
|
|
|
23
23
|
int initialize(JavaVM* vm) {
|
|
24
24
|
using namespace margelo::nitro;
|
|
25
|
-
using namespace margelo::nitro::
|
|
25
|
+
using namespace margelo::nitro::RNPackUtils;
|
|
26
26
|
using namespace facebook;
|
|
27
27
|
|
|
28
28
|
return facebook::jni::initialize(vm, [] {
|
|
29
29
|
// Register native JNI methods
|
|
30
|
-
margelo::nitro::
|
|
30
|
+
margelo::nitro::RNPackUtils::JHybridRNPackUtilsSpec::registerNatives();
|
|
31
31
|
|
|
32
32
|
// Register Nitro Hybrid Objects
|
|
33
33
|
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
34
|
-
"
|
|
34
|
+
"RNPackUtils",
|
|
35
35
|
[]() -> std::shared_ptr<HybridObject> {
|
|
36
|
-
static DefaultConstructableObject<
|
|
36
|
+
static DefaultConstructableObject<JHybridRNPackUtilsSpec::javaobject> object("com/margelo/nitro/rnpack/utils/RNPackUtils");
|
|
37
37
|
auto instance = object.create();
|
|
38
38
|
return instance->cthis()->shared();
|
|
39
39
|
}
|
|
@@ -41,4 +41,4 @@ int initialize(JavaVM* vm) {
|
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
} // namespace margelo::nitro::
|
|
44
|
+
} // namespace margelo::nitro::RNPackUtils
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
///
|
|
2
|
-
///
|
|
2
|
+
/// RNPackUtilsOnLoad.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
5
|
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
@@ -8,18 +8,18 @@
|
|
|
8
8
|
#include <jni.h>
|
|
9
9
|
#include <NitroModules/NitroDefines.hpp>
|
|
10
10
|
|
|
11
|
-
namespace margelo::nitro::
|
|
11
|
+
namespace margelo::nitro::RNPackUtils {
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* Initializes the native (C++) part of
|
|
14
|
+
* Initializes the native (C++) part of RNPackUtils, and autolinks all Hybrid Objects.
|
|
15
15
|
* Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`).
|
|
16
16
|
* Example:
|
|
17
17
|
* ```cpp (cpp-adapter.cpp)
|
|
18
18
|
* JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
|
|
19
|
-
* return margelo::nitro::
|
|
19
|
+
* return margelo::nitro::RNPackUtils::initialize(vm);
|
|
20
20
|
* }
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
23
|
int initialize(JavaVM* vm);
|
|
24
24
|
|
|
25
|
-
} // namespace margelo::nitro::
|
|
25
|
+
} // namespace margelo::nitro::RNPackUtils
|
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
///
|
|
2
|
-
///
|
|
2
|
+
/// JHybridRNPackUtilsSpec.cpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
5
|
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
|
-
#include "
|
|
8
|
+
#include "JHybridRNPackUtilsSpec.hpp"
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
namespace margelo::nitro::
|
|
14
|
+
namespace margelo::nitro::RNPackUtils {
|
|
15
15
|
|
|
16
|
-
jni::local_ref<
|
|
16
|
+
jni::local_ref<JHybridRNPackUtilsSpec::jhybriddata> JHybridRNPackUtilsSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
17
17
|
return makeCxxInstance(jThis);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
void
|
|
20
|
+
void JHybridRNPackUtilsSpec::registerNatives() {
|
|
21
21
|
registerHybrid({
|
|
22
|
-
makeNativeMethod("initHybrid",
|
|
22
|
+
makeNativeMethod("initHybrid", JHybridRNPackUtilsSpec::initHybrid),
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
size_t
|
|
26
|
+
size_t JHybridRNPackUtilsSpec::getExternalMemorySize() noexcept {
|
|
27
27
|
static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
|
|
28
28
|
return method(_javaPart);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
void
|
|
31
|
+
void JHybridRNPackUtilsSpec::dispose() noexcept {
|
|
32
32
|
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
33
33
|
method(_javaPart);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
std::string
|
|
36
|
+
std::string JHybridRNPackUtilsSpec::toString() {
|
|
37
37
|
static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
|
|
38
38
|
auto javaString = method(_javaPart);
|
|
39
39
|
return javaString->toStdString();
|
|
@@ -43,10 +43,10 @@ namespace margelo::nitro::rnpack_utils {
|
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
// Methods
|
|
46
|
-
double
|
|
46
|
+
double JHybridRNPackUtilsSpec::multiply(double a, double b) {
|
|
47
47
|
static const auto method = javaClassStatic()->getMethod<double(double /* a */, double /* b */)>("multiply");
|
|
48
48
|
auto __result = method(_javaPart, a, b);
|
|
49
49
|
return __result;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
} // namespace margelo::nitro::
|
|
52
|
+
} // namespace margelo::nitro::RNPackUtils
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
///
|
|
2
|
-
///
|
|
2
|
+
/// HybridRNPackUtilsSpec.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
5
|
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
@@ -9,31 +9,31 @@
|
|
|
9
9
|
|
|
10
10
|
#include <NitroModules/JHybridObject.hpp>
|
|
11
11
|
#include <fbjni/fbjni.h>
|
|
12
|
-
#include "
|
|
12
|
+
#include "HybridRNPackUtilsSpec.hpp"
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
namespace margelo::nitro::
|
|
17
|
+
namespace margelo::nitro::RNPackUtils {
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class
|
|
22
|
-
|
|
21
|
+
class JHybridRNPackUtilsSpec: public jni::HybridClass<JHybridRNPackUtilsSpec, JHybridObject>,
|
|
22
|
+
public virtual HybridRNPackUtilsSpec {
|
|
23
23
|
public:
|
|
24
|
-
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rnpack/utils/
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rnpack/utils/HybridRNPackUtilsSpec;";
|
|
25
25
|
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
26
26
|
static void registerNatives();
|
|
27
27
|
|
|
28
28
|
protected:
|
|
29
29
|
// C++ constructor (called from Java via `initHybrid()`)
|
|
30
|
-
explicit
|
|
31
|
-
HybridObject(
|
|
30
|
+
explicit JHybridRNPackUtilsSpec(jni::alias_ref<jhybridobject> jThis) :
|
|
31
|
+
HybridObject(HybridRNPackUtilsSpec::TAG),
|
|
32
32
|
HybridBase(jThis),
|
|
33
33
|
_javaPart(jni::make_global(jThis)) {}
|
|
34
34
|
|
|
35
35
|
public:
|
|
36
|
-
~
|
|
36
|
+
~JHybridRNPackUtilsSpec() override {
|
|
37
37
|
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
38
38
|
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
39
39
|
}
|
|
@@ -44,7 +44,7 @@ namespace margelo::nitro::rnpack_utils {
|
|
|
44
44
|
std::string toString() override;
|
|
45
45
|
|
|
46
46
|
public:
|
|
47
|
-
inline const jni::global_ref<
|
|
47
|
+
inline const jni::global_ref<JHybridRNPackUtilsSpec::javaobject>& getJavaPart() const noexcept {
|
|
48
48
|
return _javaPart;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -59,7 +59,7 @@ namespace margelo::nitro::rnpack_utils {
|
|
|
59
59
|
private:
|
|
60
60
|
friend HybridBase;
|
|
61
61
|
using HybridBase::HybridBase;
|
|
62
|
-
jni::global_ref<
|
|
62
|
+
jni::global_ref<JHybridRNPackUtilsSpec::javaobject> _javaPart;
|
|
63
63
|
};
|
|
64
64
|
|
|
65
|
-
} // namespace margelo::nitro::
|
|
65
|
+
} // namespace margelo::nitro::RNPackUtils
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
///
|
|
2
|
-
///
|
|
2
|
+
/// HybridRNPackUtilsSpec.kt
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
5
|
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
@@ -13,8 +13,8 @@ import com.facebook.proguard.annotations.DoNotStrip
|
|
|
13
13
|
import com.margelo.nitro.core.HybridObject
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
* A Kotlin class representing the
|
|
17
|
-
* Implement this abstract class to create Kotlin-based instances of
|
|
16
|
+
* A Kotlin class representing the RNPackUtils HybridObject.
|
|
17
|
+
* Implement this abstract class to create Kotlin-based instances of RNPackUtils.
|
|
18
18
|
*/
|
|
19
19
|
@DoNotStrip
|
|
20
20
|
@Keep
|
|
@@ -23,7 +23,7 @@ import com.margelo.nitro.core.HybridObject
|
|
|
23
23
|
"RedundantSuppression", "RedundantUnitReturnType", "SimpleRedundantLet",
|
|
24
24
|
"LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName"
|
|
25
25
|
)
|
|
26
|
-
abstract class
|
|
26
|
+
abstract class HybridRNPackUtilsSpec: HybridObject() {
|
|
27
27
|
@DoNotStrip
|
|
28
28
|
private var mHybridData: HybridData = initHybrid()
|
|
29
29
|
|
|
@@ -38,7 +38,7 @@ abstract class HybridUtilsSpec: HybridObject() {
|
|
|
38
38
|
|
|
39
39
|
// Default implementation of `HybridObject.toString()`
|
|
40
40
|
override fun toString(): String {
|
|
41
|
-
return "[HybridObject
|
|
41
|
+
return "[HybridObject RNPackUtils]"
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
// Properties
|
|
@@ -52,6 +52,6 @@ abstract class HybridUtilsSpec: HybridObject() {
|
|
|
52
52
|
private external fun initHybrid(): HybridData
|
|
53
53
|
|
|
54
54
|
companion object {
|
|
55
|
-
protected const val TAG = "
|
|
55
|
+
protected const val TAG = "HybridRNPackUtilsSpec"
|
|
56
56
|
}
|
|
57
57
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
///
|
|
2
|
-
///
|
|
2
|
+
/// RNPackUtilsOnLoad.kt
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
5
|
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
@@ -9,24 +9,24 @@ package com.margelo.nitro.rnpack.utils
|
|
|
9
9
|
|
|
10
10
|
import android.util.Log
|
|
11
11
|
|
|
12
|
-
internal class
|
|
12
|
+
internal class RNPackUtilsOnLoad {
|
|
13
13
|
companion object {
|
|
14
|
-
private const val TAG = "
|
|
14
|
+
private const val TAG = "RNPackUtilsOnLoad"
|
|
15
15
|
private var didLoad = false
|
|
16
16
|
/**
|
|
17
|
-
* Initializes the native part of "
|
|
17
|
+
* Initializes the native part of "RNPackUtils".
|
|
18
18
|
* This method is idempotent and can be called more than once.
|
|
19
19
|
*/
|
|
20
20
|
@JvmStatic
|
|
21
21
|
fun initializeNative() {
|
|
22
22
|
if (didLoad) return
|
|
23
23
|
try {
|
|
24
|
-
Log.i(TAG, "Loading
|
|
25
|
-
System.loadLibrary("
|
|
26
|
-
Log.i(TAG, "Successfully loaded
|
|
24
|
+
Log.i(TAG, "Loading RNPackUtils C++ library...")
|
|
25
|
+
System.loadLibrary("RNPackUtils")
|
|
26
|
+
Log.i(TAG, "Successfully loaded RNPackUtils C++ library!")
|
|
27
27
|
didLoad = true
|
|
28
28
|
} catch (e: Error) {
|
|
29
|
-
Log.e(TAG, "Failed to load
|
|
29
|
+
Log.e(TAG, "Failed to load RNPackUtils C++ library! Is it properly installed and linked? " +
|
|
30
30
|
"Is the name correct? (see `CMakeLists.txt`, at `add_library(...)`)", e)
|
|
31
31
|
throw e
|
|
32
32
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#
|
|
2
|
-
#
|
|
2
|
+
# RNPackUtils+autolinking.rb
|
|
3
3
|
# This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
# https://github.com/mrousavy/nitro
|
|
5
5
|
# Copyright © 2025 Marc Rousavy @ Margelo
|
|
@@ -14,13 +14,13 @@
|
|
|
14
14
|
# # ...
|
|
15
15
|
#
|
|
16
16
|
# # Add all files generated by Nitrogen
|
|
17
|
-
# load 'nitrogen/generated/ios/
|
|
17
|
+
# load 'nitrogen/generated/ios/RNPackUtils+autolinking.rb'
|
|
18
18
|
# add_nitrogen_files(spec)
|
|
19
19
|
# end
|
|
20
20
|
# ```
|
|
21
21
|
|
|
22
22
|
def add_nitrogen_files(spec)
|
|
23
|
-
Pod::UI.puts "[NitroModules] 🔥
|
|
23
|
+
Pod::UI.puts "[NitroModules] 🔥 RNPackUtils is boosted by nitro!"
|
|
24
24
|
|
|
25
25
|
spec.dependency "NitroModules"
|
|
26
26
|
|
|
@@ -37,7 +37,7 @@ def add_nitrogen_files(spec)
|
|
|
37
37
|
# Generated specs
|
|
38
38
|
"nitrogen/generated/shared/**/*.{h,hpp}",
|
|
39
39
|
# Swift to C++ bridging helpers
|
|
40
|
-
"nitrogen/generated/ios/
|
|
40
|
+
"nitrogen/generated/ios/RNPackUtils-Swift-Cxx-Bridge.hpp"
|
|
41
41
|
]
|
|
42
42
|
|
|
43
43
|
current_private_header_files = Array(spec.attributes_hash['private_header_files'])
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// RNPackUtils-Swift-Cxx-Bridge.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
|
+
#include "RNPackUtils-Swift-Cxx-Bridge.hpp"
|
|
9
|
+
|
|
10
|
+
// Include C++ implementation defined types
|
|
11
|
+
#include "HybridRNPackUtilsSpecSwift.hpp"
|
|
12
|
+
#include "RNPackUtils-Swift-Cxx-Umbrella.hpp"
|
|
13
|
+
#include <NitroModules/NitroDefines.hpp>
|
|
14
|
+
|
|
15
|
+
namespace margelo::nitro::RNPackUtils::bridge::swift {
|
|
16
|
+
|
|
17
|
+
// pragma MARK: std::shared_ptr<HybridRNPackUtilsSpec>
|
|
18
|
+
std::shared_ptr<HybridRNPackUtilsSpec> create_std__shared_ptr_HybridRNPackUtilsSpec_(void* NON_NULL swiftUnsafePointer) noexcept {
|
|
19
|
+
RNPackUtils::HybridRNPackUtilsSpec_cxx swiftPart = RNPackUtils::HybridRNPackUtilsSpec_cxx::fromUnsafe(swiftUnsafePointer);
|
|
20
|
+
return std::make_shared<margelo::nitro::RNPackUtils::HybridRNPackUtilsSpecSwift>(swiftPart);
|
|
21
|
+
}
|
|
22
|
+
void* NON_NULL get_std__shared_ptr_HybridRNPackUtilsSpec_(std__shared_ptr_HybridRNPackUtilsSpec_ cppType) {
|
|
23
|
+
std::shared_ptr<margelo::nitro::RNPackUtils::HybridRNPackUtilsSpecSwift> swiftWrapper = std::dynamic_pointer_cast<margelo::nitro::RNPackUtils::HybridRNPackUtilsSpecSwift>(cppType);
|
|
24
|
+
#ifdef NITRO_DEBUG
|
|
25
|
+
if (swiftWrapper == nullptr) [[unlikely]] {
|
|
26
|
+
throw std::runtime_error("Class \"HybridRNPackUtilsSpec\" is not implemented in Swift!");
|
|
27
|
+
}
|
|
28
|
+
#endif
|
|
29
|
+
RNPackUtils::HybridRNPackUtilsSpec_cxx& swiftPart = swiftWrapper->getSwiftPart();
|
|
30
|
+
return swiftPart.toUnsafe();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
} // namespace margelo::nitro::RNPackUtils::bridge::swift
|