Instantly share code, notes, and snippets.
Created
May 28, 2024 11:12
-
Star
0
(0)
You must be signed in to star a gist -
Fork
0
(0)
You must be signed in to fork a gist
-
Save thraizz/f5c9f1bfc9d0846704d6eabbc1489f66 to your computer and use it in GitHub Desktop.
Type-safe cookiebot renewal
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| type Cookiebot = { | |
| name: string; | |
| consented: boolean; | |
| declined: boolean; | |
| changed: boolean; | |
| hasResponse: boolean; | |
| consentID: string; | |
| consent: object; | |
| isOutsideEU: boolean; | |
| isOutOfRegion: boolean; | |
| host: string; | |
| domain: string; | |
| currentPath: string; | |
| doNotTrack: boolean; | |
| consentLevel: string; | |
| isRenewal: boolean; | |
| forceShow: boolean; | |
| dialog: object; | |
| responseMode: string; | |
| serial: string; | |
| scriptId: string; | |
| scriptElement: object; | |
| whitelist: object; | |
| cookieList: object; | |
| pathlist: object; | |
| userIsInPath: boolean; | |
| cookieEnabled: boolean; | |
| versionChecked: boolean; | |
| versionRequested: boolean; | |
| version: number; | |
| latestVersion: number; | |
| isNewVersion: boolean; | |
| CDN: string; | |
| source: string; | |
| retryCounter: number; | |
| frameRetryCounter: number; | |
| bulkConsentFrameRetryCounter: number; | |
| setOnloadFrameRetryCounter: number; | |
| optOutLifetime: number; | |
| consentModeDisabled: boolean; | |
| consentModeDataRedaction: string; | |
| consentLifetime: number; | |
| framework: string; | |
| hasFramework: boolean; | |
| frameworkBlocked: boolean; | |
| frameworkLoaded: boolean; | |
| iframeReady: boolean; | |
| iframe: object; | |
| bulkconsent: object; | |
| bulkresetdomains: object; | |
| bulkconsentsubmitted: boolean; | |
| isbulkrenewal: boolean; | |
| handleCcpaOptinInFrontend: boolean; | |
| wipe: object; | |
| consentUTC: object; | |
| IABConsentString: string; | |
| GACMConsentString: string; | |
| dataLayerName: string; | |
| loaded: boolean; | |
| autoblock: boolean; | |
| mutationObserver: object; | |
| mutationCounter: number; | |
| mutationFallback: boolean; | |
| mutationFallbackDocAttributes: object; | |
| mutationHandlerFallbackCharsetLoaded: boolean; | |
| mutationAppName: string; | |
| mutationEventListeners: object; | |
| mutationOnloadEventListeners: object; | |
| mutateEventListeners: boolean; | |
| mutationHandlerFirstScript: object; | |
| postPonedMutations: object; | |
| nonAsyncMutations: object; | |
| deferMutations: object; | |
| geoRegions: object; | |
| userCountry: string; | |
| userCulture: string; | |
| userCultureOverride: object; | |
| windowOnloadTriggered: boolean; | |
| botDetectionDisabled: boolean; | |
| regulations: object; | |
| regulationRegions: object; | |
| commonTrackers: object; | |
| configuration: object; | |
| inlineConfiguration: object; | |
| widget: object; | |
| bulkConsentEnabled: boolean; | |
| computedConfiguration: object; | |
| $assign: Function; | |
| init: Function; | |
| initConsent: Function; | |
| signalWindowLoad: Function; | |
| registerGeoRegions: Function; | |
| submitImpliedConsent: Function; | |
| cbonloadevent: Function; | |
| processLinkClickCounter: number; | |
| performanceEntriesCounter: number; | |
| processLinkClick: Function; | |
| loadCDNiFrame: Function; | |
| readBulkConsent: Function; | |
| handleBulkConsentIframeMessage: Function; | |
| checkForBulkConsent: Function; | |
| deleteConsentCookie: Function; | |
| resetBulkDomains: Function; | |
| removeBulkReset: Function; | |
| removeCurrentDomainBulkReset: Function; | |
| registerBulkConsent: Function; | |
| updateBulkStorage: Function; | |
| signalConsentFramework: Function; | |
| cloneScriptTag: Function; | |
| runScripts: Function; | |
| RunScriptTags: Function; | |
| RunSrcTags: Function; | |
| applyDisplay: Function; | |
| hideElement: Function; | |
| displayElement: Function; | |
| registerDisplayState: Function; | |
| hasClass: Function; | |
| addClass: Function; | |
| removeClass: Function; | |
| setOnload: Function; | |
| triggerOnloadEvents: Function; | |
| getGTMDataLayer: Function; | |
| triggerGTMEvents: Function; | |
| signalGoogleConsentAPI: Function; | |
| pushGoogleConsent: Function; | |
| show: Function; | |
| hide: Function; | |
| renew: Function; | |
| getURLParam: Function; | |
| getDomainUrlParam: Function; | |
| process: Function; | |
| getCookie: Function; | |
| setCookie: Function; | |
| removeCookies: Function; | |
| getRootDomain: Function; | |
| resetCookies: Function; | |
| removeCookieHTTP: Function; | |
| removeCookieLocalStorage: Function; | |
| withdraw: Function; | |
| setOutOfRegion: Function; | |
| isSpider: Function; | |
| getScript: Function; | |
| fetchJsonData: Function; | |
| loadIframe: Function; | |
| setDNTState: Function; | |
| setHeaderStyles: Function; | |
| submitConsent: Function; | |
| submitCustomConsent: Function; | |
| isGUID: Function; | |
| hashCode: Function; | |
| tagHash: Function; | |
| initMutationObserver: Function; | |
| overrideEventListeners: Function; | |
| isInternalEventListener: Function; | |
| stopOverrideEventListeners: Function; | |
| OverrideEventListenersOnloadFired: object; | |
| OverrideEventListenersOnloadToFire: object; | |
| applyOverrideEventListeners: Function; | |
| cloneEventListeners: Function; | |
| downloadConfiguration: Function; | |
| initWidget: Function; | |
| logWidgetAttributeWarning: Function; | |
| mutationHandler: Function; | |
| preloadMutationScript: Function; | |
| processMutation: Function; | |
| isCookiebotNode: Function; | |
| isCookiebotCoreNode: Function; | |
| postponeMutation: Function; | |
| processPostPonedMutations: Function; | |
| dequeueNonAsyncScripts: Function; | |
| getTagCookieCategories: Function; | |
| cookieCategoriesFromNumberArray: Function; | |
| stopMutationObserver: Function; | |
| mutationHandlerFallback: Function; | |
| mutationHandlerFallbackInit: Function; | |
| fallbackScriptNodes: object; | |
| fallbackDeferNodes: object; | |
| startJQueryHold: Function; | |
| endJQueryHold: Function; | |
| loadFallbackScriptNodes: Function; | |
| mutationHandlerFallbackMarkupTag: Function; | |
| resolveURL: Function; | |
| getHostnameFromURL: Function; | |
| updateRegulations: Function; | |
| signalConsentReady: Function; | |
| }; | |
| declare global { | |
| interface Window { | |
| Cookiebot: Cookiebot; | |
| } | |
| } | |
| export const renewCookiebot = () => { | |
| if (window.Cookiebot) { | |
| window.Cookiebot.renew(); | |
| } | |
| }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment