@osano/osano-cmp-react-native 0.7.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.
- package/lib/commonjs/ConsentManager.js +4 -1
- package/lib/commonjs/ConsentManager.js.map +1 -1
- package/lib/commonjs/index.js +3 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/services/consent.js +105 -28
- package/lib/commonjs/services/consent.js.map +1 -1
- package/lib/commonjs/utils/API.js +4 -3
- package/lib/commonjs/utils/API.js.map +1 -1
- package/lib/module/ConsentManager.js +4 -1
- package/lib/module/ConsentManager.js.map +1 -1
- package/lib/module/index.js +3 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/services/consent.js +104 -28
- package/lib/module/services/consent.js.map +1 -1
- package/lib/module/utils/API.js +4 -3
- package/lib/module/utils/API.js.map +1 -1
- package/lib/typescript/lib/commonjs/ConsentManager.d.ts +1 -1
- package/lib/typescript/lib/commonjs/ConsentManager.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/services/consent.d.ts +1 -0
- package/lib/typescript/lib/commonjs/services/consent.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/utils/API.d.ts +1 -1
- package/lib/typescript/lib/commonjs/utils/API.d.ts.map +1 -1
- package/lib/typescript/lib/module/ConsentManager.d.ts +1 -1
- package/lib/typescript/lib/module/ConsentManager.d.ts.map +1 -1
- package/lib/typescript/lib/module/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/services/consent.d.ts +1 -0
- package/lib/typescript/lib/module/services/consent.d.ts.map +1 -1
- package/lib/typescript/lib/module/utils/API.d.ts +1 -1
- package/lib/typescript/lib/module/utils/API.d.ts.map +1 -1
- package/lib/typescript/src/ConsentManager.d.ts +1 -1
- package/lib/typescript/src/ConsentManager.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/services/consent.d.ts +19 -4
- package/lib/typescript/src/services/consent.d.ts.map +1 -1
- package/lib/typescript/src/utils/API.d.ts +1 -1
- package/lib/typescript/src/utils/API.d.ts.map +1 -1
- package/package.json +17 -9
- package/src/ConsentManager.ts +4 -1
- package/src/index.tsx +2 -1
- package/src/services/consent.ts +162 -40
- package/src/types/index.d.ts +1 -0
- package/src/utils/API.ts +3 -1
- package/lib/typescript/src/iab/gpp/api.d.ts +0 -28
- package/lib/typescript/src/iab/gpp/api.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/consent.d.ts +0 -24
- package/lib/typescript/src/iab/gpp/consent.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/constants.d.ts +0 -37
- package/lib/typescript/src/iab/gpp/constants.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts +0 -28
- package/lib/typescript/src/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/BooleanEncoder.d.ts +0 -34
- package/lib/typescript/src/iab/gpp/encoders/BooleanEncoder.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/CompressedBase64UrlEncoder.d.ts +0 -28
- package/lib/typescript/src/iab/gpp/encoders/CompressedBase64UrlEncoder.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/DatetimeEncoder.d.ts +0 -28
- package/lib/typescript/src/iab/gpp/encoders/DatetimeEncoder.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/EncodableOptimizedFixedRange.d.ts +0 -16
- package/lib/typescript/src/iab/gpp/encoders/EncodableOptimizedFixedRange.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerEncoder.d.ts +0 -28
- package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerEncoder.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerRangeEncoder.d.ts +0 -28
- package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerRangeEncoder.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/FixedBitfieldEncoder.d.ts +0 -28
- package/lib/typescript/src/iab/gpp/encoders/FixedBitfieldEncoder.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/FixedIdBitMapEncoder.d.ts +0 -6
- package/lib/typescript/src/iab/gpp/encoders/FixedIdBitMapEncoder.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/FixedIntegerEncoder.d.ts +0 -28
- package/lib/typescript/src/iab/gpp/encoders/FixedIntegerEncoder.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/FixedIntegerListEncoder.d.ts +0 -28
- package/lib/typescript/src/iab/gpp/encoders/FixedIntegerListEncoder.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/FixedIntegerRangeEncoder.d.ts +0 -28
- package/lib/typescript/src/iab/gpp/encoders/FixedIntegerRangeEncoder.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/FixedStringEncoder.d.ts +0 -26
- package/lib/typescript/src/iab/gpp/encoders/FixedStringEncoder.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/TraditionalBase64UrlEncoder.d.ts +0 -28
- package/lib/typescript/src/iab/gpp/encoders/TraditionalBase64UrlEncoder.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/errors.d.ts +0 -19
- package/lib/typescript/src/iab/gpp/encoders/errors.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/index.d.ts +0 -16
- package/lib/typescript/src/iab/gpp/encoders/index.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/encoders/types.d.ts +0 -5
- package/lib/typescript/src/iab/gpp/encoders/types.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/index.d.ts +0 -10
- package/lib/typescript/src/iab/gpp/index.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/reducer.d.ts +0 -6
- package/lib/typescript/src/iab/gpp/reducer.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/selectors.d.ts +0 -6
- package/lib/typescript/src/iab/gpp/selectors.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/types.d.ts +0 -3
- package/lib/typescript/src/iab/gpp/types.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/v1/constants.d.ts +0 -9
- package/lib/typescript/src/iab/gpp/v1/constants.d.ts.map +0 -1
- package/lib/typescript/src/iab/gpp/v1/index.d.ts +0 -19
- package/lib/typescript/src/iab/gpp/v1/index.d.ts.map +0 -1
- package/lib/typescript/src/iab/usp/api.d.ts +0 -4
- package/lib/typescript/src/iab/usp/api.d.ts.map +0 -1
- package/lib/typescript/src/iab/usp/consent.d.ts +0 -13
- package/lib/typescript/src/iab/usp/consent.d.ts.map +0 -1
- package/lib/typescript/src/iab/usp/constants.d.ts +0 -77
- package/lib/typescript/src/iab/usp/constants.d.ts.map +0 -1
- package/lib/typescript/src/iab/usp/index.d.ts +0 -10
- package/lib/typescript/src/iab/usp/index.d.ts.map +0 -1
- package/lib/typescript/src/iab/usp/reducer.d.ts +0 -13
- package/lib/typescript/src/iab/usp/reducer.d.ts.map +0 -1
- package/lib/typescript/src/iab/usp/selectors.d.ts +0 -9
- package/lib/typescript/src/iab/usp/selectors.d.ts.map +0 -1
- package/lib/typescript/src/iab/usp/types.d.ts +0 -5
- package/lib/typescript/src/iab/usp/types.d.ts.map +0 -1
- package/lib/typescript/src/iab/usp/v1/constants.d.ts +0 -9
- package/lib/typescript/src/iab/usp/v1/constants.d.ts.map +0 -1
- package/lib/typescript/src/iab/usp/v1/index.d.ts +0 -16
- package/lib/typescript/src/iab/usp/v1/index.d.ts.map +0 -1
- package/lib/typescript/webdriverio-appium/common/commands.d.ts +0 -23
- package/lib/typescript/webdriverio-appium/common/commands.d.ts.map +0 -1
- package/lib/typescript/webdriverio-appium/config/android-wdio.conf.d.cts +0 -27
- package/lib/typescript/webdriverio-appium/config/android-wdio.conf.d.cts.map +0 -1
- package/lib/typescript/webdriverio-appium/config/ios-wdio.conf.d.cts +0 -27
- package/lib/typescript/webdriverio-appium/config/ios-wdio.conf.d.cts.map +0 -1
- package/lib/typescript/webdriverio-appium/test/ios/one/one-acceptall.d.ts +0 -2
- package/lib/typescript/webdriverio-appium/test/ios/one/one-acceptall.d.ts.map +0 -1
- package/lib/typescript/webdriverio-appium/test/ios/one/one-managePreferences.d.ts +0 -2
- package/lib/typescript/webdriverio-appium/test/ios/one/one-managePreferences.d.ts.map +0 -1
- package/lib/typescript/webdriverio-appium/test/ios/six/six-acceptall-iabOn.d.ts +0 -2
- package/lib/typescript/webdriverio-appium/test/ios/six/six-acceptall-iabOn.d.ts.map +0 -1
- package/lib/typescript/webdriverio-appium/test/ios/six/six-rejectall-iabOn.d.ts +0 -2
- package/lib/typescript/webdriverio-appium/test/ios/six/six-rejectall-iabOn.d.ts.map +0 -1
- package/lib/typescript/webdriverio-appium/test/ios/six/six-save-FLC.d.ts +0 -2
- package/lib/typescript/webdriverio-appium/test/ios/six/six-save-FLC.d.ts.map +0 -1
- package/lib/typescript/webdriverio-appium/test/ios/three/three-acceptall.d.ts +0 -2
- package/lib/typescript/webdriverio-appium/test/ios/three/three-acceptall.d.ts.map +0 -1
- package/lib/typescript/webdriverio-appium/test/ios/three/three-denyall.d.ts +0 -2
- package/lib/typescript/webdriverio-appium/test/ios/three/three-denyall.d.ts.map +0 -1
- package/lib/typescript/webdriverio-appium/test/ios/three/three-manageP.d.ts +0 -2
- package/lib/typescript/webdriverio-appium/test/ios/three/three-manageP.d.ts.map +0 -1
- package/lib/typescript/webdriverio-appium/test/ios/two/two-FLC.d.ts +0 -2
- package/lib/typescript/webdriverio-appium/test/ios/two/two-FLC.d.ts.map +0 -1
- package/lib/typescript/webdriverio-appium/test/ios/two/two-acceptall.d.ts +0 -2
- package/lib/typescript/webdriverio-appium/test/ios/two/two-acceptall.d.ts.map +0 -1
- package/lib/typescript/webdriverio-appium/test/ios/two/two-managePreferences.d.ts +0 -2
- package/lib/typescript/webdriverio-appium/test/ios/two/two-managePreferences.d.ts.map +0 -1
- package/lib/typescript/webdriverio-appium/test/ios/two/two-rejectall.d.ts +0 -2
- package/lib/typescript/webdriverio-appium/test/ios/two/two-rejectall.d.ts.map +0 -1
- package/lib/typescript/webdriverio-appium/test/ios/two/two-save.d.ts +0 -2
- package/lib/typescript/webdriverio-appium/test/ios/two/two-save.d.ts.map +0 -1
- package/src/iab/gpp/api.js +0 -253
- package/src/iab/gpp/consent.js +0 -114
- package/src/iab/gpp/constants.js +0 -49
- package/src/iab/gpp/encoders/AbstractBase64UrlEncoder.ts +0 -89
- package/src/iab/gpp/encoders/BooleanEncoder.ts +0 -39
- package/src/iab/gpp/encoders/CompressedBase64UrlEncoder.ts +0 -41
- package/src/iab/gpp/encoders/DatetimeEncoder.ts +0 -46
- package/src/iab/gpp/encoders/EncodableOptimizedFixedRange.ts +0 -213
- package/src/iab/gpp/encoders/FibonacciIntegerEncoder.ts +0 -81
- package/src/iab/gpp/encoders/FibonacciIntegerRangeEncoder.ts +0 -122
- package/src/iab/gpp/encoders/FixedBitfieldEncoder.ts +0 -59
- package/src/iab/gpp/encoders/FixedIdBitMapEncoder.ts +0 -30
- package/src/iab/gpp/encoders/FixedIntegerEncoder.ts +0 -61
- package/src/iab/gpp/encoders/FixedIntegerListEncoder.ts +0 -87
- package/src/iab/gpp/encoders/FixedIntegerRangeEncoder.ts +0 -102
- package/src/iab/gpp/encoders/FixedStringEncoder.ts +0 -74
- package/src/iab/gpp/encoders/LICENSE-IABTechLab +0 -176
- package/src/iab/gpp/encoders/TraditionalBase64UrlEncoder.ts +0 -38
- package/src/iab/gpp/encoders/errors.ts +0 -41
- package/src/iab/gpp/encoders/index.ts +0 -15
- package/src/iab/gpp/encoders/types.ts +0 -5
- package/src/iab/gpp/index.js +0 -9
- package/src/iab/gpp/reducer.js +0 -7
- package/src/iab/gpp/selectors.js +0 -21
- package/src/iab/gpp/types.ts +0 -3
- package/src/iab/gpp/v1/constants.js +0 -7
- package/src/iab/gpp/v1/index.js +0 -73
- package/src/iab/usp/api.js +0 -56
- package/src/iab/usp/consent.js +0 -150
- package/src/iab/usp/constants.js +0 -40
- package/src/iab/usp/index.js +0 -9
- package/src/iab/usp/reducer.js +0 -107
- package/src/iab/usp/selectors.js +0 -31
- package/src/iab/usp/types.ts +0 -4
- package/src/iab/usp/v1/constants.js +0 -10
- package/src/iab/usp/v1/index.js +0 -54
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { ConsentCategory, ConsentCategory as ConsentCategoryType } from '../constants';
|
|
1
2
|
import type { Config } from '../types/consent-config';
|
|
2
3
|
import type { ConsentManager } from '../ConsentManager';
|
|
3
|
-
import { type ConsentCategory as ConsentCategoryType } from '../constants';
|
|
4
4
|
export type ConsentPayload = {
|
|
5
5
|
customerId: string;
|
|
6
6
|
configId: string;
|
|
@@ -10,8 +10,23 @@ export type ConsentPayload = {
|
|
|
10
10
|
deviceId: string;
|
|
11
11
|
extUsrData?: string;
|
|
12
12
|
};
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
export type ConsentRecordPayload = {
|
|
14
|
+
osnoCustomerId: string;
|
|
15
|
+
osnoConfigId: string;
|
|
16
|
+
consented?: string;
|
|
17
|
+
consentingDomain: string;
|
|
18
|
+
consentingPlatform: string;
|
|
19
|
+
userConsentId: string;
|
|
20
|
+
extUsrData?: string;
|
|
21
|
+
};
|
|
22
|
+
export type ConsentLookupResponseType = {
|
|
23
|
+
consented: string[];
|
|
24
|
+
lastConsentTimestamp: string;
|
|
25
|
+
userConsentId: string;
|
|
26
|
+
};
|
|
27
|
+
export declare const clearConsent: (cmp: ConsentManager) => Promise<ConsentCategory[]>;
|
|
28
|
+
export declare const recordConsent: (cmp: ConsentManager, consent?: ConsentCategoryType[]) => Promise<ConsentCategory[]>;
|
|
29
|
+
export declare function hashExtUsrData(customerId: string, configId: string, extUsrData: string): string;
|
|
30
|
+
export declare const fetchConsent: (cmp: ConsentManager) => Promise<ConsentCategory[]>;
|
|
16
31
|
export declare const fetchConfig: (customerId: string, configId: string) => Promise<Config | null>;
|
|
17
32
|
//# sourceMappingURL=consent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../src/services/consent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../src/services/consent.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,eAAe,IAAI,mBAAmB,EACtC,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAgBxD,MAAM,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACvC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACtB,CAAC;AA2EF,eAAO,MAAM,YAAY,QAAe,cAAc,+BAgBrD,CAAC;AAyDF,eAAO,MAAM,aAAa,QACpB,cAAc,YACT,mBAAmB,EAAE,+BAY/B,CAAC;AAEF,wBAAgB,cAAc,CAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GAChB,MAAM,CAgBR;AAED,eAAO,MAAM,YAAY,QAAe,cAAc,+BAmDrD,CAAC;AAEF,eAAO,MAAM,WAAW,eAAgB,MAAM,YAAY,MAAM,2BAsB/D,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
2
|
get: (path: string, queryObj?: object | boolean | undefined) => Promise<unknown>;
|
|
3
|
-
post: (path: string, params?: object) => Promise<unknown>;
|
|
3
|
+
post: (path: string, params?: object, headers?: object) => Promise<unknown>;
|
|
4
4
|
};
|
|
5
5
|
export default _default;
|
|
6
6
|
//# sourceMappingURL=API.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"API.d.ts","sourceRoot":"","sources":["../../../../src/utils/API.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"API.d.ts","sourceRoot":"","sources":["../../../../src/utils/API.ts"],"names":[],"mappings":";gBAyCa,MAAM,aAAa,MAAM,GAAG,OAAO,GAAG,SAAS;iBAO9C,MAAM,WAAW,MAAM,YAAY,MAAM;;AARvD,wBASE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osano/osano-cmp-react-native",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "Package and example for the react-native Osano CMP SDK",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -23,11 +23,19 @@
|
|
|
23
23
|
"!**/__tests__",
|
|
24
24
|
"!**/__fixtures__",
|
|
25
25
|
"!**/__mocks__",
|
|
26
|
-
"!**/.*"
|
|
26
|
+
"!**/.*",
|
|
27
|
+
"!src/iab/usp",
|
|
28
|
+
"!src/iab/gpp",
|
|
29
|
+
"!lib/typescript/webdriverio-appium/**",
|
|
30
|
+
"!lib/typescript/webdriverio-appium/common/**",
|
|
31
|
+
"!lib/typescript/webdriverio-appium/config/**",
|
|
32
|
+
"!lib/typescript/webdriverio-appium/test/**",
|
|
33
|
+
"!lib/typescript/src/iab/usp",
|
|
34
|
+
"!lib/typescript/src/iab/gpp"
|
|
27
35
|
],
|
|
28
36
|
"scripts": {
|
|
29
37
|
"example": "yarn workspace osano-cmp-sdk-example",
|
|
30
|
-
"test": "jest
|
|
38
|
+
"test": "jest src/services/__tests__/consent.test.ts src/__tests__/index.test.tsx",
|
|
31
39
|
"typecheck": "tsc --noEmit",
|
|
32
40
|
"lint": "eslint \"**/*.{js,ts,tsx}\"",
|
|
33
41
|
"clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
|
|
@@ -65,17 +73,20 @@
|
|
|
65
73
|
"@docusaurus/module-type-aliases": "3.5.2",
|
|
66
74
|
"@docusaurus/preset-classic": "3.5.2",
|
|
67
75
|
"@mdx-js/react": "^3.0.1",
|
|
76
|
+
"@testing-library/react-native": "^12.8.1",
|
|
68
77
|
"@types/jest": "^29.5.5",
|
|
69
78
|
"@types/react": "^18.2.44",
|
|
79
|
+
"@types/react-test-renderer": "^18.3.0",
|
|
80
|
+
"@types/text-encoding": "^0.0.39",
|
|
70
81
|
"commitlint": "^17.0.2",
|
|
71
82
|
"del-cli": "^5.1.0",
|
|
72
83
|
"jest": "^29.7.0",
|
|
73
84
|
"prettier": "^3.0.3",
|
|
74
85
|
"prism-react-renderer": "^2.4.0",
|
|
75
86
|
"react": "18.3.1",
|
|
76
|
-
"react-dom": "18.3.1",
|
|
77
87
|
"react-native": "0.74.4",
|
|
78
88
|
"react-native-builder-bob": "^0.23.2",
|
|
89
|
+
"react-test-renderer": "^18.3.1",
|
|
79
90
|
"release-it": "^17.6.0",
|
|
80
91
|
"turbo": "^1.10.7",
|
|
81
92
|
"typescript": "^5.2.2"
|
|
@@ -131,12 +142,9 @@
|
|
|
131
142
|
]
|
|
132
143
|
},
|
|
133
144
|
"dependencies": {
|
|
134
|
-
"
|
|
135
|
-
"@types/react-test-renderer": "^18.3.0",
|
|
136
|
-
"react": "*",
|
|
137
|
-
"react-dom": "^17.0.2",
|
|
145
|
+
"js-sha512": "^0.9.0",
|
|
138
146
|
"react-native-picker-modal-view": "^1.3.2",
|
|
139
147
|
"react-native-svg": "^15.1.0",
|
|
140
|
-
"
|
|
148
|
+
"text-encoding": "^0.7.0"
|
|
141
149
|
}
|
|
142
150
|
}
|
package/src/ConsentManager.ts
CHANGED
|
@@ -609,7 +609,7 @@ export class ConsentManager {
|
|
|
609
609
|
return this._config;
|
|
610
610
|
}
|
|
611
611
|
|
|
612
|
-
constructor(options?: OsanoOverrides) {
|
|
612
|
+
constructor(options?: OsanoOverrides, extUsrData?: string) {
|
|
613
613
|
const { locale, flavor, iabEnabled, iabFrameworks, iabVersions, palette } =
|
|
614
614
|
options || {};
|
|
615
615
|
|
|
@@ -621,6 +621,9 @@ export class ConsentManager {
|
|
|
621
621
|
const setDeviceId = (deviceId: string | null | undefined) => {
|
|
622
622
|
this._deviceId = deviceId ?? '';
|
|
623
623
|
};
|
|
624
|
+
if (extUsrData) {
|
|
625
|
+
this._extUsrData = extUsrData;
|
|
626
|
+
}
|
|
624
627
|
switch (Platform.OS) {
|
|
625
628
|
case 'android': {
|
|
626
629
|
try {
|
package/src/index.tsx
CHANGED
|
@@ -45,10 +45,11 @@ export const Osano: React.FunctionComponent<
|
|
|
45
45
|
onLangLoadFailure,
|
|
46
46
|
onLangLoadSuccess,
|
|
47
47
|
overrides,
|
|
48
|
+
extUsrData
|
|
48
49
|
} = props;
|
|
49
50
|
const { flavor, iabEnabled } = overrides || {};
|
|
50
51
|
const consentManager = useRef<ConsentManager>(
|
|
51
|
-
new ConsentManager(overrides)
|
|
52
|
+
new ConsentManager(overrides, extUsrData)
|
|
52
53
|
);
|
|
53
54
|
|
|
54
55
|
const [_state, store] = useThunkReducer<OsanoState, OsanoAction>(
|
package/src/services/consent.ts
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
12
|
-
|
|
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
|
|
|
@@ -30,6 +32,22 @@ export type ConsentPayload = {
|
|
|
30
32
|
extUsrData?: string;
|
|
31
33
|
};
|
|
32
34
|
|
|
35
|
+
export type ConsentRecordPayload = {
|
|
36
|
+
osnoCustomerId: string;
|
|
37
|
+
osnoConfigId: string;
|
|
38
|
+
consented?: string;
|
|
39
|
+
consentingDomain: string;
|
|
40
|
+
consentingPlatform: string;
|
|
41
|
+
userConsentId: string;
|
|
42
|
+
extUsrData?: string;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export type ConsentLookupResponseType = {
|
|
46
|
+
consented: string[];
|
|
47
|
+
lastConsentTimestamp: string;
|
|
48
|
+
userConsentId: string;
|
|
49
|
+
};
|
|
50
|
+
|
|
33
51
|
function createConsentPayload(
|
|
34
52
|
cmp: ConsentManager,
|
|
35
53
|
consent?: ConsentCategoryType[],
|
|
@@ -47,6 +65,29 @@ function createConsentPayload(
|
|
|
47
65
|
) as ConsentPayload;
|
|
48
66
|
}
|
|
49
67
|
|
|
68
|
+
function createConsentRecordPayload(
|
|
69
|
+
cmp: ConsentManager,
|
|
70
|
+
consent?: ConsentCategoryType[],
|
|
71
|
+
): ConsentRecordPayload {
|
|
72
|
+
const consentedCategories = consent ?? cmp.consent ?? [];
|
|
73
|
+
const hashedExtUsrData = hashExtUsrData(
|
|
74
|
+
cmp.customerId,
|
|
75
|
+
cmp.configId,
|
|
76
|
+
cmp.extUsrData,
|
|
77
|
+
);
|
|
78
|
+
return Object.fromEntries(
|
|
79
|
+
Object.entries({
|
|
80
|
+
osnoCustomerId: cmp.customerId,
|
|
81
|
+
osnoConfigId: cmp.configId,
|
|
82
|
+
consented: consentedCategories.join(','),
|
|
83
|
+
consentingDomain: cmp.consentingDomain,
|
|
84
|
+
consentingPlatform: `${Platform.OS}.react-native`,
|
|
85
|
+
userConsentId: cmp.deviceId,
|
|
86
|
+
extUsrData: hashedExtUsrData,
|
|
87
|
+
}).filter(([, value]) => value !== undefined),
|
|
88
|
+
) as ConsentRecordPayload;
|
|
89
|
+
}
|
|
90
|
+
|
|
50
91
|
const STORAGE_KEY = 'osano_consentmanager';
|
|
51
92
|
|
|
52
93
|
const storeConsent = async (
|
|
@@ -63,10 +104,17 @@ const storeConsent = async (
|
|
|
63
104
|
case 'ios':
|
|
64
105
|
case 'android':
|
|
65
106
|
setStorage(
|
|
66
|
-
`${STORAGE_KEY}
|
|
67
|
-
JSON.stringify(
|
|
107
|
+
`${STORAGE_KEY}_last_recorded_consent_date`,
|
|
108
|
+
JSON.stringify(new Date()),
|
|
68
109
|
)
|
|
69
|
-
.then(
|
|
110
|
+
.then(() => {
|
|
111
|
+
setStorage(
|
|
112
|
+
`${STORAGE_KEY}_${cmp.configId}`,
|
|
113
|
+
JSON.stringify(cmp.consent),
|
|
114
|
+
)
|
|
115
|
+
.then(resConsent)
|
|
116
|
+
.catch(reject);
|
|
117
|
+
})
|
|
70
118
|
.catch(reject);
|
|
71
119
|
break;
|
|
72
120
|
}
|
|
@@ -86,7 +134,6 @@ export const clearConsent = async (cmp: ConsentManager) => {
|
|
|
86
134
|
clearStorage(`${STORAGE_KEY}_${cmp.configId}`).then(resConsent);
|
|
87
135
|
break;
|
|
88
136
|
default:
|
|
89
|
-
window.localStorage.removeItem(`${STORAGE_KEY}_${cmp.configId}`);
|
|
90
137
|
break;
|
|
91
138
|
}
|
|
92
139
|
});
|
|
@@ -118,13 +165,30 @@ const retrieveConsent = async (cmp: ConsentManager) => {
|
|
|
118
165
|
});
|
|
119
166
|
break;
|
|
120
167
|
default:
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
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
|
|
128
192
|
break;
|
|
129
193
|
}
|
|
130
194
|
});
|
|
@@ -134,9 +198,11 @@ export const recordConsent = (
|
|
|
134
198
|
cmp: ConsentManager,
|
|
135
199
|
consent?: ConsentCategoryType[],
|
|
136
200
|
) => {
|
|
137
|
-
const payload =
|
|
138
|
-
return API.post(`${CONSENT_URI}/record`,
|
|
139
|
-
|
|
201
|
+
const payload = createConsentRecordPayload(cmp, consent);
|
|
202
|
+
return API.post(`${CONSENT_URI}/record`, payload, {
|
|
203
|
+
referrer: cmp.consentingDomain,
|
|
204
|
+
})
|
|
205
|
+
.then(() => consent ?? cmp.consent)
|
|
140
206
|
.then((consentCategories) => storeConsent(cmp, consentCategories))
|
|
141
207
|
.catch((error) => {
|
|
142
208
|
// Cannot record consent
|
|
@@ -144,23 +210,79 @@ export const recordConsent = (
|
|
|
144
210
|
});
|
|
145
211
|
};
|
|
146
212
|
|
|
147
|
-
export
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
})
|
|
158
|
-
|
|
159
|
-
.
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
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
|
+
}
|
|
164
286
|
};
|
|
165
287
|
|
|
166
288
|
export const fetchConfig = (customerId: string, configId: string) => {
|
package/src/types/index.d.ts
CHANGED
package/src/utils/API.ts
CHANGED
|
@@ -3,6 +3,7 @@ const makeFetch = (
|
|
|
3
3
|
path: string,
|
|
4
4
|
params = {},
|
|
5
5
|
returnHeaders = false,
|
|
6
|
+
headers = {},
|
|
6
7
|
): Promise<unknown | { json: object; headers: Headers }> => {
|
|
7
8
|
const url = new URL(path);
|
|
8
9
|
if (method.toLowerCase() === 'get') {
|
|
@@ -22,6 +23,7 @@ const makeFetch = (
|
|
|
22
23
|
mode: 'cors',
|
|
23
24
|
referrer: 'no-referrer',
|
|
24
25
|
body: method !== 'GET' ? JSON.stringify(params) : undefined,
|
|
26
|
+
...headers
|
|
25
27
|
}).then((response) => {
|
|
26
28
|
if (response.status === 204 || response.type === 'opaque') {
|
|
27
29
|
return '';
|
|
@@ -44,5 +46,5 @@ export default {
|
|
|
44
46
|
typeof queryObj !== 'boolean' ? queryObj : undefined,
|
|
45
47
|
typeof queryObj === 'boolean',
|
|
46
48
|
),
|
|
47
|
-
post: (path: string, params?: object) => makeFetch('POST', path, params),
|
|
49
|
+
post: (path: string, params?: object, headers?: object) => makeFetch('POST', path, params, false, headers),
|
|
48
50
|
};
|
|
@@ -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"}
|