From 4b0f27ac0a48a61ccf8375ba7696804eadeedf19 Mon Sep 17 00:00:00 2001 From: Casper Boone Date: Wed, 9 Oct 2024 20:08:50 +0200 Subject: [PATCH] Allow usage of this package when there is no `window` in the environment --- src/analytics/dataLayer.js | 4 ++++ src/app/hybrid.js | 4 ++++ src/privacy/privacy.js | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/src/analytics/dataLayer.js b/src/analytics/dataLayer.js index a255619..fa05bee 100644 --- a/src/analytics/dataLayer.js +++ b/src/analytics/dataLayer.js @@ -5,6 +5,10 @@ import loadScript from '../utils/loadScript.js' class DataLayer { constructor() { + if (typeof window === 'undefined') { + return + } + window.dataLayer = window.dataLayer || [] this.campaignDetails = {} this.userInformation = {} diff --git a/src/app/hybrid.js b/src/app/hybrid.js index b425bc8..9664465 100644 --- a/src/app/hybrid.js +++ b/src/app/hybrid.js @@ -17,6 +17,10 @@ class Hybrid { } constructor() { + if (typeof window === 'undefined') { + return + } + // Hook this on window so it can be required in multiple packs window._hybridEventSubscriptions = window._hybridEventSubscriptions || {} diff --git a/src/privacy/privacy.js b/src/privacy/privacy.js index aa16c0a..07c8969 100644 --- a/src/privacy/privacy.js +++ b/src/privacy/privacy.js @@ -3,6 +3,10 @@ import loadScript from '../utils/loadScript.js' class Privacy { constructor() { + if (typeof window === 'undefined') { + return + } + window._privacy = window._privacy || [] this.consent = undefined