@schibsted/pulse-sdk 8.0.0-alpha.16 → 8.0.0-alpha.18
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/cjs/EventBus/EventBus.js +146 -0
- package/dist/cjs/Tracker.js +2499 -0
- package/dist/cjs/Tracker.test-d.js +76 -0
- package/dist/cjs/app-integration.js +40 -0
- package/dist/cjs/builders/actor.js +60 -0
- package/dist/cjs/builders/consent-manager.js +134 -0
- package/dist/cjs/builders/consents.js +149 -0
- package/dist/cjs/builders/device-browser.js +89 -0
- package/dist/cjs/builders/device-node.js +63 -0
- package/dist/cjs/builders/device.js +23 -0
- package/dist/cjs/builders/events-anonymous-browser.js +6 -0
- package/dist/cjs/builders/events-anonymous-node.js +88 -0
- package/dist/cjs/builders/events-anonymous.js +17 -0
- package/dist/cjs/builders/events-browser.js +8 -0
- package/dist/cjs/builders/events-node.js +127 -0
- package/dist/cjs/builders/events.js +17 -0
- package/dist/cjs/builders/experimentMetadata.js +25 -0
- package/dist/cjs/builders/experiments.js +32 -0
- package/dist/cjs/builders/index.js +52 -0
- package/dist/cjs/builders/location.js +38 -0
- package/dist/cjs/builders/objects/objects-anonymous-browser.js +36 -0
- package/dist/cjs/builders/objects/objects-anonymous-node.js +95 -0
- package/dist/cjs/builders/objects/objects-anonymous.js +23 -0
- package/dist/cjs/builders/objects/objects-browser.js +36 -0
- package/dist/cjs/builders/objects/objects-node.js +126 -0
- package/dist/cjs/builders/objects/objects.js +23 -0
- package/dist/cjs/builders/objects/utils.js +23 -0
- package/dist/cjs/builders/origin-browser.js +28 -0
- package/dist/cjs/builders/origin-node.js +29 -0
- package/dist/cjs/builders/origin.js +23 -0
- package/dist/cjs/builders/provider.js +24 -0
- package/dist/cjs/builders/session-browser.js +97 -0
- package/dist/cjs/builders/session-node.js +9 -0
- package/dist/cjs/builders/session.js +23 -0
- package/dist/cjs/builders/tracker-browser.js +34 -0
- package/dist/cjs/builders/tracker-node.js +22 -0
- package/dist/cjs/builders/trackerBuilder.js +23 -0
- package/dist/cjs/config-browser.js +26 -0
- package/dist/cjs/config.js +9 -0
- package/dist/cjs/createPulseTracker.js +50 -0
- package/dist/cjs/defer.js +20 -0
- package/dist/cjs/getPulseTracker.js +74 -0
- package/dist/cjs/identity/actor.js +60 -0
- package/dist/cjs/identity/advertising.js +62 -0
- package/dist/cjs/identity/cis.js +66 -0
- package/dist/cjs/identity/device.js +20 -0
- package/dist/cjs/identity/index.js +20 -0
- package/dist/cjs/index.js +57 -0
- package/dist/cjs/leaveTracking/constants.js +26 -0
- package/dist/cjs/leaveTracking/index.js +368 -0
- package/dist/cjs/leaveTracking/types.js +19 -0
- package/dist/cjs/leaveTrackingTpaas/constants.js +18 -0
- package/dist/cjs/leaveTrackingTpaas/index.js +341 -0
- package/dist/cjs/leaveTrackingTpaas/types.js +19 -0
- package/dist/cjs/network-browser.js +35 -0
- package/dist/cjs/network.js +15 -0
- package/dist/cjs/remoteConfig/index.js +124 -0
- package/dist/cjs/tracker-proxy/consts.js +72 -0
- package/dist/cjs/tracker-proxy/proxy-provider.js +68 -0
- package/dist/cjs/types.js +2 -0
- package/dist/cjs/version.json +1 -0
- package/dist/cjs/visibility-observer/index.js +101 -0
- package/dist/cjs/warnOnce.js +11 -0
- package/dist/cjs/wrapper/engagement/ui-element/event-builder.js +21 -0
- package/dist/cjs/wrapper/engagement/ui-element/types.js +2 -0
- package/dist/cjs/wrapper/types/base-event.js +2 -0
- package/dist/cjs/wrapper/types/engagement-event.js +2 -0
- package/dist/cjs/wrapper/types/event.js +2 -0
- package/dist/cjs/wrapper/types/index.js +19 -0
- package/dist/cjs/wrapper/types/utils.js +2 -0
- package/dist/cjs/wrapper/utils/get-navigation-type.js +32 -0
- package/dist/cjs/wrapper/utils/page-from-page-view.js +9 -0
- package/dist/cjs/wrapper/view/article/event-builder.js +19 -0
- package/dist/cjs/wrapper/view/article/types.js +2 -0
- package/dist/cjs/wrapper/view/frontpage/event-builder.js +16 -0
- package/dist/cjs/wrapper/view/frontpage/types.js +2 -0
- package/dist/cjs/wrapper/view/listing/event-builder.js +14 -0
- package/dist/cjs/wrapper/view/listing/types.js +2 -0
- package/dist/cjs/wrapper/view/loginposter/event-builder.js +11 -0
- package/dist/cjs/wrapper/view/loginposter/types.js +2 -0
- package/dist/cjs/wrapper/view/page/event-builder.js +18 -0
- package/dist/cjs/wrapper/view/page/types.js +2 -0
- package/dist/cjs/wrapper/view/salesposter/event-builder.js +18 -0
- package/dist/cjs/wrapper/view/salesposter/types.js +2 -0
- package/dist/cjs/wrapper/view/ui-element/event-builder.js +15 -0
- package/dist/cjs/wrapper/view/ui-element/types.js +2 -0
- package/dist/ejs/EventBus/EventBus.js +140 -0
- package/dist/ejs/Tracker.js +2455 -0
- package/dist/ejs/Tracker.test-d.js +71 -0
- package/dist/ejs/app-integration.js +33 -0
- package/dist/ejs/builders/actor.js +53 -0
- package/dist/ejs/builders/consent-manager.js +125 -0
- package/dist/ejs/builders/consents.js +138 -0
- package/dist/ejs/builders/device-browser.js +69 -0
- package/dist/ejs/builders/device-node.js +57 -0
- package/dist/ejs/builders/device.js +2 -0
- package/dist/ejs/builders/events-anonymous-browser.js +1 -0
- package/dist/ejs/builders/events-anonymous-node.js +48 -0
- package/dist/ejs/builders/events-anonymous.js +1 -0
- package/dist/ejs/builders/events-browser.js +1 -0
- package/dist/ejs/builders/events-node.js +84 -0
- package/dist/ejs/builders/events.js +1 -0
- package/dist/ejs/builders/experimentMetadata.js +21 -0
- package/dist/ejs/builders/experiments.js +27 -0
- package/dist/ejs/builders/index.js +12 -0
- package/dist/ejs/builders/location.js +34 -0
- package/dist/ejs/builders/objects/objects-anonymous-browser.js +14 -0
- package/dist/ejs/builders/objects/objects-anonymous-node.js +90 -0
- package/dist/ejs/builders/objects/objects-anonymous.js +2 -0
- package/dist/ejs/builders/objects/objects-browser.js +14 -0
- package/dist/ejs/builders/objects/objects-node.js +121 -0
- package/dist/ejs/builders/objects/objects.js +2 -0
- package/dist/ejs/builders/objects/utils.js +20 -0
- package/dist/ejs/builders/origin-browser.js +6 -0
- package/dist/ejs/builders/origin-node.js +24 -0
- package/dist/ejs/builders/origin.js +2 -0
- package/dist/ejs/builders/provider.js +18 -0
- package/dist/ejs/builders/session-browser.js +90 -0
- package/dist/ejs/builders/session-node.js +4 -0
- package/dist/ejs/builders/session.js +2 -0
- package/dist/ejs/builders/tracker-browser.js +13 -0
- package/dist/ejs/builders/tracker-node.js +14 -0
- package/dist/ejs/builders/trackerBuilder.js +2 -0
- package/dist/ejs/config-browser.js +23 -0
- package/dist/ejs/config.js +6 -0
- package/dist/ejs/createPulseTracker.js +44 -0
- package/dist/ejs/defer.js +17 -0
- package/dist/ejs/getPulseTracker.js +71 -0
- package/dist/ejs/identity/actor.js +51 -0
- package/dist/ejs/identity/advertising.js +57 -0
- package/dist/ejs/identity/cis.js +58 -0
- package/dist/ejs/identity/device.js +17 -0
- package/dist/ejs/identity/index.js +4 -0
- package/dist/ejs/index.js +9 -0
- package/dist/ejs/leaveTracking/constants.js +19 -0
- package/dist/ejs/leaveTracking/index.js +319 -0
- package/dist/ejs/leaveTracking/types.js +16 -0
- package/dist/ejs/leaveTrackingTpaas/constants.js +13 -0
- package/dist/ejs/leaveTrackingTpaas/index.js +291 -0
- package/dist/ejs/leaveTrackingTpaas/types.js +16 -0
- package/dist/ejs/network-browser.js +32 -0
- package/dist/ejs/network.js +12 -0
- package/dist/ejs/remoteConfig/index.js +111 -0
- package/dist/ejs/tracker-proxy/consts.js +68 -0
- package/dist/ejs/tracker-proxy/proxy-provider.js +62 -0
- package/dist/ejs/types.js +1 -0
- package/dist/ejs/version.json +1 -0
- package/dist/ejs/visibility-observer/index.js +97 -0
- package/dist/ejs/warnOnce.js +9 -0
- package/dist/ejs/wrapper/engagement/ui-element/event-builder.js +17 -0
- package/dist/ejs/wrapper/engagement/ui-element/types.js +1 -0
- package/dist/ejs/wrapper/types/base-event.js +1 -0
- package/dist/ejs/wrapper/types/engagement-event.js +1 -0
- package/dist/ejs/wrapper/types/event.js +1 -0
- package/dist/ejs/wrapper/types/index.js +3 -0
- package/dist/ejs/wrapper/types/utils.js +1 -0
- package/dist/ejs/wrapper/utils/get-navigation-type.js +29 -0
- package/dist/ejs/wrapper/utils/page-from-page-view.js +6 -0
- package/dist/ejs/wrapper/view/article/event-builder.js +15 -0
- package/dist/ejs/wrapper/view/article/types.js +1 -0
- package/dist/ejs/wrapper/view/frontpage/event-builder.js +12 -0
- package/dist/ejs/wrapper/view/frontpage/types.js +1 -0
- package/dist/ejs/wrapper/view/listing/event-builder.js +10 -0
- package/dist/ejs/wrapper/view/listing/types.js +1 -0
- package/dist/ejs/wrapper/view/loginposter/event-builder.js +7 -0
- package/dist/ejs/wrapper/view/loginposter/types.js +1 -0
- package/dist/ejs/wrapper/view/page/event-builder.js +14 -0
- package/dist/ejs/wrapper/view/page/types.js +1 -0
- package/dist/ejs/wrapper/view/salesposter/event-builder.js +14 -0
- package/dist/ejs/wrapper/view/salesposter/types.js +1 -0
- package/dist/ejs/wrapper/view/ui-element/event-builder.js +11 -0
- package/dist/ejs/wrapper/view/ui-element/types.js +1 -0
- package/dist/types/EventBus/EventBus.d.ts +106 -0
- package/dist/types/Tracker.d.ts +1418 -0
- package/dist/types/Tracker.test-d.d.ts +1 -0
- package/dist/types/app-integration.d.ts +10 -0
- package/dist/types/builders/actor.d.ts +39 -0
- package/dist/types/builders/consent-manager.d.ts +49 -0
- package/dist/types/builders/consents.d.ts +107 -0
- package/dist/types/builders/device-browser.d.ts +6 -0
- package/dist/types/builders/device-node.d.ts +65 -0
- package/dist/types/builders/device.d.ts +2 -0
- package/dist/types/builders/events-anonymous-browser.d.ts +1 -0
- package/dist/types/builders/events-anonymous-node.d.ts +82 -0
- package/dist/types/builders/events-anonymous.d.ts +1 -0
- package/dist/types/builders/events-browser.d.ts +1 -0
- package/dist/types/builders/events-node.d.ts +130 -0
- package/dist/types/builders/events.d.ts +1 -0
- package/dist/types/builders/experimentMetadata.d.ts +25 -0
- package/dist/types/builders/experiments.d.ts +24 -0
- package/dist/types/builders/index.d.ts +23 -0
- package/dist/types/builders/location.d.ts +34 -0
- package/dist/types/builders/objects/objects-anonymous-browser.d.ts +11 -0
- package/dist/types/builders/objects/objects-anonymous-node.d.ts +52 -0
- package/dist/types/builders/objects/objects-anonymous.d.ts +2 -0
- package/dist/types/builders/objects/objects-browser.d.ts +11 -0
- package/dist/types/builders/objects/objects-node.d.ts +60 -0
- package/dist/types/builders/objects/objects.d.ts +2 -0
- package/dist/types/builders/objects/utils.d.ts +1 -0
- package/dist/types/builders/origin-browser.d.ts +5 -0
- package/dist/types/builders/origin-node.d.ts +18 -0
- package/dist/types/builders/origin.d.ts +2 -0
- package/dist/types/builders/provider.d.ts +14 -0
- package/dist/types/builders/session-browser.d.ts +20 -0
- package/dist/types/builders/session-node.d.ts +3 -0
- package/dist/types/builders/session.d.ts +2 -0
- package/dist/types/builders/tracker-browser.d.ts +2 -0
- package/dist/types/builders/tracker-node.d.ts +14 -0
- package/dist/types/builders/trackerBuilder.d.ts +2 -0
- package/dist/types/config-browser.d.ts +23 -0
- package/dist/types/config.d.ts +6 -0
- package/dist/types/createPulseTracker.d.ts +21 -0
- package/dist/types/defer.d.ts +28 -0
- package/dist/types/getPulseTracker.d.ts +59 -0
- package/dist/types/identity/actor.d.ts +28 -0
- package/dist/types/identity/advertising.d.ts +30 -0
- package/dist/types/identity/cis.d.ts +21 -0
- package/dist/types/identity/device.d.ts +12 -0
- package/dist/types/identity/index.d.ts +4 -0
- package/dist/types/index.d.ts +31 -0
- package/dist/types/leaveTracking/constants.d.ts +26 -0
- package/dist/types/leaveTracking/index.d.ts +23 -0
- package/dist/types/leaveTracking/types.d.ts +78 -0
- package/dist/types/leaveTrackingTpaas/constants.d.ts +13 -0
- package/dist/types/leaveTrackingTpaas/index.d.ts +28 -0
- package/dist/types/leaveTrackingTpaas/types.d.ts +45 -0
- package/dist/types/network-browser.d.ts +5 -0
- package/dist/types/network.d.ts +4 -0
- package/dist/types/remoteConfig/index.d.ts +32 -0
- package/dist/types/tracker-proxy/consts.d.ts +45 -0
- package/dist/types/tracker-proxy/proxy-provider.d.ts +2 -0
- package/dist/types/types.d.ts +93 -0
- package/dist/types/visibility-observer/index.d.ts +38 -0
- package/dist/types/warnOnce.d.ts +2 -0
- package/dist/types/wrapper/engagement/ui-element/event-builder.d.ts +3 -0
- package/dist/types/wrapper/engagement/ui-element/types.d.ts +29 -0
- package/dist/types/wrapper/types/base-event.d.ts +74 -0
- package/dist/types/wrapper/types/engagement-event.d.ts +5 -0
- package/dist/types/wrapper/types/event.d.ts +41 -0
- package/dist/types/wrapper/types/index.d.ts +3 -0
- package/dist/types/wrapper/types/utils.d.ts +5 -0
- package/dist/types/wrapper/utils/get-navigation-type.d.ts +3 -0
- package/dist/types/wrapper/utils/page-from-page-view.d.ts +3 -0
- package/dist/types/wrapper/view/article/event-builder.d.ts +2 -0
- package/dist/types/wrapper/view/article/types.d.ts +27 -0
- package/dist/types/wrapper/view/frontpage/event-builder.d.ts +2 -0
- package/dist/types/wrapper/view/frontpage/types.d.ts +18 -0
- package/dist/types/wrapper/view/listing/event-builder.d.ts +2 -0
- package/dist/types/wrapper/view/listing/types.d.ts +27 -0
- package/dist/types/wrapper/view/loginposter/event-builder.d.ts +2 -0
- package/dist/types/wrapper/view/loginposter/types.d.ts +14 -0
- package/dist/types/wrapper/view/page/event-builder.d.ts +2 -0
- package/dist/types/wrapper/view/page/types.d.ts +16 -0
- package/dist/types/wrapper/view/salesposter/event-builder.d.ts +2 -0
- package/dist/types/wrapper/view/salesposter/types.d.ts +15 -0
- package/dist/types/wrapper/view/ui-element/event-builder.d.ts +3 -0
- package/dist/types/wrapper/view/ui-element/types.d.ts +28 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/cis-browser.d.ts +26 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/cis-browser.js +273 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/cis-browser.js.map +1 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/cis.d.ts +10 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/cis.js +7 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/cis.js.map +1 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/eventEmitter.d.ts +14 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/eventEmitter.js +39 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/eventEmitter.js.map +1 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/index.d.ts +4 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/index.js +12 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/index.js.map +1 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/pulse-cookie.d.ts +55 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/pulse-cookie.js +276 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/pulse-cookie.js.map +1 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/storage/pulseStorage.d.ts +36 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/storage/pulseStorage.js +87 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/storage/pulseStorage.js.map +1 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/storage/storage.d.ts +6 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/storage/storage.js +21 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/storage/storage.js.map +1 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/types.d.ts +24 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/types.js +3 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/cjs/types.js.map +1 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/cis-browser.d.ts +26 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/cis-browser.js +203 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/cis-browser.js.map +1 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/cis.d.ts +10 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/cis.js +4 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/cis.js.map +1 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/eventEmitter.d.ts +14 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/eventEmitter.js +35 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/eventEmitter.js.map +1 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/index.d.ts +4 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/index.js +3 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/index.js.map +1 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/pulse-cookie.d.ts +55 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/pulse-cookie.js +254 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/pulse-cookie.js.map +1 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/storage/pulseStorage.d.ts +36 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/storage/pulseStorage.js +50 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/storage/pulseStorage.js.map +1 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/storage/storage.d.ts +6 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/storage/storage.js +17 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/storage/storage.js.map +1 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/types.d.ts +24 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/types.js +2 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/ejs/types.js.map +1 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/types/cis-browser.d.ts +26 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/types/cis.d.ts +10 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/types/eventEmitter.d.ts +14 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/types/index.d.ts +4 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/types/pulse-cookie.d.ts +55 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/types/storage/pulseStorage.d.ts +36 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/types/storage/storage.d.ts +6 -0
- package/node_modules/@schibsted/pulse-cis-sync/dist/types/types.d.ts +24 -0
- package/node_modules/@schibsted/pulse-cis-sync/package.json +44 -0
- package/node_modules/@schibsted/pulse-utils/dist/cjs/cookie-config.js +10 -0
- package/node_modules/@schibsted/pulse-utils/dist/cjs/cookie.js +86 -0
- package/node_modules/@schibsted/pulse-utils/dist/cjs/events.js +109 -0
- package/node_modules/@schibsted/pulse-utils/dist/cjs/get.js +18 -0
- package/node_modules/@schibsted/pulse-utils/dist/cjs/getRootDomain.js +54 -0
- package/node_modules/@schibsted/pulse-utils/dist/cjs/index.js +38 -0
- package/node_modules/@schibsted/pulse-utils/dist/cjs/merge.js +38 -0
- package/node_modules/@schibsted/pulse-utils/dist/cjs/objects.js +34 -0
- package/node_modules/@schibsted/pulse-utils/dist/cjs/omit.js +9 -0
- package/node_modules/@schibsted/pulse-utils/dist/cjs/randomString.js +18 -0
- package/node_modules/@schibsted/pulse-utils/dist/cjs/throttle.js +34 -0
- package/node_modules/@schibsted/pulse-utils/dist/cjs/webApi.js +21 -0
- package/node_modules/@schibsted/pulse-utils/dist/ejs/cookie-config.js +7 -0
- package/node_modules/@schibsted/pulse-utils/dist/ejs/cookie.js +81 -0
- package/node_modules/@schibsted/pulse-utils/dist/ejs/events.js +103 -0
- package/node_modules/@schibsted/pulse-utils/dist/ejs/get.js +15 -0
- package/node_modules/@schibsted/pulse-utils/dist/ejs/getRootDomain.js +49 -0
- package/node_modules/@schibsted/pulse-utils/dist/ejs/index.js +11 -0
- package/node_modules/@schibsted/pulse-utils/dist/ejs/merge.js +35 -0
- package/node_modules/@schibsted/pulse-utils/dist/ejs/objects.js +26 -0
- package/node_modules/@schibsted/pulse-utils/dist/ejs/omit.js +6 -0
- package/node_modules/@schibsted/pulse-utils/dist/ejs/randomString.js +15 -0
- package/node_modules/@schibsted/pulse-utils/dist/ejs/throttle.js +31 -0
- package/node_modules/@schibsted/pulse-utils/dist/ejs/webApi.js +17 -0
- package/node_modules/@schibsted/pulse-utils/dist/types/cookie-config.d.ts +7 -0
- package/node_modules/@schibsted/pulse-utils/dist/types/cookie.d.ts +23 -0
- package/node_modules/@schibsted/pulse-utils/dist/types/events.d.ts +17 -0
- package/node_modules/@schibsted/pulse-utils/dist/types/get.d.ts +1 -0
- package/node_modules/@schibsted/pulse-utils/dist/types/getRootDomain.d.ts +13 -0
- package/node_modules/@schibsted/pulse-utils/dist/types/index.d.ts +11 -0
- package/node_modules/@schibsted/pulse-utils/dist/types/merge.d.ts +4 -0
- package/node_modules/@schibsted/pulse-utils/dist/types/objects.d.ts +6 -0
- package/node_modules/@schibsted/pulse-utils/dist/types/omit.d.ts +3 -0
- package/node_modules/@schibsted/pulse-utils/dist/types/randomString.d.ts +1 -0
- package/node_modules/@schibsted/pulse-utils/dist/types/throttle.d.ts +3 -0
- package/node_modules/@schibsted/pulse-utils/dist/types/webApi.d.ts +10 -0
- package/node_modules/@schibsted/pulse-utils/package.json +36 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/anonymous.js +8 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/baseEvent.js +9 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/consents.js +15 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/device.js +211 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/experiments.js +11 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/navigationType.js +52 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/pageInfo.js +24 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/pageviewId.js +11 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/provider.js +12 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/referrer.js +19 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/session.js +114 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/time.js +15 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/trackerBuilder.js +15 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/user.js +26 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/utm.js +35 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders.js +264 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/index.js +17 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/types.js +2 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/anonymous.js +5 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/baseEvent.js +6 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/consents.js +12 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/device.js +174 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/experiments.js +7 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/navigationType.js +48 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/pageInfo.js +20 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/pageviewId.js +7 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/provider.js +9 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/referrer.js +15 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/session.js +108 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/time.js +11 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/trackerBuilder.js +11 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/user.js +22 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/utm.js +31 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders.js +209 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/index.js +1 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/types.js +1 -0
- package/node_modules/@schibsted/tpaas-event-builder/dist/index.d.ts +5171 -0
- package/node_modules/@schibsted/tpaas-event-builder/package.json +40 -0
- package/node_modules/@schibsted/tpaas-schemas/dist/cjs/constants.js +62 -1
- package/node_modules/@schibsted/tpaas-schemas/dist/ejs/constants.js +61 -0
- package/node_modules/@schibsted/tpaas-schemas/dist/index.d.ts +128 -0
- package/package.json +58 -13
- package/CHANGELOG.md +0 -1035
- package/dist/index.d.ts +0 -13
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -47
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export const collectorEndpoints = {
|
|
2
|
+
dev: 'https://collector.pulse-internal-dev.schibsted.io',
|
|
3
|
+
pre: 'https://collector.pulse-internal-pre.schibsted.io',
|
|
4
|
+
pro: 'https://dc.schibsted.io',
|
|
5
|
+
};
|
|
6
|
+
export const CISEndpoints = {
|
|
7
|
+
dev: 'https://cis.pulse-internal-dev.schibsted.io',
|
|
8
|
+
pre: 'https://cis.pulse-internal-pre.schibsted.io',
|
|
9
|
+
pro: 'https://ncis.schibsted.com',
|
|
10
|
+
};
|
|
11
|
+
export const remoteConfig = {
|
|
12
|
+
dev: 'https://sdkconfig.pulse-internal-dev.schibsted.io/js/config.json',
|
|
13
|
+
pre: 'https://sdkconfig.pulse-internal-pre.schibsted.io/js/config.json',
|
|
14
|
+
pro: 'https://sdkconfig.pulse.schibsted.io/js/config.json',
|
|
15
|
+
};
|
|
16
|
+
export const baseConfig = {
|
|
17
|
+
cisEnabled: true,
|
|
18
|
+
deployStage: 'pro',
|
|
19
|
+
eventDebounce: 200,
|
|
20
|
+
environment: 'browser',
|
|
21
|
+
collectorPath: '/api/v1/track',
|
|
22
|
+
useBeaconWhenAvailable: true,
|
|
23
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module createPulseTracker
|
|
3
|
+
* This module is part of the Pulse SDK implementation of Schibsted's Mandatory Building Blocks (MBB) specification.
|
|
4
|
+
* It is intended to simplify the creation and management of a singleton Pulse Tracker instance in browser environments.
|
|
5
|
+
* Note that this module should only be used in browser environments, as it relies on the global `window` object.
|
|
6
|
+
*/
|
|
7
|
+
import { isBrowser } from '@schibsted/pulse-utils/';
|
|
8
|
+
import Tracker from './Tracker';
|
|
9
|
+
/**
|
|
10
|
+
* Flags whether the Pulse Tracker creation process has been started.
|
|
11
|
+
*/
|
|
12
|
+
function isTrackerCreated() {
|
|
13
|
+
return isBrowser && !!window.__pulseTracker;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Make the given tracker instance globally accessible
|
|
17
|
+
* @param singleton
|
|
18
|
+
*/
|
|
19
|
+
function attachTrackerToWindow(singleton) {
|
|
20
|
+
if (isBrowser) {
|
|
21
|
+
window.__pulseTracker = singleton;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Creates and returns the singleton Pulse Tracker instance.
|
|
26
|
+
* @param clientId
|
|
27
|
+
* @param config
|
|
28
|
+
* @param builders
|
|
29
|
+
* @throws - If called outside a browser environment.
|
|
30
|
+
* @throws - If the Pulse Tracker has already been created (or creation is already in progress).
|
|
31
|
+
*/
|
|
32
|
+
export async function createPulseTracker({ clientId, config, builders }) {
|
|
33
|
+
if (!isBrowser) {
|
|
34
|
+
throw new Error('createPulseTracker is only available in browser environments');
|
|
35
|
+
}
|
|
36
|
+
if (isTrackerCreated()) {
|
|
37
|
+
throw new Error('Pulse Tracker is already created (or creation already started)');
|
|
38
|
+
}
|
|
39
|
+
const singleton = (async () => {
|
|
40
|
+
return new Tracker(clientId, config, builders);
|
|
41
|
+
})();
|
|
42
|
+
attachTrackerToWindow(singleton);
|
|
43
|
+
return singleton;
|
|
44
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const emptyFn = () => {
|
|
2
|
+
void 0;
|
|
3
|
+
};
|
|
4
|
+
export default function (value) {
|
|
5
|
+
let res = emptyFn;
|
|
6
|
+
let rej = emptyFn;
|
|
7
|
+
const promise = new Promise((resolve, reject) => {
|
|
8
|
+
res = resolve;
|
|
9
|
+
rej = reject;
|
|
10
|
+
});
|
|
11
|
+
return {
|
|
12
|
+
promise,
|
|
13
|
+
resolve: res,
|
|
14
|
+
reject: rej,
|
|
15
|
+
inputValue: value,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event name dispatched when the Pulse Tracker instance is ready.
|
|
3
|
+
* It includes the "pulse:" namespace to avoid potential conflicts with other libraries.
|
|
4
|
+
*/
|
|
5
|
+
const PULSE_TRACKER_READY_EVENT = 'pulse:tracker:ready';
|
|
6
|
+
/**
|
|
7
|
+
* Flags whether the code is running in a browser environment.
|
|
8
|
+
* Required to safely access the `window` object.
|
|
9
|
+
* @privateRemarks
|
|
10
|
+
* Reimplemented here to avoid dependencies on other parts of the SDK.
|
|
11
|
+
*/
|
|
12
|
+
const isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
|
|
13
|
+
/**
|
|
14
|
+
* Timeout for getting the Pulse Tracker instance.
|
|
15
|
+
* Arbitrarily defined to avoid hanging indefinitely, which would be a sign of misconfiguration.
|
|
16
|
+
*/
|
|
17
|
+
const GET_PULSE_TRACKER_TIMEOUT_MS = 3000;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the singleton Pulse Tracker instance.
|
|
20
|
+
* @throws - If the Pulse Tracker creation did not resolve within the timeout limit.
|
|
21
|
+
* @throws - If called outside a browser environment.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
*
|
|
25
|
+
* ```ts
|
|
26
|
+
* import { getPulseTracker, type Tracker } from '@schibsted/pulse-sdk-js';
|
|
27
|
+
*
|
|
28
|
+
* let pulseTracker: Promise<Tracker>;
|
|
29
|
+
*
|
|
30
|
+
* try {
|
|
31
|
+
* pulseTracker = await getPulseTracker();
|
|
32
|
+
* } catch(error) {
|
|
33
|
+
* // not in browser environment
|
|
34
|
+
* // or
|
|
35
|
+
* // tracker not resolved within time limit
|
|
36
|
+
* }
|
|
37
|
+
*
|
|
38
|
+
* if (pulseTracker) {
|
|
39
|
+
* pulseTracker.trackViewPage({ ... });
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export async function getPulseTracker() {
|
|
44
|
+
if (!isBrowser) {
|
|
45
|
+
throw new Error('getPulseTracker is only available in browser environments');
|
|
46
|
+
}
|
|
47
|
+
const singleton = window.__pulseTracker;
|
|
48
|
+
if (!(singleton instanceof Promise)) {
|
|
49
|
+
return new Promise((resolve, reject) => {
|
|
50
|
+
let timeoutId;
|
|
51
|
+
function trackerReadyHandler(event) {
|
|
52
|
+
clearTimeout(timeoutId);
|
|
53
|
+
window.removeEventListener(PULSE_TRACKER_READY_EVENT, trackerReadyHandler);
|
|
54
|
+
resolve(event.detail.payload.tracker);
|
|
55
|
+
}
|
|
56
|
+
timeoutId = setTimeout(() => {
|
|
57
|
+
window.removeEventListener(PULSE_TRACKER_READY_EVENT, trackerReadyHandler);
|
|
58
|
+
reject(new Error(`Pulse Tracker did not resolve within ${GET_PULSE_TRACKER_TIMEOUT_MS}ms`));
|
|
59
|
+
}, GET_PULSE_TRACKER_TIMEOUT_MS);
|
|
60
|
+
window.addEventListener(PULSE_TRACKER_READY_EVENT, trackerReadyHandler);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return Promise.race([
|
|
64
|
+
singleton,
|
|
65
|
+
new Promise((_, reject) => {
|
|
66
|
+
setTimeout(() => {
|
|
67
|
+
reject(new Error(`Pulse Tracker did not resolve within ${GET_PULSE_TRACKER_TIMEOUT_MS}ms`));
|
|
68
|
+
}, GET_PULSE_TRACKER_TIMEOUT_MS);
|
|
69
|
+
}),
|
|
70
|
+
]);
|
|
71
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { evaluateAndFlatten } from '@schibsted/pulse-utils';
|
|
2
|
+
import { isActorInput } from '../builders/actor';
|
|
3
|
+
import warnOnce from '../warnOnce';
|
|
4
|
+
/**
|
|
5
|
+
* @internal exported for testing
|
|
6
|
+
*/
|
|
7
|
+
export const WARN_CIS_SYNC_LOGIN_UNDEFINED = 'Cis sync initiated with no actor builder and no event available. If you do not use a login system, please indicate' +
|
|
8
|
+
' this using tracker.update({ actor: undefined }), otherwise do tracker.update({ actor: somePromise }) with a' +
|
|
9
|
+
' promise that resolves to the login state.';
|
|
10
|
+
/**
|
|
11
|
+
* Get the actor id (userId) from the current browser. A promise is returned
|
|
12
|
+
* because a call may be made to complete the login process.
|
|
13
|
+
*
|
|
14
|
+
* *Note*: This method will return a Promise that is always rejected on node
|
|
15
|
+
environments.
|
|
16
|
+
@category Identifiers
|
|
17
|
+
*/
|
|
18
|
+
const getUserId = async (builders) => {
|
|
19
|
+
const { id } = await getActor(builders);
|
|
20
|
+
return id;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* @category Identifiers
|
|
24
|
+
*/
|
|
25
|
+
const getActor = async (builders) => {
|
|
26
|
+
return await evaluateActor(builders);
|
|
27
|
+
};
|
|
28
|
+
const userIsLoggedIn = async (builders) => {
|
|
29
|
+
const actor = await getActor(builders);
|
|
30
|
+
return !!actor?.id;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Evaluate actor input given to the sdk/this method and pass it through the
|
|
34
|
+
* Actor event formatter.
|
|
35
|
+
* @category Tracker
|
|
36
|
+
* @private
|
|
37
|
+
*/
|
|
38
|
+
const evaluateActor = async (eventInput = {}, builders = {}) => {
|
|
39
|
+
if (isActorInput(eventInput) || isActorInput(builders)) {
|
|
40
|
+
const evaluatedActor = await evaluateAndFlatten(eventInput.actor || builders.actor);
|
|
41
|
+
if (evaluatedActor) {
|
|
42
|
+
return evaluatedActor;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// We allow an empty actor object, because it is a sign that the application is not setting nor updating Actor correctly.
|
|
46
|
+
// Inferring "id: undefined" as a fallback would mask that bug.
|
|
47
|
+
// Hence, the warning below.
|
|
48
|
+
warnOnce('no-actor-builder-and-no-event-present', WARN_CIS_SYNC_LOGIN_UNDEFINED);
|
|
49
|
+
return {};
|
|
50
|
+
};
|
|
51
|
+
export { getUserId, getActor, userIsLoggedIn, evaluateActor };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { getActor } from './actor';
|
|
2
|
+
import { cisSync } from './cis';
|
|
3
|
+
/**
|
|
4
|
+
* Get the includeAdvertising flag, set on initialisation.
|
|
5
|
+
* @private
|
|
6
|
+
* @see constructor
|
|
7
|
+
* @category Identifiers
|
|
8
|
+
* @deprecated Advertising Identifiers methods will be removed in the next major version.
|
|
9
|
+
*/
|
|
10
|
+
const getIncludeAdvertising = (sdkState) => {
|
|
11
|
+
return sdkState.includeAdvertising;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Get the advertisement id (adId) from the current browser. A promise is returned
|
|
15
|
+
* because a CIS call is done to generate a new adId if no cookie is
|
|
16
|
+
* found.
|
|
17
|
+
*
|
|
18
|
+
* *Note*: This method will return a Promise that is always rejected on node
|
|
19
|
+
* environments.
|
|
20
|
+
* @category Identifiers
|
|
21
|
+
* @deprecated Advertising Identifiers methods will be removed in the next major version.
|
|
22
|
+
*/
|
|
23
|
+
const getAdId = async (builders, sdkState) => {
|
|
24
|
+
const { adId } = await cisSync({ actor: getActor(builders) }, builders, sdkState);
|
|
25
|
+
return adId;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Get the Advertisement Identifiers for a Vendor or all Vendors.
|
|
29
|
+
* @param builders
|
|
30
|
+
* @param sdkState
|
|
31
|
+
* @category Identifiers
|
|
32
|
+
* @deprecated Advertising Identifiers methods will be removed in the next major version.
|
|
33
|
+
*/
|
|
34
|
+
const getAdvertisingIdentifiers = async (builders, sdkState) => {
|
|
35
|
+
const { vendors } = sdkState;
|
|
36
|
+
if (!Array.isArray(vendors)) {
|
|
37
|
+
throw new Error("'vendors' given is not an array as expected");
|
|
38
|
+
}
|
|
39
|
+
const { adId, ppId } = await cisSync({ actor: getActor(builders) }, builders, sdkState);
|
|
40
|
+
const identifiers = {};
|
|
41
|
+
if (!ppId) {
|
|
42
|
+
return {};
|
|
43
|
+
}
|
|
44
|
+
for (const vendorName of vendors) {
|
|
45
|
+
const vendor = ppId[vendorName];
|
|
46
|
+
if (vendor) {
|
|
47
|
+
if (vendorName === 'xandr' && adId) {
|
|
48
|
+
identifiers[vendorName] = { ...vendor, adId };
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
identifiers[vendorName] = vendor;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return identifiers;
|
|
56
|
+
};
|
|
57
|
+
export { getAdId, getIncludeAdvertising, getAdvertisingIdentifiers };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { clearCookieJweIfStale, resetRefreshAfter, syncWithCis } from '@schibsted/pulse-cis-sync';
|
|
2
|
+
import version from '../version.json';
|
|
3
|
+
import { evaluateActor } from './actor';
|
|
4
|
+
const requireCisSyncCallForAdvertisingIds = () => {
|
|
5
|
+
resetRefreshAfter(new Date());
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Sync our ids with cis given the userId from the event or builders.
|
|
9
|
+
* @param data the event parameters (the data passed to `.track()`),
|
|
10
|
+
* if called in a context where an event is being sent.
|
|
11
|
+
*
|
|
12
|
+
* @param builders
|
|
13
|
+
* @param config
|
|
14
|
+
* @returns the parsed pulse cookie after syncing with cis.
|
|
15
|
+
* @category Identifiers
|
|
16
|
+
*/
|
|
17
|
+
const cisSync = async (data, builders, config) => {
|
|
18
|
+
// At this point, neither this.builders nor data have been
|
|
19
|
+
// evaluated through evaluateAndFlatten (this happens in `.track`),
|
|
20
|
+
// so in the rare and weird case where `.actor` is a function or
|
|
21
|
+
// a promise, or contains functions or promises, we will evaluate
|
|
22
|
+
// these twice.
|
|
23
|
+
// Note that this evaluation isn't 100% correct in that it ignores
|
|
24
|
+
// things like eventDefaults, doesn't call the event builder associated
|
|
25
|
+
// with the event type etc., but this shouldn't affect `.actor.{id,realm}`
|
|
26
|
+
// in cases I can imagine (of course, my imagination is limited)
|
|
27
|
+
//
|
|
28
|
+
// we need an event, or at least this.builders.actor
|
|
29
|
+
// to know the correct login/logout state for the user.
|
|
30
|
+
// In some implementations (video plugin) the client will
|
|
31
|
+
// populate the full event only on `.track` and not ever
|
|
32
|
+
// call `.update(...)` with the login status.
|
|
33
|
+
// Arguably this is incorrect, and `.update(...)` should be
|
|
34
|
+
// called when login state changes, but we try to make
|
|
35
|
+
// the API as fail-proof as possibly by handling the situation
|
|
36
|
+
// here.
|
|
37
|
+
//
|
|
38
|
+
// However, we do cis syncs without access to an event, so
|
|
39
|
+
// for this case, we need to just reuse the userId from the existing
|
|
40
|
+
// _pulse2data cookie, or just not do the sync.
|
|
41
|
+
//
|
|
42
|
+
const actorPromise = evaluateActor(data, builders);
|
|
43
|
+
const { cisBaseUrl, cisEnabled, includeAdvertising: includeAdvertisingPromise, isHybrid, nativeJwe, providerId, trackerId, vendors, } = config || {};
|
|
44
|
+
const [includeAdvertising, actor] = await Promise.all([includeAdvertisingPromise, actorPromise]);
|
|
45
|
+
const { id, realm } = actor;
|
|
46
|
+
if (cisEnabled) {
|
|
47
|
+
// @ts-expect-error
|
|
48
|
+
return syncWithCis(
|
|
49
|
+
// @ts-expect-error
|
|
50
|
+
id, nativeJwe, cisBaseUrl, realm, providerId, isHybrid ? 'Hybrid' : 'Web', version.SDK_VERSION, {
|
|
51
|
+
includeAdvertising,
|
|
52
|
+
vendors,
|
|
53
|
+
trackerId,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return { doTracking: true };
|
|
57
|
+
};
|
|
58
|
+
export { clearCookieJweIfStale, cisSync, requireCisSyncCallForAdvertisingIds };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getActor } from './actor';
|
|
2
|
+
import { cisSync } from './cis';
|
|
3
|
+
/**
|
|
4
|
+
* Get the environment id from the current browser. A promise is returned
|
|
5
|
+
* because a CIS call is done to generate a new environmentId if no cookie is
|
|
6
|
+
* found.
|
|
7
|
+
*
|
|
8
|
+
* *Note*: This method will return a Promise that is always rejected on node
|
|
9
|
+
* environments.
|
|
10
|
+
* @category Identifiers
|
|
11
|
+
*/
|
|
12
|
+
const getEnvironmentId = async (builders, sdkState) => {
|
|
13
|
+
const actor = await getActor(builders);
|
|
14
|
+
const { environmentId } = await cisSync({ actor }, builders, sdkState);
|
|
15
|
+
return environmentId;
|
|
16
|
+
};
|
|
17
|
+
export { getEnvironmentId };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import T from './Tracker';
|
|
2
|
+
export default T;
|
|
3
|
+
export * as EventBuilders from './builders';
|
|
4
|
+
export * from './Tracker';
|
|
5
|
+
export { T as Tracker };
|
|
6
|
+
export * from '@schibsted/tpaas-schemas';
|
|
7
|
+
export { createPulseTracker } from './createPulseTracker';
|
|
8
|
+
export { getPulseTracker } from './getPulseTracker';
|
|
9
|
+
export { subscribe, subscribeOnce, subscribeWithState, unsubscribe } from './Tracker';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const LEAVE_EVENT_TYPE = 'Leave';
|
|
2
|
+
export const DEFAULT_ACTIVITY_DURATION = () => ({
|
|
3
|
+
value: 0,
|
|
4
|
+
interval: undefined,
|
|
5
|
+
timeSinceLastActivity: 0,
|
|
6
|
+
});
|
|
7
|
+
export const DEFAULT_VIEWED_CONTENT = () => ({
|
|
8
|
+
objectViewPercentage: 0,
|
|
9
|
+
maxObjectViewPercentage: 0,
|
|
10
|
+
pageViewPercentage: 0,
|
|
11
|
+
maxPageViewPercentage: 0,
|
|
12
|
+
pageScrollPosition: 0,
|
|
13
|
+
maxPageScrollPosition: 0,
|
|
14
|
+
});
|
|
15
|
+
export const DEFAULT_PAGE_LEAVE_EVENT = () => ({
|
|
16
|
+
type: LEAVE_EVENT_TYPE,
|
|
17
|
+
engagement: DEFAULT_VIEWED_CONTENT(),
|
|
18
|
+
});
|
|
19
|
+
export const DEFAULT_LEAVE_EVENT_BUILDER = () => () => ({});
|