cm-sdk-react-native-v3 3.6.0 → 3.6.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/android/src/main/java/com/cmsdkreactnativev3/CmSdkReactNativeV3Package.kt +6 -6
- package/ios/CmSdkReactNativeV3-Bridging-Header.h +4 -0
- package/ios/CmSdkReactNativeV3.mm +37 -32
- package/ios/CmSdkReactNativeV3.swift +31 -27
- package/lib/commonjs/index.js +24 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +21 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +2 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +2 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/index.tsx +23 -0
|
@@ -20,12 +20,12 @@ class CmSdkReactNativeV3Package : TurboReactPackage() {
|
|
|
20
20
|
return ReactModuleInfoProvider {
|
|
21
21
|
mapOf(
|
|
22
22
|
CmSdkReactNativeV3Module.NAME to ReactModuleInfo(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
CmSdkReactNativeV3Module.NAME,
|
|
24
|
+
CmSdkReactNativeV3Module.NAME,
|
|
25
|
+
false,
|
|
26
|
+
false,
|
|
27
|
+
false,
|
|
28
|
+
true
|
|
29
29
|
)
|
|
30
30
|
)
|
|
31
31
|
}
|
|
@@ -1,80 +1,85 @@
|
|
|
1
1
|
#import <React/RCTBridgeModule.h>
|
|
2
2
|
#import <React/RCTEventEmitter.h>
|
|
3
3
|
|
|
4
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
5
|
+
#import <CmSdkReactNativeV3Spec/CmSdkReactNativeV3Spec.h>
|
|
6
|
+
#endif
|
|
7
|
+
|
|
8
|
+
// Use RCT_EXTERN_MODULE for both architectures when using Swift
|
|
4
9
|
@interface RCT_EXTERN_MODULE(CmSdkReactNativeV3, RCTEventEmitter)
|
|
5
10
|
|
|
6
11
|
// Core methods
|
|
7
12
|
RCT_EXTERN_METHOD(setUrlConfig:(NSDictionary *)config
|
|
8
|
-
|
|
9
|
-
|
|
13
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
14
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
10
15
|
|
|
11
16
|
RCT_EXTERN_METHOD(setWebViewConfig:(NSDictionary *)config
|
|
12
|
-
|
|
13
|
-
|
|
17
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
18
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
14
19
|
|
|
15
20
|
RCT_EXTERN_METHOD(setATTStatus:(NSInteger)status
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
22
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
18
23
|
|
|
19
|
-
//
|
|
24
|
+
// Main methods
|
|
20
25
|
RCT_EXTERN_METHOD(checkAndOpen:(BOOL)jumpToSettings
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
27
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
23
28
|
|
|
24
29
|
RCT_EXTERN_METHOD(forceOpen:(BOOL)jumpToSettings
|
|
25
|
-
|
|
26
|
-
|
|
30
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
31
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
27
32
|
|
|
28
33
|
RCT_EXTERN_METHOD(getUserStatus:(RCTPromiseResolveBlock)resolve
|
|
29
|
-
|
|
34
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
30
35
|
|
|
31
36
|
RCT_EXTERN_METHOD(getStatusForPurpose:(NSString *)purposeId
|
|
32
|
-
|
|
33
|
-
|
|
37
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
38
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
34
39
|
|
|
35
40
|
RCT_EXTERN_METHOD(getStatusForVendor:(NSString *)vendorId
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
42
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
38
43
|
|
|
39
44
|
RCT_EXTERN_METHOD(getGoogleConsentModeStatus:(RCTPromiseResolveBlock)resolve
|
|
40
|
-
|
|
45
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
41
46
|
|
|
42
47
|
RCT_EXTERN_METHOD(exportCMPInfo:(RCTPromiseResolveBlock)resolve
|
|
43
|
-
|
|
48
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
44
49
|
|
|
45
50
|
// Consent modification methods
|
|
46
51
|
RCT_EXTERN_METHOD(acceptVendors:(NSArray *)vendors
|
|
47
|
-
|
|
48
|
-
|
|
52
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
53
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
49
54
|
|
|
50
55
|
RCT_EXTERN_METHOD(rejectVendors:(NSArray *)vendors
|
|
51
|
-
|
|
52
|
-
|
|
56
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
57
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
53
58
|
|
|
54
59
|
RCT_EXTERN_METHOD(acceptPurposes:(NSArray *)purposes
|
|
55
60
|
updatePurpose:(BOOL)updatePurpose
|
|
56
|
-
|
|
57
|
-
|
|
61
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
62
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
58
63
|
|
|
59
64
|
RCT_EXTERN_METHOD(rejectPurposes:(NSArray *)purposes
|
|
60
65
|
updateVendor:(BOOL)updateVendor
|
|
61
|
-
|
|
62
|
-
|
|
66
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
67
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
63
68
|
|
|
64
69
|
RCT_EXTERN_METHOD(rejectAll:(RCTPromiseResolveBlock)resolve
|
|
65
|
-
|
|
70
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
66
71
|
|
|
67
72
|
RCT_EXTERN_METHOD(acceptAll:(RCTPromiseResolveBlock)resolve
|
|
68
|
-
|
|
73
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
69
74
|
|
|
70
75
|
RCT_EXTERN_METHOD(importCMPInfo:(NSString *)cmpString
|
|
71
|
-
|
|
72
|
-
|
|
76
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
77
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
73
78
|
|
|
74
79
|
RCT_EXTERN_METHOD(resetConsentManagementData:(RCTPromiseResolveBlock)resolve
|
|
75
|
-
|
|
80
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
76
81
|
|
|
77
|
-
// Event emitter support methods
|
|
82
|
+
// Event emitter support methods
|
|
78
83
|
RCT_EXTERN_METHOD(addListener:(NSString *)eventName)
|
|
79
84
|
RCT_EXTERN_METHOD(removeListeners:(double)count)
|
|
80
85
|
|
|
@@ -48,7 +48,7 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
override func supportedEvents() -> [String]! {
|
|
51
|
-
return ["didReceiveConsent", "didShowConsentLayer", "didCloseConsentLayer", "didReceiveError", "onClickLink"]
|
|
51
|
+
return ["didReceiveConsent", "didShowConsentLayer", "didCloseConsentLayer", "didReceiveError", "onClickLink", "didChangeATTStatus"]
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
override func startObserving() {
|
|
@@ -91,6 +91,7 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
91
91
|
@objc public func didCloseConsentLayer() {
|
|
92
92
|
if isConsentLayerShown {
|
|
93
93
|
isConsentLayerShown = false
|
|
94
|
+
shouldHandleLinkClicks = false
|
|
94
95
|
sendEventIfListening(name: "didCloseConsentLayer", body: nil)
|
|
95
96
|
} else {
|
|
96
97
|
print("CmSdkReactNativeV3: Ignoring didCloseConsentLayer - consent layer was not shown")
|
|
@@ -103,7 +104,7 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
103
104
|
|
|
104
105
|
// MARK: - Configuration methods
|
|
105
106
|
|
|
106
|
-
@objc(setWebViewConfig:
|
|
107
|
+
@objc(setWebViewConfig:resolve:reject:)
|
|
107
108
|
func setWebViewConfig(_ config: [String: Any], resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
108
109
|
let uiConfig = ConsentLayerUIConfig(
|
|
109
110
|
position: .fullScreen,
|
|
@@ -118,7 +119,7 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
118
119
|
}
|
|
119
120
|
}
|
|
120
121
|
|
|
121
|
-
@objc(setUrlConfig:
|
|
122
|
+
@objc(setUrlConfig:resolve:reject:)
|
|
122
123
|
func setUrlConfig(_ config: [String: Any], resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
123
124
|
runOnMainThread { [self] in
|
|
124
125
|
do {
|
|
@@ -142,13 +143,13 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
142
143
|
|
|
143
144
|
// MARK: - New methods
|
|
144
145
|
|
|
145
|
-
@objc(setATTStatus:
|
|
146
|
+
@objc(setATTStatus:resolve:reject:)
|
|
146
147
|
func setATTStatus(_ status: NSNumber, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
147
148
|
cmpManager.setATTStatus(status.intValue)
|
|
148
149
|
resolve(nil)
|
|
149
150
|
}
|
|
150
151
|
|
|
151
|
-
@objc(getUserStatus:
|
|
152
|
+
@objc(getUserStatus:reject:)
|
|
152
153
|
func getUserStatus(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
153
154
|
do {
|
|
154
155
|
let status = cmpManager.getUserStatus()
|
|
@@ -166,25 +167,25 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
166
167
|
}
|
|
167
168
|
}
|
|
168
169
|
|
|
169
|
-
@objc(getStatusForPurpose:
|
|
170
|
+
@objc(getStatusForPurpose:resolve:reject:)
|
|
170
171
|
func getStatusForPurpose(_ purposeId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
171
172
|
let status = cmpManager.getStatusForPurpose(id: purposeId)
|
|
172
173
|
resolve(status.rawValue)
|
|
173
174
|
}
|
|
174
175
|
|
|
175
|
-
@objc(getStatusForVendor:
|
|
176
|
+
@objc(getStatusForVendor:resolve:reject:)
|
|
176
177
|
func getStatusForVendor(_ vendorId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
177
178
|
let status = cmpManager.getStatusForVendor(id: vendorId)
|
|
178
179
|
resolve(status.rawValue)
|
|
179
180
|
}
|
|
180
181
|
|
|
181
|
-
@objc(getGoogleConsentModeStatus:
|
|
182
|
+
@objc(getGoogleConsentModeStatus:reject:)
|
|
182
183
|
func getGoogleConsentModeStatus(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
183
184
|
let status = cmpManager.getGoogleConsentModeStatus()
|
|
184
185
|
resolve(status)
|
|
185
186
|
}
|
|
186
187
|
|
|
187
|
-
@objc(checkAndOpen:
|
|
188
|
+
@objc(checkAndOpen:resolve:reject:)
|
|
188
189
|
func checkAndOpen(_ jumpToSettings: Bool, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
189
190
|
cmpManager.checkAndOpen(jumpToSettings: jumpToSettings) { error in
|
|
190
191
|
if let error = error {
|
|
@@ -195,7 +196,7 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
195
196
|
}
|
|
196
197
|
}
|
|
197
198
|
|
|
198
|
-
@objc(forceOpen:
|
|
199
|
+
@objc(forceOpen:resolve:reject:)
|
|
199
200
|
func forceOpen(_ jumpToSettings: Bool, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
200
201
|
cmpManager.forceOpen(jumpToSettings: jumpToSettings) { error in
|
|
201
202
|
if let error = error {
|
|
@@ -206,41 +207,41 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
206
207
|
}
|
|
207
208
|
}
|
|
208
209
|
|
|
209
|
-
@objc(exportCMPInfo:
|
|
210
|
+
@objc(exportCMPInfo:reject:)
|
|
210
211
|
func exportCMPInfo(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
211
212
|
let info = self.cmpManager.exportCMPInfo()
|
|
212
213
|
resolve(info)
|
|
213
214
|
}
|
|
214
215
|
|
|
215
|
-
@objc(acceptVendors:
|
|
216
|
+
@objc(acceptVendors:resolve:reject:)
|
|
216
217
|
func acceptVendors(_ vendors: [String], resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
217
218
|
self.cmpManager.acceptVendors(vendors) { success in
|
|
218
219
|
resolve(success)
|
|
219
220
|
}
|
|
220
221
|
}
|
|
221
222
|
|
|
222
|
-
@objc(rejectVendors:
|
|
223
|
+
@objc(rejectVendors:resolve:reject:)
|
|
223
224
|
func rejectVendors(_ vendors: [String], resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
224
225
|
self.cmpManager.rejectVendors(vendors) { success in
|
|
225
226
|
resolve(success)
|
|
226
227
|
}
|
|
227
228
|
}
|
|
228
229
|
|
|
229
|
-
@objc(acceptPurposes:updatePurpose:
|
|
230
|
+
@objc(acceptPurposes:updatePurpose:resolve:reject:)
|
|
230
231
|
func acceptPurposes(_ purposes: [String], updatePurpose: Bool, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
231
232
|
self.cmpManager.acceptPurposes(purposes, updatePurpose: updatePurpose) { success in
|
|
232
233
|
resolve(success)
|
|
233
234
|
}
|
|
234
235
|
}
|
|
235
236
|
|
|
236
|
-
@objc(rejectPurposes:updateVendor:
|
|
237
|
+
@objc(rejectPurposes:updateVendor:resolve:reject:)
|
|
237
238
|
func rejectPurposes(_ purposes: [String], updateVendor: Bool, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
238
239
|
self.cmpManager.rejectPurposes(purposes, updateVendor: updateVendor) { success in
|
|
239
240
|
resolve(success)
|
|
240
241
|
}
|
|
241
242
|
}
|
|
242
243
|
|
|
243
|
-
@objc(rejectAll:
|
|
244
|
+
@objc(rejectAll:reject:)
|
|
244
245
|
func rejectAll(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
245
246
|
self.cmpManager.rejectAll { error in
|
|
246
247
|
if let error = error {
|
|
@@ -251,7 +252,7 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
251
252
|
}
|
|
252
253
|
}
|
|
253
254
|
|
|
254
|
-
@objc(acceptAll:
|
|
255
|
+
@objc(acceptAll:reject:)
|
|
255
256
|
func acceptAll(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
256
257
|
self.cmpManager.acceptAll { error in
|
|
257
258
|
if let error = error {
|
|
@@ -262,7 +263,7 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
262
263
|
}
|
|
263
264
|
}
|
|
264
265
|
|
|
265
|
-
@objc(importCMPInfo:
|
|
266
|
+
@objc(importCMPInfo:resolve:reject:)
|
|
266
267
|
func importCMPInfo(_ cmpString: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
267
268
|
self.cmpManager.importCMPInfo(cmpString) { error in
|
|
268
269
|
if let error = error {
|
|
@@ -273,17 +274,20 @@ class CmSdkReactNativeV3: RCTEventEmitter, CMPManagerDelegate {
|
|
|
273
274
|
}
|
|
274
275
|
}
|
|
275
276
|
|
|
276
|
-
@objc(resetConsentManagementData:
|
|
277
|
+
@objc(resetConsentManagementData:reject:)
|
|
277
278
|
func resetConsentManagementData(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
278
279
|
self.cmpManager.resetConsentManagementData(completion: { success in resolve(success)})
|
|
279
|
-
resolve(nil)
|
|
280
280
|
}
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
#if RCT_NEW_ARCH_ENABLED
|
|
284
|
-
import CmSdkReactNativeV3Spec
|
|
285
281
|
|
|
286
|
-
|
|
287
|
-
|
|
282
|
+
// MARK: - Event emitter methods (required for TurboModule)
|
|
283
|
+
|
|
284
|
+
@objc(addListener:)
|
|
285
|
+
override func addListener(_ eventName: String) {
|
|
286
|
+
super.addListener(eventName)
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
@objc(removeListeners:)
|
|
290
|
+
override func removeListeners(_ count: Double) {
|
|
291
|
+
super.removeListeners(Double(Int(count)))
|
|
292
|
+
}
|
|
288
293
|
}
|
|
289
|
-
#endif
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.setWebViewConfig = exports.setUrlConfig = exports.setATTStatus = exports.resetConsentManagementData = exports.rejectVendors = exports.rejectPurposes = exports.rejectAll = exports.importCMPInfo = exports.getUserStatus = exports.getStatusForVendor = exports.getStatusForPurpose = exports.getGoogleConsentModeStatus = exports.forceOpen = exports.exportCMPInfo = exports.default = exports.checkAndOpen = exports.addShowConsentLayerListener = exports.addErrorListener = exports.addConsentListener = exports.addCloseConsentLayerListener = exports.addClickLinkListener = exports.addATTStatusChangeListener = exports.acceptVendors = exports.acceptPurposes = exports.acceptAll = void 0;
|
|
6
|
+
exports.setWebViewConfig = exports.setUrlConfig = exports.setATTStatus = exports.resetConsentManagementData = exports.rejectVendors = exports.rejectPurposes = exports.rejectAll = exports.isTurboModuleEnabled = exports.isNewArchitectureEnabled = exports.importCMPInfo = exports.getUserStatus = exports.getStatusForVendor = exports.getStatusForPurpose = exports.getGoogleConsentModeStatus = exports.forceOpen = exports.exportCMPInfo = exports.default = exports.checkAndOpen = exports.addShowConsentLayerListener = exports.addErrorListener = exports.addConsentListener = exports.addCloseConsentLayerListener = exports.addClickLinkListener = exports.addATTStatusChangeListener = exports.acceptVendors = exports.acceptPurposes = exports.acceptAll = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _NativeCmSdkReactNativeV = _interopRequireDefault(require("./NativeCmSdkReactNativeV3.js"));
|
|
9
9
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -18,6 +18,7 @@ const CmSdkReactNativeV3 = _NativeCmSdkReactNativeV.default ?? (_reactNative.Nat
|
|
|
18
18
|
throw new Error(LINKING_ERROR);
|
|
19
19
|
}
|
|
20
20
|
}));
|
|
21
|
+
const isTurboModuleEnabled = exports.isTurboModuleEnabled = _NativeCmSdkReactNativeV.default != null;
|
|
21
22
|
const eventEmitter = new _reactNative.NativeEventEmitter(CmSdkReactNativeV3);
|
|
22
23
|
const addConsentListener = callback => {
|
|
23
24
|
return eventEmitter.addListener('didReceiveConsent', event => {
|
|
@@ -129,7 +130,28 @@ const acceptAll = () => {
|
|
|
129
130
|
return CmSdkReactNativeV3.acceptAll();
|
|
130
131
|
};
|
|
131
132
|
|
|
132
|
-
//
|
|
133
|
+
// Helper function to check if New Architecture is enabled
|
|
133
134
|
exports.acceptAll = acceptAll;
|
|
135
|
+
const isNewArchitectureEnabled = () => {
|
|
136
|
+
// Check multiple indicators for New Architecture
|
|
137
|
+
// 1. Check if our module was loaded via TurboModuleRegistry
|
|
138
|
+
if (_NativeCmSdkReactNativeV.default != null) {
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// 2. Check for bridgeless mode (official RN flag)
|
|
143
|
+
if (global.RN$Bridgeless === true) {
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// 3. Check for TurboModule interop flag
|
|
148
|
+
if (global.RN$TurboInterop === true) {
|
|
149
|
+
return true;
|
|
150
|
+
}
|
|
151
|
+
return false;
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
// Re-export types for consumer convenience
|
|
155
|
+
exports.isNewArchitectureEnabled = isNewArchitectureEnabled;
|
|
134
156
|
var _default = exports.default = CmSdkReactNativeV3;
|
|
135
157
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_NativeCmSdkReactNativeV","_interopRequireDefault","e","__esModule","default","LINKING_ERROR","Platform","select","ios","CmSdkReactNativeV3","NativeCmSdkReactNativeV3","NativeModules","Proxy","get","Error","eventEmitter","NativeEventEmitter","addConsentListener","callback","addListener","event","consent","jsonObject","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_NativeCmSdkReactNativeV","_interopRequireDefault","e","__esModule","default","LINKING_ERROR","Platform","select","ios","CmSdkReactNativeV3","NativeCmSdkReactNativeV3","NativeModules","Proxy","get","Error","isTurboModuleEnabled","exports","eventEmitter","NativeEventEmitter","addConsentListener","callback","addListener","event","consent","jsonObject","addShowConsentLayerListener","addCloseConsentLayerListener","addErrorListener","error","addClickLinkListener","url","addATTStatusChangeListener","setUrlConfig","config","setWebViewConfig","setATTStatus","status","checkAndOpen","jumpToSettings","forceOpen","getUserStatus","getStatusForPurpose","purposeId","getStatusForVendor","vendorId","getGoogleConsentModeStatus","exportCMPInfo","importCMPInfo","cmpString","resetConsentManagementData","acceptVendors","vendors","rejectVendors","acceptPurposes","purposes","updatePurpose","rejectPurposes","updateVendor","rejectAll","acceptAll","isNewArchitectureEnabled","global","RN$Bridgeless","RN$TurboInterop","_default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -13,6 +13,7 @@ const CmSdkReactNativeV3 = NativeCmSdkReactNativeV3 ?? (NativeModules.CmSdkReact
|
|
|
13
13
|
throw new Error(LINKING_ERROR);
|
|
14
14
|
}
|
|
15
15
|
}));
|
|
16
|
+
export const isTurboModuleEnabled = NativeCmSdkReactNativeV3 != null;
|
|
16
17
|
const eventEmitter = new NativeEventEmitter(CmSdkReactNativeV3);
|
|
17
18
|
export const addConsentListener = callback => {
|
|
18
19
|
return eventEmitter.addListener('didReceiveConsent', event => {
|
|
@@ -101,6 +102,26 @@ export const acceptAll = () => {
|
|
|
101
102
|
return CmSdkReactNativeV3.acceptAll();
|
|
102
103
|
};
|
|
103
104
|
|
|
105
|
+
// Helper function to check if New Architecture is enabled
|
|
106
|
+
export const isNewArchitectureEnabled = () => {
|
|
107
|
+
// Check multiple indicators for New Architecture
|
|
108
|
+
// 1. Check if our module was loaded via TurboModuleRegistry
|
|
109
|
+
if (NativeCmSdkReactNativeV3 != null) {
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// 2. Check for bridgeless mode (official RN flag)
|
|
114
|
+
if (global.RN$Bridgeless === true) {
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// 3. Check for TurboModule interop flag
|
|
119
|
+
if (global.RN$TurboInterop === true) {
|
|
120
|
+
return true;
|
|
121
|
+
}
|
|
122
|
+
return false;
|
|
123
|
+
};
|
|
124
|
+
|
|
104
125
|
// Re-export types for consumer convenience
|
|
105
126
|
|
|
106
127
|
export default CmSdkReactNativeV3;
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","NativeEventEmitter","NativeCmSdkReactNativeV3","LINKING_ERROR","select","ios","default","CmSdkReactNativeV3","Proxy","get","Error","eventEmitter","addConsentListener","callback","addListener","event","consent","jsonObject","addShowConsentLayerListener","addCloseConsentLayerListener","addErrorListener","error","addClickLinkListener","url","addATTStatusChangeListener","setUrlConfig","config","setWebViewConfig","setATTStatus","status","checkAndOpen","jumpToSettings","forceOpen","getUserStatus","getStatusForPurpose","purposeId","getStatusForVendor","vendorId","getGoogleConsentModeStatus","exportCMPInfo","importCMPInfo","cmpString","resetConsentManagementData","acceptVendors","vendors","rejectVendors","acceptPurposes","purposes","updatePurpose","rejectPurposes","updateVendor","rejectAll","acceptAll"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,EAAEC,kBAAkB,QAAQ,cAAc;AAC1E,OAAOC,wBAAwB,MASxB,+BAA4B;AAEnC,MAAMC,aAAa,GACjB,8FAA8F,GAC9FH,QAAQ,CAACI,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;;AAEjC;AACA,MAAMC,kBAAkB,GAAGL,wBAAwB,KAAKH,aAAa,CAACQ,kBAAkB,GACpFR,aAAa,CAACQ,kBAAkB,GAChC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC,CAAC;AAEN,MAAMQ,YAAY,GAAG,
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","NativeEventEmitter","NativeCmSdkReactNativeV3","LINKING_ERROR","select","ios","default","CmSdkReactNativeV3","Proxy","get","Error","isTurboModuleEnabled","eventEmitter","addConsentListener","callback","addListener","event","consent","jsonObject","addShowConsentLayerListener","addCloseConsentLayerListener","addErrorListener","error","addClickLinkListener","url","addATTStatusChangeListener","setUrlConfig","config","setWebViewConfig","setATTStatus","status","checkAndOpen","jumpToSettings","forceOpen","getUserStatus","getStatusForPurpose","purposeId","getStatusForVendor","vendorId","getGoogleConsentModeStatus","exportCMPInfo","importCMPInfo","cmpString","resetConsentManagementData","acceptVendors","vendors","rejectVendors","acceptPurposes","purposes","updatePurpose","rejectPurposes","updateVendor","rejectAll","acceptAll","isNewArchitectureEnabled","global","RN$Bridgeless","RN$TurboInterop"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ConsentReceivedEvent, type ErrorEvent, type LinkClickEvent, type ATTStatusChangeEvent, type UrlConfig, type WebViewConfig, type UserStatus, type GoogleConsentModeStatus } from './NativeCmSdkReactNativeV3';
|
|
2
2
|
declare const CmSdkReactNativeV3: import("./NativeCmSdkReactNativeV3").Spec;
|
|
3
|
+
export declare const isTurboModuleEnabled: boolean;
|
|
3
4
|
export declare const addConsentListener: (callback: (consent: string, jsonObject: Object) => void) => import("react-native").EmitterSubscription;
|
|
4
5
|
export declare const addShowConsentLayerListener: (callback: () => void) => import("react-native").EmitterSubscription;
|
|
5
6
|
export declare const addCloseConsentLayerListener: (callback: () => void) => import("react-native").EmitterSubscription;
|
|
@@ -24,6 +25,7 @@ export declare const acceptPurposes: (purposes: string[], updatePurpose: boolean
|
|
|
24
25
|
export declare const rejectPurposes: (purposes: string[], updateVendor: boolean) => Promise<boolean>;
|
|
25
26
|
export declare const rejectAll: () => Promise<boolean>;
|
|
26
27
|
export declare const acceptAll: () => Promise<boolean>;
|
|
28
|
+
export declare const isNewArchitectureEnabled: () => boolean;
|
|
27
29
|
export type { ConsentReceivedEvent, ErrorEvent, LinkClickEvent, ATTStatusChangeEvent, UrlConfig, WebViewConfig, UserStatus, GoogleConsentModeStatus, };
|
|
28
30
|
export default CmSdkReactNativeV3;
|
|
29
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAiC,EAC/B,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC7B,MAAM,4BAA4B,CAAC;AASpC,QAAA,MAAM,kBAAkB,2CASlB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAiC,EAC/B,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC7B,MAAM,4BAA4B,CAAC;AASpC,QAAA,MAAM,kBAAkB,2CASlB,CAAC;AAEP,eAAO,MAAM,oBAAoB,SAAmC,CAAC;AAIrE,eAAO,MAAM,kBAAkB,GAC7B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,+CAKxD,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,UAAU,MAAM,IAAI,+CAE/D,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,UAAU,MAAM,IAAI,+CAEhE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,UAAU,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,+CAIjE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,UAAU,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,+CAInE,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,UAAU,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,+CAEzF,CAAC;AAGF,eAAO,MAAM,YAAY,GAAI,QAAQ,SAAS,KAAG,OAAO,CAAC,IAAI,CAE5D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,aAAa,KAAG,OAAO,CAAC,IAAI,CAEpE,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CAEzD,CAAC;AAGF,eAAO,MAAM,YAAY,GAAI,gBAAgB,OAAO,KAAG,OAAO,CAAC,OAAO,CAErE,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,gBAAgB,OAAO,KAAG,OAAO,CAAC,OAAO,CAElE,CAAC;AAGF,eAAO,MAAM,aAAa,QAAO,OAAO,CAAC,UAAU,CAElD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,WAAW,MAAM,KAAG,OAAO,CAAC,MAAM,CAErE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAEnE,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAAO,OAAO,CAAC,uBAAuB,CAE5E,CAAC;AAEF,eAAO,MAAM,aAAa,QAAO,OAAO,CAAC,MAAM,CAE9C,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,KAAG,OAAO,CAAC,OAAO,CAEhE,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAAO,OAAO,CAAC,OAAO,CAE5D,CAAC;AAGF,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,OAAO,CAEhE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,OAAO,CAEhE,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,EAAE,EAAE,eAAe,OAAO,KAAG,OAAO,CAAC,OAAO,CAE1F,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,EAAE,EAAE,cAAc,OAAO,KAAG,OAAO,CAAC,OAAO,CAEzF,CAAC;AAEF,eAAO,MAAM,SAAS,QAAO,OAAO,CAAC,OAAO,CAE3C,CAAC;AAEF,eAAO,MAAM,SAAS,QAAO,OAAO,CAAC,OAAO,CAE3C,CAAC;AAGF,eAAO,MAAM,wBAAwB,QAAO,OAkB3C,CAAC;AAGF,YAAY,EACV,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,UAAU,EACV,uBAAuB,GACxB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ConsentReceivedEvent, type ErrorEvent, type LinkClickEvent, type ATTStatusChangeEvent, type UrlConfig, type WebViewConfig, type UserStatus, type GoogleConsentModeStatus } from './NativeCmSdkReactNativeV3';
|
|
2
2
|
declare const CmSdkReactNativeV3: import("./NativeCmSdkReactNativeV3").Spec;
|
|
3
|
+
export declare const isTurboModuleEnabled: boolean;
|
|
3
4
|
export declare const addConsentListener: (callback: (consent: string, jsonObject: Object) => void) => import("react-native").EmitterSubscription;
|
|
4
5
|
export declare const addShowConsentLayerListener: (callback: () => void) => import("react-native").EmitterSubscription;
|
|
5
6
|
export declare const addCloseConsentLayerListener: (callback: () => void) => import("react-native").EmitterSubscription;
|
|
@@ -24,6 +25,7 @@ export declare const acceptPurposes: (purposes: string[], updatePurpose: boolean
|
|
|
24
25
|
export declare const rejectPurposes: (purposes: string[], updateVendor: boolean) => Promise<boolean>;
|
|
25
26
|
export declare const rejectAll: () => Promise<boolean>;
|
|
26
27
|
export declare const acceptAll: () => Promise<boolean>;
|
|
28
|
+
export declare const isNewArchitectureEnabled: () => boolean;
|
|
27
29
|
export type { ConsentReceivedEvent, ErrorEvent, LinkClickEvent, ATTStatusChangeEvent, UrlConfig, WebViewConfig, UserStatus, GoogleConsentModeStatus, };
|
|
28
30
|
export default CmSdkReactNativeV3;
|
|
29
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAiC,EAC/B,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC7B,MAAM,4BAA4B,CAAC;AASpC,QAAA,MAAM,kBAAkB,2CASlB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAiC,EAC/B,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC7B,MAAM,4BAA4B,CAAC;AASpC,QAAA,MAAM,kBAAkB,2CASlB,CAAC;AAEP,eAAO,MAAM,oBAAoB,SAAmC,CAAC;AAIrE,eAAO,MAAM,kBAAkB,GAC7B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,+CAKxD,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,UAAU,MAAM,IAAI,+CAE/D,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,UAAU,MAAM,IAAI,+CAEhE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,UAAU,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,+CAIjE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,UAAU,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,+CAInE,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,UAAU,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,+CAEzF,CAAC;AAGF,eAAO,MAAM,YAAY,GAAI,QAAQ,SAAS,KAAG,OAAO,CAAC,IAAI,CAE5D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,aAAa,KAAG,OAAO,CAAC,IAAI,CAEpE,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CAEzD,CAAC;AAGF,eAAO,MAAM,YAAY,GAAI,gBAAgB,OAAO,KAAG,OAAO,CAAC,OAAO,CAErE,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,gBAAgB,OAAO,KAAG,OAAO,CAAC,OAAO,CAElE,CAAC;AAGF,eAAO,MAAM,aAAa,QAAO,OAAO,CAAC,UAAU,CAElD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,WAAW,MAAM,KAAG,OAAO,CAAC,MAAM,CAErE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAEnE,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAAO,OAAO,CAAC,uBAAuB,CAE5E,CAAC;AAEF,eAAO,MAAM,aAAa,QAAO,OAAO,CAAC,MAAM,CAE9C,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,KAAG,OAAO,CAAC,OAAO,CAEhE,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAAO,OAAO,CAAC,OAAO,CAE5D,CAAC;AAGF,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,OAAO,CAEhE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,OAAO,CAEhE,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,EAAE,EAAE,eAAe,OAAO,KAAG,OAAO,CAAC,OAAO,CAE1F,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,EAAE,EAAE,cAAc,OAAO,KAAG,OAAO,CAAC,OAAO,CAEzF,CAAC;AAEF,eAAO,MAAM,SAAS,QAAO,OAAO,CAAC,OAAO,CAE3C,CAAC;AAEF,eAAO,MAAM,SAAS,QAAO,OAAO,CAAC,OAAO,CAE3C,CAAC;AAGF,eAAO,MAAM,wBAAwB,QAAO,OAkB3C,CAAC;AAGF,YAAY,EACV,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,UAAU,EACV,uBAAuB,GACxB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cm-sdk-react-native-v3",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.1",
|
|
4
4
|
"description": "Consent Management React Native Library by consentmanager.net",
|
|
5
5
|
"source": "./src/index.tsx",
|
|
6
6
|
"main": "./lib/commonjs/index.js",
|
|
@@ -65,13 +65,14 @@
|
|
|
65
65
|
"@react-native/eslint-config": "^0.73.1",
|
|
66
66
|
"@types/jest": "^29.5.5",
|
|
67
67
|
"@types/react": "^18.2.44",
|
|
68
|
+
"babel-plugin-module-resolver": "^5.0.2",
|
|
68
69
|
"del-cli": "^5.1.0",
|
|
69
70
|
"eslint": "^8.51.0",
|
|
70
71
|
"eslint-config-prettier": "^9.0.0",
|
|
71
72
|
"jest": "^29.7.0",
|
|
72
73
|
"prettier": "^3.0.3",
|
|
73
74
|
"react": "18.3.1",
|
|
74
|
-
"react-native": "0.
|
|
75
|
+
"react-native": "0.81.5",
|
|
75
76
|
"react-native-builder-bob": "^0.30.2",
|
|
76
77
|
"typescript": "^5.2.2"
|
|
77
78
|
},
|
package/src/index.tsx
CHANGED
|
@@ -28,6 +28,8 @@ const CmSdkReactNativeV3 = NativeCmSdkReactNativeV3 ?? (NativeModules.CmSdkReact
|
|
|
28
28
|
}
|
|
29
29
|
));
|
|
30
30
|
|
|
31
|
+
export const isTurboModuleEnabled = NativeCmSdkReactNativeV3 != null;
|
|
32
|
+
|
|
31
33
|
const eventEmitter = new NativeEventEmitter(CmSdkReactNativeV3);
|
|
32
34
|
|
|
33
35
|
export const addConsentListener = (
|
|
@@ -138,6 +140,27 @@ export const acceptAll = (): Promise<boolean> => {
|
|
|
138
140
|
return CmSdkReactNativeV3.acceptAll();
|
|
139
141
|
};
|
|
140
142
|
|
|
143
|
+
// Helper function to check if New Architecture is enabled
|
|
144
|
+
export const isNewArchitectureEnabled = (): boolean => {
|
|
145
|
+
// Check multiple indicators for New Architecture
|
|
146
|
+
// 1. Check if our module was loaded via TurboModuleRegistry
|
|
147
|
+
if (NativeCmSdkReactNativeV3 != null) {
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// 2. Check for bridgeless mode (official RN flag)
|
|
152
|
+
if ((global as any).RN$Bridgeless === true) {
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// 3. Check for TurboModule interop flag
|
|
157
|
+
if ((global as any).RN$TurboInterop === true) {
|
|
158
|
+
return true;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
return false;
|
|
162
|
+
};
|
|
163
|
+
|
|
141
164
|
// Re-export types for consumer convenience
|
|
142
165
|
export type {
|
|
143
166
|
ConsentReceivedEvent,
|