Jhernandez has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/385175 )

Change subject: POC: changes over 384985/2
......................................................................

POC: changes over 384985/2

* Status is optional and defaults to 200 on pages without getInitialProps

https://gerrit.wikimedia.org/r/#/c/384985/2

Change-Id: I594fcbad8779e61d4e23bbd0fd538491fe94f068
---
M src/common/pages/about.tsx
M src/common/pages/home.tsx
M src/common/pages/style-guide.tsx
M src/common/pages/summary.tsx
M src/common/pages/wiki.tsx
M src/common/routers/route.ts
M src/common/routers/router.ts
7 files changed, 7 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/marvin refs/changes/75/385175/1

diff --git a/src/common/pages/about.tsx b/src/common/pages/about.tsx
index a65193c..a906239 100644
--- a/src/common/pages/about.tsx
+++ b/src/common/pages/about.tsx
@@ -8,8 +8,6 @@
 // is here for the VERSION usage in componentDidMount
 declare const VERSION: string;
 
-export const status: number = 200;
-
 export interface State {
   subtitle: string;
 }
diff --git a/src/common/pages/home.tsx b/src/common/pages/home.tsx
index d5a594c..c4657fe 100644
--- a/src/common/pages/home.tsx
+++ b/src/common/pages/home.tsx
@@ -13,8 +13,6 @@
 import { PageTitleID } from "../models/page/title";
 import Link from "../components/link";
 
-export const status: number = 200;
-
 export const Component = (): JSX.Element => {
   const testSummaries = [
     {
diff --git a/src/common/pages/style-guide.tsx b/src/common/pages/style-guide.tsx
index cfbb904..6d584af 100644
--- a/src/common/pages/style-guide.tsx
+++ b/src/common/pages/style-guide.tsx
@@ -6,8 +6,6 @@
 import Separator from "../components/separator/separator";
 import Header from "../components/header/header";
 
-export const status: number = 200;
-
 const lorem = `
   Lorem ipsum dolor sit amet consectetur adipisicing elit. Provident quisquam
   facilis ab suscipit quos deleniti similique officia cumque, dignissimos iusto
diff --git a/src/common/pages/summary.tsx b/src/common/pages/summary.tsx
index b80ce7f..f2ef0f1 100644
--- a/src/common/pages/summary.tsx
+++ b/src/common/pages/summary.tsx
@@ -26,7 +26,6 @@
   summary: PageSummaryModel;
 }
 
-export const props: true = true;
 export const getInitialProps = (
   params: Params = {}
 ): Promise<HttpResponse<Props>> =>
diff --git a/src/common/pages/wiki.tsx b/src/common/pages/wiki.tsx
index 86816cf..6703ff2 100644
--- a/src/common/pages/wiki.tsx
+++ b/src/common/pages/wiki.tsx
@@ -30,7 +30,6 @@
   page: PageModel;
 }
 
-export const props: true = true;
 export const getInitialProps = (
   params: Params = {}
 ): Promise<HttpResponse<Props>> =>
diff --git a/src/common/routers/route.ts b/src/common/routers/route.ts
index f59fcbb..728e8b9 100644
--- a/src/common/routers/route.ts
+++ b/src/common/routers/route.ts
@@ -30,10 +30,6 @@
   Props = undefined
 > =
   | {
-      // todo: discriminate on getInitialProps === undefined.
-      //       https://github.com/Microsoft/TypeScript/issues/12600
-      props: true;
-
       /**
        * A function that returns a Promise for the dependencies needed to
        * construct the view component such as a remote resource. This method
@@ -47,12 +43,10 @@
       Component: AnyComponent<Props, any>;
     }
   | {
-      props?: undefined;
-
       getInitialProps?: undefined;
 
       /** The request status if Route.importModule() is successful. */
-      status: number;
+      status?: number;
 
       Component: AnyComponent<undefined, any>;
     };
diff --git a/src/common/routers/router.ts b/src/common/routers/router.ts
index 01a8871..21a172f 100644
--- a/src/common/routers/router.ts
+++ b/src/common/routers/router.ts
@@ -18,19 +18,19 @@
 ): Promise<RouteResponse<Props>> {
   return route.importModule().then(
     module =>
-      module.props
+      module.getInitialProps
         ? module.getInitialProps(params).then(({ data, status }) => ({
             chunkName: route.chunkName,
             status,
-            Component: module.Component,
+            Component: module.Component as AnyComponent<Props, any>,
             props: data
-          }))
+          })) as any
         : {
             chunkName: route.chunkName,
-            status: module.status,
+            status: module.status || 200,
             Component: module.Component,
-            props: {} as Props
-          } as RouteResponse<Props>
+            props: undefined
+          }
   );
 }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/385175
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I594fcbad8779e61d4e23bbd0fd538491fe94f068
Gerrit-PatchSet: 1
Gerrit-Project: marvin
Gerrit-Branch: master
Gerrit-Owner: Jhernandez <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to