@didomi/react-native 1.11.1 → 1.13.0

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.
Files changed (37) hide show
  1. package/android/build.gradle +14 -22
  2. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  3. package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
  4. package/android/gradle.properties +6 -4
  5. package/android/gradlew +154 -103
  6. package/android/gradlew.bat +7 -18
  7. package/android/src/main/java/com/reactnativedidomi/DidomiModule.kt +186 -111
  8. package/ios/Didomi.m +4 -13
  9. package/ios/Didomi.xcodeproj/project.pbxproj +4 -4
  10. package/ios/RNDidomi.swift +23 -38
  11. package/lib/commonjs/Constants.js +3 -3
  12. package/lib/commonjs/Constants.js.map +1 -1
  13. package/lib/commonjs/Didomi.js +18 -65
  14. package/lib/commonjs/Didomi.js.map +1 -1
  15. package/lib/commonjs/DidomiListener.js +16 -18
  16. package/lib/commonjs/DidomiListener.js.map +1 -1
  17. package/lib/commonjs/DidomiTypes.js +0 -1
  18. package/lib/commonjs/DidomiTypes.js.map +1 -1
  19. package/lib/commonjs/index.js +0 -2
  20. package/lib/commonjs/index.js.map +1 -1
  21. package/lib/module/Constants.js +3 -3
  22. package/lib/module/Constants.js.map +1 -1
  23. package/lib/module/Didomi.js +18 -60
  24. package/lib/module/Didomi.js.map +1 -1
  25. package/lib/module/DidomiListener.js +16 -15
  26. package/lib/module/DidomiListener.js.map +1 -1
  27. package/lib/module/DidomiTypes.js +0 -1
  28. package/lib/module/DidomiTypes.js.map +1 -1
  29. package/lib/module/index.js.map +1 -1
  30. package/lib/typescript/Constants.d.ts +1 -1
  31. package/lib/typescript/Didomi.d.ts +9 -9
  32. package/lib/typescript/DidomiListener.d.ts +2 -2
  33. package/package.json +6 -7
  34. package/react-native-didomi.podspec +2 -2
  35. package/src/Constants.ts +1 -1
  36. package/src/Didomi.ts +10 -2
  37. package/src/DidomiListener.ts +24 -14
@@ -18,28 +18,38 @@ export const Didomi = {
18
18
  * @param androidTvNoticeId: Notice id for the remote configuration when running on Android TV device (ignored on iOS / tvOS). Note that using remote configuration is mandatory for TV devices.
19
19
  * @param androidTvEnabled: Whether to allow Didomi SDK to run on Android TV, default to "false".
20
20
  */
21
- initialize: (apiKey, localConfigurationPath, remoteConfigurationUrl, providerId, disableDidomiRemoteConfig = false, languageCode, noticeId, androidTvNoticeId, androidTvEnabled = false) => {
21
+ initialize: function (apiKey, localConfigurationPath, remoteConfigurationUrl, providerId) {
22
+ let disableDidomiRemoteConfig = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
23
+ let languageCode = arguments.length > 5 ? arguments[5] : undefined;
24
+ let noticeId = arguments.length > 6 ? arguments[6] : undefined;
25
+ let androidTvNoticeId = arguments.length > 7 ? arguments[7] : undefined;
26
+ let androidTvEnabled = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : false;
22
27
  // Init listener
23
- DidomiListener.init(); // Trigger native SDK init
28
+ DidomiListener.init();
24
29
 
30
+ // Trigger native SDK init
25
31
  return RNDidomi.initialize(DIDOMI_USER_AGENT_NAME, DIDOMI_VERSION, apiKey, localConfigurationPath, remoteConfigurationUrl, providerId, disableDidomiRemoteConfig, languageCode, noticeId, androidTvNoticeId, androidTvEnabled);
26
32
  },
27
-
28
33
  /**
29
34
  * Listen to SDK ready state
30
35
  */
31
- onReady: () => DidomiListener.onReady(),
32
-
36
+ onReady: () => {
37
+ var promise = DidomiListener.setOnReadyListener();
38
+ RNDidomi.onReady();
39
+ return promise;
40
+ },
33
41
  /**
34
42
  * Listen to SDK errors
35
43
  */
36
- onError: () => DidomiListener.onError(),
37
-
44
+ onError: () => {
45
+ var promise = DidomiListener.setOnErrorListener();
46
+ RNDidomi.onError();
47
+ return promise;
48
+ },
38
49
  /**
39
50
  * Provide the objects required to display UI elements
40
51
  */
41
52
  setupUI: () => RNDidomi.setupUI(),
42
-
43
53
  /**
44
54
  * Set the minimum level of messages to log
45
55
  * You can decide what level of messages should be logged by the SDK by calling the setLogLevel function before initialize
@@ -64,24 +74,20 @@ export const Didomi = {
64
74
  * @param minLevel: Minimum level of messages to log
65
75
  */
66
76
  setLogLevel: level => RNDidomi.setLogLevel(level),
67
-
68
77
  /**
69
78
  * Add an event listener
70
79
  * @param listener:
71
80
  */
72
81
  addEventListener: (eventType, callback) => DidomiListener.addEventListener(eventType, callback),
73
-
74
82
  /**
75
83
  * Remove an event listener
76
84
  * @param listener:
77
85
  */
78
86
  removeEventListener: (eventType, callback) => DidomiListener.removeEventListener(eventType, callback),
79
-
80
87
  /**
81
88
  * Remove all event listeners
82
89
  */
83
90
  removeAllEventListeners: () => DidomiListener.reset(),
84
-
85
91
  /**
86
92
  * Method used to get an array of disabled purposes.
87
93
  * @returns: array of disabled purposes.
@@ -89,7 +95,6 @@ export const Didomi = {
89
95
  * has been replaced by getUserStatus().purposes.consent.disabled.
90
96
  */
91
97
  getDisabledPurposes: () => RNDidomi.getDisabledPurposes(),
92
-
93
98
  /**
94
99
  * Method used to get a set of disabled purpose IDs.
95
100
  * @returns: set that contains the IDs of disabled purposes.
@@ -97,7 +102,6 @@ export const Didomi = {
97
102
  * has been replaced by getUserStatus().purposes.consent.enabled.
98
103
  */
99
104
  getDisabledPurposeIds: () => RNDidomi.getDisabledPurposeIds(),
100
-
101
105
  /**
102
106
  * Method used to get an array of disabled vendors.
103
107
  * @returns: array of disabled vendors.
@@ -105,7 +109,6 @@ export const Didomi = {
105
109
  * has been replaced by getUserStatus().vendors.consent.disabled.
106
110
  */
107
111
  getDisabledVendors: () => RNDidomi.getDisabledVendors(),
108
-
109
112
  /**
110
113
  * Method used to get a set of disabled vendor IDs.
111
114
  * @returns: set that contains the IDs of disabled vendors.
@@ -113,7 +116,6 @@ export const Didomi = {
113
116
  * has been replaced by getUserStatus().vendors.consent.disabled.
114
117
  */
115
118
  getDisabledVendorIds: () => RNDidomi.getDisabledVendorIds(),
116
-
117
119
  /**
118
120
  * Method used to get an array of enabled purposes.
119
121
  * @returns: array of enabled purposes.
@@ -121,7 +123,6 @@ export const Didomi = {
121
123
  * has been replaced by getUserStatus().purposes.consent.enabled.
122
124
  */
123
125
  getEnabledPurposes: () => RNDidomi.getEnabledPurposes(),
124
-
125
126
  /**
126
127
  * Method used to get a set of enabled purpose IDs.
127
128
  * @returns: set that contains the IDs of enabled purposes.
@@ -129,7 +130,6 @@ export const Didomi = {
129
130
  * has been replaced by getUserStatus().purposes.consent.enabled.
130
131
  */
131
132
  getEnabledPurposeIds: () => RNDidomi.getEnabledPurposeIds(),
132
-
133
133
  /**
134
134
  * Method used to get an array of enabled vendors.
135
135
  * @returns: array of enabled vendors.
@@ -137,7 +137,6 @@ export const Didomi = {
137
137
  * has been replaced by getUserStatus().vendors.consent.enabled.
138
138
  */
139
139
  getEnabledVendors: () => RNDidomi.getEnabledVendors(),
140
-
141
140
  /**
142
141
  * Method used to get a set of enabled vendor IDs.
143
142
  * @returns: set that contains the IDs of enabled vendors.
@@ -145,7 +144,6 @@ export const Didomi = {
145
144
  * has been replaced by getUserStatus().vendors.consent.enabled.
146
145
  */
147
146
  getEnabledVendorIds: () => RNDidomi.getEnabledVendorIds(),
148
-
149
147
  /**
150
148
  * Get JavaScript to embed into a WebView to pass the consent status from the app
151
149
  * to the Didomi Web SDK embedded into the WebView
@@ -155,39 +153,33 @@ export const Didomi = {
155
153
  */
156
154
  getJavaScriptForWebView: extra => RNDidomi.getJavaScriptForWebView(extra),
157
155
  getQueryStringForWebView: () => RNDidomi.getQueryStringForWebView(),
158
-
159
156
  /**
160
157
  * Method used to get a Purpose based on its ID.
161
158
  * @param purposeId: purpose ID used in the search.
162
159
  * @returns: purpose found in the array.
163
160
  */
164
161
  getPurpose: purposeId => RNDidomi.getPurpose(purposeId),
165
-
166
162
  /**
167
163
  * Method used to get an array of required purposes.
168
164
  *
169
165
  * @returns: array of required purposes.
170
166
  */
171
167
  getRequiredPurposes: () => RNDidomi.getRequiredPurposes(),
172
-
173
168
  /**
174
169
  * Get the configured purpose IDs
175
170
  * @returns: set of purpose IDs.
176
171
  */
177
172
  getRequiredPurposeIds: () => RNDidomi.getRequiredPurposeIds(),
178
-
179
173
  /**
180
174
  * Method used to get an array of required vendors.
181
175
  * @returns: array of required vendors.
182
176
  */
183
177
  getRequiredVendors: () => RNDidomi.getRequiredVendors(),
184
-
185
178
  /**
186
179
  * Get the configured vendor IDs
187
180
  * @returns: set of vendor IDs.
188
181
  */
189
182
  getRequiredVendorIds: () => RNDidomi.getRequiredVendorIds(),
190
-
191
183
  /**
192
184
  * Method used to get a dictionary/map in the form of { "en": "Key in English", "fr": "Key in French." }
193
185
  * for a given key.
@@ -195,7 +187,6 @@ export const Didomi = {
195
187
  * @returns: dictionary containing the different translations for a given key.
196
188
  */
197
189
  getText: key => RNDidomi.getText(key),
198
-
199
190
  /**
200
191
  * Method used to get a translated text based on the key being passed.
201
192
  * The language and the source of this translated text will depend on the availability of the translation for the specific key.
@@ -218,7 +209,6 @@ export const Didomi = {
218
209
  * @returns: a translated string if a translation was found, the same key that was passed otherwise.
219
210
  */
220
211
  getTranslatedText: key => RNDidomi.getTranslatedText(key),
221
-
222
212
  /**
223
213
  * Get the user consent status for a specific purpose
224
214
  * @param purposeId: The purpose ID to check consent for
@@ -228,7 +218,6 @@ export const Didomi = {
228
218
  * getUserStatus().purposes.consent.enabled.
229
219
  */
230
220
  getUserConsentStatusForPurpose: purposeId => RNDidomi.getUserConsentStatusForPurpose(purposeId),
231
-
232
221
  /**
233
222
  * Get the user consent status for a specific vendor
234
223
  * @param vendorId: The vendor ID to check consent for
@@ -238,7 +227,6 @@ export const Didomi = {
238
227
  * getUserStatus().vendors.consent.disabled.
239
228
  */
240
229
  getUserConsentStatusForVendor: vendorId => RNDidomi.getUserConsentStatusForVendor(vendorId),
241
-
242
230
  /**
243
231
  * Get the user consent status for a specific vendor and all its purposes
244
232
  * @param vendorId: The ID of the vendor
@@ -248,7 +236,6 @@ export const Didomi = {
248
236
  * getUserStatus().vendors.global_consent.disabled.
249
237
  */
250
238
  getUserConsentStatusForVendorAndRequiredPurposes: vendorId => RNDidomi.getUserConsentStatusForVendorAndRequiredPurposes(vendorId),
251
-
252
239
  /**
253
240
  * Get the user legitimate interest status for a specific purpose.
254
241
  * @param purposeId: purpose ID.
@@ -258,7 +245,6 @@ export const Didomi = {
258
245
  * getUserStatus().purposes.consent.enabled.
259
246
  */
260
247
  getUserLegitimateInterestStatusForPurpose: purposeId => RNDidomi.getUserLegitimateInterestStatusForPurpose(purposeId),
261
-
262
248
  /**
263
249
  * Get the user legitimate interest status for a specific vendor.
264
250
  * @param vendorId: vendor ID.
@@ -268,7 +254,6 @@ export const Didomi = {
268
254
  * getUserStatus().vendors.legitimate_interest.disabled.
269
255
  */
270
256
  getUserLegitimateInterestForVendor: vendorId => RNDidomi.getUserLegitimateInterestStatusForVendor(vendorId),
271
-
272
257
  /**
273
258
  * Get the user LI status for a specific vendor and all its purposes.
274
259
  * @param vendorId: vendor ID.
@@ -278,13 +263,11 @@ export const Didomi = {
278
263
  * getUserStatus().vendors.global_legitimate_interest.disabled.
279
264
  */
280
265
  getUserLegitimateInterestStatusForVendorAndRequiredPurposes: vendorId => RNDidomi.getUserLegitimateInterestStatusForVendorAndRequiredPurposes(vendorId),
281
-
282
266
  /**
283
267
  * Get the user consent status.
284
268
  * @returns: status that represents user consent.
285
269
  */
286
270
  getUserStatus: () => RNDidomi.getUserStatus(),
287
-
288
271
  /**
289
272
  * Get the user consent and legitimate interest status for a specific vendor.
290
273
  * @param vendorId: vendor ID.
@@ -294,24 +277,20 @@ export const Didomi = {
294
277
  * getUserStatus().vendors.global.disabled.
295
278
  */
296
279
  getUserStatusForVendor: vendorId => RNDidomi.getUserStatusForVendor(vendorId),
297
-
298
280
  /**
299
281
  * Method used to get a Vendor based on its ID.
300
282
  * @param vendorId: vendor ID used in the search.
301
283
  * @returns: vendor found in the array.
302
284
  */
303
285
  getVendor: vendorId => RNDidomi.getVendor(vendorId),
304
-
305
286
  /**
306
287
  * Hide the notice if it is currently displayed
307
288
  */
308
289
  hideNotice: () => RNDidomi.hideNotice(),
309
-
310
290
  /**
311
291
  * Hide the preferences popup for purposes
312
292
  */
313
293
  hidePreferences: () => RNDidomi.hidePreferences(),
314
-
315
294
  /**
316
295
  * Determine if consent is required for the user. The rules are (OR):
317
296
  * - The user country is in the EU.
@@ -320,36 +299,30 @@ export const Didomi = {
320
299
  * @returns: **true** if consent is required, **false** if it is not required.
321
300
  */
322
301
  isConsentRequired: () => RNDidomi.isConsentRequired(),
323
-
324
302
  /**
325
303
  * Determine if consent information is available for all purposes and vendors that are required
326
304
  * @returns: **true** if consent is required and consent information is available, **false** otherwise.
327
305
  */
328
306
  isUserConsentStatusPartial: () => RNDidomi.isUserConsentStatusPartial(),
329
-
330
307
  /**
331
308
  * Check if the consent notice is currently displayed
332
309
  * @returns: **true** if the notice is displayed, **false** if is not.
333
310
  */
334
311
  isNoticeVisible: () => RNDidomi.isNoticeVisible(),
335
-
336
312
  /**
337
313
  * Method used to check if the Preferences view is visible.
338
314
  * @returns: **true** if Preferences view is visible, **false** otherwise.
339
315
  */
340
316
  isPreferencesVisible: () => RNDidomi.isPreferencesVisible(),
341
317
  isError: () => RNDidomi.isError(),
342
-
343
318
  /**
344
319
  * Is the Didomi SDK ready?
345
320
  */
346
321
  isReady: () => RNDidomi.isReady(),
347
-
348
322
  /**
349
323
  * Clear user information
350
324
  */
351
325
  clearUser: () => RNDidomi.clearUser(),
352
-
353
326
  /**
354
327
  * Set user information without authentication
355
328
  *
@@ -360,14 +333,12 @@ export const Didomi = {
360
333
  * @param digest Deprecated. To set user with authentication, use setUserWithHashAuth or setUserWithEncryptionAuth.
361
334
  */
362
335
  setUser: (id, algorithm, secretId, salt, digest) => RNDidomi.setUser(id, algorithm, secretId, salt, digest),
363
-
364
336
  /**
365
337
  * Set user information without authentication and check for missing consent
366
338
  *
367
339
  * @param id Organization user ID
368
340
  */
369
341
  setUserAndSetupUI: id => RNDidomi.setUserAndSetupUI(id),
370
-
371
342
  /**
372
343
  * Set user information with Hash authentication
373
344
  *
@@ -385,7 +356,6 @@ export const Didomi = {
385
356
  RNDidomi.setUserWithHashAuthWithExpiration(id, algorithm, secretId, digest, salt, expiration);
386
357
  }
387
358
  },
388
-
389
359
  /**
390
360
  * Set user information with Hash authentication and check for missing consent
391
361
  *
@@ -403,7 +373,6 @@ export const Didomi = {
403
373
  RNDidomi.setUserWithHashAuthWithExpirationAndSetupUI(id, algorithm, secretId, digest, salt, expiration);
404
374
  }
405
375
  },
406
-
407
376
  /**
408
377
  * Set user information with Encryption authentication
409
378
  *
@@ -420,7 +389,6 @@ export const Didomi = {
420
389
  RNDidomi.setUserWithEncryptionAuthWithExpiration(id, algorithm, secretId, initializationVector, expiration);
421
390
  }
422
391
  },
423
-
424
392
  /**
425
393
  * Set user information with Encryption authentication and check for missing consent
426
394
  *
@@ -437,29 +405,24 @@ export const Didomi = {
437
405
  RNDidomi.setUserWithEncryptionAuthWithExpirationAndSetupUI(id, algorithm, secretId, initializationVector, expiration);
438
406
  }
439
407
  },
440
-
441
408
  /**
442
409
  * Show the consent notice (if required, not disabled in the config and not already displayed)
443
410
  */
444
411
  showNotice: () => RNDidomi.showNotice(),
445
-
446
412
  /**
447
413
  * Show the preferences screen when/if the SDK is ready. By default the purposes list will be displayed.
448
414
  * @param view: It can be `purposes` or `vendors`
449
415
  */
450
416
  showPreferences: view => RNDidomi.showPreferences(view),
451
-
452
417
  /**
453
418
  * Remove all consents for the user
454
419
  */
455
420
  reset: () => RNDidomi.reset(),
456
-
457
421
  /**
458
422
  * Method that allows to enable consent and legitimate interest for all the required purposes.
459
423
  * @returns: **true** if consent status has been updated, **false** otherwise.
460
424
  */
461
425
  setUserAgreeToAll: () => RNDidomi.setUserAgreeToAll(),
462
-
463
426
  /**
464
427
  * Set the user consent status.
465
428
  * @param enabledPurposeIds: set containing **enabled purpose ids**
@@ -469,13 +432,11 @@ export const Didomi = {
469
432
  * @returns: **true** if consent status has been updated, **false** otherwise.
470
433
  */
471
434
  setUserConsentStatus: (enabledPurposeIds, disabledPurposeIds, enabledVendorIds, disabledVendorIds) => RNDidomi.setUserConsentStatus(enabledPurposeIds, disabledPurposeIds, enabledVendorIds, disabledVendorIds),
472
-
473
435
  /**
474
436
  * Method that allows to disable consent and legitimate interest for all the required purposes and vendors.
475
437
  * @returns: **true** if consent status has been updated, **false** otherwise.
476
438
  */
477
439
  setUserDisagreeToAll: () => RNDidomi.setUserDisagreeToAll(),
478
-
479
440
  /**
480
441
  * Set the user status for purposes and vendors for consent and legitimate interest.
481
442
  * @param purposesConsentStatus: boolean used to determine if consent will be enabled or disabled for all purposes.
@@ -485,7 +446,6 @@ export const Didomi = {
485
446
  * @returns: **true** if consent status has been updated, **false** otherwise.
486
447
  */
487
448
  setUserStatus: (purposesConsentStatus, purposesLIStatus, vendorsConsentStatus, vendorsLIStatus) => RNDidomi.setUserStatus(purposesConsentStatus, purposesLIStatus, vendorsConsentStatus, vendorsLIStatus),
488
-
489
449
  /**
490
450
  * Set the user status for purposes and vendors for consent and legitimate interest.
491
451
  * @param enabledConsentPurposeIds: List of purpose IDs to enable for consent.
@@ -498,13 +458,11 @@ export const Didomi = {
498
458
  * @param disabledLIVendorIds: List of vendor IDs to disable for LI.
499
459
  */
500
460
  setUserStatusSets: (enabledConsentPurposeIds, disabledConsentPurposeIds, enabledLIPurposeIds, disabledLIPurposeIds, enabledConsentVendorIds, disabledConsentVendorIds, enabledLIVendorIds, disabledLIVendorIds) => RNDidomi.setUserStatusSets(enabledConsentPurposeIds, disabledConsentPurposeIds, enabledLIPurposeIds, disabledLIPurposeIds, enabledConsentVendorIds, disabledConsentVendorIds, enabledLIVendorIds, disabledLIVendorIds),
501
-
502
461
  /**
503
462
  * Check if the consent should be collected depending on if we have any consents or if we have some consents but the number of days before displaying the notice again has not expired yet
504
463
  * @returns: A boolean depending if the consent should be collected or not
505
464
  */
506
465
  shouldConsentBeCollected: () => RNDidomi.shouldConsentBeCollected(),
507
-
508
466
  /**
509
467
  * Method used to update the selected language of the Didomi SDK and any property that depends on it.
510
468
  * In most cases this method doesn't need to be called. It would only be required for those apps that allow language change on-the-fly, i.e.: from within the app rather than from the device settings.
@@ -1 +1 @@
1
- {"version":3,"sources":["Didomi.ts"],"names":["NativeModules","DidomiListener","DIDOMI_USER_AGENT_NAME","DIDOMI_VERSION","Didomi","RNDidomi","initialize","apiKey","localConfigurationPath","remoteConfigurationUrl","providerId","disableDidomiRemoteConfig","languageCode","noticeId","androidTvNoticeId","androidTvEnabled","init","onReady","onError","setupUI","setLogLevel","level","addEventListener","eventType","callback","removeEventListener","removeAllEventListeners","reset","getDisabledPurposes","getDisabledPurposeIds","getDisabledVendors","getDisabledVendorIds","getEnabledPurposes","getEnabledPurposeIds","getEnabledVendors","getEnabledVendorIds","getJavaScriptForWebView","extra","getQueryStringForWebView","getPurpose","purposeId","getRequiredPurposes","getRequiredPurposeIds","getRequiredVendors","getRequiredVendorIds","getText","key","getTranslatedText","getUserConsentStatusForPurpose","getUserConsentStatusForVendor","vendorId","getUserConsentStatusForVendorAndRequiredPurposes","getUserLegitimateInterestStatusForPurpose","getUserLegitimateInterestForVendor","getUserLegitimateInterestStatusForVendor","getUserLegitimateInterestStatusForVendorAndRequiredPurposes","getUserStatus","getUserStatusForVendor","getVendor","hideNotice","hidePreferences","isConsentRequired","isUserConsentStatusPartial","isNoticeVisible","isPreferencesVisible","isError","isReady","clearUser","setUser","id","algorithm","secretId","salt","digest","setUserAndSetupUI","setUserWithHashAuth","expiration","undefined","setUserWithHashAuthWithExpiration","setUserWithHashAuthAndSetupUI","setUserWithHashAuthWithExpirationAndSetupUI","setUserWithEncryptionAuth","initializationVector","setUserWithEncryptionAuthWithExpiration","setUserWithEncryptionAuthAndSetupUI","setUserWithEncryptionAuthWithExpirationAndSetupUI","showNotice","showPreferences","view","setUserAgreeToAll","setUserConsentStatus","enabledPurposeIds","disabledPurposeIds","enabledVendorIds","disabledVendorIds","setUserDisagreeToAll","setUserStatus","purposesConsentStatus","purposesLIStatus","vendorsConsentStatus","vendorsLIStatus","setUserStatusSets","enabledConsentPurposeIds","disabledConsentPurposeIds","enabledLIPurposeIds","disabledLIPurposeIds","enabledConsentVendorIds","disabledConsentVendorIds","enabledLIVendorIds","disabledLIVendorIds","shouldConsentBeCollected","updateSelectedLanguage"],"mappings":"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","sourcesContent":["import { NativeModules } from 'react-native';\nimport { DidomiListener } from './DidomiListener';\nimport { DidomiEventType, Purpose, UserStatus, Vendor } from './DidomiTypes';\nimport { DIDOMI_USER_AGENT_NAME, DIDOMI_VERSION } from './Constants';\n\nconst { Didomi: RNDidomi } = NativeModules;\n\nexport const Didomi = {\n /**\n * Initialize the Didomi SDK\n *\n * @param apiKey: Public API key of the organization from the Didomi Console.\n * @param localConfigurationPath: Path to your local config file. Defaults to didomi_config.json if null.\n * @param remoteConfigurationURL: URL to a remote configuration file to load during initialization. This parameter is not used yet. Set it to null for now.\n * @param providerId: Your provider ID (if any).\n * @param disableDidomiRemoteConfig: Whether to disable loading the remote configuration from the Didomi config. Keep this to \"false\" for loading configuration from the Didomi Console.\n * @param languageCode: Language in which the consent UI should be displayed. By default, the consent UI is displayed in the language configured in the device settings. This property allows you to override the default setting and specify a language to display the UI in. String containing the language code e.g.: \"es\", \"fr\", etc.\n * @param noticeId: Notice id for the remote configuration.\n * @param androidTvNoticeId: Notice id for the remote configuration when running on Android TV device (ignored on iOS / tvOS). Note that using remote configuration is mandatory for TV devices.\n * @param androidTvEnabled: Whether to allow Didomi SDK to run on Android TV, default to \"false\".\n */\n initialize: (\n apiKey: string,\n localConfigurationPath?: string,\n remoteConfigurationUrl?: string,\n providerId?: string,\n disableDidomiRemoteConfig: boolean = false,\n languageCode?: string,\n noticeId?: string,\n androidTvNoticeId?: string,\n androidTvEnabled: boolean = false\n ): Promise<void> => {\n // Init listener\n DidomiListener.init();\n\n // Trigger native SDK init\n return RNDidomi.initialize(\n DIDOMI_USER_AGENT_NAME,\n DIDOMI_VERSION,\n apiKey,\n localConfigurationPath,\n remoteConfigurationUrl,\n providerId,\n disableDidomiRemoteConfig,\n languageCode,\n noticeId,\n androidTvNoticeId,\n androidTvEnabled\n );\n },\n\n /**\n * Listen to SDK ready state\n */\n onReady: (): Promise<void> => DidomiListener.onReady(),\n\n /**\n * Listen to SDK errors\n */\n onError: (): Promise<any> => DidomiListener.onError(),\n\n /**\n * Provide the objects required to display UI elements\n */\n setupUI: (): Promise<void> => RNDidomi.setupUI(),\n\n /**\n * Set the minimum level of messages to log\n * You can decide what level of messages should be logged by the SDK by calling the setLogLevel function before initialize\n *\n * Messages with a level below `minLevel` will not be logged.\n *\n * For iOS:\n * Levels are standard levels from `OSLogType` (https://developer.apple.com/documentation/os/logging/choosing_the_log_level_for_a_message):\n * - OSLogType.info (1)\n * - OSLogType.debug (2)\n * - OSLogType.error (16)\n * - OSLogType.fault (17)\n *\n * We recommend setting `OSLogType.error` (16) in production\n *\n * For Android:\n * Use the standard log levels supported by android.util.Log: VERBOSE, DEBUG, INFO, WARN and ERROR.\n * (https://developer.android.com/reference/android/util/Log#constants_1)\n *\n * We recommend setting `Log.INFO` (4) in production\n *\n * @param minLevel: Minimum level of messages to log\n */\n setLogLevel: (level: number): Promise<void> => RNDidomi.setLogLevel(level),\n\n /**\n * Add an event listener\n * @param listener:\n */\n addEventListener: (\n eventType: DidomiEventType,\n callback: (data: any) => void\n ) => DidomiListener.addEventListener(eventType, callback),\n\n /**\n * Remove an event listener\n * @param listener:\n */\n removeEventListener: (\n eventType: DidomiEventType,\n callback: (data: any) => void\n ) => DidomiListener.removeEventListener(eventType, callback),\n\n /**\n * Remove all event listeners\n */\n removeAllEventListeners: () => DidomiListener.reset(),\n\n /**\n * Method used to get an array of disabled purposes.\n * @returns: array of disabled purposes.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method\n * has been replaced by getUserStatus().purposes.consent.disabled.\n */\n getDisabledPurposes: (): Promise<Purpose[]> => RNDidomi.getDisabledPurposes(),\n\n /**\n * Method used to get a set of disabled purpose IDs.\n * @returns: set that contains the IDs of disabled purposes.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method\n * has been replaced by getUserStatus().purposes.consent.enabled.\n */\n getDisabledPurposeIds: (): Promise<string[]> => RNDidomi.getDisabledPurposeIds(),\n\n /**\n * Method used to get an array of disabled vendors.\n * @returns: array of disabled vendors.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method\n * has been replaced by getUserStatus().vendors.consent.disabled.\n */\n getDisabledVendors: (): Promise<Vendor[]> => RNDidomi.getDisabledVendors(),\n\n /**\n * Method used to get a set of disabled vendor IDs.\n * @returns: set that contains the IDs of disabled vendors.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method\n * has been replaced by getUserStatus().vendors.consent.disabled.\n */\n getDisabledVendorIds: (): Promise<string[]> => RNDidomi.getDisabledVendorIds(),\n\n /**\n * Method used to get an array of enabled purposes.\n * @returns: array of enabled purposes.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method\n * has been replaced by getUserStatus().purposes.consent.enabled.\n */\n getEnabledPurposes: (): Promise<Purpose[]> => RNDidomi.getEnabledPurposes(),\n\n /**\n * Method used to get a set of enabled purpose IDs.\n * @returns: set that contains the IDs of enabled purposes.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method\n * has been replaced by getUserStatus().purposes.consent.enabled.\n */\n getEnabledPurposeIds: (): Promise<string[]> => RNDidomi.getEnabledPurposeIds(),\n\n /**\n * Method used to get an array of enabled vendors.\n * @returns: array of enabled vendors.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method\n * has been replaced by getUserStatus().vendors.consent.enabled.\n */\n getEnabledVendors: (): Promise<Vendor[]> => RNDidomi.getEnabledVendors(),\n\n /**\n * Method used to get a set of enabled vendor IDs.\n * @returns: set that contains the IDs of enabled vendors.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method\n * has been replaced by getUserStatus().vendors.consent.enabled.\n */\n getEnabledVendorIds: (): Promise<string[]> => RNDidomi.getEnabledVendorIds(),\n\n /**\n * Get JavaScript to embed into a WebView to pass the consent status from the app\n * to the Didomi Web SDK embedded into the WebView\n * Inject the returned JavaScript into a WebView\n * @param extra: Extra JavaScript to inject in the returned code\n * @returns: JavaScript code to inject in a WebView\n */\n getJavaScriptForWebView: (extra?: string | null): Promise<string> => RNDidomi.getJavaScriptForWebView(extra),\n\n getQueryStringForWebView: (): Promise<string> => RNDidomi.getQueryStringForWebView(),\n\n /**\n * Method used to get a Purpose based on its ID.\n * @param purposeId: purpose ID used in the search.\n * @returns: purpose found in the array.\n */\n getPurpose: (purposeId: string): Promise<Purpose> => RNDidomi.getPurpose(purposeId),\n\n /**\n * Method used to get an array of required purposes.\n *\n * @returns: array of required purposes.\n */\n getRequiredPurposes: (): Promise<Purpose[]> => RNDidomi.getRequiredPurposes(),\n\n /**\n * Get the configured purpose IDs\n * @returns: set of purpose IDs.\n */\n getRequiredPurposeIds: (): Promise<string[]> => RNDidomi.getRequiredPurposeIds(),\n\n /**\n * Method used to get an array of required vendors.\n * @returns: array of required vendors.\n */\n getRequiredVendors: (): Promise<Vendor[]> => RNDidomi.getRequiredVendors(),\n\n /**\n * Get the configured vendor IDs\n * @returns: set of vendor IDs.\n */\n getRequiredVendorIds: (): Promise<string[]> => RNDidomi.getRequiredVendorIds(),\n\n /**\n * Method used to get a dictionary/map in the form of { \"en\": \"Key in English\", \"fr\": \"Key in French.\" }\n * for a given key.\n * @param key: used to find its corresponding value in the dictionary/map.\n * @returns: dictionary containing the different translations for a given key.\n */\n getText: (key: string): Promise<any[]> => RNDidomi.getText(key),\n\n /**\n * Method used to get a translated text based on the key being passed.\n * The language and the source of this translated text will depend on the availability of the translation for the specific key.\n * The language being used will be either the selected language of the SDK (based on device Locale and other parameters) or the language specified by app developers as the default language being used by the SDK. The source can be either the `didomi_config.json` file which can be either local or remote, or the `didomi_master_config.json` file which is bundled within the SDK.\n *\n * These are the attempts performed by the SDK to try to find a translation for the specific key:\n * - Get translated value in user locale (selected language) from `didomi_config.json` (either local or remote).\n * - Get translated value in default locale (from the config) from `didomi_config.json` (either local or remote).\n * - Get translated value in user locale (selected language) from `didomi_master_config.json` (bundled within the Didomi SDK).\n * - Get translated value in default locale (from the config) from `didomi_master_config.json` (bundled within the Didomi SDK).\n *\n * If no translation can be found after these 4 attempts, the key will be returned.\n *\n * App developers can provide these translated texts through the `didomi_config.json` file (locally or remotely) in 3 different ways:\n * - Custom texts for the consent notice: https://developers.didomi.io/cmp/mobile-sdk/consent-notice/customize-the-notice#texts\n * - Custom texts for the preferences: https://developers.didomi.io/cmp/mobile-sdk/consent-notice/customize-the-preferences-popup#text\n * - Custom texts for custom notices: https://developers.didomi.io/cmp/mobile-sdk/consent-notice/customize-the-theme#translatable-texts-for-custom-notices\n *\n * @param key: used to find its corresponding value in one of the different sources.\n * @returns: a translated string if a translation was found, the same key that was passed otherwise.\n */\n getTranslatedText: (key: string): Promise<string> => RNDidomi.getTranslatedText(key),\n\n /**\n * Get the user consent status for a specific purpose\n * @param purposeId: The purpose ID to check consent for\n * @returns: The user consent status for the specified purpose\n * @deprecated use {@link #getUserStatus()} instead. Search the purposeId in\n * getUserStatus().purposes.consent.enabled or\n * getUserStatus().purposes.consent.enabled.\n */\n getUserConsentStatusForPurpose: (purposeId: string): Promise<boolean> => RNDidomi.getUserConsentStatusForPurpose(purposeId),\n\n /**\n * Get the user consent status for a specific vendor\n * @param vendorId: The vendor ID to check consent for\n * @returns: The user consent status for the specified vendor\n * @deprecated use {@link #getUserStatus()} instead. Search the vendorId in\n * getUserStatus().vendors.consent.enabled or\n * getUserStatus().vendors.consent.disabled.\n */\n getUserConsentStatusForVendor: (vendorId: string): Promise<boolean> => RNDidomi.getUserConsentStatusForVendor(vendorId),\n\n /**\n * Get the user consent status for a specific vendor and all its purposes\n * @param vendorId: The ID of the vendor\n * @returns: The user consent status corresponding to the specified vendor and all its required purposes.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method has been replaced\n * by getUserStatus().vendors.global_consent.enabled or\n * getUserStatus().vendors.global_consent.disabled.\n */\n getUserConsentStatusForVendorAndRequiredPurposes: (vendorId: string): Promise<boolean> => RNDidomi.getUserConsentStatusForVendorAndRequiredPurposes(vendorId),\n\n /**\n * Get the user legitimate interest status for a specific purpose.\n * @param purposeId: purpose ID.\n * @returns: LI status of a purpose.\n * @deprecated use {@link #getUserStatus()} instead. Search the purposeId in\n * getUserStatus().purposes.consent.enabled or\n * getUserStatus().purposes.consent.enabled.\n */\n getUserLegitimateInterestStatusForPurpose: (purposeId: string): Promise<boolean> => RNDidomi.getUserLegitimateInterestStatusForPurpose(purposeId),\n\n /**\n * Get the user legitimate interest status for a specific vendor.\n * @param vendorId: vendor ID.\n * @returns: LI status of a vendor.\n * @deprecated use {@link #getUserStatus()} instead. Search the vendorId in\n * getUserStatus().vendors.legitimate_interest.enabled or\n * getUserStatus().vendors.legitimate_interest.disabled.\n */\n getUserLegitimateInterestForVendor: (vendorId: string): Promise<boolean> => RNDidomi.getUserLegitimateInterestStatusForVendor(vendorId),\n\n /**\n * Get the user LI status for a specific vendor and all its purposes.\n * @param vendorId: vendor ID.\n * @returns: The user LI status corresponding to the specified vendor and all its required purposes.\n * @deprecated use {@link #getUserStatus()} instead. Search the purposeId in\n * getUserStatus().vendors.global_legitimate_interest.enabled or\n * getUserStatus().vendors.global_legitimate_interest.disabled.\n */\n getUserLegitimateInterestStatusForVendorAndRequiredPurposes: (vendorId: string): boolean => RNDidomi.getUserLegitimateInterestStatusForVendorAndRequiredPurposes(vendorId),\n\n /**\n * Get the user consent status.\n * @returns: status that represents user consent.\n */\n getUserStatus: (): Promise<UserStatus> => RNDidomi.getUserStatus(),\n\n /**\n * Get the user consent and legitimate interest status for a specific vendor.\n * @param vendorId: vendor ID.\n * @returns: status that represents both consent and legitimate interest status of a vendor.\n * @deprecated use {@link #getUserStatus()} instead. Search the vendorId in\n * getUserStatus().vendors.global.enabled or\n * getUserStatus().vendors.global.disabled.\n */\n getUserStatusForVendor: (vendorId: string): Promise<boolean> => RNDidomi.getUserStatusForVendor(vendorId),\n\n /**\n * Method used to get a Vendor based on its ID.\n * @param vendorId: vendor ID used in the search.\n * @returns: vendor found in the array.\n */\n getVendor: (vendorId: string): Promise<Vendor> => RNDidomi.getVendor(vendorId),\n\n /**\n * Hide the notice if it is currently displayed\n */\n hideNotice: (): Promise<void> => RNDidomi.hideNotice(),\n\n /**\n * Hide the preferences popup for purposes\n */\n hidePreferences: (): Promise<void> => RNDidomi.hidePreferences(),\n\n /**\n * Determine if consent is required for the user. The rules are (OR):\n * - The user country is in the EU.\n * - The company is from the EU.\n * - The user country is unknown and the app has chosen to collect consent when unknown.\n * @returns: **true** if consent is required, **false** if it is not required.\n */\n isConsentRequired: (): Promise<boolean> => RNDidomi.isConsentRequired(),\n\n /**\n * Determine if consent information is available for all purposes and vendors that are required\n * @returns: **true** if consent is required and consent information is available, **false** otherwise.\n */\n isUserConsentStatusPartial: (): Promise<boolean> => RNDidomi.isUserConsentStatusPartial(),\n\n /**\n * Check if the consent notice is currently displayed\n * @returns: **true** if the notice is displayed, **false** if is not.\n */\n isNoticeVisible: (): Promise<boolean> => RNDidomi.isNoticeVisible(),\n\n /**\n * Method used to check if the Preferences view is visible.\n * @returns: **true** if Preferences view is visible, **false** otherwise.\n */\n isPreferencesVisible: (): Promise<boolean> => RNDidomi.isPreferencesVisible(),\n\n isError: (): Promise<boolean> => RNDidomi.isError(),\n\n /**\n * Is the Didomi SDK ready?\n */\n isReady: (): Promise<boolean> => RNDidomi.isReady(),\n\n /**\n * Clear user information\n */\n clearUser: (): Promise<void> => RNDidomi.clearUser(),\n\n /**\n * Set user information without authentication\n *\n * @param id Organization user ID\n * @param algorithm Deprecated. To set user with authentication, use setUserWithHashAuth or setUserWithEncryptionAuth.\n * @param secretId Deprecated. To set user with authentication, use setUserWithHashAuth or setUserWithEncryptionAuth.\n * @param salt Deprecated. To set user with authentication, use setUserWithHashAuth or setUserWithEncryptionAuth.\n * @param digest Deprecated. To set user with authentication, use setUserWithHashAuth or setUserWithEncryptionAuth.\n */\n setUser: (\n id: string,\n algorithm?: string,\n secretId?: string,\n salt?: string,\n digest?: string\n ): Promise<void> =>\n RNDidomi.setUser(\n id,\n algorithm,\n secretId,\n salt,\n digest\n ),\n\n /**\n * Set user information without authentication and check for missing consent\n *\n * @param id Organization user ID\n */\n setUserAndSetupUI: (id: string): Promise<void> => RNDidomi.setUserAndSetupUI(id),\n\n /**\n * Set user information with Hash authentication\n *\n * @param id Organization user ID\n * @param algorithm Algorithm used for computing the digest\n * @param secretId ID of the secret used for computing the digest\n * @param digest Digest of the organization user ID and secret\n * @param salt Salt used for computing the digest (optional)\n * @param expiration Expiration date as timestamp (to prevent replay attacks)\n */\n setUserWithHashAuth: (\n id: string,\n algorithm: string,\n secretId: string,\n digest: string,\n salt?: string,\n expiration?: BigInt\n ): void => {\n if (expiration === undefined) {\n RNDidomi.setUserWithHashAuth(\n id,\n algorithm,\n secretId,\n digest,\n salt\n );\n } else {\n RNDidomi.setUserWithHashAuthWithExpiration(\n id,\n algorithm,\n secretId,\n digest,\n salt,\n expiration\n );\n }\n },\n\n /**\n * Set user information with Hash authentication and check for missing consent\n *\n * @param id Organization user ID\n * @param algorithm Algorithm used for computing the digest\n * @param secretId ID of the secret used for computing the digest\n * @param digest Digest of the organization user ID and secret\n * @param salt Salt used for computing the digest (optional)\n * @param expiration Expiration date as timestamp (to prevent replay attacks)\n */\n setUserWithHashAuthAndSetupUI: (\n id: string,\n algorithm: string,\n secretId: string,\n digest: string,\n salt?: string,\n expiration?: BigInt\n ): void => {\n if (expiration === undefined) {\n RNDidomi.setUserWithHashAuthAndSetupUI(\n id,\n algorithm,\n secretId,\n digest,\n salt\n );\n } else {\n RNDidomi.setUserWithHashAuthWithExpirationAndSetupUI(\n id,\n algorithm,\n secretId,\n digest,\n salt,\n expiration\n );\n }\n },\n\n /**\n * Set user information with Encryption authentication\n *\n * @param id Organization user ID\n * @param algorithm Algorithm used for computing the digest\n * @param secretId ID of the secret used for computing the digest\n * @param initializationVector Initialization Vector used for computing the user ID\n * @param expiration Expiration date as timestamp (to prevent replay attacks)\n */\n setUserWithEncryptionAuth: (\n id: string,\n algorithm: string,\n secretId: string,\n initializationVector: string,\n expiration?: BigInt\n ): void => {\n if (expiration === undefined) {\n RNDidomi.setUserWithEncryptionAuth(\n id,\n algorithm,\n secretId,\n initializationVector\n );\n } else {\n RNDidomi.setUserWithEncryptionAuthWithExpiration(\n id,\n algorithm,\n secretId,\n initializationVector,\n expiration\n );\n }\n },\n\n /**\n * Set user information with Encryption authentication and check for missing consent\n *\n * @param id Organization user ID\n * @param algorithm Algorithm used for computing the digest\n * @param secretId ID of the secret used for computing the digest\n * @param initializationVector Initialization Vector used for computing the user ID\n * @param expiration Expiration date as timestamp (to prevent replay attacks)\n */\n setUserWithEncryptionAuthAndSetupUI: (\n id: string,\n algorithm: string,\n secretId: string,\n initializationVector: string,\n expiration?: BigInt\n ): void => {\n if (expiration === undefined) {\n RNDidomi.setUserWithEncryptionAuthAndSetupUI(\n id,\n algorithm,\n secretId,\n initializationVector\n );\n } else {\n RNDidomi.setUserWithEncryptionAuthWithExpirationAndSetupUI(\n id,\n algorithm,\n secretId,\n initializationVector,\n expiration\n );\n }\n },\n\n /**\n * Show the consent notice (if required, not disabled in the config and not already displayed)\n */\n showNotice: (): Promise<void> => RNDidomi.showNotice(),\n\n /**\n * Show the preferences screen when/if the SDK is ready. By default the purposes list will be displayed.\n * @param view: It can be `purposes` or `vendors`\n */\n showPreferences: (view?: string): Promise<void> => RNDidomi.showPreferences(view),\n\n /**\n * Remove all consents for the user\n */\n reset: (): Promise<void> => RNDidomi.reset(),\n\n /**\n * Method that allows to enable consent and legitimate interest for all the required purposes.\n * @returns: **true** if consent status has been updated, **false** otherwise.\n */\n setUserAgreeToAll: (): Promise<boolean> => RNDidomi.setUserAgreeToAll(),\n\n /**\n * Set the user consent status.\n * @param enabledPurposeIds: set containing **enabled purpose ids**\n * @param disabledPurposeIds: set containing **disabled purpose ids**\n * @param enabledVendorIds: set containing **enabled vendor ids**\n * @param disabledVendorIds: set containing **disabled purpose ids**\n * @returns: **true** if consent status has been updated, **false** otherwise.\n */\n setUserConsentStatus: (\n enabledPurposeIds: string[],\n disabledPurposeIds: string[],\n enabledVendorIds: string[],\n disabledVendorIds: string[]\n ): Promise<boolean> =>\n RNDidomi.setUserConsentStatus(\n enabledPurposeIds,\n disabledPurposeIds,\n enabledVendorIds,\n disabledVendorIds\n ),\n\n /**\n * Method that allows to disable consent and legitimate interest for all the required purposes and vendors.\n * @returns: **true** if consent status has been updated, **false** otherwise.\n */\n setUserDisagreeToAll: (): Promise<boolean> => RNDidomi.setUserDisagreeToAll(),\n\n /**\n * Set the user status for purposes and vendors for consent and legitimate interest.\n * @param purposesConsentStatus: boolean used to determine if consent will be enabled or disabled for all purposes.\n * @param purposesLIStatus: boolean used to determine if legitimate interest will be enabled or disabled for all purposes.\n * @param vendorsConsentStatus: boolean used to determine if consent will be enabled or disabled for all vendors.\n * @param vendorsLIStatus: boolean used to determine if legitimate interest will be enabled or disabled for all vendors.\n * @returns: **true** if consent status has been updated, **false** otherwise.\n */\n setUserStatus: (\n purposesConsentStatus: boolean,\n purposesLIStatus: boolean,\n vendorsConsentStatus: boolean,\n vendorsLIStatus: boolean\n ): Promise<boolean> =>\n RNDidomi.setUserStatus(\n purposesConsentStatus,\n purposesLIStatus,\n vendorsConsentStatus,\n vendorsLIStatus\n ),\n\n /**\n * Set the user status for purposes and vendors for consent and legitimate interest.\n * @param enabledConsentPurposeIds: List of purpose IDs to enable for consent.\n * @param disabledConsentPurposeIds: List of purpose IDs to disable for consent.\n * @param enabledLIPurposeIds: List of purpose IDs to enable for LI.\n * @param disabledLIPurposeIds: List of purpose IDs to disable for LI.\n * @param enabledConsentVendorIds: List of vendor IDs to enable for consent.\n * @param disabledConsentVendorIds: List of vendor IDs to disable for consent.\n * @param enabledLIVendorIds: List of vendor IDs to enable for LI.\n * @param disabledLIVendorIds: List of vendor IDs to disable for LI.\n */\n setUserStatusSets: (\n enabledConsentPurposeIds: string[],\n disabledConsentPurposeIds: string[],\n enabledLIPurposeIds: string[],\n disabledLIPurposeIds: string[],\n enabledConsentVendorIds: string[],\n disabledConsentVendorIds: string[],\n enabledLIVendorIds: string[],\n disabledLIVendorIds: string[]\n ): Promise<boolean> =>\n RNDidomi.setUserStatusSets(\n enabledConsentPurposeIds,\n disabledConsentPurposeIds,\n enabledLIPurposeIds,\n disabledLIPurposeIds,\n enabledConsentVendorIds,\n disabledConsentVendorIds,\n enabledLIVendorIds,\n disabledLIVendorIds\n ),\n\n /**\n * Check if the consent should be collected depending on if we have any consents or if we have some consents but the number of days before displaying the notice again has not expired yet\n * @returns: A boolean depending if the consent should be collected or not\n */\n shouldConsentBeCollected: (): Promise<boolean> =>\n RNDidomi.shouldConsentBeCollected(),\n\n /**\n * Method used to update the selected language of the Didomi SDK and any property that depends on it.\n * In most cases this method doesn't need to be called. It would only be required for those apps that allow language change on-the-fly, i.e.: from within the app rather than from the device settings.\n * In order to update the language of the views displayed by the Didomi SDK, this method needs to be called before these views are displayed.\n * @param languageCode: string containing the language code e.g.: \"es\", \"fr\", etc.\n */\n updateSelectedLanguage: (languageCode: string): Promise<void> =>\n RNDidomi.updateSelectedLanguage(languageCode),\n};\n"]}
1
+ {"version":3,"names":["NativeModules","DidomiListener","DIDOMI_USER_AGENT_NAME","DIDOMI_VERSION","Didomi","RNDidomi","initialize","apiKey","localConfigurationPath","remoteConfigurationUrl","providerId","disableDidomiRemoteConfig","arguments","length","undefined","languageCode","noticeId","androidTvNoticeId","androidTvEnabled","init","onReady","promise","setOnReadyListener","onError","setOnErrorListener","setupUI","setLogLevel","level","addEventListener","eventType","callback","removeEventListener","removeAllEventListeners","reset","getDisabledPurposes","getDisabledPurposeIds","getDisabledVendors","getDisabledVendorIds","getEnabledPurposes","getEnabledPurposeIds","getEnabledVendors","getEnabledVendorIds","getJavaScriptForWebView","extra","getQueryStringForWebView","getPurpose","purposeId","getRequiredPurposes","getRequiredPurposeIds","getRequiredVendors","getRequiredVendorIds","getText","key","getTranslatedText","getUserConsentStatusForPurpose","getUserConsentStatusForVendor","vendorId","getUserConsentStatusForVendorAndRequiredPurposes","getUserLegitimateInterestStatusForPurpose","getUserLegitimateInterestForVendor","getUserLegitimateInterestStatusForVendor","getUserLegitimateInterestStatusForVendorAndRequiredPurposes","getUserStatus","getUserStatusForVendor","getVendor","hideNotice","hidePreferences","isConsentRequired","isUserConsentStatusPartial","isNoticeVisible","isPreferencesVisible","isError","isReady","clearUser","setUser","id","algorithm","secretId","salt","digest","setUserAndSetupUI","setUserWithHashAuth","expiration","setUserWithHashAuthWithExpiration","setUserWithHashAuthAndSetupUI","setUserWithHashAuthWithExpirationAndSetupUI","setUserWithEncryptionAuth","initializationVector","setUserWithEncryptionAuthWithExpiration","setUserWithEncryptionAuthAndSetupUI","setUserWithEncryptionAuthWithExpirationAndSetupUI","showNotice","showPreferences","view","setUserAgreeToAll","setUserConsentStatus","enabledPurposeIds","disabledPurposeIds","enabledVendorIds","disabledVendorIds","setUserDisagreeToAll","setUserStatus","purposesConsentStatus","purposesLIStatus","vendorsConsentStatus","vendorsLIStatus","setUserStatusSets","enabledConsentPurposeIds","disabledConsentPurposeIds","enabledLIPurposeIds","disabledLIPurposeIds","enabledConsentVendorIds","disabledConsentVendorIds","enabledLIVendorIds","disabledLIVendorIds","shouldConsentBeCollected","updateSelectedLanguage"],"sources":["Didomi.ts"],"sourcesContent":["import { NativeModules } from 'react-native';\nimport { DidomiListener } from './DidomiListener';\nimport { DidomiEventType, Purpose, UserStatus, Vendor } from './DidomiTypes';\nimport { DIDOMI_USER_AGENT_NAME, DIDOMI_VERSION } from './Constants';\n\nconst { Didomi: RNDidomi } = NativeModules;\n\nexport const Didomi = {\n /**\n * Initialize the Didomi SDK\n *\n * @param apiKey: Public API key of the organization from the Didomi Console.\n * @param localConfigurationPath: Path to your local config file. Defaults to didomi_config.json if null.\n * @param remoteConfigurationURL: URL to a remote configuration file to load during initialization. This parameter is not used yet. Set it to null for now.\n * @param providerId: Your provider ID (if any).\n * @param disableDidomiRemoteConfig: Whether to disable loading the remote configuration from the Didomi config. Keep this to \"false\" for loading configuration from the Didomi Console.\n * @param languageCode: Language in which the consent UI should be displayed. By default, the consent UI is displayed in the language configured in the device settings. This property allows you to override the default setting and specify a language to display the UI in. String containing the language code e.g.: \"es\", \"fr\", etc.\n * @param noticeId: Notice id for the remote configuration.\n * @param androidTvNoticeId: Notice id for the remote configuration when running on Android TV device (ignored on iOS / tvOS). Note that using remote configuration is mandatory for TV devices.\n * @param androidTvEnabled: Whether to allow Didomi SDK to run on Android TV, default to \"false\".\n */\n initialize: (\n apiKey: string,\n localConfigurationPath?: string,\n remoteConfigurationUrl?: string,\n providerId?: string,\n disableDidomiRemoteConfig: boolean = false,\n languageCode?: string,\n noticeId?: string,\n androidTvNoticeId?: string,\n androidTvEnabled: boolean = false\n ): Promise<void> => {\n // Init listener\n DidomiListener.init();\n\n // Trigger native SDK init\n return RNDidomi.initialize(\n DIDOMI_USER_AGENT_NAME,\n DIDOMI_VERSION,\n apiKey,\n localConfigurationPath,\n remoteConfigurationUrl,\n providerId,\n disableDidomiRemoteConfig,\n languageCode,\n noticeId,\n androidTvNoticeId,\n androidTvEnabled\n );\n },\n\n /**\n * Listen to SDK ready state\n */\n onReady: (): Promise<void> => {\n var promise = DidomiListener.setOnReadyListener();\n RNDidomi.onReady();\n return promise;\n },\n\n /**\n * Listen to SDK errors\n */\n onError: (): Promise<void> => {\n var promise = DidomiListener.setOnErrorListener();\n RNDidomi.onError();\n return promise;\n },\n\n /**\n * Provide the objects required to display UI elements\n */\n setupUI: (): Promise<void> => RNDidomi.setupUI(),\n\n /**\n * Set the minimum level of messages to log\n * You can decide what level of messages should be logged by the SDK by calling the setLogLevel function before initialize\n *\n * Messages with a level below `minLevel` will not be logged.\n *\n * For iOS:\n * Levels are standard levels from `OSLogType` (https://developer.apple.com/documentation/os/logging/choosing_the_log_level_for_a_message):\n * - OSLogType.info (1)\n * - OSLogType.debug (2)\n * - OSLogType.error (16)\n * - OSLogType.fault (17)\n *\n * We recommend setting `OSLogType.error` (16) in production\n *\n * For Android:\n * Use the standard log levels supported by android.util.Log: VERBOSE, DEBUG, INFO, WARN and ERROR.\n * (https://developer.android.com/reference/android/util/Log#constants_1)\n *\n * We recommend setting `Log.INFO` (4) in production\n *\n * @param minLevel: Minimum level of messages to log\n */\n setLogLevel: (level: number): Promise<void> => RNDidomi.setLogLevel(level),\n\n /**\n * Add an event listener\n * @param listener:\n */\n addEventListener: (\n eventType: DidomiEventType,\n callback: (data: any) => void\n ) => DidomiListener.addEventListener(eventType, callback),\n\n /**\n * Remove an event listener\n * @param listener:\n */\n removeEventListener: (\n eventType: DidomiEventType,\n callback: (data: any) => void\n ) => DidomiListener.removeEventListener(eventType, callback),\n\n /**\n * Remove all event listeners\n */\n removeAllEventListeners: () => DidomiListener.reset(),\n\n /**\n * Method used to get an array of disabled purposes.\n * @returns: array of disabled purposes.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method\n * has been replaced by getUserStatus().purposes.consent.disabled.\n */\n getDisabledPurposes: (): Promise<Purpose[]> => RNDidomi.getDisabledPurposes(),\n\n /**\n * Method used to get a set of disabled purpose IDs.\n * @returns: set that contains the IDs of disabled purposes.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method\n * has been replaced by getUserStatus().purposes.consent.enabled.\n */\n getDisabledPurposeIds: (): Promise<string[]> => RNDidomi.getDisabledPurposeIds(),\n\n /**\n * Method used to get an array of disabled vendors.\n * @returns: array of disabled vendors.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method\n * has been replaced by getUserStatus().vendors.consent.disabled.\n */\n getDisabledVendors: (): Promise<Vendor[]> => RNDidomi.getDisabledVendors(),\n\n /**\n * Method used to get a set of disabled vendor IDs.\n * @returns: set that contains the IDs of disabled vendors.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method\n * has been replaced by getUserStatus().vendors.consent.disabled.\n */\n getDisabledVendorIds: (): Promise<string[]> => RNDidomi.getDisabledVendorIds(),\n\n /**\n * Method used to get an array of enabled purposes.\n * @returns: array of enabled purposes.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method\n * has been replaced by getUserStatus().purposes.consent.enabled.\n */\n getEnabledPurposes: (): Promise<Purpose[]> => RNDidomi.getEnabledPurposes(),\n\n /**\n * Method used to get a set of enabled purpose IDs.\n * @returns: set that contains the IDs of enabled purposes.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method\n * has been replaced by getUserStatus().purposes.consent.enabled.\n */\n getEnabledPurposeIds: (): Promise<string[]> => RNDidomi.getEnabledPurposeIds(),\n\n /**\n * Method used to get an array of enabled vendors.\n * @returns: array of enabled vendors.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method\n * has been replaced by getUserStatus().vendors.consent.enabled.\n */\n getEnabledVendors: (): Promise<Vendor[]> => RNDidomi.getEnabledVendors(),\n\n /**\n * Method used to get a set of enabled vendor IDs.\n * @returns: set that contains the IDs of enabled vendors.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method\n * has been replaced by getUserStatus().vendors.consent.enabled.\n */\n getEnabledVendorIds: (): Promise<string[]> => RNDidomi.getEnabledVendorIds(),\n\n /**\n * Get JavaScript to embed into a WebView to pass the consent status from the app\n * to the Didomi Web SDK embedded into the WebView\n * Inject the returned JavaScript into a WebView\n * @param extra: Extra JavaScript to inject in the returned code\n * @returns: JavaScript code to inject in a WebView\n */\n getJavaScriptForWebView: (extra?: string | null): Promise<string> => RNDidomi.getJavaScriptForWebView(extra),\n\n getQueryStringForWebView: (): Promise<string> => RNDidomi.getQueryStringForWebView(),\n\n /**\n * Method used to get a Purpose based on its ID.\n * @param purposeId: purpose ID used in the search.\n * @returns: purpose found in the array.\n */\n getPurpose: (purposeId: string): Promise<Purpose> => RNDidomi.getPurpose(purposeId),\n\n /**\n * Method used to get an array of required purposes.\n *\n * @returns: array of required purposes.\n */\n getRequiredPurposes: (): Promise<Purpose[]> => RNDidomi.getRequiredPurposes(),\n\n /**\n * Get the configured purpose IDs\n * @returns: set of purpose IDs.\n */\n getRequiredPurposeIds: (): Promise<string[]> => RNDidomi.getRequiredPurposeIds(),\n\n /**\n * Method used to get an array of required vendors.\n * @returns: array of required vendors.\n */\n getRequiredVendors: (): Promise<Vendor[]> => RNDidomi.getRequiredVendors(),\n\n /**\n * Get the configured vendor IDs\n * @returns: set of vendor IDs.\n */\n getRequiredVendorIds: (): Promise<string[]> => RNDidomi.getRequiredVendorIds(),\n\n /**\n * Method used to get a dictionary/map in the form of { \"en\": \"Key in English\", \"fr\": \"Key in French.\" }\n * for a given key.\n * @param key: used to find its corresponding value in the dictionary/map.\n * @returns: dictionary containing the different translations for a given key.\n */\n getText: (key: string): Promise<any[]> => RNDidomi.getText(key),\n\n /**\n * Method used to get a translated text based on the key being passed.\n * The language and the source of this translated text will depend on the availability of the translation for the specific key.\n * The language being used will be either the selected language of the SDK (based on device Locale and other parameters) or the language specified by app developers as the default language being used by the SDK. The source can be either the `didomi_config.json` file which can be either local or remote, or the `didomi_master_config.json` file which is bundled within the SDK.\n *\n * These are the attempts performed by the SDK to try to find a translation for the specific key:\n * - Get translated value in user locale (selected language) from `didomi_config.json` (either local or remote).\n * - Get translated value in default locale (from the config) from `didomi_config.json` (either local or remote).\n * - Get translated value in user locale (selected language) from `didomi_master_config.json` (bundled within the Didomi SDK).\n * - Get translated value in default locale (from the config) from `didomi_master_config.json` (bundled within the Didomi SDK).\n *\n * If no translation can be found after these 4 attempts, the key will be returned.\n *\n * App developers can provide these translated texts through the `didomi_config.json` file (locally or remotely) in 3 different ways:\n * - Custom texts for the consent notice: https://developers.didomi.io/cmp/mobile-sdk/consent-notice/customize-the-notice#texts\n * - Custom texts for the preferences: https://developers.didomi.io/cmp/mobile-sdk/consent-notice/customize-the-preferences-popup#text\n * - Custom texts for custom notices: https://developers.didomi.io/cmp/mobile-sdk/consent-notice/customize-the-theme#translatable-texts-for-custom-notices\n *\n * @param key: used to find its corresponding value in one of the different sources.\n * @returns: a translated string if a translation was found, the same key that was passed otherwise.\n */\n getTranslatedText: (key: string): Promise<string> => RNDidomi.getTranslatedText(key),\n\n /**\n * Get the user consent status for a specific purpose\n * @param purposeId: The purpose ID to check consent for\n * @returns: The user consent status for the specified purpose\n * @deprecated use {@link #getUserStatus()} instead. Search the purposeId in\n * getUserStatus().purposes.consent.enabled or\n * getUserStatus().purposes.consent.enabled.\n */\n getUserConsentStatusForPurpose: (purposeId: string): Promise<boolean> => RNDidomi.getUserConsentStatusForPurpose(purposeId),\n\n /**\n * Get the user consent status for a specific vendor\n * @param vendorId: The vendor ID to check consent for\n * @returns: The user consent status for the specified vendor\n * @deprecated use {@link #getUserStatus()} instead. Search the vendorId in\n * getUserStatus().vendors.consent.enabled or\n * getUserStatus().vendors.consent.disabled.\n */\n getUserConsentStatusForVendor: (vendorId: string): Promise<boolean> => RNDidomi.getUserConsentStatusForVendor(vendorId),\n\n /**\n * Get the user consent status for a specific vendor and all its purposes\n * @param vendorId: The ID of the vendor\n * @returns: The user consent status corresponding to the specified vendor and all its required purposes.\n * @deprecated use {@link #getUserStatus()} instead. The result of this method has been replaced\n * by getUserStatus().vendors.global_consent.enabled or\n * getUserStatus().vendors.global_consent.disabled.\n */\n getUserConsentStatusForVendorAndRequiredPurposes: (vendorId: string): Promise<boolean> => RNDidomi.getUserConsentStatusForVendorAndRequiredPurposes(vendorId),\n\n /**\n * Get the user legitimate interest status for a specific purpose.\n * @param purposeId: purpose ID.\n * @returns: LI status of a purpose.\n * @deprecated use {@link #getUserStatus()} instead. Search the purposeId in\n * getUserStatus().purposes.consent.enabled or\n * getUserStatus().purposes.consent.enabled.\n */\n getUserLegitimateInterestStatusForPurpose: (purposeId: string): Promise<boolean> => RNDidomi.getUserLegitimateInterestStatusForPurpose(purposeId),\n\n /**\n * Get the user legitimate interest status for a specific vendor.\n * @param vendorId: vendor ID.\n * @returns: LI status of a vendor.\n * @deprecated use {@link #getUserStatus()} instead. Search the vendorId in\n * getUserStatus().vendors.legitimate_interest.enabled or\n * getUserStatus().vendors.legitimate_interest.disabled.\n */\n getUserLegitimateInterestForVendor: (vendorId: string): Promise<boolean> => RNDidomi.getUserLegitimateInterestStatusForVendor(vendorId),\n\n /**\n * Get the user LI status for a specific vendor and all its purposes.\n * @param vendorId: vendor ID.\n * @returns: The user LI status corresponding to the specified vendor and all its required purposes.\n * @deprecated use {@link #getUserStatus()} instead. Search the purposeId in\n * getUserStatus().vendors.global_legitimate_interest.enabled or\n * getUserStatus().vendors.global_legitimate_interest.disabled.\n */\n getUserLegitimateInterestStatusForVendorAndRequiredPurposes: (vendorId: string): boolean => RNDidomi.getUserLegitimateInterestStatusForVendorAndRequiredPurposes(vendorId),\n\n /**\n * Get the user consent status.\n * @returns: status that represents user consent.\n */\n getUserStatus: (): Promise<UserStatus> => RNDidomi.getUserStatus(),\n\n /**\n * Get the user consent and legitimate interest status for a specific vendor.\n * @param vendorId: vendor ID.\n * @returns: status that represents both consent and legitimate interest status of a vendor.\n * @deprecated use {@link #getUserStatus()} instead. Search the vendorId in\n * getUserStatus().vendors.global.enabled or\n * getUserStatus().vendors.global.disabled.\n */\n getUserStatusForVendor: (vendorId: string): Promise<boolean> => RNDidomi.getUserStatusForVendor(vendorId),\n\n /**\n * Method used to get a Vendor based on its ID.\n * @param vendorId: vendor ID used in the search.\n * @returns: vendor found in the array.\n */\n getVendor: (vendorId: string): Promise<Vendor> => RNDidomi.getVendor(vendorId),\n\n /**\n * Hide the notice if it is currently displayed\n */\n hideNotice: (): Promise<void> => RNDidomi.hideNotice(),\n\n /**\n * Hide the preferences popup for purposes\n */\n hidePreferences: (): Promise<void> => RNDidomi.hidePreferences(),\n\n /**\n * Determine if consent is required for the user. The rules are (OR):\n * - The user country is in the EU.\n * - The company is from the EU.\n * - The user country is unknown and the app has chosen to collect consent when unknown.\n * @returns: **true** if consent is required, **false** if it is not required.\n */\n isConsentRequired: (): Promise<boolean> => RNDidomi.isConsentRequired(),\n\n /**\n * Determine if consent information is available for all purposes and vendors that are required\n * @returns: **true** if consent is required and consent information is available, **false** otherwise.\n */\n isUserConsentStatusPartial: (): Promise<boolean> => RNDidomi.isUserConsentStatusPartial(),\n\n /**\n * Check if the consent notice is currently displayed\n * @returns: **true** if the notice is displayed, **false** if is not.\n */\n isNoticeVisible: (): Promise<boolean> => RNDidomi.isNoticeVisible(),\n\n /**\n * Method used to check if the Preferences view is visible.\n * @returns: **true** if Preferences view is visible, **false** otherwise.\n */\n isPreferencesVisible: (): Promise<boolean> => RNDidomi.isPreferencesVisible(),\n\n isError: (): Promise<boolean> => RNDidomi.isError(),\n\n /**\n * Is the Didomi SDK ready?\n */\n isReady: (): Promise<boolean> => RNDidomi.isReady(),\n\n /**\n * Clear user information\n */\n clearUser: (): Promise<void> => RNDidomi.clearUser(),\n\n /**\n * Set user information without authentication\n *\n * @param id Organization user ID\n * @param algorithm Deprecated. To set user with authentication, use setUserWithHashAuth or setUserWithEncryptionAuth.\n * @param secretId Deprecated. To set user with authentication, use setUserWithHashAuth or setUserWithEncryptionAuth.\n * @param salt Deprecated. To set user with authentication, use setUserWithHashAuth or setUserWithEncryptionAuth.\n * @param digest Deprecated. To set user with authentication, use setUserWithHashAuth or setUserWithEncryptionAuth.\n */\n setUser: (\n id: string,\n algorithm?: string,\n secretId?: string,\n salt?: string,\n digest?: string\n ): Promise<void> =>\n RNDidomi.setUser(\n id,\n algorithm,\n secretId,\n salt,\n digest\n ),\n\n /**\n * Set user information without authentication and check for missing consent\n *\n * @param id Organization user ID\n */\n setUserAndSetupUI: (id: string): Promise<void> => RNDidomi.setUserAndSetupUI(id),\n\n /**\n * Set user information with Hash authentication\n *\n * @param id Organization user ID\n * @param algorithm Algorithm used for computing the digest\n * @param secretId ID of the secret used for computing the digest\n * @param digest Digest of the organization user ID and secret\n * @param salt Salt used for computing the digest (optional)\n * @param expiration Expiration date as timestamp (to prevent replay attacks)\n */\n setUserWithHashAuth: (\n id: string,\n algorithm: string,\n secretId: string,\n digest: string,\n salt?: string,\n expiration?: BigInt\n ): void => {\n if (expiration === undefined) {\n RNDidomi.setUserWithHashAuth(\n id,\n algorithm,\n secretId,\n digest,\n salt\n );\n } else {\n RNDidomi.setUserWithHashAuthWithExpiration(\n id,\n algorithm,\n secretId,\n digest,\n salt,\n expiration\n );\n }\n },\n\n /**\n * Set user information with Hash authentication and check for missing consent\n *\n * @param id Organization user ID\n * @param algorithm Algorithm used for computing the digest\n * @param secretId ID of the secret used for computing the digest\n * @param digest Digest of the organization user ID and secret\n * @param salt Salt used for computing the digest (optional)\n * @param expiration Expiration date as timestamp (to prevent replay attacks)\n */\n setUserWithHashAuthAndSetupUI: (\n id: string,\n algorithm: string,\n secretId: string,\n digest: string,\n salt?: string,\n expiration?: BigInt\n ): void => {\n if (expiration === undefined) {\n RNDidomi.setUserWithHashAuthAndSetupUI(\n id,\n algorithm,\n secretId,\n digest,\n salt\n );\n } else {\n RNDidomi.setUserWithHashAuthWithExpirationAndSetupUI(\n id,\n algorithm,\n secretId,\n digest,\n salt,\n expiration\n );\n }\n },\n\n /**\n * Set user information with Encryption authentication\n *\n * @param id Organization user ID\n * @param algorithm Algorithm used for computing the digest\n * @param secretId ID of the secret used for computing the digest\n * @param initializationVector Initialization Vector used for computing the user ID\n * @param expiration Expiration date as timestamp (to prevent replay attacks)\n */\n setUserWithEncryptionAuth: (\n id: string,\n algorithm: string,\n secretId: string,\n initializationVector: string,\n expiration?: BigInt\n ): void => {\n if (expiration === undefined) {\n RNDidomi.setUserWithEncryptionAuth(\n id,\n algorithm,\n secretId,\n initializationVector\n );\n } else {\n RNDidomi.setUserWithEncryptionAuthWithExpiration(\n id,\n algorithm,\n secretId,\n initializationVector,\n expiration\n );\n }\n },\n\n /**\n * Set user information with Encryption authentication and check for missing consent\n *\n * @param id Organization user ID\n * @param algorithm Algorithm used for computing the digest\n * @param secretId ID of the secret used for computing the digest\n * @param initializationVector Initialization Vector used for computing the user ID\n * @param expiration Expiration date as timestamp (to prevent replay attacks)\n */\n setUserWithEncryptionAuthAndSetupUI: (\n id: string,\n algorithm: string,\n secretId: string,\n initializationVector: string,\n expiration?: BigInt\n ): void => {\n if (expiration === undefined) {\n RNDidomi.setUserWithEncryptionAuthAndSetupUI(\n id,\n algorithm,\n secretId,\n initializationVector\n );\n } else {\n RNDidomi.setUserWithEncryptionAuthWithExpirationAndSetupUI(\n id,\n algorithm,\n secretId,\n initializationVector,\n expiration\n );\n }\n },\n\n /**\n * Show the consent notice (if required, not disabled in the config and not already displayed)\n */\n showNotice: (): Promise<void> => RNDidomi.showNotice(),\n\n /**\n * Show the preferences screen when/if the SDK is ready. By default the purposes list will be displayed.\n * @param view: It can be `purposes` or `vendors`\n */\n showPreferences: (view?: string): Promise<void> => RNDidomi.showPreferences(view),\n\n /**\n * Remove all consents for the user\n */\n reset: (): Promise<void> => RNDidomi.reset(),\n\n /**\n * Method that allows to enable consent and legitimate interest for all the required purposes.\n * @returns: **true** if consent status has been updated, **false** otherwise.\n */\n setUserAgreeToAll: (): Promise<boolean> => RNDidomi.setUserAgreeToAll(),\n\n /**\n * Set the user consent status.\n * @param enabledPurposeIds: set containing **enabled purpose ids**\n * @param disabledPurposeIds: set containing **disabled purpose ids**\n * @param enabledVendorIds: set containing **enabled vendor ids**\n * @param disabledVendorIds: set containing **disabled purpose ids**\n * @returns: **true** if consent status has been updated, **false** otherwise.\n */\n setUserConsentStatus: (\n enabledPurposeIds: string[],\n disabledPurposeIds: string[],\n enabledVendorIds: string[],\n disabledVendorIds: string[]\n ): Promise<boolean> =>\n RNDidomi.setUserConsentStatus(\n enabledPurposeIds,\n disabledPurposeIds,\n enabledVendorIds,\n disabledVendorIds\n ),\n\n /**\n * Method that allows to disable consent and legitimate interest for all the required purposes and vendors.\n * @returns: **true** if consent status has been updated, **false** otherwise.\n */\n setUserDisagreeToAll: (): Promise<boolean> => RNDidomi.setUserDisagreeToAll(),\n\n /**\n * Set the user status for purposes and vendors for consent and legitimate interest.\n * @param purposesConsentStatus: boolean used to determine if consent will be enabled or disabled for all purposes.\n * @param purposesLIStatus: boolean used to determine if legitimate interest will be enabled or disabled for all purposes.\n * @param vendorsConsentStatus: boolean used to determine if consent will be enabled or disabled for all vendors.\n * @param vendorsLIStatus: boolean used to determine if legitimate interest will be enabled or disabled for all vendors.\n * @returns: **true** if consent status has been updated, **false** otherwise.\n */\n setUserStatus: (\n purposesConsentStatus: boolean,\n purposesLIStatus: boolean,\n vendorsConsentStatus: boolean,\n vendorsLIStatus: boolean\n ): Promise<boolean> =>\n RNDidomi.setUserStatus(\n purposesConsentStatus,\n purposesLIStatus,\n vendorsConsentStatus,\n vendorsLIStatus\n ),\n\n /**\n * Set the user status for purposes and vendors for consent and legitimate interest.\n * @param enabledConsentPurposeIds: List of purpose IDs to enable for consent.\n * @param disabledConsentPurposeIds: List of purpose IDs to disable for consent.\n * @param enabledLIPurposeIds: List of purpose IDs to enable for LI.\n * @param disabledLIPurposeIds: List of purpose IDs to disable for LI.\n * @param enabledConsentVendorIds: List of vendor IDs to enable for consent.\n * @param disabledConsentVendorIds: List of vendor IDs to disable for consent.\n * @param enabledLIVendorIds: List of vendor IDs to enable for LI.\n * @param disabledLIVendorIds: List of vendor IDs to disable for LI.\n */\n setUserStatusSets: (\n enabledConsentPurposeIds: string[],\n disabledConsentPurposeIds: string[],\n enabledLIPurposeIds: string[],\n disabledLIPurposeIds: string[],\n enabledConsentVendorIds: string[],\n disabledConsentVendorIds: string[],\n enabledLIVendorIds: string[],\n disabledLIVendorIds: string[]\n ): Promise<boolean> =>\n RNDidomi.setUserStatusSets(\n enabledConsentPurposeIds,\n disabledConsentPurposeIds,\n enabledLIPurposeIds,\n disabledLIPurposeIds,\n enabledConsentVendorIds,\n disabledConsentVendorIds,\n enabledLIVendorIds,\n disabledLIVendorIds\n ),\n\n /**\n * Check if the consent should be collected depending on if we have any consents or if we have some consents but the number of days before displaying the notice again has not expired yet\n * @returns: A boolean depending if the consent should be collected or not\n */\n shouldConsentBeCollected: (): Promise<boolean> =>\n RNDidomi.shouldConsentBeCollected(),\n\n /**\n * Method used to update the selected language of the Didomi SDK and any property that depends on it.\n * In most cases this method doesn't need to be called. It would only be required for those apps that allow language change on-the-fly, i.e.: from within the app rather than from the device settings.\n * In order to update the language of the views displayed by the Didomi SDK, this method needs to be called before these views are displayed.\n * @param languageCode: string containing the language code e.g.: \"es\", \"fr\", etc.\n */\n updateSelectedLanguage: (languageCode: string): Promise<void> =>\n RNDidomi.updateSelectedLanguage(languageCode),\n};\n"],"mappings":"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"}