bernie-core 982.772.0
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.
Potentially problematic release.
This version of bernie-core might be problematic. Click here for more details.
- package/dist/code-split.js +172 -0
- package/dist/components/get-providers.js +17 -0
- package/dist/components/index.js +14 -0
- package/dist/controller/get-controllers.js +25 -0
- package/dist/controller/index.js +18 -0
- package/dist/controller/match-route.js +34 -0
- package/dist/controller/result.js +21 -0
- package/dist/index.js +22 -0
- package/dist/logger/bernie-core-events.js +14 -0
- package/dist/logger/index.js +18 -0
- package/dist/logger/logger-provider.js +45 -0
- package/dist/logger/logger.js +44 -0
- package/dist/routing/close-dialog.js +19 -0
- package/dist/routing/dialog-route.js +69 -0
- package/dist/routing/index.js +24 -0
- package/dist/routing/matches-query.js +47 -0
- package/dist/routing/merge-query-string.js +29 -0
- package/dist/routing/query-route.js +90 -0
- package/dist/routing/query-switch.js +75 -0
- package/dist/routing/update-search.js +19 -0
- package/dist/source/bff-source.js +33 -0
- package/dist/source/index.js +16 -0
- package/dist/source/options/index.js +3 -0
- package/dist/source/spi/index.js +3 -0
- package/dist/store/common/analytics-store.js +250 -0
- package/dist/store/common/context-store.js +140 -0
- package/dist/store/common/experiment-store.js +64 -0
- package/dist/store/common/get-experiment-logger.js +80 -0
- package/dist/store/common/index.js +13 -0
- package/dist/store/common/page-store.js +102 -0
- package/dist/store/index.js +15 -0
- package/dist/store/spi/index.js +7 -0
- package/dist/store/spi/store-container.js +27 -0
- package/dist/store/spi/store.js +37 -0
- package/dist/util/autobind.js +44 -0
- package/dist/util/batch-queue.js +33 -0
- package/dist/util/brand-config.js +32 -0
- package/dist/util/debounce.js +19 -0
- package/dist/util/index.js +44 -0
- package/dist/util/merge.js +120 -0
- package/dist/util/not-serialize.js +43 -0
- package/dist/util/retry.js +21 -0
- package/dist/util/timeout-promise.js +17 -0
- package/dist/util/unique-batch-queue.js +40 -0
- package/index.js +28 -0
- package/package.json +22 -0
| @@ -0,0 +1,64 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
            var __extends = (this && this.__extends) || (function () {
         | 
| 3 | 
            +
                var extendStatics = function (d, b) {
         | 
| 4 | 
            +
                    extendStatics = Object.setPrototypeOf ||
         | 
| 5 | 
            +
                        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         | 
| 6 | 
            +
                        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
         | 
| 7 | 
            +
                    return extendStatics(d, b);
         | 
| 8 | 
            +
                };
         | 
| 9 | 
            +
                return function (d, b) {
         | 
| 10 | 
            +
                    extendStatics(d, b);
         | 
| 11 | 
            +
                    function __() { this.constructor = d; }
         | 
| 12 | 
            +
                    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
         | 
| 13 | 
            +
                };
         | 
| 14 | 
            +
            })();
         | 
| 15 | 
            +
            var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
         | 
| 16 | 
            +
                var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
         | 
| 17 | 
            +
                if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
         | 
| 18 | 
            +
                else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
         | 
| 19 | 
            +
                return c > 3 && r && Object.defineProperty(target, key, r), r;
         | 
| 20 | 
            +
            };
         | 
| 21 | 
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 22 | 
            +
            exports.ExperimentStore = void 0;
         | 
| 23 | 
            +
            var spi_1 = require("../spi");
         | 
| 24 | 
            +
            var bernie_logger_1 = require("bernie-logger");
         | 
| 25 | 
            +
            var mobx_1 = require("mobx");
         | 
| 26 | 
            +
            /**
         | 
| 27 | 
            +
             * Future home of Abacus related data. Currently just allows
         | 
| 28 | 
            +
             * `.logExperiment` to be injected.
         | 
| 29 | 
            +
             */
         | 
| 30 | 
            +
            var ExperimentStore = /** @class */ (function (_super) {
         | 
| 31 | 
            +
                __extends(ExperimentStore, _super);
         | 
| 32 | 
            +
                /**
         | 
| 33 | 
            +
                 * @param experimentLogger The experiment logger
         | 
| 34 | 
            +
                 * @param logger The standard logger
         | 
| 35 | 
            +
                 */
         | 
| 36 | 
            +
                function ExperimentStore(experimentContext, experimentLogger, logger) {
         | 
| 37 | 
            +
                    if (logger === void 0) { logger = bernie_logger_1.NOOP_LOGGER; }
         | 
| 38 | 
            +
                    var _this = _super.call(this, {}, logger) || this;
         | 
| 39 | 
            +
                    _this.experimentLogger = experimentLogger;
         | 
| 40 | 
            +
                    _this.exposures = experimentContext && experimentContext.exposures;
         | 
| 41 | 
            +
                    return _this;
         | 
| 42 | 
            +
                }
         | 
| 43 | 
            +
                /**
         | 
| 44 | 
            +
                 * Using the Abacus public API, log a batch of exposures.
         | 
| 45 | 
            +
                 * @param context The platform `Context`.
         | 
| 46 | 
            +
                 * @param pageData The `PageData` store containing `pageName`.
         | 
| 47 | 
            +
                 * @param exposure An Abacus exposure.
         | 
| 48 | 
            +
                 */
         | 
| 49 | 
            +
                ExperimentStore.prototype.logExperiment = function (context, pageData, exposure) {
         | 
| 50 | 
            +
                    this.experimentLogger(context, pageData, exposure);
         | 
| 51 | 
            +
                };
         | 
| 52 | 
            +
                /**
         | 
| 53 | 
            +
                 * Does nothing for now.
         | 
| 54 | 
            +
                 */
         | 
| 55 | 
            +
                ExperimentStore.prototype.hydrate = function (data) {
         | 
| 56 | 
            +
                    this.exposures = data.exposures;
         | 
| 57 | 
            +
                };
         | 
| 58 | 
            +
                __decorate([
         | 
| 59 | 
            +
                    mobx_1.observable
         | 
| 60 | 
            +
                ], ExperimentStore.prototype, "exposures", void 0);
         | 
| 61 | 
            +
                return ExperimentStore;
         | 
| 62 | 
            +
            }(spi_1.Store));
         | 
| 63 | 
            +
            exports.ExperimentStore = ExperimentStore;
         | 
| 64 | 
            +
            //# sourceMappingURL=experiment-store.js.map
         | 
| @@ -0,0 +1,80 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
            var __assign = (this && this.__assign) || function () {
         | 
| 3 | 
            +
                __assign = Object.assign || function(t) {
         | 
| 4 | 
            +
                    for (var s, i = 1, n = arguments.length; i < n; i++) {
         | 
| 5 | 
            +
                        s = arguments[i];
         | 
| 6 | 
            +
                        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
         | 
| 7 | 
            +
                            t[p] = s[p];
         | 
| 8 | 
            +
                    }
         | 
| 9 | 
            +
                    return t;
         | 
| 10 | 
            +
                };
         | 
| 11 | 
            +
                return __assign.apply(this, arguments);
         | 
| 12 | 
            +
            };
         | 
| 13 | 
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 14 | 
            +
            exports.getExperimentLogger = void 0;
         | 
| 15 | 
            +
            var fetch = require("isomorphic-fetch");
         | 
| 16 | 
            +
            var bernie_logger_1 = require("bernie-logger");
         | 
| 17 | 
            +
            var __1 = require("../..");
         | 
| 18 | 
            +
            var util_1 = require("../../util");
         | 
| 19 | 
            +
            var TIMEOUT = 400;
         | 
| 20 | 
            +
            /**
         | 
| 21 | 
            +
             * Retrieves and configures an `ExperimentLogger`.
         | 
| 22 | 
            +
             * @param options Configuration options, e.g. the base URL for server side calls
         | 
| 23 | 
            +
             */
         | 
| 24 | 
            +
            exports.getExperimentLogger = function (options) {
         | 
| 25 | 
            +
                var baseUrl = options.baseUrl || '';
         | 
| 26 | 
            +
                var logger = options.logger || bernie_logger_1.NOOP_LOGGER;
         | 
| 27 | 
            +
                var loggedExperiments = new Set();
         | 
| 28 | 
            +
                var queue;
         | 
| 29 | 
            +
                var fetchWithTimeout = function (url, requestOptions) {
         | 
| 30 | 
            +
                    var fetchOptions = requestOptions;
         | 
| 31 | 
            +
                    if (typeof window === 'undefined' && typeof options.timeout === 'number') {
         | 
| 32 | 
            +
                        fetchOptions = __assign(__assign({}, fetchOptions), { timeout: options.timeout });
         | 
| 33 | 
            +
                    }
         | 
| 34 | 
            +
                    return fetch(url, __assign({}, fetchOptions));
         | 
| 35 | 
            +
                };
         | 
| 36 | 
            +
                /**
         | 
| 37 | 
            +
                 * Using the Abacus public API, log a batch of exposures.
         | 
| 38 | 
            +
                 * @param context The platform `Context`.
         | 
| 39 | 
            +
                 * @param pageData The `PageData` store containing `pageName`.
         | 
| 40 | 
            +
                 * @param exposure An Abacus exposure.
         | 
| 41 | 
            +
                 */
         | 
| 42 | 
            +
                return function (context, pageData, exposure) {
         | 
| 43 | 
            +
                    var overrides = (context && context.debugContext && context.debugContext.abacusOverrides) || [];
         | 
| 44 | 
            +
                    if (queue === undefined) {
         | 
| 45 | 
            +
                        queue = new util_1.UniqueBatchQueue(TIMEOUT, function (e) { return e.name; }, function (exposures) {
         | 
| 46 | 
            +
                            fetchWithTimeout(baseUrl + "/api/bucketing/v1/evaluateExperimentsAndLog", {
         | 
| 47 | 
            +
                                body: JSON.stringify({
         | 
| 48 | 
            +
                                    guid: context.deviceId,
         | 
| 49 | 
            +
                                    tpid: context.site.tpid,
         | 
| 50 | 
            +
                                    eapid: context.site.eapid,
         | 
| 51 | 
            +
                                    pageName: pageData.pageName,
         | 
| 52 | 
            +
                                    name: exposures.map(function (item) { return item.name; }),
         | 
| 53 | 
            +
                                    overrides: overrides.map(function (override) { return override.id + "|0|" + override.bucket; }).join(':') || undefined
         | 
| 54 | 
            +
                                }),
         | 
| 55 | 
            +
                                headers: {
         | 
| 56 | 
            +
                                    'Content-Type': 'application/json',
         | 
| 57 | 
            +
                                    Accept: 'application/json'
         | 
| 58 | 
            +
                                },
         | 
| 59 | 
            +
                                method: 'POST'
         | 
| 60 | 
            +
                            })
         | 
| 61 | 
            +
                                .then(function (res) { return res.json(); })
         | 
| 62 | 
            +
                                .then(function () {
         | 
| 63 | 
            +
                                exposures.forEach(function (e) {
         | 
| 64 | 
            +
                                    loggedExperiments.add(e.name);
         | 
| 65 | 
            +
                                });
         | 
| 66 | 
            +
                            })
         | 
| 67 | 
            +
                                .catch(function (error) {
         | 
| 68 | 
            +
                                if (logger) {
         | 
| 69 | 
            +
                                    logger.logEvent(__1.BERNIE_CORE_EVENTS.LOG_EXPERIMENT_ERROR, bernie_logger_1.getErrorString(error));
         | 
| 70 | 
            +
                                }
         | 
| 71 | 
            +
                            });
         | 
| 72 | 
            +
                        });
         | 
| 73 | 
            +
                    }
         | 
| 74 | 
            +
                    if (!loggedExperiments.has(exposure.name)) {
         | 
| 75 | 
            +
                        queue.add(exposure);
         | 
| 76 | 
            +
                    }
         | 
| 77 | 
            +
                    return true;
         | 
| 78 | 
            +
                };
         | 
| 79 | 
            +
            };
         | 
| 80 | 
            +
            //# sourceMappingURL=get-experiment-logger.js.map
         | 
| @@ -0,0 +1,13 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 3 | 
            +
            var context_store_1 = require("./context-store");
         | 
| 4 | 
            +
            Object.defineProperty(exports, "ContextStore", { enumerable: true, get: function () { return context_store_1.ContextStore; } });
         | 
| 5 | 
            +
            var page_store_1 = require("./page-store");
         | 
| 6 | 
            +
            Object.defineProperty(exports, "PageStore", { enumerable: true, get: function () { return page_store_1.PageStore; } });
         | 
| 7 | 
            +
            var analytics_store_1 = require("./analytics-store");
         | 
| 8 | 
            +
            Object.defineProperty(exports, "AnalyticsStore", { enumerable: true, get: function () { return analytics_store_1.AnalyticsStore; } });
         | 
| 9 | 
            +
            var experiment_store_1 = require("./experiment-store");
         | 
| 10 | 
            +
            Object.defineProperty(exports, "ExperimentStore", { enumerable: true, get: function () { return experiment_store_1.ExperimentStore; } });
         | 
| 11 | 
            +
            var get_experiment_logger_1 = require("./get-experiment-logger");
         | 
| 12 | 
            +
            Object.defineProperty(exports, "getExperimentLogger", { enumerable: true, get: function () { return get_experiment_logger_1.getExperimentLogger; } });
         | 
| 13 | 
            +
            //# sourceMappingURL=index.js.map
         | 
| @@ -0,0 +1,102 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
            var __extends = (this && this.__extends) || (function () {
         | 
| 3 | 
            +
                var extendStatics = function (d, b) {
         | 
| 4 | 
            +
                    extendStatics = Object.setPrototypeOf ||
         | 
| 5 | 
            +
                        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
         | 
| 6 | 
            +
                        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
         | 
| 7 | 
            +
                    return extendStatics(d, b);
         | 
| 8 | 
            +
                };
         | 
| 9 | 
            +
                return function (d, b) {
         | 
| 10 | 
            +
                    extendStatics(d, b);
         | 
| 11 | 
            +
                    function __() { this.constructor = d; }
         | 
| 12 | 
            +
                    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
         | 
| 13 | 
            +
                };
         | 
| 14 | 
            +
            })();
         | 
| 15 | 
            +
            var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
         | 
| 16 | 
            +
                var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
         | 
| 17 | 
            +
                if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
         | 
| 18 | 
            +
                else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
         | 
| 19 | 
            +
                return c > 3 && r && Object.defineProperty(target, key, r), r;
         | 
| 20 | 
            +
            };
         | 
| 21 | 
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 22 | 
            +
            exports.PageStore = void 0;
         | 
| 23 | 
            +
            var spi_1 = require("../spi");
         | 
| 24 | 
            +
            var mobx_1 = require("mobx");
         | 
| 25 | 
            +
            /**
         | 
| 26 | 
            +
             * MobX store that houses page specific data, such
         | 
| 27 | 
            +
             * as SEO information or the page title.
         | 
| 28 | 
            +
             */
         | 
| 29 | 
            +
            var PageStore = /** @class */ (function (_super) {
         | 
| 30 | 
            +
                __extends(PageStore, _super);
         | 
| 31 | 
            +
                /**
         | 
| 32 | 
            +
                 * Constructs a new page store.
         | 
| 33 | 
            +
                 * @param title The HTML page title.
         | 
| 34 | 
            +
                 * @param seo SEO specific information.
         | 
| 35 | 
            +
                 * @param scripts JS scripts to include on page.
         | 
| 36 | 
            +
                 */
         | 
| 37 | 
            +
                function PageStore(pageData, logger) {
         | 
| 38 | 
            +
                    return _super.call(this, pageData, logger) || this;
         | 
| 39 | 
            +
                }
         | 
| 40 | 
            +
                /**
         | 
| 41 | 
            +
                 * {@inheritDoc}
         | 
| 42 | 
            +
                 */
         | 
| 43 | 
            +
                PageStore.prototype.hydrate = function (data) {
         | 
| 44 | 
            +
                    Object.assign(this, data);
         | 
| 45 | 
            +
                };
         | 
| 46 | 
            +
                PageStore.prototype.fetch = function (meta, site, locale) {
         | 
| 47 | 
            +
                    var _this = this;
         | 
| 48 | 
            +
                    this.loading = true;
         | 
| 49 | 
            +
                    var metadata = PageStore.getMeta(meta, site, locale);
         | 
| 50 | 
            +
                    this.title = metadata.title;
         | 
| 51 | 
            +
                    this.meta = metadata;
         | 
| 52 | 
            +
                    return new Promise(function (resolve) {
         | 
| 53 | 
            +
                        _this.loading = false;
         | 
| 54 | 
            +
                        resolve(_this.toJSON());
         | 
| 55 | 
            +
                    });
         | 
| 56 | 
            +
                };
         | 
| 57 | 
            +
                PageStore.getMeta = function (meta, site, locale) {
         | 
| 58 | 
            +
                    var robots = meta.robots;
         | 
| 59 | 
            +
                    var localeSpecificMeta = PageStore.localeSpecificMeta(meta, site.id, locale);
         | 
| 60 | 
            +
                    var description = localeSpecificMeta.description;
         | 
| 61 | 
            +
                    var title = localeSpecificMeta.title;
         | 
| 62 | 
            +
                    var canonical = meta.canonical && meta.canonical(site);
         | 
| 63 | 
            +
                    return {
         | 
| 64 | 
            +
                        title: title,
         | 
| 65 | 
            +
                        robots: robots,
         | 
| 66 | 
            +
                        description: description,
         | 
| 67 | 
            +
                        canonical: canonical
         | 
| 68 | 
            +
                    };
         | 
| 69 | 
            +
                };
         | 
| 70 | 
            +
                PageStore.localeSpecificMeta = function (meta, siteId, locale) {
         | 
| 71 | 
            +
                    var siteMeta = meta[siteId];
         | 
| 72 | 
            +
                    if (siteMeta) {
         | 
| 73 | 
            +
                        var result = siteMeta[locale];
         | 
| 74 | 
            +
                        if (!result) {
         | 
| 75 | 
            +
                            result = siteMeta.default || {};
         | 
| 76 | 
            +
                        }
         | 
| 77 | 
            +
                        return result;
         | 
| 78 | 
            +
                    }
         | 
| 79 | 
            +
                    return {};
         | 
| 80 | 
            +
                };
         | 
| 81 | 
            +
                __decorate([
         | 
| 82 | 
            +
                    mobx_1.observable
         | 
| 83 | 
            +
                ], PageStore.prototype, "title", void 0);
         | 
| 84 | 
            +
                __decorate([
         | 
| 85 | 
            +
                    mobx_1.observable
         | 
| 86 | 
            +
                ], PageStore.prototype, "navigationId", void 0);
         | 
| 87 | 
            +
                __decorate([
         | 
| 88 | 
            +
                    mobx_1.observable
         | 
| 89 | 
            +
                ], PageStore.prototype, "meta", void 0);
         | 
| 90 | 
            +
                __decorate([
         | 
| 91 | 
            +
                    mobx_1.observable
         | 
| 92 | 
            +
                ], PageStore.prototype, "seo", void 0);
         | 
| 93 | 
            +
                __decorate([
         | 
| 94 | 
            +
                    mobx_1.action
         | 
| 95 | 
            +
                ], PageStore.prototype, "hydrate", null);
         | 
| 96 | 
            +
                __decorate([
         | 
| 97 | 
            +
                    mobx_1.action
         | 
| 98 | 
            +
                ], PageStore.prototype, "fetch", null);
         | 
| 99 | 
            +
                return PageStore;
         | 
| 100 | 
            +
            }(spi_1.Store));
         | 
| 101 | 
            +
            exports.PageStore = PageStore;
         | 
| 102 | 
            +
            //# sourceMappingURL=page-store.js.map
         | 
| @@ -0,0 +1,15 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
            var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
         | 
| 3 | 
            +
                if (k2 === undefined) k2 = k;
         | 
| 4 | 
            +
                Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
         | 
| 5 | 
            +
            }) : (function(o, m, k, k2) {
         | 
| 6 | 
            +
                if (k2 === undefined) k2 = k;
         | 
| 7 | 
            +
                o[k2] = m[k];
         | 
| 8 | 
            +
            }));
         | 
| 9 | 
            +
            var __exportStar = (this && this.__exportStar) || function(m, exports) {
         | 
| 10 | 
            +
                for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
         | 
| 11 | 
            +
            };
         | 
| 12 | 
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 13 | 
            +
            __exportStar(require("./spi"), exports);
         | 
| 14 | 
            +
            __exportStar(require("./common"), exports);
         | 
| 15 | 
            +
            //# sourceMappingURL=index.js.map
         | 
| @@ -0,0 +1,7 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 3 | 
            +
            var store_1 = require("./store");
         | 
| 4 | 
            +
            Object.defineProperty(exports, "Store", { enumerable: true, get: function () { return store_1.Store; } });
         | 
| 5 | 
            +
            var store_container_1 = require("./store-container");
         | 
| 6 | 
            +
            Object.defineProperty(exports, "StoreContainer", { enumerable: true, get: function () { return store_container_1.StoreContainer; } });
         | 
| 7 | 
            +
            //# sourceMappingURL=index.js.map
         | 
| @@ -0,0 +1,27 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 3 | 
            +
            exports.StoreContainer = void 0;
         | 
| 4 | 
            +
            /**
         | 
| 5 | 
            +
             * Wraps an object containing MobX stores to all for
         | 
| 6 | 
            +
             * typed access.
         | 
| 7 | 
            +
             */
         | 
| 8 | 
            +
            var StoreContainer = /** @class */ (function () {
         | 
| 9 | 
            +
                /**
         | 
| 10 | 
            +
                 * Constructs a new `StoreContainer` from an object
         | 
| 11 | 
            +
                 * containing stores.
         | 
| 12 | 
            +
                 * @param stores A `Stores` object.
         | 
| 13 | 
            +
                 */
         | 
| 14 | 
            +
                function StoreContainer(stores) {
         | 
| 15 | 
            +
                    this.stores = stores;
         | 
| 16 | 
            +
                }
         | 
| 17 | 
            +
                /**
         | 
| 18 | 
            +
                 * Retrieves an individual store from the container.
         | 
| 19 | 
            +
                 * @param name The name of the store.
         | 
| 20 | 
            +
                 */
         | 
| 21 | 
            +
                StoreContainer.prototype.get = function (name) {
         | 
| 22 | 
            +
                    return this.stores[name];
         | 
| 23 | 
            +
                };
         | 
| 24 | 
            +
                return StoreContainer;
         | 
| 25 | 
            +
            }());
         | 
| 26 | 
            +
            exports.StoreContainer = StoreContainer;
         | 
| 27 | 
            +
            //# sourceMappingURL=store-container.js.map
         | 
| @@ -0,0 +1,37 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 3 | 
            +
            exports.Store = void 0;
         | 
| 4 | 
            +
            var mobx_1 = require("mobx");
         | 
| 5 | 
            +
            var merge_1 = require("../../util/merge");
         | 
| 6 | 
            +
            var Store = /** @class */ (function () {
         | 
| 7 | 
            +
                /**
         | 
| 8 | 
            +
                 * Constructs a new `Store`.
         | 
| 9 | 
            +
                 * @param state Serialized state JSON.
         | 
| 10 | 
            +
                 * @param logger Bernie logger
         | 
| 11 | 
            +
                 */
         | 
| 12 | 
            +
                function Store(state, logger) {
         | 
| 13 | 
            +
                    var _this = this;
         | 
| 14 | 
            +
                    if (state === void 0) { state = {}; }
         | 
| 15 | 
            +
                    var defaults = this.constructor['DEFAULTS'] || {};
         | 
| 16 | 
            +
                    mobx_1.runInAction(function () { return Object.assign(_this, defaults, state, { logger: logger }); });
         | 
| 17 | 
            +
                }
         | 
| 18 | 
            +
                /**
         | 
| 19 | 
            +
                 * Creates a basic JSON object from the store, excluding
         | 
| 20 | 
            +
                 * any fields provided in `excludedFields`.
         | 
| 21 | 
            +
                 */
         | 
| 22 | 
            +
                Store.prototype.toJSON = function (ignoreAdditionalKeys) {
         | 
| 23 | 
            +
                    if (ignoreAdditionalKeys === void 0) { ignoreAdditionalKeys = []; }
         | 
| 24 | 
            +
                    if (!Array.isArray(ignoreAdditionalKeys)) {
         | 
| 25 | 
            +
                        ignoreAdditionalKeys = ignoreAdditionalKeys.constructor === String ? [ignoreAdditionalKeys] : [];
         | 
| 26 | 
            +
                    }
         | 
| 27 | 
            +
                    var regexIgnorePrivate = /^_.+/;
         | 
| 28 | 
            +
                    var simpleObject = mobx_1.toJS(this);
         | 
| 29 | 
            +
                    var ignoreKeys = Object.keys(simpleObject)
         | 
| 30 | 
            +
                        .filter(function (key) { return regexIgnorePrivate.test(key) || typeof simpleObject[key] === 'function'; })
         | 
| 31 | 
            +
                        .concat(ignoreAdditionalKeys, 'logger');
         | 
| 32 | 
            +
                    return merge_1.withoutKeys(ignoreKeys).merge({}, simpleObject);
         | 
| 33 | 
            +
                };
         | 
| 34 | 
            +
                return Store;
         | 
| 35 | 
            +
            }());
         | 
| 36 | 
            +
            exports.Store = Store;
         | 
| 37 | 
            +
            //# sourceMappingURL=store.js.map
         | 
| @@ -0,0 +1,44 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 3 | 
            +
            exports.autobind = void 0;
         | 
| 4 | 
            +
            /*
         | 
| 5 | 
            +
             * Code pulled from https://github.com/andreypopp/autobind-decorator/blob/master/src/index.js
         | 
| 6 | 
            +
             *
         | 
| 7 | 
            +
             * A decorator that automatically bind a class method to an instance of that class.
         | 
| 8 | 
            +
             */
         | 
| 9 | 
            +
            exports.autobind = function (target, key, descriptor) {
         | 
| 10 | 
            +
                var fn = descriptor.value;
         | 
| 11 | 
            +
                if (typeof fn !== 'function') {
         | 
| 12 | 
            +
                    throw new Error("@autobind decorator can only be applied to methods not: " + typeof fn);
         | 
| 13 | 
            +
                }
         | 
| 14 | 
            +
                // In IE11 calling Object.defineProperty has a side-effect of evaluating the
         | 
| 15 | 
            +
                // getter for the property which is being replaced. This causes infinite
         | 
| 16 | 
            +
                // recursion and an "Out of stack space" error.
         | 
| 17 | 
            +
                var definingProperty = false;
         | 
| 18 | 
            +
                return {
         | 
| 19 | 
            +
                    configurable: true,
         | 
| 20 | 
            +
                    get: function () {
         | 
| 21 | 
            +
                        if (definingProperty || this === target.prototype || this.hasOwnProperty(key) || typeof fn !== 'function') {
         | 
| 22 | 
            +
                            return fn;
         | 
| 23 | 
            +
                        }
         | 
| 24 | 
            +
                        var boundFn = fn.bind(this);
         | 
| 25 | 
            +
                        definingProperty = true;
         | 
| 26 | 
            +
                        Object.defineProperty(this, key, {
         | 
| 27 | 
            +
                            configurable: true,
         | 
| 28 | 
            +
                            get: function () {
         | 
| 29 | 
            +
                                return boundFn;
         | 
| 30 | 
            +
                            },
         | 
| 31 | 
            +
                            set: function (value) {
         | 
| 32 | 
            +
                                fn = value;
         | 
| 33 | 
            +
                                delete this[key];
         | 
| 34 | 
            +
                            }
         | 
| 35 | 
            +
                        });
         | 
| 36 | 
            +
                        definingProperty = false;
         | 
| 37 | 
            +
                        return boundFn;
         | 
| 38 | 
            +
                    },
         | 
| 39 | 
            +
                    set: function (value) {
         | 
| 40 | 
            +
                        fn = value;
         | 
| 41 | 
            +
                    }
         | 
| 42 | 
            +
                };
         | 
| 43 | 
            +
            };
         | 
| 44 | 
            +
            //# sourceMappingURL=autobind.js.map
         | 
| @@ -0,0 +1,33 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 3 | 
            +
            exports.BatchQueue = void 0;
         | 
| 4 | 
            +
            /**
         | 
| 5 | 
            +
             * A Queue which will process elements at intervals, only if the
         | 
| 6 | 
            +
             * queue contains any elements.
         | 
| 7 | 
            +
             */
         | 
| 8 | 
            +
            var BatchQueue = /** @class */ (function () {
         | 
| 9 | 
            +
                function BatchQueue(batchPeriod, handler) {
         | 
| 10 | 
            +
                    this.batchPeriod = batchPeriod;
         | 
| 11 | 
            +
                    this.handler = handler;
         | 
| 12 | 
            +
                    this.timeoutId = null;
         | 
| 13 | 
            +
                    this.items = [];
         | 
| 14 | 
            +
                }
         | 
| 15 | 
            +
                BatchQueue.prototype.add = function (item) {
         | 
| 16 | 
            +
                    var _this = this;
         | 
| 17 | 
            +
                    this.items.push(item);
         | 
| 18 | 
            +
                    if (this.timeoutId === null) {
         | 
| 19 | 
            +
                        this.timeoutId = setTimeout(function () {
         | 
| 20 | 
            +
                            _this.handleBatch();
         | 
| 21 | 
            +
                        }, this.batchPeriod);
         | 
| 22 | 
            +
                    }
         | 
| 23 | 
            +
                };
         | 
| 24 | 
            +
                BatchQueue.prototype.handleBatch = function () {
         | 
| 25 | 
            +
                    var batch = this.items;
         | 
| 26 | 
            +
                    this.timeoutId = null;
         | 
| 27 | 
            +
                    this.items = [];
         | 
| 28 | 
            +
                    this.handler(batch);
         | 
| 29 | 
            +
                };
         | 
| 30 | 
            +
                return BatchQueue;
         | 
| 31 | 
            +
            }());
         | 
| 32 | 
            +
            exports.BatchQueue = BatchQueue;
         | 
| 33 | 
            +
            //# sourceMappingURL=batch-queue.js.map
         | 
| @@ -0,0 +1,32 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
            var __assign = (this && this.__assign) || function () {
         | 
| 3 | 
            +
                __assign = Object.assign || function(t) {
         | 
| 4 | 
            +
                    for (var s, i = 1, n = arguments.length; i < n; i++) {
         | 
| 5 | 
            +
                        s = arguments[i];
         | 
| 6 | 
            +
                        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
         | 
| 7 | 
            +
                            t[p] = s[p];
         | 
| 8 | 
            +
                    }
         | 
| 9 | 
            +
                    return t;
         | 
| 10 | 
            +
                };
         | 
| 11 | 
            +
                return __assign.apply(this, arguments);
         | 
| 12 | 
            +
            };
         | 
| 13 | 
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 14 | 
            +
            exports.getBrandConfiguration = void 0;
         | 
| 15 | 
            +
            var React = require("react");
         | 
| 16 | 
            +
            exports.getBrandConfiguration = function (brandData) {
         | 
| 17 | 
            +
                var iconSet = (brandData && brandData.iconData) || null;
         | 
| 18 | 
            +
                var getIcon = function (name) {
         | 
| 19 | 
            +
                    if (!iconSet || (!iconSet.icons[name] && !iconSet.nameMapping[name])) {
         | 
| 20 | 
            +
                        return null;
         | 
| 21 | 
            +
                    }
         | 
| 22 | 
            +
                    var iconDataVal = iconSet.nameMapping[name] || name;
         | 
| 23 | 
            +
                    return function (props) {
         | 
| 24 | 
            +
                        var innerSvgProps = __assign({ dangerouslySetInnerHTML: { __html: iconSet.icons[iconDataVal].data } }, props);
         | 
| 25 | 
            +
                        return React.createElement("svg", __assign({}, innerSvgProps));
         | 
| 26 | 
            +
                    };
         | 
| 27 | 
            +
                };
         | 
| 28 | 
            +
                return {
         | 
| 29 | 
            +
                    getIcon: getIcon
         | 
| 30 | 
            +
                };
         | 
| 31 | 
            +
            };
         | 
| 32 | 
            +
            //# sourceMappingURL=brand-config.js.map
         | 
| @@ -0,0 +1,19 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 3 | 
            +
            exports.debounce = void 0;
         | 
| 4 | 
            +
            exports.debounce = function (func, delay, thisContext) {
         | 
| 5 | 
            +
                var timer;
         | 
| 6 | 
            +
                return function () {
         | 
| 7 | 
            +
                    var args = [];
         | 
| 8 | 
            +
                    for (var _i = 0; _i < arguments.length; _i++) {
         | 
| 9 | 
            +
                        args[_i] = arguments[_i];
         | 
| 10 | 
            +
                    }
         | 
| 11 | 
            +
                    var callback = function () {
         | 
| 12 | 
            +
                        timer = null;
         | 
| 13 | 
            +
                        func.apply(thisContext || null, args);
         | 
| 14 | 
            +
                    };
         | 
| 15 | 
            +
                    clearTimeout(timer);
         | 
| 16 | 
            +
                    timer = setTimeout(callback, delay);
         | 
| 17 | 
            +
                };
         | 
| 18 | 
            +
            };
         | 
| 19 | 
            +
            //# sourceMappingURL=debounce.js.map
         | 
| @@ -0,0 +1,44 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
            var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
         | 
| 3 | 
            +
                if (k2 === undefined) k2 = k;
         | 
| 4 | 
            +
                Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
         | 
| 5 | 
            +
            }) : (function(o, m, k, k2) {
         | 
| 6 | 
            +
                if (k2 === undefined) k2 = k;
         | 
| 7 | 
            +
                o[k2] = m[k];
         | 
| 8 | 
            +
            }));
         | 
| 9 | 
            +
            var __exportStar = (this && this.__exportStar) || function(m, exports) {
         | 
| 10 | 
            +
                for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
         | 
| 11 | 
            +
            };
         | 
| 12 | 
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 13 | 
            +
            exports.isValidDate = exports.parseDate = exports.autobind = exports.merge = void 0;
         | 
| 14 | 
            +
            var merge = require("./merge");
         | 
| 15 | 
            +
            exports.merge = merge;
         | 
| 16 | 
            +
            var autobind_1 = require("./autobind");
         | 
| 17 | 
            +
            Object.defineProperty(exports, "autobind", { enumerable: true, get: function () { return autobind_1.autobind; } });
         | 
| 18 | 
            +
            var BernieL10n = require("bernie-l10n");
         | 
| 19 | 
            +
            __exportStar(require("./timeout-promise"), exports);
         | 
| 20 | 
            +
            __exportStar(require("./retry"), exports);
         | 
| 21 | 
            +
            var batch_queue_1 = require("./batch-queue");
         | 
| 22 | 
            +
            Object.defineProperty(exports, "BatchQueue", { enumerable: true, get: function () { return batch_queue_1.BatchQueue; } });
         | 
| 23 | 
            +
            var unique_batch_queue_1 = require("./unique-batch-queue");
         | 
| 24 | 
            +
            Object.defineProperty(exports, "UniqueBatchQueue", { enumerable: true, get: function () { return unique_batch_queue_1.UniqueBatchQueue; } });
         | 
| 25 | 
            +
            var not_serialize_1 = require("./not-serialize");
         | 
| 26 | 
            +
            Object.defineProperty(exports, "serializable", { enumerable: true, get: function () { return not_serialize_1.serializable; } });
         | 
| 27 | 
            +
            Object.defineProperty(exports, "toJSON", { enumerable: true, get: function () { return not_serialize_1.toJSON; } });
         | 
| 28 | 
            +
            var debounce_1 = require("./debounce");
         | 
| 29 | 
            +
            Object.defineProperty(exports, "debounce", { enumerable: true, get: function () { return debounce_1.debounce; } });
         | 
| 30 | 
            +
            __exportStar(require("./brand-config"), exports);
         | 
| 31 | 
            +
            /***/
         | 
| 32 | 
            +
            /*** previously from: ./parse-data ***/
         | 
| 33 | 
            +
            /************************************/
         | 
| 34 | 
            +
            /**
         | 
| 35 | 
            +
             * @deprecated
         | 
| 36 | 
            +
             * @see bernie-l10n for replacement
         | 
| 37 | 
            +
             */
         | 
| 38 | 
            +
            exports.parseDate = BernieL10n.parseDate;
         | 
| 39 | 
            +
            /**
         | 
| 40 | 
            +
             * @deprecated
         | 
| 41 | 
            +
             * @see bernie-l10n for replacement
         | 
| 42 | 
            +
             */
         | 
| 43 | 
            +
            exports.isValidDate = BernieL10n.isValidDate;
         | 
| 44 | 
            +
            //# sourceMappingURL=index.js.map
         | 
| @@ -0,0 +1,120 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 3 | 
            +
            exports.flattenFields = exports.withoutKeys = exports.withKeys = exports.allKeys = void 0;
         | 
| 4 | 
            +
            /* tslint:disable */
         | 
| 5 | 
            +
            function _mergeWithKeys(keys, objects) {
         | 
| 6 | 
            +
                if (keys === void 0) { keys = []; }
         | 
| 7 | 
            +
                if (objects.length === 0 || keys instanceof Array === false) {
         | 
| 8 | 
            +
                    return {};
         | 
| 9 | 
            +
                }
         | 
| 10 | 
            +
                // only use objects for the merge, ignore null which is also typeof object
         | 
| 11 | 
            +
                objects = objects.filter(function (object) { return typeof object === 'object' && object; });
         | 
| 12 | 
            +
                var base = {};
         | 
| 13 | 
            +
                objects.forEach(function (object) {
         | 
| 14 | 
            +
                    keys.forEach(function (key) {
         | 
| 15 | 
            +
                        if (object.hasOwnProperty(key)) {
         | 
| 16 | 
            +
                            base[key] = object[key];
         | 
| 17 | 
            +
                        }
         | 
| 18 | 
            +
                    });
         | 
| 19 | 
            +
                });
         | 
| 20 | 
            +
                return base;
         | 
| 21 | 
            +
            }
         | 
| 22 | 
            +
            function _mergeWithoutKeys(keys, objects) {
         | 
| 23 | 
            +
                if (keys === void 0) { keys = []; }
         | 
| 24 | 
            +
                if (objects.length === 0 || keys instanceof Array === false) {
         | 
| 25 | 
            +
                    return {};
         | 
| 26 | 
            +
                }
         | 
| 27 | 
            +
                // only use objects for the merge, ignore null which is also typeof object
         | 
| 28 | 
            +
                objects = objects.filter(function (object) { return typeof object === 'object' && object; });
         | 
| 29 | 
            +
                // bracket notation lookup should be faster than repeated indexOf
         | 
| 30 | 
            +
                var omittedKeys = keys.reduce(function (holder, key) {
         | 
| 31 | 
            +
                    holder[key] = true;
         | 
| 32 | 
            +
                    return holder;
         | 
| 33 | 
            +
                }, {});
         | 
| 34 | 
            +
                var base = {};
         | 
| 35 | 
            +
                objects.forEach(function (object) {
         | 
| 36 | 
            +
                    Object.keys(object).forEach(function (key) {
         | 
| 37 | 
            +
                        if (omittedKeys[key] !== true) {
         | 
| 38 | 
            +
                            base[key] = object[key];
         | 
| 39 | 
            +
                        }
         | 
| 40 | 
            +
                    });
         | 
| 41 | 
            +
                });
         | 
| 42 | 
            +
                return base;
         | 
| 43 | 
            +
            }
         | 
| 44 | 
            +
            function _validKeys(keys) {
         | 
| 45 | 
            +
                if (Array.isArray(keys)) {
         | 
| 46 | 
            +
                    // only use strings as keys, and make sure they're unique
         | 
| 47 | 
            +
                    return keys.filter(function (key, index, array) { return typeof key === 'string' && array.indexOf(key) === index && key.length > 0; });
         | 
| 48 | 
            +
                }
         | 
| 49 | 
            +
                return [];
         | 
| 50 | 
            +
            }
         | 
| 51 | 
            +
            function _flattenFields(refObject, delimiter, flattenArrays, newObject, prefix) {
         | 
| 52 | 
            +
                if (delimiter === void 0) { delimiter = '_'; }
         | 
| 53 | 
            +
                if (flattenArrays === void 0) { flattenArrays = false; }
         | 
| 54 | 
            +
                if (newObject === void 0) { newObject = {}; }
         | 
| 55 | 
            +
                var label;
         | 
| 56 | 
            +
                var currentItem;
         | 
| 57 | 
            +
                if (typeof delimiter !== 'string' || delimiter.length > 5) {
         | 
| 58 | 
            +
                    delimiter = '_';
         | 
| 59 | 
            +
                }
         | 
| 60 | 
            +
                flattenArrays = Boolean(flattenArrays);
         | 
| 61 | 
            +
                if (typeof refObject === 'object' && refObject) {
         | 
| 62 | 
            +
                    Object.keys(refObject).forEach(function (key) {
         | 
| 63 | 
            +
                        label = prefix ? "" + prefix + delimiter + key : key;
         | 
| 64 | 
            +
                        currentItem = refObject[key];
         | 
| 65 | 
            +
                        if (currentItem !== null &&
         | 
| 66 | 
            +
                            ((typeof currentItem === 'object' && Object.keys(currentItem).length > 0) || Array.isArray(currentItem))) {
         | 
| 67 | 
            +
                            if (Array.isArray(currentItem) && flattenArrays === false) {
         | 
| 68 | 
            +
                                newObject[label] = currentItem.concat();
         | 
| 69 | 
            +
                            }
         | 
| 70 | 
            +
                            else {
         | 
| 71 | 
            +
                                _flattenFields(currentItem, delimiter, flattenArrays, newObject, label);
         | 
| 72 | 
            +
                            }
         | 
| 73 | 
            +
                        }
         | 
| 74 | 
            +
                        else {
         | 
| 75 | 
            +
                            newObject[label] = currentItem;
         | 
| 76 | 
            +
                        }
         | 
| 77 | 
            +
                    });
         | 
| 78 | 
            +
                }
         | 
| 79 | 
            +
                return newObject;
         | 
| 80 | 
            +
            }
         | 
| 81 | 
            +
            // public exports
         | 
| 82 | 
            +
            function allKeys() {
         | 
| 83 | 
            +
                return withoutKeys([]);
         | 
| 84 | 
            +
            }
         | 
| 85 | 
            +
            exports.allKeys = allKeys;
         | 
| 86 | 
            +
            function withKeys(keys) {
         | 
| 87 | 
            +
                if (keys === void 0) { keys = []; }
         | 
| 88 | 
            +
                keys = _validKeys(keys);
         | 
| 89 | 
            +
                return {
         | 
| 90 | 
            +
                    merge: function () {
         | 
| 91 | 
            +
                        var objects = [];
         | 
| 92 | 
            +
                        for (var _i = 0; _i < arguments.length; _i++) {
         | 
| 93 | 
            +
                            objects[_i] = arguments[_i];
         | 
| 94 | 
            +
                        }
         | 
| 95 | 
            +
                        return _mergeWithKeys(keys, objects);
         | 
| 96 | 
            +
                    }
         | 
| 97 | 
            +
                };
         | 
| 98 | 
            +
            }
         | 
| 99 | 
            +
            exports.withKeys = withKeys;
         | 
| 100 | 
            +
            function withoutKeys(keys) {
         | 
| 101 | 
            +
                if (keys === void 0) { keys = []; }
         | 
| 102 | 
            +
                keys = _validKeys(keys);
         | 
| 103 | 
            +
                return {
         | 
| 104 | 
            +
                    merge: function () {
         | 
| 105 | 
            +
                        var objects = [];
         | 
| 106 | 
            +
                        for (var _i = 0; _i < arguments.length; _i++) {
         | 
| 107 | 
            +
                            objects[_i] = arguments[_i];
         | 
| 108 | 
            +
                        }
         | 
| 109 | 
            +
                        return _mergeWithoutKeys(keys, objects);
         | 
| 110 | 
            +
                    }
         | 
| 111 | 
            +
                };
         | 
| 112 | 
            +
            }
         | 
| 113 | 
            +
            exports.withoutKeys = withoutKeys;
         | 
| 114 | 
            +
            function flattenFields(refObject, delimiter, flattenArrays) {
         | 
| 115 | 
            +
                if (delimiter === void 0) { delimiter = '_'; }
         | 
| 116 | 
            +
                if (flattenArrays === void 0) { flattenArrays = false; }
         | 
| 117 | 
            +
                return _flattenFields(refObject, delimiter, flattenArrays, {}, '');
         | 
| 118 | 
            +
            }
         | 
| 119 | 
            +
            exports.flattenFields = flattenFields;
         | 
| 120 | 
            +
            //# sourceMappingURL=merge.js.map
         |