reiso
Version:
65 lines • 4.91 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("fetch-everywhere");
global.process = global.process || {};
global.process.env = global.process.env || {};
global.process.env.MODE = 'client';
let initialStates = {};
if (window.__INITIAL_STATE__) {
initialStates = window.__INITIAL_STATE__;
}
const React = require("react");
const ReactDOM = require("react-dom");
const react_router_dom_1 = require("react-router-dom");
const ApolloReact = require("react-apollo");
const ApolloClient = require("apollo-client");
const mobx_react_1 = require("mobx-react");
const ApolloCache = require("apollo-cache-inmemory");
const Translation = require("../Modules/Translation");
const Router = require("../Modules/Router");
const Model = require("../Modules/Model");
const ClientHook_1 = require("../Modules/ClientHook");
const Link_1 = require("../Client/Link");
function run(callback) {
const context = {
language: Translation.getLanguage()
};
const stores = Model.getStores(initialStates);
const hooksRes = ClientHook_1.getHooks().map(hook => hook(stores, context));
const link = Link_1.genLink(hooksRes, context);
const cache = new ApolloCache.InMemoryCache(window.__APOLLO_STATE__);
const gqlClient = new ApolloClient.ApolloClient({
link,
cache,
ssrMode: true,
queryDeduplication: true,
defaultOptions: {
watchQuery: {
fetchPolicy: 'cache-and-network',
errorPolicy: 'ignore',
},
query: {
fetchPolicy: 'cache-and-network',
errorPolicy: 'all',
},
mutate: {
errorPolicy: 'all'
}
}
});
// TODO: Log errors in client
// window.onerror = function (message, file, line, col, error) {
// auth.log(error);
// return false;
// }
let Html = Router.GetHtml();
ReactDOM.hydrate(React.createElement(ApolloReact.ApolloProvider, { client: gqlClient },
React.createElement(mobx_react_1.Provider, Object.assign({}, stores),
React.createElement(react_router_dom_1.BrowserRouter, null,
React.createElement(Html, { client: gqlClient, language: Translation.getLanguage() }, Router.GetRoutes(stores, Translation.getLanguage()))))), document.getElementById("body"), () => {
if (callback)
callback();
});
}
exports.run = run;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0VudHJ5L0NsaWVudC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUUzQixNQUFjLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztBQUM5QyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO0FBTW5DLElBQUksYUFBYSxHQUFRLEVBQUUsQ0FBQztBQUM1QixJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRTtJQUM1QixhQUFhLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO0NBQzFDO0FBRUQsK0JBQStCO0FBQy9CLHNDQUFzQztBQUN0Qyx1REFBaUQ7QUFDakQsNENBQTRDO0FBQzVDLDhDQUE4QztBQUM5QywyQ0FBc0M7QUFDdEMscURBQXFEO0FBRXJELHNEQUFzRDtBQUN0RCw0Q0FBNEM7QUFDNUMsMENBQTBDO0FBQzFDLHNEQUFpRDtBQUVqRCx5Q0FBeUM7QUFFekMsYUFBb0IsUUFBcUI7SUFDdkMsTUFBTSxPQUFPLEdBQUc7UUFDZCxRQUFRLEVBQUUsV0FBVyxDQUFDLFdBQVcsRUFBRTtLQUNwQyxDQUFDO0lBQ0YsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5QyxNQUFNLFFBQVEsR0FBRyxxQkFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sSUFBSSxHQUFHLGNBQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsYUFBYSxDQUFFLE1BQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzlFLE1BQU0sU0FBUyxHQUFHLElBQUksWUFBWSxDQUFDLFlBQVksQ0FBQztRQUM5QyxJQUFJO1FBQ0osS0FBSztRQUNMLE9BQU8sRUFBRSxJQUFJO1FBQ2Isa0JBQWtCLEVBQUUsSUFBSTtRQUN4QixjQUFjLEVBQUU7WUFDZCxVQUFVLEVBQUU7Z0JBQ1YsV0FBVyxFQUFFLG1CQUFtQjtnQkFDaEMsV0FBVyxFQUFFLFFBQVE7YUFDdEI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsV0FBVyxFQUFFLG1CQUFtQjtnQkFDaEMsV0FBVyxFQUFFLEtBQUs7YUFDbkI7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sV0FBVyxFQUFFLEtBQUs7YUFDbkI7U0FDRjtLQUNGLENBQUMsQ0FBQztJQUVILDZCQUE2QjtJQUM3QixnRUFBZ0U7SUFDaEUscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixJQUFJO0lBRUosSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRTVCLFFBQVEsQ0FBQyxPQUFPLENBQ2Qsb0JBQUMsV0FBVyxDQUFDLGNBQWMsSUFBQyxNQUFNLEVBQUUsU0FBZ0I7UUFDbEQsb0JBQUMscUJBQVEsb0JBQUssTUFBTTtZQUNsQixvQkFBQyxnQ0FBYTtnQkFDWixvQkFBQyxJQUFJLElBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLFdBQVcsRUFBRSxJQUN6RCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDL0MsQ0FDTyxDQUNQLENBQ2dCLEVBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUU7UUFDbkUsSUFBSSxRQUFRO1lBQUUsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUNGLENBQUM7QUFDSixDQUFDO0FBakRELGtCQWlEQyJ9