launchdarkly-react-client-sdk
Advanced tools
Comparing version 3.3.1 to 3.3.2
@@ -1,2 +0,2 @@ | ||
"use strict";var e=require("react"),t=require("launchdarkly-js-client-sdk"),n=require("lodash.camelcase"),r=require("hoist-non-react-statics");function s(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var o=s(e);const i={useCamelCaseFlagKeys:!0,sendEventsOnFlagRead:!0},a=e.createContext({flags:{},flagKeyMap:{},ldClient:void 0}),{Provider:c,Consumer:l}=a,u=e=>e.context??e.user,p=e=>{const t={};for(const r in e)0!==r.indexOf("$")&&(t[n(r)]=e[r]);return t},f=(e,t)=>{const n={};for(const r in e)t&&void 0===t[r]||(n[r]=e[r].current);return n},d=(e,t)=>{const n=e.allFlags();return t?Object.keys(t).reduce(((e,r)=>(e[r]=Object.prototype.hasOwnProperty.call(n,r)?n[r]:t[r],e)),{}):n};function g(e,t,r=i,s){const o=function(e,t){if(void 0===t)return e;return Object.keys(t).reduce(((t,n)=>(h(e,n)&&(t[n]=e[n]),t)),{})}(t,s),{useCamelCaseFlagKeys:a=!0}=r,[c,l={}]=a?function(e){const t={},r={};for(const s in e){if(0===s.indexOf("$"))continue;const o=n(s);t[o]=e[s],r[o]=s}return[t,r]}(o):[o];return{flags:r.sendEventsOnFlagRead?y(e,c,l,a):c,flagKeyMap:l}}function h(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function y(e,t,n,r){return new Proxy(t,{get(t,s,o){const i=Reflect.get(t,s,o),a=r&&h(n,s)||h(t,s);if("symbol"==typeof s||!a)return i;if(void 0===i)return;const c=r?n[s]:s;return e.variation(c,i)}})}p.camelCaseKeys=p;const C={wrapperName:"react-client-sdk",wrapperVersion:"3.3.1",sendEventsOnlyForVariation:!0};class O extends e.Component{constructor(e){super(e),this.getReactOptions=()=>({...i,...this.props.reactOptions}),this.subscribeToChanges=e=>{const{flags:t}=this.props;e.on("change",(n=>{const r=this.getReactOptions(),s=f(n,t),o={...this.state.unproxiedFlags,...s};Object.keys(s).length>0&&this.setState((n=>({...n,unproxiedFlags:o,...g(e,o,r,t)})))}))},this.onFailed=(e,t)=>{this.setState((e=>({...e,error:t})))},this.onReady=(e,t,n)=>{const r=d(e,n);this.setState((s=>({...s,unproxiedFlags:r,...g(e,r,t,n)})))},this.prepareLDClient=async()=>{const{clientSideID:e,flags:n,options:r}=this.props;let s=await this.props.ldClient;const o=this.getReactOptions();let i,a=this.state.unproxiedFlags;if(s)a=d(s,n);else{const c=u(this.props)??{anonymous:!0,kind:"user"};s=t.initialize(e,c,{...C,...r});try{await s.waitForInitialization(this.props.timeout),a=d(s,n)}catch(e){i=e,i?.name.toLowerCase().includes("timeout")&&(s.on("failed",this.onFailed),s.on("ready",(()=>{this.onReady(s,o,n)})))}}this.setState((e=>({...e,unproxiedFlags:a,...g(s,a,o,n),ldClient:s,error:i}))),this.subscribeToChanges(s)};const{options:n}=e;if(this.state={flags:{},unproxiedFlags:{},flagKeyMap:{}},n){const{bootstrap:e}=n;if(e&&"localStorage"!==e){const{useCamelCaseFlagKeys:t}=this.getReactOptions();this.state={flags:t?p(e):e,unproxiedFlags:e,flagKeyMap:{}}}}}async componentDidMount(){const{deferInitialization:e}=this.props;e&&!u(this.props)||await this.prepareLDClient()}async componentDidUpdate(e){const{deferInitialization:t}=this.props,n=!u(e)&&u(this.props);t&&n&&await this.prepareLDClient()}render(){const{flags:t,flagKeyMap:n,ldClient:r,error:s}=this.state;return e.createElement(c,{value:{flags:t,flagKeyMap:n,ldClient:r,error:s}},this.props.children)}}exports.LDProvider=O,exports.asyncWithLDProvider=async function(n){const{clientSideID:r,flags:s,options:o,reactOptions:a}=n,l={...i,...a},p=u(n)??{anonymous:!0,kind:"user"};let h,y={};const O=t.initialize(r,p,{...C,...o});try{await O.waitForInitialization(n.timeout),y=d(O,s)}catch(e){h=e}const x=o?.bootstrap&&"localStorage"!==o.bootstrap?o.bootstrap:y;return({children:t})=>{const[n,r]=e.useState((()=>({unproxiedFlags:x,...g(O,x,l,s),ldClient:O,error:h})));e.useEffect((()=>{function e(e){const t=f(e,s);Object.keys(t).length>0&&r((e=>{const n={...e.unproxiedFlags,...t};return{...e,unproxiedFlags:n,...g(O,n,l,s)}}))}function t(){const e=d(O,s);r((t=>({...t,unproxiedFlags:e,...g(O,e,l,s)})))}function n(e){r((t=>({...t,error:e})))}return O.on("change",e),h?.name.toLowerCase().includes("timeout")&&(O.on("failed",n),O.on("ready",t)),function(){O.off("change",e),O.off("failed",n),O.off("ready",t)}}),[]);const{unproxiedFlags:o,...i}=n;return e.createElement(c,{value:i},t)}},exports.camelCaseKeys=p,exports.defaultReactOptions=i,exports.useFlags=()=>{const{flags:t}=e.useContext(a);return t},exports.useLDClient=()=>{const{ldClient:t}=e.useContext(a);return t},exports.useLDClientError=function(){const{error:t}=e.useContext(a);return t},exports.withLDConsumer=function(e={clientOnly:!1}){return function(t){return n=>o.createElement(l,null,(({flags:r,ldClient:s})=>e.clientOnly?o.createElement(t,{ldClient:s,...n}):o.createElement(t,{flags:r,ldClient:s,...n})))}},exports.withLDProvider=function(e){return function(t){const{reactOptions:n}=e,s={...i,...n},a={...e,reactOptions:s};function c(e){return o.createElement(O,{...a},o.createElement(t,{...e}))}return r(c,t),c}},Object.keys(t).forEach((function(e){"default"===e||Object.prototype.hasOwnProperty.call(exports,e)||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return t[e]}})})); | ||
"use strict";var e=require("react"),t=require("launchdarkly-js-client-sdk"),r=require("lodash.camelcase"),n=require("hoist-non-react-statics");function o(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=o(e);const i={useCamelCaseFlagKeys:!0,sendEventsOnFlagRead:!0},a=e.createContext({flags:{},flagKeyMap:{},ldClient:void 0}),{Provider:l,Consumer:c}=a,u=e=>{var t;return null!=(t=e.context)?t:e.user},p=e=>{const t={};for(const n in e)0!==n.indexOf("$")&&(t[r(n)]=e[n]);return t},f=(e,t)=>{const r={};for(const n in e)t&&void 0===t[n]||(r[n]=e[n].current);return r},d=(e,t)=>{const r=e.allFlags();return t?Object.keys(t).reduce(((e,n)=>(e[n]=Object.prototype.hasOwnProperty.call(r,n)?r[n]:t[n],e)),{}):r};function y(e,t,n=i,o){const s=function(e,t){if(void 0===t)return e;return Object.keys(t).reduce(((t,r)=>(h(e,r)&&(t[r]=e[r]),t)),{})}(t,o),{useCamelCaseFlagKeys:a=!0}=n,[l,c={}]=a?function(e){const t={},n={};for(const o in e){if(0===o.indexOf("$"))continue;const s=r(o);t[s]=e[o],n[s]=o}return[t,n]}(s):[s];return{flags:n.sendEventsOnFlagRead?O(e,l,c,a):l,flagKeyMap:c}}function h(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function O(e,t,r,n){return new Proxy(t,{get(t,o,s){const i=Reflect.get(t,o,s),a=n&&h(r,o)||h(t,o);if("symbol"==typeof o||!a)return i;if(void 0===i)return;const l=n?r[o]:o;return e.variation(l,i)}})}p.camelCaseKeys=p;const b={wrapperName:"react-client-sdk",wrapperVersion:"3.3.2",sendEventsOnlyForVariation:!0};var g=Object.defineProperty,v=Object.defineProperties,m=Object.getOwnPropertyDescriptors,x=Object.getOwnPropertySymbols,j=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable,P=(e,t,r)=>t in e?g(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,w=(e,t)=>{for(var r in t||(t={}))j.call(t,r)&&P(e,r,t[r]);if(x)for(var r of x(t))C.call(t,r)&&P(e,r,t[r]);return e},F=(e,t)=>v(e,m(t)),E=(e,t,r)=>new Promise(((n,o)=>{var s=e=>{try{a(r.next(e))}catch(e){o(e)}},i=e=>{try{a(r.throw(e))}catch(e){o(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,i);a((r=r.apply(e,t)).next())}));class D extends e.Component{constructor(e){super(e),this.getReactOptions=()=>w(w({},i),this.props.reactOptions),this.subscribeToChanges=e=>{const{flags:t}=this.props;e.on("change",(r=>{const n=this.getReactOptions(),o=f(r,t),s=w(w({},this.state.unproxiedFlags),o);Object.keys(o).length>0&&this.setState((r=>w(F(w({},r),{unproxiedFlags:s}),y(e,s,n,t))))}))},this.onFailed=(e,t)=>{this.setState((e=>F(w({},e),{error:t})))},this.onReady=(e,t,r)=>{const n=d(e,r);this.setState((o=>w(F(w({},o),{unproxiedFlags:n}),y(e,n,t,r))))},this.prepareLDClient=()=>E(this,null,(function*(){var e;const{clientSideID:r,flags:n,options:o}=this.props;let s=yield this.props.ldClient;const i=this.getReactOptions();let a,l=this.state.unproxiedFlags;if(s)l=d(s,n);else{const c=null!=(e=u(this.props))?e:{anonymous:!0,kind:"user"};s=t.initialize(r,c,w(w({},b),o));try{yield s.waitForInitialization(this.props.timeout),l=d(s,n)}catch(e){a=e,(null==a?void 0:a.name.toLowerCase().includes("timeout"))&&(s.on("failed",this.onFailed),s.on("ready",(()=>{this.onReady(s,i,n)})))}}this.setState((e=>F(w(F(w({},e),{unproxiedFlags:l}),y(s,l,i,n)),{ldClient:s,error:a}))),this.subscribeToChanges(s)}));const{options:r}=e;if(this.state={flags:{},unproxiedFlags:{},flagKeyMap:{}},r){const{bootstrap:e}=r;if(e&&"localStorage"!==e){const{useCamelCaseFlagKeys:t}=this.getReactOptions();this.state={flags:t?p(e):e,unproxiedFlags:e,flagKeyMap:{}}}}}componentDidMount(){return E(this,null,(function*(){const{deferInitialization:e}=this.props;e&&!u(this.props)||(yield this.prepareLDClient())}))}componentDidUpdate(e){return E(this,null,(function*(){const{deferInitialization:t}=this.props,r=!u(e)&&u(this.props);t&&r&&(yield this.prepareLDClient())}))}render(){const{flags:t,flagKeyMap:r,ldClient:n,error:o}=this.state;return e.createElement(l,{value:{flags:t,flagKeyMap:r,ldClient:n,error:o}},this.props.children)}}var S=Object.defineProperty,k=Object.defineProperties,K=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,I=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable,z=(e,t,r)=>t in e?S(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,M=(e,t)=>{for(var r in t||(t={}))I.call(t,r)&&z(e,r,t[r]);if(L)for(var r of L(t))R.call(t,r)&&z(e,r,t[r]);return e};var q=Object.defineProperty,T=Object.defineProperties,V=Object.getOwnPropertyDescriptors,$=Object.getOwnPropertySymbols,N=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,W=(e,t,r)=>t in e?q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,A=(e,t)=>{for(var r in t||(t={}))N.call(t,r)&&W(e,r,t[r]);if($)for(var r of $(t))U.call(t,r)&&W(e,r,t[r]);return e},B=(e,t)=>T(e,V(t));var G=Object.defineProperty,H=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,X=(e,t,r)=>t in e?G(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Y=(e,t)=>{for(var r in t||(t={}))J.call(t,r)&&X(e,r,t[r]);if(H)for(var r of H(t))Q.call(t,r)&&X(e,r,t[r]);return e};exports.LDProvider=D,exports.asyncWithLDProvider=function(r){return n=this,o=null,s=function*(){var n;const{clientSideID:o,flags:s,options:a,reactOptions:c}=r,p=A(A({},i),c),h=null!=(n=u(r))?n:{anonymous:!0,kind:"user"};let O,g={};const v=t.initialize(o,h,A(A({},b),a));try{yield v.waitForInitialization(r.timeout),g=d(v,s)}catch(e){O=e}const m=(null==a?void 0:a.bootstrap)&&"localStorage"!==a.bootstrap?a.bootstrap:g;return({children:t})=>{const[r,n]=e.useState((()=>B(A({unproxiedFlags:m},y(v,m,p,s)),{ldClient:v,error:O})));e.useEffect((()=>{function e(e){const t=f(e,s);Object.keys(t).length>0&&n((e=>{const r=A(A({},e.unproxiedFlags),t);return A(B(A({},e),{unproxiedFlags:r}),y(v,r,p,s))}))}function t(){const e=d(v,s);n((t=>A(B(A({},t),{unproxiedFlags:e}),y(v,e,p,s))))}function r(e){n((t=>B(A({},t),{error:e})))}return v.on("change",e),(null==O?void 0:O.name.toLowerCase().includes("timeout"))&&(v.on("failed",r),v.on("ready",t)),function(){v.off("change",e),v.off("failed",r),v.off("ready",t)}}),[]);const o=((e,t)=>{var r={};for(var n in e)N.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&$)for(var n of $(e))t.indexOf(n)<0&&U.call(e,n)&&(r[n]=e[n]);return r})(r,["unproxiedFlags"]);return e.createElement(l,{value:o},t)}},new Promise(((e,t)=>{var r=e=>{try{a(s.next(e))}catch(e){t(e)}},i=e=>{try{a(s.throw(e))}catch(e){t(e)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,i);a((s=s.apply(n,o)).next())}));var n,o,s},exports.camelCaseKeys=p,exports.defaultReactOptions=i,exports.useFlags=()=>{const{flags:t}=e.useContext(a);return t},exports.useLDClient=()=>{const{ldClient:t}=e.useContext(a);return t},exports.useLDClientError=function(){const{error:t}=e.useContext(a);return t},exports.withLDConsumer=function(e={clientOnly:!1}){return function(t){return r=>s.createElement(c,null,(({flags:n,ldClient:o})=>e.clientOnly?s.createElement(t,Y({ldClient:o},r)):s.createElement(t,Y({flags:n,ldClient:o},r))))}},exports.withLDProvider=function(e){return function(t){const{reactOptions:r}=e,o=M(M({},i),r),a=(l=M({},e),k(l,K({reactOptions:o})));var l;function c(e){return s.createElement(D,M({},a),s.createElement(t,M({},e)))}return n(c,t),c}},Object.keys(t).forEach((function(e){"default"===e||Object.prototype.hasOwnProperty.call(exports,e)||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return t[e]}})})); | ||
//# sourceMappingURL=index.js.map |
@@ -1,2 +0,2 @@ | ||
import*as t from"react";import e,{createContext as n,Component as s,useState as o,useEffect as r,useContext as i}from"react";import{initialize as a}from"launchdarkly-js-client-sdk";export*from"launchdarkly-js-client-sdk";import c from"lodash.camelcase";import l from"hoist-non-react-statics";const p={useCamelCaseFlagKeys:!0,sendEventsOnFlagRead:!0},u=n({flags:{},flagKeyMap:{},ldClient:void 0}),{Provider:d,Consumer:f}=u,g=t=>t.context??t.user,h=t=>{const e={};for(const n in t)0!==n.indexOf("$")&&(e[c(n)]=t[n]);return e},y=(t,e)=>{const n={};for(const s in t)e&&void 0===e[s]||(n[s]=t[s].current);return n},m=(t,e)=>{const n=t.allFlags();return e?Object.keys(e).reduce(((t,s)=>(t[s]=Object.prototype.hasOwnProperty.call(n,s)?n[s]:e[s],t)),{}):n};function C(t,e,n=p,s){const o=function(t,e){if(void 0===e)return t;return Object.keys(e).reduce(((e,n)=>(F(t,n)&&(e[n]=t[n]),e)),{})}(e,s),{useCamelCaseFlagKeys:r=!0}=n,[i,a={}]=r?function(t){const e={},n={};for(const s in t){if(0===s.indexOf("$"))continue;const o=c(s);e[o]=t[s],n[o]=s}return[e,n]}(o):[o];return{flags:n.sendEventsOnFlagRead?O(t,i,a,r):i,flagKeyMap:a}}function F(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function O(t,e,n,s){return new Proxy(e,{get(e,o,r){const i=Reflect.get(e,o,r),a=s&&F(n,o)||F(e,o);if("symbol"==typeof o||!a)return i;if(void 0===i)return;const c=s?n[o]:o;return t.variation(c,i)}})}h.camelCaseKeys=h;const x={wrapperName:"react-client-sdk",wrapperVersion:"3.3.1",sendEventsOnlyForVariation:!0};class b extends s{constructor(t){super(t),this.getReactOptions=()=>({...p,...this.props.reactOptions}),this.subscribeToChanges=t=>{const{flags:e}=this.props;t.on("change",(n=>{const s=this.getReactOptions(),o=y(n,e),r={...this.state.unproxiedFlags,...o};Object.keys(o).length>0&&this.setState((n=>({...n,unproxiedFlags:r,...C(t,r,s,e)})))}))},this.onFailed=(t,e)=>{this.setState((t=>({...t,error:e})))},this.onReady=(t,e,n)=>{const s=m(t,n);this.setState((o=>({...o,unproxiedFlags:s,...C(t,s,e,n)})))},this.prepareLDClient=async()=>{const{clientSideID:t,flags:e,options:n}=this.props;let s=await this.props.ldClient;const o=this.getReactOptions();let r,i=this.state.unproxiedFlags;if(s)i=m(s,e);else{const c=g(this.props)??{anonymous:!0,kind:"user"};s=a(t,c,{...x,...n});try{await s.waitForInitialization(this.props.timeout),i=m(s,e)}catch(t){r=t,r?.name.toLowerCase().includes("timeout")&&(s.on("failed",this.onFailed),s.on("ready",(()=>{this.onReady(s,o,e)})))}}this.setState((t=>({...t,unproxiedFlags:i,...C(s,i,o,e),ldClient:s,error:r}))),this.subscribeToChanges(s)};const{options:e}=t;if(this.state={flags:{},unproxiedFlags:{},flagKeyMap:{}},e){const{bootstrap:t}=e;if(t&&"localStorage"!==t){const{useCamelCaseFlagKeys:e}=this.getReactOptions();this.state={flags:e?h(t):t,unproxiedFlags:t,flagKeyMap:{}}}}}async componentDidMount(){const{deferInitialization:t}=this.props;t&&!g(this.props)||await this.prepareLDClient()}async componentDidUpdate(t){const{deferInitialization:e}=this.props,n=!g(t)&&g(this.props);e&&n&&await this.prepareLDClient()}render(){const{flags:t,flagKeyMap:n,ldClient:s,error:o}=this.state;return e.createElement(d,{value:{flags:t,flagKeyMap:n,ldClient:s,error:o}},this.props.children)}}function w(e){return function(n){const{reactOptions:s}=e,o={...p,...s},r={...e,reactOptions:o};function i(e){return t.createElement(b,{...r},t.createElement(n,{...e}))}return l(i,n),i}}async function k(t){const{clientSideID:n,flags:s,options:i,reactOptions:c}=t,l={...p,...c},u=g(t)??{anonymous:!0,kind:"user"};let f,h={};const F=a(n,u,{...x,...i});try{await F.waitForInitialization(t.timeout),h=m(F,s)}catch(t){f=t}const O=i?.bootstrap&&"localStorage"!==i.bootstrap?i.bootstrap:h;return({children:t})=>{const[n,i]=o((()=>({unproxiedFlags:O,...C(F,O,l,s),ldClient:F,error:f})));r((()=>{function t(t){const e=y(t,s);Object.keys(e).length>0&&i((t=>{const n={...t.unproxiedFlags,...e};return{...t,unproxiedFlags:n,...C(F,n,l,s)}}))}function e(){const t=m(F,s);i((e=>({...e,unproxiedFlags:t,...C(F,t,l,s)})))}function n(t){i((e=>({...e,error:t})))}return F.on("change",t),f?.name.toLowerCase().includes("timeout")&&(F.on("failed",n),F.on("ready",e)),function(){F.off("change",t),F.off("failed",n),F.off("ready",e)}}),[]);const{unproxiedFlags:a,...c}=n;return e.createElement(d,{value:c},t)}}function v(e={clientOnly:!1}){return function(n){return s=>t.createElement(f,null,(({flags:o,ldClient:r})=>e.clientOnly?t.createElement(n,{ldClient:r,...s}):t.createElement(n,{flags:o,ldClient:r,...s})))}}const E=()=>{const{flags:t}=i(u);return t},K=()=>{const{ldClient:t}=i(u);return t};function R(){const{error:t}=i(u);return t}export{b as LDProvider,k as asyncWithLDProvider,h as camelCaseKeys,p as defaultReactOptions,E as useFlags,K as useLDClient,R as useLDClientError,v as withLDConsumer,w as withLDProvider}; | ||
import*as e from"react";import t,{createContext as r,Component as n,useState as o,useEffect as s,useContext as i}from"react";import{initialize as a}from"launchdarkly-js-client-sdk";export*from"launchdarkly-js-client-sdk";import l from"lodash.camelcase";import c from"hoist-non-react-statics";const p={useCamelCaseFlagKeys:!0,sendEventsOnFlagRead:!0},u=r({flags:{},flagKeyMap:{},ldClient:void 0}),{Provider:f,Consumer:d}=u,y=e=>{var t;return null!=(t=e.context)?t:e.user},h=e=>{const t={};for(const r in e)0!==r.indexOf("$")&&(t[l(r)]=e[r]);return t},g=(e,t)=>{const r={};for(const n in e)t&&void 0===t[n]||(r[n]=e[n].current);return r},O=(e,t)=>{const r=e.allFlags();return t?Object.keys(t).reduce(((e,n)=>(e[n]=Object.prototype.hasOwnProperty.call(r,n)?r[n]:t[n],e)),{}):r};function b(e,t,r=p,n){const o=function(e,t){if(void 0===t)return e;return Object.keys(t).reduce(((t,r)=>(m(e,r)&&(t[r]=e[r]),t)),{})}(t,n),{useCamelCaseFlagKeys:s=!0}=r,[i,a={}]=s?function(e){const t={},r={};for(const n in e){if(0===n.indexOf("$"))continue;const o=l(n);t[o]=e[n],r[o]=n}return[t,r]}(o):[o];return{flags:r.sendEventsOnFlagRead?v(e,i,a,s):i,flagKeyMap:a}}function m(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function v(e,t,r,n){return new Proxy(t,{get(t,o,s){const i=Reflect.get(t,o,s),a=n&&m(r,o)||m(t,o);if("symbol"==typeof o||!a)return i;if(void 0===i)return;const l=n?r[o]:o;return e.variation(l,i)}})}h.camelCaseKeys=h;const j={wrapperName:"react-client-sdk",wrapperVersion:"3.3.2",sendEventsOnlyForVariation:!0};var w=Object.defineProperty,P=Object.defineProperties,x=Object.getOwnPropertyDescriptors,C=Object.getOwnPropertySymbols,F=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,S=(e,t,r)=>t in e?w(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,k=(e,t)=>{for(var r in t||(t={}))F.call(t,r)&&S(e,r,t[r]);if(C)for(var r of C(t))E.call(t,r)&&S(e,r,t[r]);return e},D=(e,t)=>P(e,x(t)),I=(e,t,r)=>new Promise(((n,o)=>{var s=e=>{try{a(r.next(e))}catch(e){o(e)}},i=e=>{try{a(r.throw(e))}catch(e){o(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,i);a((r=r.apply(e,t)).next())}));class K extends n{constructor(e){super(e),this.getReactOptions=()=>k(k({},p),this.props.reactOptions),this.subscribeToChanges=e=>{const{flags:t}=this.props;e.on("change",(r=>{const n=this.getReactOptions(),o=g(r,t),s=k(k({},this.state.unproxiedFlags),o);Object.keys(o).length>0&&this.setState((r=>k(D(k({},r),{unproxiedFlags:s}),b(e,s,n,t))))}))},this.onFailed=(e,t)=>{this.setState((e=>D(k({},e),{error:t})))},this.onReady=(e,t,r)=>{const n=O(e,r);this.setState((o=>k(D(k({},o),{unproxiedFlags:n}),b(e,n,t,r))))},this.prepareLDClient=()=>I(this,null,(function*(){var e;const{clientSideID:t,flags:r,options:n}=this.props;let o=yield this.props.ldClient;const s=this.getReactOptions();let i,l=this.state.unproxiedFlags;if(o)l=O(o,r);else{const c=null!=(e=y(this.props))?e:{anonymous:!0,kind:"user"};o=a(t,c,k(k({},j),n));try{yield o.waitForInitialization(this.props.timeout),l=O(o,r)}catch(e){i=e,(null==i?void 0:i.name.toLowerCase().includes("timeout"))&&(o.on("failed",this.onFailed),o.on("ready",(()=>{this.onReady(o,s,r)})))}}this.setState((e=>D(k(D(k({},e),{unproxiedFlags:l}),b(o,l,s,r)),{ldClient:o,error:i}))),this.subscribeToChanges(o)}));const{options:t}=e;if(this.state={flags:{},unproxiedFlags:{},flagKeyMap:{}},t){const{bootstrap:e}=t;if(e&&"localStorage"!==e){const{useCamelCaseFlagKeys:t}=this.getReactOptions();this.state={flags:t?h(e):e,unproxiedFlags:e,flagKeyMap:{}}}}}componentDidMount(){return I(this,null,(function*(){const{deferInitialization:e}=this.props;e&&!y(this.props)||(yield this.prepareLDClient())}))}componentDidUpdate(e){return I(this,null,(function*(){const{deferInitialization:t}=this.props,r=!y(e)&&y(this.props);t&&r&&(yield this.prepareLDClient())}))}render(){const{flags:e,flagKeyMap:r,ldClient:n,error:o}=this.state;return t.createElement(f,{value:{flags:e,flagKeyMap:r,ldClient:n,error:o}},this.props.children)}}var R=Object.defineProperty,M=Object.defineProperties,L=Object.getOwnPropertyDescriptors,z=Object.getOwnPropertySymbols,T=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,$=(e,t,r)=>t in e?R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,N=(e,t)=>{for(var r in t||(t={}))T.call(t,r)&&$(e,r,t[r]);if(z)for(var r of z(t))V.call(t,r)&&$(e,r,t[r]);return e};function U(t){return function(r){const{reactOptions:n}=t,o=N(N({},p),n),s=(i=N({},t),M(i,L({reactOptions:o})));var i;function a(t){return e.createElement(K,N({},s),e.createElement(r,N({},t)))}return c(a,r),a}}var q=Object.defineProperty,A=Object.defineProperties,B=Object.getOwnPropertyDescriptors,G=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,Q=(e,t,r)=>t in e?q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,W=(e,t)=>{for(var r in t||(t={}))H.call(t,r)&&Q(e,r,t[r]);if(G)for(var r of G(t))J.call(t,r)&&Q(e,r,t[r]);return e},X=(e,t)=>A(e,B(t));function Y(e){return r=this,n=null,i=function*(){var r;const{clientSideID:n,flags:i,options:l,reactOptions:c}=e,u=W(W({},p),c),d=null!=(r=y(e))?r:{anonymous:!0,kind:"user"};let h,m={};const v=a(n,d,W(W({},j),l));try{yield v.waitForInitialization(e.timeout),m=O(v,i)}catch(e){h=e}const w=(null==l?void 0:l.bootstrap)&&"localStorage"!==l.bootstrap?l.bootstrap:m;return({children:e})=>{const[r,n]=o((()=>X(W({unproxiedFlags:w},b(v,w,u,i)),{ldClient:v,error:h})));s((()=>{function e(e){const t=g(e,i);Object.keys(t).length>0&&n((e=>{const r=W(W({},e.unproxiedFlags),t);return W(X(W({},e),{unproxiedFlags:r}),b(v,r,u,i))}))}function t(){const e=O(v,i);n((t=>W(X(W({},t),{unproxiedFlags:e}),b(v,e,u,i))))}function r(e){n((t=>X(W({},t),{error:e})))}return v.on("change",e),(null==h?void 0:h.name.toLowerCase().includes("timeout"))&&(v.on("failed",r),v.on("ready",t)),function(){v.off("change",e),v.off("failed",r),v.off("ready",t)}}),[]);const a=((e,t)=>{var r={};for(var n in e)H.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&G)for(var n of G(e))t.indexOf(n)<0&&J.call(e,n)&&(r[n]=e[n]);return r})(r,["unproxiedFlags"]);return t.createElement(f,{value:a},e)}},new Promise(((e,t)=>{var o=e=>{try{a(i.next(e))}catch(e){t(e)}},s=e=>{try{a(i.throw(e))}catch(e){t(e)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,s);a((i=i.apply(r,n)).next())}));var r,n,i}var Z=Object.defineProperty,_=Object.getOwnPropertySymbols,ee=Object.prototype.hasOwnProperty,te=Object.prototype.propertyIsEnumerable,re=(e,t,r)=>t in e?Z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ne=(e,t)=>{for(var r in t||(t={}))ee.call(t,r)&&re(e,r,t[r]);if(_)for(var r of _(t))te.call(t,r)&&re(e,r,t[r]);return e};function oe(t={clientOnly:!1}){return function(r){return n=>e.createElement(d,null,(({flags:o,ldClient:s})=>t.clientOnly?e.createElement(r,ne({ldClient:s},n)):e.createElement(r,ne({flags:o,ldClient:s},n))))}}const se=()=>{const{flags:e}=i(u);return e},ie=()=>{const{ldClient:e}=i(u);return e};function ae(){const{error:e}=i(u);return e}export{K as LDProvider,Y as asyncWithLDProvider,h as camelCaseKeys,p as defaultReactOptions,se as useFlags,ie as useLDClient,ae as useLDClientError,oe as withLDConsumer,U as withLDProvider}; | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "launchdarkly-react-client-sdk", | ||
"version": "3.3.1", | ||
"version": "3.3.2", | ||
"description": "LaunchDarkly SDK for React", | ||
@@ -5,0 +5,0 @@ "author": "LaunchDarkly <team@launchdarkly.com>", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
142082
1101