react-fast-hoc
Advanced tools
Comparing version
# react-fast-hoc | ||
## 0.1.1 | ||
### Patch Changes | ||
- 65ea788: Fixed types, changed docs. Hotscript moved to dev deps | ||
## 0.1.0 | ||
@@ -4,0 +10,0 @@ |
@@ -1,4 +0,3 @@ | ||
import type { Booleans, Fn, Pipe } from "hotscript"; | ||
import type { Booleans, Fn, Objects, Pipe } from "hotscript"; | ||
import { ComponentPropsWithRef, ElementType, ForwardRefExoticComponent, FunctionComponent, MemoExoticComponent, type ComponentType, type ReactNode } from "react"; | ||
import type { HotscriptObjects } from "./hotscriptsTypes"; | ||
type PropsBase = Record<string | number | symbol, unknown>; | ||
@@ -72,5 +71,6 @@ /** | ||
export type TransformPropsReturn<TComponent extends React.ComponentType<any>, TNewProps extends PropsBase> = WrappedComponent<[ | ||
HotscriptObjects.OmitBy<Booleans.Not<never>>, | ||
HotscriptObjects.Assign<TNewProps> | ||
Objects.OmitBy<Booleans.Not<never>>, | ||
Objects.Assign<TNewProps> | ||
], any, TComponent>; | ||
export type TransformProps = <TComponent extends React.ComponentType<any>, TNewProps extends PropsBase = ComponentPropsWithRef<TComponent>, TPreviousProps extends ComponentPropsWithRef<TComponent> = ComponentPropsWithRef<TComponent>>(Component: TComponent, transformer: (props: TNewProps) => TPreviousProps, options?: CreateHocComponentOptions) => TransformPropsReturn<TComponent, TNewProps>; | ||
/** | ||
@@ -86,4 +86,4 @@ * transformProps is a function that takes a component, a props transformer function, and an | ||
*/ | ||
export declare const transformProps: <TComponent extends ComponentType<any>, TNewProps extends PropsBase = ComponentPropsWithRef<TComponent>, TPreviousProps extends ComponentPropsWithRef<TComponent> = ComponentPropsWithRef<TComponent>>(Component: TComponent, transformer: (props: TNewProps) => TPreviousProps, options?: CreateHocComponentOptions) => ChangeComponentProps<TComponent, (import("hotscript/dist/internals/helpers").IsNever<import("hotscript/dist/internals/helpers").IsNever<TNewProps> extends true ? never : [TNewProps] extends ["@hotscript/unset"] ? "@hotscript/placeholder" : TNewProps> extends true ? [import("hotscript/dist/internals/helpers").IsNever<TNewProps> extends true ? never : [TNewProps] extends ["@hotscript/unset"] ? "@hotscript/placeholder" : TNewProps, HotscriptObjects.OmitByImpl<TComponent extends ElementType<any> ? ComponentPropsWithRef<TComponent> : never, Booleans.Not<never>>] : [import("hotscript/dist/internals/helpers").IsNever<TNewProps> extends true ? never : [TNewProps] extends ["@hotscript/unset"] ? "@hotscript/placeholder" : TNewProps] extends ["@hotscript/placeholder"] ? [HotscriptObjects.OmitByImpl<TComponent extends ElementType<any> ? ComponentPropsWithRef<TComponent> : never, Booleans.Not<never>>] : [import("hotscript/dist/internals/helpers").IsNever<TNewProps> extends true ? never : [TNewProps] extends ["@hotscript/unset"] ? "@hotscript/placeholder" : TNewProps, HotscriptObjects.OmitByImpl<TComponent extends ElementType<any> ? ComponentPropsWithRef<TComponent> : never, Booleans.Not<never>>]) extends infer args extends unknown[] ? import("hotscript/dist/internals/helpers").UnionToIntersection<(args extends infer args_1 extends unknown[] ? args_1 : never)[number]> extends infer T ? { [K in keyof T]: import("hotscript/dist/internals/helpers").UnionToIntersection<(args extends infer args_1 extends unknown[] ? args_1 : never)[number]>[K]; } : never : never>; | ||
export declare const transformProps: TransformProps; | ||
export {}; | ||
//# sourceMappingURL=index.d.ts.map |
{ | ||
"name": "react-fast-hoc", | ||
"license": "MIT", | ||
"version": "0.1.0", | ||
"version": "0.1.1", | ||
"sideEffects": false, | ||
@@ -32,2 +32,3 @@ "publishConfig": { | ||
"cpx": "^1.5.0", | ||
"hotscript": "^1.0.12", | ||
"jsdom": "^21.1.1", | ||
@@ -43,3 +44,3 @@ "nanobundle": "^1.6.0", | ||
"peerDependencies": { | ||
"hotscript": "^1.0.11", | ||
"hotscript": "^1.0.12", | ||
"react": ">=17" | ||
@@ -46,0 +47,0 @@ }, |
@@ -20,18 +20,27 @@ # React Fast HOC | ||
pnpm: | ||
```sh | ||
# hotscript is a peer dependency | ||
pnpm i react-fast-hoc | ||
``` | ||
npm i react-fast-hoc && npm i -D hotscript | ||
# or | ||
yarn add react-fast-hoc && yarn add -D hotscript | ||
# or | ||
pnpm i react-fast-hoc && pnpm i -D hotscript | ||
npm: | ||
```sh | ||
npm i react-fast-hoc | ||
``` | ||
yarn: | ||
```sh | ||
yarn add react-fast-hoc | ||
``` | ||
Or with [ni](https://www.npmjs.com/package/@antfu/ni): | ||
```sh | ||
ni react-fast-hoc && ni -D hotscript | ||
ni react-fast-hoc | ||
``` | ||
Install the `hotscript` for advanced usage: | ||
```sh | ||
ni -D hotscript | ||
``` | ||
## Usage | ||
@@ -38,0 +47,0 @@ |
@@ -1,2 +0,2 @@ | ||
import type { Booleans, Fn, Pipe } from "hotscript"; | ||
import type { Booleans, Fn, Objects, Pipe } from "hotscript"; | ||
import { | ||
@@ -12,3 +12,2 @@ ComponentPropsWithRef, | ||
import type { HotscriptObjects } from "./hotscriptsTypes"; | ||
import { | ||
@@ -182,10 +181,15 @@ HocTransformer, | ||
> = WrappedComponent< | ||
[ | ||
HotscriptObjects.OmitBy<Booleans.Not<never>>, | ||
HotscriptObjects.Assign<TNewProps> | ||
], | ||
[Objects.OmitBy<Booleans.Not<never>>, Objects.Assign<TNewProps>], | ||
any, | ||
TComponent | ||
>; | ||
export type TransformProps = < | ||
TComponent extends React.ComponentType<any>, | ||
TNewProps extends PropsBase = ComponentPropsWithRef<TComponent>, | ||
TPreviousProps extends ComponentPropsWithRef<TComponent> = ComponentPropsWithRef<TComponent> | ||
>( | ||
Component: TComponent, | ||
transformer: (props: TNewProps) => TPreviousProps, | ||
options?: CreateHocComponentOptions | ||
) => TransformPropsReturn<TComponent, TNewProps>; | ||
/** | ||
@@ -201,3 +205,3 @@ * transformProps is a function that takes a component, a props transformer function, and an | ||
*/ | ||
export const transformProps = < | ||
export const transformProps: TransformProps = < | ||
TComponent extends React.ComponentType<any>, | ||
@@ -210,3 +214,3 @@ TNewProps extends PropsBase = ComponentPropsWithRef<TComponent>, | ||
options?: CreateHocComponentOptions | ||
) => | ||
): TransformPropsReturn<TComponent, TNewProps> => | ||
createTransformProps( | ||
@@ -213,0 +217,0 @@ // @ts-expect-error |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
112
8.74%92215
-5.75%13
8.33%21
-12.5%1107
-9.11%