@adadapted/react-native-sdk 3.2.0 → 3.4.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 (72) hide show
  1. package/android/.project +1 -1
  2. package/android/.settings/org.eclipse.buildship.core.prefs +2 -2
  3. package/android/bin/build.gradle +13 -11
  4. package/android/bin/gradle.properties +4 -4
  5. package/android/build.gradle +19 -81
  6. package/android/gradle.properties +4 -4
  7. package/android/src/main/AndroidManifest.xml +1 -3
  8. package/android/src/main/java/com/adadaptedreactnativesdk/AdadaptedReactNativeSdkModule.kt +39 -54
  9. package/ios/AdadaptedReactNativeSdk.m +1 -1
  10. package/lib/commonjs/api/adadaptedApiRequests.js +3 -3
  11. package/lib/commonjs/api/adadaptedApiRequests.js.map +1 -1
  12. package/lib/commonjs/api/adadaptedApiRequests.mock.js +25 -8
  13. package/lib/commonjs/api/adadaptedApiRequests.mock.js.map +1 -1
  14. package/lib/commonjs/api/adadaptedApiTypes.js +68 -28
  15. package/lib/commonjs/api/adadaptedApiTypes.js.map +1 -1
  16. package/lib/commonjs/components/AdZone.js +101 -67
  17. package/lib/commonjs/components/AdZone.js.map +1 -1
  18. package/lib/commonjs/components/ReportAdButton.js +40 -0
  19. package/lib/commonjs/components/ReportAdButton.js.map +1 -0
  20. package/lib/commonjs/images/ReportIcon.png +0 -0
  21. package/lib/commonjs/index.js +139 -93
  22. package/lib/commonjs/index.js.map +1 -1
  23. package/lib/commonjs/package.json +1 -0
  24. package/lib/commonjs/types.js +4 -0
  25. package/lib/commonjs/types.js.map +1 -1
  26. package/lib/commonjs/util.js +14 -4
  27. package/lib/commonjs/util.js.map +1 -1
  28. package/lib/module/api/adadaptedApiRequests.js +2 -0
  29. package/lib/module/api/adadaptedApiRequests.js.map +1 -1
  30. package/lib/module/api/adadaptedApiRequests.mock.js +27 -9
  31. package/lib/module/api/adadaptedApiRequests.mock.js.map +1 -1
  32. package/lib/module/api/adadaptedApiTypes.js +85 -24
  33. package/lib/module/api/adadaptedApiTypes.js.map +1 -1
  34. package/lib/module/components/AdZone.js +90 -61
  35. package/lib/module/components/AdZone.js.map +1 -1
  36. package/lib/module/components/ReportAdButton.js +34 -0
  37. package/lib/module/components/ReportAdButton.js.map +1 -0
  38. package/lib/module/images/ReportIcon.png +0 -0
  39. package/lib/module/index.js +142 -89
  40. package/lib/module/index.js.map +1 -1
  41. package/lib/module/package.json +1 -0
  42. package/lib/module/types.js +2 -0
  43. package/lib/module/types.js.map +1 -1
  44. package/lib/module/util.js +16 -4
  45. package/lib/module/util.js.map +1 -1
  46. package/lib/typescript/src/api/adadaptedApiRequests.d.ts +1 -0
  47. package/lib/typescript/src/api/adadaptedApiRequests.d.ts.map +1 -0
  48. package/lib/typescript/src/api/adadaptedApiRequests.mock.d.ts +1 -0
  49. package/lib/typescript/src/api/adadaptedApiRequests.mock.d.ts.map +1 -0
  50. package/lib/typescript/src/api/adadaptedApiTypes.d.ts +5 -0
  51. package/lib/typescript/src/api/adadaptedApiTypes.d.ts.map +1 -0
  52. package/lib/typescript/src/components/AdZone.d.ts +11 -6
  53. package/lib/typescript/src/components/AdZone.d.ts.map +1 -0
  54. package/lib/typescript/src/components/ReportAdButton.d.ts +19 -0
  55. package/lib/typescript/src/components/ReportAdButton.d.ts.map +1 -0
  56. package/lib/typescript/src/index.d.ts +33 -17
  57. package/lib/typescript/src/index.d.ts.map +1 -0
  58. package/lib/typescript/src/types.d.ts +3 -2
  59. package/lib/typescript/src/types.d.ts.map +1 -0
  60. package/lib/typescript/src/util.d.ts +13 -0
  61. package/lib/typescript/src/util.d.ts.map +1 -0
  62. package/package.json +151 -155
  63. package/src/api/adadaptedApiRequests.mock.ts +25 -9
  64. package/src/api/adadaptedApiTypes.ts +5 -0
  65. package/src/components/AdZone.tsx +94 -46
  66. package/src/components/ReportAdButton.tsx +46 -0
  67. package/src/images/ReportIcon.png +0 -0
  68. package/src/index.tsx +146 -69
  69. package/src/util.ts +13 -0
  70. package/lib/typescript/example/index.d.ts +0 -1
  71. package/lib/typescript/example/src/App.d.ts +0 -9
  72. package/lib/typescript/jest.setup.d.ts +0 -5
package/package.json CHANGED
@@ -1,164 +1,160 @@
1
1
  {
2
- "name": "@adadapted/react-native-sdk",
3
- "version": "3.2.0",
4
- "description": "The AdAdapted react-native SDK.",
5
- "main": "lib/commonjs/index.js",
6
- "module": "lib/module/index.js",
7
- "types": "lib/typescript/src/index.d.ts",
8
- "react-native": "src/index.tsx",
9
- "files": [
10
- "src",
11
- "lib",
12
- "android",
13
- "ios",
14
- "adadapted-react-native-sdk.podspec"
2
+ "name": "@adadapted/react-native-sdk",
3
+ "version": "3.4.0",
4
+ "description": "The AdAdapted react-native SDK.",
5
+ "main": "lib/commonjs/index.js",
6
+ "module": "lib/module/index.js",
7
+ "types": "lib/typescript/src/index.d.ts",
8
+ "react-native": "src/index.tsx",
9
+ "files": [
10
+ "src",
11
+ "lib",
12
+ "!**/__tests__",
13
+ "!**/__fixtures__",
14
+ "!**/__mocks__",
15
+ "android/",
16
+ "ios/",
17
+ "adadapted-react-native-sdk.podspec"
18
+ ],
19
+ "scripts": {
20
+ "prettier-fix": "prettier --write \"*.{ts,tsx,js,jsx,json,css,scss,md}\" \"src/**/*.{ts,tsx,js,jsx,json,css,scss,md}\" \"example/**/*.{ts,tsx,js,jsx,json,css,scss,md}\"",
21
+ "lint": "eslint --version && eslint ./",
22
+ "compile": "tsc --version && tsc --project tsconfig.json --noEmit --noErrorTruncation --pretty",
23
+ "test-coverage": "rm -rf coverage && jest --version --clearCache && jest --coverage --clearCache",
24
+ "enable-git-hooks": "git config core.hooksPath .git-hooks",
25
+ "test": "jest --version --clearCache && jest",
26
+ "prettier": "prettier --list-different \"*.{ts,tsx,js,jsx,json,css,scss,md}\" \"src/**/*.{ts,tsx,js,jsx,json,css,scss,md}\"",
27
+ "prepack": "bob build",
28
+ "example-app-install-pods": "cd example/ios && pod install",
29
+ "npm-check-outdated": "npm outdated",
30
+ "check-peer-dependencies": "npx check-peer-dependencies --npm",
31
+ "prepare": "bob build"
32
+ },
33
+ "keywords": [
34
+ "react-native",
35
+ "ios",
36
+ "android",
37
+ "adadapted",
38
+ "sdk",
39
+ "ad",
40
+ "ads"
41
+ ],
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "https://gitlab.com/adadapted/adadapted-react-native-sdk"
45
+ },
46
+ "author": "Jeramy Usher <jusher@adadapted.com> (https://gitlab.com/adadapted/adadapted-react-native-sdk)",
47
+ "license": "AdAdapted Platform License",
48
+ "bugs": {
49
+ "url": "https://gitlab.com/adadapted/adadapted-react-native-sdk/issues"
50
+ },
51
+ "homepage": "https://gitlab.com/adadapted/adadapted-react-native-sdk#readme",
52
+ "dependencies": {
53
+ "@react-native-community/eslint-config": "^3.2.0",
54
+ "axios": "^1.7.9",
55
+ "react-native-base64": "0.2.1",
56
+ "type-zoo": "3.4.1"
57
+ },
58
+ "peerDependencies": {
59
+ "react": ">=18",
60
+ "react-native": "*",
61
+ "react-native-webview": "*"
62
+ },
63
+ "devDependencies": {
64
+ "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
65
+ "@babel/plugin-transform-typescript": "7.22.5",
66
+ "@babel/preset-env": "7.22.5",
67
+ "@babel/preset-react": "7.22.5",
68
+ "@babel/preset-typescript": "7.22.5",
69
+ "@react-native/typescript-config": "0.74.88",
70
+ "@types/jest": "29.5.2",
71
+ "@types/react": "18.3.1",
72
+ "@types/react-native-base64": "0.2.0",
73
+ "@typescript-eslint/eslint-plugin": "^5.62.0",
74
+ "@typescript-eslint/parser": "5.60.0",
75
+ "eslint": "^8.19.0",
76
+ "eslint-config-standard-with-typescript": "^36.0.0",
77
+ "eslint-plugin-import": "^2.27.5",
78
+ "eslint-plugin-jest": "27.2.2",
79
+ "eslint-plugin-jsdoc": "46.2.6",
80
+ "eslint-plugin-n": "^15.7.0",
81
+ "eslint-plugin-prefer-arrow": "1.2.3",
82
+ "eslint-plugin-promise": "^6.1.1",
83
+ "eslint-plugin-react": "^7.32.2",
84
+ "eslint-plugin-react-hooks": "^5.1.0",
85
+ "eslint-plugin-react-native": "^4.0.0",
86
+ "jest": "^29.6.3",
87
+ "prettier": "2.8.8",
88
+ "react-native-builder-bob": "0.33.3",
89
+ "ts-jest": "29.1.0",
90
+ "typescript": "5.0.4"
91
+ },
92
+ "jest": {
93
+ "preset": "react-native",
94
+ "modulePathIgnorePatterns": [
95
+ "<rootDir>/example/node_modules",
96
+ "<rootDir>/lib/"
15
97
  ],
16
- "scripts": {
17
- "prettier-fix": "prettier --write \"*.{ts,tsx,js,jsx,json,css,scss,md}\" \"src/**/*.{ts,tsx,js,jsx,json,css,scss,md}\" \"example/**/*.{ts,tsx,js,jsx,json,css,scss,md}\"",
18
- "lint": "eslint --version && eslint ./",
19
- "compile": "tsc --version && tsc --project tsconfig.json --noEmit --noErrorTruncation --pretty",
20
- "test-coverage": "rm -rf coverage && jest --version --clearCache && jest --coverage --clearCache",
21
- "enable-git-hooks": "git config core.hooksPath .git-hooks",
22
- "test": "jest --version --clearCache && jest",
23
- "prettier": "prettier --list-different \"*.{ts,tsx,js,jsx,json,css,scss,md}\" \"src/**/*.{ts,tsx,js,jsx,json,css,scss,md}\"",
24
- "prepare-build": "bob build",
25
- "example-app-install-pods": "cd example/ios && pod install",
26
- "npm-check-outdated": "npm outdated",
27
- "check-peer-dependencies": "npx check-peer-dependencies --npm"
28
- },
29
- "keywords": [
30
- "react-native",
31
- "ios",
32
- "android",
33
- "adadapted",
34
- "sdk",
35
- "ad",
36
- "ads"
98
+ "setupFiles": [
99
+ "<rootDir>/jest.setup.ts"
37
100
  ],
38
- "repository": {
39
- "type": "git",
40
- "url": "https://gitlab.com/adadapted/adadapted-react-native-sdk"
41
- },
42
- "author": "Jeramy Usher <jusher@adadapted.com> (https://gitlab.com/adadapted/adadapted-react-native-sdk)",
43
- "license": "AdAdapted Platform License",
44
- "bugs": {
45
- "url": "https://gitlab.com/adadapted/adadapted-react-native-sdk/issues"
46
- },
47
- "homepage": "https://gitlab.com/adadapted/adadapted-react-native-sdk#readme",
48
- "dependencies": {
49
- "axios": "^0.21.1",
50
- "react-native-base64": "^0.2.1",
51
- "type-zoo": "^3.4.1"
52
- },
53
- "peerDependencies": {
54
- "react": "*",
55
- "react-native": "*",
56
- "react-native-webview": "*"
101
+ "transform": {
102
+ "^.+\\.[j|t]sx?$": "ts-jest"
57
103
  },
58
- "devDependencies": {
59
- "@babel/plugin-transform-typescript": "^7.12.1",
60
- "@babel/preset-env": "^7.12.7",
61
- "@babel/preset-react": "^7.12.7",
62
- "@babel/preset-typescript": "^7.12.7",
63
- "@react-native-community/bob": "^0.17.1",
64
- "@types/enzyme": "3.10.8",
65
- "@types/enzyme-adapter-react-16": "^1.0.6",
66
- "@types/jest": "^26.0.20",
67
- "@types/react": "17.0.2",
68
- "@types/react-dom": "17.0.2",
69
- "@types/react-native": "0.65.0",
70
- "@types/react-native-base64": "^0.1.0",
71
- "@types/react-router-native": "^5.1.0",
72
- "@typescript-eslint/eslint-plugin": "^4.13.0",
73
- "@typescript-eslint/eslint-plugin-tslint": "^4.13.0",
74
- "@typescript-eslint/parser": "^4.13.0",
75
- "enzyme": "^3.11.0",
76
- "enzyme-to-json": "^3.6.1",
77
- "eslint": "^7.17.0",
78
- "eslint-plugin-import": "^2.22.1",
79
- "eslint-plugin-jest": "^24.1.3",
80
- "eslint-plugin-jsdoc": "^31.0.3",
81
- "eslint-plugin-prefer-arrow": "^1.2.2",
82
- "eslint-plugin-react": "^7.22.0",
83
- "jest": "^26.6.3",
84
- "jest-enzyme": "7.1.2",
85
- "prettier": "^2.2.1",
86
- "react": "17.0.2",
87
- "react-native": "0.65.0",
88
- "react-router-native": "^5.2.0",
89
- "react-native-webview": "11.23.1",
90
- "ts-jest": "^26.4.4",
91
- "tslint": "^6.1.3",
92
- "typescript": "^4.1.3"
104
+ "transformIgnorePatterns": [
105
+ "/node_modules/(?!react-native)/.+"
106
+ ],
107
+ "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
108
+ "moduleFileExtensions": [
109
+ "ts",
110
+ "tsx",
111
+ "js",
112
+ "jsx",
113
+ "json"
114
+ ],
115
+ "modulePaths": [
116
+ "<rootDir>/node_modules"
117
+ ],
118
+ "moduleNameMapper": {
119
+ "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
120
+ "\\.(s?css)$": "<rootDir>/__mocks__/styleMock.js",
121
+ "^src/(.*)$": "<rootDir>/src/$1"
93
122
  },
94
- "jest": {
95
- "preset": "react-native",
96
- "modulePathIgnorePatterns": [
97
- "<rootDir>/example/node_modules",
98
- "<rootDir>/lib/"
99
- ],
100
- "snapshotSerializers": [
101
- "enzyme-to-json/serializer"
102
- ],
103
- "setupFiles": [
104
- "<rootDir>/jest.setup.ts"
105
- ],
106
- "transform": {
107
- "^.+\\.[j|t]sx?$": "ts-jest"
108
- },
109
- "transformIgnorePatterns": [
110
- "/node_modules/(?!react-native)/.+"
111
- ],
112
- "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
113
- "moduleFileExtensions": [
114
- "ts",
115
- "tsx",
116
- "js",
117
- "jsx",
118
- "json"
119
- ],
120
- "modulePaths": [
121
- "<rootDir>/node_modules"
122
- ],
123
- "moduleNameMapper": {
124
- "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
125
- "\\.(s?css)$": "<rootDir>/__mocks__/styleMock.js",
126
- "^src/(.*)$": "<rootDir>/src/$1"
127
- },
128
- "collectCoverage": false,
129
- "coverageDirectory": "coverage",
130
- "collectCoverageFrom": [
131
- "src/**/*.{js,jsx,ts,tsx}",
132
- "!src/api/**/*.*",
133
- "!src/**/*.d.ts",
134
- "!src/index.tsx"
135
- ],
136
- "coverageThreshold": {
137
- "global": {
138
- "branches": 5,
139
- "functions": 5,
140
- "lines": 5,
141
- "statements": 5
142
- }
143
- },
144
- "watchPathIgnorePatterns": [
145
- "<rootDir>/jest.json"
146
- ],
147
- "globals": {
148
- "BUILD_ENV": "dev"
149
- }
123
+ "collectCoverage": false,
124
+ "coverageDirectory": "coverage",
125
+ "collectCoverageFrom": [
126
+ "src/**/*.{js,jsx,ts,tsx}",
127
+ "!src/api/**/*.*",
128
+ "!src/**/*.d.ts",
129
+ "!src/index.tsx"
130
+ ],
131
+ "coverageThreshold": {
132
+ "global": {
133
+ "branches": 5,
134
+ "functions": 5,
135
+ "lines": 5,
136
+ "statements": 5
137
+ }
150
138
  },
151
- "tslintIgnore": [
152
- "node_modules/",
153
- "lib/"
139
+ "watchPathIgnorePatterns": [
140
+ "<rootDir>/jest.json"
154
141
  ],
155
- "@react-native-community/bob": {
156
- "source": "src",
157
- "output": "lib",
158
- "targets": [
159
- "commonjs",
160
- "module",
161
- "typescript"
162
- ]
142
+ "globals": {
143
+ "BUILD_ENV": "dev"
163
144
  }
145
+ },
146
+ "eslintIgnore": [
147
+ "node_modules/",
148
+ "lib/"
149
+ ],
150
+ "source": "src/index.tsx",
151
+ "react-native-builder-bob": {
152
+ "source": "src",
153
+ "output": "lib",
154
+ "targets": [
155
+ "commonjs",
156
+ "module",
157
+ "typescript"
158
+ ]
159
+ }
164
160
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Contains all API request mocks for the Rewards API.
3
3
  */
4
- import { AxiosResponse } from "axios";
4
+ import { AxiosHeaders, AxiosResponse } from "axios";
5
5
  import {
6
6
  AdActionType,
7
7
  AdSession,
@@ -25,7 +25,9 @@ export function initializeSession(): Promise<
25
25
  resolve({
26
26
  data: AD_SESSION_DATA,
27
27
  then: undefined,
28
- config: {},
28
+ config: {
29
+ headers: new AxiosHeaders(),
30
+ },
29
31
  headers: {},
30
32
  status: 200,
31
33
  statusText: "200",
@@ -44,7 +46,9 @@ export function refreshSessionData(): Promise<
44
46
  resolve({
45
47
  data: REFRESHED_AD_SESSION_DATA,
46
48
  then: undefined,
47
- config: {},
49
+ config: {
50
+ headers: new AxiosHeaders(),
51
+ },
48
52
  headers: {},
49
53
  status: 200,
50
54
  statusText: "200",
@@ -63,7 +67,9 @@ export function reportAdEvent(): Promise<AxiosResponse<ReportAdEventResponse>> {
63
67
  results: ["Ok"],
64
68
  },
65
69
  then: undefined,
66
- config: {},
70
+ config: {
71
+ headers: new AxiosHeaders(),
72
+ },
67
73
  headers: {},
68
74
  status: 200,
69
75
  statusText: "200",
@@ -82,7 +88,9 @@ export function getKeywordIntercepts(): Promise<
82
88
  resolve({
83
89
  data: KEYWORD_INTERCEPT_DATA,
84
90
  then: undefined,
85
- config: {},
91
+ config: {
92
+ headers: new AxiosHeaders(),
93
+ },
86
94
  headers: {},
87
95
  status: 200,
88
96
  statusText: "200",
@@ -104,7 +112,9 @@ export function reportInterceptEvent(): Promise<
104
112
  results: ["Ok"],
105
113
  },
106
114
  then: undefined,
107
- config: {},
115
+ config: {
116
+ headers: new AxiosHeaders(),
117
+ },
108
118
  headers: {},
109
119
  status: 200,
110
120
  statusText: "200",
@@ -122,7 +132,9 @@ export function reportListManagerEvents(): Promise<AxiosResponse<void>> {
122
132
  resolve({
123
133
  data: undefined,
124
134
  then: undefined,
125
- config: {},
135
+ config: {
136
+ headers: new AxiosHeaders(),
137
+ },
126
138
  headers: {},
127
139
  status: 200,
128
140
  statusText: "200",
@@ -139,7 +151,9 @@ export function reportPayloadContentStatus(): Promise<AxiosResponse<void>> {
139
151
  resolve({
140
152
  data: undefined,
141
153
  then: undefined,
142
- config: {},
154
+ config: {
155
+ headers: new AxiosHeaders(),
156
+ },
143
157
  headers: {},
144
158
  status: 200,
145
159
  statusText: "200",
@@ -176,7 +190,9 @@ export function retrievePayloadContent(): Promise<
176
190
  ],
177
191
  },
178
192
  then: undefined,
179
- config: {},
193
+ config: {
194
+ headers: new AxiosHeaders(),
195
+ },
180
196
  headers: {},
181
197
  status: 200,
182
198
  statusText: "200",
@@ -156,6 +156,11 @@ export interface OutOfAppDataPayload {
156
156
  detailed_list_items: DetailedListItem[];
157
157
  }
158
158
 
159
+ export interface AdZoneDetailedListItemInfo {
160
+ zoneId: string;
161
+ items: DetailedListItem[];
162
+ }
163
+
159
164
  /**
160
165
  * The definition of a Detailed List Item.
161
166
  */