svelte-spa-history-router 2.1.0 → 2.1.1
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/README.md +23 -3
- package/example/App.svelte +6 -3
- package/example/dist/Article.js +31 -22
- package/example/dist/Article.js.map +1 -1
- package/example/dist/Login.js +23 -14
- package/example/dist/Login.js.map +1 -1
- package/example/dist/Query.js +13 -10
- package/example/dist/Query.js.map +1 -1
- package/example/dist/main2.js +1423 -664
- package/example/dist/main2.js.map +1 -1
- package/jsconfig.json +17 -0
- package/package.json +15 -16
- package/src/Router.svelte +25 -17
- package/src/index.js +11 -2
- package/src/link.js +10 -1
- package/src/push.js +3 -0
- package/src/route_state.js +44 -0
- package/src/stores.js +27 -8
- package/src/types.ts +28 -0
- package/tests/{test_e2e.js → e2e.test.js} +47 -46
- package/example/dist/NotFound.js +0 -73
- package/example/dist/NotFound.js.map +0 -1
- package/example/dist/Search.js +0 -206
- package/example/dist/Search.js.map +0 -1
- package/scratch.js +0 -0
package/README.md
CHANGED
|
@@ -96,8 +96,6 @@ import { push } from 'svelte-spa-history-router';
|
|
|
96
96
|
|
|
97
97
|
### resolver
|
|
98
98
|
|
|
99
|
-
(Added in v2.0.0)
|
|
100
|
-
|
|
101
99
|
Resolver is a mechanism to dynamically determine component and can be used in multiple use cases.
|
|
102
100
|
|
|
103
101
|
Example: code spliting (dynamic import)
|
|
@@ -120,6 +118,7 @@ Example: dynamic routing and pass value to component props.
|
|
|
120
118
|
import { Router } from 'svelte-spa-history-router';
|
|
121
119
|
|
|
122
120
|
import Article from "./Article.svelte";
|
|
121
|
+
import NotFound from "./NotFound.svelte";
|
|
123
122
|
|
|
124
123
|
async function prefetchArticle(route) {
|
|
125
124
|
const article = await getArticle(route.params.postId);
|
|
@@ -145,7 +144,7 @@ Example: guard
|
|
|
145
144
|
<script>
|
|
146
145
|
import { Router, redirect } from 'svelte-spa-history-router';
|
|
147
146
|
|
|
148
|
-
import Admin from "./Admin.svelte";
|
|
147
|
+
import Admin from "./Admin.svelte";
|
|
149
148
|
|
|
150
149
|
function adminGuard(route) {
|
|
151
150
|
if (!isAdmin($user)) {
|
|
@@ -162,12 +161,33 @@ import Admin from "./Admin.svelte";
|
|
|
162
161
|
<Router {routes}/>
|
|
163
162
|
```
|
|
164
163
|
|
|
164
|
+
(Added in v2.0.0)
|
|
165
|
+
|
|
166
|
+
### currentURL
|
|
167
|
+
|
|
168
|
+
store to detect URL changes (including query string or hash)
|
|
169
|
+
|
|
170
|
+
```html
|
|
171
|
+
<script>
|
|
172
|
+
import { currentURL } from "svelte-spa-history-router";
|
|
173
|
+
|
|
174
|
+
$: name = $currentURL.searchParams.get("name") || 'unknown';
|
|
175
|
+
</script>
|
|
176
|
+
<div>{ name }</div>
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
(Added in 2.1.0)
|
|
180
|
+
|
|
165
181
|
### Full example:
|
|
166
182
|
|
|
167
183
|
[example](https://github.com/ykrods/svelte-spa-history-router/tree/master/example)
|
|
168
184
|
|
|
169
185
|
## ChangeLog
|
|
170
186
|
|
|
187
|
+
### 2.1.1 (2024-01-13)
|
|
188
|
+
|
|
189
|
+
* Support Types
|
|
190
|
+
|
|
171
191
|
### 2.1.0 (2021-04-29)
|
|
172
192
|
|
|
173
193
|
* Add `currentURL` store to detect URL changes [PR6](https://github.com/ykrods/svelte-spa-history-router/pull/6)
|
package/example/App.svelte
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import Admin from './Admin.svelte';
|
|
10
10
|
import NotFound from "./NotFound.svelte";
|
|
11
11
|
|
|
12
|
-
function adminGuard(
|
|
12
|
+
function adminGuard() {
|
|
13
13
|
if ($user === null) {
|
|
14
14
|
return redirect("/login");
|
|
15
15
|
} else {
|
|
@@ -17,6 +17,9 @@
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* @param {import("../src/types").RouteState} route
|
|
22
|
+
*/
|
|
20
23
|
async function prefetchArticle(route) {
|
|
21
24
|
const article = await getArticle(route.params.postId);
|
|
22
25
|
if (article) {
|
|
@@ -32,8 +35,8 @@
|
|
|
32
35
|
{ path: '/', component: Home},
|
|
33
36
|
{ path: '/posts/(?<postId>.*)', resolver: prefetchArticle },
|
|
34
37
|
{ path: '/admin', resolver: adminGuard },
|
|
35
|
-
{ path: '/login', resolver:
|
|
36
|
-
{ path: '/query', resolver:
|
|
38
|
+
{ path: '/login', resolver: () => import("./Login.svelte") },
|
|
39
|
+
{ path: '/query', resolver: () => import("./Query.svelte") },
|
|
37
40
|
];
|
|
38
41
|
</script>
|
|
39
42
|
|
package/example/dist/Article.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { S as SvelteComponentDev, i as init, s as safe_not_equal, d as dispatch_dev,
|
|
1
|
+
import { S as SvelteComponentDev, i as init, s as safe_not_equal, d as dispatch_dev, v as validate_store, r as routeParams, c as component_subscribe, a as validate_slots, l as link, g as globals, b as space, e as element, t as text, f as add_location, h as attr_dev, j as insert_dev, k as append_dev, m as set_data_dev, n as noop, o as detach_dev, p as action_destroyer, H as HtmlTag } from './main2.js';
|
|
2
2
|
|
|
3
|
-
/* Article.svelte generated by Svelte
|
|
3
|
+
/* Article.svelte generated by Svelte v4.2.8 */
|
|
4
4
|
|
|
5
5
|
const { console: console_1 } = globals;
|
|
6
6
|
const file = "Article.svelte";
|
|
@@ -35,7 +35,10 @@ function create_if_block_1(ctx) {
|
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
37
|
d: function destroy(detaching) {
|
|
38
|
-
if (detaching)
|
|
38
|
+
if (detaching) {
|
|
39
|
+
detach_dev(a);
|
|
40
|
+
}
|
|
41
|
+
|
|
39
42
|
mounted = false;
|
|
40
43
|
dispose();
|
|
41
44
|
}
|
|
@@ -82,7 +85,10 @@ function create_if_block(ctx) {
|
|
|
82
85
|
}
|
|
83
86
|
},
|
|
84
87
|
d: function destroy(detaching) {
|
|
85
|
-
if (detaching)
|
|
88
|
+
if (detaching) {
|
|
89
|
+
detach_dev(a);
|
|
90
|
+
}
|
|
91
|
+
|
|
86
92
|
mounted = false;
|
|
87
93
|
dispose();
|
|
88
94
|
}
|
|
@@ -123,13 +129,14 @@ function create_fragment(ctx) {
|
|
|
123
129
|
h1 = element("h1");
|
|
124
130
|
t1 = text(t1_value);
|
|
125
131
|
t2 = space();
|
|
132
|
+
html_tag = new HtmlTag(false);
|
|
126
133
|
t3 = space();
|
|
127
134
|
div0 = element("div");
|
|
128
135
|
if (if_block0) if_block0.c();
|
|
129
136
|
t4 = space();
|
|
130
137
|
if (if_block1) if_block1.c();
|
|
131
138
|
add_location(h1, file, 15, 2, 299);
|
|
132
|
-
html_tag =
|
|
139
|
+
html_tag.a = t3;
|
|
133
140
|
add_location(div0, file, 17, 2, 349);
|
|
134
141
|
attr_dev(div1, "class", "article");
|
|
135
142
|
add_location(div1, file, 14, 0, 275);
|
|
@@ -187,8 +194,11 @@ function create_fragment(ctx) {
|
|
|
187
194
|
i: noop,
|
|
188
195
|
o: noop,
|
|
189
196
|
d: function destroy(detaching) {
|
|
190
|
-
if (detaching)
|
|
191
|
-
|
|
197
|
+
if (detaching) {
|
|
198
|
+
detach_dev(t0);
|
|
199
|
+
detach_dev(div1);
|
|
200
|
+
}
|
|
201
|
+
|
|
192
202
|
if (if_block0) if_block0.d();
|
|
193
203
|
if (if_block1) if_block1.d();
|
|
194
204
|
}
|
|
@@ -207,26 +217,32 @@ function create_fragment(ctx) {
|
|
|
207
217
|
|
|
208
218
|
function instance($$self, $$props, $$invalidate) {
|
|
209
219
|
let $routeParams;
|
|
210
|
-
validate_store(routeParams,
|
|
220
|
+
validate_store(routeParams, 'routeParams');
|
|
211
221
|
component_subscribe($$self, routeParams, $$value => $$invalidate(1, $routeParams = $$value));
|
|
212
222
|
let { $$slots: slots = {}, $$scope } = $$props;
|
|
213
|
-
validate_slots(
|
|
223
|
+
validate_slots('Article', slots, []);
|
|
214
224
|
let { article } = $$props;
|
|
215
|
-
|
|
216
|
-
|
|
225
|
+
|
|
226
|
+
$$self.$$.on_mount.push(function () {
|
|
227
|
+
if (article === undefined && !('article' in $$props || $$self.$$.bound[$$self.$$.props['article']])) {
|
|
228
|
+
console_1.warn("<Article> was created without expected prop 'article'");
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
|
|
232
|
+
const writable_props = ['article'];
|
|
217
233
|
|
|
218
234
|
Object.keys($$props).forEach(key => {
|
|
219
|
-
if (!~writable_props.indexOf(key) && key.slice(0, 2) !==
|
|
235
|
+
if (!~writable_props.indexOf(key) && key.slice(0, 2) !== '$$' && key !== 'slot') console_1.warn(`<Article> was created with unknown prop '${key}'`);
|
|
220
236
|
});
|
|
221
237
|
|
|
222
238
|
$$self.$$set = $$props => {
|
|
223
|
-
if (
|
|
239
|
+
if ('article' in $$props) $$invalidate(0, article = $$props.article);
|
|
224
240
|
};
|
|
225
241
|
|
|
226
242
|
$$self.$capture_state = () => ({ link, routeParams, article, $routeParams });
|
|
227
243
|
|
|
228
244
|
$$self.$inject_state = $$props => {
|
|
229
|
-
if (
|
|
245
|
+
if ('article' in $$props) $$invalidate(0, article = $$props.article);
|
|
230
246
|
};
|
|
231
247
|
|
|
232
248
|
if ($$props && "$$inject" in $$props) {
|
|
@@ -255,13 +271,6 @@ class Article extends SvelteComponentDev {
|
|
|
255
271
|
options,
|
|
256
272
|
id: create_fragment.name
|
|
257
273
|
});
|
|
258
|
-
|
|
259
|
-
const { ctx } = this.$$;
|
|
260
|
-
const props = options.props || {};
|
|
261
|
-
|
|
262
|
-
if (/*article*/ ctx[0] === undefined && !("article" in props)) {
|
|
263
|
-
console_1.warn("<Article> was created without expected prop 'article'");
|
|
264
|
-
}
|
|
265
274
|
}
|
|
266
275
|
|
|
267
276
|
get article() {
|
|
@@ -273,5 +282,5 @@ class Article extends SvelteComponentDev {
|
|
|
273
282
|
}
|
|
274
283
|
}
|
|
275
284
|
|
|
276
|
-
export default
|
|
285
|
+
export { Article as default };
|
|
277
286
|
//# sourceMappingURL=Article.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Article.js","sources":["../Article.svelte"],"sourcesContent":["<script>\n import { link } from '../src/index.js';\n import { routeParams } from '../src/stores.js';\n\n export let article;\n\n $: if ($routeParams.postId) {\n console.log($routeParams.postId);\n };\n</script>\n\n<svelte:head>\n <title>{ article.title }</title>\n</svelte:head>\n<div class=\"article\">\n <h1>{article.title}</h1>\n {@html article.html}\n <div>\n {#if article.previous}<a use:link href={`/posts/${article.previous}`}>Prev</a>{/if}\n {#if article.next}<a use:link href={`/posts/${article.next}`}>Next</a>{/if}\n </div>\n</div>\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Article.js","sources":["../Article.svelte"],"sourcesContent":["<script>\n import { link } from '../src/index.js';\n import { routeParams } from '../src/stores.js';\n\n export let article;\n\n $: if ($routeParams.postId) {\n console.log($routeParams.postId);\n };\n</script>\n\n<svelte:head>\n <title>{ article.title }</title>\n</svelte:head>\n<div class=\"article\">\n <h1>{article.title}</h1>\n {@html article.html}\n <div>\n {#if article.previous}<a use:link href={`/posts/${article.previous}`}>Prev</a>{/if}\n {#if article.next}<a use:link href={`/posts/${article.next}`}>Next</a>{/if}\n </div>\n</div>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;YAkB0E,MAAI,CAAA,CAAA;AAAxB,GAAA,QAAA,CAAA,CAAA,EAAA,MAAA,EAAA,YAAA,GAAA,CAAA,OAAA,cAAA,GAAO,IAAC,QAAQ,CAAA,CAAA,CAAA,CAAA;;;;GAA5C,UAAwD,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,CAAA,CAAA;;;;;;;;;AAA5B,GAAA,IAAA,KAAA,eAAA,CAAA,IAAA,YAAA,MAAA,YAAA,GAAA,CAAA,OAAA,cAAA,GAAO,IAAC,QAAQ,CAAA,CAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YACJ,MAAI,CAAA,CAAA;AAApB,GAAA,QAAA,CAAA,CAAA,EAAA,MAAA,EAAA,YAAA,GAAA,CAAA,OAAA,cAAA,GAAO,IAAC,IAAI,CAAA,CAAA,CAAA,CAAA;;;;GAAxC,UAAoD,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,CAAA,CAAA;;;;;;;;;AAAxB,GAAA,IAAA,KAAA,eAAA,CAAA,IAAA,YAAA,MAAA,YAAA,GAAA,CAAA,OAAA,cAAA,GAAO,IAAC,IAAI,CAAA,CAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAJvD,CAAA,IAAA,QAAA,eAAA,GAAO,IAAC,KAAK,GAAA,EAAA,CAAA;;;;AACX,CAAA,IAAA,SAAA,eAAA,GAAO,IAAC,IAAI,GAAA,EAAA,CAAA;;;;AAJV,CAAA,QAAA,CAAA,KAAA,GAAA,WAAA,eAAA,GAAO,IAAC,KAAK,CAAA;AAMf,CAAA,IAAA,SAAA,eAAA,GAAO,IAAC,QAAQ,IAAA,iBAAA,CAAA,GAAA,CAAA,CAAA;AAChB,CAAA,IAAA,SAAA,eAAA,GAAO,IAAC,IAAI,IAAA,eAAA,CAAA,GAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GALrB,UAOM,CAAA,MAAA,EAAA,IAAA,EAAA,MAAA,CAAA,CAAA;GANJ,UAAwB,CAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;GAExB,UAGM,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA;;;;;;AARG,GAAA,IAAA,KAAA,eAAA,CAAA,IAAA,WAAA,MAAA,WAAA,eAAA,GAAO,IAAC,KAAK,CAAA,EAAA;;;;AAGjB,GAAA,IAAA,KAAA,eAAA,CAAA,IAAA,QAAA,MAAA,QAAA,eAAA,GAAO,IAAC,KAAK,GAAA,EAAA,CAAA,EAAA,YAAA,CAAA,EAAA,EAAA,QAAA,CAAA,CAAA;AACX,GAAA,IAAA,KAAA,eAAA,CAAA,IAAA,SAAA,MAAA,SAAA,eAAA,GAAO,IAAC,IAAI,GAAA,EAAA,CAAA,EAAA,QAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA;;AAEZ,GAAA,gBAAA,GAAO,IAAC,QAAQ,EAAA;;;;;;;;;;;;;AAChB,GAAA,gBAAA,GAAO,IAAC,IAAI,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAfR,OAAO,EAAA,GAAA,OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAEjB,IAAM,YAAY,CAAC,MAAM,EAAA;AACxB,IAAA,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/example/dist/Login.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { S as SvelteComponentDev, i as init, s as safe_not_equal, d as dispatch_dev, v as validate_store, u as user, c as component_subscribe, a as validate_slots, q as push, e as element,
|
|
1
|
+
import { S as SvelteComponentDev, i as init, s as safe_not_equal, d as dispatch_dev, v as validate_store, u as user, c as component_subscribe, a as validate_slots, q as push, e as element, b as space, f as add_location, h as attr_dev, j as insert_dev, k as append_dev, n as noop, o as detach_dev, w as set_store_value, t as text, x as listen_dev, m as set_data_dev } from './main2.js';
|
|
2
2
|
|
|
3
|
-
/* Login.svelte generated by Svelte
|
|
3
|
+
/* Login.svelte generated by Svelte v4.2.8 */
|
|
4
4
|
const file = "Login.svelte";
|
|
5
5
|
|
|
6
6
|
// (18:2) {:else }
|
|
@@ -29,7 +29,7 @@ function create_else_block(ctx) {
|
|
|
29
29
|
insert_dev(target, button, anchor);
|
|
30
30
|
|
|
31
31
|
if (!mounted) {
|
|
32
|
-
dispose = listen_dev(button, "click", /*logout*/ ctx[2], false, false, false);
|
|
32
|
+
dispose = listen_dev(button, "click", /*logout*/ ctx[2], false, false, false, false);
|
|
33
33
|
mounted = true;
|
|
34
34
|
}
|
|
35
35
|
},
|
|
@@ -37,10 +37,13 @@ function create_else_block(ctx) {
|
|
|
37
37
|
if (dirty & /*$user*/ 1) set_data_dev(t1, /*$user*/ ctx[0]);
|
|
38
38
|
},
|
|
39
39
|
d: function destroy(detaching) {
|
|
40
|
-
if (detaching)
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
if (detaching) {
|
|
41
|
+
detach_dev(t0);
|
|
42
|
+
detach_dev(t1);
|
|
43
|
+
detach_dev(t2);
|
|
44
|
+
detach_dev(button);
|
|
45
|
+
}
|
|
46
|
+
|
|
44
47
|
mounted = false;
|
|
45
48
|
dispose();
|
|
46
49
|
}
|
|
@@ -74,13 +77,16 @@ function create_if_block(ctx) {
|
|
|
74
77
|
insert_dev(target, button, anchor);
|
|
75
78
|
|
|
76
79
|
if (!mounted) {
|
|
77
|
-
dispose = listen_dev(button, "click", /*login*/ ctx[1], false, false, false);
|
|
80
|
+
dispose = listen_dev(button, "click", /*login*/ ctx[1], false, false, false, false);
|
|
78
81
|
mounted = true;
|
|
79
82
|
}
|
|
80
83
|
},
|
|
81
84
|
p: noop,
|
|
82
85
|
d: function destroy(detaching) {
|
|
83
|
-
if (detaching)
|
|
86
|
+
if (detaching) {
|
|
87
|
+
detach_dev(button);
|
|
88
|
+
}
|
|
89
|
+
|
|
84
90
|
mounted = false;
|
|
85
91
|
dispose();
|
|
86
92
|
}
|
|
@@ -146,7 +152,10 @@ function create_fragment(ctx) {
|
|
|
146
152
|
i: noop,
|
|
147
153
|
o: noop,
|
|
148
154
|
d: function destroy(detaching) {
|
|
149
|
-
if (detaching)
|
|
155
|
+
if (detaching) {
|
|
156
|
+
detach_dev(div);
|
|
157
|
+
}
|
|
158
|
+
|
|
150
159
|
if_block.d();
|
|
151
160
|
}
|
|
152
161
|
};
|
|
@@ -164,10 +173,10 @@ function create_fragment(ctx) {
|
|
|
164
173
|
|
|
165
174
|
function instance($$self, $$props, $$invalidate) {
|
|
166
175
|
let $user;
|
|
167
|
-
validate_store(user,
|
|
176
|
+
validate_store(user, 'user');
|
|
168
177
|
component_subscribe($$self, user, $$value => $$invalidate(0, $user = $$value));
|
|
169
178
|
let { $$slots: slots = {}, $$scope } = $$props;
|
|
170
|
-
validate_slots(
|
|
179
|
+
validate_slots('Login', slots, []);
|
|
171
180
|
|
|
172
181
|
function login() {
|
|
173
182
|
set_store_value(user, $user = "admin", $user);
|
|
@@ -180,7 +189,7 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
180
189
|
const writable_props = [];
|
|
181
190
|
|
|
182
191
|
Object.keys($$props).forEach(key => {
|
|
183
|
-
if (!~writable_props.indexOf(key) && key.slice(0, 2) !==
|
|
192
|
+
if (!~writable_props.indexOf(key) && key.slice(0, 2) !== '$$' && key !== 'slot') console.warn(`<Login> was created with unknown prop '${key}'`);
|
|
184
193
|
});
|
|
185
194
|
|
|
186
195
|
$$self.$capture_state = () => ({ push, user, login, logout, $user });
|
|
@@ -201,5 +210,5 @@ class Login extends SvelteComponentDev {
|
|
|
201
210
|
}
|
|
202
211
|
}
|
|
203
212
|
|
|
204
|
-
export default
|
|
213
|
+
export { Login as default };
|
|
205
214
|
//# sourceMappingURL=Login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Login.js","sources":["../Login.svelte"],"sourcesContent":["<script>\n import { push } from '../src/push.js';\n\n import { user } from './store.js';\n\n function login() {\n $user = \"admin\";\n }\n function logout() {\n $user = null;\n }\n</script>\n\n<div class=\"login\">\n <h1>Login</h1>\n {#if $user === null }\n <button id=\"login\" on:click={login}>login</button>\n {:else }\n current user: { $user } <button id=\"logout\" on:click={logout}>logout</button>\n {/if }\n</div>\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Login.js","sources":["../Login.svelte"],"sourcesContent":["<script>\n import { push } from '../src/push.js';\n\n import { user } from './store.js';\n\n function login() {\n $user = \"admin\";\n }\n function logout() {\n $user = null;\n }\n</script>\n\n<div class=\"login\">\n <h1>Login</h1>\n {#if $user === null }\n <button id=\"login\" on:click={login}>login</button>\n {:else }\n current user: { $user } <button id=\"logout\" on:click={logout}>logout</button>\n {/if }\n</div>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;aAiBU,gBACM,CAAA,CAAA;uBAAE,GAAK,CAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;GAAG,UAAqD,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;;;qDAAvB,GAAM,CAAA,CAAA,CAAA,EAAA,KAAA,EAAA,KAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA;;;;;uDAA5C,GAAK,CAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAFrB,UAAkD,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA;;;oDAArB,GAAK,CAAA,CAAA,CAAA,EAAA,KAAA,EAAA,KAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAD7B,EAAA,cAAA,GAAK,QAAK,IAAI,EAAA,OAAA,eAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;GAFrB,UAOM,CAAA,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;GANJ,UAAc,CAAA,GAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UATL,KAAK,GAAA;AACZ,EAAA,eAAA,CAAA,IAAA,EAAA,KAAK,GAAG,OAAO,EAAA,KAAA,CAAA,CAAA;;;UAER,MAAM,GAAA;AACb,EAAA,eAAA,CAAA,IAAA,EAAA,KAAK,GAAG,IAAI,EAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/example/dist/Query.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { S as SvelteComponentDev, i as init, s as safe_not_equal, d as dispatch_dev, v as validate_store, y as currentURL, c as component_subscribe, a as validate_slots, l as link,
|
|
1
|
+
import { S as SvelteComponentDev, i as init, s as safe_not_equal, d as dispatch_dev, v as validate_store, y as currentURL, c as component_subscribe, a as validate_slots, l as link, b as space, e as element, t as text, h as attr_dev, f as add_location, j as insert_dev, k as append_dev, p as action_destroyer, m as set_data_dev, n as noop, o as detach_dev, z as run_all } from './main2.js';
|
|
2
2
|
|
|
3
|
-
/* Query.svelte generated by Svelte
|
|
3
|
+
/* Query.svelte generated by Svelte v4.2.8 */
|
|
4
4
|
const file = "Query.svelte";
|
|
5
5
|
|
|
6
6
|
function create_fragment(ctx) {
|
|
@@ -72,8 +72,11 @@ function create_fragment(ctx) {
|
|
|
72
72
|
i: noop,
|
|
73
73
|
o: noop,
|
|
74
74
|
d: function destroy(detaching) {
|
|
75
|
-
if (detaching)
|
|
76
|
-
|
|
75
|
+
if (detaching) {
|
|
76
|
+
detach_dev(t0);
|
|
77
|
+
detach_dev(div);
|
|
78
|
+
}
|
|
79
|
+
|
|
77
80
|
mounted = false;
|
|
78
81
|
run_all(dispose);
|
|
79
82
|
}
|
|
@@ -93,20 +96,20 @@ function create_fragment(ctx) {
|
|
|
93
96
|
function instance($$self, $$props, $$invalidate) {
|
|
94
97
|
let name;
|
|
95
98
|
let $currentURL;
|
|
96
|
-
validate_store(currentURL,
|
|
99
|
+
validate_store(currentURL, 'currentURL');
|
|
97
100
|
component_subscribe($$self, currentURL, $$value => $$invalidate(1, $currentURL = $$value));
|
|
98
101
|
let { $$slots: slots = {}, $$scope } = $$props;
|
|
99
|
-
validate_slots(
|
|
102
|
+
validate_slots('Query', slots, []);
|
|
100
103
|
const writable_props = [];
|
|
101
104
|
|
|
102
105
|
Object.keys($$props).forEach(key => {
|
|
103
|
-
if (!~writable_props.indexOf(key) && key.slice(0, 2) !==
|
|
106
|
+
if (!~writable_props.indexOf(key) && key.slice(0, 2) !== '$$' && key !== 'slot') console.warn(`<Query> was created with unknown prop '${key}'`);
|
|
104
107
|
});
|
|
105
108
|
|
|
106
109
|
$$self.$capture_state = () => ({ link, currentURL, name, $currentURL });
|
|
107
110
|
|
|
108
111
|
$$self.$inject_state = $$props => {
|
|
109
|
-
if (
|
|
112
|
+
if ('name' in $$props) $$invalidate(0, name = $$props.name);
|
|
110
113
|
};
|
|
111
114
|
|
|
112
115
|
if ($$props && "$$inject" in $$props) {
|
|
@@ -115,7 +118,7 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
115
118
|
|
|
116
119
|
$$self.$$.update = () => {
|
|
117
120
|
if ($$self.$$.dirty & /*$currentURL*/ 2) {
|
|
118
|
-
$$invalidate(0, name = $currentURL.searchParams.get("name") ||
|
|
121
|
+
$$invalidate(0, name = $currentURL.searchParams.get("name") || 'unknown');
|
|
119
122
|
}
|
|
120
123
|
};
|
|
121
124
|
|
|
@@ -136,5 +139,5 @@ class Query extends SvelteComponentDev {
|
|
|
136
139
|
}
|
|
137
140
|
}
|
|
138
141
|
|
|
139
|
-
export default
|
|
142
|
+
export { Query as default };
|
|
140
143
|
//# sourceMappingURL=Query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Query.js","sources":["../Query.svelte"],"sourcesContent":["<script>\n import { link } from \"../src/link.js\";\n import { currentURL } from \"../src/stores.js\";\n\n $: name = $currentURL.searchParams.get(\"name\") || 'unknown';\n</script>\n<svelte:head>\n <title>query</title>\n</svelte:head>\n<div class=\"query\">\n <p>name: <span id=\"name\">{ name }</span></p>\n <a use:link href=\"/query?name=foo\">foo</a>\n <a use:link href=\"/query?name=bar\">bar</a>\n</div>\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Query.js","sources":["../Query.svelte"],"sourcesContent":["<script>\n import { link } from \"../src/link.js\";\n import { currentURL } from \"../src/stores.js\";\n\n $: name = $currentURL.searchParams.get(\"name\") || 'unknown';\n</script>\n<svelte:head>\n <title>query</title>\n</svelte:head>\n<div class=\"query\">\n <p>name: <span id=\"name\">{ name }</span></p>\n <a use:link href=\"/query?name=foo\">foo</a>\n <a use:link href=\"/query?name=bar\">bar</a>\n</div>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;aAUK,QAAM,CAAA,CAAA;;sBAAkB,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;GADjC,UAIM,CAAA,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,CAAA;GAHJ,UAA4C,CAAA,GAAA,EAAA,CAAA,CAAA,CAAA;;GAAnC,UAA+B,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;;;GACxC,UAA0C,CAAA,GAAA,EAAA,EAAA,CAAA,CAAA;;GAC1C,UAA0C,CAAA,GAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;;;;;qDAFf,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAN9B,YAAA,CAAA,CAAA,EAAE,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAA,IAAK,SAAS,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;"}
|