brew-js-react 0.1.10 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -175,6 +175,7 @@ __webpack_require__.d(src_namespaceObject, {
175
175
  "Mixin": () => (Mixin),
176
176
  "ScrollableMixin": () => (ScrollableMixin),
177
177
  "StatefulMixin": () => (StatefulMixin),
178
+ "ViewStateContainer": () => (ViewStateContainer),
178
179
  "createDialog": () => (createDialog),
179
180
  "default": () => (src),
180
181
  "isViewMatched": () => (isViewMatched),
@@ -195,7 +196,9 @@ __webpack_require__.d(src_namespaceObject, {
195
196
  "useMixin": () => (useMixin),
196
197
  "useMixinRef": () => (useMixinRef),
197
198
  "useRouteParam": () => (useRouteParam),
198
- "useScrollableMixin": () => (useScrollableMixin)
199
+ "useRouteState": () => (useRouteState),
200
+ "useScrollableMixin": () => (useScrollableMixin),
201
+ "useViewContainerState": () => (useViewContainerState)
199
202
  });
200
203
 
201
204
  // EXTERNAL MODULE: external {"commonjs":"brew-js","commonjs2":"brew-js","amd":"brew-js","root":"brew"}
@@ -222,6 +225,7 @@ var external_commonjs_zeta_dom_commonjs2_zeta_dom_amd_zeta_dom_root_zeta_ = __we
222
225
 
223
226
  var _lib$util = external_commonjs_zeta_dom_commonjs2_zeta_dom_amd_zeta_dom_root_zeta_.util,
224
227
  noop = _lib$util.noop,
228
+ pipe = _lib$util.pipe,
225
229
  either = _lib$util.either,
226
230
  is = _lib$util.is,
227
231
  isUndefinedOrNull = _lib$util.isUndefinedOrNull,
@@ -457,6 +461,8 @@ function Dialog(props) {
457
461
  }, [dialog]);
458
462
  return /*#__PURE__*/external_commonjs_react_dom_commonjs2_react_dom_amd_react_dom_root_ReactDOM_.createPortal(props.children, dialog.root);
459
463
  }
464
+ // EXTERNAL MODULE: external "zeta-dom-react"
465
+ var external_zeta_dom_react_ = __webpack_require__(103);
460
466
  ;// CONCATENATED MODULE: ./tmp/brew-js/defaults.js
461
467
 
462
468
  var defaults_defaultExport = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.defaults;
@@ -475,10 +481,216 @@ install('react', function (app_) {
475
481
  app_app = app_;
476
482
  });
477
483
  brew_js_defaults.react = true;
484
+ ;// CONCATENATED MODULE: ./tmp/zeta-dom/domLock.js
485
+
486
+ var domLock_lib$dom = external_commonjs_zeta_dom_commonjs2_zeta_dom_amd_zeta_dom_root_zeta_.dom,
487
+ lock = domLock_lib$dom.lock,
488
+ locked = domLock_lib$dom.locked,
489
+ cancelLock = domLock_lib$dom.cancelLock,
490
+ notifyAsync = domLock_lib$dom.notifyAsync,
491
+ preventLeave = domLock_lib$dom.preventLeave;
492
+
493
+ ;// CONCATENATED MODULE: ./src/include/zeta-dom/domLock.js
494
+
495
+ ;// CONCATENATED MODULE: ./tmp/brew-js/anim.js
496
+
497
+ var animateIn = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.animateIn,
498
+ animateOut = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.animateOut,
499
+ addAnimateIn = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.addAnimateIn,
500
+ addAnimateOut = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.addAnimateOut;
501
+
502
+ ;// CONCATENATED MODULE: ./src/include/brew-js/anim.js
503
+
504
+ ;// CONCATENATED MODULE: ./src/view.js
505
+
506
+
507
+
508
+
509
+
510
+
511
+
512
+
513
+ var view_root = zeta_dom_dom.root;
514
+ var routeMap = new Map();
515
+ var usedParams = {};
516
+ var StateContext = /*#__PURE__*/external_commonjs_react_commonjs2_react_amd_react_root_React_.createContext(Object.freeze({
517
+ active: true
518
+ }));
519
+ var stateId;
520
+
521
+ function ViewContainer() {
522
+ /** @type {any} */
523
+ var self = this;
524
+ external_commonjs_react_commonjs2_react_amd_react_root_React_.Component.apply(self, arguments);
525
+ self.mounted = false;
526
+
527
+ if (!stateId) {
528
+ stateId = history.state;
529
+ app_app.on('navigate', function () {
530
+ stateId = history.state;
531
+ });
532
+ }
533
+
534
+ self.componentWillUnmount = app_app.on('navigate', function () {
535
+ if (self.mounted && self.getViewComponent()) {
536
+ self.forceUpdate();
537
+ }
538
+ });
539
+ }
540
+
541
+ definePrototype(ViewContainer, external_commonjs_react_commonjs2_react_amd_react_root_React_.Component, {
542
+ componentDidMount: function componentDidMount() {
543
+ this.mounted = true;
544
+ },
545
+ componentDidCatch: function componentDidCatch(error) {
546
+ zeta_dom_dom.emit('error', this.parentElement || view_root, {
547
+ error: error
548
+ }, true);
549
+ },
550
+ render: function render() {
551
+ /** @type {any} */
552
+ var self = this;
553
+ var resolve;
554
+ var promise = new Promise(function (_resolve) {
555
+ resolve = _resolve;
556
+ });
557
+ var V = self.getViewComponent();
558
+
559
+ if (V && V !== self.currentViewComponent) {
560
+ self.currentViewComponent = V;
561
+
562
+ if (self.currentView && self.currentElement) {
563
+ self.prevView = self.currentView;
564
+ self.prevElement = self.currentElement;
565
+ self.currentElement = undefined;
566
+ animateOut(self.prevElement, 'show').then(function () {
567
+ self.prevElement = undefined;
568
+ self.prevView = undefined;
569
+ self.forceUpdate();
570
+ });
571
+ }
572
+
573
+ var providerProps = {
574
+ key: routeMap.get(V).id,
575
+ value: {}
576
+ };
577
+ var view = /*#__PURE__*/external_commonjs_react_commonjs2_react_amd_react_root_React_.createElement(StateContext.Provider, providerProps, /*#__PURE__*/external_commonjs_react_commonjs2_react_amd_react_root_React_.createElement(ViewStateContainer, null, /*#__PURE__*/external_commonjs_react_commonjs2_react_amd_react_root_React_.createElement(V, {
578
+ rootProps: self.props.rootProps,
579
+ onComponentLoaded: function onComponentLoaded(element) {
580
+ self.currentElement = element;
581
+ self.parentElement = element.parentElement;
582
+ util_setImmediate(function () {
583
+ resolve();
584
+ return animateIn(element, 'show');
585
+ });
586
+ }
587
+ })));
588
+ defineGetterProperty(providerProps.value, 'active', function () {
589
+ return self.currentView === view;
590
+ });
591
+ self.currentView = view;
592
+ } else {
593
+ resolve();
594
+ }
595
+
596
+ notifyAsync(self.parentElement || view_root, promise);
597
+ return /*#__PURE__*/external_commonjs_react_commonjs2_react_amd_react_root_React_.createElement(external_commonjs_react_commonjs2_react_amd_react_root_React_.Fragment, null, self.prevView, self.currentView);
598
+ },
599
+ getViewComponent: function getViewComponent() {
600
+ var props = this.props;
601
+ return any(props.views, isViewMatched) || history.state === stateId && void redirectTo(props.defaultView);
602
+ }
603
+ });
604
+ function useViewContainerState() {
605
+ return external_commonjs_react_commonjs2_react_amd_react_root_React_.useContext(StateContext);
606
+ }
607
+ function isViewMatched(view) {
608
+ var params = routeMap.get(view);
609
+ return !!params && false === any(params.matchers, function (v, i) {
610
+ var value = app_app.route[i] || '';
611
+ return isFunction(v) ? !v(value) : (v || '') !== value;
612
+ });
613
+ }
614
+ function registerView(factory, routeParams) {
615
+ var Component = function Component(props) {
616
+ var state = (0,external_zeta_dom_react_.useAsync)(factory);
617
+ var ref = (0,external_commonjs_react_commonjs2_react_amd_react_root_React_.useRef)();
618
+
619
+ if (state[0] || state[1].error) {
620
+ (props.onComponentLoaded || noop)(ref.current);
621
+ }
622
+
623
+ return /*#__PURE__*/external_commonjs_react_commonjs2_react_amd_react_root_React_.createElement('div', extend({}, props.rootProps, {
624
+ ref: ref,
625
+ children: state[0] && /*#__PURE__*/external_commonjs_react_commonjs2_react_amd_react_root_React_.createElement(state[0]["default"])
626
+ }));
627
+ };
628
+
629
+ routeParams = extend({}, routeParams);
630
+ each(routeParams, function (i, v) {
631
+ usedParams[i] = true;
632
+
633
+ if (v instanceof RegExp) {
634
+ routeParams[i] = v.test.bind(v);
635
+ }
636
+ });
637
+ routeMap.set(Component, {
638
+ id: randomId(),
639
+ matchCount: keys(routeParams).length,
640
+ matchers: routeParams,
641
+ params: pick(routeParams, function (v) {
642
+ return typeof v === 'string';
643
+ })
644
+ });
645
+ return Component;
646
+ }
647
+ function renderView() {
648
+ var views = makeArray(arguments);
649
+ var rootProps = isFunction(views[0]) ? {} : views.shift();
650
+ var defaultView = views[0];
651
+ views.sort(function (a, b) {
652
+ return (routeMap.get(b) || {}).matchCount - (routeMap.get(a) || {}).matchCount;
653
+ });
654
+ return /*#__PURE__*/external_commonjs_react_commonjs2_react_amd_react_root_React_.createElement(ViewContainer, {
655
+ rootProps: rootProps,
656
+ views: views,
657
+ defaultView: defaultView
658
+ });
659
+ }
660
+ function linkTo(view, params) {
661
+ var viewParams = (routeMap.get(view) || {}).params;
662
+ var newParams = {};
663
+
664
+ for (var i in app_app.route) {
665
+ if (viewParams && i in viewParams) {
666
+ newParams[i] = viewParams[i];
667
+ } else if (params && i in params) {
668
+ newParams[i] = params[i];
669
+ } else if (!usedParams[i]) {
670
+ newParams[i] = app_app.route[i];
671
+ }
672
+ }
673
+
674
+ return app_app.route.getPath(newParams);
675
+ }
676
+ function navigateTo(view, params) {
677
+ return app_app.navigate(linkTo(view, params));
678
+ }
679
+ function redirectTo(view, params) {
680
+ return app_app.navigate(linkTo(view, params), true);
681
+ }
478
682
  ;// CONCATENATED MODULE: ./src/hooks.js
479
683
 
480
684
 
481
685
 
686
+
687
+
688
+ var states = {};
689
+
690
+ function getCurrentStates() {
691
+ return states[history.state] || (states[history.state] = {});
692
+ }
693
+
482
694
  function useAppReady() {
483
695
  var sReady = (0,external_commonjs_react_commonjs2_react_amd_react_root_React_.useState)(false);
484
696
  var ready = sReady[0],
@@ -491,24 +703,75 @@ function useAppReady() {
491
703
  return ready;
492
704
  }
493
705
  function useRouteParam(name, defaultValue) {
494
- var sValue = (0,external_commonjs_react_commonjs2_react_amd_react_root_React_.useState)(app_app.route[name]);
706
+ var container = useViewContainerState();
707
+ var route = app_app.route;
708
+ var sValue = (0,external_commonjs_react_commonjs2_react_amd_react_root_React_.useState)(route[name]);
495
709
  var value = sValue[0],
496
710
  setValue = sValue[1];
497
711
  (0,external_commonjs_react_commonjs2_react_amd_react_root_React_.useEffect)(function () {
498
- var current = app_app.route[name]; // route parameter might be changed after state initialization and before useEffect hook is called
712
+ var current = route[name]; // route parameter might be changed after state initialization and before useEffect hook is called
499
713
 
500
714
  setValue(current);
501
- return app_app.route.watch(name, setValue);
715
+
716
+ if (name in route) {
717
+ return route.watch(name, function (value) {
718
+ util_setImmediate(function () {
719
+ if (container.active) {
720
+ setValue(value);
721
+ }
722
+ });
723
+ });
724
+ }
725
+
726
+ console.error('Route parameter ' + name + ' does not exist');
502
727
  }, [name, defaultValue]);
503
728
 
504
729
  if (!value && defaultValue !== undefined) {
505
- app_app.navigate(app_app.route.getPath(extend({}, app_app.route, kv(name, defaultValue))), true);
730
+ app_app.navigate(route.getPath(extend({}, route, kv(name, defaultValue))), true);
506
731
  }
507
732
 
508
733
  return value || '';
509
734
  }
510
- // EXTERNAL MODULE: external "zeta-dom-react"
511
- var external_zeta_dom_react_ = __webpack_require__(103);
735
+ function useRouteState(key, defaultValue) {
736
+ var container = useViewContainerState();
737
+ var cur = getCurrentStates();
738
+ var state = (0,external_commonjs_react_commonjs2_react_amd_react_root_React_.useState)(key in cur ? cur[key] : defaultValue);
739
+
740
+ if (container.active) {
741
+ cur[key] = state[0];
742
+ }
743
+
744
+ return state;
745
+ }
746
+ function ViewStateContainer(props) {
747
+ var container = useViewContainerState();
748
+ var provider = (0,external_commonjs_react_commonjs2_react_amd_react_root_React_.useState)(function () {
749
+ var cache = {};
750
+ return {
751
+ getState: function getState(uniqueId, key) {
752
+ var cur = getCurrentStates();
753
+ var state = cache[uniqueId] || (cache[uniqueId] = {
754
+ value: cur[key] && cur[key].value,
755
+ get: function get() {
756
+ return state.value;
757
+ },
758
+ set: function set(value) {
759
+ state.value = value;
760
+ }
761
+ });
762
+
763
+ if (container.active) {
764
+ cur[key] = state;
765
+ }
766
+
767
+ return state;
768
+ }
769
+ };
770
+ })[0];
771
+ return /*#__PURE__*/(0,external_commonjs_react_commonjs2_react_amd_react_root_React_.createElement)(external_zeta_dom_react_.ViewStateProvider, {
772
+ value: provider
773
+ }, props.children);
774
+ }
512
775
  // EXTERNAL MODULE: ./src/include/external/waterpipe.js
513
776
  var waterpipe = __webpack_require__(43);
514
777
  ;// CONCATENATED MODULE: ./src/i18n.js
@@ -531,7 +794,8 @@ if (toPrimitive) {
531
794
 
532
795
  function createCallback(translate) {
533
796
  var callback = function callback(key, data) {
534
- return translate(key, data, true);
797
+ var result = translate(key, data, true);
798
+ return result !== undefined ? result : key;
535
799
  };
536
800
 
537
801
  return extend(callback, {
@@ -553,46 +817,54 @@ function makeTranslation(resources, defaultLang) {
553
817
  var re = new RegExp('^(' + Object.keys(resources[defaultLang]).join('|') + ')\\.');
554
818
  var cache = {};
555
819
 
556
- function getTranslation(prefix, name, data, noEncode) {
557
- var str = ((resources[app_app.language] || empty)[prefix] || empty)[name] || ((resources[defaultLang] || empty)[prefix] || empty)[name] || '';
820
+ function getTranslation(prefix, name, data, noEncode, lang) {
821
+ var str = ((resources[lang] || empty)[prefix] || empty)[name];
558
822
 
559
- if (str && (!noEncode || data !== undefined)) {
560
- return waterpipe(str, data, {
561
- noEncode: noEncode
562
- });
823
+ if (typeof str === 'string') {
824
+ if (str && (!noEncode || data !== undefined)) {
825
+ return waterpipe(str, data, {
826
+ noEncode: noEncode
827
+ });
828
+ }
829
+
830
+ return str;
563
831
  }
564
832
 
565
- return str;
833
+ if (lang !== defaultLang) {
834
+ return getTranslation(prefix, name, data, noEncode, defaultLang);
835
+ }
566
836
  }
567
837
 
568
838
  function translate(key, data, noEncode) {
569
839
  var prefix = re.test(key) ? RegExp.$1 : '';
570
840
  var name = prefix ? key.slice(RegExp.lastMatch.length) : key;
571
- return getTranslation(prefix, name, data, noEncode) || key;
841
+ return getTranslation(prefix, name, data, noEncode, app_app.language);
572
842
  }
573
843
 
574
- function useTranslation() {
844
+ function getTranslationCallback() {
575
845
  var prefix = makeArray(arguments);
576
- var language = useLanguage();
577
- var t = translate;
578
-
579
- if (prefix[0]) {
580
- var key = prefix.join(' ');
581
- t = cache[key] || (cache[key] = createCallback(function (key, data, noEncode) {
582
- return single(prefix, function (v) {
583
- return getTranslation(v, key, data, noEncode);
584
- }) || key;
585
- }));
586
- }
846
+ var key = prefix.join(' ');
847
+ return cache[key] || (cache[key] = createCallback(function (key, data, noEncode) {
848
+ var lang = app_app.language;
849
+ return single(prefix, function (v) {
850
+ return getTranslation(v, key, data, noEncode, lang);
851
+ });
852
+ }));
853
+ }
587
854
 
855
+ function useTranslation() {
856
+ var language = useLanguage();
857
+ var t = getTranslationCallback.apply(0, arguments);
588
858
  return {
589
859
  language: language,
590
860
  t: t
591
861
  };
592
862
  }
593
863
 
864
+ cache[''] = createCallback(translate);
594
865
  return {
595
- translate: createCallback(translate),
866
+ translate: cache[''],
867
+ getTranslation: getTranslationCallback,
596
868
  useTranslation: useTranslation
597
869
  };
598
870
  }
@@ -1223,160 +1495,6 @@ function useMixinRef(mixin) {
1223
1495
  return mixin && mixin.getMixin().reset();
1224
1496
  }
1225
1497
 
1226
- ;// CONCATENATED MODULE: ./tmp/brew-js/anim.js
1227
-
1228
- var animateIn = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.animateIn,
1229
- animateOut = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.animateOut,
1230
- addAnimateIn = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.addAnimateIn,
1231
- addAnimateOut = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_brew_.addAnimateOut;
1232
-
1233
- ;// CONCATENATED MODULE: ./src/include/brew-js/anim.js
1234
-
1235
- ;// CONCATENATED MODULE: ./src/view.js
1236
-
1237
-
1238
-
1239
-
1240
-
1241
- var routeMap = new Map();
1242
- var usedParams = {};
1243
- var stateId;
1244
-
1245
- function ViewContainer() {
1246
- /** @type {any} */
1247
- var self = this;
1248
- external_commonjs_react_commonjs2_react_amd_react_root_React_.Component.apply(self, arguments);
1249
- self.mounted = false;
1250
-
1251
- if (!stateId) {
1252
- stateId = history.state;
1253
- app_app.on('navigate', function () {
1254
- stateId = history.state;
1255
- });
1256
- }
1257
-
1258
- self.componentWillUnmount = app_app.on('navigate', function () {
1259
- if (self.mounted && self.getViewComponent()) {
1260
- self.forceUpdate();
1261
- }
1262
- });
1263
- }
1264
-
1265
- definePrototype(ViewContainer, external_commonjs_react_commonjs2_react_amd_react_root_React_.Component, {
1266
- componentDidMount: function componentDidMount() {
1267
- this.mounted = true;
1268
- },
1269
- render: function render() {
1270
- /** @type {any} */
1271
- var self = this;
1272
- var V = self.getViewComponent();
1273
-
1274
- if (V && V !== self.currentViewComponent) {
1275
- self.currentViewComponent = V;
1276
-
1277
- if (self.currentView && self.currentElement) {
1278
- self.prevView = self.currentView;
1279
- self.prevElement = self.currentElement;
1280
- self.currentElement = undefined;
1281
- animateOut(self.prevElement, 'show').then(function () {
1282
- self.prevElement = undefined;
1283
- self.prevView = undefined;
1284
- self.forceUpdate();
1285
- });
1286
- }
1287
-
1288
- self.currentView = /*#__PURE__*/external_commonjs_react_commonjs2_react_amd_react_root_React_.createElement(V, {
1289
- key: routeMap.get(V).id,
1290
- rootProps: self.props.rootProps,
1291
- onComponentLoaded: function onComponentLoaded(element) {
1292
- self.currentElement = element;
1293
- util_setImmediate(function () {
1294
- return animateIn(element, 'show');
1295
- });
1296
- }
1297
- });
1298
- }
1299
-
1300
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_amd_react_root_React_.createElement(external_commonjs_react_commonjs2_react_amd_react_root_React_.Fragment, null, self.prevView, self.currentView);
1301
- },
1302
- getViewComponent: function getViewComponent() {
1303
- var props = this.props;
1304
- return any(props.views, isViewMatched) || history.state === stateId && void redirectTo(props.defaultView);
1305
- }
1306
- });
1307
- function isViewMatched(view) {
1308
- var params = routeMap.get(view);
1309
- return !!params && false === any(params.matchers, function (v, i) {
1310
- var value = app_app.route[i] || '';
1311
- return isFunction(v) ? !v(value) : (v || '') !== value;
1312
- });
1313
- }
1314
- function registerView(factory, routeParams) {
1315
- var Component = function Component(props) {
1316
- var Component = (0,external_zeta_dom_react_.useAsync)(factory)[0];
1317
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_amd_react_root_React_.createElement('div', extend({}, props.rootProps, {
1318
- ref: function ref(element) {
1319
- if (element && Component) {
1320
- (props.onComponentLoaded || noop)(element);
1321
- }
1322
- },
1323
- children: Component && /*#__PURE__*/external_commonjs_react_commonjs2_react_amd_react_root_React_.createElement(Component["default"])
1324
- }));
1325
- };
1326
-
1327
- routeParams = extend({}, routeParams);
1328
- each(routeParams, function (i, v) {
1329
- usedParams[i] = true;
1330
-
1331
- if (v instanceof RegExp) {
1332
- routeParams[i] = v.test.bind(v);
1333
- }
1334
- });
1335
- routeMap.set(Component, {
1336
- id: randomId(),
1337
- matchCount: keys(routeParams).length,
1338
- matchers: routeParams,
1339
- params: pick(routeParams, function (v) {
1340
- return typeof v === 'string';
1341
- })
1342
- });
1343
- return Component;
1344
- }
1345
- function renderView() {
1346
- var views = makeArray(arguments);
1347
- var rootProps = isFunction(views[0]) ? {} : views.shift();
1348
- var defaultView = views[0];
1349
- views.sort(function (a, b) {
1350
- return (routeMap.get(b) || {}).matchCount - (routeMap.get(a) || {}).matchCount;
1351
- });
1352
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_amd_react_root_React_.createElement(ViewContainer, {
1353
- rootProps: rootProps,
1354
- views: views,
1355
- defaultView: defaultView
1356
- });
1357
- }
1358
- function linkTo(view, params) {
1359
- var viewParams = (routeMap.get(view) || {}).params;
1360
- var newParams = {};
1361
-
1362
- for (var i in app_app.route) {
1363
- if (viewParams && i in viewParams) {
1364
- newParams[i] = viewParams[i];
1365
- } else if (params && i in params) {
1366
- newParams[i] = params[i];
1367
- } else if (!usedParams[i]) {
1368
- newParams[i] = app_app.route[i];
1369
- }
1370
- }
1371
-
1372
- return app_app.route.getPath(newParams);
1373
- }
1374
- function navigateTo(view, params) {
1375
- return app_app.navigate(linkTo(view, params));
1376
- }
1377
- function redirectTo(view, params) {
1378
- return app_app.navigate(linkTo(view, params), true);
1379
- }
1380
1498
  ;// CONCATENATED MODULE: ./src/index.js
1381
1499
 
1382
1500
  /* harmony default export */ const src = (brew_js_app);