posthog-helper
Version:
A lightweight posthog wrapper for managing A/B test variations and feature flags
1 lines • 1.22 kB
JavaScript
!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.posthogHelper=o():e.posthogHelper=o()}(self,(()=>(()=>{"use strict";var e={d:(o,t)=>{for(var r in t)e.o(t,r)&&!e.o(o,r)&&Object.defineProperty(o,r,{enumerable:!0,get:t[r]})},o:(e,o)=>Object.prototype.hasOwnProperty.call(e,o),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};e.r(o),e.d(o,{applyUpdates:()=>t,applyVariantConfig:()=>r,evaluateTestGroup:()=>n,getQueryParamByKey:()=>a});const t=(e,o)=>{document.querySelectorAll(e).forEach((e=>{Object.entries(o).forEach((([o,t])=>{"object"!=typeof t||Array.isArray(t)?e[o]=t:Object.entries(t).forEach((([t,r])=>{e[o][t]=r}))}))}))},r=(e,o)=>{e[o].forEach((({selector:e,updates:o})=>{t(e,o)})),console.log(o,"activated")},a=e=>new URLSearchParams(window.location.search).get(e),n=(e,o)=>{let t=a(o);t?r(e,t):posthog.onFeatureFlags((()=>{let t=posthog.getFeatureFlag(o);e.hasOwnProperty(t)?r(e,t):(console.log("Test not started yet, showing control."),r(e,"control"))}))};return o})()));