# @types/react-resolver

> TypeScript definitions for react-resolver

Latest version **3.1.7** (published 2024-01-02) · MIT license · 0 weekly downloads

## Install

```sh
npm install @types/react-resolver
pnpm add @types/react-resolver
yarn add @types/react-resolver
bun add @types/react-resolver
```

## Health

**Score 45/100 (D)** — status: abandoned.

Positive: has types; no vulnerabilities; high maintenance score; popular repo; extremely popular.

Warnings: low downloads; no esm support.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 3.1.7 |
| Published | 2024-01-02 |
| First published | 2017-12-11 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 51443 |
| Maintainers | types |

## Links

- npm: https://www.npmjs.com/package/@types/react-resolver
- Repository: https://github.com/DefinitelyTyped/DefinitelyTyped
- Homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-resolver
- npm.io page: https://npm.io/package/@types/react-resolver

## Dependencies (1)

- [@types/react](https://npm.io/package/@types/react.md) ^16

## Recent versions

- 3.1.7 (latest) — 2024-01-02
- 3.1.6 (ts4.5) — 2023-11-07
- 3.1.3 (ts3.7) — 2021-10-20
- 3.1.2 (ts2.8) — 2018-08-06
- 3.1.1 (ts2.6) — 2018-02-12
- 3.1.0 (ts2.3) — 2017-12-11
- 3.1.5 — 2023-10-18
- 3.1.4 — 2023-09-27

## README

# Installation
> `npm install --save @types/react-resolver`

# Summary
This package contains type definitions for react-resolver (https://github.com/ericclemmons/react-resolver).

# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-resolver.
## [index.d.ts](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-resolver/index.d.ts)
````ts
import { ComponentType, Factory, FunctionComponent } from "react";

export interface Resolver {
    resolve<P>(
        factory: Factory<P>,
    ): Promise<{
        data: any;
        Resolved: FunctionComponent<P>;
    }>;

    render(factory: Factory<any>, root: Node | null): void;
}

export const Resolver: Resolver;

export type ResolveFn<Props, V> = (props: Props) => Promise<V>;

/** Use this for gaining access to a context as a prop without the boilerplate of setting `contextTypes`. */
export function context<K extends string>(
    prop: K,
): <OwnProps>(
    component: ComponentType<OwnProps>,
) => FunctionComponent<OwnProps & Record<K, any>>;

/**
 * Use `@client(LoaderComponent)` (or `client(LoaderComponent)(YourComponent)`)
 * for when you want to skip server-side rendering of part of your view and
 * perform it only on the client.
 */
export function client(
    loadingComponent: ComponentType<any>,
): <OwnProps>(
    component: ComponentType<OwnProps>,
) => FunctionComponent<OwnProps>;

export function resolve<
    OwnProps,
    K extends string,
    V,
    MoreProps = { [x: string]: any },
>(
    prop: K,
    resolveFn: ResolveFn<OwnProps & MoreProps, V>,
): (
    component: ComponentType<OwnProps & { [C in K]: V }>,
) => FunctionComponent<OwnProps & MoreProps>;

export function resolve<
    OwnProps,
    ResolvableProps = { [x: string]: any },
    MoreProps = { [x: string]: any },
>(
    resolversMap: {
        [K in keyof ResolvableProps]: ResolveFn<
            OwnProps & MoreProps,
            ResolvableProps[K]
        >;
    },
): (
    component: ComponentType<
        OwnProps & { [K in keyof ResolvableProps]?: ResolvableProps[K] }
    >,
) => FunctionComponent<OwnProps & MoreProps>;

````

### Additional Details
 * Last updated: Tue, 02 Jan 2024 21:06:49 GMT
 * Dependencies: [@types/react](https://npmjs.com/package/@types/react)

# Credits
These definitions were written by [forabi](https://github.com/forabi).

---
_Source: https://npm.io/package/@types/react-resolver · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
