@contentpass/react-native-contentpass 0.2.6 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/lib/commonjs/Contentpass.js +98 -6
- package/lib/commonjs/Contentpass.js.map +1 -1
- package/lib/commonjs/{utils → contentpassTokenUtils}/fetchContentpassToken.js +3 -0
- package/lib/commonjs/contentpassTokenUtils/fetchContentpassToken.js.map +1 -0
- package/lib/commonjs/contentpassTokenUtils/parseContentpassToken.js.map +1 -0
- package/lib/commonjs/contentpassTokenUtils/validateSubscription.js.map +1 -0
- package/lib/commonjs/countImpressionUtils/sendPageViewEvent.js +24 -0
- package/lib/commonjs/countImpressionUtils/sendPageViewEvent.js.map +1 -0
- package/lib/commonjs/countImpressionUtils/sendStats.js +20 -0
- package/lib/commonjs/countImpressionUtils/sendStats.js.map +1 -0
- package/lib/commonjs/logger.js +27 -0
- package/lib/commonjs/logger.js.map +1 -0
- package/lib/commonjs/sentryIntegration.js +35 -12
- package/lib/commonjs/sentryIntegration.js.map +1 -1
- package/lib/module/Contentpass.js +97 -7
- package/lib/module/Contentpass.js.map +1 -1
- package/lib/module/{utils → contentpassTokenUtils}/fetchContentpassToken.js +3 -0
- package/lib/module/contentpassTokenUtils/fetchContentpassToken.js.map +1 -0
- package/lib/module/contentpassTokenUtils/parseContentpassToken.js.map +1 -0
- package/lib/module/contentpassTokenUtils/validateSubscription.js.map +1 -0
- package/lib/module/countImpressionUtils/sendPageViewEvent.js +20 -0
- package/lib/module/countImpressionUtils/sendPageViewEvent.js.map +1 -0
- package/lib/module/countImpressionUtils/sendStats.js +16 -0
- package/lib/module/countImpressionUtils/sendStats.js.map +1 -0
- package/lib/module/logger.js +22 -0
- package/lib/module/logger.js.map +1 -0
- package/lib/module/sentryIntegration.js +31 -10
- package/lib/module/sentryIntegration.js.map +1 -1
- package/lib/typescript/commonjs/src/Contentpass.d.ts +15 -1
- package/lib/typescript/commonjs/src/Contentpass.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/contentpassTokenUtils/fetchContentpassToken.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/contentpassTokenUtils/parseContentpassToken.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/contentpassTokenUtils/validateSubscription.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/countImpressionUtils/sendPageViewEvent.d.ts +8 -0
- package/lib/typescript/commonjs/src/countImpressionUtils/sendPageViewEvent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/countImpressionUtils/sendStats.d.ts +10 -0
- package/lib/typescript/commonjs/src/countImpressionUtils/sendStats.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/logger.d.ts +8 -0
- package/lib/typescript/commonjs/src/logger.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/sentryIntegration.d.ts +5 -1
- package/lib/typescript/commonjs/src/sentryIntegration.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types/ContentpassConfig.d.ts +4 -0
- package/lib/typescript/commonjs/src/types/ContentpassConfig.d.ts.map +1 -1
- package/lib/typescript/module/src/Contentpass.d.ts +15 -1
- package/lib/typescript/module/src/Contentpass.d.ts.map +1 -1
- package/lib/typescript/module/src/contentpassTokenUtils/fetchContentpassToken.d.ts.map +1 -0
- package/lib/typescript/module/src/contentpassTokenUtils/parseContentpassToken.d.ts.map +1 -0
- package/lib/typescript/module/src/contentpassTokenUtils/validateSubscription.d.ts.map +1 -0
- package/lib/typescript/module/src/countImpressionUtils/sendPageViewEvent.d.ts +8 -0
- package/lib/typescript/module/src/countImpressionUtils/sendPageViewEvent.d.ts.map +1 -0
- package/lib/typescript/module/src/countImpressionUtils/sendStats.d.ts +10 -0
- package/lib/typescript/module/src/countImpressionUtils/sendStats.d.ts.map +1 -0
- package/lib/typescript/module/src/logger.d.ts +8 -0
- package/lib/typescript/module/src/logger.d.ts.map +1 -0
- package/lib/typescript/module/src/sentryIntegration.d.ts +5 -1
- package/lib/typescript/module/src/sentryIntegration.d.ts.map +1 -1
- package/lib/typescript/module/src/types/ContentpassConfig.d.ts +4 -0
- package/lib/typescript/module/src/types/ContentpassConfig.d.ts.map +1 -1
- package/package.json +4 -2
- package/lib/commonjs/utils/fetchContentpassToken.js.map +0 -1
- package/lib/commonjs/utils/parseContentpassToken.js.map +0 -1
- package/lib/commonjs/utils/validateSubscription.js.map +0 -1
- package/lib/module/utils/fetchContentpassToken.js.map +0 -1
- package/lib/module/utils/parseContentpassToken.js.map +0 -1
- package/lib/module/utils/validateSubscription.js.map +0 -1
- package/lib/typescript/commonjs/src/utils/fetchContentpassToken.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/utils/parseContentpassToken.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/utils/validateSubscription.d.ts.map +0 -1
- package/lib/typescript/module/src/utils/fetchContentpassToken.d.ts.map +0 -1
- package/lib/typescript/module/src/utils/parseContentpassToken.d.ts.map +0 -1
- package/lib/typescript/module/src/utils/validateSubscription.d.ts.map +0 -1
- /package/lib/commonjs/{utils → contentpassTokenUtils}/parseContentpassToken.js +0 -0
- /package/lib/commonjs/{utils → contentpassTokenUtils}/validateSubscription.js +0 -0
- /package/lib/module/{utils → contentpassTokenUtils}/parseContentpassToken.js +0 -0
- /package/lib/module/{utils → contentpassTokenUtils}/validateSubscription.js +0 -0
- /package/lib/typescript/commonjs/src/{utils → contentpassTokenUtils}/fetchContentpassToken.d.ts +0 -0
- /package/lib/typescript/commonjs/src/{utils → contentpassTokenUtils}/parseContentpassToken.d.ts +0 -0
- /package/lib/typescript/commonjs/src/{utils → contentpassTokenUtils}/validateSubscription.d.ts +0 -0
- /package/lib/typescript/module/src/{utils → contentpassTokenUtils}/fetchContentpassToken.d.ts +0 -0
- /package/lib/typescript/module/src/{utils → contentpassTokenUtils}/parseContentpassToken.d.ts +0 -0
- /package/lib/typescript/module/src/{utils → contentpassTokenUtils}/validateSubscription.d.ts +0 -0
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import uuid from 'react-native-uuid';
|
|
3
4
|
import OidcAuthStateStorage from "./OidcAuthStateStorage.js";
|
|
4
5
|
import { ContentpassStateType } from "./types/ContentpassState.js";
|
|
5
6
|
import { authorize, refresh } from 'react-native-app-auth';
|
|
6
7
|
import { REFRESH_TOKEN_RETRIES, SCOPES } from "./consts/oidcConsts.js";
|
|
7
8
|
import { RefreshTokenStrategy } from "./types/RefreshTokenStrategy.js";
|
|
8
|
-
import fetchContentpassToken from "./
|
|
9
|
-
import validateSubscription from "./
|
|
10
|
-
import {
|
|
9
|
+
import fetchContentpassToken from "./contentpassTokenUtils/fetchContentpassToken.js";
|
|
10
|
+
import validateSubscription from "./contentpassTokenUtils/validateSubscription.js";
|
|
11
|
+
import { initSentry, reportError } from "./sentryIntegration.js";
|
|
12
|
+
import sendStats from "./countImpressionUtils/sendStats.js";
|
|
13
|
+
import sendPageViewEvent from "./countImpressionUtils/sendPageViewEvent.js";
|
|
14
|
+
import logger, { enableLogger } from "./logger.js";
|
|
15
|
+
const DEFAULT_SAMPLING_RATE = 0.05;
|
|
11
16
|
export default class Contentpass {
|
|
12
17
|
contentpassState = {
|
|
13
18
|
state: ContentpassStateType.INITIALISING
|
|
@@ -16,12 +21,24 @@ export default class Contentpass {
|
|
|
16
21
|
oidcAuthState = null;
|
|
17
22
|
refreshTimer = null;
|
|
18
23
|
constructor(config) {
|
|
24
|
+
if (config.logLevel) {
|
|
25
|
+
enableLogger(config.logLevel);
|
|
26
|
+
}
|
|
27
|
+
logger.debug('Contentpass initialised with config', config);
|
|
28
|
+
if (config.samplingRate && (config.samplingRate < 0 || config.samplingRate > 1)) {
|
|
29
|
+
logger.error('Sampling rate must be between 0 and 1');
|
|
30
|
+
throw new Error('Sampling rate must be between 0 and 1');
|
|
31
|
+
}
|
|
32
|
+
this.samplingRate = config.samplingRate || DEFAULT_SAMPLING_RATE;
|
|
19
33
|
this.authStateStorage = new OidcAuthStateStorage(config.propertyId);
|
|
20
34
|
this.config = config;
|
|
21
|
-
|
|
35
|
+
initSentry({
|
|
36
|
+
propertyId: config.propertyId
|
|
37
|
+
});
|
|
22
38
|
this.initialiseAuthState();
|
|
23
39
|
}
|
|
24
40
|
authenticate = async () => {
|
|
41
|
+
logger.info('Starting authentication flow');
|
|
25
42
|
let result;
|
|
26
43
|
try {
|
|
27
44
|
result = await authorize({
|
|
@@ -46,9 +63,11 @@ export default class Contentpass {
|
|
|
46
63
|
});
|
|
47
64
|
throw err;
|
|
48
65
|
}
|
|
66
|
+
logger.info('Authentication flow finished, checking subscription...');
|
|
49
67
|
await this.onNewAuthState(result);
|
|
50
68
|
};
|
|
51
69
|
registerObserver(observer) {
|
|
70
|
+
logger.info('Registering observer');
|
|
52
71
|
if (this.contentpassStateObservers.includes(observer)) {
|
|
53
72
|
return;
|
|
54
73
|
}
|
|
@@ -56,9 +75,11 @@ export default class Contentpass {
|
|
|
56
75
|
this.contentpassStateObservers.push(observer);
|
|
57
76
|
}
|
|
58
77
|
unregisterObserver(observer) {
|
|
78
|
+
logger.info('Unregistering observer');
|
|
59
79
|
this.contentpassStateObservers = this.contentpassStateObservers.filter(o => o !== observer);
|
|
60
80
|
}
|
|
61
81
|
logout = async () => {
|
|
82
|
+
logger.info('Logging out and clearing auth state');
|
|
62
83
|
await this.authStateStorage.clearOidcAuthState();
|
|
63
84
|
this.changeContentpassState({
|
|
64
85
|
state: ContentpassStateType.UNAUTHENTICATED,
|
|
@@ -66,42 +87,97 @@ export default class Contentpass {
|
|
|
66
87
|
});
|
|
67
88
|
};
|
|
68
89
|
recoverFromError = async () => {
|
|
90
|
+
logger.info('Recovering from error');
|
|
69
91
|
this.changeContentpassState({
|
|
70
92
|
state: ContentpassStateType.INITIALISING
|
|
71
93
|
});
|
|
72
94
|
await this.initialiseAuthState();
|
|
73
95
|
};
|
|
96
|
+
countImpression = async () => {
|
|
97
|
+
await Promise.all([this.countPaidImpressionWhenUserHasValidSub(), this.countSampledImpression()]);
|
|
98
|
+
};
|
|
99
|
+
countPaidImpressionWhenUserHasValidSub = async () => {
|
|
100
|
+
if (!this.hasValidSubscriptionAndAccessToken()) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
logger.info('Counting paid impression');
|
|
104
|
+
const impressionId = uuid.v4();
|
|
105
|
+
try {
|
|
106
|
+
await sendPageViewEvent(this.config.apiUrl, {
|
|
107
|
+
propertyId: this.config.propertyId,
|
|
108
|
+
impressionId,
|
|
109
|
+
accessToken: this.oidcAuthState.accessToken
|
|
110
|
+
});
|
|
111
|
+
} catch (err) {
|
|
112
|
+
reportError(err, {
|
|
113
|
+
msg: 'Failed to count paid impression'
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
countSampledImpression = async () => {
|
|
118
|
+
const generatedSample = Math.random();
|
|
119
|
+
const publicId = this.config.propertyId.slice(0, 8);
|
|
120
|
+
const instanceId = uuid.v4();
|
|
121
|
+
if (generatedSample >= this.samplingRate) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
logger.info('Counting sampled impression');
|
|
125
|
+
try {
|
|
126
|
+
await sendStats(this.config.apiUrl, {
|
|
127
|
+
ea: 'load',
|
|
128
|
+
ec: 'tcf-sampled',
|
|
129
|
+
cpabid: instanceId,
|
|
130
|
+
cppid: publicId,
|
|
131
|
+
cpsr: this.samplingRate
|
|
132
|
+
});
|
|
133
|
+
} catch (err) {
|
|
134
|
+
reportError(err, {
|
|
135
|
+
msg: 'Failed to count sampled impression'
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
};
|
|
74
139
|
initialiseAuthState = async () => {
|
|
75
140
|
const authState = await this.authStateStorage.getOidcAuthState();
|
|
76
141
|
if (authState) {
|
|
142
|
+
logger.debug('Found auth state in storage, initialising with it');
|
|
77
143
|
await this.onNewAuthState(authState);
|
|
78
144
|
return;
|
|
79
145
|
}
|
|
146
|
+
logger.debug('No auth state found in storage, initialising unauthenticated');
|
|
80
147
|
this.changeContentpassState({
|
|
81
148
|
state: ContentpassStateType.UNAUTHENTICATED,
|
|
82
149
|
hasValidSubscription: false
|
|
83
150
|
});
|
|
84
151
|
};
|
|
85
152
|
onNewAuthState = async authState => {
|
|
153
|
+
logger.debug('New auth state received');
|
|
86
154
|
this.oidcAuthState = authState;
|
|
87
155
|
await this.authStateStorage.storeOidcAuthState(authState);
|
|
88
156
|
const strategy = this.setupRefreshTimer();
|
|
89
157
|
// if instant refresh, no need to check subscription as it will happen in the refresh
|
|
90
158
|
if (strategy === RefreshTokenStrategy.INSTANTLY) {
|
|
159
|
+
logger.debug('Instant refresh, skipping subscription check');
|
|
91
160
|
return;
|
|
92
161
|
}
|
|
93
162
|
try {
|
|
163
|
+
logger.info('Checking subscription');
|
|
94
164
|
const contentpassToken = await fetchContentpassToken({
|
|
95
165
|
issuer: this.config.issuer,
|
|
96
166
|
propertyId: this.config.propertyId,
|
|
97
167
|
idToken: this.oidcAuthState.idToken
|
|
98
168
|
});
|
|
99
169
|
const hasValidSubscription = validateSubscription(contentpassToken);
|
|
170
|
+
logger.info({
|
|
171
|
+
hasValidSubscription
|
|
172
|
+
}, 'Subscription check successful');
|
|
100
173
|
this.changeContentpassState({
|
|
101
174
|
state: ContentpassStateType.AUTHENTICATED,
|
|
102
175
|
hasValidSubscription
|
|
103
176
|
});
|
|
104
177
|
} catch (err) {
|
|
178
|
+
reportError(err, {
|
|
179
|
+
msg: 'Failed to fetch contentpass token and validate subscription'
|
|
180
|
+
});
|
|
105
181
|
this.changeContentpassState({
|
|
106
182
|
state: ContentpassStateType.ERROR,
|
|
107
183
|
error: err
|
|
@@ -111,18 +187,23 @@ export default class Contentpass {
|
|
|
111
187
|
setupRefreshTimer = () => {
|
|
112
188
|
const accessTokenExpirationDate = this.oidcAuthState?.accessTokenExpirationDate;
|
|
113
189
|
if (!accessTokenExpirationDate) {
|
|
190
|
+
logger.warn('No access token expiration date provided');
|
|
114
191
|
return RefreshTokenStrategy.NO_REFRESH;
|
|
115
192
|
}
|
|
116
193
|
const now = new Date();
|
|
117
194
|
const expirationDate = new Date(accessTokenExpirationDate);
|
|
118
195
|
const timeDiff = expirationDate.getTime() - now.getTime();
|
|
119
196
|
if (timeDiff <= 0) {
|
|
197
|
+
logger.debug('Access token expired, refreshing instantly');
|
|
120
198
|
this.refreshToken(0);
|
|
121
199
|
return RefreshTokenStrategy.INSTANTLY;
|
|
122
200
|
}
|
|
123
201
|
if (this.refreshTimer) {
|
|
124
202
|
clearTimeout(this.refreshTimer);
|
|
125
203
|
}
|
|
204
|
+
logger.debug({
|
|
205
|
+
timeDiff
|
|
206
|
+
}, 'Setting up refresh timer');
|
|
126
207
|
this.refreshTimer = setTimeout(async () => {
|
|
127
208
|
await this.refreshToken(0);
|
|
128
209
|
}, timeDiff);
|
|
@@ -134,6 +215,7 @@ export default class Contentpass {
|
|
|
134
215
|
return;
|
|
135
216
|
}
|
|
136
217
|
try {
|
|
218
|
+
logger.info('Refreshing token');
|
|
137
219
|
const refreshResult = await refresh({
|
|
138
220
|
clientId: this.config.propertyId,
|
|
139
221
|
redirectUrl: this.config.redirectUrl,
|
|
@@ -143,26 +225,34 @@ export default class Contentpass {
|
|
|
143
225
|
refreshToken: this.oidcAuthState.refreshToken
|
|
144
226
|
});
|
|
145
227
|
await this.onNewAuthState(refreshResult);
|
|
228
|
+
logger.info('Token refreshed successfully');
|
|
146
229
|
} catch (err) {
|
|
147
230
|
await this.onRefreshTokenError(counter, err);
|
|
148
231
|
}
|
|
149
232
|
};
|
|
150
233
|
onRefreshTokenError = async (counter, err) => {
|
|
151
|
-
reportError(err, {
|
|
152
|
-
msg: `Failed to refresh token after ${counter} retries`
|
|
153
|
-
});
|
|
154
234
|
// FIXME: add handling for specific error to not retry in every case
|
|
155
235
|
if (counter < REFRESH_TOKEN_RETRIES) {
|
|
236
|
+
logger.warn({
|
|
237
|
+
err,
|
|
238
|
+
counter
|
|
239
|
+
}, 'Failed to refresh token, retrying');
|
|
156
240
|
const delay = counter * 1000 * 10;
|
|
157
241
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
158
242
|
await this.refreshToken(counter + 1);
|
|
159
243
|
return;
|
|
160
244
|
}
|
|
245
|
+
reportError(err, {
|
|
246
|
+
msg: `Failed to refresh token after ${counter} retries`
|
|
247
|
+
});
|
|
161
248
|
await this.logout();
|
|
162
249
|
};
|
|
163
250
|
changeContentpassState = state => {
|
|
164
251
|
this.contentpassState = state;
|
|
165
252
|
this.contentpassStateObservers.forEach(observer => observer(state));
|
|
166
253
|
};
|
|
254
|
+
hasValidSubscriptionAndAccessToken = () => {
|
|
255
|
+
return this.contentpassState.state === ContentpassStateType.AUTHENTICATED && this.contentpassState.hasValidSubscription && this.oidcAuthState?.accessToken;
|
|
256
|
+
};
|
|
167
257
|
}
|
|
168
258
|
//# sourceMappingURL=Contentpass.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OidcAuthStateStorage","ContentpassStateType","authorize","refresh","REFRESH_TOKEN_RETRIES","SCOPES","RefreshTokenStrategy","fetchContentpassToken","validateSubscription","reportError","
|
|
1
|
+
{"version":3,"names":["uuid","OidcAuthStateStorage","ContentpassStateType","authorize","refresh","REFRESH_TOKEN_RETRIES","SCOPES","RefreshTokenStrategy","fetchContentpassToken","validateSubscription","initSentry","reportError","sendStats","sendPageViewEvent","logger","enableLogger","DEFAULT_SAMPLING_RATE","Contentpass","contentpassState","state","INITIALISING","contentpassStateObservers","oidcAuthState","refreshTimer","constructor","config","logLevel","debug","samplingRate","error","Error","authStateStorage","propertyId","initialiseAuthState","authenticate","info","result","clientId","redirectUrl","issuer","scopes","additionalParameters","cp_route","prompt","cp_property","cp_plan","planId","err","msg","changeContentpassState","ERROR","onNewAuthState","registerObserver","observer","includes","push","unregisterObserver","filter","o","logout","clearOidcAuthState","UNAUTHENTICATED","hasValidSubscription","recoverFromError","countImpression","Promise","all","countPaidImpressionWhenUserHasValidSub","countSampledImpression","hasValidSubscriptionAndAccessToken","impressionId","v4","apiUrl","accessToken","generatedSample","Math","random","publicId","slice","instanceId","ea","ec","cpabid","cppid","cpsr","authState","getOidcAuthState","storeOidcAuthState","strategy","setupRefreshTimer","INSTANTLY","contentpassToken","idToken","AUTHENTICATED","accessTokenExpirationDate","warn","NO_REFRESH","now","Date","expirationDate","timeDiff","getTime","refreshToken","clearTimeout","setTimeout","TIMER_SET","counter","refreshResult","onRefreshTokenError","delay","resolve","forEach"],"sourceRoot":"../../src","sources":["Contentpass.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,mBAAmB;AACpC,OAAOC,oBAAoB,MAEpB,2BAAwB;AAC/B,SAEEC,oBAAoB,QACf,6BAA0B;AACjC,SACEC,SAAS,EAETC,OAAO,QACF,uBAAuB;AAC9B,SAASC,qBAAqB,EAAEC,MAAM,QAAQ,wBAAqB;AACnE,SAASC,oBAAoB,QAAQ,iCAA8B;AACnE,OAAOC,qBAAqB,MAAM,kDAA+C;AACjF,OAAOC,oBAAoB,MAAM,iDAA8C;AAE/E,SAASC,UAAU,EAAEC,WAAW,QAAQ,wBAAqB;AAC7D,OAAOC,SAAS,MAAM,qCAAkC;AACxD,OAAOC,iBAAiB,MAAM,6CAA0C;AACxE,OAAOC,MAAM,IAAIC,YAAY,QAAQ,aAAU;AAE/C,MAAMC,qBAAqB,GAAG,IAAI;AAalC,eAAe,MAAMC,WAAW,CAAiC;EAKvDC,gBAAgB,GAAqB;IAC3CC,KAAK,EAAEjB,oBAAoB,CAACkB;EAC9B,CAAC;EACOC,yBAAyB,GAA0B,EAAE;EACrDC,aAAa,GAAyB,IAAI;EAC1CC,YAAY,GAA0B,IAAI;EAElDC,WAAWA,CAACC,MAAyB,EAAE;IACrC,IAAIA,MAAM,CAACC,QAAQ,EAAE;MACnBX,YAAY,CAACU,MAAM,CAACC,QAAQ,CAAC;IAC/B;IAEAZ,MAAM,CAACa,KAAK,CAAC,qCAAqC,EAAEF,MAAM,CAAC;IAC3D,IACEA,MAAM,CAACG,YAAY,KAClBH,MAAM,CAACG,YAAY,GAAG,CAAC,IAAIH,MAAM,CAACG,YAAY,GAAG,CAAC,CAAC,EACpD;MACAd,MAAM,CAACe,KAAK,CAAC,uCAAuC,CAAC;MACrD,MAAM,IAAIC,KAAK,CAAC,uCAAuC,CAAC;IAC1D;IACA,IAAI,CAACF,YAAY,GAAGH,MAAM,CAACG,YAAY,IAAIZ,qBAAqB;IAChE,IAAI,CAACe,gBAAgB,GAAG,IAAI9B,oBAAoB,CAACwB,MAAM,CAACO,UAAU,CAAC;IACnE,IAAI,CAACP,MAAM,GAAGA,MAAM;IACpBf,UAAU,CAAC;MAAEsB,UAAU,EAAEP,MAAM,CAACO;IAAW,CAAC,CAAC;IAC7C,IAAI,CAACC,mBAAmB,CAAC,CAAC;EAC5B;EAEOC,YAAY,GAAG,MAAAA,CAAA,KAA2B;IAC/CpB,MAAM,CAACqB,IAAI,CAAC,8BAA8B,CAAC;IAC3C,IAAIC,MAAuB;IAE3B,IAAI;MACFA,MAAM,GAAG,MAAMjC,SAAS,CAAC;QACvBkC,QAAQ,EAAE,IAAI,CAACZ,MAAM,CAACO,UAAU;QAChCM,WAAW,EAAE,IAAI,CAACb,MAAM,CAACa,WAAW;QACpCC,MAAM,EAAE,IAAI,CAACd,MAAM,CAACc,MAAM;QAC1BC,MAAM,EAAElC,MAAM;QACdmC,oBAAoB,EAAE;UACpBC,QAAQ,EAAE,OAAO;UACjBC,MAAM,EAAE,SAAS;UACjBC,WAAW,EAAE,IAAI,CAACnB,MAAM,CAACO,UAAU;UACnCa,OAAO,EAAE,IAAI,CAACpB,MAAM,CAACqB;QACvB;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOC,GAAQ,EAAE;MACjBpC,WAAW,CAACoC,GAAG,EAAE;QAAEC,GAAG,EAAE;MAAsB,CAAC,CAAC;MAChD,IAAI,CAACC,sBAAsB,CAAC;QAC1B9B,KAAK,EAAEjB,oBAAoB,CAACgD,KAAK;QACjCrB,KAAK,EAAEkB;MACT,CAAC,CAAC;MAEF,MAAMA,GAAG;IACX;IACAjC,MAAM,CAACqB,IAAI,CAAC,wDAAwD,CAAC;IAErE,MAAM,IAAI,CAACgB,cAAc,CAACf,MAAM,CAAC;EACnC,CAAC;EAEMgB,gBAAgBA,CAACC,QAA6B,EAAE;IACrDvC,MAAM,CAACqB,IAAI,CAAC,sBAAsB,CAAC;IACnC,IAAI,IAAI,CAACd,yBAAyB,CAACiC,QAAQ,CAACD,QAAQ,CAAC,EAAE;MACrD;IACF;IAEAA,QAAQ,CAAC,IAAI,CAACnC,gBAAgB,CAAC;IAC/B,IAAI,CAACG,yBAAyB,CAACkC,IAAI,CAACF,QAAQ,CAAC;EAC/C;EAEOG,kBAAkBA,CAACH,QAA6B,EAAE;IACvDvC,MAAM,CAACqB,IAAI,CAAC,wBAAwB,CAAC;IACrC,IAAI,CAACd,yBAAyB,GAAG,IAAI,CAACA,yBAAyB,CAACoC,MAAM,CACnEC,CAAC,IAAKA,CAAC,KAAKL,QACf,CAAC;EACH;EAEOM,MAAM,GAAG,MAAAA,CAAA,KAAY;IAC1B7C,MAAM,CAACqB,IAAI,CAAC,qCAAqC,CAAC;IAClD,MAAM,IAAI,CAACJ,gBAAgB,CAAC6B,kBAAkB,CAAC,CAAC;IAChD,IAAI,CAACX,sBAAsB,CAAC;MAC1B9B,KAAK,EAAEjB,oBAAoB,CAAC2D,eAAe;MAC3CC,oBAAoB,EAAE;IACxB,CAAC,CAAC;EACJ,CAAC;EAEMC,gBAAgB,GAAG,MAAAA,CAAA,KAAY;IACpCjD,MAAM,CAACqB,IAAI,CAAC,uBAAuB,CAAC;IACpC,IAAI,CAACc,sBAAsB,CAAC;MAC1B9B,KAAK,EAAEjB,oBAAoB,CAACkB;IAC9B,CAAC,CAAC;IAEF,MAAM,IAAI,CAACa,mBAAmB,CAAC,CAAC;EAClC,CAAC;EAEM+B,eAAe,GAAG,MAAAA,CAAA,KAAY;IACnC,MAAMC,OAAO,CAACC,GAAG,CAAC,CAChB,IAAI,CAACC,sCAAsC,CAAC,CAAC,EAC7C,IAAI,CAACC,sBAAsB,CAAC,CAAC,CAC9B,CAAC;EACJ,CAAC;EAEOD,sCAAsC,GAAG,MAAAA,CAAA,KAAY;IAC3D,IAAI,CAAC,IAAI,CAACE,kCAAkC,CAAC,CAAC,EAAE;MAC9C;IACF;IAEAvD,MAAM,CAACqB,IAAI,CAAC,0BAA0B,CAAC;IACvC,MAAMmC,YAAY,GAAGtE,IAAI,CAACuE,EAAE,CAAC,CAAC;IAE9B,IAAI;MACF,MAAM1D,iBAAiB,CAAC,IAAI,CAACY,MAAM,CAAC+C,MAAM,EAAE;QAC1CxC,UAAU,EAAE,IAAI,CAACP,MAAM,CAACO,UAAU;QAClCsC,YAAY;QACZG,WAAW,EAAE,IAAI,CAACnD,aAAa,CAAEmD;MACnC,CAAC,CAAC;IACJ,CAAC,CAAC,OAAO1B,GAAQ,EAAE;MACjBpC,WAAW,CAACoC,GAAG,EAAE;QAAEC,GAAG,EAAE;MAAkC,CAAC,CAAC;IAC9D;EACF,CAAC;EAEOoB,sBAAsB,GAAG,MAAAA,CAAA,KAAY;IAC3C,MAAMM,eAAe,GAAGC,IAAI,CAACC,MAAM,CAAC,CAAC;IACrC,MAAMC,QAAQ,GAAG,IAAI,CAACpD,MAAM,CAACO,UAAU,CAAC8C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACnD,MAAMC,UAAU,GAAG/E,IAAI,CAACuE,EAAE,CAAC,CAAC;IAE5B,IAAIG,eAAe,IAAI,IAAI,CAAC9C,YAAY,EAAE;MACxC;IACF;IAEAd,MAAM,CAACqB,IAAI,CAAC,6BAA6B,CAAC;IAC1C,IAAI;MACF,MAAMvB,SAAS,CAAC,IAAI,CAACa,MAAM,CAAC+C,MAAM,EAAE;QAClCQ,EAAE,EAAE,MAAM;QACVC,EAAE,EAAE,aAAa;QACjBC,MAAM,EAAEH,UAAU;QAClBI,KAAK,EAAEN,QAAQ;QACfO,IAAI,EAAE,IAAI,CAACxD;MACb,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOmB,GAAQ,EAAE;MACjBpC,WAAW,CAACoC,GAAG,EAAE;QAAEC,GAAG,EAAE;MAAqC,CAAC,CAAC;IACjE;EACF,CAAC;EAEOf,mBAAmB,GAAG,MAAAA,CAAA,KAAY;IACxC,MAAMoD,SAAS,GAAG,MAAM,IAAI,CAACtD,gBAAgB,CAACuD,gBAAgB,CAAC,CAAC;IAChE,IAAID,SAAS,EAAE;MACbvE,MAAM,CAACa,KAAK,CAAC,mDAAmD,CAAC;MACjE,MAAM,IAAI,CAACwB,cAAc,CAACkC,SAAS,CAAC;MACpC;IACF;IAEAvE,MAAM,CAACa,KAAK,CACV,8DACF,CAAC;IACD,IAAI,CAACsB,sBAAsB,CAAC;MAC1B9B,KAAK,EAAEjB,oBAAoB,CAAC2D,eAAe;MAC3CC,oBAAoB,EAAE;IACxB,CAAC,CAAC;EACJ,CAAC;EAEOX,cAAc,GAAG,MAAOkC,SAAwB,IAAK;IAC3DvE,MAAM,CAACa,KAAK,CAAC,yBAAyB,CAAC;IACvC,IAAI,CAACL,aAAa,GAAG+D,SAAS;IAC9B,MAAM,IAAI,CAACtD,gBAAgB,CAACwD,kBAAkB,CAACF,SAAS,CAAC;IAEzD,MAAMG,QAAQ,GAAG,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACzC;IACA,IAAID,QAAQ,KAAKjF,oBAAoB,CAACmF,SAAS,EAAE;MAC/C5E,MAAM,CAACa,KAAK,CAAC,8CAA8C,CAAC;MAC5D;IACF;IAEA,IAAI;MACFb,MAAM,CAACqB,IAAI,CAAC,uBAAuB,CAAC;MACpC,MAAMwD,gBAAgB,GAAG,MAAMnF,qBAAqB,CAAC;QACnD+B,MAAM,EAAE,IAAI,CAACd,MAAM,CAACc,MAAM;QAC1BP,UAAU,EAAE,IAAI,CAACP,MAAM,CAACO,UAAU;QAClC4D,OAAO,EAAE,IAAI,CAACtE,aAAa,CAACsE;MAC9B,CAAC,CAAC;MACF,MAAM9B,oBAAoB,GAAGrD,oBAAoB,CAACkF,gBAAgB,CAAC;MACnE7E,MAAM,CAACqB,IAAI,CAAC;QAAE2B;MAAqB,CAAC,EAAE,+BAA+B,CAAC;MACtE,IAAI,CAACb,sBAAsB,CAAC;QAC1B9B,KAAK,EAAEjB,oBAAoB,CAAC2F,aAAa;QACzC/B;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOf,GAAQ,EAAE;MACjBpC,WAAW,CAACoC,GAAG,EAAE;QACfC,GAAG,EAAE;MACP,CAAC,CAAC;MACF,IAAI,CAACC,sBAAsB,CAAC;QAC1B9B,KAAK,EAAEjB,oBAAoB,CAACgD,KAAK;QACjCrB,KAAK,EAAEkB;MACT,CAAC,CAAC;IACJ;EACF,CAAC;EAEO0C,iBAAiB,GAAGA,CAAA,KAA4B;IACtD,MAAMK,yBAAyB,GAC7B,IAAI,CAACxE,aAAa,EAAEwE,yBAAyB;IAE/C,IAAI,CAACA,yBAAyB,EAAE;MAC9BhF,MAAM,CAACiF,IAAI,CAAC,0CAA0C,CAAC;MACvD,OAAOxF,oBAAoB,CAACyF,UAAU;IACxC;IAEA,MAAMC,GAAG,GAAG,IAAIC,IAAI,CAAC,CAAC;IACtB,MAAMC,cAAc,GAAG,IAAID,IAAI,CAACJ,yBAAyB,CAAC;IAC1D,MAAMM,QAAQ,GAAGD,cAAc,CAACE,OAAO,CAAC,CAAC,GAAGJ,GAAG,CAACI,OAAO,CAAC,CAAC;IACzD,IAAID,QAAQ,IAAI,CAAC,EAAE;MACjBtF,MAAM,CAACa,KAAK,CAAC,4CAA4C,CAAC;MAC1D,IAAI,CAAC2E,YAAY,CAAC,CAAC,CAAC;MACpB,OAAO/F,oBAAoB,CAACmF,SAAS;IACvC;IAEA,IAAI,IAAI,CAACnE,YAAY,EAAE;MACrBgF,YAAY,CAAC,IAAI,CAAChF,YAAY,CAAC;IACjC;IAEAT,MAAM,CAACa,KAAK,CAAC;MAAEyE;IAAS,CAAC,EAAE,0BAA0B,CAAC;IACtD,IAAI,CAAC7E,YAAY,GAAGiF,UAAU,CAAC,YAAY;MACzC,MAAM,IAAI,CAACF,YAAY,CAAC,CAAC,CAAC;IAC5B,CAAC,EAAEF,QAAQ,CAAC;IAEZ,OAAO7F,oBAAoB,CAACkG,SAAS;EACvC,CAAC;EAEOH,YAAY,GAAG,MAAOI,OAAe,IAAK;IAChD,IAAI,CAAC,IAAI,CAACpF,aAAa,EAAEgF,YAAY,EAAE;MACrC3F,WAAW,CAAC,IAAImB,KAAK,CAAC,4CAA4C,CAAC,CAAC;MACpE;IACF;IAEA,IAAI;MACFhB,MAAM,CAACqB,IAAI,CAAC,kBAAkB,CAAC;MAC/B,MAAMwE,aAAa,GAAG,MAAMvG,OAAO,CACjC;QACEiC,QAAQ,EAAE,IAAI,CAACZ,MAAM,CAACO,UAAU;QAChCM,WAAW,EAAE,IAAI,CAACb,MAAM,CAACa,WAAW;QACpCC,MAAM,EAAE,IAAI,CAACd,MAAM,CAACc,MAAM;QAC1BC,MAAM,EAAElC;MACV,CAAC,EACD;QACEgG,YAAY,EAAE,IAAI,CAAChF,aAAa,CAACgF;MACnC,CACF,CAAC;MACD,MAAM,IAAI,CAACnD,cAAc,CAACwD,aAAa,CAAC;MACxC7F,MAAM,CAACqB,IAAI,CAAC,8BAA8B,CAAC;IAC7C,CAAC,CAAC,OAAOY,GAAQ,EAAE;MACjB,MAAM,IAAI,CAAC6D,mBAAmB,CAACF,OAAO,EAAE3D,GAAG,CAAC;IAC9C;EACF,CAAC;EAEO6D,mBAAmB,GAAG,MAAAA,CAAOF,OAAe,EAAE3D,GAAU,KAAK;IACnE;IACA,IAAI2D,OAAO,GAAGrG,qBAAqB,EAAE;MACnCS,MAAM,CAACiF,IAAI,CAAC;QAAEhD,GAAG;QAAE2D;MAAQ,CAAC,EAAE,mCAAmC,CAAC;MAClE,MAAMG,KAAK,GAAGH,OAAO,GAAG,IAAI,GAAG,EAAE;MACjC,MAAM,IAAIzC,OAAO,CAAE6C,OAAO,IAAKN,UAAU,CAACM,OAAO,EAAED,KAAK,CAAC,CAAC;MAC1D,MAAM,IAAI,CAACP,YAAY,CAACI,OAAO,GAAG,CAAC,CAAC;MACpC;IACF;IAEA/F,WAAW,CAACoC,GAAG,EAAE;MACfC,GAAG,EAAE,iCAAiC0D,OAAO;IAC/C,CAAC,CAAC;IAEF,MAAM,IAAI,CAAC/C,MAAM,CAAC,CAAC;EACrB,CAAC;EAEOV,sBAAsB,GAAI9B,KAAuB,IAAK;IAC5D,IAAI,CAACD,gBAAgB,GAAGC,KAAK;IAC7B,IAAI,CAACE,yBAAyB,CAAC0F,OAAO,CAAE1D,QAAQ,IAAKA,QAAQ,CAAClC,KAAK,CAAC,CAAC;EACvE,CAAC;EAEOkD,kCAAkC,GAAGA,CAAA,KAAM;IACjD,OACE,IAAI,CAACnD,gBAAgB,CAACC,KAAK,KAAKjB,oBAAoB,CAAC2F,aAAa,IAClE,IAAI,CAAC3E,gBAAgB,CAAC4C,oBAAoB,IAC1C,IAAI,CAACxC,aAAa,EAAEmD,WAAW;EAEnC,CAAC;AACH","ignoreList":[]}
|
|
@@ -17,6 +17,9 @@ export default async function fetchContentpassToken({
|
|
|
17
17
|
client_id: propertyId
|
|
18
18
|
}).toString()
|
|
19
19
|
});
|
|
20
|
+
if (!tokenEndpointResponse.ok) {
|
|
21
|
+
throw new Error(`Failed to fetch Contentpass token, status: ${tokenEndpointResponse.statusText}`);
|
|
22
|
+
}
|
|
20
23
|
const {
|
|
21
24
|
contentpass_token
|
|
22
25
|
} = await tokenEndpointResponse.json();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TOKEN_ENDPOINT","fetchContentpassToken","idToken","propertyId","issuer","tokenEndpointResponse","fetch","method","headers","body","URLSearchParams","grant_type","subject_token","client_id","toString","ok","Error","statusText","contentpass_token","json"],"sourceRoot":"../../../src","sources":["contentpassTokenUtils/fetchContentpassToken.ts"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,yBAAsB;AAErD,eAAe,eAAeC,qBAAqBA,CAAC;EAClDC,OAAO;EACPC,UAAU;EACVC;AAKF,CAAC,EAAE;EACD,MAAMC,qBAAqB,GAAG,MAAMC,KAAK,CAAC,GAAGF,MAAM,GAAGJ,cAAc,EAAE,EAAE;IACtEO,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE;MACP,cAAc,EAAE;IAClB,CAAC;IACDC,IAAI,EAAE,IAAIC,eAAe,CAAC;MACxBC,UAAU,EAAE,mBAAmB;MAC/BC,aAAa,EAAEV,OAAO;MACtBW,SAAS,EAAEV;IACb,CAAC,CAAC,CAACW,QAAQ,CAAC;EACd,CAAC,CAAC;EAEF,IAAI,CAACT,qBAAqB,CAACU,EAAE,EAAE;IAC7B,MAAM,IAAIC,KAAK,CACb,8CAA8CX,qBAAqB,CAACY,UAAU,EAChF,CAAC;EACH;EAEA,MAAM;IAAEC;EAAkB,CAAC,GAAG,MAAMb,qBAAqB,CAACc,IAAI,CAAC,CAAC;EAEhE,OAAOD,iBAAiB;AAC1B","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["parseContentpassToken","contentpassToken","tokenParts","split","length","Error","header","JSON","parse","atob","body"],"sourceRoot":"../../../src","sources":["contentpassTokenUtils/parseContentpassToken.ts"],"mappings":";;AAeA,eAAe,SAASA,qBAAqBA,CAC3CC,gBAAwB,EACX;EACb,MAAMC,UAAU,GAAGD,gBAAgB,CAACE,KAAK,CAAC,GAAG,CAAC;EAC9C,IAAID,UAAU,CAACE,MAAM,GAAG,CAAC,EAAE;IACzB,MAAM,IAAIC,KAAK,CAAC,mDAAmD,CAAC;EACtE;EAEA,MAAMC,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACC,IAAI,CAACP,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC;EAC/C,MAAMQ,IAAI,GAAGH,IAAI,CAACC,KAAK,CAACC,IAAI,CAACP,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC;EAE7C,OAAO;IACLI,MAAM;IACNI;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["parseContentpassToken","reportError","validateSubscription","contentpassToken","body","auth","plans","length","err","msg"],"sourceRoot":"../../../src","sources":["contentpassTokenUtils/validateSubscription.ts"],"mappings":";;AAAA,OAAOA,qBAAqB,MAAM,4BAAyB;AAC3D,SAASC,WAAW,QAAQ,yBAAsB;AAElD,eAAe,SAASC,oBAAoBA,CAACC,gBAAwB,EAAE;EACrE,IAAI;IACF,MAAM;MAAEC;IAAK,CAAC,GAAGJ,qBAAqB,CAACG,gBAAgB,CAAC;IACxD,OAAO,CAAC,CAACC,IAAI,CAACC,IAAI,IAAI,CAAC,CAACD,IAAI,CAACE,KAAK,CAACC,MAAM;EAC3C,CAAC,CAAC,OAAOC,GAAQ,EAAE;IACjBP,WAAW,CAACO,GAAG,EAAE;MAAEC,GAAG,EAAE;IAAkC,CAAC,CAAC;IAC5D,OAAO,KAAK;EACd;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export default async function sendPageViewEvent(apiUrl, payload) {
|
|
4
|
+
const {
|
|
5
|
+
propertyId,
|
|
6
|
+
impressionId,
|
|
7
|
+
accessToken
|
|
8
|
+
} = payload;
|
|
9
|
+
const path = `pass/hit?pid=${propertyId}&iid=${impressionId}&t=pageview`;
|
|
10
|
+
const response = await fetch(`${apiUrl}/${path}`, {
|
|
11
|
+
headers: {
|
|
12
|
+
Authorization: `Bearer ${accessToken}`
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
if (!response.ok) {
|
|
16
|
+
throw new Error(`Failed send page view event, status: ${response.statusText}`);
|
|
17
|
+
}
|
|
18
|
+
return response;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=sendPageViewEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["sendPageViewEvent","apiUrl","payload","propertyId","impressionId","accessToken","path","response","fetch","headers","Authorization","ok","Error","statusText"],"sourceRoot":"../../../src","sources":["countImpressionUtils/sendPageViewEvent.ts"],"mappings":";;AAMA,eAAe,eAAeA,iBAAiBA,CAC7CC,MAAc,EACdC,OAAwB,EACxB;EACA,MAAM;IAAEC,UAAU;IAAEC,YAAY;IAAEC;EAAY,CAAC,GAAGH,OAAO;EACzD,MAAMI,IAAI,GAAG,gBAAgBH,UAAU,QAAQC,YAAY,aAAa;EAExE,MAAMG,QAAQ,GAAG,MAAMC,KAAK,CAAC,GAAGP,MAAM,IAAIK,IAAI,EAAE,EAAE;IAChDG,OAAO,EAAE;MACPC,aAAa,EAAE,UAAUL,WAAW;IACtC;EACF,CAAC,CAAC;EAEF,IAAI,CAACE,QAAQ,CAACI,EAAE,EAAE;IAChB,MAAM,IAAIC,KAAK,CACb,wCAAwCL,QAAQ,CAACM,UAAU,EAC7D,CAAC;EACH;EAEA,OAAON,QAAQ;AACjB","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export default async function sendStats(apiUrl, payload) {
|
|
4
|
+
const response = await fetch(`${apiUrl}/stats`, {
|
|
5
|
+
method: 'POST',
|
|
6
|
+
headers: {
|
|
7
|
+
'Content-Type': 'application/json; charset=UTF-8'
|
|
8
|
+
},
|
|
9
|
+
body: JSON.stringify(payload)
|
|
10
|
+
});
|
|
11
|
+
if (!response.ok) {
|
|
12
|
+
throw new Error(`Failed to send stats, status: ${response.statusText}`);
|
|
13
|
+
}
|
|
14
|
+
return response;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=sendStats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["sendStats","apiUrl","payload","response","fetch","method","headers","body","JSON","stringify","ok","Error","statusText"],"sourceRoot":"../../../src","sources":["countImpressionUtils/sendStats.ts"],"mappings":";;AAQA,eAAe,eAAeA,SAASA,CAACC,MAAc,EAAEC,OAAqB,EAAE;EAC7E,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CAAC,GAAGH,MAAM,QAAQ,EAAE;IAC9CI,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE;MACP,cAAc,EAAE;IAClB,CAAC;IACDC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAACP,OAAO;EAC9B,CAAC,CAAC;EAEF,IAAI,CAACC,QAAQ,CAACO,EAAE,EAAE;IAChB,MAAM,IAAIC,KAAK,CAAC,iCAAiCR,QAAQ,CAACS,UAAU,EAAE,CAAC;EACzE;EAEA,OAAOT,QAAQ;AACjB","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { consoleTransport, logger } from 'react-native-logs';
|
|
4
|
+
const log = logger.createLogger({
|
|
5
|
+
// by default loggger is disabled
|
|
6
|
+
enabled: false,
|
|
7
|
+
transport: consoleTransport,
|
|
8
|
+
transportOptions: {
|
|
9
|
+
colors: {
|
|
10
|
+
info: 'blueBright',
|
|
11
|
+
warn: 'yellowBright',
|
|
12
|
+
error: 'redBright'
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
export const enableLogger = severity => {
|
|
17
|
+
log.setSeverity(severity);
|
|
18
|
+
log.enable();
|
|
19
|
+
log.debug('Logger enabled with severity', severity);
|
|
20
|
+
};
|
|
21
|
+
export default log;
|
|
22
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["consoleTransport","logger","log","createLogger","enabled","transport","transportOptions","colors","info","warn","error","enableLogger","severity","setSeverity","enable","debug"],"sourceRoot":"../../src","sources":["logger.ts"],"mappings":";;AAAA,SACEA,gBAAgB,EAChBC,MAAM,QAED,mBAAmB;AAQ1B,MAAMC,GAAW,GAAGD,MAAM,CAACE,YAAY,CAAC;EACtC;EACAC,OAAO,EAAE,KAAK;EACdC,SAAS,EAAEL,gBAAgB;EAC3BM,gBAAgB,EAAE;IAChBC,MAAM,EAAE;MACNC,IAAI,EAAE,YAAY;MAClBC,IAAI,EAAE,cAAc;MACpBC,KAAK,EAAE;IACT;EACF;AACF,CAAC,CAAC;AAEF,OAAO,MAAMC,YAAY,GAAIC,QAAkB,IAAK;EAClDV,GAAG,CAACW,WAAW,CAACD,QAAQ,CAAC;EACzBV,GAAG,CAACY,MAAM,CAAC,CAAC;EAEZZ,GAAG,CAACa,KAAK,CAAC,8BAA8B,EAAEH,QAAQ,CAAC;AACrD,CAAC;AAED,eAAeV,GAAG","ignoreList":[]}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
import * as Sentry from '@sentry/react-native';
|
|
4
4
|
import { defaultStackParser, makeFetchTransport } from '@sentry/react';
|
|
5
5
|
import { getDefaultIntegrations } from '@sentry/react-native/dist/js/integrations/default';
|
|
6
|
+
import logger from "./logger.js";
|
|
7
|
+
import { Platform } from 'react-native';
|
|
6
8
|
|
|
7
9
|
// as it's only the open source package, we want to have minimal sentry configuration here to not override sentry instance,
|
|
8
10
|
// which can be used in the application
|
|
@@ -27,18 +29,37 @@ const options = {
|
|
|
27
29
|
sendClientReports: true,
|
|
28
30
|
stackParser: defaultStackParser,
|
|
29
31
|
transport: makeFetchTransport,
|
|
30
|
-
integrations: []
|
|
32
|
+
integrations: [],
|
|
33
|
+
environment: __DEV__ ? 'development' : 'production'
|
|
34
|
+
};
|
|
35
|
+
let sentryScope = null;
|
|
36
|
+
export const initSentry = args => {
|
|
37
|
+
if (sentryScope) {
|
|
38
|
+
logger.warn('Sentry already initialized');
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const sentryClient = new Sentry.ReactNativeClient({
|
|
42
|
+
...options,
|
|
43
|
+
integrations: getDefaultIntegrations(options)
|
|
44
|
+
});
|
|
45
|
+
sentryScope = new Sentry.Scope();
|
|
46
|
+
sentryScope.setClient(sentryClient);
|
|
47
|
+
sentryClient.init();
|
|
48
|
+
sentryScope.setTags({
|
|
49
|
+
propertyId: args.propertyId,
|
|
50
|
+
OS: Platform.OS,
|
|
51
|
+
platformVersion: Platform.Version
|
|
52
|
+
});
|
|
31
53
|
};
|
|
32
|
-
const sentryClient = new Sentry.ReactNativeClient({
|
|
33
|
-
...options,
|
|
34
|
-
integrations: getDefaultIntegrations(options)
|
|
35
|
-
});
|
|
36
|
-
const sentryScope = new Sentry.Scope();
|
|
37
|
-
sentryScope.setClient(sentryClient);
|
|
38
|
-
sentryClient.init();
|
|
39
54
|
export const reportError = (err, {
|
|
40
55
|
msg
|
|
41
56
|
} = {}) => {
|
|
57
|
+
logger.error({
|
|
58
|
+
err
|
|
59
|
+
}, msg || 'Unexpected error');
|
|
60
|
+
if (!sentryScope) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
42
63
|
if (msg) {
|
|
43
64
|
sentryScope.addBreadcrumb({
|
|
44
65
|
category: 'Error',
|
|
@@ -48,7 +69,7 @@ export const reportError = (err, {
|
|
|
48
69
|
}
|
|
49
70
|
sentryScope.captureException(err);
|
|
50
71
|
};
|
|
51
|
-
export const
|
|
52
|
-
sentryScope
|
|
72
|
+
export const __internal_reset_sentry_scope = () => {
|
|
73
|
+
sentryScope = null;
|
|
53
74
|
};
|
|
54
75
|
//# sourceMappingURL=sentryIntegration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Sentry","defaultStackParser","makeFetchTransport","getDefaultIntegrations","options","attachStacktrace","autoInitializeNativeSdk","dsn","enableAppStartTracking","enableAutoPerformanceTracing","enableCaptureFailedRequests","enableNative","enableNativeCrashHandling","enableNativeFramesTracking","enableNativeNagger","enableNdk","enableStallTracking","enableUserInteractionTracing","enableWatchdogTerminationTracking","maxQueueSize","parentSpanIsAlwaysRootSpan","patchGlobalPromise","sendClientReports","stackParser","transport","integrations","
|
|
1
|
+
{"version":3,"names":["Sentry","defaultStackParser","makeFetchTransport","getDefaultIntegrations","logger","Platform","options","attachStacktrace","autoInitializeNativeSdk","dsn","enableAppStartTracking","enableAutoPerformanceTracing","enableCaptureFailedRequests","enableNative","enableNativeCrashHandling","enableNativeFramesTracking","enableNativeNagger","enableNdk","enableStallTracking","enableUserInteractionTracing","enableWatchdogTerminationTracking","maxQueueSize","parentSpanIsAlwaysRootSpan","patchGlobalPromise","sendClientReports","stackParser","transport","integrations","environment","__DEV__","sentryScope","initSentry","args","warn","sentryClient","ReactNativeClient","Scope","setClient","init","setTags","propertyId","OS","platformVersion","Version","reportError","err","msg","error","addBreadcrumb","category","message","level","captureException","__internal_reset_sentry_scope"],"sourceRoot":"../../src","sources":["sentryIntegration.ts"],"mappings":";;AAAA,OAAO,KAAKA,MAAM,MAAM,sBAAsB;AAC9C,SAASC,kBAAkB,EAAEC,kBAAkB,QAAQ,eAAe;AACtE,SAASC,sBAAsB,QAAQ,mDAAmD;AAC1F,OAAOC,MAAM,MAAM,aAAU;AAC7B,SAASC,QAAQ,QAAQ,cAAc;;AAEvC;AACA;AACA,MAAMC,OAAO,GAAG;EACdC,gBAAgB,EAAE,IAAI;EACtBC,uBAAuB,EAAE,KAAK;EAC9BC,GAAG,EAAE,yEAAyE;EAC9EC,sBAAsB,EAAE,KAAK;EAC7BC,4BAA4B,EAAE,KAAK;EACnCC,2BAA2B,EAAE,KAAK;EAClCC,YAAY,EAAE,KAAK;EACnBC,yBAAyB,EAAE,KAAK;EAChCC,0BAA0B,EAAE,KAAK;EACjCC,kBAAkB,EAAE,KAAK;EACzBC,SAAS,EAAE,KAAK;EAChBC,mBAAmB,EAAE,IAAI;EACzBC,4BAA4B,EAAE,KAAK;EACnCC,iCAAiC,EAAE,KAAK;EACxCC,YAAY,EAAE,EAAE;EAChBC,0BAA0B,EAAE,IAAI;EAChCC,kBAAkB,EAAE,IAAI;EACxBC,iBAAiB,EAAE,IAAI;EACvBC,WAAW,EAAExB,kBAAkB;EAC/ByB,SAAS,EAAExB,kBAAkB;EAC7ByB,YAAY,EAAE,EAAE;EAChBC,WAAW,EAAEC,OAAO,GAAG,aAAa,GAAG;AACzC,CAAC;AAMD,IAAIC,WAAgC,GAAG,IAAI;AAE3C,OAAO,MAAMC,UAAU,GAAIC,IAAoB,IAAK;EAClD,IAAIF,WAAW,EAAE;IACf1B,MAAM,CAAC6B,IAAI,CAAC,4BAA4B,CAAC;IACzC;EACF;EAEA,MAAMC,YAAY,GAAG,IAAIlC,MAAM,CAACmC,iBAAiB,CAAC;IAChD,GAAG7B,OAAO;IACVqB,YAAY,EAAExB,sBAAsB,CAACG,OAAO;EAC9C,CAAC,CAAC;EAEFwB,WAAW,GAAG,IAAI9B,MAAM,CAACoC,KAAK,CAAC,CAAC;EAChCN,WAAW,CAACO,SAAS,CAACH,YAAY,CAAC;EAEnCA,YAAY,CAACI,IAAI,CAAC,CAAC;EAEnBR,WAAW,CAACS,OAAO,CAAC;IAClBC,UAAU,EAAER,IAAI,CAACQ,UAAU;IAC3BC,EAAE,EAAEpC,QAAQ,CAACoC,EAAE;IACfC,eAAe,EAAErC,QAAQ,CAACsC;EAC5B,CAAC,CAAC;AACJ,CAAC;AAMD,OAAO,MAAMC,WAAW,GAAGA,CAACC,GAAU,EAAE;EAAEC;AAAwB,CAAC,GAAG,CAAC,CAAC,KAAK;EAC3E1C,MAAM,CAAC2C,KAAK,CAAC;IAAEF;EAAI,CAAC,EAAEC,GAAG,IAAI,kBAAkB,CAAC;EAChD,IAAI,CAAChB,WAAW,EAAE;IAChB;EACF;EAEA,IAAIgB,GAAG,EAAE;IACPhB,WAAW,CAACkB,aAAa,CAAC;MACxBC,QAAQ,EAAE,OAAO;MACjBC,OAAO,EAAEJ,GAAG;MACZK,KAAK,EAAE;IACT,CAAC,CAAC;EACJ;EAEArB,WAAW,CAACsB,gBAAgB,CAACP,GAAG,CAAC;AACnC,CAAC;AAED,OAAO,MAAMQ,6BAA6B,GAAGA,CAAA,KAAM;EACjDvB,WAAW,GAAG,IAAI;AACpB,CAAC","ignoreList":[]}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import { type ContentpassState } from './types/ContentpassState';
|
|
2
2
|
import type { ContentpassConfig } from './types/ContentpassConfig';
|
|
3
3
|
export type ContentpassObserver = (state: ContentpassState) => void;
|
|
4
|
-
|
|
4
|
+
interface ContentpassInterface {
|
|
5
|
+
authenticate: () => Promise<void>;
|
|
6
|
+
registerObserver: (observer: ContentpassObserver) => void;
|
|
7
|
+
unregisterObserver: (observer: ContentpassObserver) => void;
|
|
8
|
+
logout: () => Promise<void>;
|
|
9
|
+
recoverFromError: () => Promise<void>;
|
|
10
|
+
countImpression: () => Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
export default class Contentpass implements ContentpassInterface {
|
|
5
13
|
private authStateStorage;
|
|
6
14
|
private readonly config;
|
|
15
|
+
private readonly samplingRate;
|
|
7
16
|
private contentpassState;
|
|
8
17
|
private contentpassStateObservers;
|
|
9
18
|
private oidcAuthState;
|
|
@@ -14,11 +23,16 @@ export default class Contentpass {
|
|
|
14
23
|
unregisterObserver(observer: ContentpassObserver): void;
|
|
15
24
|
logout: () => Promise<void>;
|
|
16
25
|
recoverFromError: () => Promise<void>;
|
|
26
|
+
countImpression: () => Promise<void>;
|
|
27
|
+
private countPaidImpressionWhenUserHasValidSub;
|
|
28
|
+
private countSampledImpression;
|
|
17
29
|
private initialiseAuthState;
|
|
18
30
|
private onNewAuthState;
|
|
19
31
|
private setupRefreshTimer;
|
|
20
32
|
private refreshToken;
|
|
21
33
|
private onRefreshTokenError;
|
|
22
34
|
private changeContentpassState;
|
|
35
|
+
private hasValidSubscriptionAndAccessToken;
|
|
23
36
|
}
|
|
37
|
+
export {};
|
|
24
38
|
//# sourceMappingURL=Contentpass.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contentpass.d.ts","sourceRoot":"","sources":["../../../../src/Contentpass.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Contentpass.d.ts","sourceRoot":"","sources":["../../../../src/Contentpass.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,0BAA0B,CAAC;AAUlC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAQnE,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEpE,UAAU,oBAAoB;IAC5B,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC1D,kBAAkB,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,oBAAoB;IAC9D,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,OAAO,CAAC,gBAAgB,CAEtB;IACF,OAAO,CAAC,yBAAyB,CAA6B;IAC9D,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,YAAY,CAA+B;gBAEvC,MAAM,EAAE,iBAAiB;IAoB9B,YAAY,QAAa,OAAO,CAAC,IAAI,CAAC,CA6B3C;IAEK,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB;IAU9C,kBAAkB,CAAC,QAAQ,EAAE,mBAAmB;IAOhD,MAAM,sBAOX;IAEK,gBAAgB,sBAOrB;IAEK,eAAe,sBAKpB;IAEF,OAAO,CAAC,sCAAsC,CAiB5C;IAEF,OAAO,CAAC,sBAAsB,CAqB5B;IAEF,OAAO,CAAC,mBAAmB,CAezB;IAEF,OAAO,CAAC,cAAc,CAkCpB;IAEF,OAAO,CAAC,iBAAiB,CA4BvB;IAEF,OAAO,CAAC,YAAY,CAwBlB;IAEF,OAAO,CAAC,mBAAmB,CAezB;IAEF,OAAO,CAAC,sBAAsB,CAG5B;IAEF,OAAO,CAAC,kCAAkC,CAMxC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchContentpassToken.d.ts","sourceRoot":"","sources":["../../../../../src/contentpassTokenUtils/fetchContentpassToken.ts"],"names":[],"mappings":"AAEA,wBAA8B,qBAAqB,CAAC,EAClD,OAAO,EACP,UAAU,EACV,MAAM,GACP,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,gBAsBA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseContentpassToken.d.ts","sourceRoot":"","sources":["../../../../../src/contentpassTokenUtils/parseContentpassToken.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,OAAO,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,gBAAgB,EAAE,MAAM,GACvB,WAAW,CAab"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateSubscription.d.ts","sourceRoot":"","sources":["../../../../../src/contentpassTokenUtils/validateSubscription.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,WAQpE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type HitEndpointArgs = {
|
|
2
|
+
propertyId: string;
|
|
3
|
+
impressionId: string;
|
|
4
|
+
accessToken: string;
|
|
5
|
+
};
|
|
6
|
+
export default function sendPageViewEvent(apiUrl: string, payload: HitEndpointArgs): Promise<Response>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=sendPageViewEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sendPageViewEvent.d.ts","sourceRoot":"","sources":["../../../../../src/countImpressionUtils/sendPageViewEvent.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAA8B,iBAAiB,CAC7C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,eAAe,qBAkBzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sendStats.d.ts","sourceRoot":"","sources":["../../../../../src/countImpressionUtils/sendStats.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAA8B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,qBAc5E"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { logger, type transportFunctionType } from 'react-native-logs';
|
|
2
|
+
import type { Severity } from './types/ContentpassConfig';
|
|
3
|
+
import type { ConsoleTransportOptions } from 'react-native-logs/dist/transports/consoleTransport';
|
|
4
|
+
type Logger = ReturnType<typeof logger.createLogger<transportFunctionType<ConsoleTransportOptions>>>;
|
|
5
|
+
declare const log: Logger;
|
|
6
|
+
export declare const enableLogger: (severity: Severity) => void;
|
|
7
|
+
export default log;
|
|
8
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EACN,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;AAElG,KAAK,MAAM,GAAG,UAAU,CACtB,OAAO,MAAM,CAAC,YAAY,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,CAAC,CAC3E,CAAC;AAEF,QAAA,MAAM,GAAG,EAAE,MAWT,CAAC;AAEH,eAAO,MAAM,YAAY,aAAc,QAAQ,SAK9C,CAAC;AAEF,eAAe,GAAG,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
type InitSentryArgs = {
|
|
2
|
+
propertyId: string;
|
|
3
|
+
};
|
|
4
|
+
export declare const initSentry: (args: InitSentryArgs) => void;
|
|
1
5
|
type ReportErrorOptions = {
|
|
2
6
|
msg?: string;
|
|
3
7
|
};
|
|
4
8
|
export declare const reportError: (err: Error, { msg }?: ReportErrorOptions) => void;
|
|
5
|
-
export declare const
|
|
9
|
+
export declare const __internal_reset_sentry_scope: () => void;
|
|
6
10
|
export {};
|
|
7
11
|
//# sourceMappingURL=sentryIntegration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentryIntegration.d.ts","sourceRoot":"","sources":["../../../../src/sentryIntegration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sentryIntegration.d.ts","sourceRoot":"","sources":["../../../../src/sentryIntegration.ts"],"names":[],"mappings":"AAiCA,KAAK,cAAc,GAAG;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAIF,eAAO,MAAM,UAAU,SAAU,cAAc,SAqB9C,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,WAAW,QAAS,KAAK,YAAW,kBAAkB,SAelE,CAAC;AAEF,eAAO,MAAM,6BAA6B,YAEzC,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
export type Severity = 'debug' | 'info' | 'warn' | 'error';
|
|
1
2
|
export type ContentpassConfig = {
|
|
2
3
|
propertyId: string;
|
|
3
4
|
planId: string;
|
|
4
5
|
redirectUrl: string;
|
|
5
6
|
issuer: string;
|
|
7
|
+
apiUrl: string;
|
|
8
|
+
samplingRate?: number;
|
|
9
|
+
logLevel?: Severity;
|
|
6
10
|
};
|
|
7
11
|
//# sourceMappingURL=ContentpassConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentpassConfig.d.ts","sourceRoot":"","sources":["../../../../../src/types/ContentpassConfig.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ContentpassConfig.d.ts","sourceRoot":"","sources":["../../../../../src/types/ContentpassConfig.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC"}
|