Skip to content
This repository was archived by the owner on Dec 9, 2021. It is now read-only.

Commit 1f14f8c

Browse files
committed
Update types
1 parent 56b19cc commit 1f14f8c

File tree

7 files changed

+37
-14
lines changed

7 files changed

+37
-14
lines changed

Diff for: package.json

+1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
"@types/hapi": "16.1.8",
5151
"@types/inert": "4.2.2",
5252
"@types/node": "8.0.20",
53+
"@types/node-notifier": "0.0.28",
5354
"@types/react": "16.0.2",
5455
"@types/react-dom": "15.5.2",
5556
"@types/react-hot-loader": "3.0.3",

Diff for: src/server/controllers/AssetsController.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
import path from 'path';
2+
import * as Hapi from 'hapi';
3+
import IController from '../../interfaces/IController';
24

3-
class AssetsController {
5+
class AssetsController implements IController{
46

5-
mapRoutes(server) {
7+
public mapRoutes(server: Hapi.Server): void {
68
server.route({
79
method: 'GET',
810
path: '/assets/{file*}',
9-
handler: (request, reply) => {
11+
handler: (request: hapi.Request, reply: hapi.ReplyNoContinue) => {
1012
reply.file(path.resolve(__dirname, `../../public${request.path}`));
1113
},
1214
});

Diff for: src/server/controllers/ReactController.tsx

+7-5
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,18 @@ import ProviderService from '../../services/ProviderService';
77
import rootSaga from '../../store/rootSaga';
88
import ISagaStore from '../../interfaces/ISagaStore';
99
import IStore from '../../interfaces/IStore';
10+
import * as Hapi from 'hapi';
11+
import IController from '../../interfaces/IController';
1012

11-
class ReactController {
13+
class ReactController implements IController {
1214

13-
mapRoutes(server) {
15+
public mapRoutes(server: Hapi.Server): void {
1416
server.route({
1517
method: 'GET',
1618
path: '/{route*}',
17-
handler: async (request, reply) => {
19+
handler: async (request: hapi.Request, reply: hapi.ReplyNoContinue): Promise<void> => {
1820
const store: ISagaStore<IStore> = ProviderService.createProviderStore({}, true);
19-
const context = {};
21+
const context: any = {};
2022
const app = (
2123
<RouterWrapper
2224
store={store}
@@ -36,7 +38,7 @@ class ReactController {
3638
},
3739
};
3840

39-
let html = await fse.readFile(path.resolve(__dirname, '../../public/index.html'), 'utf8');
41+
let html: string = await fse.readFile(path.resolve(__dirname, '../../public/index.html'), 'utf8');
4042
html = html.replace('{title}', state.metaReducer.title);
4143
html = html.replace('{description}', state.metaReducer.description);
4244
html = html.replace('{content}', renderedHtml);

Diff for: src/server/plugin/HapiWebpackHotPlugin.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@ import Webpack from 'webpack';
22
import ServerManager from '../ServerManager';
33
import HapiWebpackPlugin from 'hapi-webpack-plugin';
44
import notifier from 'node-notifier';
5+
import * as Hapi from 'hapi';
56

67
class HapiWebpackHotPlugin {
78

8-
constructor(server) {
9+
constructor(server: Hapi.Server) {
910
const compiler = new Webpack(require('../../../webpack.config.js'));
1011

1112
compiler.plugin('done', (stats) => this._onDone(stats));
@@ -31,7 +32,7 @@ class HapiWebpackHotPlugin {
3132
});
3233
}
3334

34-
_onDone(stats) {
35+
private _onDone(stats): void {
3536
const pkg = require('../../../package.json');
3637
const time = ((stats.endTime - stats.startTime) / 1000).toFixed(2);
3738

Diff for: src/views/Contact.tsx

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import * as React from 'react';
22
import {connect} from 'react-redux';
33
import MetaAction from '../store/meta/MetaAction';
4-
import {Field, reduxForm} from 'redux-form';
4+
import {Field, FormProps, reduxForm} from 'redux-form';
55
import IStore from '../interfaces/IStore';
66
import {Dispatch} from 'redux';
77

@@ -11,7 +11,10 @@ const mapDispatchToProps = (dispatch: Dispatch<any>) => ({
1111
setMeta: (meta) => dispatch(MetaAction.setMeta(meta)),
1212
});
1313

14-
class Contact extends React.Component<any, void> {
14+
interface IContactProps extends FormProp {
15+
}
16+
17+
class Contact extends React.Component<IContactProps, void> {
1518

1619
_handleSubmitHandler = (formData) => this._onFormSubmit(formData);
1720

Diff for: src/views/Home.tsx

+10-2
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,25 @@ import UserAction from '../store/user/UserAction';
44
import MetaAction from '../store/meta/MetaAction';
55
import IStore from '../interfaces/IStore';
66
import {Dispatch} from 'redux';
7+
import IMetaReducerState from '../interfaces/reducers/IMetaReducerState';
8+
import IUserReducerState from '../interfaces/reducers/IUserReducerState';
79

810
const mapStateToProps = (state: IStore) => ({
911
user: state.userReducer,
1012
});
1113

1214
const mapDispatchToProps = (dispatch: Dispatch<any>) => ({
1315
loadUser: () => dispatch(UserAction.loadUser()),
14-
setMeta: (meta) => dispatch(MetaAction.setMeta(meta)),
16+
setMeta: (meta: IMetaReducerState) => dispatch(MetaAction.setMeta(meta)),
1517
});
1618

17-
class Home extends React.Component<any, void> {
19+
interface IHomeProps {
20+
readonly user: IUserReducerState;
21+
loadUser: () => void,
22+
setMeta: (meta: IMetaReducerState) => void,
23+
}
24+
25+
class Home extends React.Component<IHomeProps, void> {
1826

1927
componentWillMount(): void {
2028
this.props.setMeta({

Diff for: yarn.lock

+6
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@
5454
dependencies:
5555
"@types/mime-db" "*"
5656

57+
"@types/node-notifier@0.0.28":
58+
version "0.0.28"
59+
resolved "https://registry.yarnpkg.com/@types/node-notifier/-/node-notifier-0.0.28.tgz#86ba3d3aa8d918352cc3191d88de328b20dc93c1"
60+
dependencies:
61+
"@types/node" "*"
62+
5763
"@types/node@*", "@types/node@8.0.20":
5864
version "8.0.20"
5965
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.20.tgz#65c7375255c24b184c215a5d0b63247c32f01c91"

0 commit comments

Comments
 (0)