@sveltejs/kit 1.0.0-next.20 → 1.0.0-next.200

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.
Files changed (77) hide show
  1. package/README.md +12 -9
  2. package/assets/components/error.svelte +19 -3
  3. package/assets/runtime/app/env.js +20 -0
  4. package/assets/runtime/app/navigation.js +45 -13
  5. package/assets/runtime/app/paths.js +1 -2
  6. package/assets/runtime/app/stores.js +15 -9
  7. package/assets/runtime/chunks/utils.js +13 -0
  8. package/assets/runtime/env.js +8 -0
  9. package/assets/runtime/internal/singletons.js +5 -11
  10. package/assets/runtime/internal/start.js +979 -351
  11. package/assets/runtime/paths.js +13 -0
  12. package/dist/chunks/cert.js +29254 -0
  13. package/dist/chunks/constants.js +8 -0
  14. package/dist/chunks/error.js +21 -0
  15. package/dist/chunks/index.js +4745 -0
  16. package/dist/chunks/index2.js +700 -0
  17. package/dist/chunks/index3.js +1060 -0
  18. package/dist/chunks/index4.js +398 -0
  19. package/dist/chunks/index5.js +413 -0
  20. package/dist/chunks/index6.js +15574 -0
  21. package/dist/{standard.js → chunks/standard.js} +16 -18
  22. package/dist/chunks/url.js +59 -0
  23. package/dist/cli.js +947 -67
  24. package/dist/hooks.js +28 -0
  25. package/dist/install-fetch.js +6070 -0
  26. package/dist/node.js +51 -0
  27. package/dist/ssr.js +1771 -0
  28. package/package.json +89 -54
  29. package/svelte-kit.js +2 -0
  30. package/types/ambient-modules.d.ts +173 -0
  31. package/types/app.d.ts +21 -0
  32. package/types/config.d.ts +96 -0
  33. package/types/endpoint.d.ts +18 -0
  34. package/types/helper.d.ts +41 -0
  35. package/types/hooks.d.ts +36 -0
  36. package/types/index.d.ts +17 -0
  37. package/types/internal.d.ts +219 -0
  38. package/types/page.d.ts +77 -0
  39. package/CHANGELOG.md +0 -276
  40. package/assets/runtime/app/navigation.js.map +0 -1
  41. package/assets/runtime/app/paths.js.map +0 -1
  42. package/assets/runtime/app/stores.js.map +0 -1
  43. package/assets/runtime/internal/singletons.js.map +0 -1
  44. package/assets/runtime/internal/start.js.map +0 -1
  45. package/assets/runtime/utils-85ebcc60.js +0 -18
  46. package/assets/runtime/utils-85ebcc60.js.map +0 -1
  47. package/dist/api.js +0 -44
  48. package/dist/api.js.map +0 -1
  49. package/dist/build.js +0 -246
  50. package/dist/build.js.map +0 -1
  51. package/dist/cli.js.map +0 -1
  52. package/dist/colors.js +0 -37
  53. package/dist/colors.js.map +0 -1
  54. package/dist/create_app.js +0 -578
  55. package/dist/create_app.js.map +0 -1
  56. package/dist/index.js +0 -12042
  57. package/dist/index.js.map +0 -1
  58. package/dist/index2.js +0 -544
  59. package/dist/index2.js.map +0 -1
  60. package/dist/index3.js +0 -71
  61. package/dist/index3.js.map +0 -1
  62. package/dist/index4.js +0 -466
  63. package/dist/index4.js.map +0 -1
  64. package/dist/index5.js +0 -725
  65. package/dist/index5.js.map +0 -1
  66. package/dist/index6.js +0 -713
  67. package/dist/index6.js.map +0 -1
  68. package/dist/logging.js +0 -43
  69. package/dist/logging.js.map +0 -1
  70. package/dist/package.js +0 -432
  71. package/dist/package.js.map +0 -1
  72. package/dist/renderer.js +0 -2391
  73. package/dist/renderer.js.map +0 -1
  74. package/dist/standard.js.map +0 -1
  75. package/dist/utils.js +0 -54
  76. package/dist/utils.js.map +0 -1
  77. package/svelte-kit +0 -3
@@ -0,0 +1,219 @@
1
+ import { RequestHandler } from './endpoint';
2
+ import { App as PublicApp, IncomingRequest } from './app';
3
+ import {
4
+ ExternalFetch,
5
+ GetSession,
6
+ Handle,
7
+ HandleError,
8
+ ServerRequest,
9
+ ServerResponse
10
+ } from './hooks';
11
+ import { Load } from './page';
12
+
13
+ type PageId = string;
14
+
15
+ export interface PrerenderOptions {
16
+ fallback?: string;
17
+ all: boolean;
18
+ dependencies: Map<string, ServerResponse>;
19
+ }
20
+
21
+ export interface App extends PublicApp {
22
+ init(options?: {
23
+ paths: {
24
+ base: string;
25
+ assets: string;
26
+ };
27
+ prerendering: boolean;
28
+ read(file: string): Buffer;
29
+ }): void;
30
+
31
+ render(
32
+ incoming: IncomingRequest,
33
+ options?: {
34
+ prerender: PrerenderOptions;
35
+ }
36
+ ): Promise<ServerResponse>;
37
+ }
38
+
39
+ export interface Logger {
40
+ (msg: string): void;
41
+ success(msg: string): void;
42
+ error(msg: string): void;
43
+ warn(msg: string): void;
44
+ minor(msg: string): void;
45
+ info(msg: string): void;
46
+ }
47
+
48
+ export interface SSRComponent {
49
+ ssr?: boolean;
50
+ router?: boolean;
51
+ hydrate?: boolean;
52
+ prerender?: boolean;
53
+ preload?: any; // TODO remove for 1.0
54
+ load: Load;
55
+ default: {
56
+ render(props: Record<string, any>): {
57
+ html: string;
58
+ head: string;
59
+ css: {
60
+ code: string;
61
+ map: any; // TODO
62
+ };
63
+ };
64
+ };
65
+ }
66
+
67
+ export type SSRComponentLoader = () => Promise<SSRComponent>;
68
+
69
+ export type CSRComponent = any; // TODO
70
+
71
+ export type CSRComponentLoader = () => Promise<CSRComponent>;
72
+
73
+ export interface SSRPagePart {
74
+ id: string;
75
+ load: SSRComponentLoader;
76
+ }
77
+
78
+ export type GetParams = (match: RegExpExecArray) => Record<string, string>;
79
+
80
+ export interface SSRPage {
81
+ type: 'page';
82
+ pattern: RegExp;
83
+ params: GetParams;
84
+ /**
85
+ * plan a is to render 1 or more layout components followed by a leaf component.
86
+ */
87
+ a: PageId[];
88
+ /**
89
+ * plan b — if one of them components fails in `load` we backtrack until we find
90
+ * the nearest error component.
91
+ */
92
+ b: PageId[];
93
+ }
94
+
95
+ export interface SSREndpoint {
96
+ type: 'endpoint';
97
+ pattern: RegExp;
98
+ params: GetParams;
99
+ load(): Promise<{
100
+ [method: string]: RequestHandler;
101
+ }>;
102
+ }
103
+
104
+ export type SSRRoute = SSREndpoint | SSRPage;
105
+
106
+ export type CSRRoute = [RegExp, CSRComponentLoader[], CSRComponentLoader[], GetParams?];
107
+
108
+ export interface SSRManifest {
109
+ assets: Asset[];
110
+ layout: string;
111
+ error: string;
112
+ routes: SSRRoute[];
113
+ }
114
+
115
+ export interface Hooks {
116
+ externalFetch: ExternalFetch;
117
+ getSession: GetSession;
118
+ handle: Handle;
119
+ handleError: HandleError;
120
+ }
121
+
122
+ export interface SSRNode {
123
+ module: SSRComponent;
124
+ /** client-side module URL for this component */
125
+ entry: string;
126
+ /** external CSS files */
127
+ css: string[];
128
+ /** external JS files */
129
+ js: string[];
130
+ /** inlined styles */
131
+ styles: string[];
132
+ }
133
+
134
+ export interface SSRRenderOptions {
135
+ amp: boolean;
136
+ dev: boolean;
137
+ entry: {
138
+ file: string;
139
+ css: string[];
140
+ js: string[];
141
+ };
142
+ floc: boolean;
143
+ get_stack: (error: Error) => string | undefined;
144
+ handle_error(error: Error & { frame?: string }, request: ServerRequest<any>): void;
145
+ hooks: Hooks;
146
+ hydrate: boolean;
147
+ load_component(id: PageId): Promise<SSRNode>;
148
+ manifest: SSRManifest;
149
+ paths: {
150
+ base: string;
151
+ assets: string;
152
+ };
153
+ prerender: boolean;
154
+ read(file: string): Buffer;
155
+ root: SSRComponent['default'];
156
+ router: boolean;
157
+ service_worker?: string;
158
+ ssr: boolean;
159
+ target: string;
160
+ template({ head, body }: { head: string; body: string }): string;
161
+ trailing_slash: TrailingSlash;
162
+ }
163
+
164
+ export interface SSRRenderState {
165
+ fetched?: string;
166
+ initiator?: SSRPage | null;
167
+ prerender?: PrerenderOptions;
168
+ fallback?: string;
169
+ }
170
+
171
+ export interface Asset {
172
+ file: string;
173
+ size: number;
174
+ type: string | null;
175
+ }
176
+
177
+ export interface PageData {
178
+ type: 'page';
179
+ pattern: RegExp;
180
+ params: string[];
181
+ path: string;
182
+ a: string[];
183
+ b: string[];
184
+ }
185
+
186
+ export interface EndpointData {
187
+ type: 'endpoint';
188
+ pattern: RegExp;
189
+ params: string[];
190
+ file: string;
191
+ }
192
+
193
+ export type RouteData = PageData | EndpointData;
194
+
195
+ export interface ManifestData {
196
+ assets: Asset[];
197
+ layout: string;
198
+ error: string;
199
+ components: string[];
200
+ routes: RouteData[];
201
+ }
202
+
203
+ export interface BuildData {
204
+ client: string[];
205
+ server: string[];
206
+ static: string[];
207
+ entries: string[];
208
+ }
209
+
210
+ export interface NormalizedLoadOutput {
211
+ status: number;
212
+ error?: Error;
213
+ redirect?: string;
214
+ props?: Record<string, any> | Promise<Record<string, any>>;
215
+ stuff?: Record<string, any>;
216
+ maxage?: number;
217
+ }
218
+
219
+ export type TrailingSlash = 'never' | 'always' | 'ignore';
@@ -0,0 +1,77 @@
1
+ import { InferValue, MaybePromise, Rec } from './helper';
2
+
3
+ export interface Page<Params extends Record<string, string> = Record<string, string>> {
4
+ host: string;
5
+ path: string;
6
+ params: Params;
7
+ query: URLSearchParams;
8
+ }
9
+
10
+ export interface LoadInput<
11
+ PageParams extends Rec<string> = Rec<string>,
12
+ Stuff extends Rec = Rec,
13
+ Session = any
14
+ > {
15
+ page: Page<PageParams>;
16
+ fetch(info: RequestInfo, init?: RequestInit): Promise<Response>;
17
+ session: Session;
18
+ stuff: Stuff;
19
+ }
20
+
21
+ export interface ErrorLoadInput<
22
+ PageParams extends Rec<string> = Rec<string>,
23
+ Stuff extends Rec = Rec,
24
+ Session = any
25
+ > extends LoadInput<PageParams, Stuff, Session> {
26
+ status?: number;
27
+ error?: Error;
28
+ }
29
+
30
+ export interface LoadOutput<Props extends Rec = Rec, Stuff extends Rec = Rec> {
31
+ status?: number;
32
+ error?: string | Error;
33
+ redirect?: string;
34
+ props?: Props;
35
+ stuff?: Stuff;
36
+ maxage?: number;
37
+ }
38
+
39
+ interface LoadInputExtends {
40
+ stuff?: Rec;
41
+ pageParams?: Rec<string>;
42
+ session?: any;
43
+ }
44
+
45
+ interface LoadOutputExtends {
46
+ stuff?: Rec;
47
+ props?: Rec;
48
+ }
49
+
50
+ export interface Load<
51
+ Input extends LoadInputExtends = Required<LoadInputExtends>,
52
+ Output extends LoadOutputExtends = Required<LoadOutputExtends>
53
+ > {
54
+ (
55
+ input: LoadInput<
56
+ InferValue<Input, 'pageParams', Rec<string>>,
57
+ InferValue<Input, 'stuff', Rec>,
58
+ InferValue<Input, 'session', any>
59
+ >
60
+ ): MaybePromise<void | LoadOutput<
61
+ InferValue<Output, 'props', Rec>,
62
+ InferValue<Output, 'stuff', Rec>
63
+ >>;
64
+ }
65
+
66
+ export interface ErrorLoad<
67
+ Input extends LoadInputExtends = Required<LoadInputExtends>,
68
+ Output extends LoadOutputExtends = Required<LoadOutputExtends>
69
+ > {
70
+ (
71
+ input: ErrorLoadInput<
72
+ InferValue<Input, 'pageParams', Rec<string>>,
73
+ InferValue<Input, 'stuff', Rec>,
74
+ InferValue<Input, 'session', any>
75
+ >
76
+ ): MaybePromise<LoadOutput<InferValue<Output, 'props', Rec>, InferValue<Output, 'stuff', Rec>>>;
77
+ }
package/CHANGELOG.md DELETED
@@ -1,276 +0,0 @@
1
- # @sveltejs/kit
2
-
3
- ## 1.0.0-next.20
4
-
5
- ### Patch Changes
6
-
7
- - ccf4aa7: Implement prerender config
8
-
9
- ## 1.0.0-next.19
10
-
11
- ### Patch Changes
12
-
13
- - deda984: Make navigating store contain from and to properties
14
-
15
- ## 1.0.0-next.18
16
-
17
- ### Patch Changes
18
-
19
- - c29b61e: Announce page changes
20
- - 72da270: Reset focus properly
21
-
22
- ## 1.0.0-next.17
23
-
24
- ### Patch Changes
25
-
26
- - f7dea55: Set process.env.NODE_ENV when invoking via the CLI
27
-
28
- ## 1.0.0-next.16
29
-
30
- ### Patch Changes
31
-
32
- - Remove temporary logging
33
- - Add sveltekit:prefetch and sveltekit:noscroll
34
-
35
- ## 1.0.0-next.15
36
-
37
- ### Patch Changes
38
-
39
- - 6d1bb11: Fix AMP CSS
40
- - d8b53af: Ignore $layout and $error files when finding static paths
41
- - Better scroll tracking
42
-
43
- ## 1.0.0-next.14
44
-
45
- ### Patch Changes
46
-
47
- - Fix dev loader
48
-
49
- ## 1.0.0-next.13
50
-
51
- ### Patch Changes
52
-
53
- - 1ea4d6b: More robust CSS extraction
54
-
55
- ## 1.0.0-next.12
56
-
57
- ### Patch Changes
58
-
59
- - e7c88dd: Tweak AMP validation screen
60
-
61
- ## 1.0.0-next.11
62
-
63
- ### Patch Changes
64
-
65
- - a31f218: Fix SSR loader invalidation
66
-
67
- ## 1.0.0-next.10
68
-
69
- ### Patch Changes
70
-
71
- - 8b14d29: Omit svelte-data scripts from AMP pages
72
-
73
- ## 1.0.0-next.9
74
-
75
- ### Patch Changes
76
-
77
- - f5fa223: AMP support
78
- - 47f2ee1: Always remove trailing slashes
79
- - 1becb94: Replace preload with load
80
-
81
- ## 1.0.0-next.8
82
-
83
- ### Patch Changes
84
-
85
- - 15dd751: Use meta http-equiv=refresh
86
- - be7e031: Fix handling of static files
87
- - ed6b8fd: Implement \$app/env
88
-
89
- ## 1.0.0-next.7
90
-
91
- ### Patch Changes
92
-
93
- - 76705b0: make HMR work outside localhost
94
-
95
- ## 1.0.0-next.6
96
-
97
- ### Patch Changes
98
-
99
- - 0e45255: Move options behind kit namespace, change paths -> kit.files
100
- - fa7f2b2: Implement live bindings for SSR code
101
-
102
- ## 1.0.0-next.5
103
-
104
- ### Patch Changes
105
-
106
- - Return dependencies from render
107
-
108
- ## 1.0.0-next.4
109
-
110
- ### Patch Changes
111
-
112
- - af01b0d: Move renderer out of app assets folder
113
-
114
- ## 1.0.0-next.3
115
-
116
- ### Patch Changes
117
-
118
- - Add paths to manifest, for static prerendering
119
-
120
- ## 1.0.0-next.2
121
-
122
- ### Patch Changes
123
-
124
- - Fix typo causing misnamed assets folder
125
-
126
- ## 1.0.0-next.1
127
-
128
- ### Patch Changes
129
-
130
- - a4bc090: Transform exported functions correctly
131
- - 00bbf98: Fix nested layouts
132
-
133
- ## 0.0.31-next.0
134
-
135
- ### Patch Changes
136
-
137
- - ffd7bba: Fix SSR cache invalidation
138
-
139
- ## 0.0.30
140
-
141
- ### Patch Changes
142
-
143
- - Add back stores(), but with deprecation warning
144
- - Rename stores.preloading to stores.navigating
145
- - Rewrite routing logic
146
-
147
- ## 0.0.29
148
-
149
- ### Patch Changes
150
-
151
- - 10872cc: Normalize request.query
152
-
153
- ## 0.0.28
154
-
155
- ### Patch Changes
156
-
157
- - Add svelte-kit start command
158
-
159
- ## 0.0.27
160
-
161
- ### Patch Changes
162
-
163
- - rename CLI to svelte-kit
164
- - 0904e22: rename svelte CLI to svelte-kit
165
- - Validate route responses
166
- - Make paths and target configurable
167
-
168
- ## 0.0.26
169
-
170
- ### Patch Changes
171
-
172
- - b475ed4: Overhaul adapter API - fixes #166
173
- - Updated dependencies [b475ed4]
174
- - @sveltejs/app-utils@0.0.18
175
-
176
- ## 0.0.25
177
-
178
- ### Patch Changes
179
-
180
- - Updated dependencies [3bdf33b]
181
- - @sveltejs/app-utils@0.0.17
182
-
183
- ## 0.0.24
184
-
185
- ### Patch Changes
186
-
187
- - 67eaeea: Move app-utils stuff into subpackages
188
- - 7f8df30: Move kit runtime code, expose via \$app aliases
189
- - Updated dependencies [67eaeea]
190
- - @sveltejs/app-utils@0.0.16
191
-
192
- ## 0.0.23
193
-
194
- ### Patch Changes
195
-
196
- - a163000: Parse body on incoming requests
197
- - a346eab: Copy over latest Sapper router code
198
- - Updated dependencies [a163000]
199
- - @sveltejs/app-utils@0.0.15
200
-
201
- ## 0.0.22
202
-
203
- ### Patch Changes
204
-
205
- - Force bump version
206
-
207
- ## 0.0.21
208
-
209
- ### Patch Changes
210
-
211
- - Build setup entry point
212
- - Work around pkg.exports constraint
213
- - Respond with 500s if render fails
214
- - Updated dependencies [undefined]
215
- - Updated dependencies [undefined]
216
- - Updated dependencies [undefined]
217
- - @sveltejs/app-utils@0.0.14
218
-
219
- ## 0.0.20
220
-
221
- ### Patch Changes
222
-
223
- - Pass setup module to renderer
224
- - Bump Snowpack version
225
- - Updated dependencies [undefined]
226
- - Updated dependencies [96c06d8]
227
- - @sveltejs/app-utils@0.0.13
228
-
229
- ## 0.0.19
230
-
231
- ### Patch Changes
232
-
233
- - fa9d7ce: Handle import.meta in SSR module loader
234
- - 0320208: Rename 'server route' to 'endpoint'
235
- - b9444d2: Update to Snowpack 2.15
236
- - 5ca907c: Use shared mkdirp helper
237
- - Updated dependencies [0320208]
238
- - Updated dependencies [5ca907c]
239
- - @sveltejs/app-utils@0.0.12
240
-
241
- ## 0.0.18
242
-
243
- ### Patch Changes
244
-
245
- - Updated dependencies [undefined]
246
- - @sveltejs/app-utils@0.0.11
247
-
248
- ## 0.0.17
249
-
250
- ### Patch Changes
251
-
252
- - 19323e9: Update Snowpack
253
- - Updated dependencies [19323e9]
254
- - @sveltejs/app-utils@0.0.10
255
-
256
- ## 0.0.16
257
-
258
- ### Patch Changes
259
-
260
- - Updated dependencies [90a98ae]
261
- - @sveltejs/app-utils@0.0.9
262
-
263
- ## 0.0.15
264
-
265
- ### Patch Changes
266
-
267
- - Updated dependencies [undefined]
268
- - @sveltejs/app-utils@0.0.8
269
-
270
- ## 0.0.14
271
-
272
- ### Patch Changes
273
-
274
- - various
275
- - Updated dependencies [undefined]
276
- - @sveltejs/app-utils@0.0.7
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigation.js","sources":["../../../src/runtime/app/navigation/index.js"],"sourcesContent":["import { router, renderer } from '../../internal/singletons';\nimport { get_base_uri } from '../../internal/utils';\n\nexport async function goto(href, opts) {\n\treturn router.goto(href, opts);\n}\n\nexport function prefetch(href) {\n\treturn renderer.prefetch(new URL(href, get_base_uri(document)));\n}\n\nexport async function prefetchRoutes(pathnames) {\n\tconst path_routes = pathnames\n\t\t? router.pages.filter((page) => pathnames.some((pathname) => page.pattern.test(pathname)))\n\t\t: router.pages;\n\n\tconst promises = path_routes.map((r) => Promise.all(r.parts.map((load) => load())));\n\n\tawait Promise.all(promises);\n}\n"],"names":[],"mappings":";;;AAGO,eAAe,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;AACvC,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AACD;AACO,SAAS,QAAQ,CAAC,IAAI,EAAE;AAC/B,CAAC,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AACD;AACO,eAAe,cAAc,CAAC,SAAS,EAAE;AAChD,CAAC,MAAM,WAAW,GAAG,SAAS;AAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5F,IAAI,MAAM,CAAC,KAAK,CAAC;AACjB;AACA,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACrF;AACA,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7B;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"stores.js","sources":["../../../src/runtime/app/stores/index.js"],"sourcesContent":["import { getContext } from 'svelte';\n\n// const ssr = (import.meta as any).env.SSR;\nconst ssr = typeof window === 'undefined'; // TODO why doesn't previous line work in build?\n\n// TODO remove this (for 1.0? after 1.0?)\nlet warned = false;\nexport function stores() {\n\tif (!warned) {\n\t\tconsole.error('stores() is deprecated; use getStores() instead');\n\t\twarned = true;\n\t}\n\treturn getStores();\n}\n\nexport const getStores = () => {\n\tconst stores = getContext('__svelte__');\n\n\treturn {\n\t\tpage: {\n\t\t\tsubscribe: stores.page.subscribe\n\t\t},\n\t\tnavigating: {\n\t\t\tsubscribe: stores.navigating.subscribe\n\t\t},\n\t\tget preloading() {\n\t\t\tconsole.error('stores.preloading is deprecated; use stores.navigating instead');\n\t\t\treturn {\n\t\t\t\tsubscribe: stores.navigating.subscribe\n\t\t\t};\n\t\t},\n\t\tsession: stores.session\n\t};\n};\n\nexport const page = {\n\tsubscribe(fn) {\n\t\tconst store = getStores().page;\n\t\treturn store.subscribe(fn);\n\t}\n};\n\nexport const navigating = {\n\tsubscribe(fn) {\n\t\tconst store = getStores().navigating;\n\t\treturn store.subscribe(fn);\n\t}\n};\n\nconst error = (verb) => {\n\tthrow new Error(\n\t\tssr\n\t\t\t? `Can only ${verb} session store in browser`\n\t\t\t: `Cannot ${verb} session store before subscribing`\n\t);\n};\n\nexport const session = {\n\tsubscribe(fn) {\n\t\tconst store = getStores().session;\n\n\t\tif (!ssr) {\n\t\t\tsession.set = store.set;\n\t\t\tsession.update = store.update;\n\t\t}\n\n\t\treturn store.subscribe(fn);\n\t},\n\tset: (value) => {\n\t\terror('set');\n\t},\n\tupdate: (updater) => {\n\t\terror('update');\n\t}\n};\n"],"names":[],"mappings":";;AAEA;AACA,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;AAC1C;AACA;AACA,IAAI,MAAM,GAAG,KAAK,CAAC;AACZ,SAAS,MAAM,GAAG;AACzB,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,EAAE,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;AACnE,EAAE,MAAM,GAAG,IAAI,CAAC;AAChB,EAAE;AACF,CAAC,OAAO,SAAS,EAAE,CAAC;AACpB,CAAC;AACD;AACY,MAAC,SAAS,GAAG,MAAM;AAC/B,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;AACzC;AACA,CAAC,OAAO;AACR,EAAE,IAAI,EAAE;AACR,GAAG,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS;AACnC,GAAG;AACH,EAAE,UAAU,EAAE;AACd,GAAG,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS;AACzC,GAAG;AACH,EAAE,IAAI,UAAU,GAAG;AACnB,GAAG,OAAO,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;AACnF,GAAG,OAAO;AACV,IAAI,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS;AAC1C,IAAI,CAAC;AACL,GAAG;AACH,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO;AACzB,EAAE,CAAC;AACH,EAAE;AACF;AACY,MAAC,IAAI,GAAG;AACpB,CAAC,SAAS,CAAC,EAAE,EAAE;AACf,EAAE,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC,IAAI,CAAC;AACjC,EAAE,OAAO,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC7B,EAAE;AACF,EAAE;AACF;AACY,MAAC,UAAU,GAAG;AAC1B,CAAC,SAAS,CAAC,EAAE,EAAE;AACf,EAAE,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC,UAAU,CAAC;AACvC,EAAE,OAAO,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC7B,EAAE;AACF,EAAE;AACF;AACA,MAAM,KAAK,GAAG,CAAC,IAAI,KAAK;AACxB,CAAC,MAAM,IAAI,KAAK;AAChB,EAAE,GAAG;AACL,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,yBAAyB,CAAC;AAChD,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,iCAAiC,CAAC;AACtD,EAAE,CAAC;AACH,CAAC,CAAC;AACF;AACY,MAAC,OAAO,GAAG;AACvB,CAAC,SAAS,CAAC,EAAE,EAAE;AACf,EAAE,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC;AACpC;AACA,EAAE,IAAI,CAAC,GAAG,EAAE;AACZ,GAAG,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;AAC3B,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;AACjC,GAAG;AACH;AACA,EAAE,OAAO,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC7B,EAAE;AACF,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK;AACjB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AACf,EAAE;AACF,CAAC,MAAM,EAAE,CAAC,OAAO,KAAK;AACtB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAClB,EAAE;AACF;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"singletons.js","sources":["../../../src/runtime/internal/singletons.js"],"sourcesContent":["export let router;\nexport let renderer;\nexport let base;\nexport let assets;\n\nexport function init(opts) {\n\t({ router, renderer } = opts);\n}\n\nexport function set_paths(paths) {\n\t({ base, assets } = paths);\n}\n"],"names":[],"mappings":"AAAU,IAAC,OAAO;AACR,IAAC,SAAS;AACV,IAAC,KAAK;AACN,IAAC,OAAO;AAClB;AACO,SAAS,IAAI,CAAC,IAAI,EAAE;AAC3B,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE;AAC/B,CAAC;AACD;AACO,SAAS,SAAS,CAAC,KAAK,EAAE;AACjC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;AAC5B;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"start.js","sources":["../../../src/runtime/internal/router/index.js","../../../src/runtime/internal/renderer/index.js","../../../src/runtime/internal/start.js"],"sourcesContent":["import { find_anchor, get_base_uri } from '../utils';\n\nfunction which(event) {\n\treturn event.which === null ? event.button : event.which;\n}\n\nfunction scroll_state() {\n\treturn {\n\t\tx: pageXOffset,\n\t\ty: pageYOffset\n\t};\n}\n\nexport class Router {\n\tconstructor({ base, host, pages, ignore }) {\n\t\tthis.base = base;\n\t\tthis.host = host;\n\t\tthis.pages = pages;\n\t\tthis.ignore = ignore;\n\n\t\tthis.history = window.history || {\n\t\t\tpushState: () => {},\n\t\t\treplaceState: () => {},\n\t\t\tscrollRestoration: 'auto'\n\t\t};\n\t}\n\n\tinit({ renderer }) {\n\t\tthis.renderer = renderer;\n\t\trenderer.router = this;\n\n\t\tif ('scrollRestoration' in this.history) {\n\t\t\tthis.history.scrollRestoration = 'manual';\n\t\t}\n\n\t\t// Adopted from Nuxt.js\n\t\t// Reset scrollRestoration to auto when leaving page, allowing page reload\n\t\t// and back-navigation from other pages to use the browser to restore the\n\t\t// scrolling position.\n\t\taddEventListener('beforeunload', () => {\n\t\t\tthis.history.scrollRestoration = 'auto';\n\t\t});\n\n\t\t// Setting scrollRestoration to manual again when returning to this page.\n\t\taddEventListener('load', () => {\n\t\t\tthis.history.scrollRestoration = 'manual';\n\t\t});\n\n\t\t// There's no API to capture the scroll location right before the user\n\t\t// hits the back/forward button, so we listen for scroll events\n\t\tlet scroll_timer;\n\t\taddEventListener('scroll', () => {\n\t\t\tclearTimeout(scroll_timer);\n\t\t\tscroll_timer = setTimeout(() => {\n\t\t\t\t// Store the scroll location in the history\n\t\t\t\t// This will persist even if we navigate away from the site and come back\n\t\t\t\tconst new_state = {\n\t\t\t\t\t...(history.state || {}),\n\t\t\t\t\t'sveltekit:scroll': scroll_state()\n\t\t\t\t};\n\t\t\t\thistory.replaceState(new_state, document.title, window.location);\n\t\t\t}, 50);\n\t\t});\n\n\t\taddEventListener('click', (event) => {\n\t\t\t// Adapted from https://github.com/visionmedia/page.js\n\t\t\t// MIT license https://github.com/visionmedia/page.js#license\n\t\t\tif (which(event) !== 1) return;\n\t\t\tif (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;\n\t\t\tif (event.defaultPrevented) return;\n\n\t\t\tconst a = find_anchor(event.target);\n\t\t\tif (!a) return;\n\n\t\t\tif (!a.href) return;\n\n\t\t\t// check if link is inside an svg\n\t\t\t// in this case, both href and target are always inside an object\n\t\t\tconst svg = typeof a.href === 'object' && a.href.constructor.name === 'SVGAnimatedString';\n\t\t\tconst href = String(svg ? a.href.baseVal : a.href);\n\n\t\t\tif (href === location.href) {\n\t\t\t\tif (!location.hash) event.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Ignore if tag has\n\t\t\t// 1. 'download' attribute\n\t\t\t// 2. rel='external' attribute\n\t\t\tif (a.hasAttribute('download') || a.getAttribute('rel') === 'external') return;\n\n\t\t\t// Ignore if <a> has a target\n\t\t\tif (svg ? a.target.baseVal : a.target) return;\n\n\t\t\tconst url = new URL(href);\n\n\t\t\t// Don't handle hash changes\n\t\t\tif (url.pathname === location.pathname && url.search === location.search) return;\n\n\t\t\tconst selected = this.select(url);\n\t\t\tif (selected) {\n\t\t\t\tconst noscroll = a.hasAttribute('sveltekit:noscroll');\n\t\t\t\tthis.renderer.notify(selected);\n\t\t\t\tthis.history.pushState({}, '', url.href);\n\t\t\t\tthis.navigate(selected, noscroll ? scroll_state() : false, url.hash);\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t});\n\n\t\taddEventListener('popstate', (event) => {\n\t\t\tif (event.state) {\n\t\t\t\tconst url = new URL(location.href);\n\t\t\t\tconst selected = this.select(url);\n\t\t\t\tif (selected) {\n\t\t\t\t\tthis.navigate(selected, event.state['sveltekit:scroll']);\n\t\t\t\t} else {\n\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\tlocation.href = location.href; // nosonar\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// make it possible to reset focus\n\t\tdocument.body.setAttribute('tabindex', '-1');\n\n\t\t// load current page\n\t\tthis.history.replaceState({}, '', location.href);\n\n\t\tconst selected = this.select(new URL(location.href));\n\t\tif (selected) return this.renderer.start(selected);\n\t}\n\n\tselect(url) {\n\t\tif (url.origin !== location.origin) return null;\n\t\tif (!url.pathname.startsWith(this.base)) return null;\n\n\t\tlet path = url.pathname.slice(this.base.length);\n\n\t\tif (path === '') {\n\t\t\tpath = '/';\n\t\t}\n\n\t\t// avoid accidental clashes between server routes and page routes\n\t\tif (this.ignore.some((pattern) => pattern.test(path))) return;\n\n\t\tfor (const route of this.pages) {\n\t\t\tconst match = route.pattern.exec(path);\n\n\t\t\tif (match) {\n\t\t\t\tconst query = new URLSearchParams(url.search);\n\t\t\t\tconst params = route.params(match);\n\n\t\t\t\tconst page = { host: this.host, path, query, params };\n\n\t\t\t\treturn { href: url.href, route, match, page };\n\t\t\t}\n\t\t}\n\t}\n\n\tasync goto(href, { noscroll = false, replaceState = false } = {}) {\n\t\tconst url = new URL(href, get_base_uri(document));\n\t\tconst selected = this.select(url);\n\n\t\tif (selected) {\n\t\t\tthis.renderer.notify(selected);\n\n\t\t\t// TODO shouldn't need to pass the hash here\n\t\t\tthis.history[replaceState ? 'replaceState' : 'pushState']({}, '', href);\n\t\t\treturn this.navigate(selected, noscroll ? scroll_state() : false, url.hash);\n\t\t}\n\n\t\tlocation.href = href;\n\t\treturn new Promise(() => {\n\t\t\t/* never resolves */\n\t\t});\n\t}\n\n\tasync navigate(selected, scroll, hash) {\n\t\t// remove trailing slashes\n\t\tif (location.pathname.endsWith('/') && location.pathname !== '/') {\n\t\t\thistory.replaceState({}, '', `${location.pathname.slice(0, -1)}${location.search}`);\n\t\t}\n\n\t\tawait this.renderer.render(selected);\n\n\t\tdocument.body.focus();\n\n\t\tconst deep_linked = hash && document.getElementById(hash.slice(1));\n\t\tif (scroll) {\n\t\t\tscrollTo(scroll.x, scroll.y);\n\t\t} else if (deep_linked) {\n\t\t\t// scroll is an element id (from a hash), we need to compute y\n\t\t\tscrollTo(0, deep_linked.getBoundingClientRect().top + scrollY);\n\t\t} else {\n\t\t\tscrollTo(0, 0);\n\t\t}\n\t}\n}\n","import { writable } from 'svelte/store';\nimport { find_anchor } from '../utils';\n\nfunction page_store(value) {\n\tconst store = writable(value);\n\tlet ready = true;\n\n\tfunction notify() {\n\t\tready = true;\n\t\tstore.update((val) => val);\n\t}\n\n\tfunction set(new_value) {\n\t\tready = false;\n\t\tstore.set(new_value);\n\t}\n\n\tfunction subscribe(run) {\n\t\tlet old_value;\n\t\treturn store.subscribe((new_value) => {\n\t\t\tif (old_value === undefined || (ready && new_value !== old_value)) {\n\t\t\t\trun((old_value = new_value));\n\t\t\t}\n\t\t});\n\t}\n\n\treturn { notify, set, subscribe };\n}\n\nexport class Renderer {\n\tconstructor({ Root, layout, target, error, status, preloaded, session }) {\n\t\tthis.Root = Root;\n\t\tthis.layout = layout;\n\t\tthis.layout_loader = () => layout;\n\n\t\t// TODO ideally we wouldn't need to store these...\n\t\tthis.target = target;\n\n\t\tthis.initial = {\n\t\t\tpreloaded,\n\t\t\terror,\n\t\t\tstatus\n\t\t};\n\n\t\tthis.current = {\n\t\t\tpage: null,\n\t\t\tquery: null,\n\t\t\tsession_changed: false,\n\t\t\tnodes: []\n\t\t};\n\n\t\tthis.caches = new Map();\n\n\t\tthis.prefetching = {\n\t\t\thref: null,\n\t\t\tpromise: null\n\t\t};\n\n\t\tthis.stores = {\n\t\t\tpage: page_store({}),\n\t\t\tnavigating: writable(null),\n\t\t\tsession: writable(session)\n\t\t};\n\n\t\tthis.$session = null;\n\n\t\tthis.root = null;\n\n\t\tconst trigger_prefetch = (event) => {\n\t\t\tconst a = find_anchor(event.target);\n\n\t\t\tif (a && a.hasAttribute('sveltekit:prefetch')) {\n\t\t\t\tthis.prefetch(new URL(a.href));\n\t\t\t}\n\t\t};\n\n\t\tlet mousemove_timeout;\n\t\tconst handle_mousemove = (event) => {\n\t\t\tclearTimeout(mousemove_timeout);\n\t\t\tmousemove_timeout = setTimeout(() => {\n\t\t\t\ttrigger_prefetch(event);\n\t\t\t}, 20);\n\t\t};\n\n\t\taddEventListener('touchstart', trigger_prefetch);\n\t\taddEventListener('mousemove', handle_mousemove);\n\n\t\tlet ready = false;\n\t\tthis.stores.session.subscribe(async (value) => {\n\t\t\tthis.$session = value;\n\n\t\t\tif (!ready) return;\n\t\t\tthis.current.session_changed = true;\n\n\t\t\tconst selected = this.router.select(new URL(location.href));\n\t\t\tthis.render(selected);\n\t\t});\n\t\tready = true;\n\t}\n\n\tasync start(selected) {\n\t\tconst props = {\n\t\t\tstores: this.stores,\n\t\t\terror: this.initial.error,\n\t\t\tstatus: this.initial.status,\n\t\t\tpage: selected.page\n\t\t};\n\n\t\tif (this.initial.error) {\n\t\t\tprops.components = [this.layout.default];\n\t\t} else {\n\t\t\tconst hydrated = await this.hydrate(selected);\n\n\t\t\tif (hydrated.redirect) {\n\t\t\t\tthrow new Error('TODO client-side redirects');\n\t\t\t}\n\n\t\t\tObject.assign(props, hydrated.props);\n\t\t\tthis.current = hydrated.state;\n\t\t}\n\n\t\tthis.root = new this.Root({\n\t\t\ttarget: this.target,\n\t\t\tprops,\n\t\t\thydrate: true\n\t\t});\n\n\t\tthis.initial = null;\n\t}\n\n\tnotify(selected) {\n\t\tthis.stores.navigating.set({\n\t\t\tfrom: this.current.page,\n\t\t\tto: selected.page\n\t\t});\n\t}\n\n\tasync render(selected) {\n\t\tconst token = (this.token = {});\n\n\t\tconst hydrated = await this.hydrate(selected);\n\n\t\tif (this.token === token) {\n\t\t\t// check render wasn't aborted\n\t\t\tthis.current = hydrated.state;\n\n\t\t\tthis.root.$set(hydrated.props);\n\t\t\tthis.stores.navigating.set(null);\n\t\t}\n\t}\n\n\tasync hydrate({ route, page }) {\n\t\tconst props = {\n\t\t\terror: null,\n\t\t\tstatus: 200,\n\t\t\tcomponents: []\n\t\t};\n\n\t\tconst fetcher = (url, opts) => {\n\t\t\tif (this.initial) {\n\t\t\t\tconst script = document.querySelector(`script[type=\"svelte-data\"][url=\"${url}\"]`);\n\t\t\t\tif (script) {\n\t\t\t\t\tconst { body, ...init } = JSON.parse(script.textContent);\n\t\t\t\t\treturn Promise.resolve(new Response(body, init));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn fetch(url, opts);\n\t\t};\n\n\t\tconst query = page.query.toString();\n\n\t\tconst state = {\n\t\t\tpage,\n\t\t\tquery,\n\t\t\tsession_changed: false,\n\t\t\tnodes: []\n\t\t};\n\n\t\tconst component_promises = [this.layout_loader(), ...route.parts.map((loader) => loader())];\n\t\tconst props_promises = [];\n\n\t\tlet context = {};\n\t\tlet redirect;\n\n\t\tconst changed = {\n\t\t\tparams: Object.keys(page.params).filter((key) => {\n\t\t\t\treturn !this.current.page || this.current.page.params[key] !== page.params[key];\n\t\t\t}),\n\t\t\tquery: query !== this.current.query,\n\t\t\tsession: this.current.session_changed,\n\t\t\tcontext: false\n\t\t};\n\n\t\ttry {\n\t\t\tfor (let i = 0; i < component_promises.length; i += 1) {\n\t\t\t\tconst previous = this.current.nodes[i];\n\n\t\t\t\tconst { default: component, load } = await component_promises[i];\n\t\t\t\tprops.components[i] = component;\n\n\t\t\t\tconst changed_since_last_render =\n\t\t\t\t\t!previous ||\n\t\t\t\t\tcomponent !== previous.component ||\n\t\t\t\t\tchanged.params.some((param) => previous.uses.params.has(param)) ||\n\t\t\t\t\t(changed.query && previous.uses.query) ||\n\t\t\t\t\t(changed.session && previous.uses.session) ||\n\t\t\t\t\t(changed.context && previous.uses.context);\n\n\t\t\t\tif (changed_since_last_render) {\n\t\t\t\t\tconst hash = page.path + query;\n\n\t\t\t\t\t// see if we have some cached data\n\t\t\t\t\tconst cache = this.caches.get(component);\n\t\t\t\t\tconst cached = cache && cache.get(hash);\n\n\t\t\t\t\tlet node;\n\t\t\t\t\tlet loaded;\n\n\t\t\t\t\tif (cached && (!changed.context || !cached.node.uses.context)) {\n\t\t\t\t\t\t({ node, loaded } = cached);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnode = {\n\t\t\t\t\t\t\tcomponent,\n\t\t\t\t\t\t\tuses: {\n\t\t\t\t\t\t\t\tparams: new Set(),\n\t\t\t\t\t\t\t\tquery: false,\n\t\t\t\t\t\t\t\tsession: false,\n\t\t\t\t\t\t\t\tcontext: false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tconst params = {};\n\t\t\t\t\t\tfor (const key in page.params) {\n\t\t\t\t\t\t\tObject.defineProperty(params, key, {\n\t\t\t\t\t\t\t\tget() {\n\t\t\t\t\t\t\t\t\tnode.uses.params.add(key);\n\t\t\t\t\t\t\t\t\treturn page.params[key];\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tenumerable: true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst session = this.$session;\n\n\t\t\t\t\t\tloaded =\n\t\t\t\t\t\t\tload &&\n\t\t\t\t\t\t\t(await load.call(null, {\n\t\t\t\t\t\t\t\tpage: {\n\t\t\t\t\t\t\t\t\t...page,\n\t\t\t\t\t\t\t\t\tparams,\n\t\t\t\t\t\t\t\t\tget query() {\n\t\t\t\t\t\t\t\t\t\tnode.uses.query = true;\n\t\t\t\t\t\t\t\t\t\treturn page.query;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tget session() {\n\t\t\t\t\t\t\t\t\tnode.uses.session = true;\n\t\t\t\t\t\t\t\t\treturn session;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tget context() {\n\t\t\t\t\t\t\t\t\tnode.uses.context = true;\n\t\t\t\t\t\t\t\t\treturn { ...context };\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tfetch: fetcher\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\n\t\t\t\t\tif (loaded) {\n\t\t\t\t\t\tif (loaded.error) {\n\t\t\t\t\t\t\tconst error = new Error(loaded.error.message);\n\t\t\t\t\t\t\terror.status = loaded.error.status;\n\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (loaded.redirect) {\n\t\t\t\t\t\t\tredirect = loaded.redirect;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (loaded.context) {\n\t\t\t\t\t\t\tchanged.context = true;\n\n\t\t\t\t\t\t\tcontext = {\n\t\t\t\t\t\t\t\t...context,\n\t\t\t\t\t\t\t\t...loaded.context\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (loaded.maxage) {\n\t\t\t\t\t\t\tif (!this.caches.has(component)) {\n\t\t\t\t\t\t\t\tthis.caches.set(component, new Map());\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst cache = this.caches.get(component);\n\t\t\t\t\t\t\tconst cached = { node, loaded };\n\n\t\t\t\t\t\t\tcache.set(hash, cached);\n\n\t\t\t\t\t\t\tlet ready = false;\n\n\t\t\t\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\t\t\t\tclear();\n\t\t\t\t\t\t\t}, loaded.maxage * 1000);\n\n\t\t\t\t\t\t\tconst clear = () => {\n\t\t\t\t\t\t\t\tif (cache.get(hash) === cached) {\n\t\t\t\t\t\t\t\t\tcache.delete(hash);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tunsubscribe();\n\t\t\t\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tconst unsubscribe = this.stores.session.subscribe(() => {\n\t\t\t\t\t\t\t\tif (ready) clear();\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tready = true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tprops_promises[i] = loaded.props;\n\t\t\t\t\t}\n\n\t\t\t\t\tstate.nodes[i] = node;\n\t\t\t\t} else {\n\t\t\t\t\tstate.nodes[i] = previous;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst new_props = await Promise.all(props_promises);\n\n\t\t\tnew_props.forEach((p, i) => {\n\t\t\t\tif (p) {\n\t\t\t\t\tprops[`props_${i}`] = p;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (!this.current.page || page.path !== this.current.page.path) {\n\t\t\t\tprops.page = page;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tprops.error = error;\n\t\t\tprops.status = 500;\n\t\t\tstate.nodes = [];\n\t\t}\n\n\t\treturn { redirect, props, state };\n\t}\n\n\tasync prefetch(url) {\n\t\tconst page = this.router.select(url);\n\n\t\tif (page) {\n\t\t\tif (url.href !== this.prefetching.href) {\n\t\t\t\tthis.prefetching = { href: url.href, promise: this.hydrate(page) };\n\t\t\t}\n\n\t\t\treturn this.prefetching.promise;\n\t\t} else {\n\t\t\tthrow new Error(`Could not prefetch ${url.href}`);\n\t\t}\n\t}\n}\n","import Root from 'ROOT'; // eslint-disable-line import/no-unresolved\nimport { pages, ignore, layout } from 'MANIFEST'; // eslint-disable-line import/no-unresolved\nimport { Router } from './router';\nimport { Renderer } from './renderer';\nimport { init, set_paths } from './singletons';\n\nexport async function start({ paths, target, host, session, preloaded, error, status }) {\n\tconst router = new Router({\n\t\tbase: paths.base,\n\t\thost,\n\t\tpages,\n\t\tignore\n\t});\n\n\tconst renderer = new Renderer({\n\t\tRoot,\n\t\tlayout,\n\t\ttarget,\n\t\tpreloaded,\n\t\terror,\n\t\tstatus,\n\t\tsession\n\t});\n\n\tinit({ router, renderer });\n\tset_paths(paths);\n\n\tawait router.init({ renderer });\n}\n"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- function find_anchor(node) {
2
- while (node && node.nodeName.toUpperCase() !== 'A') node = node.parentNode; // SVG <a> elements have a lowercase name
3
- return node;
4
- }
5
-
6
- function get_base_uri(window_document) {
7
- let baseURI = window_document.baseURI;
8
-
9
- if (!baseURI) {
10
- const baseTags = window_document.getElementsByTagName('base');
11
- baseURI = baseTags.length ? baseTags[0].href : window_document.URL;
12
- }
13
-
14
- return baseURI;
15
- }
16
-
17
- export { find_anchor as f, get_base_uri as g };
18
- //# sourceMappingURL=utils-85ebcc60.js.map