@walkeros/walker.js 0.1.2 → 0.2.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/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e,r=Object.defineProperty,t=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,s={};((e,t)=>{for(var o in t)r(e,o,{get:t[o],enumerable:!0})})(s,{Walkerjs:()=>w,createWalkerjs:()=>b,default:()=>y,getAllEvents:()=>i.getAllEvents,getEvents:()=>i.getEvents,getGlobals:()=>i.getGlobals}),module.exports=(e=s,((e,s,n,c)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let i of o(s))a.call(e,i)||i===n||r(e,i,{get:()=>s[i],enumerable:!(c=t(s,i))||c.enumerable});return e})(r({},"__esModule",{value:!0}),e));var n=require("@walkeros/collector"),c=require("@walkeros/core"),i=require("@walkeros/web-source-browser"),l=require("@walkeros/web-source-datalayer"),d=require("@walkeros/core");function u(){window.dataLayer=window.dataLayer||[];const e=e=>{(0,d.isObject)(e)&&(0,d.isObject)(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:(r,t)=>{e(t.data||r)},pushBatch:r=>{e({name:"batch",batched_event:r.key,events:r.data.length?r.data:r.events})}}}var w={};async function b(e={}){const r={collector:{destinations:{dataLayer:{code:u()}}},browser:{run:!0,session:!0},dataLayer:!1,elb:"elb"},t=(0,c.assign)(r,e),o={...t.collector,sources:{browser:{code:i.sourceBrowser,config:{settings:t.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}};if(t.dataLayer){const e=(0,c.isObject)(t.dataLayer)?t.dataLayer:{};o.sources&&(o.sources.dataLayer={code:l.sourceDataLayer,config:{settings:e}})}const{collector:a}=await(0,n.createCollector)(o);if(!a.sources.browser)throw new Error("Browser source not initialized in walker.js");const s=a.sources.browser.push,d={collector:a,elb:s};return"undefined"!=typeof window&&(t.elb&&(window[t.elb]=s),t.name&&(window[t.name]=a)),d}var y=b;//# sourceMappingURL=index.js.map
1
+ "use strict";var e,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,n={};((e,r)=>{for(var a in r)t(e,a,{get:r[a],enumerable:!0})})(n,{Walkerjs:()=>w,createWalkerjs:()=>y,default:()=>b,getAllEvents:()=>d.getAllEvents,getEvents:()=>d.getEvents,getGlobals:()=>d.getGlobals}),module.exports=(e=n,((e,n,s,c)=>{if(n&&"object"==typeof n||"function"==typeof n)for(let d of a(n))o.call(e,d)||d===s||t(e,d,{get:()=>n[d],enumerable:!(c=r(n,d))||c.enumerable});return e})(t({},"__esModule",{value:!0}),e));var s=require("@walkeros/collector"),c=require("@walkeros/core"),d=require("@walkeros/web-source-browser"),i=require("@walkeros/web-source-datalayer"),l=require("@walkeros/core");function u(){window.dataLayer=window.dataLayer||[];const e=e=>{(0,l.isObject)(e)&&(0,l.isObject)(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:(t,r)=>{e(r.data||t)},pushBatch:t=>{e({name:"batch",batched_event:t.key,events:t.data.length?t.data:t.events})}}}var w={};async function y(e={}){const t={collector:{destinations:{dataLayer:{code:u()}}},browser:{run:!0,session:!0},dataLayer:!1,elb:"elb"},r=(0,c.assign)(t,e),a={...r.collector,sources:{browser:{code:d.sourceBrowser,config:{settings:r.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}};if(r.dataLayer){const e=(0,c.isObject)(r.dataLayer)?r.dataLayer:{};a.sources&&(a.sources.dataLayer={code:i.sourceDataLayer,config:{settings:e}})}const o=await(0,s.startFlow)(a);return"undefined"!=typeof window&&(r.elb&&(window[r.elb]=o.elb),r.name&&(window[r.name]=o.collector)),o}var b=y;//# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/destination.ts","../src/types/index.ts"],"sourcesContent":["import type { Config, Instance } from './types';\nimport type { Collector, Elb, WalkerOS } from '@walkeros/core';\nimport { createCollector } from '@walkeros/collector';\nimport { assign, isObject } from '@walkeros/core';\nimport {\n sourceBrowser,\n getAllEvents,\n getEvents,\n getGlobals,\n SourceBrowser,\n} from '@walkeros/web-source-browser';\nimport { sourceDataLayer } from '@walkeros/web-source-datalayer';\nimport { dataLayerDestination } from './destination';\n\n// Re-export types\nexport * as Walkerjs from './types';\n\nexport { getAllEvents, getEvents, getGlobals };\n\n// Factory function to create walker.js instance\nexport async function createWalkerjs(config: Config = {}): Promise<Instance> {\n // Default configuration\n const defaultConfig: Config = {\n collector: {\n destinations: {\n dataLayer: { code: dataLayerDestination() },\n },\n },\n browser: {\n run: true,\n session: true,\n },\n dataLayer: false,\n elb: 'elb',\n };\n\n const fullConfig = assign(defaultConfig, config);\n\n // Build collector config with sources\n const collectorConfig: Partial<Collector.Config> = {\n ...fullConfig.collector,\n sources: {\n browser: {\n code: sourceBrowser,\n config: {\n settings: fullConfig.browser,\n },\n env: {\n window: typeof window !== 'undefined' ? window : undefined,\n document: typeof document !== 'undefined' ? document : undefined,\n },\n },\n },\n };\n\n // Add dataLayer source if configured\n if (fullConfig.dataLayer) {\n const dataLayerSettings = isObject(fullConfig.dataLayer)\n ? fullConfig.dataLayer\n : {};\n\n if (collectorConfig.sources) {\n collectorConfig.sources.dataLayer = {\n code: sourceDataLayer,\n config: {\n settings: dataLayerSettings,\n },\n };\n }\n }\n\n const { collector } = await createCollector(collectorConfig);\n\n // Use browser source push method for browser-specific operations\n // Browser source should always be available in walker.js\n if (!collector.sources.browser) {\n throw new Error('Browser source not initialized in walker.js');\n }\n const browserPush = collector.sources.browser\n .push as SourceBrowser.BrowserPush;\n\n const instance: Instance = {\n collector,\n elb: browserPush,\n };\n\n // Set up global variables if configured (only in browser environments)\n if (typeof window !== 'undefined') {\n if (fullConfig.elb) window[fullConfig.elb] = browserPush;\n if (fullConfig.name) window[fullConfig.name] = collector;\n }\n\n return instance;\n}\n\n// Export factory function as default\nexport default createWalkerjs;\n","import type { Destination } from '@walkeros/core';\nimport type { DataLayer } from './types';\nimport { isObject } from '@walkeros/core';\n\nexport function dataLayerDestination(): Destination.Instance {\n window.dataLayer = window.dataLayer || [];\n const dataLayerPush = (event: unknown) => {\n // Do not process events from dataLayer source\n if (\n isObject(event) &&\n isObject(event.source) &&\n String(event.source.type).includes('dataLayer')\n )\n return;\n\n (window.dataLayer as DataLayer)!.push(event);\n };\n const destination: Destination.Instance = {\n type: 'dataLayer',\n config: {},\n push: (event, context) => {\n dataLayerPush(context.data || event);\n },\n pushBatch: (batch) => {\n dataLayerPush({\n name: 'batch',\n batched_event: batch.key,\n events: batch.data.length ? batch.data : batch.events,\n });\n },\n };\n\n return destination;\n}\n","import type { Collector, Source, WalkerOS } from '@walkeros/core';\nimport type { SourceBrowser } from '@walkeros/web-source-browser';\nimport type { SourceDataLayer } from '@walkeros/web-source-datalayer';\n\ndeclare global {\n interface Window {\n [key: string]: DataLayer;\n }\n}\n\n// Instance interface\nexport interface Instance {\n collector: Collector.Instance;\n elb: SourceBrowser.BrowserPush;\n}\n\n// Configuration interface\nexport interface Config {\n // Collector configuration\n collector?: Collector.InitConfig;\n\n // Browser source configuration\n browser?: Partial<SourceBrowser.Settings>;\n\n // DataLayer configuration\n dataLayer?: boolean | Partial<SourceDataLayer.Settings>;\n\n // Global configuration\n elb?: string; // Name for the global elb function\n name?: string; // Name for the global instance\n run?: boolean; // Auto-run on initialization (default: true)\n}\n\nexport type DataLayer = undefined | Array<unknown>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,uBAAgC;AAChC,IAAAA,eAAiC;AACjC,gCAMO;AACP,kCAAgC;;;ACThC,kBAAyB;AAElB,SAAS,uBAA6C;AAC3D,SAAO,YAAY,OAAO,aAAa,CAAC;AACxC,QAAM,gBAAgB,CAAC,UAAmB;AAExC,YACE,sBAAS,KAAK,SACd,sBAAS,MAAM,MAAM,KACrB,OAAO,MAAM,OAAO,IAAI,EAAE,SAAS,WAAW;AAE9C;AAEF,IAAC,OAAO,UAAyB,KAAK,KAAK;AAAA,EAC7C;AACA,QAAM,cAAoC;AAAA,IACxC,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM,CAAC,OAAO,YAAY;AACxB,oBAAc,QAAQ,QAAQ,KAAK;AAAA,IACrC;AAAA,IACA,WAAW,CAAC,UAAU;AACpB,oBAAc;AAAA,QACZ,MAAM;AAAA,QACN,eAAe,MAAM;AAAA,QACrB,QAAQ,MAAM,KAAK,SAAS,MAAM,OAAO,MAAM;AAAA,MACjD,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;;;ACjCA;;;AFoBA,eAAsB,eAAe,SAAiB,CAAC,GAAsB;AAE3E,QAAM,gBAAwB;AAAA,IAC5B,WAAW;AAAA,MACT,cAAc;AAAA,QACZ,WAAW,EAAE,MAAM,qBAAqB,EAAE;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,KAAK;AAAA,MACL,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,IACX,KAAK;AAAA,EACP;AAEA,QAAM,iBAAa,qBAAO,eAAe,MAAM;AAG/C,QAAM,kBAA6C;AAAA,IACjD,GAAG,WAAW;AAAA,IACd,SAAS;AAAA,MACP,SAAS;AAAA,QACP,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,UAAU,WAAW;AAAA,QACvB;AAAA,QACA,KAAK;AAAA,UACH,QAAQ,OAAO,WAAW,cAAc,SAAS;AAAA,UACjD,UAAU,OAAO,aAAa,cAAc,WAAW;AAAA,QACzD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,WAAW,WAAW;AACxB,UAAM,wBAAoB,uBAAS,WAAW,SAAS,IACnD,WAAW,YACX,CAAC;AAEL,QAAI,gBAAgB,SAAS;AAC3B,sBAAgB,QAAQ,YAAY;AAAA,QAClC,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,EAAE,UAAU,IAAI,UAAM,kCAAgB,eAAe;AAI3D,MAAI,CAAC,UAAU,QAAQ,SAAS;AAC9B,UAAM,IAAI,MAAM,6CAA6C;AAAA,EAC/D;AACA,QAAM,cAAc,UAAU,QAAQ,QACnC;AAEH,QAAM,WAAqB;AAAA,IACzB;AAAA,IACA,KAAK;AAAA,EACP;AAGA,MAAI,OAAO,WAAW,aAAa;AACjC,QAAI,WAAW,IAAK,QAAO,WAAW,GAAG,IAAI;AAC7C,QAAI,WAAW,KAAM,QAAO,WAAW,IAAI,IAAI;AAAA,EACjD;AAEA,SAAO;AACT;AAGA,IAAO,gBAAQ;","names":["import_core"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/destination.ts","../src/types/index.ts"],"sourcesContent":["import type { Config, Instance } from './types';\nimport type { Collector, Elb, WalkerOS } from '@walkeros/core';\nimport { startFlow } from '@walkeros/collector';\nimport { assign, isObject } from '@walkeros/core';\nimport {\n sourceBrowser,\n getAllEvents,\n getEvents,\n getGlobals,\n SourceBrowser,\n} from '@walkeros/web-source-browser';\nimport { sourceDataLayer } from '@walkeros/web-source-datalayer';\nimport { dataLayerDestination } from './destination';\n\n// Re-export types\nexport * as Walkerjs from './types';\n\nexport { getAllEvents, getEvents, getGlobals };\n\n// Factory function to create walker.js instance\nexport async function createWalkerjs(config: Config = {}): Promise<Instance> {\n // Default configuration\n const defaultConfig: Config = {\n collector: {\n destinations: {\n dataLayer: { code: dataLayerDestination() },\n },\n },\n browser: {\n run: true,\n session: true,\n },\n dataLayer: false,\n elb: 'elb',\n };\n\n const fullConfig = assign(defaultConfig, config);\n\n // Build collector config with sources\n const collectorConfig: Collector.InitConfig = {\n ...fullConfig.collector,\n sources: {\n browser: {\n code: sourceBrowser,\n config: {\n settings: fullConfig.browser,\n },\n env: {\n window: typeof window !== 'undefined' ? window : undefined,\n document: typeof document !== 'undefined' ? document : undefined,\n },\n },\n },\n };\n\n // Add dataLayer source if configured\n if (fullConfig.dataLayer) {\n const dataLayerSettings = isObject(fullConfig.dataLayer)\n ? fullConfig.dataLayer\n : {};\n\n if (collectorConfig.sources) {\n collectorConfig.sources.dataLayer = {\n code: sourceDataLayer,\n config: {\n settings: dataLayerSettings,\n },\n };\n }\n }\n\n const flow = await startFlow<SourceBrowser.BrowserPush>(collectorConfig);\n\n // Set up global variables if configured (only in browser environments)\n if (typeof window !== 'undefined') {\n if (fullConfig.elb) window[fullConfig.elb] = flow.elb;\n if (fullConfig.name) window[fullConfig.name] = flow.collector;\n }\n\n return flow;\n}\n\n// Export factory function as default\nexport default createWalkerjs;\n","import type { Destination } from '@walkeros/core';\nimport type { DataLayer } from './types';\nimport { isObject } from '@walkeros/core';\n\nexport function dataLayerDestination(): Destination.Instance {\n window.dataLayer = window.dataLayer || [];\n const dataLayerPush = (event: unknown) => {\n // Do not process events from dataLayer source\n if (\n isObject(event) &&\n isObject(event.source) &&\n String(event.source.type).includes('dataLayer')\n )\n return;\n\n (window.dataLayer as DataLayer)!.push(event);\n };\n const destination: Destination.Instance = {\n type: 'dataLayer',\n config: {},\n push: (event, context) => {\n dataLayerPush(context.data || event);\n },\n pushBatch: (batch) => {\n dataLayerPush({\n name: 'batch',\n batched_event: batch.key,\n events: batch.data.length ? batch.data : batch.events,\n });\n },\n };\n\n return destination;\n}\n","import type { Collector, Source, WalkerOS } from '@walkeros/core';\nimport type { SourceBrowser } from '@walkeros/web-source-browser';\nimport type { SourceDataLayer } from '@walkeros/web-source-datalayer';\n\ndeclare global {\n interface Window {\n [key: string]: DataLayer;\n }\n}\n\n// Instance interface\nexport interface Instance {\n collector: Collector.Instance;\n elb: SourceBrowser.BrowserPush;\n}\n\n// Configuration interface\nexport interface Config {\n // Collector configuration\n collector?: Collector.InitConfig;\n\n // Browser source configuration\n browser?: Partial<SourceBrowser.Settings>;\n\n // DataLayer configuration\n dataLayer?: boolean | Partial<SourceDataLayer.Settings>;\n\n // Global configuration\n elb?: string; // Name for the global elb function\n name?: string; // Name for the global instance\n run?: boolean; // Auto-run on initialization (default: true)\n}\n\nexport type DataLayer = undefined | Array<unknown>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,uBAA0B;AAC1B,IAAAA,eAAiC;AACjC,gCAMO;AACP,kCAAgC;;;ACThC,kBAAyB;AAElB,SAAS,uBAA6C;AAC3D,SAAO,YAAY,OAAO,aAAa,CAAC;AACxC,QAAM,gBAAgB,CAAC,UAAmB;AAExC,YACE,sBAAS,KAAK,SACd,sBAAS,MAAM,MAAM,KACrB,OAAO,MAAM,OAAO,IAAI,EAAE,SAAS,WAAW;AAE9C;AAEF,IAAC,OAAO,UAAyB,KAAK,KAAK;AAAA,EAC7C;AACA,QAAM,cAAoC;AAAA,IACxC,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM,CAAC,OAAO,YAAY;AACxB,oBAAc,QAAQ,QAAQ,KAAK;AAAA,IACrC;AAAA,IACA,WAAW,CAAC,UAAU;AACpB,oBAAc;AAAA,QACZ,MAAM;AAAA,QACN,eAAe,MAAM;AAAA,QACrB,QAAQ,MAAM,KAAK,SAAS,MAAM,OAAO,MAAM;AAAA,MACjD,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;;;ACjCA;;;AFoBA,eAAsB,eAAe,SAAiB,CAAC,GAAsB;AAE3E,QAAM,gBAAwB;AAAA,IAC5B,WAAW;AAAA,MACT,cAAc;AAAA,QACZ,WAAW,EAAE,MAAM,qBAAqB,EAAE;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,KAAK;AAAA,MACL,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,IACX,KAAK;AAAA,EACP;AAEA,QAAM,iBAAa,qBAAO,eAAe,MAAM;AAG/C,QAAM,kBAAwC;AAAA,IAC5C,GAAG,WAAW;AAAA,IACd,SAAS;AAAA,MACP,SAAS;AAAA,QACP,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,UAAU,WAAW;AAAA,QACvB;AAAA,QACA,KAAK;AAAA,UACH,QAAQ,OAAO,WAAW,cAAc,SAAS;AAAA,UACjD,UAAU,OAAO,aAAa,cAAc,WAAW;AAAA,QACzD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,WAAW,WAAW;AACxB,UAAM,wBAAoB,uBAAS,WAAW,SAAS,IACnD,WAAW,YACX,CAAC;AAEL,QAAI,gBAAgB,SAAS;AAC3B,sBAAgB,QAAQ,YAAY;AAAA,QAClC,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,OAAO,UAAM,4BAAqC,eAAe;AAGvE,MAAI,OAAO,WAAW,aAAa;AACjC,QAAI,WAAW,IAAK,QAAO,WAAW,GAAG,IAAI,KAAK;AAClD,QAAI,WAAW,KAAM,QAAO,WAAW,IAAI,IAAI,KAAK;AAAA,EACtD;AAEA,SAAO;AACT;AAGA,IAAO,gBAAQ;","names":["import_core"]}