@transcend-io/airgap.js-types 13.0.0 → 14.0.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/LICENSE +201 -21
- package/dist/index.d.mts +2510 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +1018 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +41 -41
- package/.yarn/sdks/eslint/package.json +0 -14
- package/.yarn/sdks/prettier/package.json +0 -7
- package/.yarn/sdks/typescript/package.json +0 -10
- package/README.md +0 -12
- package/build/constants.d.ts +0 -16
- package/build/constants.d.ts.map +0 -1
- package/build/constants.js +0 -46
- package/build/constants.js.map +0 -1
- package/build/core.d.ts +0 -1083
- package/build/core.d.ts.map +0 -1
- package/build/core.js +0 -226
- package/build/core.js.map +0 -1
- package/build/enums/browserLanguage.d.ts +0 -311
- package/build/enums/browserLanguage.d.ts.map +0 -1
- package/build/enums/browserLanguage.js +0 -314
- package/build/enums/browserLanguage.js.map +0 -1
- package/build/enums/consentExpiry.d.ts +0 -14
- package/build/enums/consentExpiry.d.ts.map +0 -1
- package/build/enums/consentExpiry.js +0 -16
- package/build/enums/consentExpiry.js.map +0 -1
- package/build/enums/experience.d.ts +0 -12
- package/build/enums/experience.d.ts.map +0 -1
- package/build/enums/experience.js +0 -15
- package/build/enums/experience.js.map +0 -1
- package/build/enums/index.d.ts +0 -7
- package/build/enums/index.d.ts.map +0 -1
- package/build/enums/index.js +0 -23
- package/build/enums/index.js.map +0 -1
- package/build/enums/privacyRegime.d.ts +0 -25
- package/build/enums/privacyRegime.d.ts.map +0 -1
- package/build/enums/privacyRegime.js +0 -29
- package/build/enums/privacyRegime.js.map +0 -1
- package/build/enums/purpose.d.ts +0 -88
- package/build/enums/purpose.d.ts.map +0 -1
- package/build/enums/purpose.js +0 -62
- package/build/enums/purpose.js.map +0 -1
- package/build/enums/viewState.d.ts +0 -197
- package/build/enums/viewState.d.ts.map +0 -1
- package/build/enums/viewState.js +0 -98
- package/build/enums/viewState.js.map +0 -1
- package/build/experience.d.ts +0 -63
- package/build/experience.d.ts.map +0 -1
- package/build/experience.js +0 -136
- package/build/experience.js.map +0 -1
- package/build/iab.d.ts +0 -320
- package/build/iab.d.ts.map +0 -1
- package/build/iab.js +0 -188
- package/build/iab.js.map +0 -1
- package/build/index.d.ts +0 -8
- package/build/index.d.ts.map +0 -1
- package/build/index.js +0 -24
- package/build/index.js.map +0 -1
- package/build/mobile.d.ts +0 -44
- package/build/mobile.d.ts.map +0 -1
- package/build/mobile.js +0 -46
- package/build/mobile.js.map +0 -1
- package/build/tsbuildinfo +0 -1
- package/build/ui.d.ts +0 -645
- package/build/ui.d.ts.map +0 -1
- package/build/ui.js +0 -159
- package/build/ui.js.map +0 -1
- package/build-esm/constants.d.ts +0 -16
- package/build-esm/constants.d.ts.map +0 -1
- package/build-esm/constants.js +0 -43
- package/build-esm/constants.js.map +0 -1
- package/build-esm/core.d.ts +0 -1083
- package/build-esm/core.d.ts.map +0 -1
- package/build-esm/core.js +0 -200
- package/build-esm/core.js.map +0 -1
- package/build-esm/enums/browserLanguage.d.ts +0 -311
- package/build-esm/enums/browserLanguage.d.ts.map +0 -1
- package/build-esm/enums/browserLanguage.js +0 -311
- package/build-esm/enums/browserLanguage.js.map +0 -1
- package/build-esm/enums/consentExpiry.d.ts +0 -14
- package/build-esm/enums/consentExpiry.d.ts.map +0 -1
- package/build-esm/enums/consentExpiry.js +0 -13
- package/build-esm/enums/consentExpiry.js.map +0 -1
- package/build-esm/enums/experience.d.ts +0 -12
- package/build-esm/enums/experience.d.ts.map +0 -1
- package/build-esm/enums/experience.js +0 -12
- package/build-esm/enums/experience.js.map +0 -1
- package/build-esm/enums/index.d.ts +0 -7
- package/build-esm/enums/index.d.ts.map +0 -1
- package/build-esm/enums/index.js +0 -7
- package/build-esm/enums/index.js.map +0 -1
- package/build-esm/enums/privacyRegime.d.ts +0 -25
- package/build-esm/enums/privacyRegime.d.ts.map +0 -1
- package/build-esm/enums/privacyRegime.js +0 -26
- package/build-esm/enums/privacyRegime.js.map +0 -1
- package/build-esm/enums/purpose.d.ts +0 -88
- package/build-esm/enums/purpose.d.ts.map +0 -1
- package/build-esm/enums/purpose.js +0 -59
- package/build-esm/enums/purpose.js.map +0 -1
- package/build-esm/enums/viewState.d.ts +0 -197
- package/build-esm/enums/viewState.d.ts.map +0 -1
- package/build-esm/enums/viewState.js +0 -95
- package/build-esm/enums/viewState.js.map +0 -1
- package/build-esm/experience.d.ts +0 -63
- package/build-esm/experience.d.ts.map +0 -1
- package/build-esm/experience.js +0 -132
- package/build-esm/experience.js.map +0 -1
- package/build-esm/iab.d.ts +0 -320
- package/build-esm/iab.d.ts.map +0 -1
- package/build-esm/iab.js +0 -162
- package/build-esm/iab.js.map +0 -1
- package/build-esm/index.d.ts +0 -8
- package/build-esm/index.d.ts.map +0 -1
- package/build-esm/index.js +0 -8
- package/build-esm/index.js.map +0 -1
- package/build-esm/mobile.d.ts +0 -44
- package/build-esm/mobile.d.ts.map +0 -1
- package/build-esm/mobile.js +0 -20
- package/build-esm/mobile.js.map +0 -1
- package/build-esm/ui.d.ts +0 -645
- package/build-esm/ui.d.ts.map +0 -1
- package/build-esm/ui.js +0 -133
- package/build-esm/ui.js.map +0 -1
package/build/core.d.ts
DELETED
|
@@ -1,1083 +0,0 @@
|
|
|
1
|
-
import * as t from 'io-ts';
|
|
2
|
-
/** Transcend logger items */
|
|
3
|
-
export type LogItem = {
|
|
4
|
-
/** Log item content */
|
|
5
|
-
content: any;
|
|
6
|
-
/** Log item styles */
|
|
7
|
-
styles: string[];
|
|
8
|
-
};
|
|
9
|
-
/** Transcend logger entry tag */
|
|
10
|
-
export type LogTag = LogItem & {
|
|
11
|
-
/** Log tag content must be a string */
|
|
12
|
-
content: string;
|
|
13
|
-
/** Log tags must have only one style */
|
|
14
|
-
styles: string[1];
|
|
15
|
-
};
|
|
16
|
-
/** Transcend logger entry message */
|
|
17
|
-
export type LogMessage = LogItem;
|
|
18
|
-
/** Console-safe log levels */
|
|
19
|
-
export declare const ConsoleSafeLogLevel: t.KeyofC<{
|
|
20
|
-
info: null;
|
|
21
|
-
log: null;
|
|
22
|
-
warn: null;
|
|
23
|
-
debug: null;
|
|
24
|
-
error: null;
|
|
25
|
-
trace: null;
|
|
26
|
-
group: null;
|
|
27
|
-
groupCollapsed: null;
|
|
28
|
-
groupEnd: null;
|
|
29
|
-
}>;
|
|
30
|
-
/** Override type */
|
|
31
|
-
export type ConsoleSafeLogLevel = t.TypeOf<typeof ConsoleSafeLogLevel>;
|
|
32
|
-
/** Airgap log levels */
|
|
33
|
-
export declare const LogLevel: t.UnionC<[t.KeyofC<{
|
|
34
|
-
info: null;
|
|
35
|
-
log: null;
|
|
36
|
-
warn: null;
|
|
37
|
-
debug: null;
|
|
38
|
-
error: null;
|
|
39
|
-
trace: null;
|
|
40
|
-
group: null;
|
|
41
|
-
groupCollapsed: null;
|
|
42
|
-
groupEnd: null;
|
|
43
|
-
}>, t.LiteralC<"fatal">]>;
|
|
44
|
-
/** Override type */
|
|
45
|
-
export type LogLevel = t.TypeOf<typeof LogLevel>;
|
|
46
|
-
/** Airgap logger entry types */
|
|
47
|
-
export type LogEntryType = LogLevel;
|
|
48
|
-
/** Airgap logger entries */
|
|
49
|
-
export type LogEntry = {
|
|
50
|
-
/** Log entry tag */
|
|
51
|
-
tag: LogTag;
|
|
52
|
-
/** Log entry message */
|
|
53
|
-
message: LogMessage;
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* Log emitter function
|
|
57
|
-
*/
|
|
58
|
-
export type LogEmitter = {
|
|
59
|
-
/** Styled log emitter function */
|
|
60
|
-
styled(styles?: null | string | string[], ...entries: any[]): void;
|
|
61
|
-
} & ((...entries: any[]) => void);
|
|
62
|
-
/** Transcend Logger API */
|
|
63
|
-
export type Logger = {
|
|
64
|
-
/**
|
|
65
|
-
* Set log tag during callback execution or from
|
|
66
|
-
* this point on if no callback is provided.
|
|
67
|
-
*/
|
|
68
|
-
tag(logTag: string, callback?: () => any): void;
|
|
69
|
-
} & {
|
|
70
|
-
[method in LogLevel]: LogEmitter;
|
|
71
|
-
};
|
|
72
|
-
/** AirgapAuth auth options */
|
|
73
|
-
export type AirgapAuthMap = {
|
|
74
|
-
/** A `load` event from a just-loaded airgap.js script element (which implies auth by being loaded before airgap.js) */
|
|
75
|
-
load?: Event;
|
|
76
|
-
/** A user-initiated interaction event that was just dispatched. */
|
|
77
|
-
interaction?: Event;
|
|
78
|
-
/** Automatically reload the page if needed to remove CSP. `false` by default. */
|
|
79
|
-
autoReload?: boolean;
|
|
80
|
-
/**
|
|
81
|
-
* Additional authorization key automatically conferred by airgap.js via setAuth() API for UI modules.
|
|
82
|
-
* Required when optional strict authorization mode is enabled.
|
|
83
|
-
*/
|
|
84
|
-
key?: symbol;
|
|
85
|
-
};
|
|
86
|
-
/** Airgap authorization proof */
|
|
87
|
-
export type AirgapAuth = null | AirgapAuthMap
|
|
88
|
-
/**
|
|
89
|
-
* A user-initiated interaction event that was just dispatched, or
|
|
90
|
-
* a `load` event from a just-loaded airgap.js script element (which implies auth by being loaded before airgap.js).
|
|
91
|
-
*/
|
|
92
|
-
| Event;
|
|
93
|
-
/** A boolean value represented as either `'on'` or `'off'` */
|
|
94
|
-
export declare const BooleanString: t.KeyofC<{
|
|
95
|
-
on: null;
|
|
96
|
-
off: null;
|
|
97
|
-
}>;
|
|
98
|
-
/** Type override */
|
|
99
|
-
export type BooleanString = t.TypeOf<typeof BooleanString>;
|
|
100
|
-
/** Data privacy legal regimes */
|
|
101
|
-
export type PrivacyRegime = string;
|
|
102
|
-
export interface GetPurposeTypesOptions {
|
|
103
|
-
/** Regimes to include */
|
|
104
|
-
regimes?: PrivacyRegime[];
|
|
105
|
-
/** Privacy signals to include */
|
|
106
|
-
signals?: UserPrivacySignal[];
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Regime to purpose scope map
|
|
110
|
-
*/
|
|
111
|
-
export type RegimeToPurposeScopes = [PrivacyRegime[], TrackingPurpose[]][];
|
|
112
|
-
/** Reserved metadata, currently used for airgap module data syncing */
|
|
113
|
-
export interface ReservedMetadata {
|
|
114
|
-
/** Top-level key to avoid polluting the metadata key space */
|
|
115
|
-
tcmp?: Record<string, unknown>;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Extra metadata to be synced along with consent
|
|
119
|
-
*/
|
|
120
|
-
export type Metadata = Record<string, unknown>;
|
|
121
|
-
/** setConsent() options */
|
|
122
|
-
export interface ConsentOptions {
|
|
123
|
-
/** Was consent confirmed by the user? */
|
|
124
|
-
confirmed?: boolean;
|
|
125
|
-
/**
|
|
126
|
-
* Was the UI shown to the user?
|
|
127
|
-
* @deprecated It was discovered that this value was not being set reliably in some versions, and was not being used.
|
|
128
|
-
*/
|
|
129
|
-
prompted?: boolean;
|
|
130
|
-
/**
|
|
131
|
-
* Extra metadata to be synced along with consent
|
|
132
|
-
*
|
|
133
|
-
* Special values:
|
|
134
|
-
* - `null` - Do not change metadata
|
|
135
|
-
* - `false` - Clear metadata
|
|
136
|
-
*/
|
|
137
|
-
metadata?: (Metadata & ReservedMetadata) | null | false;
|
|
138
|
-
/** Last updated for metadata */
|
|
139
|
-
metadataTimestamp?: string;
|
|
140
|
-
/** Whether or not to return a Promise so that the caller can wait for sync to complete. By default, we do not wait for sync */
|
|
141
|
-
waitForSync?: boolean;
|
|
142
|
-
/** Last updated */
|
|
143
|
-
timestamp?: string;
|
|
144
|
-
}
|
|
145
|
-
/** airgap.toggle() options */
|
|
146
|
-
export type AirgapToggleOptions =
|
|
147
|
-
/** Protection state */
|
|
148
|
-
boolean | {
|
|
149
|
-
/** Protection state */
|
|
150
|
-
protection?: boolean;
|
|
151
|
-
};
|
|
152
|
-
/** airgap.status format */
|
|
153
|
-
export interface AirgapSystemStatus {
|
|
154
|
-
/** Protection system active state */
|
|
155
|
-
protection: boolean;
|
|
156
|
-
/** Have any CSPs been activated? */
|
|
157
|
-
csp: boolean;
|
|
158
|
-
/** Monitoring system active state */
|
|
159
|
-
monitoring: boolean;
|
|
160
|
-
/** Telemetry system active state */
|
|
161
|
-
telemetry: boolean;
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Request override config
|
|
165
|
-
*/
|
|
166
|
-
export interface RequestOverride {
|
|
167
|
-
/** Optional tracking purposes to gate the override with lack of consent */
|
|
168
|
-
unconsented?: TrackingPurpose[];
|
|
169
|
-
/**
|
|
170
|
-
* Optional request matcher. This is a RegExp object (or string input
|
|
171
|
-
* for the RegExp constructor). Overrides apply to all requests
|
|
172
|
-
* when this is undefined.
|
|
173
|
-
*/
|
|
174
|
-
matcher?: RegExp | string;
|
|
175
|
-
/** Override executor function or replacement string */
|
|
176
|
-
override: string | ((request: IPendingEvent, matcher?: RegExp) => void);
|
|
177
|
-
/** Name */
|
|
178
|
-
name?: string;
|
|
179
|
-
/** Note */
|
|
180
|
-
note?: string;
|
|
181
|
-
/** Description */
|
|
182
|
-
description?: string;
|
|
183
|
-
}
|
|
184
|
-
/** Airgap watcher */
|
|
185
|
-
export type AirgapWatcher = (request: IPendingEvent) => void;
|
|
186
|
-
/**
|
|
187
|
-
* Cookie override handler. This function can modify attempted cookie mutations.
|
|
188
|
-
*/
|
|
189
|
-
export type CookieOverride = (event: IPendingCookieMutation) => void;
|
|
190
|
-
/**
|
|
191
|
-
* Passive cookie watcher. This function can view attempted cookie mutations in a read-only state.
|
|
192
|
-
*/
|
|
193
|
-
export type CookieWatcher = (event: IPendingCookieMutation) => void;
|
|
194
|
-
/** Event types (for purpose resolution) */
|
|
195
|
-
export type TrackingEventType = 'request' | 'cookie';
|
|
196
|
-
/** Airgap sync types */
|
|
197
|
-
export type AirgapSyncType = 'consent' | 'quarantine';
|
|
198
|
-
/** airgap.sync() options */
|
|
199
|
-
export interface SyncOptions {
|
|
200
|
-
/** types of data to sync */
|
|
201
|
-
sync?: AirgapSyncType[];
|
|
202
|
-
/** reset synchronized data (default: false) */
|
|
203
|
-
reset?: boolean;
|
|
204
|
-
/** sync locally (i.e. XDI) */
|
|
205
|
-
local?: boolean;
|
|
206
|
-
/** sync with remote endpoint */
|
|
207
|
-
backend?: boolean;
|
|
208
|
-
/** signed authentication token to link consent with encrypted identifier */
|
|
209
|
-
auth?: string;
|
|
210
|
-
}
|
|
211
|
-
/** airgap.js API */
|
|
212
|
-
export type AirgapAPI = Readonly<{
|
|
213
|
-
/** Embedded request watchers */
|
|
214
|
-
watchers?: AirgapWatcher[];
|
|
215
|
-
/** Embedded request overrides (must specify pre-init) */
|
|
216
|
-
overrides?: RequestOverride[];
|
|
217
|
-
/** Embedded request overrides (must specify pre-init) */
|
|
218
|
-
cookieOverrides?: CookieOverride[];
|
|
219
|
-
/** Airgap ready event subscriber */
|
|
220
|
-
ready(callback: (airgap: AirgapAPI) => void): void;
|
|
221
|
-
/** Queue of callbacks to dispatch once airgap is ready */
|
|
222
|
-
readyQueue?: ((airgap: AirgapAPI) => void)[];
|
|
223
|
-
/** Enqueue cross-domain data sync across all airgap bundle domains */
|
|
224
|
-
sync(options?: SyncOptions): Promise<void>;
|
|
225
|
-
/**
|
|
226
|
-
* Resolve URL input reserialization post-regulation.
|
|
227
|
-
* @param resolveOverrides - Resolve overrides. Defaults to true.
|
|
228
|
-
*/
|
|
229
|
-
resolve(url: Stringifiable, resolveOverrides?: boolean): Stringifiable;
|
|
230
|
-
/**
|
|
231
|
-
* Resolve consent status for given tracking purposes. Essential purposes override opted out unessential purposes.
|
|
232
|
-
*
|
|
233
|
-
* If `use` is not provided, consent is resolved for both request and cookie tracking event types.
|
|
234
|
-
* @param trackingPurposes - Tracking purposes to resolve
|
|
235
|
-
* @param use - Optional event type to use for tracking purpose resolution
|
|
236
|
-
* @returns `true` if the applicable tracking purposes are consented.
|
|
237
|
-
*/
|
|
238
|
-
isConsented(trackingPurposes: TrackingPurposes, use?: TrackingEventType): boolean;
|
|
239
|
-
/** Get tracking consent */
|
|
240
|
-
getConsent(): TrackingConsentDetails;
|
|
241
|
-
/** Set tracking consent */
|
|
242
|
-
setConsent(
|
|
243
|
-
/** Airgap auth proof */
|
|
244
|
-
auth: AirgapAuth,
|
|
245
|
-
/** The tracking consent options. */
|
|
246
|
-
consent: TrackingConsent,
|
|
247
|
-
/** Consent options */
|
|
248
|
-
options?: ConsentOptions): Promise<boolean> | boolean;
|
|
249
|
-
/**
|
|
250
|
-
* Sets whether or not the Consent UI has been shown to the user
|
|
251
|
-
* @deprecated It was discovered that this function was not working reliably in some versions, and that the value it set was not being used.
|
|
252
|
-
*/
|
|
253
|
-
setPrompted(state: boolean): Promise<void>;
|
|
254
|
-
/** Consents the user to all tracking purposes (requires recent UI interaction) */
|
|
255
|
-
optIn(
|
|
256
|
-
/** Airgap auth proof */
|
|
257
|
-
auth: AirgapAuth): boolean;
|
|
258
|
-
/** Revokes consent for all tracking purposes (requires recent UI interaction) */
|
|
259
|
-
optOut(
|
|
260
|
-
/** Airgap auth proof */
|
|
261
|
-
auth: AirgapAuth): boolean;
|
|
262
|
-
/** Returns true if the user is fully-opted in to all first-order tracking purposes */
|
|
263
|
-
isOptedIn(): boolean;
|
|
264
|
-
/** Returns true if the user is fully-opted out to all first-order tracking purposes */
|
|
265
|
-
isOptedOut(): boolean;
|
|
266
|
-
/** Resolve regime tracking purposes. If no regimes are provided, then the user's detected regimes are used */
|
|
267
|
-
getRegimePurposes(regimes?: Set<PrivacyRegime>): Set<TrackingPurpose>;
|
|
268
|
-
/** Get initialized tracking purposes config */
|
|
269
|
-
getPurposeTypes(): TrackingPurposesTypes;
|
|
270
|
-
/** Override pending requests */
|
|
271
|
-
override(auth: AirgapAuth, ...overrides: RequestOverride[]): Removable;
|
|
272
|
-
/** Override cookies */
|
|
273
|
-
overrideCookies(auth: AirgapAuth, handler: (event: IPendingCookieMutation) => void): Removable;
|
|
274
|
-
/** Listen to pending requests passively */
|
|
275
|
-
watch(watcher: AirgapWatcher): Removable;
|
|
276
|
-
/** Listen to cookies passively */
|
|
277
|
-
watchCookies(watcher: CookieWatcher): Removable;
|
|
278
|
-
/** Clear airgap queue & caches. Returns `true` on success. */
|
|
279
|
-
clear(auth: AirgapAuth): boolean;
|
|
280
|
-
/** Reset airgap queue and consent. Returns `true` on success. */
|
|
281
|
-
reset(
|
|
282
|
-
/** An airgap auth proof */
|
|
283
|
-
auth: AirgapAuth,
|
|
284
|
-
/** Automatically reload the page if needed to remove CSP. */
|
|
285
|
-
autoReload?: boolean): boolean;
|
|
286
|
-
/** Check whether a URL is allowed to be loaded */
|
|
287
|
-
isAllowed(
|
|
288
|
-
/** URL to evaluate */
|
|
289
|
-
url: Stringifiable,
|
|
290
|
-
/** Should overrides be resolved? true by default */
|
|
291
|
-
resolveOverrides?: boolean): Promise<boolean>;
|
|
292
|
-
/** Check whether a cookie is allowed to be set */
|
|
293
|
-
isCookieAllowed(
|
|
294
|
-
/** IPendingCookieMutation-like object to evaluate */
|
|
295
|
-
cookie: string | IPendingCookieMutation | PendingCookieMutationInit,
|
|
296
|
-
/** Should overrides be resolved? true by default */
|
|
297
|
-
resolveOverrides?: boolean): Promise<boolean>;
|
|
298
|
-
/** Check whether a IPendingRequest is allowed to be loaded */
|
|
299
|
-
isRequestAllowed(
|
|
300
|
-
/** IPendingEvent to inspect */
|
|
301
|
-
request: IPendingEvent,
|
|
302
|
-
/** Should overrides be resolved? true by default */
|
|
303
|
-
resolveOverrides?: boolean): Promise<boolean>;
|
|
304
|
-
/** Get purposes of URL */
|
|
305
|
-
getPurposes(
|
|
306
|
-
/** URL to evaluate */
|
|
307
|
-
url: Stringifiable,
|
|
308
|
-
/** Should overrides be resolved? true by default */
|
|
309
|
-
resolveOverrides?: boolean): Promise<TrackingPurposes>;
|
|
310
|
-
/** Get purposes of IPendingRequest */
|
|
311
|
-
getRequestPurposes(
|
|
312
|
-
/** IPendingEvent-like object to inspect */
|
|
313
|
-
request: string | IPendingEvent | PendingRequestInit,
|
|
314
|
-
/** Should overrides be resolved? true by default */
|
|
315
|
-
resolveOverrides?: boolean): Promise<TrackingPurposes>;
|
|
316
|
-
/** Get purposes of a cookie */
|
|
317
|
-
getCookiePurposes(
|
|
318
|
-
/** IPendingCookieMutation-like object to evaluate */
|
|
319
|
-
cookie: string | IPendingCookieMutation | PendingCookieMutationInit,
|
|
320
|
-
/** Should overrides be resolved? true by default */
|
|
321
|
-
resolveOverrides?: boolean): Promise<TrackingPurposes>;
|
|
322
|
-
/** Export queues */
|
|
323
|
-
export(options?: AirgapExportOptions): AirgapQueues;
|
|
324
|
-
/** Get a list of legal regimes that are potentially applicable to the user */
|
|
325
|
-
getRegimes(): Set<PrivacyRegime>;
|
|
326
|
-
/** Get a list of detected active user agent privacy signals */
|
|
327
|
-
getPrivacySignals(): Set<UserPrivacySignal>;
|
|
328
|
-
/** Toggle all airgap.js protections. Auth must be a pre-airgap.js or airgap.js script 'load' event. Returns success status */
|
|
329
|
-
toggle(auth: AirgapAuth, options?: AirgapToggleOptions): boolean;
|
|
330
|
-
/** Current airgap.js system flags */
|
|
331
|
-
status: AirgapSystemStatus;
|
|
332
|
-
/** airgap.js version number */
|
|
333
|
-
version: string;
|
|
334
|
-
/** override the event listener signature for consent change events */
|
|
335
|
-
addEventListener: (type: AirgapConsentEventType, callback: ((evt: ConsentChangeEventPayload) => void) | null, options?: boolean | AddEventListenerOptions | undefined) => void;
|
|
336
|
-
}> & EventTarget;
|
|
337
|
-
/** airgap.export() options */
|
|
338
|
-
export interface AirgapExportOptions {
|
|
339
|
-
/** Send output to web endpoint */
|
|
340
|
-
endpoint?: string;
|
|
341
|
-
/** JSON pretty-print indentation (default: 0) */
|
|
342
|
-
space?: number;
|
|
343
|
-
/** Save output to disk (default: off) */
|
|
344
|
-
save?: boolean;
|
|
345
|
-
/** Filename for saving to disk */
|
|
346
|
-
filename?: string;
|
|
347
|
-
}
|
|
348
|
-
/** Exported airgap queues & consent */
|
|
349
|
-
export type AirgapQueues = Readonly<{
|
|
350
|
-
/** airgap.js version number */
|
|
351
|
-
version: string;
|
|
352
|
-
/** Current user consent details */
|
|
353
|
-
consent: TrackingConsentDetails;
|
|
354
|
-
/** Navigation page URL */
|
|
355
|
-
url: Stringifiable;
|
|
356
|
-
/** Pending requests */
|
|
357
|
-
requests: PendingRequestDescriptor[];
|
|
358
|
-
/** Pending mutations (same-session-only replay) */
|
|
359
|
-
mutations: PendingMutationDescriptor[];
|
|
360
|
-
/** Pending cookies */
|
|
361
|
-
cookies: PendingCookieMutationDescriptor[];
|
|
362
|
-
/** Pending cookies (same-session-only replay) */
|
|
363
|
-
cookieMutations: PendingCookieMutationDescriptor[];
|
|
364
|
-
/** Sent requests */
|
|
365
|
-
sentRequests?: PendingRequestDescriptor[];
|
|
366
|
-
/** Set cookies */
|
|
367
|
-
setCookies?: PendingCookieMutationDescriptor[];
|
|
368
|
-
}>;
|
|
369
|
-
/**
|
|
370
|
-
* Airgap event types that send the ConsentChangeEventDetails object with them
|
|
371
|
-
*/
|
|
372
|
-
export type AirgapConsentEventType = 'consent-change' | 'sync' | 'consent-resolution';
|
|
373
|
-
/**
|
|
374
|
-
* airgap.js event type
|
|
375
|
-
*/
|
|
376
|
-
export type AirgapEventType = AirgapConsentEventType | 'purpose-map-load';
|
|
377
|
-
export interface ConsentChangeEventPayload {
|
|
378
|
-
/** consent change event details */
|
|
379
|
-
detail: ConsentChangeEventDetails;
|
|
380
|
-
}
|
|
381
|
-
/** 'consent-change' custom event details */
|
|
382
|
-
export type ConsentChangeEventDetails = {
|
|
383
|
-
/** The old tracking consent */
|
|
384
|
-
oldConsent: TrackingConsentDetails | null;
|
|
385
|
-
/** The new tracking consent */
|
|
386
|
-
consent: TrackingConsentDetails | null;
|
|
387
|
-
/** The tracking consent diff (what's changed in the new consent) */
|
|
388
|
-
changes: Record<string, boolean> | null;
|
|
389
|
-
/** Applicable privacy signals contributing to this consent change event */
|
|
390
|
-
signals?: Set<UserPrivacySignal> | null;
|
|
391
|
-
};
|
|
392
|
-
/** Removable process (can remove watchers, overrides, and protections) */
|
|
393
|
-
export type Removable = {
|
|
394
|
-
/** Remove/revoke process */
|
|
395
|
-
remove(): void;
|
|
396
|
-
};
|
|
397
|
-
/** Any value which implements `toString()` */
|
|
398
|
-
export type Stringifiable = string | (string & {
|
|
399
|
-
toString(): string;
|
|
400
|
-
});
|
|
401
|
-
/** Special `defaultConsent` automatic opt-out value for any potential reason */
|
|
402
|
-
export declare const AutoOptOut: t.LiteralC<"Auto">;
|
|
403
|
-
/** Type override */
|
|
404
|
-
export type AutoOptOut = t.TypeOf<typeof AutoOptOut>;
|
|
405
|
-
/** Special `defaultConsent` automatic opt-out value for GDPR-protected users */
|
|
406
|
-
export declare const AutoOptOutForGDPR: t.LiteralC<"AutoGDPR">;
|
|
407
|
-
/** Type override */
|
|
408
|
-
export type AutoOptOutForGDPR = t.TypeOf<typeof AutoOptOutForGDPR>;
|
|
409
|
-
/**
|
|
410
|
-
* Special `defaultConsent` automatic opt-out value for users with DNT enabled.
|
|
411
|
-
* Note that DNT is enabled by default for some browsers.
|
|
412
|
-
*/
|
|
413
|
-
export declare const AutoOptOutForDNT: t.LiteralC<"AutoDNT">;
|
|
414
|
-
/** Type override */
|
|
415
|
-
export type AutoOptOutForDNT = t.TypeOf<typeof AutoOptOutForDNT>;
|
|
416
|
-
/**
|
|
417
|
-
* Special `defaultConsent` automatic opt-out value for users with GPC enabled.
|
|
418
|
-
*/
|
|
419
|
-
export declare const AutoOptOutForGPC: t.LiteralC<"AutoGPC">;
|
|
420
|
-
/** Type override */
|
|
421
|
-
export type AutoOptOutForGPC = t.TypeOf<typeof AutoOptOutForGPC>;
|
|
422
|
-
/** Potential values for `defaultConsent` config token list */
|
|
423
|
-
export declare const DefaultConsentConfigValue: t.UnionC<[t.BooleanC, t.LiteralC<"Auto">, t.LiteralC<"AutoGDPR">, t.LiteralC<"AutoDNT">, t.LiteralC<"AutoGPC">, t.KeyofC<{
|
|
424
|
-
on: null;
|
|
425
|
-
off: null;
|
|
426
|
-
}>]>;
|
|
427
|
-
/** Type override */
|
|
428
|
-
export type DefaultConsentConfigValue = t.TypeOf<typeof DefaultConsentConfigValue>;
|
|
429
|
-
/** User-configurable user agent privacy signal */
|
|
430
|
-
export declare const UserPrivacySignal: t.UnionC<[t.LiteralC<"GPC">, t.LiteralC<"DNT">]>;
|
|
431
|
-
/** type overload */
|
|
432
|
-
export type UserPrivacySignal = t.TypeOf<typeof UserPrivacySignal>;
|
|
433
|
-
/** Tracking purpose metadata */
|
|
434
|
-
export declare const TrackingPurposeDetails: t.IntersectionC<[t.TypeC<{
|
|
435
|
-
/** Tracking purpose name */
|
|
436
|
-
name: t.StringC;
|
|
437
|
-
/** Tracking purpose description (used in Consent Manager UI) */
|
|
438
|
-
description: t.StringC;
|
|
439
|
-
/** Tracking purpose default consent (default: false) */
|
|
440
|
-
defaultConsent: t.UnionC<[t.BooleanC, t.LiteralC<"Auto">, t.LiteralC<"AutoGDPR">, t.LiteralC<"AutoDNT">, t.LiteralC<"AutoGPC">, t.KeyofC<{
|
|
441
|
-
on: null;
|
|
442
|
-
off: null;
|
|
443
|
-
}>]>;
|
|
444
|
-
/**
|
|
445
|
-
* Is this a first-order tracking purpose? If false, this is a
|
|
446
|
-
* second-order tracking purpose that should only be used for
|
|
447
|
-
* request overrides.
|
|
448
|
-
*
|
|
449
|
-
* This parameter previously meant:
|
|
450
|
-
* Show tracking purpose in consent manager UI.
|
|
451
|
-
*
|
|
452
|
-
* Default value: true
|
|
453
|
-
*/
|
|
454
|
-
showInConsentManager: t.BooleanC;
|
|
455
|
-
/** Allow user to configure their consent for this purpose (default: true) */
|
|
456
|
-
configurable: t.BooleanC;
|
|
457
|
-
/** Is tracking purpose "essential" - i.e. consent is mandatory / equivalent to 'essential' permission (default: false) */
|
|
458
|
-
essential: t.BooleanC;
|
|
459
|
-
}>, t.PartialC<{
|
|
460
|
-
/** Tracking type */
|
|
461
|
-
trackingType: t.StringC;
|
|
462
|
-
/** Respected opt-out privacy signals */
|
|
463
|
-
optOutSignals: t.ArrayC<t.UnionC<[t.LiteralC<"GPC">, t.LiteralC<"DNT">]>>;
|
|
464
|
-
}>]>;
|
|
465
|
-
/** Type override */
|
|
466
|
-
export type TrackingPurposeDetails = t.TypeOf<typeof TrackingPurposeDetails>;
|
|
467
|
-
/** Tracking purposes types configuration */
|
|
468
|
-
export declare const TrackingPurposesTypes: t.RecordC<t.StringC, t.IntersectionC<[t.TypeC<{
|
|
469
|
-
/** Tracking purpose name */
|
|
470
|
-
name: t.StringC;
|
|
471
|
-
/** Tracking purpose description (used in Consent Manager UI) */
|
|
472
|
-
description: t.StringC;
|
|
473
|
-
/** Tracking purpose default consent (default: false) */
|
|
474
|
-
defaultConsent: t.UnionC<[t.BooleanC, t.LiteralC<"Auto">, t.LiteralC<"AutoGDPR">, t.LiteralC<"AutoDNT">, t.LiteralC<"AutoGPC">, t.KeyofC<{
|
|
475
|
-
on: null;
|
|
476
|
-
off: null;
|
|
477
|
-
}>]>;
|
|
478
|
-
/**
|
|
479
|
-
* Is this a first-order tracking purpose? If false, this is a
|
|
480
|
-
* second-order tracking purpose that should only be used for
|
|
481
|
-
* request overrides.
|
|
482
|
-
*
|
|
483
|
-
* This parameter previously meant:
|
|
484
|
-
* Show tracking purpose in consent manager UI.
|
|
485
|
-
*
|
|
486
|
-
* Default value: true
|
|
487
|
-
*/
|
|
488
|
-
showInConsentManager: t.BooleanC;
|
|
489
|
-
/** Allow user to configure their consent for this purpose (default: true) */
|
|
490
|
-
configurable: t.BooleanC;
|
|
491
|
-
/** Is tracking purpose "essential" - i.e. consent is mandatory / equivalent to 'essential' permission (default: false) */
|
|
492
|
-
essential: t.BooleanC;
|
|
493
|
-
}>, t.PartialC<{
|
|
494
|
-
/** Tracking type */
|
|
495
|
-
trackingType: t.StringC;
|
|
496
|
-
/** Respected opt-out privacy signals */
|
|
497
|
-
optOutSignals: t.ArrayC<t.UnionC<[t.LiteralC<"GPC">, t.LiteralC<"DNT">]>>;
|
|
498
|
-
}>]>>;
|
|
499
|
-
/** Type override */
|
|
500
|
-
export type TrackingPurposesTypes = t.TypeOf<typeof TrackingPurposesTypes>;
|
|
501
|
-
/** Fully-resolved `defaultConsent` config */
|
|
502
|
-
export declare const DefaultConsentConfig: t.RecordC<t.StringC, t.UnionC<[t.BooleanC, t.LiteralC<"Auto">, t.LiteralC<"AutoGDPR">, t.LiteralC<"AutoDNT">, t.LiteralC<"AutoGPC">, t.KeyofC<{
|
|
503
|
-
on: null;
|
|
504
|
-
off: null;
|
|
505
|
-
}>]>>;
|
|
506
|
-
/** Type override */
|
|
507
|
-
export type DefaultConsentConfig = t.TypeOf<typeof DefaultConsentConfig>;
|
|
508
|
-
/** Tracking purposes configuration */
|
|
509
|
-
export declare const TrackingPurposesConfig: t.IntersectionC<[t.TypeC<{
|
|
510
|
-
/** Inherit default tracking purposes config */
|
|
511
|
-
useDefault: t.BooleanC;
|
|
512
|
-
types: t.RecordC<t.StringC, t.IntersectionC<[t.TypeC<{
|
|
513
|
-
/** Tracking purpose name */
|
|
514
|
-
name: t.StringC;
|
|
515
|
-
/** Tracking purpose description (used in Consent Manager UI) */
|
|
516
|
-
description: t.StringC;
|
|
517
|
-
/** Tracking purpose default consent (default: false) */
|
|
518
|
-
defaultConsent: t.UnionC<[t.BooleanC, t.LiteralC<"Auto">, t.LiteralC<"AutoGDPR">, t.LiteralC<"AutoDNT">, t.LiteralC<"AutoGPC">, t.KeyofC<{
|
|
519
|
-
on: null;
|
|
520
|
-
off: null;
|
|
521
|
-
}>]>;
|
|
522
|
-
/**
|
|
523
|
-
* Is this a first-order tracking purpose? If false, this is a
|
|
524
|
-
* second-order tracking purpose that should only be used for
|
|
525
|
-
* request overrides.
|
|
526
|
-
*
|
|
527
|
-
* This parameter previously meant:
|
|
528
|
-
* Show tracking purpose in consent manager UI.
|
|
529
|
-
*
|
|
530
|
-
* Default value: true
|
|
531
|
-
*/
|
|
532
|
-
showInConsentManager: t.BooleanC;
|
|
533
|
-
/** Allow user to configure their consent for this purpose (default: true) */
|
|
534
|
-
configurable: t.BooleanC;
|
|
535
|
-
/** Is tracking purpose "essential" - i.e. consent is mandatory / equivalent to 'essential' permission (default: false) */
|
|
536
|
-
essential: t.BooleanC;
|
|
537
|
-
}>, t.PartialC<{
|
|
538
|
-
/** Tracking type */
|
|
539
|
-
trackingType: t.StringC;
|
|
540
|
-
/** Respected opt-out privacy signals */
|
|
541
|
-
optOutSignals: t.ArrayC<t.UnionC<[t.LiteralC<"GPC">, t.LiteralC<"DNT">]>>;
|
|
542
|
-
}>]>>;
|
|
543
|
-
}>, t.PartialC<{
|
|
544
|
-
defaultConsent: t.UnionC<[t.UnionC<[t.BooleanC, t.LiteralC<"Auto">, t.LiteralC<"AutoGDPR">, t.LiteralC<"AutoDNT">, t.LiteralC<"AutoGPC">, t.KeyofC<{
|
|
545
|
-
on: null;
|
|
546
|
-
off: null;
|
|
547
|
-
}>]>, t.RecordC<t.StringC, t.UnionC<[t.BooleanC, t.LiteralC<"Auto">, t.LiteralC<"AutoGDPR">, t.LiteralC<"AutoDNT">, t.LiteralC<"AutoGPC">, t.KeyofC<{
|
|
548
|
-
on: null;
|
|
549
|
-
off: null;
|
|
550
|
-
}>]>>]>;
|
|
551
|
-
}>]>;
|
|
552
|
-
/** Type override */
|
|
553
|
-
export type TrackingPurposesConfig = {
|
|
554
|
-
/** Inherit default tracking purposes config (Functional, Advertising, Analytics) */
|
|
555
|
-
useDefault: boolean;
|
|
556
|
-
/** Tracking purpose types */
|
|
557
|
-
types: TrackingPurposesTypes;
|
|
558
|
-
/** Default consent states (takes precedence over `TrackingPurposesTypes[purpose].defaultConsent`) */
|
|
559
|
-
defaultConsent?: DefaultConsentConfigValue | DefaultConsentConfig;
|
|
560
|
-
};
|
|
561
|
-
export declare const TrackingConsent: t.IntersectionC<[t.PartialC<{
|
|
562
|
-
Essential: t.LiteralC<true>;
|
|
563
|
-
Unknown: t.LiteralC<false>;
|
|
564
|
-
}>, t.RecordC<t.StringC, t.UnionC<[t.BooleanC, t.StringC, t.UndefinedC]>>]>;
|
|
565
|
-
/**
|
|
566
|
-
* Type override
|
|
567
|
-
*/
|
|
568
|
-
export type TrackingConsent = t.TypeOf<typeof TrackingConsent>;
|
|
569
|
-
export declare const TrackingConsentWithNulls: t.RecordC<t.StringC, t.UnionC<[t.BooleanC, t.UndefinedC, t.NullC]>>;
|
|
570
|
-
/** Type override */
|
|
571
|
-
export type TrackingConsentWithNulls = t.TypeOf<typeof TrackingConsentWithNulls>;
|
|
572
|
-
export declare const CoreTrackingConsentDetails: t.IntersectionC<[t.TypeC<{
|
|
573
|
-
/**
|
|
574
|
-
* Was tracking consent confirmed by the user?
|
|
575
|
-
* If this is false, the consent was resolved from defaults & is not yet confirmed
|
|
576
|
-
*/
|
|
577
|
-
confirmed: t.BooleanC;
|
|
578
|
-
/** Consent resolution/last-modified timestamp (ISO 8601) */
|
|
579
|
-
timestamp: t.StringC;
|
|
580
|
-
}>, t.PartialC<{
|
|
581
|
-
/** Has the consent been updated (including no-change confirmation) since default resolution */
|
|
582
|
-
updated: t.BooleanC;
|
|
583
|
-
/**
|
|
584
|
-
* Whether or not the UI has been shown to the end-user (undefined in older versions of airgap.js)
|
|
585
|
-
* @deprecated It was discovered that this value was not being set reliably in some versions, and was not being used.
|
|
586
|
-
*/
|
|
587
|
-
prompted: t.BooleanC;
|
|
588
|
-
/** Arbitrary metadata that customers want to be associated with consent state */
|
|
589
|
-
metadata: t.IntersectionC<[t.PartialC<{
|
|
590
|
-
tcmp: t.PartialC<{
|
|
591
|
-
tcf: t.PartialC<{
|
|
592
|
-
tcString: t.StringC;
|
|
593
|
-
}>;
|
|
594
|
-
}>;
|
|
595
|
-
}>, t.UnknownRecordC]>;
|
|
596
|
-
/** When the metadata was last updated */
|
|
597
|
-
metadataTimestamp: t.StringC;
|
|
598
|
-
}>]>;
|
|
599
|
-
/** Type override */
|
|
600
|
-
export type CoreTrackingConsentDetails = t.TypeOf<typeof CoreTrackingConsentDetails>;
|
|
601
|
-
export declare const TrackingConsentDetails: t.IntersectionC<[t.IntersectionC<[t.TypeC<{
|
|
602
|
-
/**
|
|
603
|
-
* Was tracking consent confirmed by the user?
|
|
604
|
-
* If this is false, the consent was resolved from defaults & is not yet confirmed
|
|
605
|
-
*/
|
|
606
|
-
confirmed: t.BooleanC;
|
|
607
|
-
/** Consent resolution/last-modified timestamp (ISO 8601) */
|
|
608
|
-
timestamp: t.StringC;
|
|
609
|
-
}>, t.PartialC<{
|
|
610
|
-
/** Has the consent been updated (including no-change confirmation) since default resolution */
|
|
611
|
-
updated: t.BooleanC;
|
|
612
|
-
/**
|
|
613
|
-
* Whether or not the UI has been shown to the end-user (undefined in older versions of airgap.js)
|
|
614
|
-
* @deprecated It was discovered that this value was not being set reliably in some versions, and was not being used.
|
|
615
|
-
*/
|
|
616
|
-
prompted: t.BooleanC;
|
|
617
|
-
/** Arbitrary metadata that customers want to be associated with consent state */
|
|
618
|
-
metadata: t.IntersectionC<[t.PartialC<{
|
|
619
|
-
tcmp: t.PartialC<{
|
|
620
|
-
tcf: t.PartialC<{
|
|
621
|
-
tcString: t.StringC;
|
|
622
|
-
}>;
|
|
623
|
-
}>;
|
|
624
|
-
}>, t.UnknownRecordC]>;
|
|
625
|
-
/** When the metadata was last updated */
|
|
626
|
-
metadataTimestamp: t.StringC;
|
|
627
|
-
}>]>, t.TypeC<{
|
|
628
|
-
/** Tracking consent config */
|
|
629
|
-
purposes: t.IntersectionC<[t.PartialC<{
|
|
630
|
-
Essential: t.LiteralC<true>;
|
|
631
|
-
Unknown: t.LiteralC<false>;
|
|
632
|
-
}>, t.RecordC<t.StringC, t.UnionC<[t.BooleanC, t.StringC, t.UndefinedC]>>]>;
|
|
633
|
-
}>]>;
|
|
634
|
-
/** Override types. */
|
|
635
|
-
export type TrackingConsentDetails = t.TypeOf<typeof TrackingConsentDetails>;
|
|
636
|
-
export declare const TrackingConsentOptionalData: t.PartialC<{
|
|
637
|
-
/** Transparency Consent (TCF) String */
|
|
638
|
-
tcf: t.StringC;
|
|
639
|
-
/** US Privacy (USP) String */
|
|
640
|
-
usp: t.StringC;
|
|
641
|
-
/** Global Privacy Platform (GPP) String */
|
|
642
|
-
gpp: t.StringC;
|
|
643
|
-
/** Consent Manager View State */
|
|
644
|
-
viewState: t.KeyofC<{
|
|
645
|
-
TCF_EU: unknown;
|
|
646
|
-
QuickOptions: unknown;
|
|
647
|
-
QuickOptions3: unknown;
|
|
648
|
-
AcceptAll: unknown;
|
|
649
|
-
AcceptAllRejectAllToggle: unknown;
|
|
650
|
-
AcceptAllOrMoreChoices: unknown;
|
|
651
|
-
AcceptOrRejectAll: unknown;
|
|
652
|
-
AcceptOrRejectAllOrMoreChoices: unknown;
|
|
653
|
-
AcceptOrRejectAnalytics: unknown;
|
|
654
|
-
AcceptOrRejectAdvertising: unknown;
|
|
655
|
-
NoticeAndDoNotSell: unknown;
|
|
656
|
-
DoNotSellExplainer: unknown;
|
|
657
|
-
CompleteOptionsToggles: unknown;
|
|
658
|
-
PrivacyPolicyNotice: unknown;
|
|
659
|
-
PrivacyPolicyNoticeWithCloseButton: unknown;
|
|
660
|
-
CompleteOptions: unknown;
|
|
661
|
-
CompleteOptionsInverted: unknown;
|
|
662
|
-
Hidden: unknown;
|
|
663
|
-
DoNotSellDisclosure: unknown;
|
|
664
|
-
OptOutDisclosure: unknown;
|
|
665
|
-
LanguageOptions: unknown;
|
|
666
|
-
Collapsed: unknown;
|
|
667
|
-
Closed: unknown;
|
|
668
|
-
}>;
|
|
669
|
-
/** Airgap Version */
|
|
670
|
-
airgapVersion: t.StringC;
|
|
671
|
-
}>;
|
|
672
|
-
export declare const FullTrackingConsentDetails: t.IntersectionC<[t.IntersectionC<[t.IntersectionC<[t.TypeC<{
|
|
673
|
-
/**
|
|
674
|
-
* Was tracking consent confirmed by the user?
|
|
675
|
-
* If this is false, the consent was resolved from defaults & is not yet confirmed
|
|
676
|
-
*/
|
|
677
|
-
confirmed: t.BooleanC;
|
|
678
|
-
/** Consent resolution/last-modified timestamp (ISO 8601) */
|
|
679
|
-
timestamp: t.StringC;
|
|
680
|
-
}>, t.PartialC<{
|
|
681
|
-
/** Has the consent been updated (including no-change confirmation) since default resolution */
|
|
682
|
-
updated: t.BooleanC;
|
|
683
|
-
/**
|
|
684
|
-
* Whether or not the UI has been shown to the end-user (undefined in older versions of airgap.js)
|
|
685
|
-
* @deprecated It was discovered that this value was not being set reliably in some versions, and was not being used.
|
|
686
|
-
*/
|
|
687
|
-
prompted: t.BooleanC;
|
|
688
|
-
/** Arbitrary metadata that customers want to be associated with consent state */
|
|
689
|
-
metadata: t.IntersectionC<[t.PartialC<{
|
|
690
|
-
tcmp: t.PartialC<{
|
|
691
|
-
tcf: t.PartialC<{
|
|
692
|
-
tcString: t.StringC;
|
|
693
|
-
}>;
|
|
694
|
-
}>;
|
|
695
|
-
}>, t.UnknownRecordC]>;
|
|
696
|
-
/** When the metadata was last updated */
|
|
697
|
-
metadataTimestamp: t.StringC;
|
|
698
|
-
}>]>, t.TypeC<{
|
|
699
|
-
/** Tracking consent config */
|
|
700
|
-
purposes: t.IntersectionC<[t.PartialC<{
|
|
701
|
-
Essential: t.LiteralC<true>;
|
|
702
|
-
Unknown: t.LiteralC<false>;
|
|
703
|
-
}>, t.RecordC<t.StringC, t.UnionC<[t.BooleanC, t.StringC, t.UndefinedC]>>]>;
|
|
704
|
-
}>]>, t.PartialC<{
|
|
705
|
-
/** Transparency Consent (TCF) String */
|
|
706
|
-
tcf: t.StringC;
|
|
707
|
-
/** US Privacy (USP) String */
|
|
708
|
-
usp: t.StringC;
|
|
709
|
-
/** Global Privacy Platform (GPP) String */
|
|
710
|
-
gpp: t.StringC;
|
|
711
|
-
/** Consent Manager View State */
|
|
712
|
-
viewState: t.KeyofC<{
|
|
713
|
-
TCF_EU: unknown;
|
|
714
|
-
QuickOptions: unknown;
|
|
715
|
-
QuickOptions3: unknown;
|
|
716
|
-
AcceptAll: unknown;
|
|
717
|
-
AcceptAllRejectAllToggle: unknown;
|
|
718
|
-
AcceptAllOrMoreChoices: unknown;
|
|
719
|
-
AcceptOrRejectAll: unknown;
|
|
720
|
-
AcceptOrRejectAllOrMoreChoices: unknown;
|
|
721
|
-
AcceptOrRejectAnalytics: unknown;
|
|
722
|
-
AcceptOrRejectAdvertising: unknown;
|
|
723
|
-
NoticeAndDoNotSell: unknown;
|
|
724
|
-
DoNotSellExplainer: unknown;
|
|
725
|
-
CompleteOptionsToggles: unknown;
|
|
726
|
-
PrivacyPolicyNotice: unknown;
|
|
727
|
-
PrivacyPolicyNoticeWithCloseButton: unknown;
|
|
728
|
-
CompleteOptions: unknown;
|
|
729
|
-
CompleteOptionsInverted: unknown;
|
|
730
|
-
Hidden: unknown;
|
|
731
|
-
DoNotSellDisclosure: unknown;
|
|
732
|
-
OptOutDisclosure: unknown;
|
|
733
|
-
LanguageOptions: unknown;
|
|
734
|
-
Collapsed: unknown;
|
|
735
|
-
Closed: unknown;
|
|
736
|
-
}>;
|
|
737
|
-
/** Airgap Version */
|
|
738
|
-
airgapVersion: t.StringC;
|
|
739
|
-
}>]>;
|
|
740
|
-
/** Override types. */
|
|
741
|
-
export type FullTrackingConsentDetails = t.TypeOf<typeof FullTrackingConsentDetails>;
|
|
742
|
-
export declare const FullTrackingConsentDetailsWithNulls: t.IntersectionC<[t.IntersectionC<[t.TypeC<{
|
|
743
|
-
/**
|
|
744
|
-
* Was tracking consent confirmed by the user?
|
|
745
|
-
* If this is false, the consent was resolved from defaults & is not yet confirmed
|
|
746
|
-
*/
|
|
747
|
-
confirmed: t.BooleanC;
|
|
748
|
-
/** Consent resolution/last-modified timestamp (ISO 8601) */
|
|
749
|
-
timestamp: t.StringC;
|
|
750
|
-
}>, t.PartialC<{
|
|
751
|
-
/** Has the consent been updated (including no-change confirmation) since default resolution */
|
|
752
|
-
updated: t.BooleanC;
|
|
753
|
-
/**
|
|
754
|
-
* Whether or not the UI has been shown to the end-user (undefined in older versions of airgap.js)
|
|
755
|
-
* @deprecated It was discovered that this value was not being set reliably in some versions, and was not being used.
|
|
756
|
-
*/
|
|
757
|
-
prompted: t.BooleanC;
|
|
758
|
-
/** Arbitrary metadata that customers want to be associated with consent state */
|
|
759
|
-
metadata: t.IntersectionC<[t.PartialC<{
|
|
760
|
-
tcmp: t.PartialC<{
|
|
761
|
-
tcf: t.PartialC<{
|
|
762
|
-
tcString: t.StringC;
|
|
763
|
-
}>;
|
|
764
|
-
}>;
|
|
765
|
-
}>, t.UnknownRecordC]>;
|
|
766
|
-
/** When the metadata was last updated */
|
|
767
|
-
metadataTimestamp: t.StringC;
|
|
768
|
-
}>]>, t.PartialC<{
|
|
769
|
-
/** Transparency Consent (TCF) String */
|
|
770
|
-
tcf: t.StringC;
|
|
771
|
-
/** US Privacy (USP) String */
|
|
772
|
-
usp: t.StringC;
|
|
773
|
-
/** Global Privacy Platform (GPP) String */
|
|
774
|
-
gpp: t.StringC;
|
|
775
|
-
/** Consent Manager View State */
|
|
776
|
-
viewState: t.KeyofC<{
|
|
777
|
-
TCF_EU: unknown;
|
|
778
|
-
QuickOptions: unknown;
|
|
779
|
-
QuickOptions3: unknown;
|
|
780
|
-
AcceptAll: unknown;
|
|
781
|
-
AcceptAllRejectAllToggle: unknown;
|
|
782
|
-
AcceptAllOrMoreChoices: unknown;
|
|
783
|
-
AcceptOrRejectAll: unknown;
|
|
784
|
-
AcceptOrRejectAllOrMoreChoices: unknown;
|
|
785
|
-
AcceptOrRejectAnalytics: unknown;
|
|
786
|
-
AcceptOrRejectAdvertising: unknown;
|
|
787
|
-
NoticeAndDoNotSell: unknown;
|
|
788
|
-
DoNotSellExplainer: unknown;
|
|
789
|
-
CompleteOptionsToggles: unknown;
|
|
790
|
-
PrivacyPolicyNotice: unknown;
|
|
791
|
-
PrivacyPolicyNoticeWithCloseButton: unknown;
|
|
792
|
-
CompleteOptions: unknown;
|
|
793
|
-
CompleteOptionsInverted: unknown;
|
|
794
|
-
Hidden: unknown;
|
|
795
|
-
DoNotSellDisclosure: unknown;
|
|
796
|
-
OptOutDisclosure: unknown;
|
|
797
|
-
LanguageOptions: unknown;
|
|
798
|
-
Collapsed: unknown;
|
|
799
|
-
Closed: unknown;
|
|
800
|
-
}>;
|
|
801
|
-
/** Airgap Version */
|
|
802
|
-
airgapVersion: t.StringC;
|
|
803
|
-
}>, t.TypeC<{
|
|
804
|
-
/** Tracking consent config */
|
|
805
|
-
purposes: t.RecordC<t.StringC, t.UnionC<[t.BooleanC, t.UndefinedC, t.NullC]>>;
|
|
806
|
-
}>]>;
|
|
807
|
-
/** Override types. */
|
|
808
|
-
export type FullTrackingConsentDetailsWithNulls = t.TypeOf<typeof FullTrackingConsentDetailsWithNulls>;
|
|
809
|
-
export declare const ConsentPreferencesBody: t.TypeC<{
|
|
810
|
-
/** token containing encrypted identifier */
|
|
811
|
-
token: t.StringC;
|
|
812
|
-
/** consent partition (defaults to bundle id) */
|
|
813
|
-
partition: t.StringC;
|
|
814
|
-
/** user consent */
|
|
815
|
-
consent: t.IntersectionC<[t.IntersectionC<[t.TypeC<{
|
|
816
|
-
/**
|
|
817
|
-
* Was tracking consent confirmed by the user?
|
|
818
|
-
* If this is false, the consent was resolved from defaults & is not yet confirmed
|
|
819
|
-
*/
|
|
820
|
-
confirmed: t.BooleanC;
|
|
821
|
-
/** Consent resolution/last-modified timestamp (ISO 8601) */
|
|
822
|
-
timestamp: t.StringC;
|
|
823
|
-
}>, t.PartialC<{
|
|
824
|
-
/** Has the consent been updated (including no-change confirmation) since default resolution */
|
|
825
|
-
updated: t.BooleanC;
|
|
826
|
-
/**
|
|
827
|
-
* Whether or not the UI has been shown to the end-user (undefined in older versions of airgap.js)
|
|
828
|
-
* @deprecated It was discovered that this value was not being set reliably in some versions, and was not being used.
|
|
829
|
-
*/
|
|
830
|
-
prompted: t.BooleanC;
|
|
831
|
-
/** Arbitrary metadata that customers want to be associated with consent state */
|
|
832
|
-
metadata: t.IntersectionC<[t.PartialC<{
|
|
833
|
-
tcmp: t.PartialC<{
|
|
834
|
-
tcf: t.PartialC<{
|
|
835
|
-
tcString: t.StringC;
|
|
836
|
-
}>;
|
|
837
|
-
}>;
|
|
838
|
-
}>, t.UnknownRecordC]>;
|
|
839
|
-
/** When the metadata was last updated */
|
|
840
|
-
metadataTimestamp: t.StringC;
|
|
841
|
-
}>]>, t.TypeC<{
|
|
842
|
-
/** Tracking consent config */
|
|
843
|
-
purposes: t.IntersectionC<[t.PartialC<{
|
|
844
|
-
Essential: t.LiteralC<true>;
|
|
845
|
-
Unknown: t.LiteralC<false>;
|
|
846
|
-
}>, t.RecordC<t.StringC, t.UnionC<[t.BooleanC, t.StringC, t.UndefinedC]>>]>;
|
|
847
|
-
}>]>;
|
|
848
|
-
}>;
|
|
849
|
-
/** Override types. */
|
|
850
|
-
export type ConsentPreferencesBody = t.TypeOf<typeof ConsentPreferencesBody>;
|
|
851
|
-
export declare const ConsentTokenPayload: t.IntersectionC<[t.TypeC<{
|
|
852
|
-
encryptedIdentifier: t.StringC;
|
|
853
|
-
}>, t.PartialC<{
|
|
854
|
-
deprecatedEncryptedIdentifiers: t.ArrayC<t.StringC>;
|
|
855
|
-
}>]>;
|
|
856
|
-
/** Type override */
|
|
857
|
-
export type ConsentTokenPayload = t.TypeOf<typeof ConsentTokenPayload>;
|
|
858
|
-
/** Tracking purpose */
|
|
859
|
-
export declare const TrackingPurpose: t.UnionC<[t.KeyofC<{
|
|
860
|
-
Unknown: "Unknown";
|
|
861
|
-
Essential: "Essential";
|
|
862
|
-
}>, t.StringC]>;
|
|
863
|
-
/** Type override */
|
|
864
|
-
export type TrackingPurpose = t.TypeOf<typeof TrackingPurpose>;
|
|
865
|
-
/** Tracking purposes */
|
|
866
|
-
export type TrackingPurposes = Set<TrackingPurpose>;
|
|
867
|
-
/** Tracking consent change diffs */
|
|
868
|
-
export declare const ConsentChange: t.RecordC<t.UnionC<[t.KeyofC<{
|
|
869
|
-
Unknown: "Unknown";
|
|
870
|
-
Essential: "Essential";
|
|
871
|
-
}>, t.StringC]>, t.BooleanC>;
|
|
872
|
-
/** type overload */
|
|
873
|
-
export type ConsentChange = t.TypeOf<typeof ConsentChange>;
|
|
874
|
-
/** Regime purpose scopes configuration */
|
|
875
|
-
export declare const RegimePurposeScopesConfig: t.ArrayC<t.BrandC<t.ArrayC<t.ArrayC<t.StringC>>, import("@transcend-io/type-utils").FixedLengthArrayBrand<t.ArrayC<t.StringC>>>>;
|
|
876
|
-
/** Type override */
|
|
877
|
-
export type RegimePurposeScopesConfig = [
|
|
878
|
-
/** Regimes */
|
|
879
|
-
regimes: string[],
|
|
880
|
-
/** In-scope purposes */
|
|
881
|
-
purposes: TrackingPurpose[]
|
|
882
|
-
][];
|
|
883
|
-
/** Request source types */
|
|
884
|
-
export type AirgapRequestSource = 'unknown' | 'airgap.js' | 'fetch' | 'xhr' | 'websocket' | 'webtransport' | 'service-worker' | 'shared-worker' | 'worker' | 'module-worker' | 'shared-module-worker' | 'eventsource' | 'beacon' | 'CSPV' | 'navigation' | 'open' | 'script' | AirgapDOMRequestSource;
|
|
885
|
-
/** DOM-initiated request source types */
|
|
886
|
-
export type AirgapDOMRequestSource = 'DOM:style' | 'DOM:image' | 'DOM:media' | 'DOM:video' | 'DOM:audio' | 'DOM:track' | 'DOM:link' | 'DOM:form' | 'DOM:form-action' | 'DOM:view' | 'DOM:ping' | 'DOM:unknown';
|
|
887
|
-
/**
|
|
888
|
-
* Airgap pending request descriptor init dictionary
|
|
889
|
-
*/
|
|
890
|
-
export interface PendingRequestInit {
|
|
891
|
-
/** Request initiator type */
|
|
892
|
-
type: AirgapRequestSource;
|
|
893
|
-
/** Request URL */
|
|
894
|
-
url: Stringifiable;
|
|
895
|
-
/** Persist request for cross-session replay (false by default) */
|
|
896
|
-
persist?: boolean;
|
|
897
|
-
/** Request initialization data */
|
|
898
|
-
requestInit?: RequestInit;
|
|
899
|
-
/** Request timestamp (ISO 8601) */
|
|
900
|
-
timestamp?: Stringifiable;
|
|
901
|
-
/** Request DOM target */
|
|
902
|
-
target?: Node | IDynamicNodeReference | null;
|
|
903
|
-
/** Mutator to apply changes associated with the request */
|
|
904
|
-
mutator?(): void;
|
|
905
|
-
/** Serialize request or mutation state back to DOM patcher parser input */
|
|
906
|
-
serialize?(): any;
|
|
907
|
-
/** Prevent credentials from being included in request */
|
|
908
|
-
omitCredentials?(): boolean;
|
|
909
|
-
}
|
|
910
|
-
/** Properties that are added to instantiated PendingRequests */
|
|
911
|
-
export interface InstantiatedPendingRequestProps {
|
|
912
|
-
/** Primary or first associated request URL input */
|
|
913
|
-
url: Stringifiable;
|
|
914
|
-
/** All associated request URL inputs */
|
|
915
|
-
urls: Stringifiable[];
|
|
916
|
-
/** Request timestamp (ISO 8601) */
|
|
917
|
-
timestamp: Stringifiable;
|
|
918
|
-
/** Serialize request or mutation state back to DOM patcher parser input */
|
|
919
|
-
serialize(): any;
|
|
920
|
-
/** The following IPendingEvent APIs are only available to overrides: */
|
|
921
|
-
/**
|
|
922
|
-
* All associated resolved request URLs. null = invalid URL or data: URL (parsing
|
|
923
|
-
* skipped to optimize performance)
|
|
924
|
-
*/
|
|
925
|
-
URLs: (URL | null)[];
|
|
926
|
-
/** Prevent credentials from being included in request */
|
|
927
|
-
omitCredentials(): boolean;
|
|
928
|
-
/** Whether or not request is currently allowed */
|
|
929
|
-
allowed: boolean;
|
|
930
|
-
/** Bypass our consent logic and force-allow request */
|
|
931
|
-
allow(): void;
|
|
932
|
-
/** Bypass our consent logic and force-deny request */
|
|
933
|
-
deny(): void;
|
|
934
|
-
/** Bypass our consent logic to force-deny request and also block it from entering the replay quarantine */
|
|
935
|
-
block(): void;
|
|
936
|
-
/** Resolved tracking purposes associated with this pending mutation */
|
|
937
|
-
purposes: Set<TrackingPurpose>;
|
|
938
|
-
}
|
|
939
|
-
/**
|
|
940
|
-
* Airgap pending request descriptor with script annotation
|
|
941
|
-
*/
|
|
942
|
-
export type PendingRequestDescriptor = PendingRequestInit & InstantiatedPendingRequestProps;
|
|
943
|
-
/** Airgap pending request descriptor init with multiple URLs */
|
|
944
|
-
export type PendingMutationInit = Omit<PendingRequestInit, 'url'> & {
|
|
945
|
-
/** Request URLs */
|
|
946
|
-
urls: Stringifiable[];
|
|
947
|
-
};
|
|
948
|
-
/** PendingEvent init input */
|
|
949
|
-
export type PendingEventInit = PendingRequestInit | PendingMutationInit;
|
|
950
|
-
/** Pending mutation descriptor */
|
|
951
|
-
export type PendingMutationDescriptor = PendingMutationInit & InstantiatedPendingRequestProps;
|
|
952
|
-
/** Pending event props that can't or won't be serialized to JSON */
|
|
953
|
-
type PendingEventUnserializableProps = 'persist' | 'target' | 'mutator' | 'serialize' | 'URLs' | 'omitCredentials' | 'allow' | 'deny' | 'purposes' | 'allowed' | 'blocked';
|
|
954
|
-
/** JSON-safe representation of pending event tracking purposes */
|
|
955
|
-
interface PendingEventPurposesJSON {
|
|
956
|
-
/** Tracking purposes list */
|
|
957
|
-
purposes?: TrackingPurpose[];
|
|
958
|
-
}
|
|
959
|
-
/** Pending request subset to JSON-safe properties */
|
|
960
|
-
export type PendingRequestJSON = Omit<PendingRequestDescriptor, PendingEventUnserializableProps | 'urls'> & PendingEventPurposesJSON;
|
|
961
|
-
/** Pending mutation subset to JSON-safe properties */
|
|
962
|
-
export type PendingMutationJSON = Omit<PendingMutationDescriptor, PendingEventUnserializableProps | 'url'> & PendingEventPurposesJSON;
|
|
963
|
-
/** Airgap pending request interface */
|
|
964
|
-
export interface IPendingRequest extends PendingRequestDescriptor {
|
|
965
|
-
/** Convert PendingRequest to JSON-safe representation */
|
|
966
|
-
toJSON(): PendingRequestJSON;
|
|
967
|
-
}
|
|
968
|
-
/** Airgap pending mutation interface */
|
|
969
|
-
export interface IPendingMutation extends PendingMutationDescriptor {
|
|
970
|
-
/** Convert PendingRequest to JSON-safe representation */
|
|
971
|
-
toJSON(): PendingMutationJSON;
|
|
972
|
-
}
|
|
973
|
-
/** Pending event descriptor */
|
|
974
|
-
export type PendingEventDescriptor = PendingRequestDescriptor | PendingMutationDescriptor;
|
|
975
|
-
/** Pending request or mutation */
|
|
976
|
-
export type IPendingEvent = IPendingMutation | IPendingRequest;
|
|
977
|
-
/** Unapproved request queue */
|
|
978
|
-
export type PendingRequestQueue = IPendingRequest[];
|
|
979
|
-
/** Unapproved mutation queue */
|
|
980
|
-
export type PendingMutationQueue = IPendingEvent[];
|
|
981
|
-
/** Unapproved event queue */
|
|
982
|
-
export type PendingEventQueue = IPendingEvent[];
|
|
983
|
-
/** Cookie descriptor */
|
|
984
|
-
export interface Cookie {
|
|
985
|
-
/** Cookie name */
|
|
986
|
-
name: Stringifiable;
|
|
987
|
-
/** Cookie value */
|
|
988
|
-
value?: Stringifiable;
|
|
989
|
-
/** Cookie change event timestamp (ISO 8601) */
|
|
990
|
-
timestamp?: string;
|
|
991
|
-
/** Expiry date (UTC date string or DOMTimeStamp) */
|
|
992
|
-
expires?: number | Stringifiable;
|
|
993
|
-
/** Max cookie age (seconds) */
|
|
994
|
-
maxAge?: number;
|
|
995
|
-
/** Optional cookie host scope */
|
|
996
|
-
domain?: Stringifiable;
|
|
997
|
-
/** Optional cookie path scope */
|
|
998
|
-
path?: Stringifiable;
|
|
999
|
-
/** Should cookie only be sent in secure contexts? */
|
|
1000
|
-
secure?: boolean;
|
|
1001
|
-
/**
|
|
1002
|
-
* Should cookie be restricted to the same site?
|
|
1003
|
-
* Values: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite
|
|
1004
|
-
*/
|
|
1005
|
-
sameSite?: Stringifiable;
|
|
1006
|
-
/**
|
|
1007
|
-
* Is the cookie partitioned (e.g. by CHIPS)?
|
|
1008
|
-
* See https://developer.mozilla.org/en-US/docs/Web/Privacy/Partitioned_cookies
|
|
1009
|
-
* and https://developer.mozilla.org/en-US/docs/Web/API/CookieStore/get#:~:text=of%20the%20cookie.-,partitioned,-A%20boolean%20indicating
|
|
1010
|
-
*/
|
|
1011
|
-
partitioned?: boolean;
|
|
1012
|
-
/** Target document / node */
|
|
1013
|
-
target?: Node | null;
|
|
1014
|
-
}
|
|
1015
|
-
/**
|
|
1016
|
-
* PendingCookieMutation constructor input
|
|
1017
|
-
*/
|
|
1018
|
-
export interface PendingCookieMutationInit extends Cookie {
|
|
1019
|
-
/** Persist cookie for cross-session replay if quarantined (true by default) */
|
|
1020
|
-
persist?: boolean;
|
|
1021
|
-
/** Mutator to apply cookie mutation */
|
|
1022
|
-
mutator?(): void | Promise<void>;
|
|
1023
|
-
}
|
|
1024
|
-
/** Properties that are added to instantiated PendingCookieMutations */
|
|
1025
|
-
export interface InstantiatedPendingCookieMutationProps {
|
|
1026
|
-
/** Expiry date (DOMTimeStamp) */
|
|
1027
|
-
expires?: number;
|
|
1028
|
-
/** Cookie change event timestamp (Date.now() format) */
|
|
1029
|
-
timestamp: string;
|
|
1030
|
-
/** Whether or not cookie is currently allowed. null = passthrough */
|
|
1031
|
-
allowed?: boolean | null;
|
|
1032
|
-
/** Whether or not cookie is currently disallowed & blocked from entering the quarantine */
|
|
1033
|
-
blocked?: boolean;
|
|
1034
|
-
/** Bypass our consent logic and force-allow cookie */
|
|
1035
|
-
allow(): void;
|
|
1036
|
-
/** Bypass our consent logic and force-deny cookie */
|
|
1037
|
-
deny(): void;
|
|
1038
|
-
/** Bypass our consent logic to force-deny cookie and also block it from entering the quarantine */
|
|
1039
|
-
block(): void;
|
|
1040
|
-
/** Resolved tracking purposes associated with this pending mutation */
|
|
1041
|
-
purposes: Set<TrackingPurpose>;
|
|
1042
|
-
/** Mutator to apply cookie mutation */
|
|
1043
|
-
mutator(): void | Promise<void>;
|
|
1044
|
-
}
|
|
1045
|
-
/** Pending cookie mutation descriptor */
|
|
1046
|
-
export type PendingCookieMutationDescriptor = Omit<PendingCookieMutationInit, 'expires'> & InstantiatedPendingCookieMutationProps;
|
|
1047
|
-
/** Pending cookie mutation props that can't or won't be serialized to JSON */
|
|
1048
|
-
type PendingCookieMutationUnserializableProps = 'persist' | 'mutator' | 'allow' | 'deny' | 'purposes' | 'allowed' | 'blocked';
|
|
1049
|
-
/** JSON-safe representation of pending cookie mutation tracking purposes */
|
|
1050
|
-
interface PendingCookieMutationPurposesJSON {
|
|
1051
|
-
/** Tracking purposes list */
|
|
1052
|
-
purposes?: TrackingPurpose[];
|
|
1053
|
-
}
|
|
1054
|
-
/** Pending request subset to JSON-safe properties */
|
|
1055
|
-
export type PendingCookieMutationJSON = Omit<PendingCookieMutationDescriptor, PendingCookieMutationUnserializableProps> & PendingCookieMutationPurposesJSON;
|
|
1056
|
-
/** Airgap pending cookie mutation interface */
|
|
1057
|
-
export interface IPendingCookieMutation extends PendingCookieMutationDescriptor {
|
|
1058
|
-
/** Convert PendingCookieMutation to JSON-safe representation */
|
|
1059
|
-
toJSON(): PendingCookieMutationJSON;
|
|
1060
|
-
}
|
|
1061
|
-
/** Pending cookie mutation queue */
|
|
1062
|
-
export type PendingCookieQueue = IPendingCookieMutation[];
|
|
1063
|
-
/** Interface for dynamic node references */
|
|
1064
|
-
export interface IDynamicNodeReference {
|
|
1065
|
-
/**
|
|
1066
|
-
* Current node getter. This should always be used in `handleLiveMutation()`.
|
|
1067
|
-
* @returns current node
|
|
1068
|
-
*/
|
|
1069
|
-
getNode(): Element;
|
|
1070
|
-
/**
|
|
1071
|
-
* Live node getter. Use this to apply mutations in `quarantine()`
|
|
1072
|
-
* and `quarantineMutation()` handlers.
|
|
1073
|
-
*
|
|
1074
|
-
* `release()` must always be called after completing
|
|
1075
|
-
* mutations using `getLiveNode()`.
|
|
1076
|
-
* @returns live node
|
|
1077
|
-
*/
|
|
1078
|
-
getLiveNode(): Element;
|
|
1079
|
-
/** Release & garbage-collect internal node reference */
|
|
1080
|
-
release(): void;
|
|
1081
|
-
}
|
|
1082
|
-
export {};
|
|
1083
|
-
//# sourceMappingURL=core.d.ts.map
|