Fix issues of react-router occurring on tsc 1.4.1

This commit is contained in:
Yuichi Murata
2015-07-12 22:41:49 +09:00
parent 2d6ddd55ba
commit 896b1b56d2
5 changed files with 121 additions and 8 deletions
+6
View File
@@ -0,0 +1,6 @@
///<reference path='../../react/legacy/react-0.12.d.ts' />
declare module 'react-0.12' {
var exports: React.Exports;
export = exports;
}
@@ -1,8 +1,9 @@
///<reference path='react-router-0.12-test.d.ts' />
///<reference path="react-router-0.12.d.ts" />
"use strict";
import React = require('react');
import Router = require('react-router');
import React = require('react-0.12');
import Router = ReactRouter;
// Mixin
class NavigationTest<T extends Router.Navigation> {
+1 -2
View File
@@ -227,8 +227,7 @@ declare module ReactRouter {
}
declare module 'react-router' {
import Export = ReactRouter;
export = Export;
export = ReactRouter;
}
declare module React {
+29
View File
@@ -2,6 +2,7 @@
"use strict";
import React = require('react');
import ReactAddons = require('react/addons');
import Router = require('react-router');
// Mixin
@@ -128,6 +129,9 @@ class DefaultRouteTest {
var Handler: React.ComponentClass<any>;
React.createElement(Router.DefaultRoute, null);
React.createElement(Router.DefaultRoute, {name: 'name', handler: Handler});
ReactAddons.createElement(Router.DefaultRoute, null);
ReactAddons.createElement(Router.DefaultRoute, {name: 'name', handler: Handler});
}
}
@@ -165,6 +169,16 @@ class LinkTest {
query: {},
onClick: () => console.log(1)
});
ReactAddons.createElement(Router.Link, null);
ReactAddons.createElement(Router.Link, {to: 'home'});
ReactAddons.createElement(Router.Link, {
activeClassName: 'name',
to: 'home',
params: {},
query: {},
onClick: () => console.log(1)
});
}
}
@@ -181,6 +195,10 @@ class NotFoundRouteTest {
React.createElement(Router.NotFoundRoute, null);
React.createElement(Router.NotFoundRoute, {handler: Handler});
React.createElement(Router.NotFoundRoute, {handler: Handler, name: "home"});
ReactAddons.createElement(Router.NotFoundRoute, null);
ReactAddons.createElement(Router.NotFoundRoute, {handler: Handler});
ReactAddons.createElement(Router.NotFoundRoute, {handler: Handler, name: "home"});
}
}
@@ -197,6 +215,10 @@ class RedirectTest {
React.createElement(Router.Redirect, null);
React.createElement(Router.Redirect, {});
React.createElement(Router.Redirect, {path: 'a', from: 'a', to: 'b'});
ReactAddons.createElement(Router.Redirect, null);
ReactAddons.createElement(Router.Redirect, {});
ReactAddons.createElement(Router.Redirect, {path: 'a', from: 'a', to: 'b'});
}
}
@@ -215,6 +237,10 @@ class RouteTest {
React.createElement(Router.Route, null);
React.createElement(Router.Route, {});
React.createElement(Router.Route, {name: "home", path: "/", handler: Handler, ignoreScrollBehavior: true});
ReactAddons.createElement(Router.Route, null);
ReactAddons.createElement(Router.Route, {});
ReactAddons.createElement(Router.Route, {name: "home", path: "/", handler: Handler, ignoreScrollBehavior: true});
}
}
@@ -224,6 +250,9 @@ class RouteHandlerTest {
createElement() {
React.createElement(Router.RouteHandler, null);
React.createElement(Router.RouteHandler, {});
ReactAddons.createElement(Router.RouteHandler, null);
ReactAddons.createElement(Router.RouteHandler, {});
}
}
+82 -4
View File
@@ -4,11 +4,9 @@
// Definitions: https://github.com/borisyankov/DefinitelyTyped
///<reference path='../react/react.d.ts' />
///<reference path='../react/react-addons.d.ts' />
declare module "react-router" {
import React = require("react");
declare module ReactRouter {
//
// Transition
// ----------------------------------------------------------------------
@@ -273,3 +271,83 @@ declare module "react-router" {
isActive(to: string, params?: {}, query?: {}): boolean;
}
}
declare module "react-router" {
export = ReactRouter;
}
declare module React {
// for DefaultRoute
function createElement(
type: ReactRouter.DefaultRouteClass,
props: ReactRouter.DefaultRouteProp,
...children: React.ReactNode[]): ReactRouter.DefaultRoute;
// for Link
function createElement(
type: ReactRouter.LinkClass,
props: ReactRouter.LinkProp,
...children: React.ReactNode[]): ReactRouter.Link;
// for NotFoundRoute
function createElement(
type: ReactRouter.NotFoundRouteClass,
props: ReactRouter.NotFoundRouteProp,
...children: React.ReactNode[]): ReactRouter.NotFoundRoute;
// for Redirect
function createElement(
type: ReactRouter.RedirectClass,
props: ReactRouter.RedirectProp,
...children: React.ReactNode[]): ReactRouter.Redirect;
// for Route
function createElement(
type: ReactRouter.RouteClass,
props: ReactRouter.RouteProp,
...children: React.ReactNode[]): ReactRouter.Route;
// for RouteHandler
function createElement(
type: ReactRouter.RouteHandlerClass,
props: ReactRouter.RouteHandlerProp,
...children: React.ReactNode[]): ReactRouter.RouteHandler;
}
declare module "react/addons" {
// for DefaultRoute
function createElement(
type: ReactRouter.DefaultRouteClass,
props: ReactRouter.DefaultRouteProp,
...children: React.ReactNode[]): ReactRouter.DefaultRoute;
// for Link
function createElement(
type: ReactRouter.LinkClass,
props: ReactRouter.LinkProp,
...children: React.ReactNode[]): ReactRouter.Link;
// for NotFoundRoute
function createElement(
type: ReactRouter.NotFoundRouteClass,
props: ReactRouter.NotFoundRouteProp,
...children: React.ReactNode[]): ReactRouter.NotFoundRoute;
// for Redirect
function createElement(
type: ReactRouter.RedirectClass,
props: ReactRouter.RedirectProp,
...children: React.ReactNode[]): ReactRouter.Redirect;
// for Route
function createElement(
type: ReactRouter.RouteClass,
props: ReactRouter.RouteProp,
...children: React.ReactNode[]): ReactRouter.Route;
// for RouteHandler
function createElement(
type: ReactRouter.RouteHandlerClass,
props: ReactRouter.RouteHandlerProp,
...children: React.ReactNode[]): ReactRouter.RouteHandler;
}