@anansi/core 0.7.1 → 0.7.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 CHANGED
@@ -3,6 +3,33 @@
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.7.4](https://github.com/ntucker/anansi/compare/@anansi/core@0.7.3...@anansi/core@0.7.4) (2022-05-28)
7
+
8
+
9
+ ### 💅 Enhancement
10
+
11
+ * Stall SSR requests until build is ready ([fe2616a](https://github.com/ntucker/anansi/commit/fe2616ac2d957f7243310d896f4a2ad5cb7d910e))
12
+
13
+
14
+
15
+ ### [0.7.3](https://github.com/ntucker/anansi/compare/@anansi/core@0.7.2...@anansi/core@0.7.3) (2022-05-28)
16
+
17
+
18
+ ### 💅 Enhancement
19
+
20
+ * Require, then import fresh ([7de7d8d](https://github.com/ntucker/anansi/commit/7de7d8d73e533b69bdf78698965121a35375692c))
21
+
22
+
23
+
24
+ ### [0.7.2](https://github.com/ntucker/anansi/compare/@anansi/core@0.7.1...@anansi/core@0.7.2) (2022-05-28)
25
+
26
+
27
+ ### 💅 Enhancement
28
+
29
+ * More error handling ([129d444](https://github.com/ntucker/anansi/commit/129d44407ac3ea9838e240d82f774c73100cc9da))
30
+
31
+
32
+
6
33
  ### [0.7.1](https://github.com/ntucker/anansi/compare/@anansi/core@0.7.0...@anansi/core@0.7.1) (2022-05-28)
7
34
 
8
35
 
@@ -119,7 +119,14 @@ function handleErrors(fn) {
119
119
  };
120
120
  }
121
121
 
122
- let render;
122
+ const initRender = [];
123
+
124
+ let render = (...args) => new Promise(resolve => {
125
+ initRender.push({
126
+ args,
127
+ resolve
128
+ });
129
+ });
123
130
 
124
131
  function importRender(stats) {
125
132
  var _clientStats$compilat, _clientStats$compilat2, _serverStats$compilat, _serverStats$compilat2;
@@ -136,10 +143,15 @@ function importRender(stats) {
136
143
  } // ASSETS
137
144
 
138
145
 
139
- const clientManifest = clientStats.toJson(); // SERVER SIDE RENDERING
140
- // eslint-disable-next-line @typescript-eslint/no-var-requires
146
+ const clientManifest = clientStats.toJson(); // SERVER SIDE ENTRYPOINT
141
147
 
142
- render = (0, _importFresh.default)(getServerBundle(serverStats)).default.bind(undefined, clientManifest);
148
+ if (Array.isArray(initRender)) {
149
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
150
+ render = require(getServerBundle(serverStats)).default.bind(undefined, clientManifest);
151
+ initRender.forEach(init => render(...init.args).then(init.resolve));
152
+ } else {
153
+ render = (0, _importFresh.default)(getServerBundle(serverStats)).default.bind(undefined, clientManifest);
154
+ }
143
155
  }
144
156
 
145
157
  const devServer = new _webpackDevServer.default( // write to memory filesystem so we can import
@@ -197,8 +209,10 @@ const runServer = async () => {
197
209
  importRender(multiStats.stats);
198
210
  } catch (e) {
199
211
  log.error('Failed to load serve entrypoint');
200
- console.error(e);
212
+ throw e;
201
213
  }
214
+ } else {
215
+ log.error('Only compiler one stat');
202
216
  }
203
217
  });
204
218
  };
@@ -215,4 +229,4 @@ process.on('SIGINT', () => {
215
229
  process.exit(-1);
216
230
  });
217
231
  runServer();
218
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3ZWJwYWNrQ29uZmlnIiwicmVxdWlyZSIsInJlc29sdmUiLCJwYXRoIiwiam9pbiIsInByb2Nlc3MiLCJjd2QiLCJlbnRyeXBvaW50IiwiYXJndiIsImVudiIsIldFQlBBQ0tfUFVCTElDX1BBVEgiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsImxvZ2dpbmciLCJnZXRMb2dnZXIiLCJ2b2x1bWUiLCJWb2x1bWUiLCJmcyIsImNyZWF0ZUZzRnJvbVZvbHVtZSIsInVmcyIsInVzZSIsImRpc2tGcyIsInBhdGNoUmVxdWlyZSIsInJlYWRGaWxlIiwicHJvbWlzaWZ5Iiwic2VydmVyIiwiaG90RW50cnkiLCJlbnRyeVBhdGgiLCJnZW5lcmF0ZWRFbnRyeXBvaW50IiwidG1wIiwiZmlsZVN5bmMiLCJwb3N0Zml4Iiwid3JpdGVTeW5jIiwiZmQiLCJ3ZWJwYWNrQ29uZmlncyIsImVudHJ5cGF0aCIsIm5hbWUiLCJtb2RlIiwicmVwbGFjZSIsIkJST1dTRVJTTElTVF9FTlYiLCJ0YXJnZXQiLCJwbHVnaW5zIiwicHVzaCIsIndlYnBhY2siLCJvcHRpbWl6ZSIsIkxpbWl0Q2h1bmtDb3VudFBsdWdpbiIsIm1heENodW5rcyIsImNvbXBpbGVyIiwic291cmNlTWFwU3VwcG9ydCIsImluc3RhbGwiLCJob29rUmVxdWlyZSIsImdldFNlcnZlckJ1bmRsZSIsInNlcnZlclN0YXRzIiwic2VydmVySnNvbiIsInRvSnNvbiIsImFzc2V0cyIsIm91dHB1dFBhdGgiLCJoYW5kbGVFcnJvcnMiLCJmbiIsInJlcSIsInJlcyIsIm5leHQiLCJ4IiwicmVuZGVyIiwiaW1wb3J0UmVuZGVyIiwic3RhdHMiLCJjbGllbnRTdGF0cyIsImNvbXBpbGF0aW9uIiwiZXJyb3JzIiwibGVuZ3RoIiwiZXJyb3IiLCJpbmZvIiwiY2xpZW50TWFuaWZlc3QiLCJpbXBvcnRGcmVzaCIsImRlZmF1bHQiLCJiaW5kIiwidW5kZWZpbmVkIiwiZGV2U2VydmVyIiwiV2VicGFja0RldlNlcnZlciIsImRldk1pZGRsZXdhcmUiLCJvdXRwdXRGaWxlU3lzdGVtIiwic2V0dXBNaWRkbGV3YXJlcyIsIm1pZGRsZXdhcmVzIiwiRXJyb3IiLCJhcHAiLCJnZXQiLCJSZWdFeHAiLCJ1cmwiLCJlbmRzV2l0aCIsInN0YXR1c0NvZGUiLCJzZXRIZWFkZXIiLCJzZW5kIiwic29ja2V0Iiwib24iLCJydW5TZXJ2ZXIiLCJzdGFydCIsImhvb2tzIiwiZG9uZSIsInRhcCIsIm11bHRpU3RhdHMiLCJPYmplY3QiLCJoYXNPd24iLCJlIiwic3RvcFNlcnZlciIsInN0b3AiLCJ3YXJuIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvc3RhcnREZXZzZXJ2ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuXG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJztcbmltcG9ydCBkaXNrRnMgZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgd2VicGFjaywgeyBNdWx0aUNvbXBpbGVyIH0gZnJvbSAnd2VicGFjayc7XG5pbXBvcnQgeyBjcmVhdGVGc0Zyb21Wb2x1bWUsIFZvbHVtZSB9IGZyb20gJ21lbWZzJztcbmltcG9ydCB7IFNlcnZlciwgSW5jb21pbmdNZXNzYWdlLCBTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJ2h0dHAnO1xuaW1wb3J0IHR5cGUgeyBOZXh0RnVuY3Rpb24gfSBmcm9tICdleHByZXNzJztcbmltcG9ydCB7IHBhdGNoUmVxdWlyZSB9IGZyb20gJ2ZzLW1vbmtleSc7XG5pbXBvcnQgdG1wIGZyb20gJ3RtcCc7XG5pbXBvcnQgc291cmNlTWFwU3VwcG9ydCBmcm9tICdzb3VyY2UtbWFwLXN1cHBvcnQnO1xuaW1wb3J0IHsgdWZzIH0gZnJvbSAndW5pb25mcyc7XG5pbXBvcnQgV2VicGFja0RldlNlcnZlciBmcm9tICd3ZWJwYWNrLWRldi1zZXJ2ZXInO1xuaW1wb3J0IGltcG9ydEZyZXNoIGZyb20gJ2ltcG9ydC1mcmVzaCc7XG5pbXBvcnQgbG9nZ2luZyBmcm9tICd3ZWJwYWNrL2xpYi9sb2dnaW5nL3J1bnRpbWUnO1xuXG5pbXBvcnQgJ2Nyb3NzLWZldGNoL3BvbHlmaWxsJztcbmltcG9ydCB7IEJvdW5kUmVuZGVyIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG5jb25zdCB3ZWJwYWNrQ29uZmlnID0gcmVxdWlyZShyZXF1aXJlLnJlc29sdmUoXG4gIC8vIFRPRE86IHVzZSBub3JtYWwgcmVzb2x1dGlvbiBhbGdvcml0aG0gdG8gZmluZCB3ZWJwYWNrIGZpbGVcbiAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksICd3ZWJwYWNrLmNvbmZpZycpLFxuKSk7XG5cbmNvbnN0IGVudHJ5cG9pbnQgPSBwcm9jZXNzLmFyZ3ZbMl07XG4vL3Byb2Nlc3MuZW52LldFQlBBQ0tfUFVCTElDX0hPU1QgPSBgaHR0cDovL2xvY2FsaG9zdDoke1BPUlR9YDsgdGhpcyBicmVha3MgY29tcGF0aWJpbGl0eSB3aXRoIHN0YWNrYmxpdHpcbnByb2Nlc3MuZW52LldFQlBBQ0tfUFVCTElDX1BBVEggPSAnL2Fzc2V0cy8nO1xuXG5pZiAoIWVudHJ5cG9pbnQpIHtcbiAgY29uc29sZS5sb2coYFVzYWdlOiBzdGFydC1hbmFuc2kgPGVudHJ5cG9pbnQtZmlsZT5gKTtcbiAgcHJvY2Vzcy5leGl0KC0xKTtcbn1cblxuY29uc3QgbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2FuYW5zaS1kZXZzZXJ2ZXInKTtcblxuLy8gU2V0IHVwIGluIG1lbW9yeSBmaWxlc3lzdGVtXG5jb25zdCB2b2x1bWUgPSBuZXcgVm9sdW1lKCk7XG5jb25zdCBmcyA9IGNyZWF0ZUZzRnJvbVZvbHVtZSh2b2x1bWUpO1xudWZzLnVzZShkaXNrRnMpLnVzZShmcyBhcyBhbnkpO1xuXG5wYXRjaFJlcXVpcmUodWZzKTtcbmNvbnN0IHJlYWRGaWxlID0gcHJvbWlzaWZ5KHVmcy5yZWFkRmlsZSk7XG5sZXQgc2VydmVyOiBTZXJ2ZXIgfCB1bmRlZmluZWQ7XG5cbi8vIEdlbmVyYXRlIGEgdGVtcG9yYXJ5IGZpbGUgc28gd2UgY2FuIGhvdCByZWxvYWQgZnJvbSB0aGUgcm9vdCBvZiB0aGUgYXBwbGljYXRpb25cbmZ1bmN0aW9uIGhvdEVudHJ5KGVudHJ5UGF0aDogc3RyaW5nKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAvLyBAdHMtaWdub3JlIGZvciBzb21lIHJlYXNvbiBpdCdzIG5vdCBwaWNraW5nIHVwIHRoYXQgb3RoZXIgb3B0aW9ucyBhcmUgb3B0aW9uYWxcbiAgY29uc3QgZ2VuZXJhdGVkRW50cnlwb2ludCA9IHRtcC5maWxlU3luYyh7IHBvc3RmaXg6ICcuanMnIH0pO1xuICBkaXNrRnMud3JpdGVTeW5jKFxuICAgIGdlbmVyYXRlZEVudHJ5cG9pbnQuZmQsXG4gICAgYFxuaW1wb3J0IGVudHJ5IGZyb20gXCIke3BhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBlbnRyeVBhdGgpfVwiO1xuXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBlbnRyeTtcbiAgYCxcbiAgKTtcbiAgcmV0dXJuIGdlbmVyYXRlZEVudHJ5cG9pbnQ7XG59XG5cbmNvbnN0IHdlYnBhY2tDb25maWdzID0gW1xuICB3ZWJwYWNrQ29uZmlnKFxuICAgIHtcbiAgICAgIGVudHJ5cGF0aDogaG90RW50cnkoZW50cnlwb2ludCkubmFtZSxcbiAgICAgIG5hbWU6ICdjbGllbnQnLFxuICAgIH0sXG4gICAgeyBtb2RlOiAnZGV2ZWxvcG1lbnQnIH0sXG4gICksXG4gIHdlYnBhY2tDb25maWcoXG4gICAge1xuICAgICAgZW50cnlwYXRoOiBlbnRyeXBvaW50LnJlcGxhY2UoJy50c3gnLCAnLnNlcnZlci50c3gnKSxcbiAgICAgIG5hbWU6ICdzZXJ2ZXInLFxuICAgICAgQlJPV1NFUlNMSVNUX0VOVjogJ2N1cnJlbnQgbm9kZScsXG4gICAgfSxcbiAgICB7IG1vZGU6ICdkZXZlbG9wbWVudCcsIHRhcmdldDogJ25vZGUnIH0sXG4gICksXG5dIGFzIGNvbnN0O1xuLy8gb25seSBoYXZlIG9uZSBvdXRwdXQgZm9yIHNlcnZlciBzbyB3ZSBjYW4gYXZvaWQgY2FjaGVkIG1vZHVsZXNcbndlYnBhY2tDb25maWdzWzFdLnBsdWdpbnMucHVzaChcbiAgbmV3IHdlYnBhY2sub3B0aW1pemUuTGltaXRDaHVua0NvdW50UGx1Z2luKHsgbWF4Q2h1bmtzOiAxIH0pLFxuKTtcbi8vIGluaXRpYWxpemUgdGhlIHdlYnBhY2sgY29tcGlsZXJcbmNvbnN0IGNvbXBpbGVyOiBNdWx0aUNvbXBpbGVyID0gd2VicGFjayh3ZWJwYWNrQ29uZmlncyk7XG5cbnNvdXJjZU1hcFN1cHBvcnQuaW5zdGFsbCh7IGhvb2tSZXF1aXJlOiB0cnVlIH0pO1xuXG5mdW5jdGlvbiBnZXRTZXJ2ZXJCdW5kbGUoc2VydmVyU3RhdHM6IHdlYnBhY2suU3RhdHMpIHtcbiAgY29uc3Qgc2VydmVySnNvbiA9IHNlcnZlclN0YXRzLnRvSnNvbih7IGFzc2V0czogdHJ1ZSB9KTtcbiAgcmV0dXJuIHBhdGguam9pbihzZXJ2ZXJKc29uLm91dHB1dFBhdGggPz8gJycsICdzZXJ2ZXIuanMnKTtcbn1cbmZ1bmN0aW9uIGhhbmRsZUVycm9yczxcbiAgRiBleHRlbmRzIChcbiAgICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gICAgcmVzOiBSZXNwb25zZSB8IFNlcnZlclJlc3BvbnNlLFxuICApID0+IFByb21pc2U8dm9pZD4sXG4+KGZuOiBGKSB7XG4gIHJldHVybiBhc3luYyBmdW5jdGlvbiAoXG4gICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbiAgICBuZXh0OiBOZXh0RnVuY3Rpb24sXG4gICkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgZm4ocmVxLCByZXMpO1xuICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgIG5leHQoeCk7XG4gICAgfVxuICB9O1xufVxubGV0IHJlbmRlcjogQm91bmRSZW5kZXI7XG5mdW5jdGlvbiBpbXBvcnRSZW5kZXIoc3RhdHM6IHdlYnBhY2suU3RhdHNbXSkge1xuICBjb25zdCBbY2xpZW50U3RhdHMsIHNlcnZlclN0YXRzXSA9IHN0YXRzO1xuICBpZiAoXG4gICAgY2xpZW50U3RhdHM/LmNvbXBpbGF0aW9uPy5lcnJvcnM/Lmxlbmd0aCB8fFxuICAgIHNlcnZlclN0YXRzPy5jb21waWxhdGlvbj8uZXJyb3JzPy5sZW5ndGhcbiAgKSB7XG4gICAgbG9nLmVycm9yKCdFcnJvcnMgZm9yIGNsaWVudCBidWlsZDogJyArIGNsaWVudFN0YXRzLmNvbXBpbGF0aW9uLmVycm9ycyk7XG4gICAgbG9nLmVycm9yKCdFcnJvcnMgZm9yIHNlcnZlciBidWlsZDogJyArIHNlcnZlclN0YXRzLmNvbXBpbGF0aW9uLmVycm9ycyk7XG4gICAgLy8gVE9ETzogaGFuZGxlIG1vcmUgZ3JhY2VmdWxseVxuICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nLmluZm8oJ0xhdW5jaGluZyBTU1InKTtcbiAgfVxuXG4gIC8vIEFTU0VUU1xuICBjb25zdCBjbGllbnRNYW5pZmVzdCA9IGNsaWVudFN0YXRzLnRvSnNvbigpO1xuXG4gIC8vIFNFUlZFUiBTSURFIFJFTkRFUklOR1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICByZW5kZXIgPSAoaW1wb3J0RnJlc2goZ2V0U2VydmVyQnVuZGxlKHNlcnZlclN0YXRzKSkgYXMgYW55KS5kZWZhdWx0LmJpbmQoXG4gICAgdW5kZWZpbmVkLFxuICAgIGNsaWVudE1hbmlmZXN0LFxuICApO1xufVxuXG5jb25zdCBkZXZTZXJ2ZXIgPSBuZXcgV2VicGFja0RldlNlcnZlcihcbiAgLy8gd3JpdGUgdG8gbWVtb3J5IGZpbGVzeXN0ZW0gc28gd2UgY2FuIGltcG9ydFxuICB7XG4gICAgLi4ud2VicGFja0NvbmZpZ3NbMF0uZGV2U2VydmVyLFxuICAgIC8qY2xpZW50OiB7XG4gICAgICAuLi53ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXI/LmNsaWVudCxcbiAgICAgIHdlYlNvY2tldFVSTDoge1xuICAgICAgICAuLi53ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXI/LmNsaWVudC53ZWJTb2NrZXRVUkwsXG4gICAgICAgIHBvcnQ6IDgwODAsXG4gICAgICB9LFxuICAgIH0sKi9cbiAgICBkZXZNaWRkbGV3YXJlOiB7XG4gICAgICAuLi53ZWJwYWNrQ29uZmlnc1swXT8uZGV2U2VydmVyPy5kZXZNaWRkbGV3YXJlLFxuICAgICAgb3V0cHV0RmlsZVN5c3RlbToge1xuICAgICAgICAuLi5mcyxcbiAgICAgICAgam9pbjogcGF0aC5qb2luIGFzIGFueSxcbiAgICAgIH0gYXMgYW55IGFzIHR5cGVvZiBmcyxcbiAgICB9LFxuICAgIHNldHVwTWlkZGxld2FyZXM6IChtaWRkbGV3YXJlcywgZGV2U2VydmVyKSA9PiB7XG4gICAgICBpZiAoIWRldlNlcnZlcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3dlYnBhY2stZGV2LXNlcnZlciBpcyBub3QgZGVmaW5lZCcpO1xuICAgICAgfVxuXG4gICAgICAvLyBzZXJ2ZSBTU1IgZm9yIG5vbi1XRUJQQUNLX1BVQkxJQ19QQVRIXG4gICAgICBkZXZTZXJ2ZXIuYXBwPy5nZXQoXG4gICAgICAgIG5ldyBSZWdFeHAoYF4oPyEke3Byb2Nlc3MuZW52LldFQlBBQ0tfUFVCTElDX1BBVEh9KWApLFxuICAgICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICAgIGlmIChyZXEudXJsLmVuZHNXaXRoKCdmYXZpY29uLmljbycpKSB7XG4gICAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDQwNDtcbiAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICAgIHJlcy5zZW5kKCdub3QgZm91bmQnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzLnNvY2tldC5vbignZXJyb3InLCAoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhdGFsJywgZXJyb3IpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgYXdhaXQgcmVuZGVyKHJlcSwgcmVzKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gbWlkZGxld2FyZXM7XG4gICAgfSxcbiAgfSxcbiAgY29tcGlsZXIsXG4pO1xuY29uc3QgcnVuU2VydmVyID0gYXN5bmMgKCkgPT4ge1xuICBhd2FpdCBkZXZTZXJ2ZXIuc3RhcnQoKTtcbiAgZGV2U2VydmVyLmNvbXBpbGVyLmhvb2tzLmRvbmUudGFwKFxuICAgICdBbmFuc2kgU2VydmVyJyxcbiAgICAobXVsdGlTdGF0czogd2VicGFjay5NdWx0aVN0YXRzIHwgd2VicGFjay5TdGF0cykgPT4ge1xuICAgICAgaWYgKCFtdWx0aVN0YXRzKSB7XG4gICAgICAgIGxvZy5lcnJvcignc3RhdHMgbm90IHNlbmQnKTtcbiAgICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFPYmplY3QuaGFzT3duKG11bHRpU3RhdHMsICdzdGF0cycpKSByZXR1cm47XG4gICAgICBpZiAoKG11bHRpU3RhdHMgYXMgd2VicGFjay5NdWx0aVN0YXRzKS5zdGF0cy5sZW5ndGggPiAxKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaW1wb3J0UmVuZGVyKChtdWx0aVN0YXRzIGFzIHdlYnBhY2suTXVsdGlTdGF0cykuc3RhdHMpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgbG9nLmVycm9yKCdGYWlsZWQgdG8gbG9hZCBzZXJ2ZSBlbnRyeXBvaW50Jyk7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICk7XG59O1xuY29uc3Qgc3RvcFNlcnZlciA9IGFzeW5jICgpID0+IHtcbiAgbG9nLmluZm8oJ1N0b3BwaW5nIHNlcnZlci4uLicpO1xuICBhd2FpdCBkZXZTZXJ2ZXIuc3RvcCgpO1xuICBsb2cuaW5mbygnU2VydmVyIGNsb3NlZCcpO1xufTtcblxucHJvY2Vzcy5vbignU0lHSU5UJywgKCkgPT4ge1xuICBsb2cud2FybignUmVjZWl2ZWQgU0lHSU5ULCBkZXZzZXJ2ZXIgc2h1dHRpbmcgZG93bicpO1xuICBzdG9wU2VydmVyKCk7XG4gIHByb2Nlc3MuZXhpdCgtMSk7XG59KTtcblxucnVuU2VydmVyKCk7XG4iXSwibWFwcGluZ3MiOiJBQUFBOzs7OztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOzs7O0FBR0E7QUFDQSxNQUFNQSxhQUFhLEdBQUdDLE9BQU8sQ0FBQ0EsT0FBTyxDQUFDQyxPQUFSLEVBQzVCO0FBQ0FDLGFBQUEsQ0FBS0MsSUFBTCxDQUFVQyxPQUFPLENBQUNDLEdBQVIsRUFBVixFQUF5QixnQkFBekIsQ0FGNEIsQ0FBRCxDQUE3Qjs7QUFLQSxNQUFNQyxVQUFVLEdBQUdGLE9BQU8sQ0FBQ0csSUFBUixDQUFhLENBQWIsQ0FBbkIsQyxDQUNBOztBQUNBSCxPQUFPLENBQUNJLEdBQVIsQ0FBWUMsbUJBQVosR0FBa0MsVUFBbEM7O0FBRUEsSUFBSSxDQUFDSCxVQUFMLEVBQWlCO0VBQ2ZJLE9BQU8sQ0FBQ0MsR0FBUixDQUFhLHVDQUFiO0VBQ0FQLE9BQU8sQ0FBQ1EsSUFBUixDQUFhLENBQUMsQ0FBZDtBQUNEOztBQUVELE1BQU1ELEdBQUcsR0FBR0UsZ0JBQUEsQ0FBUUMsU0FBUixDQUFrQixrQkFBbEIsQ0FBWixDLENBRUE7OztBQUNBLE1BQU1DLE1BQU0sR0FBRyxJQUFJ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
232
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3ZWJwYWNrQ29uZmlnIiwicmVxdWlyZSIsInJlc29sdmUiLCJwYXRoIiwiam9pbiIsInByb2Nlc3MiLCJjd2QiLCJlbnRyeXBvaW50IiwiYXJndiIsImVudiIsIldFQlBBQ0tfUFVCTElDX1BBVEgiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsImxvZ2dpbmciLCJnZXRMb2dnZXIiLCJ2b2x1bWUiLCJWb2x1bWUiLCJmcyIsImNyZWF0ZUZzRnJvbVZvbHVtZSIsInVmcyIsInVzZSIsImRpc2tGcyIsInBhdGNoUmVxdWlyZSIsInJlYWRGaWxlIiwicHJvbWlzaWZ5Iiwic2VydmVyIiwiaG90RW50cnkiLCJlbnRyeVBhdGgiLCJnZW5lcmF0ZWRFbnRyeXBvaW50IiwidG1wIiwiZmlsZVN5bmMiLCJwb3N0Zml4Iiwid3JpdGVTeW5jIiwiZmQiLCJ3ZWJwYWNrQ29uZmlncyIsImVudHJ5cGF0aCIsIm5hbWUiLCJtb2RlIiwicmVwbGFjZSIsIkJST1dTRVJTTElTVF9FTlYiLCJ0YXJnZXQiLCJwbHVnaW5zIiwicHVzaCIsIndlYnBhY2siLCJvcHRpbWl6ZSIsIkxpbWl0Q2h1bmtDb3VudFBsdWdpbiIsIm1heENodW5rcyIsImNvbXBpbGVyIiwic291cmNlTWFwU3VwcG9ydCIsImluc3RhbGwiLCJob29rUmVxdWlyZSIsImdldFNlcnZlckJ1bmRsZSIsInNlcnZlclN0YXRzIiwic2VydmVySnNvbiIsInRvSnNvbiIsImFzc2V0cyIsIm91dHB1dFBhdGgiLCJoYW5kbGVFcnJvcnMiLCJmbiIsInJlcSIsInJlcyIsIm5leHQiLCJ4IiwiaW5pdFJlbmRlciIsInJlbmRlciIsImFyZ3MiLCJQcm9taXNlIiwiaW1wb3J0UmVuZGVyIiwic3RhdHMiLCJjbGllbnRTdGF0cyIsImNvbXBpbGF0aW9uIiwiZXJyb3JzIiwibGVuZ3RoIiwiZXJyb3IiLCJpbmZvIiwiY2xpZW50TWFuaWZlc3QiLCJBcnJheSIsImlzQXJyYXkiLCJkZWZhdWx0IiwiYmluZCIsInVuZGVmaW5lZCIsImZvckVhY2giLCJpbml0IiwidGhlbiIsImltcG9ydEZyZXNoIiwiZGV2U2VydmVyIiwiV2VicGFja0RldlNlcnZlciIsImRldk1pZGRsZXdhcmUiLCJvdXRwdXRGaWxlU3lzdGVtIiwic2V0dXBNaWRkbGV3YXJlcyIsIm1pZGRsZXdhcmVzIiwiRXJyb3IiLCJhcHAiLCJnZXQiLCJSZWdFeHAiLCJ1cmwiLCJlbmRzV2l0aCIsInN0YXR1c0NvZGUiLCJzZXRIZWFkZXIiLCJzZW5kIiwic29ja2V0Iiwib24iLCJydW5TZXJ2ZXIiLCJzdGFydCIsImhvb2tzIiwiZG9uZSIsInRhcCIsIm11bHRpU3RhdHMiLCJPYmplY3QiLCJoYXNPd24iLCJlIiwic3RvcFNlcnZlciIsInN0b3AiLCJ3YXJuIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvc3RhcnREZXZzZXJ2ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuXG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJztcbmltcG9ydCBkaXNrRnMgZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgd2VicGFjaywgeyBNdWx0aUNvbXBpbGVyIH0gZnJvbSAnd2VicGFjayc7XG5pbXBvcnQgeyBjcmVhdGVGc0Zyb21Wb2x1bWUsIFZvbHVtZSB9IGZyb20gJ21lbWZzJztcbmltcG9ydCB7IFNlcnZlciwgSW5jb21pbmdNZXNzYWdlLCBTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJ2h0dHAnO1xuaW1wb3J0IHR5cGUgeyBOZXh0RnVuY3Rpb24gfSBmcm9tICdleHByZXNzJztcbmltcG9ydCB7IHBhdGNoUmVxdWlyZSB9IGZyb20gJ2ZzLW1vbmtleSc7XG5pbXBvcnQgdG1wIGZyb20gJ3RtcCc7XG5pbXBvcnQgc291cmNlTWFwU3VwcG9ydCBmcm9tICdzb3VyY2UtbWFwLXN1cHBvcnQnO1xuaW1wb3J0IHsgdWZzIH0gZnJvbSAndW5pb25mcyc7XG5pbXBvcnQgV2VicGFja0RldlNlcnZlciBmcm9tICd3ZWJwYWNrLWRldi1zZXJ2ZXInO1xuaW1wb3J0IGltcG9ydEZyZXNoIGZyb20gJ2ltcG9ydC1mcmVzaCc7XG5pbXBvcnQgbG9nZ2luZyBmcm9tICd3ZWJwYWNrL2xpYi9sb2dnaW5nL3J1bnRpbWUnO1xuXG5pbXBvcnQgJ2Nyb3NzLWZldGNoL3BvbHlmaWxsJztcbmltcG9ydCB7IEJvdW5kUmVuZGVyIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG5jb25zdCB3ZWJwYWNrQ29uZmlnID0gcmVxdWlyZShyZXF1aXJlLnJlc29sdmUoXG4gIC8vIFRPRE86IHVzZSBub3JtYWwgcmVzb2x1dGlvbiBhbGdvcml0aG0gdG8gZmluZCB3ZWJwYWNrIGZpbGVcbiAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksICd3ZWJwYWNrLmNvbmZpZycpLFxuKSk7XG5cbmNvbnN0IGVudHJ5cG9pbnQgPSBwcm9jZXNzLmFyZ3ZbMl07XG4vL3Byb2Nlc3MuZW52LldFQlBBQ0tfUFVCTElDX0hPU1QgPSBgaHR0cDovL2xvY2FsaG9zdDoke1BPUlR9YDsgdGhpcyBicmVha3MgY29tcGF0aWJpbGl0eSB3aXRoIHN0YWNrYmxpdHpcbnByb2Nlc3MuZW52LldFQlBBQ0tfUFVCTElDX1BBVEggPSAnL2Fzc2V0cy8nO1xuXG5pZiAoIWVudHJ5cG9pbnQpIHtcbiAgY29uc29sZS5sb2coYFVzYWdlOiBzdGFydC1hbmFuc2kgPGVudHJ5cG9pbnQtZmlsZT5gKTtcbiAgcHJvY2Vzcy5leGl0KC0xKTtcbn1cblxuY29uc3QgbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2FuYW5zaS1kZXZzZXJ2ZXInKTtcblxuLy8gU2V0IHVwIGluIG1lbW9yeSBmaWxlc3lzdGVtXG5jb25zdCB2b2x1bWUgPSBuZXcgVm9sdW1lKCk7XG5jb25zdCBmcyA9IGNyZWF0ZUZzRnJvbVZvbHVtZSh2b2x1bWUpO1xudWZzLnVzZShkaXNrRnMpLnVzZShmcyBhcyBhbnkpO1xuXG5wYXRjaFJlcXVpcmUodWZzKTtcbmNvbnN0IHJlYWRGaWxlID0gcHJvbWlzaWZ5KHVmcy5yZWFkRmlsZSk7XG5sZXQgc2VydmVyOiBTZXJ2ZXIgfCB1bmRlZmluZWQ7XG5cbi8vIEdlbmVyYXRlIGEgdGVtcG9yYXJ5IGZpbGUgc28gd2UgY2FuIGhvdCByZWxvYWQgZnJvbSB0aGUgcm9vdCBvZiB0aGUgYXBwbGljYXRpb25cbmZ1bmN0aW9uIGhvdEVudHJ5KGVudHJ5UGF0aDogc3RyaW5nKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAvLyBAdHMtaWdub3JlIGZvciBzb21lIHJlYXNvbiBpdCdzIG5vdCBwaWNraW5nIHVwIHRoYXQgb3RoZXIgb3B0aW9ucyBhcmUgb3B0aW9uYWxcbiAgY29uc3QgZ2VuZXJhdGVkRW50cnlwb2ludCA9IHRtcC5maWxlU3luYyh7IHBvc3RmaXg6ICcuanMnIH0pO1xuICBkaXNrRnMud3JpdGVTeW5jKFxuICAgIGdlbmVyYXRlZEVudHJ5cG9pbnQuZmQsXG4gICAgYFxuaW1wb3J0IGVudHJ5IGZyb20gXCIke3BhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBlbnRyeVBhdGgpfVwiO1xuXG5pZiAobW9kdWxlLmhvdCkge1xuICBtb2R1bGUuaG90LmFjY2VwdCgpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBlbnRyeTtcbiAgYCxcbiAgKTtcbiAgcmV0dXJuIGdlbmVyYXRlZEVudHJ5cG9pbnQ7XG59XG5cbmNvbnN0IHdlYnBhY2tDb25maWdzID0gW1xuICB3ZWJwYWNrQ29uZmlnKFxuICAgIHtcbiAgICAgIGVudHJ5cGF0aDogaG90RW50cnkoZW50cnlwb2ludCkubmFtZSxcbiAgICAgIG5hbWU6ICdjbGllbnQnLFxuICAgIH0sXG4gICAgeyBtb2RlOiAnZGV2ZWxvcG1lbnQnIH0sXG4gICksXG4gIHdlYnBhY2tDb25maWcoXG4gICAge1xuICAgICAgZW50cnlwYXRoOiBlbnRyeXBvaW50LnJlcGxhY2UoJy50c3gnLCAnLnNlcnZlci50c3gnKSxcbiAgICAgIG5hbWU6ICdzZXJ2ZXInLFxuICAgICAgQlJPV1NFUlNMSVNUX0VOVjogJ2N1cnJlbnQgbm9kZScsXG4gICAgfSxcbiAgICB7IG1vZGU6ICdkZXZlbG9wbWVudCcsIHRhcmdldDogJ25vZGUnIH0sXG4gICksXG5dIGFzIGNvbnN0O1xuLy8gb25seSBoYXZlIG9uZSBvdXRwdXQgZm9yIHNlcnZlciBzbyB3ZSBjYW4gYXZvaWQgY2FjaGVkIG1vZHVsZXNcbndlYnBhY2tDb25maWdzWzFdLnBsdWdpbnMucHVzaChcbiAgbmV3IHdlYnBhY2sub3B0aW1pemUuTGltaXRDaHVua0NvdW50UGx1Z2luKHsgbWF4Q2h1bmtzOiAxIH0pLFxuKTtcbi8vIGluaXRpYWxpemUgdGhlIHdlYnBhY2sgY29tcGlsZXJcbmNvbnN0IGNvbXBpbGVyOiBNdWx0aUNvbXBpbGVyID0gd2VicGFjayh3ZWJwYWNrQ29uZmlncyk7XG5cbnNvdXJjZU1hcFN1cHBvcnQuaW5zdGFsbCh7IGhvb2tSZXF1aXJlOiB0cnVlIH0pO1xuXG5mdW5jdGlvbiBnZXRTZXJ2ZXJCdW5kbGUoc2VydmVyU3RhdHM6IHdlYnBhY2suU3RhdHMpIHtcbiAgY29uc3Qgc2VydmVySnNvbiA9IHNlcnZlclN0YXRzLnRvSnNvbih7IGFzc2V0czogdHJ1ZSB9KTtcbiAgcmV0dXJuIHBhdGguam9pbihzZXJ2ZXJKc29uLm91dHB1dFBhdGggPz8gJycsICdzZXJ2ZXIuanMnKTtcbn1cbmZ1bmN0aW9uIGhhbmRsZUVycm9yczxcbiAgRiBleHRlbmRzIChcbiAgICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gICAgcmVzOiBSZXNwb25zZSB8IFNlcnZlclJlc3BvbnNlLFxuICApID0+IFByb21pc2U8dm9pZD4sXG4+KGZuOiBGKSB7XG4gIHJldHVybiBhc3luYyBmdW5jdGlvbiAoXG4gICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbiAgICBuZXh0OiBOZXh0RnVuY3Rpb24sXG4gICkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgZm4ocmVxLCByZXMpO1xuICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgIG5leHQoeCk7XG4gICAgfVxuICB9O1xufVxuXG5jb25zdCBpbml0UmVuZGVyOlxuICB8IHsgYXJnczogUGFyYW1ldGVyczxCb3VuZFJlbmRlcj47IHJlc29sdmU6ICgpID0+IHZvaWQgfVtdXG4gIHwgdW5kZWZpbmVkID0gW107XG5sZXQgcmVuZGVyOiBCb3VuZFJlbmRlciA9ICguLi5hcmdzKSA9PlxuICBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICBpbml0UmVuZGVyLnB1c2goeyBhcmdzLCByZXNvbHZlIH0pO1xuICB9KTtcblxuZnVuY3Rpb24gaW1wb3J0UmVuZGVyKHN0YXRzOiB3ZWJwYWNrLlN0YXRzW10pIHtcbiAgY29uc3QgW2NsaWVudFN0YXRzLCBzZXJ2ZXJTdGF0c10gPSBzdGF0cztcbiAgaWYgKFxuICAgIGNsaWVudFN0YXRzPy5jb21waWxhdGlvbj8uZXJyb3JzPy5sZW5ndGggfHxcbiAgICBzZXJ2ZXJTdGF0cz8uY29tcGlsYXRpb24/LmVycm9ycz8ubGVuZ3RoXG4gICkge1xuICAgIGxvZy5lcnJvcignRXJyb3JzIGZvciBjbGllbnQgYnVpbGQ6ICcgKyBjbGllbnRTdGF0cy5jb21waWxhdGlvbi5lcnJvcnMpO1xuICAgIGxvZy5lcnJvcignRXJyb3JzIGZvciBzZXJ2ZXIgYnVpbGQ6ICcgKyBzZXJ2ZXJTdGF0cy5jb21waWxhdGlvbi5lcnJvcnMpO1xuICAgIC8vIFRPRE86IGhhbmRsZSBtb3JlIGdyYWNlZnVsbHlcbiAgICBwcm9jZXNzLmV4aXQoLTEpO1xuICB9IGVsc2Uge1xuICAgIGxvZy5pbmZvKCdMYXVuY2hpbmcgU1NSJyk7XG4gIH1cblxuICAvLyBBU1NFVFNcbiAgY29uc3QgY2xpZW50TWFuaWZlc3QgPSBjbGllbnRTdGF0cy50b0pzb24oKTtcblxuICAvLyBTRVJWRVIgU0lERSBFTlRSWVBPSU5UXG4gIGlmIChBcnJheS5pc0FycmF5KGluaXRSZW5kZXIpKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgICByZW5kZXIgPSAocmVxdWlyZShnZXRTZXJ2ZXJCdW5kbGUoc2VydmVyU3RhdHMpKSBhcyBhbnkpLmRlZmF1bHQuYmluZChcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGNsaWVudE1hbmlmZXN0LFxuICAgICk7XG4gICAgaW5pdFJlbmRlci5mb3JFYWNoKGluaXQgPT4gcmVuZGVyKC4uLmluaXQuYXJncykudGhlbihpbml0LnJlc29sdmUpKTtcbiAgfSBlbHNlIHtcbiAgICByZW5kZXIgPSAoaW1wb3J0RnJlc2goZ2V0U2VydmVyQnVuZGxlKHNlcnZlclN0YXRzKSkgYXMgYW55KS5kZWZhdWx0LmJpbmQoXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBjbGllbnRNYW5pZmVzdCxcbiAgICApO1xuICB9XG59XG5cbmNvbnN0IGRldlNlcnZlciA9IG5ldyBXZWJwYWNrRGV2U2VydmVyKFxuICAvLyB3cml0ZSB0byBtZW1vcnkgZmlsZXN5c3RlbSBzbyB3ZSBjYW4gaW1wb3J0XG4gIHtcbiAgICAuLi53ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXIsXG4gICAgLypjbGllbnQ6IHtcbiAgICAgIC4uLndlYnBhY2tDb25maWdzWzBdLmRldlNlcnZlcj8uY2xpZW50LFxuICAgICAgd2ViU29ja2V0VVJMOiB7XG4gICAgICAgIC4uLndlYnBhY2tDb25maWdzWzBdLmRldlNlcnZlcj8uY2xpZW50LndlYlNvY2tldFVSTCxcbiAgICAgICAgcG9ydDogODA4MCxcbiAgICAgIH0sXG4gICAgfSwqL1xuICAgIGRldk1pZGRsZXdhcmU6IHtcbiAgICAgIC4uLndlYnBhY2tDb25maWdzWzBdPy5kZXZTZXJ2ZXI/LmRldk1pZGRsZXdhcmUsXG4gICAgICBvdXRwdXRGaWxlU3lzdGVtOiB7XG4gICAgICAgIC4uLmZzLFxuICAgICAgICBqb2luOiBwYXRoLmpvaW4gYXMgYW55LFxuICAgICAgfSBhcyBhbnkgYXMgdHlwZW9mIGZzLFxuICAgIH0sXG4gICAgc2V0dXBNaWRkbGV3YXJlczogKG1pZGRsZXdhcmVzLCBkZXZTZXJ2ZXIpID0+IHtcbiAgICAgIGlmICghZGV2U2VydmVyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignd2VicGFjay1kZXYtc2VydmVyIGlzIG5vdCBkZWZpbmVkJyk7XG4gICAgICB9XG5cbiAgICAgIC8vIHNlcnZlIFNTUiBmb3Igbm9uLVdFQlBBQ0tfUFVCTElDX1BBVEhcbiAgICAgIGRldlNlcnZlci5hcHA/LmdldChcbiAgICAgICAgbmV3IFJlZ0V4cChgXig/ISR7cHJvY2Vzcy5lbnYuV0VCUEFDS19QVUJMSUNfUEFUSH0pYCksXG4gICAgICAgIGhhbmRsZUVycm9ycyhhc3luYyBmdW5jdGlvbiAocmVxOiBhbnksIHJlczogYW55KSB7XG4gICAgICAgICAgaWYgKHJlcS51cmwuZW5kc1dpdGgoJ2Zhdmljb24uaWNvJykpIHtcbiAgICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gNDA0O1xuICAgICAgICAgICAgcmVzLnNldEhlYWRlcignQ29udGVudC10eXBlJywgJ3RleHQvaHRtbCcpO1xuICAgICAgICAgICAgcmVzLnNlbmQoJ25vdCBmb3VuZCcpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXMuc29ja2V0Lm9uKCdlcnJvcicsIChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmF0YWwnLCBlcnJvcik7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBhd2FpdCByZW5kZXIocmVxLCByZXMpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBtaWRkbGV3YXJlcztcbiAgICB9LFxuICB9LFxuICBjb21waWxlcixcbik7XG5jb25zdCBydW5TZXJ2ZXIgPSBhc3luYyAoKSA9PiB7XG4gIGF3YWl0IGRldlNlcnZlci5zdGFydCgpO1xuICBkZXZTZXJ2ZXIuY29tcGlsZXIuaG9va3MuZG9uZS50YXAoXG4gICAgJ0FuYW5zaSBTZXJ2ZXInLFxuICAgIChtdWx0aVN0YXRzOiB3ZWJwYWNrLk11bHRpU3RhdHMgfCB3ZWJwYWNrLlN0YXRzKSA9PiB7XG4gICAgICBpZiAoIW11bHRpU3RhdHMpIHtcbiAgICAgICAgbG9nLmVycm9yKCdzdGF0cyBub3Qgc2VuZCcpO1xuICAgICAgICBwcm9jZXNzLmV4aXQoLTEpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIU9iamVjdC5oYXNPd24obXVsdGlTdGF0cywgJ3N0YXRzJykpIHJldHVybjtcbiAgICAgIGlmICgobXVsdGlTdGF0cyBhcyB3ZWJwYWNrLk11bHRpU3RhdHMpLnN0YXRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpbXBvcnRSZW5kZXIoKG11bHRpU3RhdHMgYXMgd2VicGFjay5NdWx0aVN0YXRzKS5zdGF0cyk7XG4gICAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICAgIGxvZy5lcnJvcignRmFpbGVkIHRvIGxvYWQgc2VydmUgZW50cnlwb2ludCcpO1xuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZy5lcnJvcignT25seSBjb21waWxlciBvbmUgc3RhdCcpO1xuICAgICAgfVxuICAgIH0sXG4gICk7XG59O1xuY29uc3Qgc3RvcFNlcnZlciA9IGFzeW5jICgpID0+IHtcbiAgbG9nLmluZm8oJ1N0b3BwaW5nIHNlcnZlci4uLicpO1xuICBhd2FpdCBkZXZTZXJ2ZXIuc3RvcCgpO1xuICBsb2cuaW5mbygnU2VydmVyIGNsb3NlZCcpO1xufTtcblxucHJvY2Vzcy5vbignU0lHSU5UJywgKCkgPT4ge1xuICBsb2cud2FybignUmVjZWl2ZWQgU0lHSU5ULCBkZXZzZXJ2ZXIgc2h1dHRpbmcgZG93bicpO1xuICBzdG9wU2VydmVyKCk7XG4g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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anansi/core",
3
- "version": "0.7.1",
3
+ "version": "0.7.4",
4
4
  "description": "React 18 Framework",
5
5
  "homepage": "https://github.com/ntucker/anansi/tree/master/packages/core#readme",
6
6
  "repository": {
@@ -74,7 +74,7 @@
74
74
  "webpack-cli": "^4.9.2"
75
75
  },
76
76
  "dependencies": {
77
- "@anansi/router": "^0.5.5",
77
+ "@anansi/router": "^0.5.6",
78
78
  "@babel/runtime": "^7.10.5",
79
79
  "@rest-hooks/ssr": "^0.1.3",
80
80
  "chalk": "^4.0.0",
@@ -112,7 +112,15 @@ function handleErrors<
112
112
  }
113
113
  };
114
114
  }
115
- let render: BoundRender;
115
+
116
+ const initRender:
117
+ | { args: Parameters<BoundRender>; resolve: () => void }[]
118
+ | undefined = [];
119
+ let render: BoundRender = (...args) =>
120
+ new Promise(resolve => {
121
+ initRender.push({ args, resolve });
122
+ });
123
+
116
124
  function importRender(stats: webpack.Stats[]) {
117
125
  const [clientStats, serverStats] = stats;
118
126
  if (
@@ -130,12 +138,20 @@ function importRender(stats: webpack.Stats[]) {
130
138
  // ASSETS
131
139
  const clientManifest = clientStats.toJson();
132
140
 
133
- // SERVER SIDE RENDERING
134
- // eslint-disable-next-line @typescript-eslint/no-var-requires
135
- render = (importFresh(getServerBundle(serverStats)) as any).default.bind(
136
- undefined,
137
- clientManifest,
138
- );
141
+ // SERVER SIDE ENTRYPOINT
142
+ if (Array.isArray(initRender)) {
143
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
144
+ render = (require(getServerBundle(serverStats)) as any).default.bind(
145
+ undefined,
146
+ clientManifest,
147
+ );
148
+ initRender.forEach(init => render(...init.args).then(init.resolve));
149
+ } else {
150
+ render = (importFresh(getServerBundle(serverStats)) as any).default.bind(
151
+ undefined,
152
+ clientManifest,
153
+ );
154
+ }
139
155
  }
140
156
 
141
157
  const devServer = new WebpackDevServer(
@@ -198,10 +214,12 @@ const runServer = async () => {
198
214
  if ((multiStats as webpack.MultiStats).stats.length > 1) {
199
215
  try {
200
216
  importRender((multiStats as webpack.MultiStats).stats);
201
- } catch (e) {
217
+ } catch (e: any) {
202
218
  log.error('Failed to load serve entrypoint');
203
- console.error(e);
219
+ throw e;
204
220
  }
221
+ } else {
222
+ log.error('Only compiler one stat');
205
223
  }
206
224
  },
207
225
  );
@@ -1,6 +0,0 @@
1
- export default function floodSpouts(spouts: () => Promise<{
2
- app: JSX.Element;
3
- }>, { rootId }?: {
4
- rootId?: string;
5
- }): Promise<void>;
6
- //# sourceMappingURL=floodSpouts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"floodSpouts.d.ts","sourceRoot":"","sources":["../src/floodSpouts.tsx"],"names":[],"mappings":"AAEA,wBAA8B,WAAW,CACvC,MAAM,EAAE,MAAM,OAAO,CAAC;IACpB,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;CAClB,CAAC,EACF,EAAE,MAAsB,EAAE,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,iBAKrD"}
package/lib/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- export { default as floodSpouts } from './floodSpouts';
2
- export { default as documentSpout } from './spouts/document';
3
- export { default as restHooksSpout } from './spouts/restHooks';
4
- export { default as routerSpout } from './spouts/router';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,6 +0,0 @@
1
- export { default as laySpouts } from './laySpouts';
2
- export { default as documentSpout } from './spouts/document.server';
3
- export { default as restHooksSpout } from './spouts/restHooks.server';
4
- export { default as routerSpout } from './spouts/router.server';
5
- export { default as prefetchSpout } from './spouts/prefetch.server';
6
- //# sourceMappingURL=index.server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../src/index.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,8 +0,0 @@
1
- import { Render } from './scripts/types';
2
- import { ServerProps } from './spouts/types';
3
- export default function laySpouts(spouts: (props: ServerProps) => Promise<{
4
- app: JSX.Element;
5
- }>, { timeoutMS }?: {
6
- timeoutMS?: number;
7
- }): Render;
8
- //# sourceMappingURL=laySpouts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"laySpouts.d.ts","sourceRoot":"","sources":["../src/laySpouts.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC;IACtC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;CAClB,CAAC,EACF,EAAE,SAAe,EAAE,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,UAkDjD"}
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- import 'cross-fetch/polyfill';
3
- //# sourceMappingURL=startDevserver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"startDevserver.d.ts","sourceRoot":"","sources":["../../src/scripts/startDevserver.ts"],"names":[],"mappings":";AAiBA,OAAO,sBAAsB,CAAC"}
@@ -1,7 +0,0 @@
1
- /// <reference types="node" />
2
- import { ServerResponse, IncomingMessage } from 'http';
3
- import { StatsCompilation } from 'webpack';
4
- import { Request, Response } from 'express';
5
- export declare type Render = (clientManifest: StatsCompilation, req: Request | IncomingMessage, res: Response | ServerResponse) => Promise<void>;
6
- export declare type BoundRender = (req: Request | IncomingMessage, res: Response | ServerResponse) => Promise<void>;
7
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/scripts/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,oBAAY,MAAM,GAAG,CACnB,cAAc,EAAE,gBAAgB,EAChC,GAAG,EAAE,OAAO,GAAG,eAAe,EAC9B,GAAG,EAAE,QAAQ,GAAG,cAAc,KAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,oBAAY,WAAW,GAAG,CACxB,GAAG,EAAE,OAAO,GAAG,eAAe,EAC9B,GAAG,EAAE,QAAQ,GAAG,cAAc,KAC3B,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1,21 +0,0 @@
1
- /// <reference types="react" />
2
- declare type Props = {
3
- children: React.ReactNode;
4
- assets: {
5
- href: string;
6
- as?: string;
7
- rel?: string;
8
- }[];
9
- head: React.ReactNode;
10
- title: string;
11
- rootId: string;
12
- };
13
- declare function Document({ assets, head, children, title, rootId, }: Props): JSX.Element;
14
- declare namespace Document {
15
- var defaultProps: {
16
- head: JSX.Element;
17
- rootId: string;
18
- };
19
- }
20
- export default Document;
21
- //# sourceMappingURL=DocumentComponent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocumentComponent.d.ts","sourceRoot":"","sources":["../../src/spouts/DocumentComponent.tsx"],"names":[],"mappings":";AAAA,aAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtD,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,iBAAwB,QAAQ,CAAC,EAC/B,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,MAAM,GACP,EAAE,KAAK,eA0BP;kBAhCuB,QAAQ;;;;;;eAAR,QAAQ"}
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- import type { Route } from '@anansi/router';
3
- import type { ResolveProps } from './types';
4
- declare type NeededProps = {
5
- matchedRoutes: Route<any>[];
6
- title?: string;
7
- } & ResolveProps;
8
- export default function documentSpout(options: {
9
- head?: React.ReactNode;
10
- title: string;
11
- }): <T extends NeededProps>(next: () => Promise<T>) => () => Promise<T>;
12
- export {};
13
- //# sourceMappingURL=document.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/spouts/document.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,aAAK,WAAW,GAAG;IACjB,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,YAAY,CAAC;AAEjB,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,OAAO,EAAE;IAC7C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,uEAQA"}
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- import type { Route } from '@anansi/router';
3
- import type { ServerProps, ResolveProps } from './types';
4
- declare type NeededProps = {
5
- matchedRoutes: Route<any>[];
6
- title?: string;
7
- } & ResolveProps;
8
- export default function DocumentSpout(options: {
9
- head?: React.ReactNode;
10
- title: string;
11
- rootId: string;
12
- }): <T extends NeededProps>(next: (props: ServerProps) => Promise<T>) => (props: ServerProps) => Promise<T & {
13
- app: JSX.Element;
14
- }>;
15
- export {};
16
- //# sourceMappingURL=document.server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document.server.d.ts","sourceRoot":"","sources":["../../src/spouts/document.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGzD,aAAK,WAAW,GAAG;IACjB,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,YAAY,CAAC;AAEjB,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,OAAO,EAAE;IAC7C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,yCAEiB,WAAW,4BAEJ,WAAW;;GAkEnC"}
@@ -1,8 +0,0 @@
1
- import { Route } from '@anansi/router';
2
- import type { ResolveProps, ServerProps } from './types';
3
- declare type NeededProps<RouteWith> = {
4
- matchedRoutes: Route<RouteWith>[];
5
- } & ResolveProps;
6
- export default function prefetchSpout<F extends string>(field: F): <RouteWith, T extends NeededProps<RouteWith>>(next: (props: ServerProps) => Promise<{ [K in F]: RouteWith; } & T>) => (props: ServerProps) => Promise<{ [K in F]: RouteWith; } & T>;
7
- export {};
8
- //# sourceMappingURL=prefetch.server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefetch.server.d.ts","sourceRoot":"","sources":["../../src/spouts/prefetch.server.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEzD,aAAK,WAAW,CAAC,SAAS,IAAI;IAC5B,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;CACnC,GAAG,YAAY,CAAC;AAEjB,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,+DAE9C,WAAW,uDAMJ,WAAW,2CAiBnC"}
@@ -1,8 +0,0 @@
1
- import { Manager } from '@rest-hooks/core';
2
- import type { ResolveProps } from './types';
3
- export default function restHooksSpout(options?: {
4
- getManagers: () => Manager[];
5
- }): <T extends ResolveProps>(next: () => Promise<T>) => () => Promise<T & {
6
- app: JSX.Element;
7
- }>;
8
- //# sourceMappingURL=restHooks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"restHooks.d.ts","sourceRoot":"","sources":["../../src/spouts/restHooks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,OAAO,EAAkB,MAAM,kBAAkB,CAAC;AAG1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5C,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,OAAO,GAAE;IACP,WAAW,EAAE,MAAM,OAAO,EAAE,CAAC;CACkB;;GAmBlD"}
@@ -1,9 +0,0 @@
1
- import { Manager } from '@rest-hooks/core';
2
- import type { ResolveProps, ServerProps } from './types';
3
- export default function restHooksSpout(options?: {
4
- getManagers: () => Manager[];
5
- }): <T extends ResolveProps>(next: (props: ServerProps) => Promise<T>) => (props: ServerProps) => Promise<T & {
6
- controller: import("@rest-hooks/core").Controller;
7
- app: JSX.Element;
8
- }>;
9
- //# sourceMappingURL=restHooks.server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"restHooks.server.d.ts","sourceRoot":"","sources":["../../src/spouts/restHooks.server.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,kBAAkB,CAAC;AAG3D,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAIzD,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,OAAO,GAAE;IACP,WAAW,EAAE,MAAM,OAAO,EAAE,CAAC;CACkB,0CAGjC,WAAW,4BAEJ,WAAW;;;GAcnC"}
@@ -1,12 +0,0 @@
1
- import { Route, RouteController } from '@anansi/router';
2
- import type { ResolveProps, CreateRouter } from './types';
3
- export default function routerSpout<ResolveWith>(options: {
4
- resolveWith?: any;
5
- useResolveWith: () => ResolveWith;
6
- createRouter: CreateRouter<ResolveWith>;
7
- }): <T extends ResolveProps>(next: () => Promise<T>) => () => Promise<T & {
8
- matchedRoutes: (Route<ResolveWith, any> & object)[];
9
- router: RouteController<Route<ResolveWith, any>>;
10
- app: JSX.Element;
11
- }>;
12
- //# sourceMappingURL=router.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/spouts/router.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAiB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIvE,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI1D,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE;IACxD,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,cAAc,EAAE,MAAM,WAAW,CAAC;IAClC,YAAY,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;CACzC;;;;GA+BA"}
@@ -1,12 +0,0 @@
1
- import { Route, RouteController } from '@anansi/router';
2
- import type { ResolveProps, ServerProps, CreateRouter } from './types';
3
- export default function routerSpout<ResolveWith>(options: {
4
- resolveWith?: any;
5
- useResolveWith: () => ResolveWith;
6
- createRouter: CreateRouter<ResolveWith>;
7
- }): <T extends ResolveProps>(next: (props: ServerProps) => Promise<T>) => (props: ServerProps) => Promise<T & {
8
- matchedRoutes: Route<ResolveWith, any>[];
9
- router: RouteController<Route<ResolveWith, any>>;
10
- app: JSX.Element;
11
- }>;
12
- //# sourceMappingURL=router.server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.server.d.ts","sourceRoot":"","sources":["../../src/spouts/router.server.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAiB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIvE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAIvE,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE;IACxD,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,cAAc,EAAE,MAAM,WAAW,CAAC;IAClC,YAAY,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;CACzC,0CAeiB,WAAW,4BAEJ,WAAW;;;;GAkBnC"}
@@ -1,16 +0,0 @@
1
- /// <reference types="node" />
2
- import { IncomingMessage, ServerResponse } from 'http';
3
- import { Request, Response } from 'express';
4
- import type { StatsCompilation } from 'webpack';
5
- import { History } from 'history';
6
- import { Route, RouteController } from '@anansi/router';
7
- export declare type ServerProps = {
8
- req: Request | IncomingMessage;
9
- res: Response | ServerResponse;
10
- clientManifest: StatsCompilation;
11
- };
12
- export declare type ResolveProps = {
13
- app: JSX.Element;
14
- };
15
- export declare type CreateRouter<T> = (history: History) => RouteController<Route<T, any>>;
16
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/spouts/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGxD,oBAAY,WAAW,GAAG;IACxB,GAAG,EAAE,OAAO,GAAG,eAAe,CAAC;IAC/B,GAAG,EAAE,QAAQ,GAAG,cAAc,CAAC;IAC/B,cAAc,EAAE,gBAAgB,CAAC;CAClC,CAAC;AAGF,oBAAY,YAAY,GAAG;IACzB,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;CAClB,CAAC;AAEF,oBAAY,YAAY,CAAC,CAAC,IAAI,CAC5B,OAAO,EAAE,OAAO,KACb,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC"}