@didomi/react-native 2.0.0 → 2.0.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.
@@ -124,5 +124,5 @@ dependencies {
124
124
 
125
125
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
126
126
 
127
- implementation "io.didomi.sdk:android:2.0.0"
127
+ implementation "io.didomi.sdk:android:2.2.0"
128
128
  }
@@ -225,6 +225,7 @@ class DidomiModule(reactContext: ReactApplicationContext) : ReactContextBaseJava
225
225
  */
226
226
  override fun languageUpdateFailed(event: LanguageUpdateFailedEvent) = prepareEvent(EventTypes.LANGUAGE_UPDATE_FAILED.event, event.reason)
227
227
  }
228
+ private val vendorStatusListeners: MutableSet<String> = mutableSetOf()
228
229
 
229
230
  override fun getName() = "Didomi"
230
231
 
@@ -932,7 +933,26 @@ class DidomiModule(reactContext: ReactApplicationContext) : ReactContextBaseJava
932
933
  // Keep: Required for RN built in Event Emitter Calls.
933
934
  }
934
935
 
935
- private fun prepareEvent(eventName: String, params: String?) {
936
+ @ReactMethod
937
+ fun listenToVendorStatus(vendorId: String) {
938
+ if (!vendorStatusListeners.contains(vendorId)) {
939
+ Didomi.getInstance().addVendorStatusListener(vendorId) { vendorStatus ->
940
+ val statusAsMap = objectToWritableMap(vendorStatus)
941
+ prepareEvent("${EventTypes.VENDOR_STATUS_CHANGE_PREFIX.event}$vendorId", statusAsMap)
942
+ }
943
+ vendorStatusListeners.add(vendorId)
944
+ }
945
+ }
946
+
947
+ @ReactMethod
948
+ fun stopListeningToVendorStatus(vendorId: String) {
949
+ if (vendorStatusListeners.contains(vendorId)) {
950
+ Didomi.getInstance().removeVendorStatusListener(vendorId)
951
+ vendorStatusListeners.remove(vendorId)
952
+ }
953
+ }
954
+
955
+ private fun prepareEvent(eventName: String, params: Any?) {
936
956
  Log.d("prepareEvent", "Sending $eventName")
937
957
  reactContext
938
958
  .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
@@ -52,5 +52,7 @@ enum class EventTypes(val event: String) {
52
52
  SYNC_ERROR("on_sync_error"),
53
53
  // Language
54
54
  LANGUAGE_UPDATED("on_language_updated"),
55
- LANGUAGE_UPDATE_FAILED("on_language_update_failed");
55
+ LANGUAGE_UPDATE_FAILED("on_language_update_failed"),
56
+ // Vendor Status
57
+ VENDOR_STATUS_CHANGE_PREFIX("on_vendor_status_change_");
56
58
  }
package/ios/Didomi.m CHANGED
@@ -242,6 +242,14 @@ RCT_EXTERN_METHOD(setUserWithEncryptionAuthWithExpirationAndSetupUI:(NSString *)
242
242
  resolve:(RCTPromiseResolveBlock)resolve
243
243
  reject:(RCTPromiseRejectBlock)reject)
244
244
 
245
+ RCT_EXTERN_METHOD(listenToVendorStatus:(NSString *)vendorId
246
+ resolve:(RCTPromiseResolveBlock)resolve
247
+ reject:(RCTPromiseRejectBlock)reject)
248
+
249
+ RCT_EXTERN_METHOD(stopListeningToVendorStatus:(NSString *)vendorId
250
+ resolve:(RCTPromiseResolveBlock)resolve
251
+ reject:(RCTPromiseRejectBlock)reject)
252
+
245
253
  RCT_EXTERN_METHOD(supportedEvents)
246
254
 
247
255
  @end
@@ -6,6 +6,7 @@ import AppTrackingTransparency
6
6
  class RNDidomi: RCTEventEmitter {
7
7
 
8
8
  var didomiEventListener: EventListener
9
+ var vendorStatusListeners: Set<String> = Set()
9
10
 
10
11
  override init() {
11
12
  didomiEventListener = EventListener()
@@ -474,6 +475,28 @@ class RNDidomi: RCTEventEmitter {
474
475
  }
475
476
  resolve(0)
476
477
  }
478
+
479
+ @objc(listenToVendorStatus:resolve:reject:)
480
+ dynamic func listenToVendorStatus(vendorId: String, resolve:RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) {
481
+ if (!vendorStatusListeners.contains(vendorId)) {
482
+ vendorStatusListeners.insert(vendorId)
483
+ Didomi.shared.addVendorStatusListener(id: vendorId) { vendorStatus in
484
+ let encoder = JSONEncoder()
485
+ let statusJson = try? JSONSerialization.jsonObject(with: encoder.encode(vendorStatus)) as? [String: Any]
486
+ self.dispatchEvent(withName: "on_vendor_status_change_\(vendorId)", body: statusJson)
487
+ }
488
+ }
489
+ resolve(0)
490
+ }
491
+
492
+ @objc(stopListeningToVendorStatus:resolve:reject:)
493
+ dynamic func stopListeningToVendorStatus(vendorId: String, resolve:RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) {
494
+ if (vendorStatusListeners.contains(vendorId)) {
495
+ Didomi.shared.removeVendorStatusListener(id: vendorId)
496
+ vendorStatusListeners.remove(vendorId)
497
+ }
498
+ resolve(0)
499
+ }
477
500
  }
478
501
 
479
502
  // MARK: Didomi Specific structs
@@ -499,7 +522,7 @@ extension RNDidomi {
499
522
 
500
523
  @objc(supportedEvents)
501
524
  override func supportedEvents() -> [String]! {
502
- return [
525
+ var eventsSet = Set([
503
526
  // Consent
504
527
  "on_consent_changed",
505
528
  // SDK lifecycle events
@@ -552,7 +575,11 @@ extension RNDidomi {
552
575
  // Language
553
576
  "on_language_updated",
554
577
  "on_language_update_failed"
555
- ]
578
+ ])
579
+ vendorStatusListeners.forEach {
580
+ eventsSet.insert("on_vendor_status_change_\($0)")
581
+ }
582
+ return Array(eventsSet)
556
583
  }
557
584
 
558
585
  private func initEventListener() {
@@ -721,7 +748,7 @@ extension RNDidomi {
721
748
  }
722
749
 
723
750
  /// Sends the specified event only if the react-native bridge is still valid
724
- private func dispatchEvent(withName: String, body: String?) {
751
+ private func dispatchEvent(withName: String, body: Any?) {
725
752
  if self.bridge != nil {
726
753
  self.sendEvent(withName: withName, body: body)
727
754
  } else {
@@ -7,5 +7,5 @@ exports.DIDOMI_VERSION = exports.DIDOMI_USER_AGENT_NAME = void 0;
7
7
  // User agent name
8
8
  const DIDOMI_USER_AGENT_NAME = exports.DIDOMI_USER_AGENT_NAME = "Didomi React-Native SDK";
9
9
  // User agent version
10
- const DIDOMI_VERSION = exports.DIDOMI_VERSION = "2.0.0";
10
+ const DIDOMI_VERSION = exports.DIDOMI_VERSION = "2.0.1";
11
11
  //# sourceMappingURL=Constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DIDOMI_USER_AGENT_NAME","exports","DIDOMI_VERSION"],"sources":["Constants.ts"],"sourcesContent":["// User agent name\nexport const DIDOMI_USER_AGENT_NAME = \"Didomi React-Native SDK\"\n// User agent version\nexport const DIDOMI_VERSION = \"2.0.0\"\n"],"mappings":";;;;;;AAAA;AACO,MAAMA,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAG,yBAAyB;AAC/D;AACO,MAAME,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAG,OAAO"}
1
+ {"version":3,"names":["DIDOMI_USER_AGENT_NAME","exports","DIDOMI_VERSION"],"sources":["Constants.ts"],"sourcesContent":["// User agent name\nexport const DIDOMI_USER_AGENT_NAME = \"Didomi React-Native SDK\"\n// User agent version\nexport const DIDOMI_VERSION = \"2.0.1\"\n"],"mappings":";;;;;;AAAA;AACO,MAAMA,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAG,yBAAyB;AAC/D;AACO,MAAME,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAG,OAAO","ignoreList":[]}
@@ -80,6 +80,24 @@ const Didomi = exports.Didomi = {
80
80
  * @param listener:
81
81
  */
82
82
  addEventListener: (eventType, callback) => _DidomiListener.DidomiListener.addEventListener(eventType, callback),
83
+ /**
84
+ * Add a listener to be triggered when the user status for the selected vendor changes
85
+ * The callback will be registered after the SDK is ready
86
+ * @param vendorId: the id of the vendor
87
+ * @param callback: the callback to trigger when the user status for the selected vendor changes
88
+ */
89
+ addVendorStatusListener: (vendorId, callback) => {
90
+ RNDidomi.listenToVendorStatus(vendorId);
91
+ _DidomiListener.DidomiListener.addVendorStatusListener(vendorId, callback);
92
+ },
93
+ /**
94
+ * Remove one or multiple previously added vendor status listeners
95
+ * @param vendorId the id of the vendor
96
+ */
97
+ removeVendorStatusListener: vendorId => {
98
+ RNDidomi.stopListeningToVendorStatus(vendorId);
99
+ _DidomiListener.DidomiListener.removeVendorStatusListener(vendorId);
100
+ },
83
101
  /**
84
102
  * Remove an event listener
85
103
  * @param listener:
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_DidomiListener","_Constants","Didomi","RNDidomi","NativeModules","exports","initialize","apiKey","localConfigurationPath","remoteConfigurationUrl","providerId","disableDidomiRemoteConfig","languageCode","noticeId","androidTvNoticeId","androidTvEnabled","DidomiListener","init","DIDOMI_USER_AGENT_NAME","DIDOMI_VERSION","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","getCurrentUserStatus","getUserStatus","getUserStatusForVendor","getVendor","hideNotice","hidePreferences","isConsentRequired","shouldUserStatusBeCollected","isUserConsentStatusPartial","isUserStatusPartial","isNoticeVisible","isPreferencesVisible","isError","isReady","clearUser","setUser","id","setUserAndSetupUI","setUserWithHashAuth","algorithm","secretId","digest","salt","expiration","undefined","setUserWithHashAuthWithExpiration","setUserWithHashAuthAndSetupUI","setUserWithHashAuthWithExpirationAndSetupUI","setUserWithEncryptionAuth","initializationVector","setUserWithEncryptionAuthWithExpiration","setUserWithEncryptionAuthAndSetupUI","setUserWithEncryptionAuthWithExpirationAndSetupUI","showNotice","showPreferences","view","setUserAgreeToAll","setUserConsentStatus","enabledPurposeIds","disabledPurposeIds","enabledVendorIds","disabledVendorIds","setUserDisagreeToAll","setCurrentUserStatus","currentUserStatus","jsonString","JSON","stringify","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, Vendor, UserStatus, CurrentUserStatus } 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 current user consent status.\n * @returns: status that represents current user consent.\n */\n getCurrentUserStatus: (): Promise<CurrentUserStatus> => RNDidomi.getCurrentUserStatus(),\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 user status should be collected for the user.\n * Returns **true** if user status is required for the current user and regulation, and one of the following two conditions is met:\n * - User status has never been collected for this user yet\n * - New user status should be collected (as new vendors have been added) AND the number of days before recollecting them has exceeded\n * @returns: **true** if user status should be collected according to these rules, **false** otherwise.\n */\n shouldUserStatusBeCollected: (): Promise<boolean> => RNDidomi.shouldUserStatusBeCollected(),\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 * Determine if user did not express a choice for any purpose or vendor that is required\n * @returns: **true** if user choice is required and a choice is not expressed, **false** otherwise.\n */\n isUserStatusPartial: (): Promise<boolean> => RNDidomi.isUserStatusPartial(),\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 */\n setUser: (id: string): Promise<void> => RNDidomi.setUser(id),\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`, `vendors` or `senstive-personal-information`.\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 user's choices for purposes and vendors for the current regulation.\n * @param currentUserStatus: instance of CurrentUserStatus containing the user's choices.\n * @returns: **true** if user status has been updated, **false** otherwise.\n */\n setCurrentUserStatus: (\n currentUserStatus: CurrentUserStatus\n ): Promise<boolean> => {\n const jsonString = JSON.stringify(currentUserStatus);\n return RNDidomi.setCurrentUserStatus(jsonString)\n },\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 * @deprecated use {@link #shouldUserStatusBeCollected()} instead.\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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"}
1
+ {"version":3,"names":["_reactNative","require","_DidomiListener","_Constants","Didomi","RNDidomi","NativeModules","exports","initialize","apiKey","localConfigurationPath","remoteConfigurationUrl","providerId","disableDidomiRemoteConfig","languageCode","noticeId","androidTvNoticeId","androidTvEnabled","DidomiListener","init","DIDOMI_USER_AGENT_NAME","DIDOMI_VERSION","onReady","promise","setOnReadyListener","onError","setOnErrorListener","setupUI","setLogLevel","level","addEventListener","eventType","callback","addVendorStatusListener","vendorId","listenToVendorStatus","removeVendorStatusListener","stopListeningToVendorStatus","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","getUserConsentStatusForVendorAndRequiredPurposes","getUserLegitimateInterestStatusForPurpose","getUserLegitimateInterestForVendor","getUserLegitimateInterestStatusForVendor","getUserLegitimateInterestStatusForVendorAndRequiredPurposes","getCurrentUserStatus","getUserStatus","getUserStatusForVendor","getVendor","hideNotice","hidePreferences","isConsentRequired","shouldUserStatusBeCollected","isUserConsentStatusPartial","isUserStatusPartial","isNoticeVisible","isPreferencesVisible","isError","isReady","clearUser","setUser","id","setUserAndSetupUI","setUserWithHashAuth","algorithm","secretId","digest","salt","expiration","undefined","setUserWithHashAuthWithExpiration","setUserWithHashAuthAndSetupUI","setUserWithHashAuthWithExpirationAndSetupUI","setUserWithEncryptionAuth","initializationVector","setUserWithEncryptionAuthWithExpiration","setUserWithEncryptionAuthAndSetupUI","setUserWithEncryptionAuthWithExpirationAndSetupUI","showNotice","showPreferences","view","setUserAgreeToAll","setUserConsentStatus","enabledPurposeIds","disabledPurposeIds","enabledVendorIds","disabledVendorIds","setUserDisagreeToAll","setCurrentUserStatus","currentUserStatus","jsonString","JSON","stringify","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, Vendor, UserStatus, CurrentUserStatus, VendorStatus } 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 * Add a listener to be triggered when the user status for the selected vendor changes\n * The callback will be registered after the SDK is ready\n * @param vendorId: the id of the vendor\n * @param callback: the callback to trigger when the user status for the selected vendor changes\n */\n addVendorStatusListener: (\n vendorId: string,\n callback: (vendorStatus: VendorStatus) => void\n ) => {\n RNDidomi.listenToVendorStatus(vendorId)\n DidomiListener.addVendorStatusListener(vendorId, callback);\n },\n\n /**\n * Remove one or multiple previously added vendor status listeners\n * @param vendorId the id of the vendor\n */\n removeVendorStatusListener: (vendorId: string) => {\n RNDidomi.stopListeningToVendorStatus(vendorId)\n DidomiListener.removeVendorStatusListener(vendorId);\n },\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 current user consent status.\n * @returns: status that represents current user consent.\n */\n getCurrentUserStatus: (): Promise<CurrentUserStatus> => RNDidomi.getCurrentUserStatus(),\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 user status should be collected for the user.\n * Returns **true** if user status is required for the current user and regulation, and one of the following two conditions is met:\n * - User status has never been collected for this user yet\n * - New user status should be collected (as new vendors have been added) AND the number of days before recollecting them has exceeded\n * @returns: **true** if user status should be collected according to these rules, **false** otherwise.\n */\n shouldUserStatusBeCollected: (): Promise<boolean> => RNDidomi.shouldUserStatusBeCollected(),\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 * Determine if user did not express a choice for any purpose or vendor that is required\n * @returns: **true** if user choice is required and a choice is not expressed, **false** otherwise.\n */\n isUserStatusPartial: (): Promise<boolean> => RNDidomi.isUserStatusPartial(),\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 */\n setUser: (id: string): Promise<void> => RNDidomi.setUser(id),\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`, `vendors` or `senstive-personal-information`.\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 user's choices for purposes and vendors for the current regulation.\n * @param currentUserStatus: instance of CurrentUserStatus containing the user's choices.\n * @returns: **true** if user status has been updated, **false** otherwise.\n */\n setCurrentUserStatus: (\n currentUserStatus: CurrentUserStatus\n ): Promise<boolean> => {\n const jsonString = JSON.stringify(currentUserStatus);\n return RNDidomi.setCurrentUserStatus(jsonString)\n },\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 * @deprecated use {@link #shouldUserStatusBeCollected()} instead.\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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","ignoreList":[]}
@@ -12,10 +12,12 @@ const {
12
12
  var InternalEventType = /*#__PURE__*/function (InternalEventType) {
13
13
  InternalEventType["READY_CALLBACK"] = "on_ready_callback";
14
14
  InternalEventType["ERROR_CALLBACK"] = "on_error_callback";
15
+ InternalEventType["VENDOR_STATUS_CHANGE_PREFIX"] = "on_vendor_status_change_";
15
16
  return InternalEventType;
16
17
  }(InternalEventType || {});
17
18
  const DidomiListener = exports.DidomiListener = {
18
19
  listeners: new Map(),
20
+ vendorStatusListeners: new Map(),
19
21
  eventEmitter: new _reactNative.NativeEventEmitter(RNDidomi),
20
22
  init: () => {
21
23
  // Register all native event listeners
@@ -80,6 +82,29 @@ const DidomiListener = exports.DidomiListener = {
80
82
  };
81
83
  subscription = DidomiListener.eventEmitter.addListener(InternalEventType.ERROR_CALLBACK, listener);
82
84
  });
85
+ },
86
+ addVendorStatusListener: (vendorId, callback) => {
87
+ let events = DidomiListener.vendorStatusListeners.get(vendorId);
88
+ if (!events) {
89
+ events = [];
90
+ DidomiListener.vendorStatusListeners.set(vendorId, events);
91
+ DidomiListener.eventEmitter.addListener(InternalEventType.VENDOR_STATUS_CHANGE_PREFIX + vendorId, _event => {
92
+ let events = DidomiListener.vendorStatusListeners.get(vendorId);
93
+ if (events) {
94
+ events.forEach(el => {
95
+ el(_event);
96
+ });
97
+ }
98
+ });
99
+ }
100
+ events.push(callback);
101
+ },
102
+ removeVendorStatusListener: vendorId => {
103
+ let events = DidomiListener.vendorStatusListeners.get(vendorId);
104
+ if (events) {
105
+ DidomiListener.eventEmitter.removeAllListeners(InternalEventType.VENDOR_STATUS_CHANGE_PREFIX + vendorId);
106
+ DidomiListener.vendorStatusListeners.set(vendorId, undefined);
107
+ }
83
108
  }
84
109
  };
85
110
  //# sourceMappingURL=DidomiListener.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_DidomiTypes","Didomi","RNDidomi","NativeModules","InternalEventType","DidomiListener","exports","listeners","Map","eventEmitter","NativeEventEmitter","init","Object","values","DidomiEventType","forEach","eventTypeValue","removeAllListeners","addListener","_event","events","get","el","reset","addEventListener","eventType","callback","set","push","removeEventListener","index","indexOf","splice","setOnReadyListener","Promise","resolve","subscription","listener","remove","removeListener","READY_CALLBACK","setOnErrorListener","ERROR_CALLBACK"],"sources":["DidomiListener.ts"],"sourcesContent":["import { NativeModules, NativeEventEmitter, EmitterSubscription } from 'react-native';\nimport { DidomiEventType } from './DidomiTypes';\n\nconst { Didomi: RNDidomi } = NativeModules;\n\nenum InternalEventType {\n READY_CALLBACK = 'on_ready_callback',\n ERROR_CALLBACK = 'on_error_callback',\n}\n\nexport const DidomiListener = {\n listeners: new Map(),\n eventEmitter: new NativeEventEmitter(RNDidomi),\n\n init: () => {\n // Register all native event listeners\n Object.values(DidomiEventType).forEach((eventTypeValue) => {\n // Remove previous listeners, as init() can be called several times in some configs\n DidomiListener.eventEmitter.removeAllListeners(eventTypeValue);\n DidomiListener.eventEmitter.addListener(eventTypeValue, (_event: any) => {\n let events = DidomiListener.listeners.get(eventTypeValue);\n if (events) {\n events.forEach((el: any) => {\n el(_event);\n });\n }\n });\n });\n },\n\n reset: () => {\n // Reset listeners\n DidomiListener.listeners = new Map();\n },\n\n addEventListener: (\n eventType: DidomiEventType,\n callback: (data: any) => void\n ) => {\n let events = DidomiListener.listeners.get(eventType);\n if (!events) {\n events = [];\n DidomiListener.listeners.set(eventType, events);\n }\n events.push(callback);\n },\n\n removeEventListener: (\n eventType: DidomiEventType,\n callback: (data: any) => void\n ) => {\n let events = DidomiListener.listeners.get(eventType);\n if (events) {\n var index = events.indexOf(callback);\n if (index !== -1) {\n events.splice(index, 1);\n }\n }\n },\n\n setOnReadyListener: (): Promise<void> => {\n return new Promise<void>((resolve) => {\n let subscription: EmitterSubscription;\n const listener = (_event: any) => {\n resolve();\n if (subscription) {\n subscription.remove();\n } else if ('removeListener' in DidomiListener.eventEmitter) {\n DidomiListener.eventEmitter.removeListener(\n InternalEventType.READY_CALLBACK,\n listener\n );\n }\n };\n subscription = DidomiListener.eventEmitter.addListener(\n InternalEventType.READY_CALLBACK,\n listener\n );\n });\n },\n\n setOnErrorListener: (): Promise<void> => {\n return new Promise<void>((resolve) => {\n let subscription: EmitterSubscription;\n const listener = (_event: any) => {\n resolve(_event);\n if (subscription) {\n subscription.remove();\n } else if ('removeListener' in DidomiListener.eventEmitter) {\n DidomiListener.eventEmitter.removeListener(\n InternalEventType.ERROR_CALLBACK,\n listener\n );\n }\n };\n subscription = DidomiListener.eventEmitter.addListener(\n InternalEventType.ERROR_CALLBACK,\n listener\n );\n });\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_DidomiTypes","Didomi","RNDidomi","NativeModules","InternalEventType","DidomiListener","exports","listeners","Map","vendorStatusListeners","eventEmitter","NativeEventEmitter","init","Object","values","DidomiEventType","forEach","eventTypeValue","removeAllListeners","addListener","_event","events","get","el","reset","addEventListener","eventType","callback","set","push","removeEventListener","index","indexOf","splice","setOnReadyListener","Promise","resolve","subscription","listener","remove","removeListener","READY_CALLBACK","setOnErrorListener","ERROR_CALLBACK","addVendorStatusListener","vendorId","VENDOR_STATUS_CHANGE_PREFIX","removeVendorStatusListener","undefined"],"sources":["DidomiListener.ts"],"sourcesContent":["import { NativeModules, NativeEventEmitter, EmitterSubscription } from 'react-native';\nimport { DidomiEventType, VendorStatus } from './DidomiTypes';\n\nconst { Didomi: RNDidomi } = NativeModules;\n\nenum InternalEventType {\n READY_CALLBACK = 'on_ready_callback',\n ERROR_CALLBACK = 'on_error_callback',\n VENDOR_STATUS_CHANGE_PREFIX = 'on_vendor_status_change_',\n}\n\nexport const DidomiListener = {\n listeners: new Map(),\n vendorStatusListeners: new Map(),\n eventEmitter: new NativeEventEmitter(RNDidomi),\n\n init: () => {\n // Register all native event listeners\n Object.values(DidomiEventType).forEach((eventTypeValue) => {\n // Remove previous listeners, as init() can be called several times in some configs\n DidomiListener.eventEmitter.removeAllListeners(eventTypeValue);\n DidomiListener.eventEmitter.addListener(eventTypeValue, (_event: any) => {\n let events = DidomiListener.listeners.get(eventTypeValue);\n if (events) {\n events.forEach((el: any) => {\n el(_event);\n });\n }\n });\n });\n },\n\n reset: () => {\n // Reset listeners\n DidomiListener.listeners = new Map();\n },\n\n addEventListener: (\n eventType: DidomiEventType,\n callback: (data: any) => void\n ) => {\n let events = DidomiListener.listeners.get(eventType);\n if (!events) {\n events = [];\n DidomiListener.listeners.set(eventType, events);\n }\n events.push(callback);\n },\n\n removeEventListener: (\n eventType: DidomiEventType,\n callback: (data: any) => void\n ) => {\n let events = DidomiListener.listeners.get(eventType);\n if (events) {\n var index = events.indexOf(callback);\n if (index !== -1) {\n events.splice(index, 1);\n }\n }\n },\n\n setOnReadyListener: (): Promise<void> => {\n return new Promise<void>((resolve) => {\n let subscription: EmitterSubscription;\n const listener = (_event: any) => {\n resolve();\n if (subscription) {\n subscription.remove();\n } else if ('removeListener' in DidomiListener.eventEmitter) {\n DidomiListener.eventEmitter.removeListener(\n InternalEventType.READY_CALLBACK,\n listener\n );\n }\n };\n subscription = DidomiListener.eventEmitter.addListener(\n InternalEventType.READY_CALLBACK,\n listener\n );\n });\n },\n\n setOnErrorListener: (): Promise<void> => {\n return new Promise<void>((resolve) => {\n let subscription: EmitterSubscription;\n const listener = (_event: any) => {\n resolve(_event);\n if (subscription) {\n subscription.remove();\n } else if ('removeListener' in DidomiListener.eventEmitter) {\n DidomiListener.eventEmitter.removeListener(\n InternalEventType.ERROR_CALLBACK,\n listener\n );\n }\n };\n subscription = DidomiListener.eventEmitter.addListener(\n InternalEventType.ERROR_CALLBACK,\n listener\n );\n });\n },\n\n addVendorStatusListener: (\n vendorId: string,\n callback: (vendorStatus: VendorStatus) => void\n ) => {\n let events = DidomiListener.vendorStatusListeners.get(vendorId);\n if (!events) {\n events = [];\n DidomiListener.vendorStatusListeners.set(vendorId, events);\n\n DidomiListener.eventEmitter.addListener(InternalEventType.VENDOR_STATUS_CHANGE_PREFIX + vendorId, (_event: any) => {\n let events = DidomiListener.vendorStatusListeners.get(vendorId);\n if (events) {\n events.forEach((el: any) => {\n el(_event);\n });\n }\n });\n }\n events.push(callback);\n },\n\n removeVendorStatusListener: (vendorId: string) => {\n let events = DidomiListener.vendorStatusListeners.get(vendorId);\n if (events) {\n DidomiListener.eventEmitter.removeAllListeners(InternalEventType.VENDOR_STATUS_CHANGE_PREFIX + vendorId);\n DidomiListener.vendorStatusListeners.set(vendorId, undefined);\n }\n },\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["DidomiEventType","exports"],"sources":["DidomiTypes.ts"],"sourcesContent":["// TODO\nexport enum DidomiEventType {\n // Consent\n CONSENT_CHANGED = \"on_consent_changed\",\n // SDK lifecycle events\n ERROR = \"on_error\",\n READY = \"on_ready\",\n // Notice\n HIDE_NOTICE = \"on_hide_notice\",\n SHOW_NOTICE = \"on_show_notice\",\n NOTICE_CLICK_AGREE = \"on_notice_click_agree\",\n NOTICE_CLICK_DISAGREE = \"on_notice_click_disagree\",\n NOTICE_CLICK_VIEW_VENDORS = \"on_notice_click_view_vendors\",\n NOTICE_CLICK_VIEW_SPI_PURPOSES = \"on_notice_click_view_spi_purposes\",\n NOTICE_CLICK_MORE_INFO = \"on_notice_click_more_info\",\n NOTICE_CLICK_PRIVACY_POLICY = \"on_notice_click_privacy_policy\",\n // Preferences\n HIDE_PREFERENCES = \"on_hide_preferences\",\n SHOW_PREFERENCES = \"on_show_preferences\",\n // Preferences - Views\n PREFERENCES_CLICK_VIEW_PURPOSES = \"on_preferences_click_view_purposes\",\n PREFERENCES_CLICK_VIEW_VENDORS = \"on_preferences_click_view_vendors\",\n PREFERENCES_CLICK_VIEW_SPI_PURPOSES = \"on_preferences_click_view_spi_purposes\",\n // Preferences - Purpose\n PREFERENCES_CLICK_AGREE_TO_ALL = \"on_preferences_click_agree_to_all\",\n PREFERENCES_CLICK_DISAGREE_TO_ALL = \"on_preferences_click_disagree_to_all\",\n PREFERENCES_CLICK_AGREE_TO_ALL_PURPOSES = \"on_preferences_click_agree_to_all_purposes\",\n PREFERENCES_CLICK_DISAGREE_TO_ALL_PURPOSES = \"on_preferences_click_disagree_to_all_purposes\",\n PREFERENCES_CLICK_RESET_ALL_PURPOSES = \"on_preferences_click_reset_all_purposes\",\n PREFERENCES_CLICK_PURPOSE_AGREE = \"on_preferences_click_purpose_agree\",\n PREFERENCES_CLICK_PURPOSE_DISAGREE = \"on_preferences_click_purpose_disagree\",\n PREFERENCES_CLICK_CATEGORY_AGREE = \"on_preferences_click_category_agree\",\n PREFERENCES_CLICK_CATEGORY_DISAGREE = \"on_preferences_click_category_disagree\",\n PREFERENCES_CLICK_SAVE_CHOICES = \"on_preferences_click_save_choices\",\n // Preferences - Vendor\n PREFERENCES_CLICK_AGREE_TO_ALL_VENDORS = \"on_preferences_click_agree_to_all_vendors\",\n PREFERENCES_CLICK_DISAGREE_TO_ALL_VENDORS = \"on_preferences_click_disagree_to_all_vendors\",\n PREFERENCES_CLICK_VENDOR_AGREE = \"on_preferences_click_vendor_agree\",\n PREFERENCES_CLICK_VENDOR_DISAGREE = \"on_preferences_click_vendor_disagree\",\n PREFERENCES_CLICK_VENDOR_SAVE_CHOICES = \"on_preferences_click_vendor_save_choices\",\n // Preferences - Sensitive Personal Information\n PREFERENCES_CLICK_SPI_PURPOSE_AGREE = \"on_preferences_click_spi_purpose_agree\",\n PREFERENCES_CLICK_SPI_PURPOSE_DISAGREE = \"on_preferences_click_spi_purpose_disagree\",\n PREFERENCES_CLICK_SPI_CATEGORY_AGREE = \"on_preferences_click_spi_category_agree\",\n PREFERENCES_CLICK_SPI_CATEGORY_DISAGREE = \"on_preferences_click_spi_category_disagree\",\n PREFERENCES_CLICK_SPI_PURPOSE_SAVE_CHOICES = \"on_preferences_click_spi_purpose_save_choices\",\n // Sync\n SYNC_DONE = \"on_sync_done\",\n SYNC_ERROR = \"on_sync_error\",\n // Language\n LANGUAGE_UPDATED = \"on_language_updated\",\n LANGUAGE_UPDATE_FAILED = \"on_language_update_failed\",\n}\n\nexport interface Vendor {\n id: string;\n name: string;\n namespaces: VendorNamespaces;\n policyUrl: string;\n purposeIds: string[];\n flexibleIds: string[];\n legIntPurposeIds: string[];\n flexiblePurposeIds: string[];\n specialFeatureIds: string[];\n specialPurposeIds: string[];\n urls: VendorUrls[];\n}\n\nexport interface VendorNamespaces {\n iab2: string;\n}\n\nexport interface VendorUrls {\n privacy: string;\n legIntClaim: string;\n langId: string;\n}\n\nexport interface VendorDataRetention {\n stdRetention: number;\n purposes: Map<number>;\n specialPurposes: Map<number>;\n}\n\nexport interface Purpose {\n id: string;\n name: string;\n description: string;\n}\n\nexport interface Map<T> {\n [index: string]: T;\n [index: number]: T;\n}\n\nexport interface UserStatus {\n purposes: UserStatusPurposes;\n vendors: UserStatusVendors;\n user_id: string;\n created: string;\n updated: string;\n consent_string: string;\n additional_consent: string;\n didomi_dcs: string;\n regulation: string;\n}\n\nexport interface UserStatusPurposes {\n global: UserStatusIds;\n consent: UserStatusIds;\n legitimate_interest: UserStatusIds;\n essential: UserStatusIds;\n}\n\nexport interface UserStatusVendors {\n global: UserStatusIds;\n global_consent: UserStatusIds;\n global_legitimate_interest: UserStatusIds;\n consent: UserStatusIds;\n legitimate_interest: UserStatusIds;\n}\n\nexport interface UserStatusIds {\n disabled: string[];\n enabled: string[];\n}\n\nexport interface CurrentUserStatus {\n purposes: Map<PurposeStatus>;\n vendors: Map<VendorStatus>;\n user_id: string;\n created: string;\n updated: string;\n consent_string: string;\n addtl_consent: string;\n didomi_dcs: string;\n regulation: string;\n}\n\nexport interface PurposeStatus {\n id: string;\n enabled: boolean;\n}\n\nexport interface VendorStatus {\n id: string;\n enabled: boolean;\n}\n"],"mappings":";;;;;;AAAA;AAAA,IACYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA"}
1
+ {"version":3,"names":["DidomiEventType","exports"],"sources":["DidomiTypes.ts"],"sourcesContent":["// TODO\nexport enum DidomiEventType {\n // Consent\n CONSENT_CHANGED = \"on_consent_changed\",\n // SDK lifecycle events\n ERROR = \"on_error\",\n READY = \"on_ready\",\n // Notice\n HIDE_NOTICE = \"on_hide_notice\",\n SHOW_NOTICE = \"on_show_notice\",\n NOTICE_CLICK_AGREE = \"on_notice_click_agree\",\n NOTICE_CLICK_DISAGREE = \"on_notice_click_disagree\",\n NOTICE_CLICK_VIEW_VENDORS = \"on_notice_click_view_vendors\",\n NOTICE_CLICK_VIEW_SPI_PURPOSES = \"on_notice_click_view_spi_purposes\",\n NOTICE_CLICK_MORE_INFO = \"on_notice_click_more_info\",\n NOTICE_CLICK_PRIVACY_POLICY = \"on_notice_click_privacy_policy\",\n // Preferences\n HIDE_PREFERENCES = \"on_hide_preferences\",\n SHOW_PREFERENCES = \"on_show_preferences\",\n // Preferences - Views\n PREFERENCES_CLICK_VIEW_PURPOSES = \"on_preferences_click_view_purposes\",\n PREFERENCES_CLICK_VIEW_VENDORS = \"on_preferences_click_view_vendors\",\n PREFERENCES_CLICK_VIEW_SPI_PURPOSES = \"on_preferences_click_view_spi_purposes\",\n // Preferences - Purpose\n PREFERENCES_CLICK_AGREE_TO_ALL = \"on_preferences_click_agree_to_all\",\n PREFERENCES_CLICK_DISAGREE_TO_ALL = \"on_preferences_click_disagree_to_all\",\n PREFERENCES_CLICK_AGREE_TO_ALL_PURPOSES = \"on_preferences_click_agree_to_all_purposes\",\n PREFERENCES_CLICK_DISAGREE_TO_ALL_PURPOSES = \"on_preferences_click_disagree_to_all_purposes\",\n PREFERENCES_CLICK_RESET_ALL_PURPOSES = \"on_preferences_click_reset_all_purposes\",\n PREFERENCES_CLICK_PURPOSE_AGREE = \"on_preferences_click_purpose_agree\",\n PREFERENCES_CLICK_PURPOSE_DISAGREE = \"on_preferences_click_purpose_disagree\",\n PREFERENCES_CLICK_CATEGORY_AGREE = \"on_preferences_click_category_agree\",\n PREFERENCES_CLICK_CATEGORY_DISAGREE = \"on_preferences_click_category_disagree\",\n PREFERENCES_CLICK_SAVE_CHOICES = \"on_preferences_click_save_choices\",\n // Preferences - Vendor\n PREFERENCES_CLICK_AGREE_TO_ALL_VENDORS = \"on_preferences_click_agree_to_all_vendors\",\n PREFERENCES_CLICK_DISAGREE_TO_ALL_VENDORS = \"on_preferences_click_disagree_to_all_vendors\",\n PREFERENCES_CLICK_VENDOR_AGREE = \"on_preferences_click_vendor_agree\",\n PREFERENCES_CLICK_VENDOR_DISAGREE = \"on_preferences_click_vendor_disagree\",\n PREFERENCES_CLICK_VENDOR_SAVE_CHOICES = \"on_preferences_click_vendor_save_choices\",\n // Preferences - Sensitive Personal Information\n PREFERENCES_CLICK_SPI_PURPOSE_AGREE = \"on_preferences_click_spi_purpose_agree\",\n PREFERENCES_CLICK_SPI_PURPOSE_DISAGREE = \"on_preferences_click_spi_purpose_disagree\",\n PREFERENCES_CLICK_SPI_CATEGORY_AGREE = \"on_preferences_click_spi_category_agree\",\n PREFERENCES_CLICK_SPI_CATEGORY_DISAGREE = \"on_preferences_click_spi_category_disagree\",\n PREFERENCES_CLICK_SPI_PURPOSE_SAVE_CHOICES = \"on_preferences_click_spi_purpose_save_choices\",\n // Sync\n SYNC_DONE = \"on_sync_done\",\n SYNC_ERROR = \"on_sync_error\",\n // Language\n LANGUAGE_UPDATED = \"on_language_updated\",\n LANGUAGE_UPDATE_FAILED = \"on_language_update_failed\",\n}\n\nexport interface Vendor {\n id: string;\n name: string;\n namespaces: VendorNamespaces;\n policyUrl: string;\n purposeIds: string[];\n flexibleIds: string[];\n legIntPurposeIds: string[];\n flexiblePurposeIds: string[];\n specialFeatureIds: string[];\n specialPurposeIds: string[];\n urls: VendorUrls[];\n}\n\nexport interface VendorNamespaces {\n iab2: string;\n}\n\nexport interface VendorUrls {\n privacy: string;\n legIntClaim: string;\n langId: string;\n}\n\nexport interface VendorDataRetention {\n stdRetention: number;\n purposes: Map<number>;\n specialPurposes: Map<number>;\n}\n\nexport interface Purpose {\n id: string;\n name: string;\n description: string;\n}\n\nexport interface Map<T> {\n [index: string]: T;\n [index: number]: T;\n}\n\nexport interface UserStatus {\n purposes: UserStatusPurposes;\n vendors: UserStatusVendors;\n user_id: string;\n created: string;\n updated: string;\n consent_string: string;\n additional_consent: string;\n didomi_dcs: string;\n regulation: string;\n}\n\nexport interface UserStatusPurposes {\n global: UserStatusIds;\n consent: UserStatusIds;\n legitimate_interest: UserStatusIds;\n essential: UserStatusIds;\n}\n\nexport interface UserStatusVendors {\n global: UserStatusIds;\n global_consent: UserStatusIds;\n global_legitimate_interest: UserStatusIds;\n consent: UserStatusIds;\n legitimate_interest: UserStatusIds;\n}\n\nexport interface UserStatusIds {\n disabled: string[];\n enabled: string[];\n}\n\nexport interface CurrentUserStatus {\n purposes: Map<PurposeStatus>;\n vendors: Map<VendorStatus>;\n user_id: string;\n created: string;\n updated: string;\n consent_string: string;\n addtl_consent: string;\n didomi_dcs: string;\n regulation: string;\n}\n\nexport interface PurposeStatus {\n id: string;\n enabled: boolean;\n}\n\nexport interface VendorStatus {\n id: string;\n enabled: boolean;\n}\n"],"mappings":";;;;;;AAAA;AAAA,IACYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_Didomi","require","_DidomiTypes"],"sources":["index.tsx"],"sourcesContent":["export { Didomi } from './Didomi';\nexport { DidomiEventType, Vendor, VendorNamespaces, Purpose, UserStatus, UserStatusPurposes, UserStatusVendors, UserStatusIds, CurrentUserStatus, PurposeStatus, VendorStatus } from './DidomiTypes';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA"}
1
+ {"version":3,"names":["_Didomi","require","_DidomiTypes"],"sources":["index.tsx"],"sourcesContent":["export { Didomi } from './Didomi';\nexport { DidomiEventType, Vendor, VendorNamespaces, Purpose, UserStatus, UserStatusPurposes, UserStatusVendors, UserStatusIds, CurrentUserStatus, PurposeStatus, VendorStatus } from './DidomiTypes';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  // User agent name
2
2
  export const DIDOMI_USER_AGENT_NAME = "Didomi React-Native SDK";
3
3
  // User agent version
4
- export const DIDOMI_VERSION = "2.0.0";
4
+ export const DIDOMI_VERSION = "2.0.1";
5
5
  //# sourceMappingURL=Constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DIDOMI_USER_AGENT_NAME","DIDOMI_VERSION"],"sources":["Constants.ts"],"sourcesContent":["// User agent name\nexport const DIDOMI_USER_AGENT_NAME = \"Didomi React-Native SDK\"\n// User agent version\nexport const DIDOMI_VERSION = \"2.0.0\"\n"],"mappings":"AAAA;AACA,OAAO,MAAMA,sBAAsB,GAAG,yBAAyB;AAC/D;AACA,OAAO,MAAMC,cAAc,GAAG,OAAO"}
1
+ {"version":3,"names":["DIDOMI_USER_AGENT_NAME","DIDOMI_VERSION"],"sources":["Constants.ts"],"sourcesContent":["// User agent name\nexport const DIDOMI_USER_AGENT_NAME = \"Didomi React-Native SDK\"\n// User agent version\nexport const DIDOMI_VERSION = \"2.0.1\"\n"],"mappings":"AAAA;AACA,OAAO,MAAMA,sBAAsB,GAAG,yBAAyB;AAC/D;AACA,OAAO,MAAMC,cAAc,GAAG,OAAO","ignoreList":[]}
@@ -74,6 +74,24 @@ export const Didomi = {
74
74
  * @param listener:
75
75
  */
76
76
  addEventListener: (eventType, callback) => DidomiListener.addEventListener(eventType, callback),
77
+ /**
78
+ * Add a listener to be triggered when the user status for the selected vendor changes
79
+ * The callback will be registered after the SDK is ready
80
+ * @param vendorId: the id of the vendor
81
+ * @param callback: the callback to trigger when the user status for the selected vendor changes
82
+ */
83
+ addVendorStatusListener: (vendorId, callback) => {
84
+ RNDidomi.listenToVendorStatus(vendorId);
85
+ DidomiListener.addVendorStatusListener(vendorId, callback);
86
+ },
87
+ /**
88
+ * Remove one or multiple previously added vendor status listeners
89
+ * @param vendorId the id of the vendor
90
+ */
91
+ removeVendorStatusListener: vendorId => {
92
+ RNDidomi.stopListeningToVendorStatus(vendorId);
93
+ DidomiListener.removeVendorStatusListener(vendorId);
94
+ },
77
95
  /**
78
96
  * Remove an event listener
79
97
  * @param listener:
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","DidomiListener","DIDOMI_USER_AGENT_NAME","DIDOMI_VERSION","Didomi","RNDidomi","initialize","apiKey","localConfigurationPath","remoteConfigurationUrl","providerId","disableDidomiRemoteConfig","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","getCurrentUserStatus","getUserStatus","getUserStatusForVendor","getVendor","hideNotice","hidePreferences","isConsentRequired","shouldUserStatusBeCollected","isUserConsentStatusPartial","isUserStatusPartial","isNoticeVisible","isPreferencesVisible","isError","isReady","clearUser","setUser","id","setUserAndSetupUI","setUserWithHashAuth","algorithm","secretId","digest","salt","expiration","undefined","setUserWithHashAuthWithExpiration","setUserWithHashAuthAndSetupUI","setUserWithHashAuthWithExpirationAndSetupUI","setUserWithEncryptionAuth","initializationVector","setUserWithEncryptionAuthWithExpiration","setUserWithEncryptionAuthAndSetupUI","setUserWithEncryptionAuthWithExpirationAndSetupUI","showNotice","showPreferences","view","setUserAgreeToAll","setUserConsentStatus","enabledPurposeIds","disabledPurposeIds","enabledVendorIds","disabledVendorIds","setUserDisagreeToAll","setCurrentUserStatus","currentUserStatus","jsonString","JSON","stringify","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, Vendor, UserStatus, CurrentUserStatus } 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 current user consent status.\n * @returns: status that represents current user consent.\n */\n getCurrentUserStatus: (): Promise<CurrentUserStatus> => RNDidomi.getCurrentUserStatus(),\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 user status should be collected for the user.\n * Returns **true** if user status is required for the current user and regulation, and one of the following two conditions is met:\n * - User status has never been collected for this user yet\n * - New user status should be collected (as new vendors have been added) AND the number of days before recollecting them has exceeded\n * @returns: **true** if user status should be collected according to these rules, **false** otherwise.\n */\n shouldUserStatusBeCollected: (): Promise<boolean> => RNDidomi.shouldUserStatusBeCollected(),\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 * Determine if user did not express a choice for any purpose or vendor that is required\n * @returns: **true** if user choice is required and a choice is not expressed, **false** otherwise.\n */\n isUserStatusPartial: (): Promise<boolean> => RNDidomi.isUserStatusPartial(),\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 */\n setUser: (id: string): Promise<void> => RNDidomi.setUser(id),\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`, `vendors` or `senstive-personal-information`.\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 user's choices for purposes and vendors for the current regulation.\n * @param currentUserStatus: instance of CurrentUserStatus containing the user's choices.\n * @returns: **true** if user status has been updated, **false** otherwise.\n */\n setCurrentUserStatus: (\n currentUserStatus: CurrentUserStatus\n ): Promise<boolean> => {\n const jsonString = JSON.stringify(currentUserStatus);\n return RNDidomi.setCurrentUserStatus(jsonString)\n },\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 * @deprecated use {@link #shouldUserStatusBeCollected()} instead.\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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"}
1
+ {"version":3,"names":["NativeModules","DidomiListener","DIDOMI_USER_AGENT_NAME","DIDOMI_VERSION","Didomi","RNDidomi","initialize","apiKey","localConfigurationPath","remoteConfigurationUrl","providerId","disableDidomiRemoteConfig","languageCode","noticeId","androidTvNoticeId","androidTvEnabled","init","onReady","promise","setOnReadyListener","onError","setOnErrorListener","setupUI","setLogLevel","level","addEventListener","eventType","callback","addVendorStatusListener","vendorId","listenToVendorStatus","removeVendorStatusListener","stopListeningToVendorStatus","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","getUserConsentStatusForVendorAndRequiredPurposes","getUserLegitimateInterestStatusForPurpose","getUserLegitimateInterestForVendor","getUserLegitimateInterestStatusForVendor","getUserLegitimateInterestStatusForVendorAndRequiredPurposes","getCurrentUserStatus","getUserStatus","getUserStatusForVendor","getVendor","hideNotice","hidePreferences","isConsentRequired","shouldUserStatusBeCollected","isUserConsentStatusPartial","isUserStatusPartial","isNoticeVisible","isPreferencesVisible","isError","isReady","clearUser","setUser","id","setUserAndSetupUI","setUserWithHashAuth","algorithm","secretId","digest","salt","expiration","undefined","setUserWithHashAuthWithExpiration","setUserWithHashAuthAndSetupUI","setUserWithHashAuthWithExpirationAndSetupUI","setUserWithEncryptionAuth","initializationVector","setUserWithEncryptionAuthWithExpiration","setUserWithEncryptionAuthAndSetupUI","setUserWithEncryptionAuthWithExpirationAndSetupUI","showNotice","showPreferences","view","setUserAgreeToAll","setUserConsentStatus","enabledPurposeIds","disabledPurposeIds","enabledVendorIds","disabledVendorIds","setUserDisagreeToAll","setCurrentUserStatus","currentUserStatus","jsonString","JSON","stringify","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, Vendor, UserStatus, CurrentUserStatus, VendorStatus } 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 * Add a listener to be triggered when the user status for the selected vendor changes\n * The callback will be registered after the SDK is ready\n * @param vendorId: the id of the vendor\n * @param callback: the callback to trigger when the user status for the selected vendor changes\n */\n addVendorStatusListener: (\n vendorId: string,\n callback: (vendorStatus: VendorStatus) => void\n ) => {\n RNDidomi.listenToVendorStatus(vendorId)\n DidomiListener.addVendorStatusListener(vendorId, callback);\n },\n\n /**\n * Remove one or multiple previously added vendor status listeners\n * @param vendorId the id of the vendor\n */\n removeVendorStatusListener: (vendorId: string) => {\n RNDidomi.stopListeningToVendorStatus(vendorId)\n DidomiListener.removeVendorStatusListener(vendorId);\n },\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 current user consent status.\n * @returns: status that represents current user consent.\n */\n getCurrentUserStatus: (): Promise<CurrentUserStatus> => RNDidomi.getCurrentUserStatus(),\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 user status should be collected for the user.\n * Returns **true** if user status is required for the current user and regulation, and one of the following two conditions is met:\n * - User status has never been collected for this user yet\n * - New user status should be collected (as new vendors have been added) AND the number of days before recollecting them has exceeded\n * @returns: **true** if user status should be collected according to these rules, **false** otherwise.\n */\n shouldUserStatusBeCollected: (): Promise<boolean> => RNDidomi.shouldUserStatusBeCollected(),\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 * Determine if user did not express a choice for any purpose or vendor that is required\n * @returns: **true** if user choice is required and a choice is not expressed, **false** otherwise.\n */\n isUserStatusPartial: (): Promise<boolean> => RNDidomi.isUserStatusPartial(),\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 */\n setUser: (id: string): Promise<void> => RNDidomi.setUser(id),\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`, `vendors` or `senstive-personal-information`.\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 user's choices for purposes and vendors for the current regulation.\n * @param currentUserStatus: instance of CurrentUserStatus containing the user's choices.\n * @returns: **true** if user status has been updated, **false** otherwise.\n */\n setCurrentUserStatus: (\n currentUserStatus: CurrentUserStatus\n ): Promise<boolean> => {\n const jsonString = JSON.stringify(currentUserStatus);\n return RNDidomi.setCurrentUserStatus(jsonString)\n },\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 * @deprecated use {@link #shouldUserStatusBeCollected()} instead.\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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","ignoreList":[]}
@@ -6,10 +6,12 @@ const {
6
6
  var InternalEventType = /*#__PURE__*/function (InternalEventType) {
7
7
  InternalEventType["READY_CALLBACK"] = "on_ready_callback";
8
8
  InternalEventType["ERROR_CALLBACK"] = "on_error_callback";
9
+ InternalEventType["VENDOR_STATUS_CHANGE_PREFIX"] = "on_vendor_status_change_";
9
10
  return InternalEventType;
10
11
  }(InternalEventType || {});
11
12
  export const DidomiListener = {
12
13
  listeners: new Map(),
14
+ vendorStatusListeners: new Map(),
13
15
  eventEmitter: new NativeEventEmitter(RNDidomi),
14
16
  init: () => {
15
17
  // Register all native event listeners
@@ -74,6 +76,29 @@ export const DidomiListener = {
74
76
  };
75
77
  subscription = DidomiListener.eventEmitter.addListener(InternalEventType.ERROR_CALLBACK, listener);
76
78
  });
79
+ },
80
+ addVendorStatusListener: (vendorId, callback) => {
81
+ let events = DidomiListener.vendorStatusListeners.get(vendorId);
82
+ if (!events) {
83
+ events = [];
84
+ DidomiListener.vendorStatusListeners.set(vendorId, events);
85
+ DidomiListener.eventEmitter.addListener(InternalEventType.VENDOR_STATUS_CHANGE_PREFIX + vendorId, _event => {
86
+ let events = DidomiListener.vendorStatusListeners.get(vendorId);
87
+ if (events) {
88
+ events.forEach(el => {
89
+ el(_event);
90
+ });
91
+ }
92
+ });
93
+ }
94
+ events.push(callback);
95
+ },
96
+ removeVendorStatusListener: vendorId => {
97
+ let events = DidomiListener.vendorStatusListeners.get(vendorId);
98
+ if (events) {
99
+ DidomiListener.eventEmitter.removeAllListeners(InternalEventType.VENDOR_STATUS_CHANGE_PREFIX + vendorId);
100
+ DidomiListener.vendorStatusListeners.set(vendorId, undefined);
101
+ }
77
102
  }
78
103
  };
79
104
  //# sourceMappingURL=DidomiListener.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","NativeEventEmitter","DidomiEventType","Didomi","RNDidomi","InternalEventType","DidomiListener","listeners","Map","eventEmitter","init","Object","values","forEach","eventTypeValue","removeAllListeners","addListener","_event","events","get","el","reset","addEventListener","eventType","callback","set","push","removeEventListener","index","indexOf","splice","setOnReadyListener","Promise","resolve","subscription","listener","remove","removeListener","READY_CALLBACK","setOnErrorListener","ERROR_CALLBACK"],"sources":["DidomiListener.ts"],"sourcesContent":["import { NativeModules, NativeEventEmitter, EmitterSubscription } from 'react-native';\nimport { DidomiEventType } from './DidomiTypes';\n\nconst { Didomi: RNDidomi } = NativeModules;\n\nenum InternalEventType {\n READY_CALLBACK = 'on_ready_callback',\n ERROR_CALLBACK = 'on_error_callback',\n}\n\nexport const DidomiListener = {\n listeners: new Map(),\n eventEmitter: new NativeEventEmitter(RNDidomi),\n\n init: () => {\n // Register all native event listeners\n Object.values(DidomiEventType).forEach((eventTypeValue) => {\n // Remove previous listeners, as init() can be called several times in some configs\n DidomiListener.eventEmitter.removeAllListeners(eventTypeValue);\n DidomiListener.eventEmitter.addListener(eventTypeValue, (_event: any) => {\n let events = DidomiListener.listeners.get(eventTypeValue);\n if (events) {\n events.forEach((el: any) => {\n el(_event);\n });\n }\n });\n });\n },\n\n reset: () => {\n // Reset listeners\n DidomiListener.listeners = new Map();\n },\n\n addEventListener: (\n eventType: DidomiEventType,\n callback: (data: any) => void\n ) => {\n let events = DidomiListener.listeners.get(eventType);\n if (!events) {\n events = [];\n DidomiListener.listeners.set(eventType, events);\n }\n events.push(callback);\n },\n\n removeEventListener: (\n eventType: DidomiEventType,\n callback: (data: any) => void\n ) => {\n let events = DidomiListener.listeners.get(eventType);\n if (events) {\n var index = events.indexOf(callback);\n if (index !== -1) {\n events.splice(index, 1);\n }\n }\n },\n\n setOnReadyListener: (): Promise<void> => {\n return new Promise<void>((resolve) => {\n let subscription: EmitterSubscription;\n const listener = (_event: any) => {\n resolve();\n if (subscription) {\n subscription.remove();\n } else if ('removeListener' in DidomiListener.eventEmitter) {\n DidomiListener.eventEmitter.removeListener(\n InternalEventType.READY_CALLBACK,\n listener\n );\n }\n };\n subscription = DidomiListener.eventEmitter.addListener(\n InternalEventType.READY_CALLBACK,\n listener\n );\n });\n },\n\n setOnErrorListener: (): Promise<void> => {\n return new Promise<void>((resolve) => {\n let subscription: EmitterSubscription;\n const listener = (_event: any) => {\n resolve(_event);\n if (subscription) {\n subscription.remove();\n } else if ('removeListener' in DidomiListener.eventEmitter) {\n DidomiListener.eventEmitter.removeListener(\n InternalEventType.ERROR_CALLBACK,\n listener\n );\n }\n };\n subscription = DidomiListener.eventEmitter.addListener(\n InternalEventType.ERROR_CALLBACK,\n listener\n );\n });\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["NativeModules","NativeEventEmitter","DidomiEventType","Didomi","RNDidomi","InternalEventType","DidomiListener","listeners","Map","vendorStatusListeners","eventEmitter","init","Object","values","forEach","eventTypeValue","removeAllListeners","addListener","_event","events","get","el","reset","addEventListener","eventType","callback","set","push","removeEventListener","index","indexOf","splice","setOnReadyListener","Promise","resolve","subscription","listener","remove","removeListener","READY_CALLBACK","setOnErrorListener","ERROR_CALLBACK","addVendorStatusListener","vendorId","VENDOR_STATUS_CHANGE_PREFIX","removeVendorStatusListener","undefined"],"sources":["DidomiListener.ts"],"sourcesContent":["import { NativeModules, NativeEventEmitter, EmitterSubscription } from 'react-native';\nimport { DidomiEventType, VendorStatus } from './DidomiTypes';\n\nconst { Didomi: RNDidomi } = NativeModules;\n\nenum InternalEventType {\n READY_CALLBACK = 'on_ready_callback',\n ERROR_CALLBACK = 'on_error_callback',\n VENDOR_STATUS_CHANGE_PREFIX = 'on_vendor_status_change_',\n}\n\nexport const DidomiListener = {\n listeners: new Map(),\n vendorStatusListeners: new Map(),\n eventEmitter: new NativeEventEmitter(RNDidomi),\n\n init: () => {\n // Register all native event listeners\n Object.values(DidomiEventType).forEach((eventTypeValue) => {\n // Remove previous listeners, as init() can be called several times in some configs\n DidomiListener.eventEmitter.removeAllListeners(eventTypeValue);\n DidomiListener.eventEmitter.addListener(eventTypeValue, (_event: any) => {\n let events = DidomiListener.listeners.get(eventTypeValue);\n if (events) {\n events.forEach((el: any) => {\n el(_event);\n });\n }\n });\n });\n },\n\n reset: () => {\n // Reset listeners\n DidomiListener.listeners = new Map();\n },\n\n addEventListener: (\n eventType: DidomiEventType,\n callback: (data: any) => void\n ) => {\n let events = DidomiListener.listeners.get(eventType);\n if (!events) {\n events = [];\n DidomiListener.listeners.set(eventType, events);\n }\n events.push(callback);\n },\n\n removeEventListener: (\n eventType: DidomiEventType,\n callback: (data: any) => void\n ) => {\n let events = DidomiListener.listeners.get(eventType);\n if (events) {\n var index = events.indexOf(callback);\n if (index !== -1) {\n events.splice(index, 1);\n }\n }\n },\n\n setOnReadyListener: (): Promise<void> => {\n return new Promise<void>((resolve) => {\n let subscription: EmitterSubscription;\n const listener = (_event: any) => {\n resolve();\n if (subscription) {\n subscription.remove();\n } else if ('removeListener' in DidomiListener.eventEmitter) {\n DidomiListener.eventEmitter.removeListener(\n InternalEventType.READY_CALLBACK,\n listener\n );\n }\n };\n subscription = DidomiListener.eventEmitter.addListener(\n InternalEventType.READY_CALLBACK,\n listener\n );\n });\n },\n\n setOnErrorListener: (): Promise<void> => {\n return new Promise<void>((resolve) => {\n let subscription: EmitterSubscription;\n const listener = (_event: any) => {\n resolve(_event);\n if (subscription) {\n subscription.remove();\n } else if ('removeListener' in DidomiListener.eventEmitter) {\n DidomiListener.eventEmitter.removeListener(\n InternalEventType.ERROR_CALLBACK,\n listener\n );\n }\n };\n subscription = DidomiListener.eventEmitter.addListener(\n InternalEventType.ERROR_CALLBACK,\n listener\n );\n });\n },\n\n addVendorStatusListener: (\n vendorId: string,\n callback: (vendorStatus: VendorStatus) => void\n ) => {\n let events = DidomiListener.vendorStatusListeners.get(vendorId);\n if (!events) {\n events = [];\n DidomiListener.vendorStatusListeners.set(vendorId, events);\n\n DidomiListener.eventEmitter.addListener(InternalEventType.VENDOR_STATUS_CHANGE_PREFIX + vendorId, (_event: any) => {\n let events = DidomiListener.vendorStatusListeners.get(vendorId);\n if (events) {\n events.forEach((el: any) => {\n el(_event);\n });\n }\n });\n }\n events.push(callback);\n },\n\n removeVendorStatusListener: (vendorId: string) => {\n let events = DidomiListener.vendorStatusListeners.get(vendorId);\n if (events) {\n DidomiListener.eventEmitter.removeAllListeners(InternalEventType.VENDOR_STATUS_CHANGE_PREFIX + vendorId);\n DidomiListener.vendorStatusListeners.set(vendorId, undefined);\n }\n },\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["DidomiEventType"],"sources":["DidomiTypes.ts"],"sourcesContent":["// TODO\nexport enum DidomiEventType {\n // Consent\n CONSENT_CHANGED = \"on_consent_changed\",\n // SDK lifecycle events\n ERROR = \"on_error\",\n READY = \"on_ready\",\n // Notice\n HIDE_NOTICE = \"on_hide_notice\",\n SHOW_NOTICE = \"on_show_notice\",\n NOTICE_CLICK_AGREE = \"on_notice_click_agree\",\n NOTICE_CLICK_DISAGREE = \"on_notice_click_disagree\",\n NOTICE_CLICK_VIEW_VENDORS = \"on_notice_click_view_vendors\",\n NOTICE_CLICK_VIEW_SPI_PURPOSES = \"on_notice_click_view_spi_purposes\",\n NOTICE_CLICK_MORE_INFO = \"on_notice_click_more_info\",\n NOTICE_CLICK_PRIVACY_POLICY = \"on_notice_click_privacy_policy\",\n // Preferences\n HIDE_PREFERENCES = \"on_hide_preferences\",\n SHOW_PREFERENCES = \"on_show_preferences\",\n // Preferences - Views\n PREFERENCES_CLICK_VIEW_PURPOSES = \"on_preferences_click_view_purposes\",\n PREFERENCES_CLICK_VIEW_VENDORS = \"on_preferences_click_view_vendors\",\n PREFERENCES_CLICK_VIEW_SPI_PURPOSES = \"on_preferences_click_view_spi_purposes\",\n // Preferences - Purpose\n PREFERENCES_CLICK_AGREE_TO_ALL = \"on_preferences_click_agree_to_all\",\n PREFERENCES_CLICK_DISAGREE_TO_ALL = \"on_preferences_click_disagree_to_all\",\n PREFERENCES_CLICK_AGREE_TO_ALL_PURPOSES = \"on_preferences_click_agree_to_all_purposes\",\n PREFERENCES_CLICK_DISAGREE_TO_ALL_PURPOSES = \"on_preferences_click_disagree_to_all_purposes\",\n PREFERENCES_CLICK_RESET_ALL_PURPOSES = \"on_preferences_click_reset_all_purposes\",\n PREFERENCES_CLICK_PURPOSE_AGREE = \"on_preferences_click_purpose_agree\",\n PREFERENCES_CLICK_PURPOSE_DISAGREE = \"on_preferences_click_purpose_disagree\",\n PREFERENCES_CLICK_CATEGORY_AGREE = \"on_preferences_click_category_agree\",\n PREFERENCES_CLICK_CATEGORY_DISAGREE = \"on_preferences_click_category_disagree\",\n PREFERENCES_CLICK_SAVE_CHOICES = \"on_preferences_click_save_choices\",\n // Preferences - Vendor\n PREFERENCES_CLICK_AGREE_TO_ALL_VENDORS = \"on_preferences_click_agree_to_all_vendors\",\n PREFERENCES_CLICK_DISAGREE_TO_ALL_VENDORS = \"on_preferences_click_disagree_to_all_vendors\",\n PREFERENCES_CLICK_VENDOR_AGREE = \"on_preferences_click_vendor_agree\",\n PREFERENCES_CLICK_VENDOR_DISAGREE = \"on_preferences_click_vendor_disagree\",\n PREFERENCES_CLICK_VENDOR_SAVE_CHOICES = \"on_preferences_click_vendor_save_choices\",\n // Preferences - Sensitive Personal Information\n PREFERENCES_CLICK_SPI_PURPOSE_AGREE = \"on_preferences_click_spi_purpose_agree\",\n PREFERENCES_CLICK_SPI_PURPOSE_DISAGREE = \"on_preferences_click_spi_purpose_disagree\",\n PREFERENCES_CLICK_SPI_CATEGORY_AGREE = \"on_preferences_click_spi_category_agree\",\n PREFERENCES_CLICK_SPI_CATEGORY_DISAGREE = \"on_preferences_click_spi_category_disagree\",\n PREFERENCES_CLICK_SPI_PURPOSE_SAVE_CHOICES = \"on_preferences_click_spi_purpose_save_choices\",\n // Sync\n SYNC_DONE = \"on_sync_done\",\n SYNC_ERROR = \"on_sync_error\",\n // Language\n LANGUAGE_UPDATED = \"on_language_updated\",\n LANGUAGE_UPDATE_FAILED = \"on_language_update_failed\",\n}\n\nexport interface Vendor {\n id: string;\n name: string;\n namespaces: VendorNamespaces;\n policyUrl: string;\n purposeIds: string[];\n flexibleIds: string[];\n legIntPurposeIds: string[];\n flexiblePurposeIds: string[];\n specialFeatureIds: string[];\n specialPurposeIds: string[];\n urls: VendorUrls[];\n}\n\nexport interface VendorNamespaces {\n iab2: string;\n}\n\nexport interface VendorUrls {\n privacy: string;\n legIntClaim: string;\n langId: string;\n}\n\nexport interface VendorDataRetention {\n stdRetention: number;\n purposes: Map<number>;\n specialPurposes: Map<number>;\n}\n\nexport interface Purpose {\n id: string;\n name: string;\n description: string;\n}\n\nexport interface Map<T> {\n [index: string]: T;\n [index: number]: T;\n}\n\nexport interface UserStatus {\n purposes: UserStatusPurposes;\n vendors: UserStatusVendors;\n user_id: string;\n created: string;\n updated: string;\n consent_string: string;\n additional_consent: string;\n didomi_dcs: string;\n regulation: string;\n}\n\nexport interface UserStatusPurposes {\n global: UserStatusIds;\n consent: UserStatusIds;\n legitimate_interest: UserStatusIds;\n essential: UserStatusIds;\n}\n\nexport interface UserStatusVendors {\n global: UserStatusIds;\n global_consent: UserStatusIds;\n global_legitimate_interest: UserStatusIds;\n consent: UserStatusIds;\n legitimate_interest: UserStatusIds;\n}\n\nexport interface UserStatusIds {\n disabled: string[];\n enabled: string[];\n}\n\nexport interface CurrentUserStatus {\n purposes: Map<PurposeStatus>;\n vendors: Map<VendorStatus>;\n user_id: string;\n created: string;\n updated: string;\n consent_string: string;\n addtl_consent: string;\n didomi_dcs: string;\n regulation: string;\n}\n\nexport interface PurposeStatus {\n id: string;\n enabled: boolean;\n}\n\nexport interface VendorStatus {\n id: string;\n enabled: boolean;\n}\n"],"mappings":"AAAA;AACA,WAAYA,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA"}
1
+ {"version":3,"names":["DidomiEventType"],"sources":["DidomiTypes.ts"],"sourcesContent":["// TODO\nexport enum DidomiEventType {\n // Consent\n CONSENT_CHANGED = \"on_consent_changed\",\n // SDK lifecycle events\n ERROR = \"on_error\",\n READY = \"on_ready\",\n // Notice\n HIDE_NOTICE = \"on_hide_notice\",\n SHOW_NOTICE = \"on_show_notice\",\n NOTICE_CLICK_AGREE = \"on_notice_click_agree\",\n NOTICE_CLICK_DISAGREE = \"on_notice_click_disagree\",\n NOTICE_CLICK_VIEW_VENDORS = \"on_notice_click_view_vendors\",\n NOTICE_CLICK_VIEW_SPI_PURPOSES = \"on_notice_click_view_spi_purposes\",\n NOTICE_CLICK_MORE_INFO = \"on_notice_click_more_info\",\n NOTICE_CLICK_PRIVACY_POLICY = \"on_notice_click_privacy_policy\",\n // Preferences\n HIDE_PREFERENCES = \"on_hide_preferences\",\n SHOW_PREFERENCES = \"on_show_preferences\",\n // Preferences - Views\n PREFERENCES_CLICK_VIEW_PURPOSES = \"on_preferences_click_view_purposes\",\n PREFERENCES_CLICK_VIEW_VENDORS = \"on_preferences_click_view_vendors\",\n PREFERENCES_CLICK_VIEW_SPI_PURPOSES = \"on_preferences_click_view_spi_purposes\",\n // Preferences - Purpose\n PREFERENCES_CLICK_AGREE_TO_ALL = \"on_preferences_click_agree_to_all\",\n PREFERENCES_CLICK_DISAGREE_TO_ALL = \"on_preferences_click_disagree_to_all\",\n PREFERENCES_CLICK_AGREE_TO_ALL_PURPOSES = \"on_preferences_click_agree_to_all_purposes\",\n PREFERENCES_CLICK_DISAGREE_TO_ALL_PURPOSES = \"on_preferences_click_disagree_to_all_purposes\",\n PREFERENCES_CLICK_RESET_ALL_PURPOSES = \"on_preferences_click_reset_all_purposes\",\n PREFERENCES_CLICK_PURPOSE_AGREE = \"on_preferences_click_purpose_agree\",\n PREFERENCES_CLICK_PURPOSE_DISAGREE = \"on_preferences_click_purpose_disagree\",\n PREFERENCES_CLICK_CATEGORY_AGREE = \"on_preferences_click_category_agree\",\n PREFERENCES_CLICK_CATEGORY_DISAGREE = \"on_preferences_click_category_disagree\",\n PREFERENCES_CLICK_SAVE_CHOICES = \"on_preferences_click_save_choices\",\n // Preferences - Vendor\n PREFERENCES_CLICK_AGREE_TO_ALL_VENDORS = \"on_preferences_click_agree_to_all_vendors\",\n PREFERENCES_CLICK_DISAGREE_TO_ALL_VENDORS = \"on_preferences_click_disagree_to_all_vendors\",\n PREFERENCES_CLICK_VENDOR_AGREE = \"on_preferences_click_vendor_agree\",\n PREFERENCES_CLICK_VENDOR_DISAGREE = \"on_preferences_click_vendor_disagree\",\n PREFERENCES_CLICK_VENDOR_SAVE_CHOICES = \"on_preferences_click_vendor_save_choices\",\n // Preferences - Sensitive Personal Information\n PREFERENCES_CLICK_SPI_PURPOSE_AGREE = \"on_preferences_click_spi_purpose_agree\",\n PREFERENCES_CLICK_SPI_PURPOSE_DISAGREE = \"on_preferences_click_spi_purpose_disagree\",\n PREFERENCES_CLICK_SPI_CATEGORY_AGREE = \"on_preferences_click_spi_category_agree\",\n PREFERENCES_CLICK_SPI_CATEGORY_DISAGREE = \"on_preferences_click_spi_category_disagree\",\n PREFERENCES_CLICK_SPI_PURPOSE_SAVE_CHOICES = \"on_preferences_click_spi_purpose_save_choices\",\n // Sync\n SYNC_DONE = \"on_sync_done\",\n SYNC_ERROR = \"on_sync_error\",\n // Language\n LANGUAGE_UPDATED = \"on_language_updated\",\n LANGUAGE_UPDATE_FAILED = \"on_language_update_failed\",\n}\n\nexport interface Vendor {\n id: string;\n name: string;\n namespaces: VendorNamespaces;\n policyUrl: string;\n purposeIds: string[];\n flexibleIds: string[];\n legIntPurposeIds: string[];\n flexiblePurposeIds: string[];\n specialFeatureIds: string[];\n specialPurposeIds: string[];\n urls: VendorUrls[];\n}\n\nexport interface VendorNamespaces {\n iab2: string;\n}\n\nexport interface VendorUrls {\n privacy: string;\n legIntClaim: string;\n langId: string;\n}\n\nexport interface VendorDataRetention {\n stdRetention: number;\n purposes: Map<number>;\n specialPurposes: Map<number>;\n}\n\nexport interface Purpose {\n id: string;\n name: string;\n description: string;\n}\n\nexport interface Map<T> {\n [index: string]: T;\n [index: number]: T;\n}\n\nexport interface UserStatus {\n purposes: UserStatusPurposes;\n vendors: UserStatusVendors;\n user_id: string;\n created: string;\n updated: string;\n consent_string: string;\n additional_consent: string;\n didomi_dcs: string;\n regulation: string;\n}\n\nexport interface UserStatusPurposes {\n global: UserStatusIds;\n consent: UserStatusIds;\n legitimate_interest: UserStatusIds;\n essential: UserStatusIds;\n}\n\nexport interface UserStatusVendors {\n global: UserStatusIds;\n global_consent: UserStatusIds;\n global_legitimate_interest: UserStatusIds;\n consent: UserStatusIds;\n legitimate_interest: UserStatusIds;\n}\n\nexport interface UserStatusIds {\n disabled: string[];\n enabled: string[];\n}\n\nexport interface CurrentUserStatus {\n purposes: Map<PurposeStatus>;\n vendors: Map<VendorStatus>;\n user_id: string;\n created: string;\n updated: string;\n consent_string: string;\n addtl_consent: string;\n didomi_dcs: string;\n regulation: string;\n}\n\nexport interface PurposeStatus {\n id: string;\n enabled: boolean;\n}\n\nexport interface VendorStatus {\n id: string;\n enabled: boolean;\n}\n"],"mappings":"AAAA;AACA,WAAYA,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["Didomi","DidomiEventType","Vendor","VendorNamespaces","Purpose","UserStatus","UserStatusPurposes","UserStatusVendors","UserStatusIds","CurrentUserStatus","PurposeStatus","VendorStatus"],"sources":["index.tsx"],"sourcesContent":["export { Didomi } from './Didomi';\nexport { DidomiEventType, Vendor, VendorNamespaces, Purpose, UserStatus, UserStatusPurposes, UserStatusVendors, UserStatusIds, CurrentUserStatus, PurposeStatus, VendorStatus } from './DidomiTypes';\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,UAAU;AACjC,SAASC,eAAe,EAAEC,MAAM,EAAEC,gBAAgB,EAAEC,OAAO,EAAEC,UAAU,EAAEC,kBAAkB,EAAEC,iBAAiB,EAAEC,aAAa,EAAEC,iBAAiB,EAAEC,aAAa,EAAEC,YAAY,QAAQ,eAAe"}
1
+ {"version":3,"names":["Didomi","DidomiEventType","Vendor","VendorNamespaces","Purpose","UserStatus","UserStatusPurposes","UserStatusVendors","UserStatusIds","CurrentUserStatus","PurposeStatus","VendorStatus"],"sources":["index.tsx"],"sourcesContent":["export { Didomi } from './Didomi';\nexport { DidomiEventType, Vendor, VendorNamespaces, Purpose, UserStatus, UserStatusPurposes, UserStatusVendors, UserStatusIds, CurrentUserStatus, PurposeStatus, VendorStatus } from './DidomiTypes';\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,UAAU;AACjC,SAASC,eAAe,EAAEC,MAAM,EAAEC,gBAAgB,EAAEC,OAAO,EAAEC,UAAU,EAAEC,kBAAkB,EAAEC,iBAAiB,EAAEC,aAAa,EAAEC,iBAAiB,EAAEC,aAAa,EAAEC,YAAY,QAAQ,eAAe","ignoreList":[]}
@@ -1,2 +1,2 @@
1
1
  export declare const DIDOMI_USER_AGENT_NAME = "Didomi React-Native SDK";
2
- export declare const DIDOMI_VERSION = "2.0.0";
2
+ export declare const DIDOMI_VERSION = "2.0.1";
@@ -1,4 +1,4 @@
1
- import { DidomiEventType, Purpose, Vendor, UserStatus, CurrentUserStatus } from './DidomiTypes';
1
+ import { DidomiEventType, Purpose, Vendor, UserStatus, CurrentUserStatus, VendorStatus } from './DidomiTypes';
2
2
  export declare const Didomi: {
3
3
  /**
4
4
  * Initialize the Didomi SDK
@@ -55,6 +55,18 @@ export declare const Didomi: {
55
55
  * @param listener:
56
56
  */
57
57
  addEventListener: (eventType: DidomiEventType, callback: (data: any) => void) => void;
58
+ /**
59
+ * Add a listener to be triggered when the user status for the selected vendor changes
60
+ * The callback will be registered after the SDK is ready
61
+ * @param vendorId: the id of the vendor
62
+ * @param callback: the callback to trigger when the user status for the selected vendor changes
63
+ */
64
+ addVendorStatusListener: (vendorId: string, callback: (vendorStatus: VendorStatus) => void) => void;
65
+ /**
66
+ * Remove one or multiple previously added vendor status listeners
67
+ * @param vendorId the id of the vendor
68
+ */
69
+ removeVendorStatusListener: (vendorId: string) => void;
58
70
  /**
59
71
  * Remove an event listener
60
72
  * @param listener:
@@ -1,7 +1,8 @@
1
1
  import { NativeEventEmitter } from 'react-native';
2
- import { DidomiEventType } from './DidomiTypes';
2
+ import { DidomiEventType, VendorStatus } from './DidomiTypes';
3
3
  export declare const DidomiListener: {
4
4
  listeners: Map<any, any>;
5
+ vendorStatusListeners: Map<any, any>;
5
6
  eventEmitter: NativeEventEmitter;
6
7
  init: () => void;
7
8
  reset: () => void;
@@ -9,4 +10,6 @@ export declare const DidomiListener: {
9
10
  removeEventListener: (eventType: DidomiEventType, callback: (data: any) => void) => void;
10
11
  setOnReadyListener: () => Promise<void>;
11
12
  setOnErrorListener: () => Promise<void>;
13
+ addVendorStatusListener: (vendorId: string, callback: (vendorStatus: VendorStatus) => void) => void;
14
+ removeVendorStatusListener: (vendorId: string) => void;
12
15
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@didomi/react-native",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Didomi React Native SDK",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -16,5 +16,5 @@ Pod::Spec.new do |s|
16
16
  s.source_files = "ios/**/*.{h,m,mm,swift}"
17
17
 
18
18
  s.dependency "React-Core"
19
- s.dependency "Didomi-XCFramework", "2.0.1"
19
+ s.dependency "Didomi-XCFramework", "2.2.0"
20
20
  end
package/src/Constants.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  // User agent name
2
2
  export const DIDOMI_USER_AGENT_NAME = "Didomi React-Native SDK"
3
3
  // User agent version
4
- export const DIDOMI_VERSION = "2.0.0"
4
+ export const DIDOMI_VERSION = "2.0.1"
package/src/Didomi.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { NativeModules } from 'react-native';
2
2
  import { DidomiListener } from './DidomiListener';
3
- import { DidomiEventType, Purpose, Vendor, UserStatus, CurrentUserStatus } from './DidomiTypes';
3
+ import { DidomiEventType, Purpose, Vendor, UserStatus, CurrentUserStatus, VendorStatus } from './DidomiTypes';
4
4
  import { DIDOMI_USER_AGENT_NAME, DIDOMI_VERSION } from './Constants';
5
5
 
6
6
  const { Didomi: RNDidomi } = NativeModules;
@@ -106,6 +106,29 @@ export const Didomi = {
106
106
  callback: (data: any) => void
107
107
  ) => DidomiListener.addEventListener(eventType, callback),
108
108
 
109
+ /**
110
+ * Add a listener to be triggered when the user status for the selected vendor changes
111
+ * The callback will be registered after the SDK is ready
112
+ * @param vendorId: the id of the vendor
113
+ * @param callback: the callback to trigger when the user status for the selected vendor changes
114
+ */
115
+ addVendorStatusListener: (
116
+ vendorId: string,
117
+ callback: (vendorStatus: VendorStatus) => void
118
+ ) => {
119
+ RNDidomi.listenToVendorStatus(vendorId)
120
+ DidomiListener.addVendorStatusListener(vendorId, callback);
121
+ },
122
+
123
+ /**
124
+ * Remove one or multiple previously added vendor status listeners
125
+ * @param vendorId the id of the vendor
126
+ */
127
+ removeVendorStatusListener: (vendorId: string) => {
128
+ RNDidomi.stopListeningToVendorStatus(vendorId)
129
+ DidomiListener.removeVendorStatusListener(vendorId);
130
+ },
131
+
109
132
  /**
110
133
  * Remove an event listener
111
134
  * @param listener:
@@ -1,15 +1,17 @@
1
1
  import { NativeModules, NativeEventEmitter, EmitterSubscription } from 'react-native';
2
- import { DidomiEventType } from './DidomiTypes';
2
+ import { DidomiEventType, VendorStatus } from './DidomiTypes';
3
3
 
4
4
  const { Didomi: RNDidomi } = NativeModules;
5
5
 
6
6
  enum InternalEventType {
7
7
  READY_CALLBACK = 'on_ready_callback',
8
8
  ERROR_CALLBACK = 'on_error_callback',
9
+ VENDOR_STATUS_CHANGE_PREFIX = 'on_vendor_status_change_',
9
10
  }
10
11
 
11
12
  export const DidomiListener = {
12
13
  listeners: new Map(),
14
+ vendorStatusListeners: new Map(),
13
15
  eventEmitter: new NativeEventEmitter(RNDidomi),
14
16
 
15
17
  init: () => {
@@ -99,4 +101,33 @@ export const DidomiListener = {
99
101
  );
100
102
  });
101
103
  },
104
+
105
+ addVendorStatusListener: (
106
+ vendorId: string,
107
+ callback: (vendorStatus: VendorStatus) => void
108
+ ) => {
109
+ let events = DidomiListener.vendorStatusListeners.get(vendorId);
110
+ if (!events) {
111
+ events = [];
112
+ DidomiListener.vendorStatusListeners.set(vendorId, events);
113
+
114
+ DidomiListener.eventEmitter.addListener(InternalEventType.VENDOR_STATUS_CHANGE_PREFIX + vendorId, (_event: any) => {
115
+ let events = DidomiListener.vendorStatusListeners.get(vendorId);
116
+ if (events) {
117
+ events.forEach((el: any) => {
118
+ el(_event);
119
+ });
120
+ }
121
+ });
122
+ }
123
+ events.push(callback);
124
+ },
125
+
126
+ removeVendorStatusListener: (vendorId: string) => {
127
+ let events = DidomiListener.vendorStatusListeners.get(vendorId);
128
+ if (events) {
129
+ DidomiListener.eventEmitter.removeAllListeners(InternalEventType.VENDOR_STATUS_CHANGE_PREFIX + vendorId);
130
+ DidomiListener.vendorStatusListeners.set(vendorId, undefined);
131
+ }
132
+ },
102
133
  };