@sveltejs/kit 1.0.0-next.19 → 1.0.0-next.193

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 +954 -350
  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/http.js +22 -0
  16. package/dist/chunks/index.js +4745 -0
  17. package/dist/chunks/index2.js +700 -0
  18. package/dist/chunks/index3.js +1065 -0
  19. package/dist/chunks/index4.js +393 -0
  20. package/dist/chunks/index5.js +413 -0
  21. package/dist/chunks/index6.js +15560 -0
  22. package/dist/{standard.js → chunks/standard.js} +16 -18
  23. package/dist/cli.js +936 -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 +1791 -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 -270
  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 -12009
  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 -717
  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 -406
  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,270 +0,0 @@
1
- # @sveltejs/kit
2
-
3
- ## 1.0.0-next.19
4
-
5
- ### Patch Changes
6
-
7
- - deda984: Make navigating store contain from and to properties
8
-
9
- ## 1.0.0-next.18
10
-
11
- ### Patch Changes
12
-
13
- - c29b61e: Announce page changes
14
- - 72da270: Reset focus properly
15
-
16
- ## 1.0.0-next.17
17
-
18
- ### Patch Changes
19
-
20
- - f7dea55: Set process.env.NODE_ENV when invoking via the CLI
21
-
22
- ## 1.0.0-next.16
23
-
24
- ### Patch Changes
25
-
26
- - Remove temporary logging
27
- - Add sveltekit:prefetch and sveltekit:noscroll
28
-
29
- ## 1.0.0-next.15
30
-
31
- ### Patch Changes
32
-
33
- - 6d1bb11: Fix AMP CSS
34
- - d8b53af: Ignore $layout and $error files when finding static paths
35
- - Better scroll tracking
36
-
37
- ## 1.0.0-next.14
38
-
39
- ### Patch Changes
40
-
41
- - Fix dev loader
42
-
43
- ## 1.0.0-next.13
44
-
45
- ### Patch Changes
46
-
47
- - 1ea4d6b: More robust CSS extraction
48
-
49
- ## 1.0.0-next.12
50
-
51
- ### Patch Changes
52
-
53
- - e7c88dd: Tweak AMP validation screen
54
-
55
- ## 1.0.0-next.11
56
-
57
- ### Patch Changes
58
-
59
- - a31f218: Fix SSR loader invalidation
60
-
61
- ## 1.0.0-next.10
62
-
63
- ### Patch Changes
64
-
65
- - 8b14d29: Omit svelte-data scripts from AMP pages
66
-
67
- ## 1.0.0-next.9
68
-
69
- ### Patch Changes
70
-
71
- - f5fa223: AMP support
72
- - 47f2ee1: Always remove trailing slashes
73
- - 1becb94: Replace preload with load
74
-
75
- ## 1.0.0-next.8
76
-
77
- ### Patch Changes
78
-
79
- - 15dd751: Use meta http-equiv=refresh
80
- - be7e031: Fix handling of static files
81
- - ed6b8fd: Implement \$app/env
82
-
83
- ## 1.0.0-next.7
84
-
85
- ### Patch Changes
86
-
87
- - 76705b0: make HMR work outside localhost
88
-
89
- ## 1.0.0-next.6
90
-
91
- ### Patch Changes
92
-
93
- - 0e45255: Move options behind kit namespace, change paths -> kit.files
94
- - fa7f2b2: Implement live bindings for SSR code
95
-
96
- ## 1.0.0-next.5
97
-
98
- ### Patch Changes
99
-
100
- - Return dependencies from render
101
-
102
- ## 1.0.0-next.4
103
-
104
- ### Patch Changes
105
-
106
- - af01b0d: Move renderer out of app assets folder
107
-
108
- ## 1.0.0-next.3
109
-
110
- ### Patch Changes
111
-
112
- - Add paths to manifest, for static prerendering
113
-
114
- ## 1.0.0-next.2
115
-
116
- ### Patch Changes
117
-
118
- - Fix typo causing misnamed assets folder
119
-
120
- ## 1.0.0-next.1
121
-
122
- ### Patch Changes
123
-
124
- - a4bc090: Transform exported functions correctly
125
- - 00bbf98: Fix nested layouts
126
-
127
- ## 0.0.31-next.0
128
-
129
- ### Patch Changes
130
-
131
- - ffd7bba: Fix SSR cache invalidation
132
-
133
- ## 0.0.30
134
-
135
- ### Patch Changes
136
-
137
- - Add back stores(), but with deprecation warning
138
- - Rename stores.preloading to stores.navigating
139
- - Rewrite routing logic
140
-
141
- ## 0.0.29
142
-
143
- ### Patch Changes
144
-
145
- - 10872cc: Normalize request.query
146
-
147
- ## 0.0.28
148
-
149
- ### Patch Changes
150
-
151
- - Add svelte-kit start command
152
-
153
- ## 0.0.27
154
-
155
- ### Patch Changes
156
-
157
- - rename CLI to svelte-kit
158
- - 0904e22: rename svelte CLI to svelte-kit
159
- - Validate route responses
160
- - Make paths and target configurable
161
-
162
- ## 0.0.26
163
-
164
- ### Patch Changes
165
-
166
- - b475ed4: Overhaul adapter API - fixes #166
167
- - Updated dependencies [b475ed4]
168
- - @sveltejs/app-utils@0.0.18
169
-
170
- ## 0.0.25
171
-
172
- ### Patch Changes
173
-
174
- - Updated dependencies [3bdf33b]
175
- - @sveltejs/app-utils@0.0.17
176
-
177
- ## 0.0.24
178
-
179
- ### Patch Changes
180
-
181
- - 67eaeea: Move app-utils stuff into subpackages
182
- - 7f8df30: Move kit runtime code, expose via \$app aliases
183
- - Updated dependencies [67eaeea]
184
- - @sveltejs/app-utils@0.0.16
185
-
186
- ## 0.0.23
187
-
188
- ### Patch Changes
189
-
190
- - a163000: Parse body on incoming requests
191
- - a346eab: Copy over latest Sapper router code
192
- - Updated dependencies [a163000]
193
- - @sveltejs/app-utils@0.0.15
194
-
195
- ## 0.0.22
196
-
197
- ### Patch Changes
198
-
199
- - Force bump version
200
-
201
- ## 0.0.21
202
-
203
- ### Patch Changes
204
-
205
- - Build setup entry point
206
- - Work around pkg.exports constraint
207
- - Respond with 500s if render fails
208
- - Updated dependencies [undefined]
209
- - Updated dependencies [undefined]
210
- - Updated dependencies [undefined]
211
- - @sveltejs/app-utils@0.0.14
212
-
213
- ## 0.0.20
214
-
215
- ### Patch Changes
216
-
217
- - Pass setup module to renderer
218
- - Bump Snowpack version
219
- - Updated dependencies [undefined]
220
- - Updated dependencies [96c06d8]
221
- - @sveltejs/app-utils@0.0.13
222
-
223
- ## 0.0.19
224
-
225
- ### Patch Changes
226
-
227
- - fa9d7ce: Handle import.meta in SSR module loader
228
- - 0320208: Rename 'server route' to 'endpoint'
229
- - b9444d2: Update to Snowpack 2.15
230
- - 5ca907c: Use shared mkdirp helper
231
- - Updated dependencies [0320208]
232
- - Updated dependencies [5ca907c]
233
- - @sveltejs/app-utils@0.0.12
234
-
235
- ## 0.0.18
236
-
237
- ### Patch Changes
238
-
239
- - Updated dependencies [undefined]
240
- - @sveltejs/app-utils@0.0.11
241
-
242
- ## 0.0.17
243
-
244
- ### Patch Changes
245
-
246
- - 19323e9: Update Snowpack
247
- - Updated dependencies [19323e9]
248
- - @sveltejs/app-utils@0.0.10
249
-
250
- ## 0.0.16
251
-
252
- ### Patch Changes
253
-
254
- - Updated dependencies [90a98ae]
255
- - @sveltejs/app-utils@0.0.9
256
-
257
- ## 0.0.15
258
-
259
- ### Patch Changes
260
-
261
- - Updated dependencies [undefined]
262
- - @sveltejs/app-utils@0.0.8
263
-
264
- ## 0.0.14
265
-
266
- ### Patch Changes
267
-
268
- - various
269
- - Updated dependencies [undefined]
270
- - @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
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-85ebcc60.js","sources":["../../src/runtime/internal/utils.js"],"sourcesContent":["export function find_anchor(node) {\n\twhile (node && node.nodeName.toUpperCase() !== 'A') node = node.parentNode; // SVG <a> elements have a lowercase name\n\treturn node;\n}\n\nexport function get_base_uri(window_document) {\n\tlet baseURI = window_document.baseURI;\n\n\tif (!baseURI) {\n\t\tconst baseTags = window_document.getElementsByTagName('base');\n\t\tbaseURI = baseTags.length ? baseTags[0].href : window_document.URL;\n\t}\n\n\treturn baseURI;\n}\n"],"names":[],"mappings":"AAAO,SAAS,WAAW,CAAC,IAAI,EAAE;AAClC,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;AAC5E,CAAC,OAAO,IAAI,CAAC;AACb,CAAC;AACD;AACO,SAAS,YAAY,CAAC,eAAe,EAAE;AAC9C,CAAC,IAAI,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;AACvC;AACA,CAAC,IAAI,CAAC,OAAO,EAAE;AACf,EAAE,MAAM,QAAQ,GAAG,eAAe,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAChE,EAAE,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC;AACrE,EAAE;AACF;AACA,CAAC,OAAO,OAAO,CAAC;AAChB;;;;"}