@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
JavaScript
;
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;