Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,11 @@ import com.facebook.react.uimanager.ViewManager

class BoltReactNativeSdkPackage : BaseReactPackage() {
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
return if (name == BoltReactNativeSdkModule.NAME) {
BoltReactNativeSdkModule(reactContext)
} else {
null
return when (name) {
BoltReactNativeSdkModule.NAME -> BoltReactNativeSdkModule(reactContext)
GooglePayModule.NAME -> GooglePayModule(reactContext)
NetworkingModule.NAME -> NetworkingModule(reactContext)
else -> null
}
}

Expand All @@ -25,6 +26,22 @@ class BoltReactNativeSdkPackage : BaseReactPackage() {
needsEagerInit = false,
isCxxModule = false,
isTurboModule = true
),
GooglePayModule.NAME to ReactModuleInfo(
name = GooglePayModule.NAME,
className = GooglePayModule.NAME,
canOverrideExistingModule = false,
needsEagerInit = false,
isCxxModule = false,
isTurboModule = false
),
NetworkingModule.NAME to ReactModuleInfo(
name = NetworkingModule.NAME,
className = NetworkingModule.NAME,
canOverrideExistingModule = false,
needsEagerInit = false,
isCxxModule = false,
isTurboModule = false
)
)
}
Expand Down
126 changes: 63 additions & 63 deletions example/ios/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PODS:
- BoltReactNativeSdk (0.5.4):
- BoltReactNativeSdk (0.5.5):
- hermes-engine
- RCTRequired
- RCTTypeSafety
Expand Down Expand Up @@ -2063,82 +2063,82 @@ EXTERNAL SOURCES:
:path: "../../node_modules/react-native/ReactCommon/yoga"

SPEC CHECKSUMS:
BoltReactNativeSdk: 864da565871dba0ae2e0844e77cd58297c068af7
BoltReactNativeSdk: 7c0e547a3dcd436f8fb53cfb03b3181b6a639506
FBLazyVector: c12d2108050e27952983d565a232f6f7b1ad5e69
hermes-engine: f4f579ea06f83a03800993f3f445a5025f78f893
RCTDeprecation: 3280799c14232a56e5a44f92981a8ee33bc69fd9
RCTRequired: 9854a51b0f65ccf43ea0b744df4d70fce339db32
RCTSwiftUI: 96986e49a4fdc2c2103929dee2641e1b57edf33d
RCTSwiftUIWrapper: e3eed9f50cad9f171e4487e2ff18a9caa4d46bfb
RCTSwiftUIWrapper: 55e482219b78c2c652123fea845a6b1716fa97e7
RCTTypeSafety: e9ba155357c236764934054ee2d393fd76e7b36b
React: 7ef36630d07638043a134a7dd2ec17e0be10fc3c
React-callinvoker: af4e8fe1d60ab63dd8d74c2a68988064c2848954
React-Core: c0fb1df65eb0ed7a8633841831f05f93c3eb3aff
React-Core: c609976c034ba9556bef9850a571a71bd458d73f
React-Core-prebuilt: 928f6ec2b2d866ee5c4029942c412ae36485ad98
React-CoreModules: 7dfe7962360355f1547c85ab52e1fc4b57f17127
React-cxxreact: 9e9c7f1710bc58abebf924813b5e825b99adb8e5
React-CoreModules: 0ea85f3b3f4b8cbfb3afacd2ed85458fb878517a
React-cxxreact: 6752bab77c0599d6136e2b8b9b64b4a7d316d401
React-debug: 38389b86e3570558ec73dd4cbc0cd2f2eec47a51
React-defaultsnativemodule: a326ccbb71369762888a6be09a23fa5bce2bdb6a
React-domnativemodule: 8394c7b535d1b484b1eab677e00b086507cd906a
React-Fabric: 682dafd75455062590cd1f63c79199cf72ff27d9
React-FabricComponents: 11b13a53213cd1aaca3bf7f4c61c669617b26b5f
React-FabricImage: 706c27e82f77b77db96ab3a19009ddb5e777967f
React-featureflags: c2898fb2f93ab92cfd9f294b4531d2884e7cfc7e
React-featureflagsnativemodule: 1edf93adfa12ba4f15d07079c1675b55ff579477
React-graphics: 57d042385bfef5104aafeab189f43b8d6145013b
React-hermes: 96d2d439f0477a93fe8e801664088eccc07a16ff
React-idlecallbacksnativemodule: ab4dc6c3657f434f82c568ca83c963791e783f6a
React-ImageManager: f39057f375cf3f98255fb751df3865a91f2755c1
React-intersectionobservernativemodule: 54ce679b183149fd9566a79211f2f54dc0a6fd1f
React-jserrorhandler: 2e92acff04ac815c6066c7cc08ea302610045db1
React-jsi: dc97891e1ee7fa17cad01cd150c50f21e04bd51b
React-jsiexecutor: e1543ba5a8be761331c8158d91211079cc5b73a2
React-jsinspector: 7a1d86673986db6666cacc8b95e92125397ab6ea
React-jsinspectorcdp: 38a0c116fd4965abf29261721db9b903923cb723
React-jsinspectornetwork: cfeace6b40f13ba82980ba7cb730847a35675c7f
React-jsinspectortracing: 5507411117e51751dba0543cdee7916eb0388693
React-jsitooling: e3a2df9043ab7b9ad11bbbfe4b33eb6762514f05
React-jsitracing: ad179fab1c1e08a57fcdb840b7021b453f7a2b6d
React-logger: e40cc24a61d3a54c09bf4e83d5556b3b9d4c90aa
React-Mapbuffer: 53f28c81b84767a0b2fb4c0109dd7e4571226f76
React-microtasksnativemodule: ddaf25a8d69f694bc880fb6055e34d79f1d50138
react-native-webview: a0107c12442bf2ac454d509f615daef00f34df47
React-NativeModulesApple: 14a8919451154ede904f2bca84b27703a09028ba
React-networking: 46c0037f9202c1919493b78662a47cbe13022fdd
React-defaultsnativemodule: c1c25636322de460083d9291bc813067aa706552
React-domnativemodule: d1734e540ea9344ec1a024de5704d39063935049
React-Fabric: 48a292ed21257b0d9639e3c4cc49047a2c8a7f8f
React-FabricComponents: 932d81e7e2de71c25a63c1832f76f123e1a091f3
React-FabricImage: adbb7b606e96add2785646a1c81e285367f0d249
React-featureflags: 2a6f0a8f885559e1192e8bb0c173de638529df20
React-featureflagsnativemodule: 255521af601b622048ec50b5dbf104cc886762a8
React-graphics: ddca902e78ca64a824c31d206b083a3f207d6d06
React-hermes: b5df3aebd45da232c6e8c9d925260e9d64122d03
React-idlecallbacksnativemodule: fb05344181eeb52c5fd54597599b6e71b05dcf21
React-ImageManager: 4861de430733ee8cf9fd06acb9fdf65d8d551f9d
React-intersectionobservernativemodule: 6699faee489b3439a4961270e880d814690f4eea
React-jserrorhandler: a3a9796a152ddd2712403d7cd7903624003db4b6
React-jsi: 2c0a2219dacbdf776c5c911fae6f8923813d1ff2
React-jsiexecutor: 0c4082df04719e747ae6d728e4e238ef1de16457
React-jsinspector: f4d6e379303d120888cd1e15e3e7e1b2b4d41b37
React-jsinspectorcdp: 0147c000c3a9e05082d974fdb05f8fc0c470787d
React-jsinspectornetwork: d5e1b2d72d1a205aee8141906735bd85c4cb9a7c
React-jsinspectortracing: 8d52e3fcb00cf6c4fcdeac0ec7b10bfe819693e1
React-jsitooling: 455d72275baff87bd39a8a1b315e0bd8b13fa8e9
React-jsitracing: 5a15b0ecc476e47533236dbbf2b6e670d6d8aa41
React-logger: 9e51e01455f15cb3ef87a09a1ec773cdb22d56c1
React-Mapbuffer: 92b99e450e8ff598b27d6e4db3a75e04fd45e9a9
React-microtasksnativemodule: 2fe0f2bd2840dedbd66c0ac249c64f977f39cc18
react-native-webview: 3e303e80cadb5f17118c8c1502aa398e9287e415
React-NativeModulesApple: 44a9474594566cd03659f92e38f42599c6b9dee4
React-networking: db73d91466cb134fcbdaaa579fb2de14e2c2ea01
React-oscompat: b924b8609d06899f00ab1aa813b0cde9c5e12771
React-perflogger: c3bb13800f795287e73a8c1991a2b8e5008ea3d0
React-performancecdpmetrics: 851d2b18ba3d3d8cfb309bf468e5e93e46601122
React-performancetimeline: 0a960aee139987151d2976813c47bef17dea3d3a
React-perflogger: 8afbf1c6c0e6d8f869cb2917492db19dc212312d
React-performancecdpmetrics: 9034e89102afda66d6c6fcb43233c24f3927fa78
React-performancetimeline: 7860aafe1782694fa6b5ce7bae0dfd199fe049f7
React-RCTActionSheet: 21fbcd85f552d5d6575453d2e8c149535d9c6f46
React-RCTAnimation: 2c8cb9508864bb15e9f8fe86242d8918f05278e9
React-RCTAppDelegate: 1d52e34d25f5f1bed5c07e0717c40dc572a80010
React-RCTBlob: bc487ebb909c23920af75c842b1405edba61b8ea
React-RCTFabric: 7de87d2635b95171a06d9fffd907c4ac17823ef2
React-RCTFBReactNativeSpec: b3936c48bf5262dc57ba28f8c8208cd1b570964c
React-RCTImage: a591fc9f08dc6c7b63b9fb34f51a7c1f32bd9595
React-RCTLinking: cb9553b27de77a63beb4e3ce95f82aa8f3bed602
React-RCTNetwork: 576ba853aef49628238b4840e969217b826af156
React-RCTRuntime: e0aa5ea63ba4e06c9028da5ae8b05cf72bc8a1ea
React-RCTSettings: 8caa15edae452a5c4cd064569d5357a2bee8de15
React-RCTText: af9a1c8d7c135c4d3ffa2de253ca95544234a521
React-RCTVibration: c1dd36479ca1c1a59d16db81e5a994e9be06a68b
React-RCTAnimation: e8840d9f68bbbcf766909d738b021d2c0df1be36
React-RCTAppDelegate: 0a491adac54f255d549656cc016c61102aaddfb7
React-RCTBlob: f3eceaf519cf0f7f159bb653b3431b26c956400f
React-RCTFabric: 6278c2bc45c4b5685f7d7027d86343048b3d906b
React-RCTFBReactNativeSpec: ba5c77a9658d3acb7cbc5653162661df1d63ed25
React-RCTImage: 928e5125c8e5407f3c6c62d51593eb8000fb2a36
React-RCTLinking: 80c236e6e837d297750aac8da269fab24d4e0fc1
React-RCTNetwork: 9554720800c31ec6608ed8047a314252e40008ac
React-RCTRuntime: d37d53534c207677f86df9b9cb30b7dde8857327
React-RCTSettings: 52a066ceedda0253d75755909ee14a11972b16dc
React-RCTText: dd2964c3f003549ef3ce9ac5b7966d1c79dc5875
React-RCTVibration: dc9e7490a0e270b1ec905c13714434c809a276fa
React-rendererconsistency: 32e7b98c05a3f237ecb524add21190036962e868
React-renderercss: d65e9232e5033cd9c07b13fa429ce925b8143bd7
React-rendererdebug: 25c6151116b7ea1f78af72afc64f2066ad29a61d
React-RuntimeApple: e036929884cc0d8088fe8a5a2d210e068d35e608
React-RuntimeCore: 0c8a252051fe6b627f5147ac5b6a5298951472a8
React-runtimeexecutor: 0765dddf1842e23e87ad13b2cb1bb72bb9005aeb
React-RuntimeHermes: 44cd4fdc4afa44fa782ddce8600e3cc90215fbc5
React-runtimescheduler: 1966ff307933cdbafd480cb3aa1fdc90d9a6d539
React-timing: 94c4a44dd2d10e4fc51fd42654fd5f67d68247ad
React-utils: 172d467a9c037d5ed51ee6eeaa6ad30ca1ebe1b1
React-webperformancenativemodule: 9e3c5032dd30bf6418b741ab54ad26187b1c94c3
ReactAppDependencyProvider: 625d2f6d9d5ef01acc9dfe2b5385504bbffd2ad0
ReactCodegen: 2c233c1ca1755450b9811832826a8c13ef17638f
ReactCommon: cc0e38600f82487c5fe5d29150abb6fa9d981986
React-renderercss: b5f27fdea2162033c44af42bd9da7eefb08603a6
React-rendererdebug: 09e9a23444c9319c965d7f981f8f2d57d2f88428
React-RuntimeApple: 7c2c6aff02da8f1d89c211baa0a98bb76b01dfed
React-RuntimeCore: 4b3688f2ddcaf644f8e645ec45b4d77ec9cf58f9
React-runtimeexecutor: 8540253f799008af0485a9ec417b001e73a9dede
React-RuntimeHermes: abc8b8b62dec3d3f5d685d586dd4b2381fc36ea8
React-runtimescheduler: a64d5a112f8f8bc58af6f3e3382452f6f91002c6
React-timing: 1f40175beb4b55fa3f6de9f947cd7ed9275deb25
React-utils: e157d1837edbb842b9c0201a6a144a4d3d395246
React-webperformancenativemodule: 295dde5803df595cd9a266f44e4371bbf12a600e
ReactAppDependencyProvider: 6b7e8d8d974ed13fb66698d82c30c5e70c1f7d3a
ReactCodegen: 94936a2ae84049f797b4151aa12159ff64bc1c4f
ReactCommon: 92b53b0bd7f7d86154dc9f512c1ea5dee717cc72
ReactNativeDependencies: b8b12fb3347b90af7b2c3e42cd477e08639b9221
Yoga: 0a3b1e85da3524bdc3e0161818c8881ad363f97b
Yoga: 772166513f9cd2d61a6251d0dacbbfaa5b537479

PODFILE CHECKSUM: 78bd2dac40336e9182d79665ac99612bed756d64

COCOAPODS: 1.15.2
COCOAPODS: 1.16.2
11 changes: 11 additions & 0 deletions ios/ApplePayModule.mm
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#import <React/RCTBridgeModule.h>

@interface RCT_EXTERN_MODULE(BoltApplePay, NSObject)
RCT_EXTERN_METHOD(canMakePayments:(RCTPromiseResolveBlock)resolve
reject:(RCTPromiseRejectBlock)reject)
RCT_EXTERN_METHOD(requestPayment:(NSString *)configJson
publishableKey:(NSString *)publishableKey
baseUrl:(NSString *)baseUrl
resolve:(RCTPromiseResolveBlock)resolve
reject:(RCTPromiseRejectBlock)reject)
@end
10 changes: 10 additions & 0 deletions ios/NetworkingModule.mm
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#import <React/RCTBridgeModule.h>

@interface RCT_EXTERN_MODULE(BoltNetworking, NSObject)
RCT_EXTERN_METHOD(request:(NSString *)method
url:(NSString *)url
headers:(NSString *)headers
body:(NSString *)body
resolve:(RCTPromiseResolveBlock)resolve
reject:(RCTPromiseRejectBlock)reject)
@end
5 changes: 5 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,11 @@
"jsSrcsDir": "src",
"android": {
"javaPackageName": "com.boltreactnativesdk"
},
"ios": {
"componentProvider": {
"BoltApplePayButton": "ApplePayButtonComponentView"
}
}
},
"dependencies": {
Expand Down
4 changes: 4 additions & 0 deletions src/native/NativeApplePayButton.android.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// Android stub — BoltApplePayButton is not registered on Android (iOS only).
// Metro resolves this file on Android instead of NativeApplePayButton.ts,
// preventing codegenNativeComponent('BoltApplePayButton') from being called.
export default null as any;
4 changes: 4 additions & 0 deletions src/native/NativeGooglePayButton.ios.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// iOS stub — BoltGooglePayButton is not registered on iOS (Android only).
// Metro resolves this file on iOS instead of NativeGooglePayButton.ts,
// preventing codegenNativeComponent('BoltGooglePayButton') from being called.
export default null as any;
Loading