UNPKG

4.53 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.default = void 0;
9
10var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
11
12var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
13
14var _env = require("@sharyn/env");
15
16var _shared = require("@sharyn/shared");
17
18// flow-disable-next-line
19// flow-disable-next-line
20var getSsrData =
21/*#__PURE__*/
22function () {
23 var _ref2 = (0, _asyncToGenerator2.default)(
24 /*#__PURE__*/
25 _regenerator.default.mark(function _callee(_ref) {
26 var user, allRoutes, url, cookie, host, method, body, data, _findMatch, match, route, urlBase, _route$mainQuery, query, variables, mapRespData, _ref3, _route$mainMutation, _query, _variables, _mapRespData, successRedirect;
27
28 return _regenerator.default.wrap(function _callee$(_context) {
29 while (1) {
30 switch (_context.prev = _context.next) {
31 case 0:
32 user = _ref.user, allRoutes = _ref.allRoutes, url = _ref.url, cookie = _ref.cookie, host = _ref.host, method = _ref.method, body = _ref.body;
33
34 if (_env.NO_SSR) {
35 _context.next = 30;
36 break;
37 }
38
39 _findMatch = (0, _shared.findMatch)(allRoutes, url, !!user), match = _findMatch.match, route = _findMatch.route;
40
41 if (!match) {
42 _context.next = 29;
43 break;
44 }
45
46 urlBase = "http".concat(_env.IS_LOCAL_ENV_TYPE ? '' : 's', "://").concat(host);
47
48 if (!(method === 'GET' && route.mainQuery)) {
49 _context.next = 10;
50 break;
51 }
52
53 _route$mainQuery = route.mainQuery, query = _route$mainQuery.query, variables = _route$mainQuery.variables, mapRespData = _route$mainQuery.mapRespData;
54 _context.next = 9;
55 return (0, _shared.graphqlCall)({
56 urlBase: urlBase,
57 query: query,
58 variables: variables instanceof Function ? variables(match.params) : variables,
59 mapRespData: mapRespData,
60 cookie: cookie
61 });
62
63 case 9:
64 data = _context.sent;
65
66 case 10:
67 if (!(method === 'POST' && route.mainMutation)) {
68 _context.next = 27;
69 break;
70 }
71
72 _route$mainMutation = route.mainMutation, _query = _route$mainMutation.query, _variables = _route$mainMutation.variables, _mapRespData = _route$mainMutation.mapRespData, successRedirect = _route$mainMutation.successRedirect;
73 _context.next = 14;
74 return (0, _shared.graphqlCall)({
75 urlBase: urlBase,
76 query: _query,
77 variables: _variables instanceof Function ? _variables(match.params, body) : _variables,
78 mapRespData: _mapRespData,
79 cookie: cookie
80 });
81
82 case 14:
83 _context.t1 = _ref3 = _context.sent;
84 _context.t0 = _context.t1 !== null;
85
86 if (!_context.t0) {
87 _context.next = 18;
88 break;
89 }
90
91 _context.t0 = _ref3 !== void 0;
92
93 case 18:
94 if (!_context.t0) {
95 _context.next = 22;
96 break;
97 }
98
99 _context.t2 = _ref3;
100 _context.next = 23;
101 break;
102
103 case 22:
104 _context.t2 = {};
105
106 case 23:
107 data = _context.t2;
108 data.previousFields = body;
109
110 if (!(!data.errors && !data.invalidFields && successRedirect)) {
111 _context.next = 27;
112 break;
113 }
114
115 return _context.abrupt("return", {
116 redirectTo: successRedirect instanceof Function ? successRedirect(data, body, match.params) : successRedirect
117 });
118
119 case 27:
120 _context.next = 30;
121 break;
122
123 case 29:
124 return _context.abrupt("return", {
125 is404: true
126 });
127
128 case 30:
129 return _context.abrupt("return", {
130 data: data
131 });
132
133 case 31:
134 case "end":
135 return _context.stop();
136 }
137 }
138 }, _callee, this);
139 }));
140
141 return function getSsrData(_x) {
142 return _ref2.apply(this, arguments);
143 };
144}();
145
146var _default = getSsrData;
147exports.default = _default;
\No newline at end of file