UNPKG

react-feature-toggle

Version:

A simple solution for implementing feature toggles in react

1 lines 15.7 kB
webpackJsonp([0],{0:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();n(1);var l=n(294),c=r(l),f=n(450),s=r(f),p=n(451),y=r(p),d=n(456),b=function(e){function t(){var e;o(this,t);for(var n=arguments.length,r=Array(n),u=0;n>u;u++)r[u]=arguments[u];return i(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(r)))}return u(t,e),a(t,[{key:"render",value:function(){return c["default"].createElement(y["default"],null)}}]),t}(l.Component),h=[{myComponent:{variations:[{name:"myComponentDefault"},{name:"myComponentA",force:!1,props:{title:"Toggled title"}},{name:"myComponentB"}]},anotherComponent:{variations:[{name:"A"},{name:"B"}]}}],g=function(){return h.map(function(e){return Object.keys(e).filter(function(t){return!!e[t].variations}).map(function(t){var n=e[t].variations.find(function(e){return e.force});return n||e[t].variations[Math.floor(Math.random()*e[t].variations.length)]})}).reduce(function(e,t){return t}).reduce(function(e,t){return e[t.name]=t.props?{props:t.props}:{},e},{})},m=(0,d.ToggleApp)(b,g());s["default"].render(c["default"].createElement(m,null),document.getElementById("main"))},451:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(452),c=r(l),f=n(294),s=r(f),p=function(e){function t(){var e;o(this,t);for(var n=arguments.length,r=Array(n),u=0;n>u;u++)r[u]=arguments[u];return i(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(r)))}return u(t,e),a(t,[{key:"render",value:function(){return s["default"].createElement("div",{className:"row"},s["default"].createElement(c["default"],{title:"First Component",subtitle:"This text is not overwritten by the toggle"}),s["default"].createElement(c["default"],{title:"Second Component",subtitle:"This text is not overwritten by the toggle"}),s["default"].createElement(c["default"],{title:"Third Component",subtitle:"This text is not overwritten by the toggle"}),s["default"].createElement(c["default"],{title:"Fourth Component",subtitle:"This text is not overwritten by the toggle"}))}}]),t}(f.Component);t["default"]=p},452:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(453),i=r(o),u=n(454),a=r(u),l=n(455),c=r(l),f=n(456);t["default"]=(0,f.ToggleComponent)(c["default"],i["default"],a["default"])},453:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(294),c=r(l),f=function(e){function t(){return o(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return u(t,e),a(t,[{key:"render",value:function(){return c["default"].createElement("div",{className:"col s5 m6"},c["default"].createElement("div",{className:"card blue-grey darken-1"},c["default"].createElement("div",{className:"card-content white-text"},c["default"].createElement("span",{className:"card-title"},this.props.title),c["default"].createElement("p",null,this.props.subtitle)),c["default"].createElement("div",{className:"card-action"},c["default"].createElement("a",{href:"#"},"This is a link"))))}}],[{key:"displayName",get:function(){return"myComponentA"}},{key:"propTypes",get:function(){return{title:l.PropTypes.string,subtitle:l.PropTypes.string}}}]),t}(l.Component);t["default"]=f},454:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(294),c=r(l),f=function(e){function t(){return o(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return u(t,e),a(t,[{key:"render",value:function(){return c["default"].createElement("div",{className:"col s5 m6"},c["default"].createElement("div",{className:"card brown darken-1"},c["default"].createElement("div",{className:"card-content white-text"},c["default"].createElement("span",{className:"card-title"},this.props.title),c["default"].createElement("p",null,this.props.subtitle)),c["default"].createElement("div",{className:"card-action"},c["default"].createElement("a",{href:"#"},"This is a link"))))}}],[{key:"displayName",get:function(){return"myComponentB"}},{key:"propTypes",get:function(){return{title:l.PropTypes.string,subtitle:l.PropTypes.string}}}]),t}(l.Component);t["default"]=f},455:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(294),c=r(l),f=function(e){function t(){return o(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return u(t,e),a(t,[{key:"render",value:function(){return c["default"].createElement("div",{className:"col s5 m6"},c["default"].createElement("div",{className:"card blue darken-1"},c["default"].createElement("div",{className:"card-content white-text"},c["default"].createElement("span",{className:"card-title"},this.props.title),c["default"].createElement("p",null,this.props.subtitle)),c["default"].createElement("div",{className:"card-action"},c["default"].createElement("a",{href:"#"},"This is a link"))))}}],[{key:"displayName",get:function(){return"myComponentDefault"}},{key:"propTypes",get:function(){return{title:l.PropTypes.string,subtitle:l.PropTypes.string}}}]),t}(l.Component);t["default"]=f},456:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Universal=t.ToggleComponent=t.ToggleApp=void 0;var r=n(457),o=n(458),i=n(459);t.ToggleApp=r.ToggleApp,t.ToggleComponent=o.ToggleComponent,t.Universal=i.Universal},457:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.ToggleApp=void 0;var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=function p(e,t,n){null===e&&(e=Function.prototype);var r=Object.getOwnPropertyDescriptor(e,t);if(void 0===r){var o=Object.getPrototypeOf(e);return null===o?void 0:p(o,t,n)}if("value"in r)return r.value;var i=r.get;if(void 0!==i)return i.call(n)},c=n(294),f=r(c),s=function(e,t){return function(n){function r(){var e;o(this,r);for(var t=arguments.length,n=Array(t),u=0;t>u;u++)n[u]=arguments[u];return i(this,(e=Object.getPrototypeOf(r)).call.apply(e,[this].concat(n)))}return u(r,n),a(r,[{key:"getChildContext",value:function(){return Object.assign({},l(Object.getPrototypeOf(r.prototype),"getChildContext",this)&&l(Object.getPrototypeOf(r.prototype),"getChildContext",this).call(this)||{},{toggles:t})}},{key:"render",value:function(){return f["default"].createElement(e,this.props)}}],[{key:"displayName",get:function(){var t=e.name||e.displayName||"App";return"Toggled"+t}},{key:"childContextTypes",get:function(){return Object.assign({},l(Object.getPrototypeOf(r),"childContextTypes",this),{toggles:c.PropTypes.object})}}]),r}(c.Component)};t.ToggleApp=s},458:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.ToggleComponent=void 0;var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=function p(e,t,n){null===e&&(e=Function.prototype);var r=Object.getOwnPropertyDescriptor(e,t);if(void 0===r){var o=Object.getPrototypeOf(e);return null===o?void 0:p(o,t,n)}if("value"in r)return r.value;var i=r.get;if(void 0!==i)return i.call(n)},c=n(294),f=r(c),s=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;t>r;r++)n[r-1]=arguments[r];return function(t){function r(){var e;o(this,r);for(var t=arguments.length,n=Array(t),u=0;t>u;u++)n[u]=arguments[u];var a=i(this,(e=Object.getPrototypeOf(r)).call.apply(e,[this].concat(n)));return a._toggles=a.context.toggles||{},a}return u(r,t),a(r,[{key:"getChildContext",value:function(){return l(Object.getPrototypeOf(r.prototype),"getChildContext",this)&&l(Object.getPrototypeOf(r.prototype),"getChildContext",this).call(this)||{toggles:{}}}},{key:"render",value:function(){var t=this,r=n.reduce(function(e,n){return Object.keys(t._toggles).find(function(e){return e===n.displayName})?n:e},e),o=Object.assign({},this.props,this._toggles[r.displayName]&&this._toggles[r.displayName].props);return f["default"].createElement(r,o)}}],[{key:"childContextTypes",get:function(){return Object.assign({},l(Object.getPrototypeOf(r),"childContextTypes",this),{toggles:c.PropTypes.object})}},{key:"contextTypes",get:function(){return{toggles:c.PropTypes.object}}}]),r}(c.Component)};Array.prototype.find||(Array.prototype.find=function(e){if(null===this)throw new TypeError("Array.prototype.find called on null or undefined");if("function"!=typeof e)throw new TypeError("predicate must be a function");for(var t,n=Object(this),r=n.length>>>0,o=arguments[1],i=0;r>i;i++)if(t=n[i],e.call(o,t,i,n))return t}),t.ToggleComponent=s},459:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}),t.Universal=void 0;var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(460),a=r(u),l=function(){function e(){o(this,e)}return i(e,null,[{key:"escapeJson",value:function(e){return a["default"].stringify(e).replace(/<\//g,"<\\/")}},{key:"injectIntoMarkup",value:function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=t.markup,r=t.toggles,o=t.name,i="<script>window."+o+"="+e.escapeJson(r)+"</script>";return n.indexOf("</body>")>-1?n.replace("</body>",i+"$&"):n+i}}]),e}();t.Universal=l},460:function(e,t){(function(){var e;e=t,e.isAscii=function(e){return/^[\x00-\x7F]*$/.test(e)},e.escapeNonAsciis=function(e){var t,n,r;for(t=[],r=0;r<e.length;)n=e.charCodeAt(r),128>n?t.push(e[r]):(256>n?t.push("\\u00"):4096>n?t.push("\\u0"):t.push("\\u"),t.push(n.toString(16))),r++;return t.join("")},e.stringify=function(t){var n;return n=JSON.stringify(t),e.escapeNonAsciis(n)},e.parse=JSON.parse}).call(this)}});