@osano/osano-cmp-react-native 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/lib/commonjs/services/consent.js +91 -28
  2. package/lib/commonjs/services/consent.js.map +1 -1
  3. package/lib/module/services/consent.js +90 -28
  4. package/lib/module/services/consent.js.map +1 -1
  5. package/lib/typescript/lib/commonjs/services/consent.d.ts +1 -0
  6. package/lib/typescript/lib/commonjs/services/consent.d.ts.map +1 -1
  7. package/lib/typescript/lib/module/services/consent.d.ts +1 -0
  8. package/lib/typescript/lib/module/services/consent.d.ts.map +1 -1
  9. package/lib/typescript/src/services/consent.d.ts +10 -4
  10. package/lib/typescript/src/services/consent.d.ts.map +1 -1
  11. package/package.json +17 -9
  12. package/src/services/consent.ts +135 -41
  13. package/lib/typescript/src/iab/gpp/api.d.ts +0 -28
  14. package/lib/typescript/src/iab/gpp/api.d.ts.map +0 -1
  15. package/lib/typescript/src/iab/gpp/consent.d.ts +0 -24
  16. package/lib/typescript/src/iab/gpp/consent.d.ts.map +0 -1
  17. package/lib/typescript/src/iab/gpp/constants.d.ts +0 -37
  18. package/lib/typescript/src/iab/gpp/constants.d.ts.map +0 -1
  19. package/lib/typescript/src/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts +0 -28
  20. package/lib/typescript/src/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts.map +0 -1
  21. package/lib/typescript/src/iab/gpp/encoders/BooleanEncoder.d.ts +0 -34
  22. package/lib/typescript/src/iab/gpp/encoders/BooleanEncoder.d.ts.map +0 -1
  23. package/lib/typescript/src/iab/gpp/encoders/CompressedBase64UrlEncoder.d.ts +0 -28
  24. package/lib/typescript/src/iab/gpp/encoders/CompressedBase64UrlEncoder.d.ts.map +0 -1
  25. package/lib/typescript/src/iab/gpp/encoders/DatetimeEncoder.d.ts +0 -28
  26. package/lib/typescript/src/iab/gpp/encoders/DatetimeEncoder.d.ts.map +0 -1
  27. package/lib/typescript/src/iab/gpp/encoders/EncodableOptimizedFixedRange.d.ts +0 -16
  28. package/lib/typescript/src/iab/gpp/encoders/EncodableOptimizedFixedRange.d.ts.map +0 -1
  29. package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerEncoder.d.ts +0 -28
  30. package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerEncoder.d.ts.map +0 -1
  31. package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerRangeEncoder.d.ts +0 -28
  32. package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerRangeEncoder.d.ts.map +0 -1
  33. package/lib/typescript/src/iab/gpp/encoders/FixedBitfieldEncoder.d.ts +0 -28
  34. package/lib/typescript/src/iab/gpp/encoders/FixedBitfieldEncoder.d.ts.map +0 -1
  35. package/lib/typescript/src/iab/gpp/encoders/FixedIdBitMapEncoder.d.ts +0 -6
  36. package/lib/typescript/src/iab/gpp/encoders/FixedIdBitMapEncoder.d.ts.map +0 -1
  37. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerEncoder.d.ts +0 -28
  38. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerEncoder.d.ts.map +0 -1
  39. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerListEncoder.d.ts +0 -28
  40. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerListEncoder.d.ts.map +0 -1
  41. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerRangeEncoder.d.ts +0 -28
  42. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerRangeEncoder.d.ts.map +0 -1
  43. package/lib/typescript/src/iab/gpp/encoders/FixedStringEncoder.d.ts +0 -26
  44. package/lib/typescript/src/iab/gpp/encoders/FixedStringEncoder.d.ts.map +0 -1
  45. package/lib/typescript/src/iab/gpp/encoders/TraditionalBase64UrlEncoder.d.ts +0 -28
  46. package/lib/typescript/src/iab/gpp/encoders/TraditionalBase64UrlEncoder.d.ts.map +0 -1
  47. package/lib/typescript/src/iab/gpp/encoders/errors.d.ts +0 -19
  48. package/lib/typescript/src/iab/gpp/encoders/errors.d.ts.map +0 -1
  49. package/lib/typescript/src/iab/gpp/encoders/index.d.ts +0 -16
  50. package/lib/typescript/src/iab/gpp/encoders/index.d.ts.map +0 -1
  51. package/lib/typescript/src/iab/gpp/encoders/types.d.ts +0 -5
  52. package/lib/typescript/src/iab/gpp/encoders/types.d.ts.map +0 -1
  53. package/lib/typescript/src/iab/gpp/index.d.ts +0 -10
  54. package/lib/typescript/src/iab/gpp/index.d.ts.map +0 -1
  55. package/lib/typescript/src/iab/gpp/reducer.d.ts +0 -6
  56. package/lib/typescript/src/iab/gpp/reducer.d.ts.map +0 -1
  57. package/lib/typescript/src/iab/gpp/selectors.d.ts +0 -6
  58. package/lib/typescript/src/iab/gpp/selectors.d.ts.map +0 -1
  59. package/lib/typescript/src/iab/gpp/types.d.ts +0 -3
  60. package/lib/typescript/src/iab/gpp/types.d.ts.map +0 -1
  61. package/lib/typescript/src/iab/gpp/v1/constants.d.ts +0 -9
  62. package/lib/typescript/src/iab/gpp/v1/constants.d.ts.map +0 -1
  63. package/lib/typescript/src/iab/gpp/v1/index.d.ts +0 -19
  64. package/lib/typescript/src/iab/gpp/v1/index.d.ts.map +0 -1
  65. package/lib/typescript/src/iab/usp/api.d.ts +0 -4
  66. package/lib/typescript/src/iab/usp/api.d.ts.map +0 -1
  67. package/lib/typescript/src/iab/usp/consent.d.ts +0 -13
  68. package/lib/typescript/src/iab/usp/consent.d.ts.map +0 -1
  69. package/lib/typescript/src/iab/usp/constants.d.ts +0 -77
  70. package/lib/typescript/src/iab/usp/constants.d.ts.map +0 -1
  71. package/lib/typescript/src/iab/usp/index.d.ts +0 -10
  72. package/lib/typescript/src/iab/usp/index.d.ts.map +0 -1
  73. package/lib/typescript/src/iab/usp/reducer.d.ts +0 -13
  74. package/lib/typescript/src/iab/usp/reducer.d.ts.map +0 -1
  75. package/lib/typescript/src/iab/usp/selectors.d.ts +0 -9
  76. package/lib/typescript/src/iab/usp/selectors.d.ts.map +0 -1
  77. package/lib/typescript/src/iab/usp/types.d.ts +0 -5
  78. package/lib/typescript/src/iab/usp/types.d.ts.map +0 -1
  79. package/lib/typescript/src/iab/usp/v1/constants.d.ts +0 -9
  80. package/lib/typescript/src/iab/usp/v1/constants.d.ts.map +0 -1
  81. package/lib/typescript/src/iab/usp/v1/index.d.ts +0 -16
  82. package/lib/typescript/src/iab/usp/v1/index.d.ts.map +0 -1
  83. package/lib/typescript/webdriverio-appium/common/commonCommands.d.ts +0 -21
  84. package/lib/typescript/webdriverio-appium/common/commonCommands.d.ts.map +0 -1
  85. package/lib/typescript/webdriverio-appium/config/wdio.conf.android.d.cts +0 -3
  86. package/lib/typescript/webdriverio-appium/config/wdio.conf.android.d.cts.map +0 -1
  87. package/lib/typescript/webdriverio-appium/config/wdio.conf.d.cts +0 -21
  88. package/lib/typescript/webdriverio-appium/config/wdio.conf.d.cts.map +0 -1
  89. package/lib/typescript/webdriverio-appium/config/wdio.conf.ios.d.cts +0 -3
  90. package/lib/typescript/webdriverio-appium/config/wdio.conf.ios.d.cts.map +0 -1
  91. package/lib/typescript/webdriverio-appium/test/android/six-drawer.d.ts +0 -2
  92. package/lib/typescript/webdriverio-appium/test/android/six-drawer.d.ts.map +0 -1
  93. package/lib/typescript/webdriverio-appium/test/ios/one.d.ts +0 -2
  94. package/lib/typescript/webdriverio-appium/test/ios/one.d.ts.map +0 -1
  95. package/lib/typescript/webdriverio-appium/test/ios/six.d.ts +0 -2
  96. package/lib/typescript/webdriverio-appium/test/ios/six.d.ts.map +0 -1
  97. package/lib/typescript/webdriverio-appium/test/ios/three.d.ts +0 -2
  98. package/lib/typescript/webdriverio-appium/test/ios/three.d.ts.map +0 -1
  99. package/lib/typescript/webdriverio-appium/test/ios/two-iab.d.ts +0 -2
  100. package/lib/typescript/webdriverio-appium/test/ios/two-iab.d.ts.map +0 -1
  101. package/lib/typescript/webdriverio-appium/test/ios/two.d.ts +0 -2
  102. package/lib/typescript/webdriverio-appium/test/ios/two.d.ts.map +0 -1
  103. package/lib/typescript/webdriverio-appium/test/one.d.ts +0 -2
  104. package/lib/typescript/webdriverio-appium/test/one.d.ts.map +0 -1
  105. package/lib/typescript/webdriverio-appium/test/six-iab.d.ts +0 -2
  106. package/lib/typescript/webdriverio-appium/test/six-iab.d.ts.map +0 -1
  107. package/lib/typescript/webdriverio-appium/test/three.d.ts +0 -2
  108. package/lib/typescript/webdriverio-appium/test/three.d.ts.map +0 -1
  109. package/lib/typescript/webdriverio-appium/test/two-iab.d.ts +0 -2
  110. package/lib/typescript/webdriverio-appium/test/two-iab.d.ts.map +0 -1
  111. package/lib/typescript/webdriverio-appium/test/two.d.ts +0 -2
  112. package/lib/typescript/webdriverio-appium/test/two.d.ts.map +0 -1
  113. package/src/iab/gpp/api.js +0 -253
  114. package/src/iab/gpp/consent.js +0 -114
  115. package/src/iab/gpp/constants.js +0 -49
  116. package/src/iab/gpp/encoders/AbstractBase64UrlEncoder.ts +0 -89
  117. package/src/iab/gpp/encoders/BooleanEncoder.ts +0 -39
  118. package/src/iab/gpp/encoders/CompressedBase64UrlEncoder.ts +0 -41
  119. package/src/iab/gpp/encoders/DatetimeEncoder.ts +0 -46
  120. package/src/iab/gpp/encoders/EncodableOptimizedFixedRange.ts +0 -213
  121. package/src/iab/gpp/encoders/FibonacciIntegerEncoder.ts +0 -81
  122. package/src/iab/gpp/encoders/FibonacciIntegerRangeEncoder.ts +0 -122
  123. package/src/iab/gpp/encoders/FixedBitfieldEncoder.ts +0 -59
  124. package/src/iab/gpp/encoders/FixedIdBitMapEncoder.ts +0 -30
  125. package/src/iab/gpp/encoders/FixedIntegerEncoder.ts +0 -61
  126. package/src/iab/gpp/encoders/FixedIntegerListEncoder.ts +0 -87
  127. package/src/iab/gpp/encoders/FixedIntegerRangeEncoder.ts +0 -102
  128. package/src/iab/gpp/encoders/FixedStringEncoder.ts +0 -74
  129. package/src/iab/gpp/encoders/LICENSE-IABTechLab +0 -176
  130. package/src/iab/gpp/encoders/TraditionalBase64UrlEncoder.ts +0 -38
  131. package/src/iab/gpp/encoders/errors.ts +0 -41
  132. package/src/iab/gpp/encoders/index.ts +0 -15
  133. package/src/iab/gpp/encoders/types.ts +0 -5
  134. package/src/iab/gpp/index.js +0 -9
  135. package/src/iab/gpp/reducer.js +0 -7
  136. package/src/iab/gpp/selectors.js +0 -21
  137. package/src/iab/gpp/types.ts +0 -3
  138. package/src/iab/gpp/v1/constants.js +0 -7
  139. package/src/iab/gpp/v1/index.js +0 -73
  140. package/src/iab/usp/api.js +0 -56
  141. package/src/iab/usp/consent.js +0 -150
  142. package/src/iab/usp/constants.js +0 -40
  143. package/src/iab/usp/index.js +0 -9
  144. package/src/iab/usp/reducer.js +0 -107
  145. package/src/iab/usp/selectors.js +0 -31
  146. package/src/iab/usp/types.ts +0 -4
  147. package/src/iab/usp/v1/constants.js +0 -10
  148. package/src/iab/usp/v1/index.js +0 -54
@@ -1,17 +1,19 @@
1
- // @ts-nocheck
2
- // file deepcode ignore DuplicateCaseBody: <please specify a reason of ignoring this>
3
- import { env } from '../constants';
4
- import { Platform } from 'react-native';
1
+ import {
2
+ ConsentCategory,
3
+ ConsentCategory as ConsentCategoryType,
4
+ } from '../constants';
5
+ import { clearStorage, getStorage, setStorage } from '../native/OsanoCmp';
5
6
 
6
7
  import API from '../utils/API';
7
8
  import type { Config } from '../types/consent-config';
8
9
  import type { ConsentManager } from '../ConsentManager';
10
+ import { Platform } from 'react-native';
11
+ import { TextEncoder } from 'text-encoding';
12
+ import { env } from '../constants';
9
13
  import { merge } from '../utils';
10
- import {
11
- type ConsentCategory as ConsentCategoryType,
12
- ConsentCategory,
13
- } from '../constants';
14
- import { clearStorage, getStorage, setStorage } from '../native/OsanoCmp';
14
+ import { sha512 } from 'js-sha512';
15
+
16
+ const Buffer = require('buffer').Buffer;
15
17
 
16
18
  const { CONSENT_URI, LOOKUPS_URI, OSANO_ORIGIN } = env;
17
19
 
@@ -40,6 +42,12 @@ export type ConsentRecordPayload = {
40
42
  extUsrData?: string;
41
43
  };
42
44
 
45
+ export type ConsentLookupResponseType = {
46
+ consented: string[];
47
+ lastConsentTimestamp: string;
48
+ userConsentId: string;
49
+ };
50
+
43
51
  function createConsentPayload(
44
52
  cmp: ConsentManager,
45
53
  consent?: ConsentCategoryType[],
@@ -60,8 +68,13 @@ function createConsentPayload(
60
68
  function createConsentRecordPayload(
61
69
  cmp: ConsentManager,
62
70
  consent?: ConsentCategoryType[],
63
- ): ConsentRecordPayload{
64
- const consentedCategories = consent ?? cmp.consent
71
+ ): ConsentRecordPayload {
72
+ const consentedCategories = consent ?? cmp.consent ?? [];
73
+ const hashedExtUsrData = hashExtUsrData(
74
+ cmp.customerId,
75
+ cmp.configId,
76
+ cmp.extUsrData,
77
+ );
65
78
  return Object.fromEntries(
66
79
  Object.entries({
67
80
  osnoCustomerId: cmp.customerId,
@@ -70,7 +83,7 @@ function createConsentRecordPayload(
70
83
  consentingDomain: cmp.consentingDomain,
71
84
  consentingPlatform: `${Platform.OS}.react-native`,
72
85
  userConsentId: cmp.deviceId,
73
- extUsrData: cmp.extUsrData,
86
+ extUsrData: hashedExtUsrData,
74
87
  }).filter(([, value]) => value !== undefined),
75
88
  ) as ConsentRecordPayload;
76
89
  }
@@ -91,10 +104,17 @@ const storeConsent = async (
91
104
  case 'ios':
92
105
  case 'android':
93
106
  setStorage(
94
- `${STORAGE_KEY}_${cmp.configId}`,
95
- JSON.stringify(cmp.consent),
107
+ `${STORAGE_KEY}_last_recorded_consent_date`,
108
+ JSON.stringify(new Date()),
96
109
  )
97
- .then(resConsent)
110
+ .then(() => {
111
+ setStorage(
112
+ `${STORAGE_KEY}_${cmp.configId}`,
113
+ JSON.stringify(cmp.consent),
114
+ )
115
+ .then(resConsent)
116
+ .catch(reject);
117
+ })
98
118
  .catch(reject);
99
119
  break;
100
120
  }
@@ -114,7 +134,6 @@ export const clearConsent = async (cmp: ConsentManager) => {
114
134
  clearStorage(`${STORAGE_KEY}_${cmp.configId}`).then(resConsent);
115
135
  break;
116
136
  default:
117
- window.localStorage.removeItem(`${STORAGE_KEY}_${cmp.configId}`);
118
137
  break;
119
138
  }
120
139
  });
@@ -146,13 +165,30 @@ const retrieveConsent = async (cmp: ConsentManager) => {
146
165
  });
147
166
  break;
148
167
  default:
149
- try {
150
- resConsent(
151
- window.localStorage.getItem(`${STORAGE_KEY}_${cmp.configId}`),
152
- );
153
- } catch (e) {
154
- clearConsent(cmp).then(resolve);
155
- }
168
+ break;
169
+ }
170
+ });
171
+ };
172
+
173
+ const retrieveLastConsentTimestamp = async () => {
174
+ return new Promise<string>((resolve) => {
175
+ const resValue = (consentJson: string | null | undefined) => {
176
+ if (consentJson) {
177
+ const timestamp = JSON.parse(consentJson);
178
+ resolve(timestamp);
179
+ return timestamp;
180
+ } else {
181
+ resolve('');
182
+ return '';
183
+ }
184
+ };
185
+ switch (Platform.OS) {
186
+ case 'ios':
187
+ case 'android':
188
+ getStorage(`${STORAGE_KEY}_last_recorded_consent_date`).then(resValue);
189
+ break;
190
+ default:
191
+ // nothing
156
192
  break;
157
193
  }
158
194
  });
@@ -163,7 +199,9 @@ export const recordConsent = (
163
199
  consent?: ConsentCategoryType[],
164
200
  ) => {
165
201
  const payload = createConsentRecordPayload(cmp, consent);
166
- return API.post(`${CONSENT_URI}/record`, payload, {referrer: cmp.consentingDomain})
202
+ return API.post(`${CONSENT_URI}/record`, payload, {
203
+ referrer: cmp.consentingDomain,
204
+ })
167
205
  .then(() => consent ?? cmp.consent)
168
206
  .then((consentCategories) => storeConsent(cmp, consentCategories))
169
207
  .catch((error) => {
@@ -172,23 +210,79 @@ export const recordConsent = (
172
210
  });
173
211
  };
174
212
 
175
- export const fetchConsent = (cmp: ConsentManager) => {
176
- const { customerId, configId, extUsrData: userData } = cmp;
177
- return retrieveConsent(cmp).catch(() => {
178
- // Consent not found
179
- return API.get(
180
- `${LOOKUPS_URI}/customer/${customerId}/config/${configId}/user/${userData}/consent`,
181
- )
182
- .then((response) => {
183
- const { consent } = response as { consent: ConsentCategoryType[] };
184
- return consent;
185
- })
186
- .then((consent) => storeConsent(cmp, consent))
187
- .catch(() => {
188
- // Consent not found or network/server error
189
- return retrieveConsent(cmp);
190
- });
191
- });
213
+ export function hashExtUsrData(
214
+ customerId: string,
215
+ configId: string,
216
+ extUsrData: string,
217
+ ): string {
218
+ if (extUsrData === '' || customerId === '' || configId === '') {
219
+ return '';
220
+ } else {
221
+ try {
222
+ const encoder = new TextEncoder();
223
+ const data = encoder.encode(`${customerId}/${configId}/${extUsrData}`);
224
+ const hash = sha512.arrayBuffer(data);
225
+ const base64 = Buffer.from(hash).toString('base64');
226
+ const hashUrlSafe = base64.replace(/\+/g, '-').replace(/\//g, '_');
227
+ return hashUrlSafe;
228
+ } catch (error) {
229
+ // something went wrong
230
+ return '';
231
+ }
232
+ }
233
+ }
234
+
235
+ export const fetchConsent = async (cmp: ConsentManager) => {
236
+ const { customerId, configId, extUsrData } = cmp;
237
+
238
+ try {
239
+ const consent = await retrieveConsent(cmp);
240
+
241
+ const hashedUserData = hashExtUsrData(customerId, configId, extUsrData);
242
+
243
+ // No user data or remote consent disabled
244
+ if (hashedUserData === '' || cmp.config.remoteConsent === false) {
245
+ return consent;
246
+ }
247
+
248
+ const response = await API.get(
249
+ `${LOOKUPS_URI}/customer/${customerId}/config/${configId}/user/${hashedUserData}/consent`,
250
+ );
251
+
252
+ const { consented, lastConsentTimestamp } =
253
+ response as ConsentLookupResponseType;
254
+
255
+ if (!consented || !lastConsentTimestamp) {
256
+ // No remote consent found, use local consent
257
+ await storeConsent(cmp, consent);
258
+ return consent;
259
+ }
260
+
261
+ const internalTimestamp = await retrieveLastConsentTimestamp();
262
+ try {
263
+ if (
264
+ new Date(lastConsentTimestamp) > new Date(internalTimestamp) ||
265
+ internalTimestamp === ''
266
+ ) {
267
+ // Remote consent is newer or we haven't recorded any consent yet. Store remote consent.
268
+ const remoteConsentCategories = consented.map(
269
+ (category) =>
270
+ ConsentCategoryType[category as keyof typeof ConsentCategoryType],
271
+ );
272
+ await storeConsent(cmp, remoteConsentCategories);
273
+ return remoteConsentCategories;
274
+ }
275
+ } catch (error) {
276
+ // Error parsing timestamp
277
+ }
278
+
279
+ return consent;
280
+ } catch (error) {
281
+ console.error('Error fetching consent:', error);
282
+ // Consent not found or network/server error.
283
+ const consent = await retrieveConsent(cmp);
284
+ return consent;
285
+ }
192
286
  };
193
287
 
194
288
  export const fetchConfig = (customerId: string, configId: string) => {
@@ -1,28 +0,0 @@
1
- export default function makeApi(initOptions: any): {
2
- bind: (store: any, allApis: any) => (command: any, callback: any, parameter: any) => any;
3
- dispatch: (data: any) => void;
4
- };
5
- export const _clearEventSubscribers: (() => void) | undefined;
6
- export const _clearAdaptedApis: (() => void) | undefined;
7
- /**
8
- * An object that contains the client callback and metadata.
9
- */
10
- export type EventSubscriber = {
11
- /**
12
- * - The version of the API that the subscriber is
13
- * listening to.
14
- */
15
- version: number;
16
- /**
17
- * - The callback function that the subscriber
18
- * provided. The signature should match the API version.
19
- */
20
- callback: Function;
21
- };
22
- /**
23
- * The listener ID is a number that is used to identify a subscriber. It is both
24
- * a key in the eventSubscribers map and a property that is given back to the
25
- * subscriber. It must not change for the lifetime of the subscriber.
26
- */
27
- export type ListenerId = number;
28
- //# sourceMappingURL=api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../src/iab/gpp/api.js"],"names":[],"mappings":"AAwGA;;;EAoJC;AA3ND,8DAC8E;AAmC9E,yDACyE;;;;;;;;;aAzD3D,MAAM;;;;;;;;;;;;yBAUP,MAAM"}
@@ -1,24 +0,0 @@
1
- export function isSectionApplicable(sectionId: any, state: any): boolean;
2
- export function makeFormatPingData(initOptions: any): (state: any) => {
3
- gppVersion: any;
4
- cmpStatus: string;
5
- cmpDisplayStatus: string;
6
- supportedAPIs: string[];
7
- cmpId: number;
8
- };
9
- export function makeParseConsentString(initOptions: any): (gppString: any, state: any) => {
10
- sectionId: number;
11
- gppVersion: number;
12
- sectionList: number[];
13
- applicableSections: number[];
14
- gppString: any;
15
- pingData: {
16
- gppVersion: any;
17
- cmpStatus: string;
18
- cmpDisplayStatus: string;
19
- supportedAPIs: string[];
20
- cmpId: number;
21
- };
22
- };
23
- export function formatConsentString(state: any): string;
24
- //# sourceMappingURL=consent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../../src/iab/gpp/consent.js"],"names":[],"mappings":"AA6BO,yEAyBN;AAEM;;;;;;EAQL;AAEK;;;;;;;;;;;;;EA0BN;AAEM,wDAmBN"}
@@ -1,37 +0,0 @@
1
- export namespace SECTIONS {
2
- let tcfeuv2: number;
3
- let tcfcav1: number;
4
- let uspv1: number;
5
- }
6
- /**
7
- * GPP's defined CMP status codes
8
- */
9
- export type CmpStatusCodes = string;
10
- export namespace CmpStatusCodes {
11
- let STUB: string;
12
- let LOADED: string;
13
- let ERROR: string;
14
- }
15
- /**
16
- * GPP's defined CMP display status codes
17
- */
18
- export type CmpDisplayStatusCodes = string;
19
- export namespace CmpDisplayStatusCodes {
20
- let VISIBLE: string;
21
- let HIDDEN: string;
22
- let DISABLED: string;
23
- }
24
- /**
25
- * The GPP API's events
26
- */
27
- export type EventNames = string;
28
- export namespace EventNames {
29
- export let LISTENER_REGISTERED: string;
30
- export let LISTENER_REMOVED: string;
31
- export let CMP_STATUS_CHANGED: string;
32
- export let CMP_DISPLAY_STATUS_CHANGED: string;
33
- let ERROR_1: string;
34
- export { ERROR_1 as ERROR };
35
- export let SECTION_CHANGED: string;
36
- }
37
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/iab/gpp/constants.js"],"names":[],"mappings":";;;;;;;;6BAmBU,MAAM;;;;;;;;;oCAUN,MAAM;;;;;;;;;yBAUN,MAAM"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Adapted from IABTechLab's GPP JavaScript Reference Implementation
3
- *
4
- * https://github.com/IABTechLab/iabgpp-es/blob/42060d7ac2b6d0ee70fc1b5bcd33fc447bf5123c/modules/cmpapi/src/encoder/datatype/encoder/AbstractBase64UrlEncoder.ts
5
- *
6
- * @license
7
- * Copyright 2023 IABTechLab
8
- *
9
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
10
- * use this file except in compliance with the License. You may obtain a copy of
11
- * the License at
12
- *
13
- * http://www.apache.org/licenses/LICENSE-2.0
14
- *
15
- * Unless required by applicable law or agreed to in writing, software
16
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
17
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
18
- * License for the specific language governing permissions and limitations under
19
- * the License.
20
- */
21
- export declare const makeEncode: (pad: (str: string) => string) => (bitString: string) => string;
22
- export declare const decode: (str: string) => string;
23
- declare const _default: {
24
- decode: (str: string) => string;
25
- makeEncode: (pad: (str: string) => string) => (bitString: string) => string;
26
- };
27
- export default _default;
28
- //# sourceMappingURL=AbstractBase64UrlEncoder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractBase64UrlEncoder.d.ts","sourceRoot":"","sources":["../../../../../../src/iab/gpp/encoders/AbstractBase64UrlEncoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAuBH,eAAO,MAAM,UAAU,QAChB,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,iBAAiB,MAAM,WAqBnD,CAAC;AAEH,eAAO,MAAM,MAAM,QAAS,MAAM,WAiBjC,CAAC;;kBAjB0B,MAAM;sBAvB3B,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,iBAAiB,MAAM;;AA0CrD,wBAGE"}
@@ -1,34 +0,0 @@
1
- /**
2
- * Adapted from IABTechLab's GPP JavaScript Reference Implementation
3
- *
4
- * https://github.com/IABTechLab/iabgpp-es/blob/42060d7ac2b6d0ee70fc1b5bcd33fc447bf5123c/modules/cmpapi/src/encoder/datatype/encoder/BooleanEncoder.ts
5
- *
6
- * @license
7
- * Copyright 2023 IABTechLab
8
- *
9
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
10
- * use this file except in compliance with the License. You may obtain a copy of
11
- * the License at
12
- *
13
- * http://www.apache.org/licenses/LICENSE-2.0
14
- *
15
- * Unless required by applicable law or agreed to in writing, software
16
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
17
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
18
- * License for the specific language governing permissions and limitations under
19
- * the License.
20
- */
21
- /**
22
- * encode a TCString boolean
23
- */
24
- export declare const encode: (bool: boolean) => "1" | "0";
25
- /**
26
- * decode a TCString boolean
27
- */
28
- export declare const decode: (bitString: string) => bitString is "1";
29
- declare const _default: {
30
- decode: (bitString: string) => bitString is "1";
31
- encode: (bool: boolean) => "1" | "0";
32
- };
33
- export default _default;
34
- //# sourceMappingURL=BooleanEncoder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BooleanEncoder.d.ts","sourceRoot":"","sources":["../../../../../../src/iab/gpp/encoders/BooleanEncoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;GAEG;AACH,eAAO,MAAM,MAAM,SAAU,OAAO,cAEnC,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,MAAM,cAAe,MAAM,qBAGvC,CAAC;;wBAHgC,MAAM;mBANX,OAAO;;AAWpC,wBAGE"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Adapted from IABTechLab's GPP JavaScript Reference Implementation
3
- *
4
- * https://github.com/IABTechLab/iabgpp-es/blob/42060d7ac2b6d0ee70fc1b5bcd33fc447bf5123c/modules/cmpapi/src/encoder/datatype/encoder/CompressedBase64UrlEncoder.ts
5
- *
6
- * @license
7
- * Copyright 2023 IABTechLab
8
- *
9
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
10
- * use this file except in compliance with the License. You may obtain a copy of
11
- * the License at
12
- *
13
- * http://www.apache.org/licenses/LICENSE-2.0
14
- *
15
- * Unless required by applicable law or agreed to in writing, software
16
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
17
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
18
- * License for the specific language governing permissions and limitations under
19
- * the License.
20
- */
21
- export declare const encode: (bitString: string) => string;
22
- export { decode } from './AbstractBase64UrlEncoder';
23
- declare const _default: {
24
- decode: (str: string) => string;
25
- encode: (bitString: string) => string;
26
- };
27
- export default _default;
28
- //# sourceMappingURL=CompressedBase64UrlEncoder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompressedBase64UrlEncoder.d.ts","sourceRoot":"","sources":["../../../../../../src/iab/gpp/encoders/CompressedBase64UrlEncoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAcH,eAAO,MAAM,MAAM,+BAAkB,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;;;;;AAEpD,wBAGE"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Adapted from IABTechLab's GPP JavaScript Reference Implementation
3
- *
4
- * https://github.com/IABTechLab/iabgpp-es/blob/42060d7ac2b6d0ee70fc1b5bcd33fc447bf5123c/modules/cmpapi/src/encoder/datatype/encoder/DatetimeEncoder.ts
5
- *
6
- * @license
7
- * Copyright 2023 IABTechLab
8
- *
9
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
10
- * use this file except in compliance with the License. You may obtain a copy of
11
- * the License at
12
- *
13
- * http://www.apache.org/licenses/LICENSE-2.0
14
- *
15
- * Unless required by applicable law or agreed to in writing, software
16
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
17
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
18
- * License for the specific language governing permissions and limitations under
19
- * the License.
20
- */
21
- export declare const encode: (date: Date | number, numBits?: number) => string;
22
- export declare const decode: (bitString: string) => Date;
23
- declare const _default: {
24
- decode: (bitString: string) => Date;
25
- encode: (date: Date | number, numBits?: number) => string;
26
- };
27
- export default _default;
28
- //# sourceMappingURL=DatetimeEncoder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatetimeEncoder.d.ts","sourceRoot":"","sources":["../../../../../../src/iab/gpp/encoders/DatetimeEncoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAOH,eAAO,MAAM,MAAM,SAAU,IAAI,GAAG,MAAM,YAAW,MAAM,WAQ1D,CAAC;AAEF,eAAO,MAAM,MAAM,cAAe,MAAM,SAIvC,CAAC;;wBAJgC,MAAM;mBAVX,IAAI,GAAG,MAAM,YAAW,MAAM;;AAgB3D,wBAGE"}
@@ -1,16 +0,0 @@
1
- export declare const BitLength: {
2
- encodingType: number;
3
- maxId: number;
4
- numEntries: number;
5
- singleOrRange: number;
6
- vendorId: number;
7
- };
8
- declare const _default: {
9
- decode: (bitString: string) => {
10
- bitLength: number;
11
- value: Record<number, boolean>;
12
- };
13
- encode: (value: Record<number, boolean>) => string;
14
- };
15
- export default _default;
16
- //# sourceMappingURL=EncodableOptimizedFixedRange.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EncodableOptimizedFixedRange.d.ts","sourceRoot":"","sources":["../../../../../../src/iab/gpp/encoders/EncodableOptimizedFixedRange.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,SAAS;;;;;;CAMrB,CAAC;;wBAiHyB,MAAM;;;;oBA5EV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;AA+J9C,wBAGE"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Adapted from IABTechLab's GPP JavaScript Reference Implementation
3
- *
4
- * https://github.com/IABTechLab/iabgpp-es/blob/42060d7ac2b6d0ee70fc1b5bcd33fc447bf5123c/modules/cmpapi/src/encoder/datatype/encoder/FibonacciIntegerEncoder.ts
5
- *
6
- * @license
7
- * Copyright 2023 IABTechLab
8
- *
9
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
10
- * use this file except in compliance with the License. You may obtain a copy of
11
- * the License at
12
- *
13
- * http://www.apache.org/licenses/LICENSE-2.0
14
- *
15
- * Unless required by applicable law or agreed to in writing, software
16
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
17
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
18
- * License for the specific language governing permissions and limitations under
19
- * the License.
20
- */
21
- export declare const encode: (value: number) => string;
22
- export declare const decode: (bitString: string) => number;
23
- declare const _default: {
24
- decode: (bitString: string) => number;
25
- encode: (value: number) => string;
26
- };
27
- export default _default;
28
- //# sourceMappingURL=FibonacciIntegerEncoder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FibonacciIntegerEncoder.d.ts","sourceRoot":"","sources":["../../../../../../src/iab/gpp/encoders/FibonacciIntegerEncoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,MAAM,UAAW,MAAM,WA4BnC,CAAC;AAEF,eAAO,MAAM,MAAM,cAAe,MAAM,WAwBvC,CAAC;;wBAxBgC,MAAM;oBA9BV,MAAM;;AAwDpC,wBAGE"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Adapted from IABTechLab's GPP JavaScript Reference Implementation
3
- *
4
- * https://github.com/IABTechLab/iabgpp-es/blob/42060d7ac2b6d0ee70fc1b5bcd33fc447bf5123c/modules/cmpapi/src/encoder/datatype/encoder/FibonacciIntegerRangeEncoder.ts
5
- *
6
- * @license
7
- * Copyright 2023 IABTechLab
8
- *
9
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
10
- * use this file except in compliance with the License. You may obtain a copy of
11
- * the License at
12
- *
13
- * http://www.apache.org/licenses/LICENSE-2.0
14
- *
15
- * Unless required by applicable law or agreed to in writing, software
16
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
17
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
18
- * License for the specific language governing permissions and limitations under
19
- * the License.
20
- */
21
- export declare const encode: (value: number[]) => string;
22
- export declare const decode: (bitString: string) => number[];
23
- declare const _default: {
24
- decode: (bitString: string) => number[];
25
- encode: (value: number[]) => string;
26
- };
27
- export default _default;
28
- //# sourceMappingURL=FibonacciIntegerRangeEncoder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FibonacciIntegerRangeEncoder.d.ts","sourceRoot":"","sources":["../../../../../../src/iab/gpp/encoders/FibonacciIntegerRangeEncoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAaH,eAAO,MAAM,MAAM,UAAW,MAAM,EAAE,WAyCrC,CAAC;AAEF,eAAO,MAAM,MAAM,cAAe,MAAM,aAyCvC,CAAC;;wBAzCgC,MAAM;oBA3CV,MAAM,EAAE;;AAsFtC,wBAGE"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Adapted from IABTechLab's GPP JavaScript Reference Implementation
3
- *
4
- * https://github.com/IABTechLab/iabgpp-es/blob/42060d7ac2b6d0ee70fc1b5bcd33fc447bf5123c/modules/cmpapi/src/encoder/datatype/encoder/FixedBitfieldEncoder.ts
5
- *
6
- * @license
7
- * Copyright 2023 IABTechLab
8
- *
9
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
10
- * use this file except in compliance with the License. You may obtain a copy of
11
- * the License at
12
- *
13
- * http://www.apache.org/licenses/LICENSE-2.0
14
- *
15
- * Unless required by applicable law or agreed to in writing, software
16
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
17
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
18
- * License for the specific language governing permissions and limitations under
19
- * the License.
20
- */
21
- export declare const encode: (value: boolean[], bitStringLength: number) => string;
22
- export declare const decode: (bitString: string, numBits?: number) => boolean[];
23
- declare const _default: {
24
- decode: (bitString: string, numBits?: number) => boolean[];
25
- encode: (value: boolean[], bitStringLength: number) => string;
26
- };
27
- export default _default;
28
- //# sourceMappingURL=FixedBitfieldEncoder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FixedBitfieldEncoder.d.ts","sourceRoot":"","sources":["../../../../../../src/iab/gpp/encoders/FixedBitfieldEncoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,eAAO,MAAM,MAAM,UAAW,OAAO,EAAE,mBAAmB,MAAM,WAa/D,CAAC;AAEF,eAAO,MAAM,MAAM,cACP,MAAM,YACR,MAAM,cAWf,CAAC;;wBAZU,MAAM,YACR,MAAM;oBAjBc,OAAO,EAAE,mBAAmB,MAAM;;AA8BhE,wBAGE"}
@@ -1,6 +0,0 @@
1
- declare const _default: {
2
- encode: (value: Record<number, boolean>, numBits: number) => string;
3
- decode: (bitString: string, numBits: number) => Record<number, boolean>;
4
- };
5
- export default _default;
6
- //# sourceMappingURL=FixedIdBitMapEncoder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FixedIdBitMapEncoder.d.ts","sourceRoot":"","sources":["../../../../../../src/iab/gpp/encoders/FixedIdBitMapEncoder.ts"],"names":[],"mappings":";oBAWiB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,MAAM;wBAUpC,MAAM,WAAW,MAAM;;AAX5C,wBAmBE"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Adapted from IABTechLab's GPP JavaScript Reference Implementation
3
- *
4
- * https://github.com/IABTechLab/iabgpp-es/blob/42060d7ac2b6d0ee70fc1b5bcd33fc447bf5123c/modules/cmpapi/src/encoder/datatype/encoder/FixedIntegerEncoder.ts
5
- *
6
- * @license
7
- * Copyright 2023 IABTechLab
8
- *
9
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
10
- * use this file except in compliance with the License. You may obtain a copy of
11
- * the License at
12
- *
13
- * http://www.apache.org/licenses/LICENSE-2.0
14
- *
15
- * Unless required by applicable law or agreed to in writing, software
16
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
17
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
18
- * License for the specific language governing permissions and limitations under
19
- * the License.
20
- */
21
- export declare const encode: (int: number | string, numBits: number) => string;
22
- export declare const decode: (bitString: string, numBits?: number) => number;
23
- declare const _default: {
24
- decode: (bitString: string, numBits?: number) => number;
25
- encode: (int: number | string, numBits: number) => string;
26
- };
27
- export default _default;
28
- //# sourceMappingURL=FixedIntegerEncoder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FixedIntegerEncoder.d.ts","sourceRoot":"","sources":["../../../../../../src/iab/gpp/encoders/FixedIntegerEncoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAOH,eAAO,MAAM,MAAM,QAAS,MAAM,GAAG,MAAM,WAAW,MAAM,WAoB3D,CAAC;AAEF,eAAO,MAAM,MAAM,cAAe,MAAM,YAAY,MAAM,WAOzD,CAAC;;wBAPgC,MAAM,YAAY,MAAM;kBAtB9B,MAAM,GAAG,MAAM,WAAW,MAAM;;AA+B5D,wBAGE"}