UNPKG

@vue/apollo-ssr

Version:

Apollo GraphQL for Vue - Server Side Rendering utilities

37 lines 1.47 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.exportStates = exports.getStates = exports.serializeStates = void 0; const serialize_javascript_1 = __importDefault(require("serialize-javascript")); function serializeStates(apolloClients, options = {}) { const state = getStates(apolloClients, options); return options.useUnsafeSerializer ? JSON.stringify(state) : (0, serialize_javascript_1.default)(state); } exports.serializeStates = serializeStates; function getStates(apolloClients, options = {}) { const finalOptions = Object.assign({}, { exportNamespace: '', }, options); const states = {}; for (const key in apolloClients) { const client = apolloClients[key]; const state = client.cache.extract(); states[`${finalOptions.exportNamespace}${key}`] = state; } return states; } exports.getStates = getStates; function exportStates(apolloClients, options = {}) { const finalOptions = Object.assign({}, { globalName: '__APOLLO_STATE__', attachTo: 'window', useUnsafeSerializer: false, }, options); return `${finalOptions.attachTo}.${finalOptions.globalName} = ${serializeStates(apolloClients, options)};`; } exports.exportStates = exportStates; //# sourceMappingURL=index.js.map