@anansi/core 0.16.6 → 0.16.8
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 +23 -0
- package/dist/2.chunk.js +20 -0
- package/dist/client.js +233 -285
- package/dist/package.json +1 -0
- package/dist/server.js +358 -496
- package/lib/floodSpouts.js +4 -8
- package/lib/index.d.ts +8 -8
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +7 -18
- package/lib/index.server.d.ts +10 -10
- package/lib/index.server.d.ts.map +1 -1
- package/lib/index.server.js +9 -22
- package/lib/laySpouts.d.ts +2 -2
- package/lib/laySpouts.d.ts.map +1 -1
- package/lib/laySpouts.js +6 -11
- package/lib/scripts/getProxyMiddlewares.js +1 -1
- package/lib/scripts/getWebpackConfig.d.ts +3 -0
- package/lib/scripts/getWebpackConfig.d.ts.map +1 -0
- package/lib/scripts/getWebpackConfig.js +22 -0
- package/lib/scripts/index.d.ts +2 -2
- package/lib/scripts/index.d.ts.map +1 -1
- package/lib/scripts/index.js +3 -3
- package/lib/scripts/package.json +1 -0
- package/lib/scripts/serve.d.ts +1 -1
- package/lib/scripts/serve.d.ts.map +1 -1
- package/lib/scripts/serve.js +8 -6
- package/lib/scripts/startDevserver.d.ts +1 -1
- package/lib/scripts/startDevserver.d.ts.map +1 -1
- package/lib/scripts/startDevserver.js +4 -6
- package/lib/spouts/DocumentComponent.d.ts +1 -1
- package/lib/spouts/DocumentComponent.d.ts.map +1 -1
- package/lib/spouts/DocumentComponent.js +14 -21
- package/lib/spouts/antd.server.d.ts +1 -1
- package/lib/spouts/antd.server.d.ts.map +1 -1
- package/lib/spouts/antd.server.js +8 -14
- package/lib/spouts/app.js +2 -7
- package/lib/spouts/app.server.d.ts +1 -1
- package/lib/spouts/app.server.d.ts.map +1 -1
- package/lib/spouts/app.server.js +2 -7
- package/lib/spouts/csp.js +2 -6
- package/lib/spouts/document.d.ts +1 -1
- package/lib/spouts/document.d.ts.map +1 -1
- package/lib/spouts/document.js +2 -6
- package/lib/spouts/document.server.d.ts +2 -2
- package/lib/spouts/document.server.d.ts.map +1 -1
- package/lib/spouts/document.server.js +10 -12
- package/lib/spouts/json.d.ts +1 -1
- package/lib/spouts/json.d.ts.map +1 -1
- package/lib/spouts/json.js +2 -6
- package/lib/spouts/json.server.d.ts +1 -1
- package/lib/spouts/json.server.d.ts.map +1 -1
- package/lib/spouts/json.server.js +6 -12
- package/lib/spouts/prefetch.server.d.ts +1 -1
- package/lib/spouts/prefetch.server.d.ts.map +1 -1
- package/lib/spouts/prefetch.server.js +2 -6
- package/lib/spouts/restHooks.d.ts +1 -1
- package/lib/spouts/restHooks.d.ts.map +1 -1
- package/lib/spouts/restHooks.js +6 -12
- package/lib/spouts/restHooks.provider.js +2 -7
- package/lib/spouts/restHooks.server.d.ts +1 -1
- package/lib/spouts/restHooks.server.d.ts.map +1 -1
- package/lib/spouts/restHooks.server.js +7 -13
- package/lib/spouts/router.d.ts +1 -1
- package/lib/spouts/router.d.ts.map +1 -1
- package/lib/spouts/router.js +9 -14
- package/lib/spouts/router.server.d.ts +1 -1
- package/lib/spouts/router.server.d.ts.map +1 -1
- package/lib/spouts/router.server.js +9 -14
- package/lib/spouts/types.js +1 -3
- package/package.json +14 -11
- package/src/index.server.ts +10 -10
- package/src/index.ts +8 -8
- package/src/laySpouts.tsx +2 -2
- package/src/scripts/getWebpackConfig.ts +22 -0
- package/src/scripts/index.ts +2 -2
- package/src/scripts/package.json +1 -0
- package/src/scripts/serve.ts +15 -12
- package/src/scripts/startDevserver.ts +5 -8
- package/src/spouts/DocumentComponent.tsx +3 -7
- package/src/spouts/antd.server.tsx +1 -1
- package/src/spouts/app.server.tsx +1 -1
- package/src/spouts/document.server.tsx +12 -4
- package/src/spouts/document.tsx +1 -2
- package/src/spouts/json.server.tsx +1 -1
- package/src/spouts/json.tsx +1 -1
- package/src/spouts/prefetch.server.tsx +1 -1
- package/src/spouts/restHooks.server.tsx +1 -1
- package/src/spouts/restHooks.tsx +2 -2
- package/src/spouts/router.server.tsx +1 -1
- package/src/spouts/router.tsx +1 -1
- package/dist/client.js.map +0 -1
- package/dist/server.js.map +0 -1
package/dist/client.js
CHANGED
|
@@ -1,15 +1,183 @@
|
|
|
1
1
|
/******/ (() => { // webpackBootstrap
|
|
2
|
+
/******/ "use strict";
|
|
2
3
|
/******/ var __webpack_modules__ = ({
|
|
3
4
|
|
|
4
|
-
/***/
|
|
5
|
-
/***/ ((
|
|
5
|
+
/***/ 2:
|
|
6
|
+
/***/ ((module) => {
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
module.exports = require("@rest-hooks/react");
|
|
8
9
|
|
|
10
|
+
/***/ })
|
|
11
|
+
|
|
12
|
+
/******/ });
|
|
13
|
+
/************************************************************************/
|
|
14
|
+
/******/ // The module cache
|
|
15
|
+
/******/ var __webpack_module_cache__ = {};
|
|
16
|
+
/******/
|
|
17
|
+
/******/ // The require function
|
|
18
|
+
/******/ function __webpack_require__(moduleId) {
|
|
19
|
+
/******/ // Check if module is in cache
|
|
20
|
+
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
21
|
+
/******/ if (cachedModule !== undefined) {
|
|
22
|
+
/******/ return cachedModule.exports;
|
|
23
|
+
/******/ }
|
|
24
|
+
/******/ // Create a new module (and put it into the cache)
|
|
25
|
+
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
26
|
+
/******/ // no module.id needed
|
|
27
|
+
/******/ // no module.loaded needed
|
|
28
|
+
/******/ exports: {}
|
|
29
|
+
/******/ };
|
|
30
|
+
/******/
|
|
31
|
+
/******/ // Execute the module function
|
|
32
|
+
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
33
|
+
/******/
|
|
34
|
+
/******/ // Return the exports of the module
|
|
35
|
+
/******/ return module.exports;
|
|
36
|
+
/******/ }
|
|
37
|
+
/******/
|
|
38
|
+
/******/ // expose the modules object (__webpack_modules__)
|
|
39
|
+
/******/ __webpack_require__.m = __webpack_modules__;
|
|
40
|
+
/******/
|
|
41
|
+
/************************************************************************/
|
|
42
|
+
/******/ /* webpack/runtime/compat get default export */
|
|
43
|
+
/******/ (() => {
|
|
44
|
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
45
|
+
/******/ __webpack_require__.n = (module) => {
|
|
46
|
+
/******/ var getter = module && module.__esModule ?
|
|
47
|
+
/******/ () => (module['default']) :
|
|
48
|
+
/******/ () => (module);
|
|
49
|
+
/******/ __webpack_require__.d(getter, { a: getter });
|
|
50
|
+
/******/ return getter;
|
|
51
|
+
/******/ };
|
|
52
|
+
/******/ })();
|
|
53
|
+
/******/
|
|
54
|
+
/******/ /* webpack/runtime/define property getters */
|
|
55
|
+
/******/ (() => {
|
|
56
|
+
/******/ // define getter functions for harmony exports
|
|
57
|
+
/******/ __webpack_require__.d = (exports, definition) => {
|
|
58
|
+
/******/ for(var key in definition) {
|
|
59
|
+
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
60
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
61
|
+
/******/ }
|
|
62
|
+
/******/ }
|
|
63
|
+
/******/ };
|
|
64
|
+
/******/ })();
|
|
65
|
+
/******/
|
|
66
|
+
/******/ /* webpack/runtime/ensure chunk */
|
|
67
|
+
/******/ (() => {
|
|
68
|
+
/******/ __webpack_require__.f = {};
|
|
69
|
+
/******/ // This file contains only the entry chunk.
|
|
70
|
+
/******/ // The chunk loading function for additional chunks
|
|
71
|
+
/******/ __webpack_require__.e = (chunkId) => {
|
|
72
|
+
/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {
|
|
73
|
+
/******/ __webpack_require__.f[key](chunkId, promises);
|
|
74
|
+
/******/ return promises;
|
|
75
|
+
/******/ }, []));
|
|
76
|
+
/******/ };
|
|
77
|
+
/******/ })();
|
|
78
|
+
/******/
|
|
79
|
+
/******/ /* webpack/runtime/get javascript chunk filename */
|
|
80
|
+
/******/ (() => {
|
|
81
|
+
/******/ // This function allow to reference async chunks
|
|
82
|
+
/******/ __webpack_require__.u = (chunkId) => {
|
|
83
|
+
/******/ // return url for filenames based on template
|
|
84
|
+
/******/ return "" + chunkId + ".chunk.js";
|
|
85
|
+
/******/ };
|
|
86
|
+
/******/ })();
|
|
87
|
+
/******/
|
|
88
|
+
/******/ /* webpack/runtime/get mini-css chunk filename */
|
|
89
|
+
/******/ (() => {
|
|
90
|
+
/******/ // This function allow to reference async chunks
|
|
91
|
+
/******/ __webpack_require__.miniCssF = (chunkId) => {
|
|
92
|
+
/******/ // return url for filenames based on template
|
|
93
|
+
/******/ return undefined;
|
|
94
|
+
/******/ };
|
|
95
|
+
/******/ })();
|
|
96
|
+
/******/
|
|
97
|
+
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
98
|
+
/******/ (() => {
|
|
99
|
+
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
100
|
+
/******/ })();
|
|
101
|
+
/******/
|
|
102
|
+
/******/ /* webpack/runtime/make namespace object */
|
|
103
|
+
/******/ (() => {
|
|
104
|
+
/******/ // define __esModule on exports
|
|
105
|
+
/******/ __webpack_require__.r = (exports) => {
|
|
106
|
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
107
|
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
108
|
+
/******/ }
|
|
109
|
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
110
|
+
/******/ };
|
|
111
|
+
/******/ })();
|
|
112
|
+
/******/
|
|
113
|
+
/******/ /* webpack/runtime/publicPath */
|
|
114
|
+
/******/ (() => {
|
|
115
|
+
/******/ __webpack_require__.p = "/";
|
|
116
|
+
/******/ })();
|
|
117
|
+
/******/
|
|
118
|
+
/******/ /* webpack/runtime/require chunk loading */
|
|
119
|
+
/******/ (() => {
|
|
120
|
+
/******/ // no baseURI
|
|
121
|
+
/******/
|
|
122
|
+
/******/ // object to store loaded chunks
|
|
123
|
+
/******/ // "1" means "loaded", otherwise not loaded yet
|
|
124
|
+
/******/ var installedChunks = {
|
|
125
|
+
/******/ 0: 1
|
|
126
|
+
/******/ };
|
|
127
|
+
/******/
|
|
128
|
+
/******/ // no on chunks loaded
|
|
129
|
+
/******/
|
|
130
|
+
/******/ var installChunk = (chunk) => {
|
|
131
|
+
/******/ var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;
|
|
132
|
+
/******/ for(var moduleId in moreModules) {
|
|
133
|
+
/******/ if(__webpack_require__.o(moreModules, moduleId)) {
|
|
134
|
+
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
|
|
135
|
+
/******/ }
|
|
136
|
+
/******/ }
|
|
137
|
+
/******/ if(runtime) runtime(__webpack_require__);
|
|
138
|
+
/******/ for(var i = 0; i < chunkIds.length; i++)
|
|
139
|
+
/******/ installedChunks[chunkIds[i]] = 1;
|
|
140
|
+
/******/
|
|
141
|
+
/******/ };
|
|
142
|
+
/******/
|
|
143
|
+
/******/ // require() chunk loading for javascript
|
|
144
|
+
/******/ __webpack_require__.f.require = (chunkId, promises) => {
|
|
145
|
+
/******/ // "1" is the signal for "already loaded"
|
|
146
|
+
/******/ if(!installedChunks[chunkId]) {
|
|
147
|
+
/******/ if(true) { // all chunks have JS
|
|
148
|
+
/******/ installChunk(require("./" + __webpack_require__.u(chunkId)));
|
|
149
|
+
/******/ } else installedChunks[chunkId] = 1;
|
|
150
|
+
/******/ }
|
|
151
|
+
/******/ };
|
|
152
|
+
/******/
|
|
153
|
+
/******/ // no external install chunk
|
|
154
|
+
/******/
|
|
155
|
+
/******/ // no HMR
|
|
156
|
+
/******/
|
|
157
|
+
/******/ // no HMR manifest
|
|
158
|
+
/******/ })();
|
|
159
|
+
/******/
|
|
160
|
+
/************************************************************************/
|
|
161
|
+
var __webpack_exports__ = {};
|
|
162
|
+
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
|
|
163
|
+
(() => {
|
|
164
|
+
// ESM COMPAT FLAG
|
|
165
|
+
__webpack_require__.r(__webpack_exports__);
|
|
166
|
+
|
|
167
|
+
// EXPORTS
|
|
168
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
169
|
+
"JSONSpout": () => (/* reexport */ JSONSpout),
|
|
170
|
+
"appSpout": () => (/* reexport */ app),
|
|
171
|
+
"documentSpout": () => (/* reexport */ documentSpout),
|
|
172
|
+
"floodSpouts": () => (/* reexport */ floodSpouts),
|
|
173
|
+
"restHooksSpout": () => (/* reexport */ restHooksSpout),
|
|
174
|
+
"routerSpout": () => (/* reexport */ routerSpout)
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
;// CONCATENATED MODULE: external "react-dom/client"
|
|
178
|
+
const client_namespaceObject = require("react-dom/client");
|
|
179
|
+
;// CONCATENATED MODULE: ./src/floodSpouts.tsx
|
|
9
180
|
|
|
10
|
-
exports.__esModule = true;
|
|
11
|
-
exports["default"] = floodSpouts;
|
|
12
|
-
var _client = __webpack_require__("react-dom/client");
|
|
13
181
|
async function floodSpouts(spouts, {
|
|
14
182
|
rootId = 'anansi-root'
|
|
15
183
|
} = {}) {
|
|
@@ -17,128 +185,35 @@ async function floodSpouts(spouts, {
|
|
|
17
185
|
const {
|
|
18
186
|
app
|
|
19
187
|
} = await spouts({});
|
|
20
|
-
(0,
|
|
188
|
+
(0,client_namespaceObject.hydrateRoot)((_document$getElementB = document.getElementById(rootId)) != null ? _document$getElementB : document, app);
|
|
21
189
|
}
|
|
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;
|
|
190
|
+
;// CONCATENATED MODULE: ./src/spouts/document.tsx
|
|
50
191
|
function documentSpout(options) {
|
|
51
192
|
return next => async props => {
|
|
52
193
|
const nextProps = await next(props);
|
|
53
194
|
return nextProps;
|
|
54
195
|
};
|
|
55
196
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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.provider.tsx":
|
|
104
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
105
|
-
|
|
106
|
-
"use strict";
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
exports.__esModule = true;
|
|
110
|
-
exports.CacheProvider = void 0;
|
|
111
|
-
var _react = __webpack_require__("@rest-hooks/react");
|
|
112
|
-
exports.CacheProvider = _react.CacheProvider;
|
|
113
|
-
|
|
114
|
-
/***/ }),
|
|
115
|
-
|
|
116
|
-
/***/ "./src/spouts/restHooks.tsx":
|
|
117
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
118
|
-
|
|
119
|
-
"use strict";
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
var _interopRequireDefault = (__webpack_require__("../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);
|
|
123
|
-
exports.__esModule = true;
|
|
124
|
-
exports["default"] = restHooksSpout;
|
|
125
|
-
var _interopRequireWildcard2 = _interopRequireDefault(__webpack_require__("../../node_modules/@babel/runtime/helpers/interopRequireWildcard.js"));
|
|
126
|
-
var _react = _interopRequireDefault(__webpack_require__("react"));
|
|
197
|
+
;// CONCATENATED MODULE: external "react"
|
|
198
|
+
const external_react_namespaceObject = require("react");
|
|
199
|
+
var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_namespaceObject);
|
|
200
|
+
;// CONCATENATED MODULE: ./src/spouts/restHooks.tsx
|
|
127
201
|
var _jsxFileName = "/home/ntucker/src/anansi/packages/core/src/spouts/restHooks.tsx";
|
|
202
|
+
|
|
128
203
|
function restHooksSpout(options = {}) {
|
|
129
204
|
return next => async props => {
|
|
130
205
|
const nextProps = await next(props);
|
|
131
206
|
const [data, {
|
|
132
207
|
CacheProvider
|
|
133
|
-
}] = await Promise.all([props.getInitialData('resthooks'),
|
|
134
|
-
if (
|
|
208
|
+
}] = await Promise.all([props.getInitialData('resthooks'), __webpack_require__.e(/* import() */ 2).then(__webpack_require__.bind(__webpack_require__, 5))]);
|
|
209
|
+
if (process.env.NODE_ENV !== 'production' && !data) {
|
|
135
210
|
console.error('Rest Hooks init data not found');
|
|
136
211
|
} else if (!data) {
|
|
137
212
|
console.info('Rest Hooks init missing');
|
|
138
213
|
}
|
|
139
214
|
return {
|
|
140
215
|
...nextProps,
|
|
141
|
-
app: /*#__PURE__*/
|
|
216
|
+
app: /*#__PURE__*/external_react_default().createElement(CacheProvider, {
|
|
142
217
|
initialState: data,
|
|
143
218
|
managers: options == null ? void 0 : options.getManagers == null ? void 0 : options.getManagers(),
|
|
144
219
|
__self: this,
|
|
@@ -151,41 +226,34 @@ function restHooksSpout(options = {}) {
|
|
|
151
226
|
};
|
|
152
227
|
};
|
|
153
228
|
}
|
|
229
|
+
;// CONCATENATED MODULE: external "@anansi/router"
|
|
230
|
+
const router_namespaceObject = require("@anansi/router");
|
|
231
|
+
;// CONCATENATED MODULE: external "history"
|
|
232
|
+
const external_history_namespaceObject = require("history");
|
|
233
|
+
;// CONCATENATED MODULE: ./src/spouts/router.tsx
|
|
234
|
+
var router_jsxFileName = "/home/ntucker/src/anansi/packages/core/src/spouts/router.tsx";
|
|
154
235
|
|
|
155
|
-
/***/ }),
|
|
156
|
-
|
|
157
|
-
/***/ "./src/spouts/router.tsx":
|
|
158
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
159
|
-
|
|
160
|
-
"use strict";
|
|
161
236
|
|
|
162
237
|
|
|
163
|
-
var _interopRequireDefault = (__webpack_require__("../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);
|
|
164
|
-
exports.__esModule = true;
|
|
165
|
-
exports["default"] = routerSpout;
|
|
166
|
-
var _router = __webpack_require__("@anansi/router");
|
|
167
|
-
var _history = __webpack_require__("history");
|
|
168
|
-
var _react = _interopRequireDefault(__webpack_require__("react"));
|
|
169
|
-
var _jsxFileName = "/home/ntucker/src/anansi/packages/core/src/spouts/router.tsx";
|
|
170
238
|
function routerSpout(options) {
|
|
171
239
|
const createRouteComponent = router => function Router({
|
|
172
240
|
children
|
|
173
241
|
}) {
|
|
174
242
|
const resolveWith = options.useResolveWith();
|
|
175
|
-
return /*#__PURE__*/
|
|
243
|
+
return /*#__PURE__*/external_react_default().createElement(router_namespaceObject.RouteProvider, {
|
|
176
244
|
router: router,
|
|
177
245
|
resolveWith: resolveWith,
|
|
178
246
|
onChange: options.onChange,
|
|
179
247
|
__self: this,
|
|
180
248
|
__source: {
|
|
181
|
-
fileName:
|
|
249
|
+
fileName: router_jsxFileName,
|
|
182
250
|
lineNumber: 28,
|
|
183
251
|
columnNumber: 9
|
|
184
252
|
}
|
|
185
253
|
}, children);
|
|
186
254
|
};
|
|
187
255
|
return next => async props => {
|
|
188
|
-
const history = (0,
|
|
256
|
+
const history = (0,external_history_namespaceObject.createBrowserHistory)();
|
|
189
257
|
const router = options.createRouter(history);
|
|
190
258
|
const matchedRoutes = router.getMatchedRoutes(history.location.pathname);
|
|
191
259
|
const nextProps = await next({
|
|
@@ -198,10 +266,10 @@ function routerSpout(options) {
|
|
|
198
266
|
...nextProps,
|
|
199
267
|
matchedRoutes,
|
|
200
268
|
router,
|
|
201
|
-
app: /*#__PURE__*/
|
|
269
|
+
app: /*#__PURE__*/external_react_default().createElement(Router, {
|
|
202
270
|
__self: this,
|
|
203
271
|
__source: {
|
|
204
|
-
fileName:
|
|
272
|
+
fileName: router_jsxFileName,
|
|
205
273
|
lineNumber: 50,
|
|
206
274
|
columnNumber: 12
|
|
207
275
|
}
|
|
@@ -209,176 +277,56 @@ function routerSpout(options) {
|
|
|
209
277
|
};
|
|
210
278
|
};
|
|
211
279
|
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
/***/ "history":
|
|
232
|
-
/***/ ((module) => {
|
|
233
|
-
|
|
234
|
-
"use strict";
|
|
235
|
-
module.exports = require("history");
|
|
236
|
-
|
|
237
|
-
/***/ }),
|
|
238
|
-
|
|
239
|
-
/***/ "react":
|
|
240
|
-
/***/ ((module) => {
|
|
241
|
-
|
|
242
|
-
"use strict";
|
|
243
|
-
module.exports = require("react");
|
|
244
|
-
|
|
245
|
-
/***/ }),
|
|
246
|
-
|
|
247
|
-
/***/ "react-dom/client":
|
|
248
|
-
/***/ ((module) => {
|
|
249
|
-
|
|
250
|
-
"use strict";
|
|
251
|
-
module.exports = require("react-dom/client");
|
|
252
|
-
|
|
253
|
-
/***/ }),
|
|
254
|
-
|
|
255
|
-
/***/ "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
|
|
256
|
-
/***/ ((module) => {
|
|
257
|
-
|
|
258
|
-
function _interopRequireDefault(obj) {
|
|
259
|
-
return obj && obj.__esModule ? obj : {
|
|
260
|
-
"default": obj
|
|
261
|
-
};
|
|
262
|
-
}
|
|
263
|
-
module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
264
|
-
|
|
265
|
-
/***/ }),
|
|
266
|
-
|
|
267
|
-
/***/ "../../node_modules/@babel/runtime/helpers/interopRequireWildcard.js":
|
|
268
|
-
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
269
|
-
|
|
270
|
-
var _typeof = (__webpack_require__("../../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
|
|
271
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
272
|
-
if (typeof WeakMap !== "function") return null;
|
|
273
|
-
var cacheBabelInterop = new WeakMap();
|
|
274
|
-
var cacheNodeInterop = new WeakMap();
|
|
275
|
-
return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
|
|
276
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
277
|
-
})(nodeInterop);
|
|
278
|
-
}
|
|
279
|
-
function _interopRequireWildcard(obj, nodeInterop) {
|
|
280
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
281
|
-
return obj;
|
|
282
|
-
}
|
|
283
|
-
if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") {
|
|
280
|
+
;// CONCATENATED MODULE: ./src/spouts/json.tsx
|
|
281
|
+
function JSONSpout({
|
|
282
|
+
id = 'anansi-json'
|
|
283
|
+
} = {}) {
|
|
284
|
+
return next => async props => {
|
|
285
|
+
const getInitialData = key => {
|
|
286
|
+
const globalId = `${id}.${key}`;
|
|
287
|
+
return new Promise((resolve, reject) => {
|
|
288
|
+
let el;
|
|
289
|
+
if (el = document.getElementById(globalId)) {
|
|
290
|
+
resolve(getDataFromEl(el, globalId));
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
document.addEventListener('DOMContentLoaded', () => {
|
|
294
|
+
el = document.getElementById(globalId);
|
|
295
|
+
if (el) resolve(getDataFromEl(el, globalId));else reject(new Error(`failed to find DOM with ${key} state`));
|
|
296
|
+
});
|
|
297
|
+
});
|
|
298
|
+
};
|
|
284
299
|
return {
|
|
285
|
-
|
|
300
|
+
...(await next({
|
|
301
|
+
...props,
|
|
302
|
+
getInitialData
|
|
303
|
+
})),
|
|
304
|
+
getInitialData
|
|
286
305
|
};
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
function getDataFromEl(el, key) {
|
|
309
|
+
if (el.text === undefined) {
|
|
310
|
+
console.error(`#${key} is completely empty. This could be due to CSP issues.`);
|
|
287
311
|
}
|
|
288
|
-
|
|
289
|
-
if (cache && cache.has(obj)) {
|
|
290
|
-
return cache.get(obj);
|
|
291
|
-
}
|
|
292
|
-
var newObj = {};
|
|
293
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
294
|
-
for (var key in obj) {
|
|
295
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
296
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
297
|
-
if (desc && (desc.get || desc.set)) {
|
|
298
|
-
Object.defineProperty(newObj, key, desc);
|
|
299
|
-
} else {
|
|
300
|
-
newObj[key] = obj[key];
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
newObj["default"] = obj;
|
|
305
|
-
if (cache) {
|
|
306
|
-
cache.set(obj, newObj);
|
|
307
|
-
}
|
|
308
|
-
return newObj;
|
|
312
|
+
return el != null && el.text ? JSON.parse(el == null ? void 0 : el.text) : undefined;
|
|
309
313
|
}
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
314
|
+
;// CONCATENATED MODULE: ./src/spouts/app.tsx
|
|
315
|
+
const appSpout = app => props => Promise.resolve({
|
|
316
|
+
...props,
|
|
317
|
+
app
|
|
318
|
+
});
|
|
319
|
+
/* harmony default export */ const app = (appSpout);
|
|
320
|
+
;// CONCATENATED MODULE: ./src/index.ts
|
|
316
321
|
|
|
317
|
-
function _typeof(obj) {
|
|
318
|
-
"@babel/helpers - typeof";
|
|
319
322
|
|
|
320
|
-
return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
|
|
321
|
-
return typeof obj;
|
|
322
|
-
} : function (obj) {
|
|
323
|
-
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
324
|
-
}, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);
|
|
325
|
-
}
|
|
326
|
-
module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
327
323
|
|
|
328
|
-
/***/ })
|
|
329
324
|
|
|
330
|
-
/******/ });
|
|
331
|
-
/************************************************************************/
|
|
332
|
-
/******/ // The module cache
|
|
333
|
-
/******/ var __webpack_module_cache__ = {};
|
|
334
|
-
/******/
|
|
335
|
-
/******/ // The require function
|
|
336
|
-
/******/ function __webpack_require__(moduleId) {
|
|
337
|
-
/******/ // Check if module is in cache
|
|
338
|
-
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
339
|
-
/******/ if (cachedModule !== undefined) {
|
|
340
|
-
/******/ return cachedModule.exports;
|
|
341
|
-
/******/ }
|
|
342
|
-
/******/ // Create a new module (and put it into the cache)
|
|
343
|
-
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
344
|
-
/******/ // no module.id needed
|
|
345
|
-
/******/ // no module.loaded needed
|
|
346
|
-
/******/ exports: {}
|
|
347
|
-
/******/ };
|
|
348
|
-
/******/
|
|
349
|
-
/******/ // Execute the module function
|
|
350
|
-
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
351
|
-
/******/
|
|
352
|
-
/******/ // Return the exports of the module
|
|
353
|
-
/******/ return module.exports;
|
|
354
|
-
/******/ }
|
|
355
|
-
/******/
|
|
356
|
-
/************************************************************************/
|
|
357
|
-
var __webpack_exports__ = {};
|
|
358
|
-
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
|
|
359
|
-
(() => {
|
|
360
|
-
"use strict";
|
|
361
|
-
var exports = __webpack_exports__;
|
|
362
325
|
|
|
363
326
|
|
|
364
|
-
var _interopRequireDefault = (__webpack_require__("../../node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"]);
|
|
365
|
-
exports.__esModule = true;
|
|
366
|
-
exports.routerSpout = exports.restHooksSpout = exports.floodSpouts = exports.documentSpout = exports.appSpout = exports.JSONSpout = void 0;
|
|
367
|
-
var _floodSpouts = _interopRequireDefault(__webpack_require__("./src/floodSpouts.tsx"));
|
|
368
|
-
exports.floodSpouts = _floodSpouts.default;
|
|
369
|
-
var _document = _interopRequireDefault(__webpack_require__("./src/spouts/document.tsx"));
|
|
370
|
-
exports.documentSpout = _document.default;
|
|
371
|
-
var _restHooks = _interopRequireDefault(__webpack_require__("./src/spouts/restHooks.tsx"));
|
|
372
|
-
exports.restHooksSpout = _restHooks.default;
|
|
373
|
-
var _router = _interopRequireDefault(__webpack_require__("./src/spouts/router.tsx"));
|
|
374
|
-
exports.routerSpout = _router.default;
|
|
375
|
-
var _json = _interopRequireDefault(__webpack_require__("./src/spouts/json.tsx"));
|
|
376
|
-
exports.JSONSpout = _json.default;
|
|
377
|
-
var _app = _interopRequireDefault(__webpack_require__("./src/spouts/app.tsx"));
|
|
378
|
-
exports.appSpout = _app.default;
|
|
379
327
|
})();
|
|
380
328
|
|
|
381
329
|
module.exports = __webpack_exports__;
|
|
382
330
|
/******/ })()
|
|
383
331
|
;
|
|
384
|
-
//# sourceMappingURL=client.js.map
|
|
332
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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O01BQUUsSUFBSSxNQUFNNUMsSUFBSSxDQUFDO1FBQUUsR0FBR0MsS0FBSztRQUFFTztNQUFlLENBQUMsQ0FBQyxDQUFDO01BQUVBO0lBQWUsQ0FBQztFQUMxRSxDQUFDO0FBQ0g7QUFFQSxTQUFTeUMsYUFBYUEsQ0FBQ0QsRUFBcUIsRUFBRUosR0FBVyxFQUFFO0VBQ3pELElBQUlJLEVBQUUsQ0FBQ0ksSUFBSSxLQUFLQyxTQUFTLEVBQUU7SUFDekJ6QyxPQUFPLENBQUNDLEtBQUssQ0FDVixJQUFHK0IsR0FBSSx3REFBdUQsQ0FDaEU7RUFDSDtFQUNBLE9BQU9JLEVBQUUsWUFBRkEsRUFBRSxDQUFFSSxJQUFJLEdBQUdFLElBQUksQ0FBQ0MsS0FBSyxDQUFDUCxFQUFFLG9CQUFGQSxFQUFFLENBQUVJLElBQUksQ0FBQyxHQUFHQyxTQUFTO0FBQ3BEOztBQ25DQSxNQUFNRyxRQUFRLEdBQ1g3RCxHQUFnQixJQUNtQk0sS0FBUSxJQUMxQ0ssT0FBTyxDQUFDd0MsT0FBTyxDQUFDO0VBQUUsR0FBRzdDLEtBQUs7RUFBRU47QUFBSSxDQUFDLENBQUM7QUFFdEMsMENBQWU2RCxRQUFROztBQ0xtQztBQUNNO0FBQ0U7QUFDTjtBQUNKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwiQHJlc3QtaG9va3MvcmVhY3RcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svcnVudGltZS9jb21wYXQgZ2V0IGRlZmF1bHQgZXhwb3J0Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svcnVudGltZS9lbnN1cmUgY2h1bmsiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svcnVudGltZS9nZXQgamF2YXNjcmlwdCBjaHVuayBmaWxlbmFtZSIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvd2VicGFjay9ydW50aW1lL2dldCBtaW5pLWNzcyBjaHVuayBmaWxlbmFtZSIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvd2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvd2VicGFjay9ydW50aW1lL3B1YmxpY1BhdGgiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL3dlYnBhY2svcnVudGltZS9yZXF1aXJlIGNodW5rIGxvYWRpbmciLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwicmVhY3QtZG9tL2NsaWVudFwiIiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9mbG9vZFNwb3V0cy50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9kb2N1bWVudC50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwicmVhY3RcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvLi9zcmMvc3BvdXRzL3Jlc3RIb29rcy50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlL2V4dGVybmFsIGNvbW1vbmpzIFwiQGFuYW5zaS9yb3V0ZXJcIiIsIndlYnBhY2s6Ly9AYW5hbnNpL2NvcmUvZXh0ZXJuYWwgY29tbW9uanMgXCJoaXN0b3J5XCIiLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9yb3V0ZXIudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9zcG91dHMvanNvbi50c3giLCJ3ZWJwYWNrOi8vQGFuYW5zaS9jb3JlLy4vc3JjL3Nwb3V0cy9hcHAudHN4Iiwid2VicGFjazovL0BhbmFuc2kvY29yZS8uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAcmVzdC1ob29rcy9yZWFjdFwiKTsiLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuLy8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbl9fd2VicGFja19yZXF1aXJlX18ubSA9IF9fd2VicGFja19tb2R1bGVzX187XG5cbiIsIi8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSAobW9kdWxlKSA9PiB7XG5cdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuXHRcdCgpID0+IChtb2R1bGVbJ2RlZmF1bHQnXSkgOlxuXHRcdCgpID0+IChtb2R1bGUpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCB7IGE6IGdldHRlciB9KTtcblx0cmV0dXJuIGdldHRlcjtcbn07IiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5mID0ge307XG4vLyBUaGlzIGZpbGUgY29udGFpbnMgb25seSB0aGUgZW50cnkgY2h1bmsuXG4vLyBUaGUgY2h1bmsgbG9hZGluZyBmdW5jdGlvbiBmb3IgYWRkaXRpb25hbCBjaHVua3Ncbl9fd2VicGFja19yZXF1aXJlX18uZSA9IChjaHVua0lkKSA9PiB7XG5cdHJldHVybiBQcm9taXNlLmFsbChPYmplY3Qua2V5cyhfX3dlYnBhY2tfcmVxdWlyZV9fLmYpLnJlZHVjZSgocHJvbWlzZXMsIGtleSkgPT4ge1xuXHRcdF9fd2VicGFja19yZXF1aXJlX18uZltrZXldKGNodW5rSWQsIHByb21pc2VzKTtcblx0XHRyZXR1cm4gcHJvbWlzZXM7XG5cdH0sIFtdKSk7XG59OyIsIi8vIFRoaXMgZnVuY3Rpb24gYWxsb3cgdG8gcmVmZXJlbmNlIGFzeW5jIGNodW5rc1xuX193ZWJwYWNrX3JlcXVpcmVfXy51ID0gKGNodW5rSWQpID0+IHtcblx0Ly8gcmV0dXJuIHVybCBmb3IgZmlsZW5hbWVzIGJhc2VkIG9uIHRlbXBsYXRlXG5cdHJldHVybiBcIlwiICsgY2h1bmtJZCArIFwiLmNodW5rLmpzXCI7XG59OyIsIi8vIFRoaXMgZnVuY3Rpb24gYWxsb3cgdG8gcmVmZXJlbmNlIGFzeW5jIGNodW5rc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5taW5pQ3NzRiA9IChjaHVua0lkKSA9PiB7XG5cdC8vIHJldHVybiB1cmwgZm9yIGZpbGVuYW1lcyBiYXNlZCBvbiB0ZW1wbGF0ZVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwiLy8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5yID0gKGV4cG9ydHMpID0+IHtcblx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG5cdH1cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCIvXCI7IiwiLy8gbm8gYmFzZVVSSVxuXG4vLyBvYmplY3QgdG8gc3RvcmUgbG9hZGVkIGNodW5rc1xuLy8gXCIxXCIgbWVhbnMgXCJsb2FkZWRcIiwgb3RoZXJ3aXNlIG5vdCBsb2FkZWQgeWV0XG52YXIgaW5zdGFsbGVkQ2h1bmtzID0ge1xuXHQwOiAxXG59O1xuXG4vLyBubyBvbiBjaHVua3MgbG9hZGVkXG5cbnZhciBpbnN0YWxsQ2h1bmsgPSAoY2h1bmspID0+IHtcblx0dmFyIG1vcmVNb2R1bGVzID0gY2h1bmsubW9kdWxlcywgY2h1bmtJZHMgPSBjaHVuay5pZHMsIHJ1bnRpbWUgPSBjaHVuay5ydW50aW1lO1xuXHRmb3IodmFyIG1vZHVsZUlkIGluIG1vcmVNb2R1bGVzKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKG1vcmVNb2R1bGVzLCBtb2R1bGVJZCkpIHtcblx0XHRcdF9fd2VicGFja19yZXF1aXJlX18ubVttb2R1bGVJZF0gPSBtb3JlTW9kdWxlc1ttb2R1bGVJZF07XG5cdFx0fVxuXHR9XG5cdGlmKHJ1bnRpbWUpIHJ1bnRpbWUoX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cdGZvcih2YXIgaSA9IDA7IGkgPCBjaHVua0lkcy5sZW5ndGg7IGkrKylcblx0XHRpbnN0YWxsZWRDaHVua3NbY2h1bmtJZHNbaV1dID0gMTtcblxufTtcblxuLy8gcmVxdWlyZSgpIGNodW5rIGxvYWRpbmcgZm9yIGphdmFzY3JpcHRcbl9fd2VicGFja19yZXF1aXJlX18uZi5yZXF1aXJlID0gKGNodW5rSWQsIHByb21pc2VzKSA9PiB7XG5cdC8vIFwiMVwiIGlzIHRoZSBzaWduYWwgZm9yIFwiYWxyZWFkeSBsb2FkZWRcIlxuXHRpZighaW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdKSB7XG5cdFx0aWYodHJ1ZSkgeyAvLyBhbGwgY2h1bmtzIGhhdmUgSlNcblx0XHRcdGluc3RhbGxDaHVuayhyZXF1aXJlKFwiLi9cIiArIF9fd2VicGFja19yZXF1aXJlX18udShjaHVua0lkKSkpO1xuXHRcdH0gZWxzZSBpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF0gPSAxO1xuXHR9XG59O1xuXG4vLyBubyBleHRlcm5hbCBpbnN0YWxsIGNodW5rXG5cbi8vIG5vIEhNUlxuXG4vLyBubyBITVIgbWFuaWZlc3QiLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcInJlYWN0LWRvbS9jbGllbnRcIik7IiwiaW1wb3J0IHsgaHlkcmF0ZVJvb3QgfSBmcm9tICdyZWFjdC1kb20vY2xpZW50JztcblxuZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24gZmxvb2RTcG91dHMoXG4gIHNwb3V0czogKHByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gUHJvbWlzZTx7XG4gICAgYXBwOiBKU1guRWxlbWVudDtcbiAgfT4sXG4gIHsgcm9vdElkID0gJ2FuYW5zaS1yb290JyB9OiB7IHJvb3RJZD86IHN0cmluZyB9ID0ge30sXG4pIHtcbiAgY29uc3QgeyBhcHAgfSA9IGF3YWl0IHNwb3V0cyh7fSk7XG5cbiAgaHlkcmF0ZVJvb3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocm9vdElkKSA/PyBkb2N1bWVudCwgYXBwKTtcbn1cbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgQ2xpZW50U3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZG9jdW1lbnRTcG91dChvcHRpb25zOiB7XG4gIGhlYWQ/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIHRpdGxlOiBzdHJpbmc7XG59KTogQ2xpZW50U3BvdXQge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dChwcm9wcyk7XG5cbiAgICByZXR1cm4gbmV4dFByb3BzO1xuICB9O1xufVxuIiwiY29uc3QgX19XRUJQQUNLX05BTUVTUEFDRV9PQkpFQ1RfXyA9IHJlcXVpcmUoXCJyZWFjdFwiKTsiLCJpbXBvcnQgeyB0eXBlIE1hbmFnZXIgfSBmcm9tICdAcmVzdC1ob29rcy9yZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgQ2xpZW50U3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVzdEhvb2tzU3BvdXQoXG4gIG9wdGlvbnM6IHtcbiAgICBnZXRNYW5hZ2Vycz86ICgpID0+IE1hbmFnZXJbXTtcbiAgfSA9IHt9LFxuKTogQ2xpZW50U3BvdXQ8eyBnZXRJbml0aWFsRGF0YTogKGtleTogc3RyaW5nKSA9PiBQcm9taXNlPGFueT4gfT4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dChwcm9wcyk7XG4gICAgY29uc3QgW2RhdGEsIHsgQ2FjaGVQcm92aWRlciB9XSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgIHByb3BzLmdldEluaXRpYWxEYXRhKCdyZXN0aG9va3MnKSxcbiAgICAgIGltcG9ydCgnLi9yZXN0SG9va3MucHJvdmlkZXIuanMnKSxcbiAgICBdKTtcblxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICFkYXRhKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdSZXN0IEhvb2tzIGluaXQgZGF0YSBub3QgZm91bmQnKTtcbiAgICB9IGVsc2UgaWYgKCFkYXRhKSB7XG4gICAgICBjb25zb2xlLmluZm8oJ1Jlc3QgSG9va3MgaW5pdCBtaXNzaW5nJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIGFwcDogKFxuICAgICAgICA8Q2FjaGVQcm92aWRlciBpbml0aWFsU3RhdGU9e2RhdGF9IG1hbmFnZXJzPXtvcHRpb25zPy5nZXRNYW5hZ2Vycz8uKCl9PlxuICAgICAgICAgIHtuZXh0UHJvcHMuYXBwfVxuICAgICAgICA8L0NhY2hlUHJvdmlkZXI+XG4gICAgICApLFxuICAgIH07XG4gIH07XG59XG4iLCJjb25zdCBfX1dFQlBBQ0tfTkFNRVNQQUNFX09CSkVDVF9fID0gcmVxdWlyZShcIkBhbmFuc2kvcm91dGVyXCIpOyIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSByZXF1aXJlKFwiaGlzdG9yeVwiKTsiLCJpbXBvcnQgeyBSb3V0ZSwgUm91dGVQcm92aWRlciwgUm91dGVDb250cm9sbGVyIH0gZnJvbSAnQGFuYW5zaS9yb3V0ZXInO1xuaW1wb3J0IHsgY3JlYXRlQnJvd3Nlckhpc3RvcnkgfSBmcm9tICdoaXN0b3J5JztcbmltcG9ydCB0eXBlIHsgVXBkYXRlIH0gZnJvbSAnaGlzdG9yeSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IENyZWF0ZVJvdXRlciwgQ2xpZW50U3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcm91dGVyU3BvdXQ8UmVzb2x2ZVdpdGg+KG9wdGlvbnM6IHtcbiAgcmVzb2x2ZVdpdGg/OiBhbnk7XG4gIHVzZVJlc29sdmVXaXRoOiAoKSA9PiBSZXNvbHZlV2l0aDtcbiAgY3JlYXRlUm91dGVyOiBDcmVhdGVSb3V0ZXI8UmVzb2x2ZVdpdGg+O1xuICBvbkNoYW5nZT86ICh1cGRhdGU6IFVwZGF0ZSwgY2FsbGJhY2s6ICgpID0+IHZvaWQgfCB1bmRlZmluZWQpID0+IHZvaWQ7XG59KTogQ2xpZW50U3BvdXQ8XG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICB7XG4gICAgbWF0Y2hlZFJvdXRlczogUm91dGU8UmVzb2x2ZVdpdGgsIGFueT5bXTtcbiAgfSAmIHtcbiAgICByb3V0ZXI6IFJvdXRlQ29udHJvbGxlcjxSb3V0ZTxSZXNvbHZlV2l0aCwgYW55Pj47XG4gIH1cbj4ge1xuICBjb25zdCBjcmVhdGVSb3V0ZUNvbXBvbmVudCA9IChcbiAgICByb3V0ZXI6IFJvdXRlQ29udHJvbGxlcjxSb3V0ZTxSZXNvbHZlV2l0aCwgYW55Pj4sXG4gICkgPT5cbiAgICBmdW5jdGlvbiBSb3V0ZXIoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfSkge1xuICAgICAgY29uc3QgcmVzb2x2ZVdpdGggPSBvcHRpb25zLnVzZVJlc29sdmVXaXRoKCk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxSb3V0ZVByb3ZpZGVyXG4gICAgICAgICAgcm91dGVyPXtyb3V0ZXJ9XG4gICAgICAgICAgcmVzb2x2ZVdpdGg9e3Jlc29sdmVXaXRofVxuICAgICAgICAgIG9uQ2hhbmdlPXtvcHRpb25zLm9uQ2hhbmdlfVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L1JvdXRlUHJvdmlkZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IGhpc3RvcnkgPSBjcmVhdGVCcm93c2VySGlzdG9yeSgpO1xuICAgIGNvbnN0IHJvdXRlciA9IG9wdGlvbnMuY3JlYXRlUm91dGVyKGhpc3RvcnkpO1xuICAgIGNvbnN0IG1hdGNoZWRSb3V0ZXMgPSByb3V0ZXIuZ2V0TWF0Y2hlZFJvdXRlcyhoaXN0b3J5LmxvY2F0aW9uLnBhdGhuYW1lKTtcblxuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQoeyAuLi5wcm9wcywgbWF0Y2hlZFJvdXRlcywgcm91dGVyIH0pO1xuXG4gICAgY29uc3QgUm91dGVyID0gY3JlYXRlUm91dGVDb21wb25lbnQocm91dGVyKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgbWF0Y2hlZFJvdXRlcyxcbiAgICAgIHJvdXRlcixcbiAgICAgIGFwcDogPFJvdXRlcj57bmV4dFByb3BzLmFwcH08L1JvdXRlcj4sXG4gICAgfTtcbiAgfTtcbn1cbiIsImltcG9ydCB0eXBlIHsgQ2xpZW50U3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSlNPTlNwb3V0KHtcbiAgaWQgPSAnYW5hbnNpLWpzb24nLFxufTogeyBpZD86IHN0cmluZyB9ID0ge30pOiBDbGllbnRTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIHsgZ2V0SW5pdGlhbERhdGE6IChrZXk6IHN0cmluZykgPT4gUHJvbWlzZTxhbnk+IH1cbj4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgZ2V0SW5pdGlhbERhdGEgPSAoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGdsb2JhbElkID0gYCR7aWR9LiR7a2V5fWA7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGxldCBlbDogSFRNTFNjcmlwdEVsZW1lbnQgfCBudWxsO1xuICAgICAgICBpZiAoKGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZ2xvYmFsSWQpIGFzIGFueSkpIHtcbiAgICAgICAgICByZXNvbHZlKGdldERhdGFGcm9tRWwoZWwsIGdsb2JhbElkKSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiB7XG4gICAgICAgICAgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChnbG9iYWxJZCkgYXMgYW55O1xuICAgICAgICAgIGlmIChlbCkgcmVzb2x2ZShnZXREYXRhRnJvbUVsKGVsLCBnbG9iYWxJZCkpO1xuICAgICAgICAgIGVsc2UgcmVqZWN0KG5ldyBFcnJvcihgZmFpbGVkIHRvIGZpbmQgRE9NIHdpdGggJHtrZXl9IHN0YXRlYCkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH07XG4gICAgcmV0dXJuIHsgLi4uKGF3YWl0IG5leHQoeyAuLi5wcm9wcywgZ2V0SW5pdGlhbERhdGEgfSkpLCBnZXRJbml0aWFsRGF0YSB9O1xuICB9O1xufVxuXG5mdW5jdGlvbiBnZXREYXRhRnJvbUVsKGVsOiBIVE1MU2NyaXB0RWxlbWVudCwga2V5OiBzdHJpbmcpIHtcbiAgaWYgKGVsLnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBgIyR7a2V5fSBpcyBjb21wbGV0ZWx5IGVtcHR5LiBUaGlzIGNvdWxkIGJlIGR1ZSB0byBDU1AgaXNzdWVzLmAsXG4gICAgKTtcbiAgfVxuICByZXR1cm4gZWw/LnRleHQgPyBKU09OLnBhcnNlKGVsPy50ZXh0KSA6IHVuZGVmaW5lZDtcbn1cbiIsImNvbnN0IGFwcFNwb3V0ID1cbiAgKGFwcDogSlNYLkVsZW1lbnQpID0+XG4gIDxQIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KHByb3BzOiBQKSA9PlxuICAgIFByb21pc2UucmVzb2x2ZSh7IC4uLnByb3BzLCBhcHAgfSk7XG5cbmV4cG9ydCBkZWZhdWx0IGFwcFNwb3V0O1xuIiwiZXhwb3J0IHsgZGVmYXVsdCBhcyBmbG9vZFNwb3V0cyB9IGZyb20gJy4vZmxvb2RTcG91dHMuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkb2N1bWVudFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvZG9jdW1lbnQuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyByZXN0SG9va3NTcG91dCB9IGZyb20gJy4vc3BvdXRzL3Jlc3RIb29rcy5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHJvdXRlclNwb3V0IH0gZnJvbSAnLi9zcG91dHMvcm91dGVyLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSlNPTlNwb3V0IH0gZnJvbSAnLi9zcG91dHMvanNvbi5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFwcFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvYXBwLmpzJztcbmV4cG9ydCB0eXBlIHsgU2VydmVyUHJvcHMgfSBmcm9tICcuL3Nwb3V0cy90eXBlcy5qcyc7XG5leHBvcnQgdHlwZSB7IENsaWVudFNwb3V0IGFzIFNwb3V0IH0gZnJvbSAnLi9zcG91dHMvdHlwZXMuanMnO1xuIl0sIm5hbWVzIjpbImh5ZHJhdGVSb290IiwiZmxvb2RTcG91dHMiLCJzcG91dHMiLCJyb290SWQiLCJfZG9jdW1lbnQkZ2V0RWxlbWVudEIiLCJhcHAiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiZG9jdW1lbnRTcG91dCIsIm9wdGlvbnMiLCJuZXh0IiwicHJvcHMiLCJuZXh0UHJvcHMiLCJyZXN0SG9va3NTcG91dCIsImRhdGEiLCJDYWNoZVByb3ZpZGVyIiwiUHJvbWlzZSIsImFsbCIsImdldEluaXRpYWxEYXRhIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiY29uc29sZSIsImVycm9yIiwiaW5mbyIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsImluaXRpYWxTdGF0ZSIsIm1hbmFnZXJzIiwiZ2V0TWFuYWdlcnMiLCJfX3NlbGYiLCJfX3NvdXJjZSIsImZpbGVOYW1lIiwiX2pzeEZpbGVOYW1lIiwibGluZU51bWJlciIsImNvbHVtbk51bWJlciIsIlJvdXRlUHJvdmlkZXIiLCJjcmVhdGVCcm93c2VySGlzdG9yeSIsInJvdXRlclNwb3V0IiwiY3JlYXRlUm91dGVDb21wb25lbnQiLCJyb3V0ZXIiLCJSb3V0ZXIiLCJjaGlsZHJlbiIsInJlc29sdmVXaXRoIiwidXNlUmVzb2x2ZVdpdGgiLCJvbkNoYW5nZSIsImhpc3RvcnkiLCJjcmVhdGVSb3V0ZXIiLCJtYXRjaGVkUm91dGVzIiwiZ2V0TWF0Y2hlZFJvdXRlcyIsImxvY2F0aW9uIiwicGF0aG5hbWUiLCJKU09OU3BvdXQiLCJpZCIsImtleSIsImdsb2JhbElkIiwicmVzb2x2ZSIsInJlamVjdCIsImVsIiwiZ2V0RGF0YUZyb21FbCIsImFkZEV2ZW50TGlzdGVuZXIiLCJFcnJvciIsInRleHQiLCJ1bmRlZmluZWQiLCJKU09OIiwicGFyc2UiLCJhcHBTcG91dCIsImRlZmF1bHQiXSwic291cmNlUm9vdCI6IiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|