@anansi/core 0.15.2 → 0.15.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/client.js +214 -124
- package/dist/client.js.map +1 -1
- package/dist/server.js +406 -208
- package/dist/server.js.map +1 -1
- package/package.json +6 -9
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,22 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
### [0.15.4](https://github.com/ntucker/anansi/compare/@anansi/core@0.15.3...@anansi/core@0.15.4) (2022-12-02)
|
|
7
|
+
|
|
8
|
+
### 💅 Enhancement
|
|
9
|
+
|
|
10
|
+
* Switch back to @babel/runtime ([5bc1a67](https://github.com/ntucker/anansi/commit/5bc1a67d984d7987540c5b65bac9a6ab5f0e201f))
|
|
11
|
+
|
|
12
|
+
### [0.15.3](https://github.com/ntucker/anansi/compare/@anansi/core@0.15.2...@anansi/core@0.15.3) (2022-12-02)
|
|
13
|
+
|
|
14
|
+
### 💅 Enhancement
|
|
15
|
+
|
|
16
|
+
* Use @babel/runtime-corejs3 ([00f0118](https://github.com/ntucker/anansi/commit/00f0118cc713e04465c6eb6f88ea10b14f5cf062))
|
|
17
|
+
|
|
18
|
+
### 📦 Package
|
|
19
|
+
|
|
20
|
+
* Update babel packages to v7.20.5 ([#1776](https://github.com/ntucker/anansi/issues/1776)) ([a231b89](https://github.com/ntucker/anansi/commit/a231b891a77501717db2e0a3ad351d1d9ed55784))
|
|
21
|
+
|
|
6
22
|
### [0.15.2](https://github.com/ntucker/anansi/compare/@anansi/core@0.15.1...@anansi/core@0.15.2) (2022-11-23)
|
|
7
23
|
|
|
8
24
|
### 📦 Package
|
package/dist/client.js
CHANGED
|
@@ -1,68 +1,15 @@
|
|
|
1
1
|
/******/ (() => { // webpackBootstrap
|
|
2
|
-
/******/
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
/************************************************************************/
|
|
7
|
-
/******/ /* webpack/runtime/compat get default export */
|
|
8
|
-
/******/ (() => {
|
|
9
|
-
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
10
|
-
/******/ __webpack_require__.n = (module) => {
|
|
11
|
-
/******/ var getter = module && module.__esModule ?
|
|
12
|
-
/******/ () => (module['default']) :
|
|
13
|
-
/******/ () => (module);
|
|
14
|
-
/******/ __webpack_require__.d(getter, { a: getter });
|
|
15
|
-
/******/ return getter;
|
|
16
|
-
/******/ };
|
|
17
|
-
/******/ })();
|
|
18
|
-
/******/
|
|
19
|
-
/******/ /* webpack/runtime/define property getters */
|
|
20
|
-
/******/ (() => {
|
|
21
|
-
/******/ // define getter functions for harmony exports
|
|
22
|
-
/******/ __webpack_require__.d = (exports, definition) => {
|
|
23
|
-
/******/ for(var key in definition) {
|
|
24
|
-
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
25
|
-
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
26
|
-
/******/ }
|
|
27
|
-
/******/ }
|
|
28
|
-
/******/ };
|
|
29
|
-
/******/ })();
|
|
30
|
-
/******/
|
|
31
|
-
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
32
|
-
/******/ (() => {
|
|
33
|
-
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
34
|
-
/******/ })();
|
|
35
|
-
/******/
|
|
36
|
-
/******/ /* webpack/runtime/make namespace object */
|
|
37
|
-
/******/ (() => {
|
|
38
|
-
/******/ // define __esModule on exports
|
|
39
|
-
/******/ __webpack_require__.r = (exports) => {
|
|
40
|
-
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
41
|
-
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
42
|
-
/******/ }
|
|
43
|
-
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
44
|
-
/******/ };
|
|
45
|
-
/******/ })();
|
|
46
|
-
/******/
|
|
47
|
-
/************************************************************************/
|
|
48
|
-
var __webpack_exports__ = {};
|
|
49
|
-
// ESM COMPAT FLAG
|
|
50
|
-
__webpack_require__.r(__webpack_exports__);
|
|
51
|
-
|
|
52
|
-
// EXPORTS
|
|
53
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
54
|
-
"JSONSpout": () => (/* reexport */ JSONSpout),
|
|
55
|
-
"appSpout": () => (/* reexport */ app),
|
|
56
|
-
"documentSpout": () => (/* reexport */ documentSpout),
|
|
57
|
-
"floodSpouts": () => (/* reexport */ floodSpouts),
|
|
58
|
-
"restHooksSpout": () => (/* reexport */ restHooksSpout),
|
|
59
|
-
"routerSpout": () => (/* reexport */ routerSpout)
|
|
60
|
-
});
|
|
2
|
+
/******/ var __webpack_modules__ = ({
|
|
3
|
+
|
|
4
|
+
/***/ "./src/floodSpouts.tsx":
|
|
5
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
61
6
|
|
|
62
|
-
|
|
63
|
-
const client_namespaceObject = require("react-dom/client");
|
|
64
|
-
;// CONCATENATED MODULE: ./src/floodSpouts.tsx
|
|
7
|
+
"use strict";
|
|
65
8
|
|
|
9
|
+
|
|
10
|
+
exports.__esModule = true;
|
|
11
|
+
exports["default"] = floodSpouts;
|
|
12
|
+
var _client = __webpack_require__("react-dom/client");
|
|
66
13
|
async function floodSpouts(spouts, {
|
|
67
14
|
rootId = 'anansi-root'
|
|
68
15
|
} = {}) {
|
|
@@ -70,26 +17,103 @@ async function floodSpouts(spouts, {
|
|
|
70
17
|
const {
|
|
71
18
|
app
|
|
72
19
|
} = await spouts({});
|
|
73
|
-
(0,
|
|
20
|
+
(0, _client.hydrateRoot)((_document$getElementB = document.getElementById(rootId)) != null ? _document$getElementB : document, app);
|
|
74
21
|
}
|
|
75
|
-
|
|
22
|
+
|
|
23
|
+
/***/ }),
|
|
24
|
+
|
|
25
|
+
/***/ "./src/spouts/app.tsx":
|
|
26
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
27
|
+
|
|
28
|
+
"use strict";
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
exports.__esModule = true;
|
|
32
|
+
exports["default"] = void 0;
|
|
33
|
+
const appSpout = app => props => Promise.resolve({
|
|
34
|
+
...props,
|
|
35
|
+
app
|
|
36
|
+
});
|
|
37
|
+
var _default = appSpout;
|
|
38
|
+
exports["default"] = _default;
|
|
39
|
+
|
|
40
|
+
/***/ }),
|
|
41
|
+
|
|
42
|
+
/***/ "./src/spouts/document.tsx":
|
|
43
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
44
|
+
|
|
45
|
+
"use strict";
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
exports.__esModule = true;
|
|
49
|
+
exports["default"] = documentSpout;
|
|
76
50
|
function documentSpout(options) {
|
|
77
51
|
return next => async props => {
|
|
78
52
|
const nextProps = await next(props);
|
|
79
53
|
return nextProps;
|
|
80
54
|
};
|
|
81
55
|
}
|
|
82
|
-
;// CONCATENATED MODULE: external "react"
|
|
83
|
-
const external_react_namespaceObject = require("react");
|
|
84
|
-
var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_namespaceObject);
|
|
85
|
-
;// CONCATENATED MODULE: external "@rest-hooks/react"
|
|
86
|
-
const react_namespaceObject = require("@rest-hooks/react");
|
|
87
|
-
;// CONCATENATED MODULE: ./src/spouts/restHooks.tsx
|
|
88
|
-
var _jsxFileName = "/home/ntucker/src/anansi/packages/core/src/spouts/restHooks.tsx";
|
|
89
56
|
|
|
57
|
+
/***/ }),
|
|
58
|
+
|
|
59
|
+
/***/ "./src/spouts/json.tsx":
|
|
60
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
61
|
+
|
|
62
|
+
"use strict";
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
exports.__esModule = true;
|
|
66
|
+
exports["default"] = JSONSpout;
|
|
67
|
+
function JSONSpout({
|
|
68
|
+
id = 'anansi-json'
|
|
69
|
+
} = {}) {
|
|
70
|
+
return next => async props => {
|
|
71
|
+
const getInitialData = key => {
|
|
72
|
+
const globalId = `${id}.${key}`;
|
|
73
|
+
return new Promise((resolve, reject) => {
|
|
74
|
+
let el;
|
|
75
|
+
if (el = document.getElementById(globalId)) {
|
|
76
|
+
resolve(getDataFromEl(el, globalId));
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
document.addEventListener('DOMContentLoaded', () => {
|
|
80
|
+
el = document.getElementById(globalId);
|
|
81
|
+
if (el) resolve(getDataFromEl(el, globalId));else reject(new Error(`failed to find DOM with ${key} state`));
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
return {
|
|
86
|
+
...(await next({
|
|
87
|
+
...props,
|
|
88
|
+
getInitialData
|
|
89
|
+
})),
|
|
90
|
+
getInitialData
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
function getDataFromEl(el, key) {
|
|
95
|
+
if (el.text === undefined) {
|
|
96
|
+
console.error(`#${key} is completely empty. This could be due to CSP issues.`);
|
|
97
|
+
}
|
|
98
|
+
return el != null && el.text ? JSON.parse(el == null ? void 0 : el.text) : undefined;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/***/ }),
|
|
102
|
+
|
|
103
|
+
/***/ "./src/spouts/restHooks.tsx":
|
|
104
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
90
105
|
|
|
106
|
+
"use strict";
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
var _interopRequireDefault = (__webpack_require__("../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);
|
|
110
|
+
exports.__esModule = true;
|
|
111
|
+
exports["default"] = restHooksSpout;
|
|
112
|
+
var _react = _interopRequireDefault(__webpack_require__("react"));
|
|
113
|
+
var _react2 = __webpack_require__("@rest-hooks/react");
|
|
114
|
+
var _jsxFileName = "/home/ntucker/src/anansi/packages/core/src/spouts/restHooks.tsx";
|
|
91
115
|
function restHooksSpout(options = {
|
|
92
|
-
getManagers: () => [new
|
|
116
|
+
getManagers: () => [new _react2.NetworkManager()]
|
|
93
117
|
}) {
|
|
94
118
|
return next => async props => {
|
|
95
119
|
const nextProps = await next(props);
|
|
@@ -99,7 +123,7 @@ function restHooksSpout(options = {
|
|
|
99
123
|
}
|
|
100
124
|
return {
|
|
101
125
|
...nextProps,
|
|
102
|
-
app: /*#__PURE__*/
|
|
126
|
+
app: /*#__PURE__*/_react.default.createElement(_react2.CacheProvider, {
|
|
103
127
|
initialState: data,
|
|
104
128
|
managers: options.getManagers(),
|
|
105
129
|
__self: this,
|
|
@@ -112,34 +136,41 @@ function restHooksSpout(options = {
|
|
|
112
136
|
};
|
|
113
137
|
};
|
|
114
138
|
}
|
|
115
|
-
;// CONCATENATED MODULE: external "@anansi/router"
|
|
116
|
-
const router_namespaceObject = require("@anansi/router");
|
|
117
|
-
;// CONCATENATED MODULE: external "history"
|
|
118
|
-
const external_history_namespaceObject = require("history");
|
|
119
|
-
;// CONCATENATED MODULE: ./src/spouts/router.tsx
|
|
120
|
-
var router_jsxFileName = "/home/ntucker/src/anansi/packages/core/src/spouts/router.tsx";
|
|
121
139
|
|
|
140
|
+
/***/ }),
|
|
141
|
+
|
|
142
|
+
/***/ "./src/spouts/router.tsx":
|
|
143
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
144
|
+
|
|
145
|
+
"use strict";
|
|
122
146
|
|
|
123
147
|
|
|
148
|
+
var _interopRequireDefault = (__webpack_require__("../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);
|
|
149
|
+
exports.__esModule = true;
|
|
150
|
+
exports["default"] = routerSpout;
|
|
151
|
+
var _router = __webpack_require__("@anansi/router");
|
|
152
|
+
var _react = _interopRequireDefault(__webpack_require__("react"));
|
|
153
|
+
var _history = __webpack_require__("history");
|
|
154
|
+
var _jsxFileName = "/home/ntucker/src/anansi/packages/core/src/spouts/router.tsx";
|
|
124
155
|
function routerSpout(options) {
|
|
125
156
|
const createRouteComponent = router => function Router({
|
|
126
157
|
children
|
|
127
158
|
}) {
|
|
128
159
|
const resolveWith = options.useResolveWith();
|
|
129
|
-
return /*#__PURE__*/
|
|
160
|
+
return /*#__PURE__*/_react.default.createElement(_router.RouteProvider, {
|
|
130
161
|
router: router,
|
|
131
162
|
resolveWith: resolveWith,
|
|
132
163
|
onChange: options.onChange,
|
|
133
164
|
__self: this,
|
|
134
165
|
__source: {
|
|
135
|
-
fileName:
|
|
166
|
+
fileName: _jsxFileName,
|
|
136
167
|
lineNumber: 28,
|
|
137
168
|
columnNumber: 9
|
|
138
169
|
}
|
|
139
170
|
}, children);
|
|
140
171
|
};
|
|
141
172
|
return next => async props => {
|
|
142
|
-
const history = (0,
|
|
173
|
+
const history = (0, _history.createBrowserHistory)();
|
|
143
174
|
const router = options.createRouter(history);
|
|
144
175
|
const matchedRoutes = router.getMatchedRoutes(history.location.pathname);
|
|
145
176
|
const nextProps = await next({
|
|
@@ -152,10 +183,10 @@ function routerSpout(options) {
|
|
|
152
183
|
...nextProps,
|
|
153
184
|
matchedRoutes,
|
|
154
185
|
router,
|
|
155
|
-
app: /*#__PURE__*/
|
|
186
|
+
app: /*#__PURE__*/_react.default.createElement(Router, {
|
|
156
187
|
__self: this,
|
|
157
188
|
__source: {
|
|
158
|
-
fileName:
|
|
189
|
+
fileName: _jsxFileName,
|
|
159
190
|
lineNumber: 50,
|
|
160
191
|
columnNumber: 12
|
|
161
192
|
}
|
|
@@ -163,52 +194,111 @@ function routerSpout(options) {
|
|
|
163
194
|
};
|
|
164
195
|
};
|
|
165
196
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
197
|
+
|
|
198
|
+
/***/ }),
|
|
199
|
+
|
|
200
|
+
/***/ "@anansi/router":
|
|
201
|
+
/***/ ((module) => {
|
|
202
|
+
|
|
203
|
+
"use strict";
|
|
204
|
+
module.exports = require("@anansi/router");
|
|
205
|
+
|
|
206
|
+
/***/ }),
|
|
207
|
+
|
|
208
|
+
/***/ "@rest-hooks/react":
|
|
209
|
+
/***/ ((module) => {
|
|
210
|
+
|
|
211
|
+
"use strict";
|
|
212
|
+
module.exports = require("@rest-hooks/react");
|
|
213
|
+
|
|
214
|
+
/***/ }),
|
|
215
|
+
|
|
216
|
+
/***/ "history":
|
|
217
|
+
/***/ ((module) => {
|
|
218
|
+
|
|
219
|
+
"use strict";
|
|
220
|
+
module.exports = require("history");
|
|
221
|
+
|
|
222
|
+
/***/ }),
|
|
223
|
+
|
|
224
|
+
/***/ "react":
|
|
225
|
+
/***/ ((module) => {
|
|
226
|
+
|
|
227
|
+
"use strict";
|
|
228
|
+
module.exports = require("react");
|
|
229
|
+
|
|
230
|
+
/***/ }),
|
|
231
|
+
|
|
232
|
+
/***/ "react-dom/client":
|
|
233
|
+
/***/ ((module) => {
|
|
234
|
+
|
|
235
|
+
"use strict";
|
|
236
|
+
module.exports = require("react-dom/client");
|
|
237
|
+
|
|
238
|
+
/***/ }),
|
|
239
|
+
|
|
240
|
+
/***/ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
|
|
241
|
+
/***/ ((module) => {
|
|
242
|
+
|
|
243
|
+
function _interopRequireDefault(obj) {
|
|
244
|
+
return obj && obj.__esModule ? obj : {
|
|
245
|
+
"default": obj
|
|
192
246
|
};
|
|
193
247
|
}
|
|
194
|
-
|
|
195
|
-
if (el.text === undefined) {
|
|
196
|
-
console.error(`#${key} is completely empty. This could be due to CSP issues.`);
|
|
197
|
-
}
|
|
198
|
-
return el != null && el.text ? JSON.parse(el == null ? void 0 : el.text) : undefined;
|
|
199
|
-
}
|
|
200
|
-
;// CONCATENATED MODULE: ./src/spouts/app.tsx
|
|
201
|
-
const appSpout = app => props => Promise.resolve({
|
|
202
|
-
...props,
|
|
203
|
-
app
|
|
204
|
-
});
|
|
205
|
-
/* harmony default export */ const app = (appSpout);
|
|
206
|
-
;// CONCATENATED MODULE: ./src/index.ts
|
|
207
|
-
|
|
248
|
+
module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
208
249
|
|
|
250
|
+
/***/ })
|
|
209
251
|
|
|
252
|
+
/******/ });
|
|
253
|
+
/************************************************************************/
|
|
254
|
+
/******/ // The module cache
|
|
255
|
+
/******/ var __webpack_module_cache__ = {};
|
|
256
|
+
/******/
|
|
257
|
+
/******/ // The require function
|
|
258
|
+
/******/ function __webpack_require__(moduleId) {
|
|
259
|
+
/******/ // Check if module is in cache
|
|
260
|
+
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
261
|
+
/******/ if (cachedModule !== undefined) {
|
|
262
|
+
/******/ return cachedModule.exports;
|
|
263
|
+
/******/ }
|
|
264
|
+
/******/ // Create a new module (and put it into the cache)
|
|
265
|
+
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
266
|
+
/******/ // no module.id needed
|
|
267
|
+
/******/ // no module.loaded needed
|
|
268
|
+
/******/ exports: {}
|
|
269
|
+
/******/ };
|
|
270
|
+
/******/
|
|
271
|
+
/******/ // Execute the module function
|
|
272
|
+
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
273
|
+
/******/
|
|
274
|
+
/******/ // Return the exports of the module
|
|
275
|
+
/******/ return module.exports;
|
|
276
|
+
/******/ }
|
|
277
|
+
/******/
|
|
278
|
+
/************************************************************************/
|
|
279
|
+
var __webpack_exports__ = {};
|
|
280
|
+
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
|
|
281
|
+
(() => {
|
|
282
|
+
"use strict";
|
|
283
|
+
var exports = __webpack_exports__;
|
|
210
284
|
|
|
211
285
|
|
|
286
|
+
var _interopRequireDefault = (__webpack_require__("../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);
|
|
287
|
+
exports.__esModule = true;
|
|
288
|
+
exports.routerSpout = exports.restHooksSpout = exports.floodSpouts = exports.documentSpout = exports.appSpout = exports.JSONSpout = void 0;
|
|
289
|
+
var _floodSpouts = _interopRequireDefault(__webpack_require__("./src/floodSpouts.tsx"));
|
|
290
|
+
exports.floodSpouts = _floodSpouts.default;
|
|
291
|
+
var _document = _interopRequireDefault(__webpack_require__("./src/spouts/document.tsx"));
|
|
292
|
+
exports.documentSpout = _document.default;
|
|
293
|
+
var _restHooks = _interopRequireDefault(__webpack_require__("./src/spouts/restHooks.tsx"));
|
|
294
|
+
exports.restHooksSpout = _restHooks.default;
|
|
295
|
+
var _router = _interopRequireDefault(__webpack_require__("./src/spouts/router.tsx"));
|
|
296
|
+
exports.routerSpout = _router.default;
|
|
297
|
+
var _json = _interopRequireDefault(__webpack_require__("./src/spouts/json.tsx"));
|
|
298
|
+
exports.JSONSpout = _json.default;
|
|
299
|
+
var _app = _interopRequireDefault(__webpack_require__("./src/spouts/app.tsx"));
|
|
300
|
+
exports.appSpout = _app.default;
|
|
301
|
+
})();
|
|
212
302
|
|
|
213
303
|
module.exports = __webpack_exports__;
|
|
214
304
|
/******/ })()
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","mappings":";;;;;;;;;;;AAAA;AAEA;AAIA;AAAA;AACA;AACA;AAAA;AAAA;AAEA;AACA;;;;;;;;;;;;ACXA;AAGA;AAAA;AAAA;AAAA;AAEA;;;;;;;;;;;;ACAA;AAIA;AACA;AAEA;AACA;AACA;;;;;;;;;;;;ACZA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AAGA;AACA;AACA;;;;;;;;;;;;;;ACnCA;AAAA;AAIA;AAGA;AAAA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA;AACA;AACA;;;;;;;;;;;;;AC1BA;AACA;AACA;AAAA;AAKA;AAaA;AAGA;AAAA;AACA;AAEA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;;;;;;;;ACpDA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACvBA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA","sources":["/home/ntucker/src/anansi/packages/core/src/floodSpouts.tsx","/home/ntucker/src/anansi/packages/core/src/spouts/app.tsx","/home/ntucker/src/anansi/packages/core/src/spouts/document.tsx","/home/ntucker/src/anansi/packages/core/src/spouts/json.tsx","/home/ntucker/src/anansi/packages/core/src/spouts/restHooks.tsx","/home/ntucker/src/anansi/packages/core/src/spouts/router.tsx","/home/ntucker/src/anansi/packages/core/external commonjs \"@anansi/router\"","/home/ntucker/src/anansi/packages/core/external commonjs \"@rest-hooks/react\"","/home/ntucker/src/anansi/packages/core/external commonjs \"history\"","/home/ntucker/src/anansi/packages/core/external commonjs \"react\"","/home/ntucker/src/anansi/packages/core/external commonjs \"react-dom/client\"","/home/ntucker/src/anansi/node_modules/@babel/runtime/helpers/interopRequireDefault.js","/home/ntucker/src/anansi/packages/core/webpack/bootstrap","/home/ntucker/src/anansi/packages/core/src/index.ts"],"sourcesContent":["import { hydrateRoot } from 'react-dom/client';\n\nexport default async function floodSpouts(\n spouts: (props: Record<string, unknown>) => Promise<{\n app: JSX.Element;\n }>,\n { rootId = 'anansi-root' }: { rootId?: string } = {},\n) {\n const { app } = await spouts({});\n\n hydrateRoot(document.getElementById(rootId) ?? document, app);\n}\n","const appSpout =\n (app: JSX.Element) =>\n <P extends Record<string, unknown>>(props: P) =>\n Promise.resolve({ ...props, app });\n\nexport default appSpout;\n","import React from 'react';\nimport type { Route } from '@anansi/router';\n\nimport type { ClientSpout } from './types';\n\nexport default function documentSpout(options: {\n head?: React.ReactNode;\n title: string;\n}): ClientSpout {\n return next => async props => {\n const nextProps = await next(props);\n\n return nextProps;\n };\n}\n","import type { ClientSpout } from './types';\n\nexport default function JSONSpout({\n id = 'anansi-json',\n}: { id?: string } = {}): ClientSpout<\n Record<string, unknown>,\n { getInitialData: (key: string) => Promise<any> }\n> {\n return next => async props => {\n const getInitialData = (key: string) => {\n const globalId = `${id}.${key}`;\n return new Promise<any>((resolve, reject) => {\n let el: HTMLScriptElement | null;\n if ((el = document.getElementById(globalId) as any)) {\n resolve(getDataFromEl(el, globalId));\n return;\n }\n document.addEventListener('DOMContentLoaded', () => {\n el = document.getElementById(globalId) as any;\n if (el) resolve(getDataFromEl(el, globalId));\n else reject(new Error(`failed to find DOM with ${key} state`));\n });\n });\n };\n return { ...(await next({ ...props, getInitialData })), getInitialData };\n };\n}\n\nfunction getDataFromEl(el: HTMLScriptElement, key: string) {\n if (el.text === undefined) {\n console.error(\n `#${key} is completely empty. This could be due to CSP issues.`,\n );\n }\n return el?.text ? JSON.parse(el?.text) : undefined;\n}\n","import { CacheProvider, Manager, NetworkManager } from '@rest-hooks/react';\n\nimport type { ClientSpout } from './types';\n\nexport default function restHooksSpout(\n options: {\n getManagers: () => Manager[];\n } = { getManagers: () => [new NetworkManager()] },\n): ClientSpout<{ getInitialData: (key: string) => Promise<any> }> {\n return next => async props => {\n const nextProps = await next(props);\n const data = await props.getInitialData('resthooks');\n\n if (process.env.NODE_ENV !== 'production' && !data) {\n console.error('Rest Hooks init data not found');\n }\n\n return {\n ...nextProps,\n app: (\n <CacheProvider initialState={data} managers={options.getManagers()}>\n {nextProps.app}\n </CacheProvider>\n ),\n };\n };\n}\n","import { Route, RouteProvider, RouteController } from '@anansi/router';\nimport React from 'react';\nimport { createBrowserHistory } from 'history';\nimport type { Update } from 'history';\n\nimport type { CreateRouter, ClientSpout } from './types';\n\nexport default function routerSpout<ResolveWith>(options: {\n resolveWith?: any;\n useResolveWith: () => ResolveWith;\n createRouter: CreateRouter<ResolveWith>;\n onChange?: (update: Update, callback: () => void | undefined) => void;\n}): ClientSpout<\n Record<string, unknown>,\n {\n matchedRoutes: Route<ResolveWith, any>[];\n } & {\n router: RouteController<Route<ResolveWith, any>>;\n }\n> {\n const createRouteComponent = (\n router: RouteController<Route<ResolveWith, any>>,\n ) =>\n function Router({ children }: { children: React.ReactNode }) {\n const resolveWith = options.useResolveWith();\n\n return (\n <RouteProvider\n router={router}\n resolveWith={resolveWith}\n onChange={options.onChange}\n >\n {children}\n </RouteProvider>\n );\n };\n\n return next => async props => {\n const history = createBrowserHistory();\n const router = options.createRouter(history);\n const matchedRoutes = router.getMatchedRoutes(history.location.pathname);\n\n const nextProps = await next({ ...props, matchedRoutes, router });\n\n const Router = createRouteComponent(router);\n return {\n ...nextProps,\n matchedRoutes,\n router,\n app: <Router>{nextProps.app}</Router>,\n };\n };\n}\n","module.exports = require(\"@anansi/router\");","module.exports = require(\"@rest-hooks/react\");","module.exports = require(\"history\");","module.exports = require(\"react\");","module.exports = require(\"react-dom/client\");","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","export { default as floodSpouts } from './floodSpouts';\nexport { default as documentSpout } from './spouts/document';\nexport { default as restHooksSpout } from './spouts/restHooks';\nexport { default as routerSpout } from './spouts/router';\nexport { default as JSONSpout } from './spouts/json';\nexport { default as appSpout } from './spouts/app';\nexport type { ServerProps } from './spouts/types';\nexport type { ClientSpout as Spout } from './spouts/types';\n"],"names":[],"sourceRoot":""}
|