feature-router
Version:
Feature Based Navigation (using redux state)
6 lines • 528 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("FeatureRouter",[],t):"object"==typeof exports?exports.FeatureRouter=t():e.FeatureRouter=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=80)}([function(e,t,n){"use strict";function r(){throw Error("setTimeout has not been defined")}function o(){throw Error("clearTimeout has not been defined")}function a(e){if(f===setTimeout)return setTimeout(e,0);if((f===r||!f)&&setTimeout)return f=setTimeout,setTimeout(e,0);try{return f(e,0)}catch(t){try{return f.call(null,e,0)}catch(t){return f.call(this,e,0)}}}function i(e){if(d===clearTimeout)return clearTimeout(e);if((d===o||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(e);try{return d(e)}catch(t){try{return d.call(null,e)}catch(t){return d.call(this,e)}}}function u(){v&&m&&(v=!1,m.length?h=m.concat(h):y=-1,h.length&&l())}function l(){if(!v){var e=a(u);v=!0;for(var t=h.length;t;){for(m=h,h=[];++y<t;)m&&m[y].run();y=-1,t=h.length}m=null,v=!1,i(e)}}function s(e,t){this.fun=e,this.array=t}function c(){}var f,d,p=e.exports={};!function(){try{f="function"==typeof setTimeout?setTimeout:r}catch(e){f=r}try{d="function"==typeof clearTimeout?clearTimeout:o}catch(e){d=o}}();var m,h=[],v=!1,y=-1;p.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var n=1;arguments.length>n;n++)t[n-1]=arguments[n];h.push(new s(e,t)),1!==h.length||v||a(l)},s.prototype.run=function(){this.fun.apply(null,this.array)},p.title="browser",p.browser=!0,p.env={},p.argv=[],p.version="",p.versions={},p.on=c,p.addListener=c,p.once=c,p.off=c,p.removeListener=c,p.removeAllListeners=c,p.emit=c,p.prependListener=c,p.prependOnceListener=c,p.listeners=function(e){return[]},p.binding=function(e){throw Error("process.binding is not supported")},p.cwd=function(){return"/"},p.chdir=function(e){throw Error("process.chdir is not supported")},p.umask=function(){return 0}},function(e,t,n){"use strict";(function(t){e.exports=n("production"===t.env.NODE_ENV?69:68)}).call(t,n(0))},function(e,t,n){"use strict";function r(e,t){if(!e)throw Error(t)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r,r.prefix=function(e){return function(t,n){return r(t,e+n)}}},function(e,t,n){"use strict";(function(t){function n(e){return null==e?void 0===e?p:f:k&&k in Object(e)?r(e):o(e)}function r(e){var t=g.call(e,k),n=e[k];try{e[k]=void 0;var r=!0}catch(e){}var o=b.call(e);return r&&(t?e[k]=n:delete e[k]),o}function o(e){return b.call(e)}function a(e){if(!i(e))return!1;var t=n(e);return t==s||t==c||t==l||t==d}function i(e){var t=void 0===e?"undefined":u(e);return null!=e&&("object"==t||"function"==t)}var u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l="[object AsyncFunction]",s="[object Function]",c="[object GeneratorFunction]",f="[object Null]",d="[object Proxy]",p="[object Undefined]",m="object"==(void 0===t?"undefined":u(t))&&t&&t.Object===Object&&t,h="object"==("undefined"==typeof self?"undefined":u(self))&&self&&self.Object===Object&&self,v=m||h||Function("return this")(),y=Object.prototype,g=y.hasOwnProperty,b=y.toString,w=v.Symbol,k=w?w.toStringTag:void 0;e.exports=a}).call(t,n(19))},function(e,t,n){"use strict";function r(e){return!!e&&"object"==(void 0===e?"undefined":a(e))}function o(e){return"string"==typeof e||!s(e)&&r(e)&&l.call(e)==i}var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i="[object String]",u=Object.prototype,l=u.toString,s=Array.isArray;e.exports=o},function(e,t,n){"use strict";t.__esModule=!0,t.ReactReduxContext=void 0;var r=n(1);t.default=t.ReactReduxContext=function(e){return e&&e.__esModule?e:{default:e}}(r).default.createContext(null)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){o.isEnabled()&&o.force(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var a=n(2),i=r(a),u=n(4),l=r(u),s=!1;o.force=function(e,t){e="***feature-u*** "+e,t?console.log(e,t):console.log(e)},o.isEnabled=function(){return s},o.enable=function(){s=!0,o("enabling logf()")},o.disable=function(){o("disabling logf()"),s=!1};var c="WARNING: By default any react element content is OMITTED.\n\nThis can be overridden by doing the following (before launchApp() is invoked):\n\n- To see the (rather verbose) raw object content, do this:\n launchApp.diag.logf.elm2html = (elm) => elm;\n\n- To see nicely formatted html markup, do this:\n import ReactDOMServer from 'react-dom/server';\n ...\n launchApp.diag.logf.elm2html = (elm) => ReactDOMServer.renderToStaticMarkup(elm);\n\n";o.elm2html=function(e){return c&&(o(c),c=null),"OMITTED"},o.newLogger=function(e){var t=i.default.prefix("logf.newLogger() parameter violation: ");t(e,"prefix is required"),t((0,l.default)(e),"prefix must be a string");var n=function e(t,n){o.isEnabled()&&e.force(t,n)};return n.force=function(t,n){return o.force(e+t,n)},n.isEnabled=o.isEnabled,n.enable=o.enable,n.disable=o.disable,n.elm2html=function(e){return o.elm2html(e)},n}},function(e,t,n){"use strict";function r(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function o(e){return!!e&&"object"==(void 0===e?"undefined":i(e))}function a(e){if(!o(e)||p.call(e)!=u||r(e))return!1;var t=m(e);if(null===t)return!0;var n=f.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==d}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u="[object Object]",l=Function.prototype,s=Object.prototype,c=l.toString,f=s.hasOwnProperty,d=c.call(Object),p=s.toString,m=function(e,t){return function(n){return e(t(n))}}(Object.getPrototypeOf,Object);e.exports=a},function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;10>n;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,u,l=r(e),s=1;arguments.length>s;s++){n=Object(arguments[s]);for(var c in n)a.call(n,c)&&(l[c]=n[c]);if(o){u=o(n);for(var f=0;u.length>f;f++)i.call(n,u[f])&&(l[u[f]]=n[u[f]])}}return l}},function(e,t,n){"use strict";(function(t){e.exports=n("production"===t.env.NODE_ENV?55:54)}).call(t,n(0))},function(e,t,n){"use strict";function r(){return t.default=r=Object.assign||function(e){for(var t=1;arguments.length>t;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}t.__esModule=!0,t.default=r},function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;a.length>r;r++)n=a[r],0>t.indexOf(n)&&(o[n]=e[n]);return o}t.__esModule=!0,t.default=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)0>t.indexOf(r)&&Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.name,n=e.enabled,r=void 0===n||n,a=e.fassets,i=e.appWillStart,u=e.appInit,s=e.appDidStart,f=o(e,["name","enabled","fassets","appWillStart","appInit","appDidStart"]),p=c.default.prefix("createFeature() parameter violation: ");return p(t,"name is required"),p((0,d.default)(t),"name must be a string"),p(!0===r||!1===r,"enabled must be a boolean"),i&&p((0,m.default)(i),"appWillStart (when supplied) must be a function"),u&&p((0,m.default)(u),"appInit (when supplied) must be a function"),s&&p((0,m.default)(s),"appDidStart (when supplied) must be a function"),l({name:t,enabled:r,fassets:a,appWillStart:i,appInit:u,appDidStart:s},f)}function i(e){return!!y[e]}function u(e,t){var n=c.default.prefix("extendFeatureProperty() parameter violation: ");if(n(e,"name is required"),n((0,d.default)(e),"name must be a string"),n(t,"owner is required"),n((0,d.default)(t),"owner must be a string"),i(e)&&y[e]!==t)throw Error("**ERROR** extendFeatureProperty('"+e+"', '"+t+"') ... 'Feature."+e+"' is already reserved by different owner.");y[e]=t,(0,v.default)("invoking: extendFeatureProperty('"+e+"', '"+t+"') ... now validFeatureProps: ",y)}Object.defineProperty(t,"__esModule",{value:!0});var l=Object.assign||function(e){for(var t=1;arguments.length>t;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=a,t.isFeatureProperty=i,t.extendFeatureProperty=u;var s=n(2),c=r(s),f=n(4),d=r(f),p=n(3),m=r(p),h=n(6),v=r(h),y={name:"builtin",enabled:"builtin",publicFace:"builtin",fassets:"builtin",appWillStart:"builtin",appInit:"builtin",appDidStart:"builtin"}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);e.length>t;t++)n[t]=e[t];return n}return Array.from(e)}function i(e,t){var n={};for(var r in e)0>t.indexOf(r)&&Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function u(){function e(e){return(0,v.default)((0,T.default)(e),"You must pass a React Component to the function returned by withFassets()"),function(t){var r=u?n(t):n;return a((0,w.default)(r),"mapFassetsToProps resolved to an invalid structure, MUST be a mapFassetsToPropsStruct"),x.MyObj.entries(r).forEach(function(e){var t=c(e,2),n=t[0];a((0,E.default)(t[1]),"mapFassetsToProps resolved to an invalid structure - all properties MUST reference a fassetsKey string ... at minimum "+n+" does NOT")}),d.default.createElement(R.Consumer,null,function(n){return(0,v.default)(n!==_,"withFassets() cannot be used when no <FassetsContext.Provider> is in the root DOM. Normally feature-u auto configures this, except when NO Aspects/Features inject UI content. In this case the app must do this in launchApp() registerRootAppElm() callback. ... see: https://feature-u.js.org/cur/detail.html#react-registration"),d.default.createElement(e,s({},l(r,n),t))})}}var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.mapFassetsToProps,r=t.component,o=i(t,["mapFassetsToProps","component"]),a=v.default.prefix("withFassets() parameter violation: ");a(n,"mapFassetsToProps is required");var u=(0,g.default)(n);a(u||(0,w.default)(n),"mapFassetsToProps must be a mapFassetsToPropsFn or mapFassetsToPropsStruct"),r&&a((0,T.default)(r),"component, when supplied, must be a React Component - to be wrapped");var f=Object.keys(o);return a(0===f.length,"unrecognized named parameter(s): "+f),a(1===arguments.length,"unrecognized positional parameters (only named parameters can be specified)"),r?e(r):e}function l(e,t){return Object.assign.apply(Object,a(x.MyObj.entries(e).map(function(e){var n=c(e,2);return o({},n[0],t.get(n[1]))})))}Object.defineProperty(t,"__esModule",{value:!0}),t.FassetsContext=void 0;var s=Object.assign||function(e){for(var t=1;arguments.length>t;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=function(){function e(e,t){var n=[],r=!0,o=!1,a=void 0;try{for(var i,u=e[Symbol.iterator]();!(r=(i=u.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{!r&&u.return&&u.return()}finally{if(o)throw a}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.withFassets=u,t.fassetsProps=l;var f=n(1),d=r(f),p=n(39),m=r(p),h=n(2),v=r(h),y=n(3),g=r(y),b=n(7),w=r(b),k=n(4),E=r(k),x=n(14),S=n(23),T=r(S),C=n(6),P=r(C),_="NO FassetsContext.Provider";P.default.force("Context in-use: "+(d.default.createContext===m.default?"native (React >16.3)":"ponyfilled (React <16.3)")+"... React Version: "+d.default.version);var R=t.FassetsContext=(0,m.default)(_)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.MyObj={entries:function(e){for(var t=Object.keys(e),n=t.length,r=Array(n);n--;)r[n]=[t[n],e[t[n]]];return r}}},function(e,t,n){"use strict";(function(t){e.exports=function(e,n,r,o,a,i,u,l){if("production"!==t.env.NODE_ENV&&void 0===n)throw Error("invariant requires an error message argument");if(!e){var s;if(void 0===n)s=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[r,o,a,i,u,l],f=0;s=Error(n.replace(/%s/g,function(){return c[f++]})),s.name="Invariant Violation"}throw s.framesToPop=1,s}}}).call(t,n(0))},function(e,t,n){"use strict";(function(t){function r(e,n,r,s,c){if("production"!==t.env.NODE_ENV)for(var f in e)if(l(e,f)){var d;try{if("function"!=typeof e[f]){var p=Error((s||"React class")+": "+r+" type `"+f+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+o(e[f])+"`.");throw p.name="Invariant Violation",p}d=e[f](n,f,s,r,null,i)}catch(e){d=e}if(!d||d instanceof Error||a((s||"React class")+": type specification of "+r+" `"+f+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+(void 0===d?"undefined":o(d))+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),d instanceof Error&&!(d.message in u)){u[d.message]=!0;var m=c?c():"";a("Failed "+r+" type: "+d.message+(null!=m?m:""))}}}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){};if("production"!==t.env.NODE_ENV){var i=n(17),u={},l=Function.call.bind(Object.prototype.hasOwnProperty);a=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw Error(t)}catch(e){}}}r.resetWarningCache=function(){"production"!==t.env.NODE_ENV&&(u={})},e.exports=r}).call(t,n(0))},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";function r(){var e=(0,o.getBatch)(),t=[],n=[];return{clear:function(){n=a,t=a},notify:function(){var r=t=n;e(function(){for(var e=0;r.length>e;e++)r[e]()})},get:function(){return n},subscribe:function(e){var r=!0;return n===t&&(n=t.slice()),n.push(e),function(){r&&t!==a&&(r=!1,n===t&&(n=t.slice()),n.splice(n.indexOf(e),1))}}}}t.__esModule=!0,t.default=void 0;var o=n(29),a=null,i={notify:function(){}};t.default=function(){function e(e,t){this.store=e,this.parentSub=t,this.unsubscribe=null,this.listeners=i,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var t=e.prototype;return t.addNestedSub=function(e){return this.trySubscribe(),this.listeners.subscribe(e)},t.notifyNestedSubs=function(){this.listeners.notify()},t.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},t.isSubscribed=function(){return!!this.unsubscribe},t.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=r())},t.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=i)},e}()},function(e,t,n){"use strict";var r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r=function(){return this}();try{r=r||Function("return this")()||(0,eval)("this")}catch(e){"object"===("undefined"==typeof window?"undefined":o(window))&&(r=window)}e.exports=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return void 0!==e?null:"anthing but: undefined"}function a(e){return(0,m.default)(e)?null:"React Component"}function i(e){return(0,d.default)(e)?null:"function"}function u(e){return(0,c.default)(e)?null:"string"}function l(e){return!0===e||!1===e?null:"boolean"}Object.defineProperty(t,"__esModule",{value:!0});var s=n(4),c=r(s),f=n(3),d=r(f),p=n(23),m=r(p);t.default={any:o,comp:a,fn:i,str:u,bool:l}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)0>t.indexOf(r)&&Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.name,n=e.genesis,r=e.validateFeatureContent,a=e.expandFeatureContent,i=e.assembleFeatureContent,u=e.assembleAspectResources,s=e.initialRootAppElm,f=e.injectRootAppElm,p=e.config,h=void 0===p?{}:p,g=o(e,["name","genesis","validateFeatureContent","expandFeatureContent","assembleFeatureContent","assembleAspectResources","initialRootAppElm","injectRootAppElm","config"]),b=c.default.prefix("createAspect() parameter violation: ");return b(t,"name is required"),b((0,d.default)(t),"name must be a string"),b(!(0,y.isFeatureProperty)(t),"Aspect.name: '"+t+"' is a reserved Feature keyword"),n&&b((0,m.default)(n),"genesis (when supplied) must be a function"),b(r,"validateFeatureContent is required"),b((0,m.default)(r),"validateFeatureContent must be a function"),a&&b((0,m.default)(a),"expandFeatureContent (when supplied) must be a function"),b(i,"assembleFeatureContent is required"),b((0,m.default)(i),"assembleFeatureContent must be a function"),u&&b((0,m.default)(u),"assembleAspectResources (when supplied) must be a function"),s&&b((0,m.default)(s),"initialRootAppElm (when supplied) must be a function"),f&&b((0,m.default)(f),"injectRootAppElm (when supplied) must be a function"),b(h,"config is required"),b((0,v.default)(h),"config must be a plain object literal"),l({name:t,genesis:n,validateFeatureContent:r,expandFeatureContent:a,assembleFeatureContent:i,assembleAspectResources:u,initialRootAppElm:s,injectRootAppElm:f,config:h},g)}function i(e){return!!w[e]}function u(e,t){var n=c.default.prefix("extendAspectProperty() parameter violation: ");if(n(e,"name is required"),n((0,d.default)(e),"name must be a string"),n(t,"owner is required"),n((0,d.default)(t),"owner must be a string"),i(e)&&w[e]!==t)throw Error("**ERROR** extendAspectProperty('"+e+"', '"+t+"') ... 'Aspect."+e+"' is already reserved by different owner.");w[e]=t,(0,b.default)("invoking: extendAspectProperty('"+e+"', '"+t+"') ... now validAspectProps: ",w)}Object.defineProperty(t,"__esModule",{value:!0});var l=Object.assign||function(e){for(var t=1;arguments.length>t;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=a,t.isAspectProperty=i,t.extendAspectProperty=u;var s=n(2),c=r(s),f=n(4),d=r(f),p=n(3),m=r(p),h=n(7),v=r(h),y=n(12),g=n(6),b=r(g),w={name:"builtin",genesis:"builtin",validateFeatureContent:"builtin",expandFeatureContent:"builtin",assembleFeatureContent:"builtin",assembleAspectResources:"builtin",initialRootAppElm:"builtin",injectRootAppElm:"builtin",config:"builtin"}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.extendFeatureProperty=t.extendAspectProperty=t.createAspect=t.assertNoRootAppElm=t.FassetsContext=t.withFassets=t.useFassets=t.fassetValidations=t.expandWithFassets=t.launchApp=t.createFeature=void 0;var o=n(12),a=r(o),i=n(45),u=r(i),l=n(44),s=r(l),c=n(20),f=r(c),d=n(46),p=n(13),m=n(42),h=r(m),v=n(21),y=r(v);t.createFeature=a.default,t.launchApp=u.default,t.expandWithFassets=s.default,t.fassetValidations=f.default,t.useFassets=d.useFassets,t.withFassets=p.withFassets,t.FassetsContext=p.FassetsContext,t.assertNoRootAppElm=h.default,t.createAspect=y.default,t.extendAspectProperty=v.extendAspectProperty,t.extendFeatureProperty=o.extendFeatureProperty,t.default={createFeature:a.default,launchApp:u.default,expandWithFassets:s.default,fassetValidations:f.default,useFassets:d.useFassets,withFassets:p.withFassets,FassetsContext:p.FassetsContext,assertNoRootAppElm:h.default,createAspect:y.default,extendAspectProperty:v.extendAspectProperty,extendFeatureProperty:o.extendFeatureProperty}},function(e,t,n){"use strict";function r(e){return(0,o.isValidElementType)(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r;var o=n(9)},function(e,t,n){"use strict";(function(t){if("production"!==t.env.NODE_ENV){var r=n(9);e.exports=n(50)(r.isElement,!0)}else e.exports=n(49)()}).call(t,n(0))},function(e,t,n){"use strict";(function(e){function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return[t.payload,e[1]+1]}function a(t,n){void 0===n&&(n={});var r=n,a=r.getDisplayName,i=void 0===a?function(e){return"ConnectAdvanced("+e+")"}:a,l=r.methodName,c=void 0===l?"connectAdvanced":l,d=r.renderCountProp,y=void 0===d?void 0:d,T=r.shouldHandleStateChanges,C=void 0===T||T,P=r.storeKey,_=void 0===P?"store":P,R=r.withRef,O=void 0!==R&&R,N=r.forwardRef,I=void 0!==N&&N,A=r.context,M=void 0===A?w.ReactReduxContext:A,D=(0,s.default)(r,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]);(0,p.default)(void 0===y,"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension"),(0,p.default)(!O,"withRef is removed. To access the wrapped instance, use a ref on the connected component");(0,p.default)("store"===_,"storeKey has been removed and does not do anything. To use a custom Redux store for specific components, create a custom React context with React.createContext(), and pass the context object to React Redux's Provider and specific components like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. You may also pass a {context : MyContext} option to connect");var F=M;return function(n){function r(e){return t(e.dispatch,w)}function a(e){var t=(0,m.useMemo)(function(){var t=e.forwardedRef,n=(0,s.default)(e,["forwardedRef"]);return[e.context,t,n]},[e]),a=t[0],i=t[1],l=t[2],c=(0,m.useMemo)(function(){return a&&a.Consumer&&(0,v.isContextConsumer)(h.default.createElement(a.Consumer,null))?a:F},[a,F]),f=(0,m.useContext)(c),y=!!e.store&&!!e.store.getState&&!!e.store.dispatch,w=!!f&&!!f.store;(0,p.default)(y||w,'Could not find "store" in the context of "'+d+'". Either wrap the root component in a <Provider>, or pass a custom React context provider to <Provider> and the corresponding React context consumer to '+d+" in connect options.");var x=y?e.store:f.store,T=(0,m.useMemo)(function(){return r(x)},[x]),_=(0,m.useMemo)(function(){if(!C)return E;var e=new g.default(x,y?null:f.subscription);return[e,e.notifyNestedSubs.bind(e)]},[x,y,f]),R=_[0],O=_[1],N=(0,m.useMemo)(function(){return y?f:(0,u.default)({},f,{subscription:R})},[y,f,R]),I=(0,m.useReducer)(o,k,S),A=I[0],M=A[0],D=I[1];if(M&&M.error)throw M.error;var z=(0,m.useRef)(),U=(0,m.useRef)(l),j=(0,m.useRef)(),L=(0,m.useRef)(!1),W=P(function(){return j.current&&l===U.current?j.current:T(x.getState(),l)},[x,M,l]);(0,b.useIsomorphicLayoutEffect)(function(){U.current=l,z.current=W,L.current=!1,j.current&&(j.current=null,O())}),(0,b.useIsomorphicLayoutEffect)(function(){if(C){var e=!1,t=null,n=function(){if(!e){var n,r,o=x.getState();try{n=T(o,U.current)}catch(e){r=e,t=e}r||(t=null),n===z.current?L.current||O():(z.current=n,j.current=n,L.current=!0,D({type:"STORE_UPDATED",payload:{error:r}}))}};R.onStateChange=n,R.trySubscribe(),n();return function(){if(e=!0,R.tryUnsubscribe(),R.onStateChange=null,t)throw t}}},[x,R,T]);var V=(0,m.useMemo)(function(){return h.default.createElement(n,(0,u.default)({},W,{ref:i}))},[i,n,W]);return(0,m.useMemo)(function(){return C?h.default.createElement(c.Provider,{value:N},V):V},[c,V,N])}"production"!==e.env.NODE_ENV&&(0,p.default)((0,v.isValidElementType)(n),"You must pass a component to the function returned by "+c+". Instead received "+x(n));var l=n.displayName||n.name||"Component",d=i(l),w=(0,u.default)({},D,{getDisplayName:i,methodName:c,renderCountProp:y,shouldHandleStateChanges:C,storeKey:_,displayName:d,wrappedComponentName:l,WrappedComponent:n}),T=D.pure,P=T?m.useMemo:function(e){return e()},R=T?h.default.memo(a):a;if(R.WrappedComponent=n,R.displayName=d,I){var O=h.default.forwardRef(function(e,t){return h.default.createElement(R,(0,u.default)({},e,{forwardedRef:t}))});return O.displayName=d,O.WrappedComponent=n,(0,f.default)(O,n)}return(0,f.default)(R,n)}}t.__esModule=!0,t.default=a;var i=n(10),u=r(i),l=n(11),s=r(l),c=n(48),f=r(c),d=n(15),p=r(d),m=n(1),h=r(m),v=n(9),y=n(18),g=r(y),b=n(31),w=n(5),k=[],E=[null,null],x=function(e){try{return JSON.stringify(e)}catch(t){return e+""}},S=function(){return[null,0]}}).call(t,n(0))},function(e,t,n){"use strict";(function(e){function r(e){return function(t,n){function r(){return o}var o=e(t,n);return r.dependsOnOwnProps=!1,r}}function o(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?!!e.dependsOnOwnProps:1!==e.length}function a(t,n){return function(r,a){var i=a.displayName,l=function(e,t){return l.dependsOnOwnProps?l.mapToProps(e,t):l.mapToProps(e)};return l.dependsOnOwnProps=!0,l.mapToProps=function(r,a){l.mapToProps=t,l.dependsOnOwnProps=o(t);var s=l(r,a);return"function"==typeof s&&(l.mapToProps=s,l.dependsOnOwnProps=o(s),s=l(r,a)),"production"!==e.env.NODE_ENV&&(0,u.default)(s,i,n),s},l}}t.__esModule=!0,t.wrapMapToPropsConstant=r,t.getDependsOnOwnProps=o,t.wrapMapToPropsFunc=a;var i=n(32),u=function(e){return e&&e.__esModule?e:{default:e}}(i)}).call(t,n(0))},function(e,t,n){"use strict";function r(){var e=(0,o.useContext)(u.ReactReduxContext);return(0,i.default)(e,"could not find react-redux context value; please ensure the component is wrapped in a <Provider>"),e}t.__esModule=!0,t.useReduxContext=r;var o=n(1),a=n(15),i=function(e){return e&&e.__esModule?e:{default:e}}(a),u=n(5)},function(e,t,n){"use strict";function r(e){void 0===e&&(e=a.ReactReduxContext);var t=e===a.ReactReduxContext?i.useReduxContext:function(){return(0,o.useContext)(e)};return function(){return t().store}}t.__esModule=!0,t.useStore=void 0,t.createStoreHook=r;var o=n(1),a=n(5),i=n(27);t.useStore=r()},function(e,t,n){"use strict";function r(e){e()}t.__esModule=!0;var o=r;t.setBatch=function(e){return o=e},t.getBatch=function(){return o}},function(e,t,n){"use strict";function r(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!==e&&t!==t}function o(e,t){if(r(e,t))return!0;if("object"!==(void 0===e?"undefined":a(e))||null===e||"object"!==(void 0===t?"undefined":a(t))||null===t)return!1;var n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(var o=0;n.length>o;o++)if(!i.call(t,n[o])||!r(e[n[o]],t[n[o]]))return!1;return!0}t.__esModule=!0;var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=o;var i=Object.prototype.hasOwnProperty},function(e,t,n){"use strict";t.__esModule=!0,t.useIsomorphicLayoutEffect=void 0;var r=n(1),o="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;t.useIsomorphicLayoutEffect=o?r.useLayoutEffect:r.useEffect},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){(0,i.default)(e)||(0,l.default)(n+"() in "+t+" must return a plain object. Instead received "+e+".")}t.__esModule=!0,t.default=o;var a=n(66),i=r(a),u=n(33),l=r(u)},function(e,t,n){"use strict";function r(e){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(e);try{throw Error(e)}catch(e){}}t.__esModule=!0,t.default=r},function(e,t,n){"use strict";(function(t){e.exports=n("production"===t.env.NODE_ENV?74:73)}).call(t,n(0))},function(e,t,n){"use strict";function r(e,t){if(!e)throw Error(t)}t.__esModule=!0,t.default=r,r.prefix=function(e){return function(t,n){return r(t,e+n)}}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)0>t.indexOf(r)&&Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.content,n=e.priority,r=void 0===n?c.STANDARD:n,a=o(e,["content","priority"]),i=u.default.prefix("featureRoute() parameter violation: ");i(t,"content is required"),i((0,s.default)(t),"content must be a function"),i(Number.isInteger(r),"priority (when supplied) must be an integer ... "+r);var l=Object.keys(a);return i(0===l.length,"unrecognized named parameter(s): "+l),t.routePriority=r,t}t.__esModule=!0,t.PRIORITY=void 0,t.default=a;var i=n(35),u=r(i),l=n(3),s=r(l),c=t.PRIORITY={HIGH:100,STANDARD:50,LOW:10}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);e.length>t;t++)n[t]=e[t];return n}return Array.from(e)}function a(e,t){var n={};for(var r in e)0>t.indexOf(r)&&Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=y.default.prefix("createRouteAspect() parameter violation: ");t((0,k.default)(e),"only named parameters may be supplied");var n=e.name,r=void 0===n?"route":n,o=e.fallbackElm,i=e.componentDidUpdateHook,l=e.allowNoRoutes,f=void 0!==l&&l,d=a(e,["name","fallbackElm","componentDidUpdateHook","allowNoRoutes"]);t(r,"name is required"),t("string"==typeof r,"name must be a string"),t(1>=arguments.length,"name:"+r+" ... unrecognized positional parameters (only named parameters can be specified) ... "+arguments.length+" positional parameters were found");var m=Object.keys(d);return t(0===m.length,"name:"+r+" ... unrecognized named parameter(s): "+m),t(o,"name:"+r+" ... fallbackElm is required (a reactElm)"),i&&t((0,b.default)(i),"name:"+r+" ... componentDidUpdateHook must be a function (when supplied)"),t(!0===f||!1===f||Array.isArray(f),"name:"+r+" ... allowNoRoutes must be a boolean -or- an array of routes"),(0,p.createAspect)({name:r,validateFeatureContent:u,assembleFeatureContent:s,initialRootAppElm:c,config:{fallbackElm$:o,componentDidUpdateHook$:i,allowNoRoutes$:f}})}function u(e){var t=e[this.name],n=this.name+" (when supplied) must be a routeCB or routeCB[] emitted from featureRoute()";if(Array.isArray(t)){var r=!0,o=!1,a=void 0;try{for(var i,u=t[Symbol.iterator]();!(r=(i=u.next()).done);r=!0){if(!l(i.value))return n}}catch(e){o=!0,a=e}finally{try{!r&&u.return&&u.return()}finally{if(o)throw a}}}else if(!l(t))return n;return null}function l(e){return!!(0,b.default)(e)&&!!Number.isInteger(e.routePriority)}function s(e,t){var n=this,r=[],a=t.reduce(function(e,t){var a=t[n.name];return a?(r.push("\n Feature.name:"+t.name+" <-- promotes "+n.name+" AspectContent"),Array.isArray(a)?(e.push.apply(e,o(a)),a.forEach(function(e){return e.featureName=t.name})):(e.push(a),a.featureName=t.name)):r.push("\n Feature.name:"+t.name),e},[]);if(a.length>0)E("assembleFeatureContent() gathered routes from the following Features: "+r);else{if(!this.config.allowNoRoutes$)throw Error("***ERROR*** feature-router found NO routes within your features ... did you forget to register Feature."+this.name+" aspects in your features? (please refer to the feature-router docs to see how to override this behavior).");Array.isArray(this.config.allowNoRoutes$)?(E.force("WARNING: NO routes were found in your Features (i.e. Feature."+this.name+"), but client override (routeAspect.config.allowNoRoutes$=[{routes}];) directed a continuation WITH specified routes."),a=this.config.allowNoRoutes$):E.force("WARNING: NO routes were found in your Features (i.e. Feature."+this.name+"), but client override (routeAspect.config.allowNoRoutes$=truthy;) directed a continuation WITHOUT feature-router.")}this.routes=a}function c(e,t){if(0===this.routes.length)return t;if(t)throw Error("***ERROR*** Please register routeAspect (from feature-router) before other Aspects that inject content in the rootAppElm ... <StateRouter> does NOT support children.");return E("initialRootAppElm() introducing <StateRouter> component into rootAppElm"),d.default.createElement(h.default,{routes:this.routes,fallbackElm:this.config.fallbackElm$,componentDidUpdateHook:this.config.componentDidUpdateHook$,namedDependencies:{fassets:e}})}t.__esModule=!0,t.logf=void 0,t.default=i;var f=n(1),d=r(f),p=n(22),m=n(79),h=r(m),v=n(35),y=r(v),g=n(3),b=r(g),w=n(7),k=r(w),E=t.logf=p.launchApp.diag.logf.newLogger("- ***feature-router*** routeAspect: ")},function(e,t,n){"use strict";(function(r){function o(e){return e&&e.__esModule?e:{default:e}}function a(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"!==(void 0===t?"undefined":d(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 "+(void 0===t?"undefined":d(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)}function l(e,t){return e===t?0!==e||1/e==1/t:e!==e&&t!==t}function s(e){var t=[];return{on:function(e){t.push(e)},off:function(e){t=t.filter(function(t){return t!==e})},get:function(){return e},set:function(n,r){e=n,t.forEach(function(t){return t(e,r)})}}}function c(e){return Array.isArray(e)?e[0]:e}function f(e,t){var n,o,f="__create-react-context-"+(0,y.default)()+"__",d=function(e){function n(){var t,r,o;a(this,n);for(var u=arguments.length,l=Array(u),c=0;u>c;c++)l[c]=arguments[c];return t=r=i(this,e.call.apply(e,[this].concat(l))),r.emitter=s(r.props.value),o=t,i(r,o)}return u(n,e),n.prototype.getChildContext=function(){var e;return e={},e[f]=this.emitter,e},n.prototype.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n=this.props.value,o=e.value,a=void 0;l(n,o)?a=0:(a="function"==typeof t?t(n,o):w,"production"!==r.env.NODE_ENV&&(0,b.default)((a&w)===a,"calculateChangedBits: Expected the return value to be a 31-bit integer. Instead received: %s",a),0!==(a|=0)&&this.emitter.set(e.value,a))}},n.prototype.render=function(){return this.props.children},n}(p.Component);d.childContextTypes=(n={},n[f]=h.default.object.isRequired,n);var m=function(t){function n(){var e,r,o;a(this,n);for(var u=arguments.length,l=Array(u),s=0;u>s;s++)l[s]=arguments[s];return e=r=i(this,t.call.apply(t,[this].concat(l))),r.state={value:r.getValue()},r.onUpdate=function(e,t){0!=((0|r.observedBits)&t)&&r.setState({value:r.getValue()})},o=e,i(r,o)}return u(n,t),n.prototype.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=void 0===t||null===t?w:t},n.prototype.componentDidMount=function(){this.context[f]&&this.context[f].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=void 0===e||null===e?w:e},n.prototype.componentWillUnmount=function(){this.context[f]&&this.context[f].off(this.onUpdate)},n.prototype.getValue=function(){return this.context[f]?this.context[f].get():e},n.prototype.render=function(){return c(this.props.children)(this.state.value)},n}(p.Component);return m.contextTypes=(o={},o[f]=h.default.object,o),{Provider:d,Consumer:m}}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.__esModule=!0;var p=n(1),m=(o(p),n(24)),h=o(m),v=n(47),y=o(v),g=n(41),b=o(g),w=1073741823;t.default=f,e.exports=t.default}).call(t,n(0))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(1),a=r(o),i=n(38),u=r(i);t.default=a.default.createContext||u.default,e.exports=t.default},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";(function(t){var r=n(40),o=r;if("production"!==t.env.NODE_ENV){var a=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;t>r;r++)n[r-1]=arguments[r];var o=0,a="Warning: "+e.replace(/%s/g,function(){return n[o++]});"undefined"!=typeof console&&console.error(a);try{throw Error(a)}catch(e){}};o=function(e,t){if(void 0===t)throw Error("`warning(condition, format, ...args)` requires a warning message argument");if(0!==t.indexOf("Failed Composite propType: ")&&!e){for(var n=arguments.length,r=Array(n>2?n-2:0),o=2;n>o;o++)r[o-2]=arguments[o];a.apply(void 0,[t].concat(r))}}}e.exports=o}).call(t,n(0))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=i.default.prefix("assertNoRootAppElm() parameter violation: ");if(n(t,"className is required"),n((0,l.default)(t),"className must be a string"),e){var r="***ERROR*** "+t+" does NOT support children but another feature/aspect is attempting to inject it's content. Please resolve either by adjusting the feature expansion order, or promoting "+t+" through the conflicting artifact.";throw c.default.force(r+" ... conflicting artifact:",c.default.elm2html(e)),Error(r)}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var a=n(2),i=r(a),u=n(4),l=r(u),s=n(6),c=r(s)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)0>t.indexOf(r)&&Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(e){return Array.isArray(e)?e:Array.from(e)}function i(e){var t={},n={},r="",i={},h={},y={get:function(e){var t=v.default.prefix("fassets.get() parameter violation: ");t(e,"fassetsKey is required"),t((0,g.default)(e),"fassetsKey must be a string ... "+e);var o=e.split("@"),i=a(o),u=i[0],l=i.slice(1);t(u,"fassetsKey: '"+e+"' cannot contain only directives");var s=l.reduce(function(n,r){return"withKeys"===r?n.withKeys=!0:t(!1,"fassetsKey: '"+e+"' contains an unrecognized keyword directive: '@"+r+"'"),n},{}),d=s.withKeys,m=void 0!==d&&d,b=h[e];if(b)return"UNDEFINED"===b?void 0:b;var w=function(e){var t="."===e?y:n[e]?n[e].val:void 0;return m?[e,t]:t};if(c(u)){b=f(r,p(u)).map(function(e){return w(e)})}else b=w(u);return h[e]=void 0===b?"UNDEFINED":b,b},hasFeature:function(e){var n=v.default.prefix("fassets.hasFeature() parameter violation: ");return n(e,"featureName is required"),n((0,g.default)(e),"featureName must be a string"),!!t[e]}},b=e.filter(function(e){return void 0!==e.publicFace}).map(function(e){return e.name});b.length>0&&(0,v.default)(!1,"The OBSOLETE Feature.publicFace is still in-use in the following features: "+b+"\n... as of feature-u@1 the publicFace builtin aspect has been replaced with fassets\n... see: https://feature-u.js.org/cur/history.html#v1_0_0"),e.forEach(function(e){t[e.name]=!0}),e.filter(function(e){return void 0!==e.fassets}).forEach(function(e){var t=v.default.prefix("Feature.name: '"+e.name+'\' ... ERROR in "fassets" aspect: '),n=e.fassets;t((0,w.default)(n),"the fassets aspect MUST BE an object literal");var r=o(n,["define","use","defineUse"]),a=Object.keys(r);t(0===a.length,"unrecognized fassets directive(s): "+a+" ... expecting only: define/use/defineUse")}),e.filter(function(e){return void 0!==e.fassets}).forEach(function(e){var t=v.default.prefix("Feature.name: '"+e.name+'\' ... ERROR in "fassets" aspect, "define/defineUse" directive: '),o=e.fassets;Object.keys(o).filter(function(e){return"define"===e||"defineUse"===e}).forEach(function(a){var i=o[a];t((0,w.default)(i),"the "+a+" directive MUST BE an object literal"),Object.keys(i).forEach(function(o){var s=i[o];t("get"!==o&&"hasFeature"!==o,"fassets."+a+".'"+o+"' is a reserved word"),l(o,t);var c=n[o];c&&t(!c,"fassets."+a+".'"+o+"' is NOT unique ... previously defined in Feature.name: '"+c.definingFeature+"'"),n[o]={val:s,definingFeature:e.name,defineUse:"defineUse"===a},r+=o+"\n",u(o,s,y,t)})})}),""!==r&&(r=r.slice(0,-1)),e.filter(function(e){return void 0!==e.fassets&&void 0!==e.fassets.use}).forEach(function(e){var t=v.default.prefix("Feature.name: '"+e.name+'\' ... ERROR in "fassets" aspect, "use" directive: '),n=e.fassets.use;t(Array.isArray(n),"the use directive MUST BE an array"),n.forEach(function(n){var r=s(n,t),o=r.useKey,a=r.required,u=r.validateFn;i[o]?(i[o].required=i[o].required||a,i[o].definingFeatures.push(e.name),t(i[o].validateFn===u,"cannot accumulate duplicate 'use' contract from multiple features: ["+i[o].definingFeatures+"] ... the type validateFns are NOT the same")):i[o]={usingWildCard:c(o),required:a,validateFn:u,definingFeatures:[e.name]}})});var k=[];if(T.MyObj.entries(n).forEach(function(e){var t=m(e,2),n=t[0],r=t[1];T.MyObj.entries(i).filter(function(e){var t=m(e,2),r=t[0];return d(n,p(r))}).forEach(function(e){var t=m(e,2),o=t[0],a=t[1],i=a.validateFn(r.val);i&&k.push("VALIDATION ERROR in resource: '"+n+"', expecting: "+i+" ... resource defined in Feature: '"+r.definingFeature+"', usage contract '"+o+"' found in Feature: '"+a.definingFeatures+"'")})}),T.MyObj.entries(i).forEach(function(e){var t=m(e,2),n=t[0],r=t[1];if(r.required){var o=y.get(n);(void 0===o||r.usingWildCard&&0===o.length)&&k.push("REQUIRED RESOURCE NOT FOUND, usage contract '"+n+"' (found in Feature: '"+r.definingFeatures+"') specifies a REQUIRED resource, but NO matches were found")}}),T.MyObj.entries(n).filter(function(e){var t=m(e,2);return t[1].defineUse}).forEach(function(e){var t=m(e,2),n=t[0],r=t[1],o=!1;for(var a in i)if(d(n,p(a))){o=!0;break}o||k.push("ERROR defineUse '"+n+"' directive MUST match at least one usage contract, but does NOT ... is this misspelled? (found in Feature: '"+r.definingFeature+"')")}),1===k.length?(0,v.default)(!1,k[0]):k.length>1&&(0,v.default)(!1,k.length+" validation errors were found during Feature.fasset resource accumulation:\n"+k.join("\n")),_={},P.default.isEnabled()){var E=e.reduce(function(e,t){return t.fassets?e+1:e},0),x=e.map(function(e){return"\n Feature.name:"+e.name+(e.fassets?" <-- defines: fassets":"")});(0,P.default)("cross-feature-communication ... INTERPRETING: Feature.fassets ... "+E+" hooks:"+x),(0,P.default)("cross-feature-communication ... fassets define/defineUse directives: ",n),(0,P.default)("cross-feature-communication ... fassets use directives: ",i),(0,P.default)("cross-feature-communication ... resolved fassets object: ",y)}return y}function u(e,t,n,r){var o=e.split("."),a=o.pop(),i=o.reduce(function(t,n){return t[n]?r((0,w.default)(t[n]),"while normalizing the fassets '"+e+"' key, a conflict was detected with another feature at the '"+n+"' node (it is NOT an object)"):t[n]={},t[n]},n);r(!i[a],"while normalizing the fassets '"+e+"' key, a conflict was detected with another feature at the '"+a+"' node (overwriting existing data)"),i[a]=t}function l(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r="fassetsKey: '"+e+"' is invalid (NOT a JS identifier) ...",o=/^[_a-zA-Z\*][_a-zA-Z0-9\*]*$/,a=/^[_a-zA-Z][_a-zA-Z0-9]*$/,i=o;t(!d(e,/[\n\r]/),r+" contains unsupported cr/lf"),n||(t(!d(e,/\*/),r+" wildcards are not supported"),i=a),e.split(".").forEach(function(e){t(""!==e,r+" contains invalid empty string"),t(d(e,i),r+" each node must conform to a JS indentifier (less $ support)")})}function s(e,t){var n={};if((0,g.default)(e))n.useKey=e,n.required=!0,n.validateFn=S.default.any;else if(Array.isArray(e)){t(2===e.length,'"use" entry must either be a string or a string/options in a two-element array ... incorrect array size: '+e.length);var r=m(e,2),a=r[0],i=r[1];t((0,g.default)(a),'"use" entry with options (two-element array), first element is NOT a string'),t((0,w.default)(i),'"use" entry with options (two-element array), second element is NOT an object');var u=i.required,s=void 0===u||u,c=i.type,f=void 0===c?S.default.any:c,d=o(i,["required","type"]),p=Object.keys(d);t(0===p.length,'"use" entry with options (two-element array), options have unrecognized entries: '+p+" ... expecting only: required/type"),n.useKey=a,n.required=s,n.validateFn=f}else t(!1,'"use" entry must either be a string or a string/options in a two-element array');return l(n.useKey,t,!0),t(!0===n.required||!1===n.required,'"use" entry with options (\''+n.useKey+"'), 'required' entry must be true/false"),t((0,E.default)(n.validateFn),'"use" entry with options (\''+n.useKey+"'), 'type' entry must be a fassetValidationFn"),n}function c(e){return e.includes("*")}function f(e,t){return t.lastIndex=0,e.match(t)||[]}function d(e,t){return t.lastIndex=0,t.test(e)}function p(e){var t=e,n=_[e];return n||(t=t.replace(/\./g,"\\."),t=t.replace(/\*/g,".*"),t="^"+t+"$",n=RegExp(t,"gm"),_[e]=n,n)}Object.defineProperty(t,"__esModule",{value:!0});var m=function(){function e(e,t){var n=[],r=!0,o=!1,a=void 0;try{for(var i,u=e[Symbol.iterator]();!(r=(i=u.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{!r&&u.return&&u.return()}finally{if(o)throw a}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.default=i,t.containsWildCard=c,t.matchAll=f,t.isMatch=d,t.createRegExp=p;var h=n(2),v=r(h),y=n(4),g=r(y),b=n(7),w=r(b),k=n(3),E=r(k),x=n(20),S=r(x),T=n(14),C=n(6),P=r(C),_={}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=i.default.prefix("expandWithFassets() parameter violation: ");return t(e,"expandWithFassetsCB is required"),t((0,l.default)(e),"expandWithFassetsCB must be a function"),e.expandWithFassets=!0,e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var a=n(2),i=r(a),u=n(3),l=r(u)},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 a(e,t){var n={};for(var r in e)0>t.indexOf(r)&&Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function i(){function e(e,t){e===g.msg&&t===g.err||(g.msg=e,g.err=t,s(e,t))}var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.features,r=t.aspects,o=void 0===r?[]:r,i=t.registerRootAppElm,l=t.showStatus,s=void 0===l?u:l,c=a(t,["features","aspects","registerRootAppElm","showStatus"]);(0,E.default)("STARTING: - your application is now starting up"),x=1;var f=h.default.prefix("launchApp() parameter violation: "),d=S.alch.genesis(o);f(n,"features is required"),f(Array.isArray(n),"features must be a Feature[] array"),f(i,"registerRootAppElm is required"),f((0,p.default)(i),"registerRootAppElm must be a function"),f(s,"showStatus is required"),f((0,p.default)(s),"showStatus must be a function");var m=Object.keys(c);f(0===m.length,"unrecognized named parameter(s): "+m),f(1===arguments.length,"unrecognized positional parameters (only named parameters can be specified)"),S.helper.validateAspectProperties(o),S.alch.validateFeatureContent(n,d);var v=S.helper.pruneActiveFeatures(n),y=(0,b.default)(v);S.alch.expandFeatureContent(y,v,o),S.alch.assembleFeatureContent(y,v,o),S.alch.assembleAspectResources(y,o),i(S.helper.defineRootAppElm(y,v,o),y);var g={msg:void 0,err:void 0};return S.flch.appInit(y,v,o,e).then(function(){try{S.flch.appDidStart(y,v,o),(0,E.default)("COMPLETE: Your application has now started")}catch(n){var t="A problem was encountered in a appDidStart() life-cycle hook";(0,E.default)("INCOMPLETE: Your application did NOT start ... "+t,n),e(t,n)}}),y}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n="STATUS CHANGE (from appInit() life cycle hook): '"+e+"'";t?E.default.force(n+" WITH ERROR: "+t,t):E.default.force(n)}Object.defineProperty(t,"__esModule",{value:!0}),t.op=void 0;var l=function(){function e(e,t){for(var n=0;t.length>n;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}}(),s=function(){function e(e,t){var n=[],r=!0,o=!1,a=void 0;try{for(var i,u=e[Symbol.iterator]();!(r=(i=u.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{!r&&u.return&&u.return()}finally{if(o)throw a}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to