@uniformdev/optimize-tracker-react
Advanced tools
Comparing version 13.0.0 to 13.0.1-alpha.70
@@ -1,1 +0,1 @@ | ||
import{useContext as Z}from"react";import{createContext as B}from"react";var L=B({}),E=B({personalized:!1});var c=()=>Z(L);import{useEffect as N,useContext as ee,useState as te}from"react";import{getBehaviorIntents as oe}from"@uniformdev/optimize-common";var M=typeof window=="undefined";var ne=0,He=(e,n)=>{let{personalized:r}=ee(E)||n||{},[l]=te(ne++),{tracker:m,loading:o}=c();N(()=>{if(!M&&!r&&e&&m&&!o){let t=oe(e);m.addBehaviorActivity(t,l.toString())}},[m,o,r,e])};import J from"react";import V,{createElement as de,useMemo as fe,useState as ce}from"react";import{AnalyticsEmitter as Te,personalizeList as ge}from"@uniformdev/optimize-tracker";import{useCallback as ae,useEffect as le,useRef as me,useState as ue}from"react";import{useCallback as re,useEffect as ie,useRef as se}from"react";function I(){let e=se(!1),n=re(()=>e.current,[]);return ie(()=>(e.current=!0,()=>{e.current=!1}),[]),n}function U(e,n=[]){let[r,l]=pe(e,n,{loading:!0});return le(()=>{l()},[l]),r}function pe(e,n=[],r={loading:!1}){let l=me(0),m=I(),[o,t]=ue(r),a=ae((...s)=>{let i=++l.current;return o.loading||t(p=>({...p,loading:!0})),e(...s).then(p=>(m()&&i===l.current&&t({value:p,loading:!1}),p),p=>(m()&&i===l.current&&t({error:p,loading:!1}),p))},n);return[o,a]}var v="<Personalize>";function w({variations:e,component:n,wrapperComponent:r,fallbackSort:l,count:m=1,matchFilter:o="personalizedOrDefault",trackingEventName:t,loadingMode:a}){let{tracker:s,intentScores:i,loading:p}=c(),[d,f]=ce(),{value:y}=U(async()=>s==null?void 0:s.isInPersonalizationControlGroup(),[s]),C=fe(()=>{if((typeof y=="undefined"||!i)&&!(!a||a==="default"))return;let S=i&&t&&!d?Te({name:t,tracker:s}):void 0;S&&f(!0);let h=ge({list:e,intentScores:i!=null?i:{},fallbackSort:l,analyticsEmitter:S,isInPersonalizationControlGroup:y,count:m,matchFilter:o});return{personalized:h.personalized,result:h.result,intentScores:h.intentScores}},[e,i,o,y]);if(!C&&a&&typeof a!="string")return de(a);if((p||!C)&&a==="none")return null;let{result:z,personalized:x}=C;if(s==null||s.log({level:"verbose",message:"Personalization result",region:v,trackingEventName:t,result:z,personalized:x}),process.env.NODE_ENV==="development"){if(e.length===0&&(s==null||s.log({level:"warn",region:v,message:`Personalization ${t!=null?t:""} was not passed any variations, so nothing will be rendered`})),e.length){let u=e.filter(S=>!S.intentTag);u.length===e.length&&(s==null||s.log({level:"warn",region:v,message:`Personalization ${t!=null?t:""} received ${e.length} variations but all of them were default variations. No personalization will occur. Ensure that your personalized variations contain the \`intentTag\` property, this could be a data mapping problem.`})),m<u.length&&(s==null||s.log({level:"warn",region:v,message:`Personalization ${t!=null?t:""} received ${u.length} default variations, but only ${m} variations will be selected. The extra defaults will be ignored and probably should be removed.`}))}e.length&&z.length===0&&(o==="personalizedOnly"&&(s==null||s.log({level:"warn",region:v,message:`Personalization ${t!=null?t:""} did not render any variation: no match to visitor intents and matchFilter is personalizedOnly`})),o==="personalizedOrDefault"&&(s==null||s.log({level:"warn",region:"<Personalize>",message:`Personalization ${t!=null?t:""} did not render any variation: no match to visitor intents and no default exists`})))}let b=r!=null?r:({children:u})=>V.createElement(V.Fragment,null,u),A=n;return V.createElement(E.Provider,{value:{personalized:!0}},z.length?V.createElement(b,{personalizationOccurred:x},z.map((u,S)=>V.createElement(A,{key:S,personalizationResult:{variation:u,personalizationOccurred:x},...u.item}))):null)}import{ScriptType as O}from"@uniformdev/optimize-tracker-common";import g from"react";import{EdgeNodeTagName as ye}from"@uniformdev/optimize-tracker-common";import{createElement as Pe}from"react";var T=e=>Pe(ye,e);function H(e){let{variations:n,count:r,matchFilter:l,component:m}=e,o={count:r!=null?r:1,matchFilter:l},t=m;return g.createElement(w,{...e,count:n.length,matchFilter:"any",wrapperComponent:({children:a})=>g.createElement(g.Fragment,null,g.createElement(T,{"data-type":O.ListStart,dangerouslySetInnerHTML:{__html:JSON.stringify(o)}}),a,g.createElement(T,{"data-type":O.ListEnd})),component:a=>g.createElement(g.Fragment,null,g.createElement(T,{"data-type":O.ListItemSettings,dangerouslySetInnerHTML:{__html:JSON.stringify({intentTag:a.intentTag})}}),g.createElement(T,{"data-type":O.ListItem},g.createElement(t,{...a})))})}function xt(e){let{outputType:n}=c();return typeof window!="undefined"||n==="standard"?J.createElement(w,{...e}):n==="edge"?J.createElement(H,{...e}):null}import q from"react";import{ScriptType as R}from"@uniformdev/optimize-tracker-common";import P from"react";function W(e){let{name:n,variations:r,component:l}=e,m={name:n},o=l;return P.createElement(P.Fragment,null,P.createElement(T,{"data-type":R.TestStart,dangerouslySetInnerHTML:{__html:JSON.stringify(m)}}),r.map((t,a)=>P.createElement(P.Fragment,null,P.createElement(T,{"data-type":R.ListItemSettings,dangerouslySetInnerHTML:{__html:JSON.stringify({id:t.id})}}),P.createElement(T,{"data-type":R.ListItem},P.createElement(o,{key:a,...t})))),P.createElement(T,{"data-type":R.TestEnd}))}import{generateRandom as ze,resolveAnalyticsEmitter as xe,testList as Se}from"@uniformdev/optimize-tracker";import Ce,{createElement as he,useMemo as G,useState as K}from"react";var j=({name:e,variations:n,loadingMode:r,component:l,random:m})=>{var C,z;let{tracker:o,serverState:t}=c(),a=(C=t==null?void 0:t.tests)==null?void 0:C[e],[s,i]=K(),[p]=K(m||ze()),d=G(()=>!o&&a?!0:o?o.isTestEnabled(e):void 0,[o]),f=U(async()=>!o&&a?{variant:a,loaded:!1}:o&&!d?{loaded:!0}:o&&d?{variant:await o.getTestValue(e),loaded:!0}:{loaded:!1},[o,d]),y=G(()=>{var h,_,$;if(!o&&a){let k=n.find(D=>D.id===a);if(k)return k}let x=!r||r==="default";if(!((h=f==null?void 0:f.value)==null?void 0:h.loaded)&&!x)return;let b=!!o,A=xe({active:!s&&!!d&&b,options:{name:"",tracker:o}}),u;if(!b||typeof window=="undefined")u=n[0];else{let{result:k,tracked:D}=Se({testName:e,random:p,variations:n,selectedVariantId:a||((_=f.value)==null?void 0:_.variant),analyticsEmitter:A});u=k,D&&i(!0)}return(($=f.value)==null?void 0:$.loaded)&&d&&b&&o.setTestValue(e,(u==null?void 0:u.id)||"undefined"),u},[o,d,f]);return((z=f.value)==null?void 0:z.loaded)&&!d?(o==null||o.log({level:"warn",message:`Test '${e}' is not registered with the tracker, the test is disabled.`,region:"<Test>"}),null):y?Ce.createElement(l,{...y}):r&&typeof r!="string"?he(r):null};var Bt=e=>{let{outputType:n}=c();return typeof window!="undefined"||n==="standard"?q.createElement(j,{...e}):n==="edge"?q.createElement(W,{...e}):null};import F,{useCallback as ve,useEffect as X,useState as ke}from"react";import{useEffect as be,useState as Ve}from"react";var Q=(e,n)=>{let r=I(),[l,m]=Ve({tracker:null,loading:!0});return be(()=>{l.loading||m({tracker:null,loading:!0}),e.initialize().then(()=>{!r||m({loading:!1,tracker:e})})},[e,n]),n?[e,!1]:[l.tracker,l.loading]};var Le=e=>{let{callback:n,flag:r}=e;return X(()=>{n()},Array.isArray(r)?r:[r]),F.createElement(F.Fragment,null)},qt=({trackerInstance:e,children:n,isServer:r=typeof window=="undefined",initialIntentScores:l,outputType:m="standard"})=>{let o=(e==null?void 0:e.getServerState())||{scoring:void 0},t=l||o.scoring;(!t||!Object.keys(t).length)&&(t=void 0);let[a,s]=ke(t||null),[i,p]=Q(e,r),d=y=>{i==null||i.log({level:"info",message:"Received broadcasted scoring",region:"<UniformTracker>",vector:y}),s(y)};X(()=>{if(!p)return i==null||i.addScoringChangeListener(d),()=>{i==null||i.removeScoringChangeListener(d)}},[p]);let f=ve(()=>{i==null||i.reevaluateSignals()},[i]);return F.createElement(L.Provider,{value:{tracker:i,loading:p,intentScores:a,serverState:o,outputType:m}},n,(i==null?void 0:i.isInitialized())?F.createElement(Le,{callback:f,flag:[n,i]}):null)};export{xt as Personalize,Bt as Test,qt as UniformTracker,He as useBehaviorTracking,c as useUniformTracker}; | ||
import{useContext as ee}from"react";import{createContext as H}from"react";var I=H({}),U=H({personalized:!1});var g=()=>ee(I);import{useEffect as te,useContext as oe,useState as ne}from"react";import{getBehaviorIntents as re}from"@uniformdev/optimize-common";var J=typeof window=="undefined";var ie=0,We=(e,n)=>{let{personalized:r}=oe(U)||n||{},[l]=ne(ie++),{tracker:m,loading:o}=g();te(()=>{if(!J&&!r&&e&&m&&!o){let t=re(e);m.addBehaviorActivity(t,l.toString())}},[m,o,r,e])};import G from"react";import k,{createElement as ce,useMemo as Te,useState as ge}from"react";import{AnalyticsEmitter as ye,personalizeList as Pe}from"@uniformdev/optimize-tracker";import{useCallback as me,useEffect as ue,useRef as pe,useState as de}from"react";import{useCallback as se,useEffect as ae,useRef as le}from"react";function w(){let e=le(!1),n=se(()=>e.current,[]);return ae(()=>(e.current=!0,()=>{e.current=!1}),[]),n}function O(e,n=[]){let[r,l]=fe(e,n,{loading:!0});return ue(()=>{l()},[l]),r}function fe(e,n=[],r={loading:!1}){let l=pe(0),m=w(),[o,t]=de(r),a=me((...s)=>{let i=++l.current;return o.loading||t(p=>({...p,loading:!0})),e(...s).then(p=>(m()&&i===l.current&&t({value:p,loading:!1}),p),p=>(m()&&i===l.current&&t({error:p,loading:!1}),p))},n);return[o,a]}var L="<Personalize>";function R({variations:e,component:n,wrapperComponent:r,fallbackSort:l,count:m=1,matchFilter:o="personalizedOrDefault",trackingEventName:t,loadingMode:a}){let{tracker:s,intentScores:i,loading:p}=g(),[c,T]=ge(),{value:z}=O(async()=>s==null?void 0:s.isInPersonalizationControlGroup(),[s]),b=Te(()=>{if((typeof z=="undefined"||!i)&&!(!a||a==="default"))return;let h=i&&t&&!c?ye({name:t,tracker:s}):void 0;h&&T(!0);let V=Pe({list:e,intentScores:i!=null?i:{},fallbackSort:l,analyticsEmitter:h,isInPersonalizationControlGroup:z,count:m,matchFilter:o});return{personalized:V.personalized,result:V.result,intentScores:V.intentScores}},[e,i,o,z]);if(!b&&a&&typeof a!="string")return ce(a);if((p||!b)&&a==="none")return null;let{result:S,personalized:C}=b;if(s==null||s.log({level:"verbose",message:"Personalization result",region:L,trackingEventName:t,result:S,personalized:C}),process.env.NODE_ENV==="development"){if(e.length===0&&(s==null||s.log({level:"warn",region:L,message:`Personalization ${t!=null?t:""} was not passed any variations, so nothing will be rendered`})),e.length){let u=e.filter(h=>!h.intentTag);u.length===e.length&&(s==null||s.log({level:"warn",region:L,message:`Personalization ${t!=null?t:""} received ${e.length} variations but all of them were default variations. No personalization will occur. Ensure that your personalized variations contain the \`intentTag\` property, this could be a data mapping problem.`})),m<u.length&&(s==null||s.log({level:"warn",region:L,message:`Personalization ${t!=null?t:""} received ${u.length} default variations, but only ${m} variations will be selected. The extra defaults will be ignored and probably should be removed.`}))}e.length&&S.length===0&&(o==="personalizedOnly"&&(s==null||s.log({level:"warn",region:L,message:`Personalization ${t!=null?t:""} did not render any variation: no match to visitor intents and matchFilter is personalizedOnly`})),o==="personalizedOrDefault"&&(s==null||s.log({level:"warn",region:"<Personalize>",message:`Personalization ${t!=null?t:""} did not render any variation: no match to visitor intents and no default exists`})))}let v=r!=null?r:({children:u})=>k.createElement(k.Fragment,null,u),_=n;return k.createElement(U.Provider,{value:{personalized:!0}},S.length?k.createElement(v,{personalizationOccurred:C},S.map((u,h)=>k.createElement(_,{key:h,personalizationResult:{variation:u,personalizationOccurred:C},...u.item}))):null)}import{ScriptType as F}from"@uniformdev/optimize-tracker-common";import P from"react";import{EdgeNodeTagName as ze}from"@uniformdev/optimize-tracker-common";import{createElement as xe}from"react";var y=e=>xe(ze,e);function W(e){let{variations:n,count:r,matchFilter:l,component:m}=e,o={count:r!=null?r:1,matchFilter:l},t=m;return P.createElement(R,{...e,count:n.length,matchFilter:"any",wrapperComponent:({children:a})=>P.createElement(P.Fragment,null,P.createElement(y,{"data-type":F.ListStart,dangerouslySetInnerHTML:{__html:JSON.stringify(o)}}),a,P.createElement(y,{"data-type":F.ListEnd})),component:a=>P.createElement(P.Fragment,null,P.createElement(y,{"data-type":F.ListItemSettings,dangerouslySetInnerHTML:{__html:JSON.stringify({intentTag:a.intentTag})}}),P.createElement(y,{"data-type":F.ListItem},P.createElement(t,{...a})))})}function Ct(e){let{outputType:n}=g();return typeof window!="undefined"||n==="standard"?G.createElement(R,{...e}):n==="edge"?G.createElement(W,{...e}):null}import X from"react";import{ScriptType as A}from"@uniformdev/optimize-tracker-common";import x from"react";function K(e){let{name:n,variations:r,component:l}=e,m={name:n},o=l;return x.createElement(x.Fragment,null,x.createElement(y,{"data-type":A.TestStart,dangerouslySetInnerHTML:{__html:JSON.stringify(m)}}),r.map((t,a)=>x.createElement(x.Fragment,null,x.createElement(y,{"data-type":A.ListItemSettings,dangerouslySetInnerHTML:{__html:JSON.stringify({id:t.id})}}),x.createElement(y,{"data-type":A.ListItem},x.createElement(o,{key:a,...t})))),x.createElement(y,{"data-type":A.TestEnd}))}import{generateRandom as Se,resolveAnalyticsEmitter as Ce,testList as he}from"@uniformdev/optimize-tracker";import be,{createElement as Ve,useMemo as j,useState as q}from"react";var Q=({name:e,variations:n,loadingMode:r,component:l,random:m})=>{var b,S;let{tracker:o,serverState:t}=g(),a=(b=t==null?void 0:t.tests)==null?void 0:b[e],[s,i]=q(),[p]=q(m||Se()),c=j(()=>!o&&a?!0:o?o.isTestEnabled(e):void 0,[o]),T=O(async()=>!o&&a?{variant:a,loaded:!1}:o&&!c?{loaded:!0}:o&&c?{variant:await o.getTestValue(e),loaded:!0}:{loaded:!1},[o,c]),z=j(()=>{var V,B,M;if(!o&&a){let E=n.find($=>$.id===a);if(E)return E}let C=!r||r==="default";if(!((V=T==null?void 0:T.value)==null?void 0:V.loaded)&&!C)return;let v=!!o,_=Ce({active:!s&&!!c&&v,options:{name:"",tracker:o}}),u;if(!v||typeof window=="undefined")u=n[0];else{let{result:E,tracked:$}=he({testName:e,random:p,variations:n,selectedVariantId:a||((B=T.value)==null?void 0:B.variant),analyticsEmitter:_});u=E,$&&i(!0)}return((M=T.value)==null?void 0:M.loaded)&&c&&v&&o.setTestValue(e,(u==null?void 0:u.id)||"undefined"),u},[o,c,T]);return((S=T.value)==null?void 0:S.loaded)&&!c?(o==null||o.log({level:"warn",message:`Test '${e}' is not registered with the tracker, the test is disabled.`,region:"<Test>"}),null):z?be.createElement(l,{...z}):r&&typeof r!="string"?Ve(r):null};var Ht=e=>{let{outputType:n}=g();return typeof window!="undefined"||n==="standard"?X.createElement(Q,{...e}):n==="edge"?X.createElement(K,{...e}):null};import D,{useCallback as Le,useEffect as Z,useState as Ee}from"react";import{useEffect as ve,useState as ke}from"react";var Y=(e,n)=>{let r=w(),[l,m]=ke({tracker:null,loading:!0});return ve(()=>{l.loading||m({tracker:null,loading:!0}),e.initialize().then(()=>{!r||m({loading:!1,tracker:e})})},[e,n]),n?[e,!1]:[l.tracker,l.loading]};var Ie=e=>{let{callback:n,flag:r}=e;return Z(()=>{n()},Array.isArray(r)?r:[r]),D.createElement(D.Fragment,null)},Xt=({trackerInstance:e,children:n,isServer:r=typeof window=="undefined",initialIntentScores:l,outputType:m="standard"})=>{let o=(e==null?void 0:e.getServerState())||{scoring:void 0},t=l||o.scoring;(!t||!Object.keys(t).length)&&(t=void 0);let[a,s]=Ee(t||null),[i,p]=Y(e,r),c=z=>{i==null||i.log({level:"info",message:"Received broadcasted scoring",region:"<UniformTracker>",vector:z}),s(z)};Z(()=>{if(!p)return i==null||i.addScoringChangeListener(c),()=>{i==null||i.removeScoringChangeListener(c)}},[p]);let T=Le(()=>{i==null||i.reevaluateSignals()},[i]);return D.createElement(I.Provider,{value:{tracker:i,loading:p,intentScores:a,serverState:o,outputType:m}},n,(i==null?void 0:i.isInitialized())?D.createElement(Ie,{callback:T,flag:[n,i]}):null)};export{Ct as Personalize,Ht as Test,Xt as UniformTracker,We as useBehaviorTracking,g as useUniformTracker}; |
{ | ||
"name": "@uniformdev/optimize-tracker-react", | ||
"version": "13.0.0", | ||
"version": "13.0.1-alpha.70+21cf4ced", | ||
"description": "Uniform Optimize tracker bindings for React", | ||
@@ -28,6 +28,6 @@ "license": "SEE LICENSE IN LICENSE.txt", | ||
"dependencies": { | ||
"@uniformdev/optimize-common": "^13.0.0", | ||
"@uniformdev/optimize-tracker": "^13.0.0", | ||
"@uniformdev/optimize-tracker-browser": "^13.0.0", | ||
"@uniformdev/optimize-tracker-common": "^13.0.0" | ||
"@uniformdev/optimize-common": "^13.0.1-alpha.70+21cf4ced", | ||
"@uniformdev/optimize-tracker": "^13.0.1-alpha.70+21cf4ced", | ||
"@uniformdev/optimize-tracker-browser": "^13.0.1-alpha.70+21cf4ced", | ||
"@uniformdev/optimize-tracker-common": "^13.0.1-alpha.70+21cf4ced" | ||
}, | ||
@@ -38,15 +38,15 @@ "peerDependencies": { | ||
"devDependencies": { | ||
"@testing-library/jest-dom": "5.14.1", | ||
"@testing-library/jest-dom": "5.16.1", | ||
"@testing-library/react": "12.1.2", | ||
"@types/jest": "27.0.3", | ||
"@types/node": "16.7.1", | ||
"eslint": "7.32.0", | ||
"@types/node": "16.11.12", | ||
"eslint": "8.4.1", | ||
"eslint-plugin-react": "7.27.1", | ||
"eslint-plugin-react-hooks": "4.3.0", | ||
"jest": "27.3.1", | ||
"jest": "27.4.4", | ||
"npm-run-all": "4.1.5", | ||
"react": "17.0.2", | ||
"rimraf": "3.0.2", | ||
"ts-jest": "27.0.7", | ||
"tsup": "5.7.2" | ||
"ts-jest": "27.1.1", | ||
"tsup": "5.11.1" | ||
}, | ||
@@ -59,3 +59,3 @@ "files": [ | ||
}, | ||
"gitHead": "7ca5b6971d631f339cfad85a7c3f415b01d22248" | ||
"gitHead": "21cf4cedab72c4bd29048c47d3a6a772d997985b" | ||
} |
Sorry, the diff of this file is not supported yet
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
31489
3
1
+ Added@uniformdev/optimize-common@13.0.1-alpha.83(transitive)
+ Added@uniformdev/optimize-tracker@13.0.1-alpha.83(transitive)
+ Added@uniformdev/optimize-tracker-browser@13.0.1-alpha.83(transitive)
+ Added@uniformdev/optimize-tracker-common@13.0.1-alpha.83(transitive)
+ Added@uniformdev/optimize-tracker-storage-indexeddb@13.0.1-alpha.83(transitive)
- Removed@uniformdev/optimize-common@13.0.0(transitive)
- Removed@uniformdev/optimize-tracker@13.0.0(transitive)
- Removed@uniformdev/optimize-tracker-browser@13.0.0(transitive)
- Removed@uniformdev/optimize-tracker-common@13.0.0(transitive)
- Removed@uniformdev/optimize-tracker-storage-indexeddb@13.0.0(transitive)
Updated@uniformdev/optimize-common@^13.0.1-alpha.70+21cf4ced
Updated@uniformdev/optimize-tracker@^13.0.1-alpha.70+21cf4ced
Updated@uniformdev/optimize-tracker-browser@^13.0.1-alpha.70+21cf4ced
Updated@uniformdev/optimize-tracker-common@^13.0.1-alpha.70+21cf4ced