Registry / analytics / data-layer-helper

data-layer-helper

JSON →
library0.1.0jsnpmunverified

A library that processes messages from a dataLayer queue (commonly used with Google Tag Manager) and maintains an abstract data model. It listens for messages, deep-merges incoming objects, and provides dot-notation retrieval. v0.1.0 is the initial stable release. Unlike manual dataLayer parsing, it handles nested keys, overwrites, recursive merging, and meta commands. Suitable for client-side analytics and tag management integrations.

npm install data-layer-helper
INSTALL
IMPORT
SIG · DATA-LAYER-HELPER
D
data-layer-helper
analyticsjavascriptv0.1.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

DataLayerHelper
import DataLayerHelper from 'data-layer-helper';
const { DataLayerHelper } = require('data-layer-helper');
ESM default import; CommonJS require works but must use .default.
DataLayerHelper
const DataLayerHelper = require('data-layer-helper').default;
const DataLayerHelper = require('data-layer-helper');
CommonJS: library exposes ESM module; .default needed unless using bundler interop.
DataLayerHelper (type)
import type DataLayerHelper from 'data-layer-helper';
TypeScript: use import type for type-only usage.

Shows creating a DataLayerHelper, pushing messages, and retrieving nested values via dot notation.

import DataLayerHelper from 'data-layer-helper'; // Setup dataLayer (usually global) window.dataLayer = window.dataLayer || []; // Create helper const helper = new DataLayerHelper(window.dataLayer); // Simulate a push dataLayer.push({ page: { title: 'Home', category: 'Landing' } }); // Retrieve values console.log(helper.get('page.title')); // 'Home' console.log(helper.get('page.category')); // 'Landing' // Nested objects merge recursively dataLayer.push({ page: { author: 'Jane' } }); console.log(helper.get('page')); // { title: 'Home', category: 'Landing', author: 'Jane' }
Debug
Known issues
breakingLibrary v0.x may have API changes; no semver guarantees before 1.0.
fix
Pin exact version in package.json and test thoroughly before upgrading minor versions.
affects: >=0.0.0 <1.0.0
gotchahelper.get('nonexistent.key') returns undefined silently. No error thrown.
fix
Check for undefined explicitly when expecting a value.
affects: >=0.0.0
gotchaThe helper processes past messages synchronously on creation. If you create the helper after dataLayer already has entries, those are processed order. Ensure dataLayer is not mutated in unexpected ways before helper creation.
fix
Create helper as early as possible, ideally before any dataLayer pushes.
affects: >=0.0.0
deprecatedVersion 0.1.0 does not support meta commands described in the model (e.g., custom methods). Use future versions for full meta command support.
fix
Check changelog for when meta commands are implemented.
affects: >=0.0.0 <0.2.0
Errors
Common errors & fixes
DataLayerHelper is not a constructor
CommonJS import without .default when using ESM build.
fix
Use: const DataLayerHelper = require('data-layer-helper').default;
Cannot find module 'data-layer-helper'
Missing npm install or incorrect import path.
fix
Run: npm install data-layer-helper
TypeError: helper.get is not a function
helper is undefined or initialization failed (e.g., missing new keyword).
fix
Ensure: const helper = new DataLayerHelper(dataLayer);
Upgrade
Version history
0.1.0latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
33 hits · last 30 days
node
26
OpenAI (training)
1
Resources