|
|
@@ -1,34 +1,21 @@
|
|
|
-// TODO: This file was created by bulk-decaffeinate.
|
|
|
-// Sanity-check the conversion and remove this comment.
|
|
|
-/*
|
|
|
- * decaffeinate suggestions:
|
|
|
- * DS101: Remove unnecessary use of Array.from
|
|
|
- * DS102: Remove unnecessary code created because of implicit returns
|
|
|
- * DS103: Rewrite code to no longer use __guard__, or convert again using --optional-chaining
|
|
|
- * DS206: Consider reworking classes to avoid initClass
|
|
|
- * DS207: Consider shorter variations of null checks
|
|
|
- * Full docs: https://github.com/decaffeinate/decaffeinate/blob/main/docs/suggestions.md
|
|
|
- */
|
|
|
app.Router = class Router extends Events {
|
|
|
- static initClass() {
|
|
|
- this.routes = [
|
|
|
- ["*", "before"],
|
|
|
- ["/", "root"],
|
|
|
- ["/settings", "settings"],
|
|
|
- ["/offline", "offline"],
|
|
|
- ["/about", "about"],
|
|
|
- ["/news", "news"],
|
|
|
- ["/help", "help"],
|
|
|
- ["/:doc-:type/", "type"],
|
|
|
- ["/:doc/", "doc"],
|
|
|
- ["/:doc/:path(*)", "entry"],
|
|
|
- ["*", "notFound"],
|
|
|
- ];
|
|
|
- }
|
|
|
+ static routes = [
|
|
|
+ ["*", "before"],
|
|
|
+ ["/", "root"],
|
|
|
+ ["/settings", "settings"],
|
|
|
+ ["/offline", "offline"],
|
|
|
+ ["/about", "about"],
|
|
|
+ ["/news", "news"],
|
|
|
+ ["/help", "help"],
|
|
|
+ ["/:doc-:type/", "type"],
|
|
|
+ ["/:doc/", "doc"],
|
|
|
+ ["/:doc/:path(*)", "entry"],
|
|
|
+ ["*", "notFound"],
|
|
|
+ ];
|
|
|
|
|
|
constructor() {
|
|
|
super();
|
|
|
- for (var [path, method] of Array.from(this.constructor.routes)) {
|
|
|
+ for (var [path, method] of this.constructor.routes) {
|
|
|
page(path, this[method].bind(this));
|
|
|
}
|
|
|
this.setInitialPath();
|
|
|
@@ -78,13 +65,11 @@ app.Router = class Router extends Events {
|
|
|
}
|
|
|
|
|
|
type(context, next) {
|
|
|
- let type;
|
|
|
const doc = app.docs.findBySlug(context.params.doc);
|
|
|
+ const type =
|
|
|
+ doc != null ? doc.types.findBy("slug", context.params.type) : undefined;
|
|
|
|
|
|
- if (
|
|
|
- (type =
|
|
|
- doc != null ? doc.types.findBy("slug", context.params.type) : undefined)
|
|
|
- ) {
|
|
|
+ if (type) {
|
|
|
context.doc = doc;
|
|
|
context.type = type;
|
|
|
this.triggerRoute("type");
|
|
|
@@ -174,18 +159,13 @@ app.Router = class Router extends Events {
|
|
|
|
|
|
isIndex() {
|
|
|
return (
|
|
|
- (this.context != null ? this.context.path : undefined) === "/" ||
|
|
|
- (app.isSingleDoc() &&
|
|
|
- __guard__(this.context != null ? this.context.entry : undefined, (x) =>
|
|
|
- x.isIndex(),
|
|
|
- ))
|
|
|
+ this.context?.path === "/" ||
|
|
|
+ (app.isSingleDoc() && this.context?.entry?.isIndex())
|
|
|
);
|
|
|
}
|
|
|
|
|
|
isSettings() {
|
|
|
- return (
|
|
|
- (this.context != null ? this.context.path : undefined) === "/settings"
|
|
|
- );
|
|
|
+ return this.context?.path === "/settings";
|
|
|
}
|
|
|
|
|
|
setInitialPath() {
|
|
|
@@ -208,10 +188,7 @@ app.Router = class Router extends Events {
|
|
|
|
|
|
getInitialPathFromHash() {
|
|
|
try {
|
|
|
- return __guard__(
|
|
|
- new RegExp("#/(.+)").exec(decodeURIComponent(location.hash)),
|
|
|
- (x) => x[1],
|
|
|
- );
|
|
|
+ return new RegExp("#/(.+)").exec(decodeURIComponent(location.hash))?.[1];
|
|
|
} catch (error) {}
|
|
|
}
|
|
|
|
|
|
@@ -231,10 +208,3 @@ app.Router = class Router extends Events {
|
|
|
);
|
|
|
}
|
|
|
};
|
|
|
-app.Router.initClass();
|
|
|
-
|
|
|
-function __guard__(value, transform) {
|
|
|
- return typeof value !== "undefined" && value !== null
|
|
|
- ? transform(value)
|
|
|
- : undefined;
|
|
|
-}
|