UNPKG

@shopify/app-bridge-host

Version:

App Bridge Host contains middleware and components that are meant to be consumed by the app's host. The middleware and `Frame` component are responsible for facilitating messages posted between the client and host, and used to act on actions sent from the

31 lines (30 loc) 1.51 kB
"use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var redux_1 = require("redux"); var middlewares_1 = require("./middlewares"); var helpers_1 = require("./middlewares/mobile/helpers"); var reducers_1 = __importDefault(require("./reducers")); __export(require("./middlewares")); __export(require("./reducers")); var features_1 = require("./reducers/embeddedApp/features"); exports.setFeaturesAvailable = features_1.setFeaturesAvailable; function createStore(middlewares) { if (middlewares === void 0) { middlewares = []; } var composeEnhancers = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({ name: 'App Bridge' }) : redux_1.compose; var finalMiddlewares = []; finalMiddlewares.push(middlewares_1.preCorrectionMobileMiddleware()); if (helpers_1.isMobileMiddlewareSupported()) { finalMiddlewares.push(middlewares_1.buildMobileMiddleware()); } middlewares.forEach(function (it) { return finalMiddlewares.push(it); }); return redux_1.createStore(redux_1.combineReducers({ appBridge: reducers_1.default }), {}, composeEnhancers(redux_1.applyMiddleware.apply(void 0, finalMiddlewares))); } exports.default = createStore;