Skip to content

Commit 7361e5e

Browse files
committed
release 1.2.13
1 parent fb8be8a commit 7361e5e

File tree

3 files changed

+35
-33
lines changed

3 files changed

+35
-33
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@idrinth/react-file-based-routes",
3-
"version": "1.2.12",
3+
"version": "1.2.13",
44
"repository": "https://github.com/idrinth/react-file-based-routes",
55
"description": "A simple file based routing library, that does not force itself on you.",
66
"license": "MIT",

src/jsx-writer.ts

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,7 @@ export default class JsxWriter implements Writer {
1111
add(path: string, url: string, changed: string): void
1212
{
1313
this.items.push(` (() => {
14-
const LazyElement = lazy(async() => {
15-
try {
16-
return await import(
17-
'./pages/${path}/index.tsx',
18-
);
19-
} catch (e) {
20-
if (OfflineLoader && ! window.navigator.onLine) {
21-
return {default: OfflineLoader};
22-
}
23-
if (RefreshLoader) {
24-
window.setTimeout(() => window.location.reload(), ${this.waitReloadMS},);
25-
return {default: RefreshLoader};
26-
}
27-
throw e;
28-
}
29-
},);
14+
const LazyElement = buildLazyElement(OfflineLoader, RefreshLoader, './pages/${path}/index.tsx',);
3015
return {
3116
path: '${url}',
3217
exact: true,
@@ -40,6 +25,20 @@ export default class JsxWriter implements Writer {
4025
' lazy,\n' +
4126
' Suspense,\n' +
4227
'} from \'react\';\n\n' +
28+
'const buildLazyElement = (OfflineLoader, RefreshLoader, path,) => lazy(async() => {\n' +
29+
' try {\n' +
30+
' return await import(path);\n' +
31+
' } catch (e) {\n' +
32+
' if (OfflineLoader && ! window.navigator.onLine) {\n' +
33+
' return {default: OfflineLoader};\n' +
34+
' }\n' +
35+
' if (RefreshLoader) {\n' +
36+
` window.setTimeout(() => window.location.reload(), ${this.waitReloadMS},);\n` +
37+
' return {default: RefreshLoader};\n' +
38+
' }\n' +
39+
' throw e;\n' +
40+
' }\n' +
41+
'},);\n\n' +
4342
'export default (' +
4443
' Loader,' +
4544
' RefreshLoader = undefined,' +

src/tsx-writer.ts

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,7 @@ export default class TsxWriter implements Writer {
1111
add(path: string, url: string, changed: string): void
1212
{
1313
this.items.push(` (() => {
14-
const LazyElement = lazy(async(): Promise\<{default: ComponentType<any>;}\> => {
15-
try {
16-
return await import(
17-
'./pages/${path}/index.tsx',
18-
);
19-
} catch (e) {
20-
if (OfflineLoader && ! window.navigator.onLine) {
21-
return {default: OfflineLoader};
22-
}
23-
if (RefreshLoader) {
24-
window.setTimeout(() => window.location.reload(), ${this.waitReloadMS},);
25-
return {default: RefreshLoader};
26-
}
27-
throw e;
28-
}
29-
},);
14+
const LazyElement = buildLazyElement(OfflineLoader, RefreshLoader, './pages/${path}/index.tsx',);
3015
return {
3116
path: '${url}',
3217
exact: true,
@@ -42,6 +27,24 @@ export default class TsxWriter implements Writer {
4227
' ElementType,\n' +
4328
' ComponentType,\n' +
4429
'} from \'react\';\n\n' +
30+
'const buildLazyElement = (\n' +
31+
' OfflineLoader: ComponentType|undefined,\n' +
32+
' RefreshLoader: ComponentType|undefined,\n' +
33+
' path: string,\n' +
34+
') => lazy(async() => {\n' +
35+
' try {\n' +
36+
' return await import(path);\n' +
37+
' } catch (e) {\n' +
38+
' if (OfflineLoader && ! window.navigator.onLine) {\n' +
39+
' return {default: OfflineLoader};\n' +
40+
' }\n' +
41+
' if (RefreshLoader) {\n' +
42+
` window.setTimeout(() => window.location.reload(), ${this.waitReloadMS},);\n` +
43+
' return {default: RefreshLoader};\n' +
44+
' }\n' +
45+
' throw e;\n' +
46+
' }\n' +
47+
'},);\n\n' +
4548
'export default (\n' +
4649
' Loader: ElementType,\n' +
4750
' RefreshLoader: ComponentType|undefined = undefined,\n' +

0 commit comments

Comments
 (0)