Skip to content

Commit

Permalink
Add some type definitions
Browse files Browse the repository at this point in the history
  • Loading branch information
hwwi committed Jul 11, 2019
1 parent 9ab837d commit c1e380a
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 4 deletions.
35 changes: 31 additions & 4 deletions types/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,10 +129,7 @@ declare module 'found' {
* since we use it for routerShape below.
*/
class Matcher {
constructor(
routeConfig: RouteConfig,
options: { matchStemRoutes: boolean },
);
constructor(routeConfig: RouteConfig);
match(
location: Location,
): null | { routeIndices: number[]; routeParams: Params; params: Params };
Expand Down Expand Up @@ -463,4 +460,34 @@ declare module 'found' {
function createBrowserRouter(
options: CreateBrowserRouterArgs,
): BrowserRouter;

interface CreateInitialFarceRouterArgs
extends Omit<FarceCreateRouterArgs, 'store'> {
resolver: Resolver;
matchContext?: any;
}

function createInitialFarceRouter({
historyProtocol,
historyMiddlewares,
historyOptions,
routeConfig,
matchContext,
resolver,
...options
}: CreateInitialFarceRouterArgs): ConnectedRouter;

interface GetStoreRenderArgsArgs {
store: Store;
getFound?: (store: any) => FoundState;
matchContext: any;
resolver: Resolver;
}

interface RenderArgs {
router: Router;
element?: React.ComponentType;
error?: Error;
}
function getStoreRenderArgs(args: GetStoreRenderArgsArgs): RenderArgs;
}
6 changes: 6 additions & 0 deletions types/server/RouterProvider.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
declare module 'found/lib/RouterProvider' {
import { RouterProvider, RouterProviderProps } from 'found/lib/server';

export default RouterProvider;
export { RouterProviderProps };
}
6 changes: 6 additions & 0 deletions types/server/getFarceResult.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
declare module 'found/lib/getFarceResult' {
import { getFarceResult, GetFarceResultArgs } from 'found/lib/server';

export default getFarceResult;
export { GetFarceResultArgs };
}
33 changes: 33 additions & 0 deletions types/server/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
declare module 'found/lib/server' {
import * as React from 'react';
import { FarceCreateRouterArgs, Resolver, RenderArgs } from 'found';

interface GetFarceResultArgs
extends Pick<
FarceCreateRouterArgs,
'historyMiddlewares' | 'historyOptions' | 'routeConfig' | 'render'
> {
url: string;
resolver: Resolver;
matchContext?: any;
}

function getFarceResult(
args: GetFarceResultArgs,
): {
status: number;
element: React.ComponentType;
redirect: {
url: string;
};
};

interface RouterProviderProps {
renderArgs: RenderArgs;
matchContext?: any;
}

const RouterProvider: React.FunctionComponent<
React.PropsWithChildren<RouterProviderProps>
>;
}

0 comments on commit c1e380a

Please sign in to comment.