0.1.2 #3
@@ -370,21 +370,21 @@ export const memo = <T extends Component<any, any, any>>(
|
||||
Object.getPrototypeOf(self),
|
||||
)
|
||||
|
||||
export const memoWithEquivalence: {
|
||||
export const memoWithOptions: {
|
||||
<T extends Component<any, any, any>>(
|
||||
propsAreEqual: Equivalence.Equivalence<Component.Props<T>>
|
||||
memoOptions: Partial<Memoized.Options<Component.Props<T>>>
|
||||
): (
|
||||
self: ExcludeKeys<T, keyof Memoized<Component.Props<T>>>
|
||||
) => T & Memoized<Component.Props<T>>
|
||||
<T extends Component<any, any, any>>(
|
||||
self: ExcludeKeys<T, keyof Memoized<Component.Props<T>>>,
|
||||
propsAreEqual: Equivalence.Equivalence<Component.Props<T>>,
|
||||
memoOptions: Partial<Memoized.Options<Component.Props<T>>>,
|
||||
): T & Memoized<Component.Props<T>>
|
||||
} = Function.dual(2, <T extends Component<any, any, any>>(
|
||||
self: ExcludeKeys<T, keyof Memoized<Component.Props<T>>>,
|
||||
propsAreEqual: Equivalence.Equivalence<Component.Props<T>>,
|
||||
memoOptions: Partial<Memoized.Options<Component.Props<T>>>,
|
||||
): T & Memoized<Component.Props<T>> => Object.setPrototypeOf(
|
||||
{ ...self, memo: true, memoOptions: { propsAreEqual } },
|
||||
{ ...self, memo: true, memoOptions },
|
||||
Object.getPrototypeOf(self),
|
||||
))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user