@types/react-reconciler
Advanced tools
Comparing version 0.26.7 to 0.28.0
@@ -1,5 +0,6 @@ | ||
// Type definitions for react-reconciler 0.26 | ||
// Type definitions for react-reconciler 0.28 | ||
// Project: https://reactjs.org/ | ||
// Definitions by: Nathan Bierema <https://github.com/Methuselah96> | ||
// Zhang Haocong <https://github.com/zhanghaocong> | ||
// Mathieu Dutour <https://github.com/mathieudutour> | ||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped | ||
@@ -23,3 +24,3 @@ // TypeScript Version: 2.8 | ||
TimeoutHandle, | ||
NoTimeout | ||
NoTimeout, | ||
>( | ||
@@ -43,9 +44,3 @@ config: ReactReconciler.HostConfig< | ||
>, | ||
): ReactReconciler.Reconciler< | ||
Container, | ||
Instance, | ||
TextInstance, | ||
SuspenseInstance, | ||
PublicInstance | ||
>; | ||
): ReactReconciler.Reconciler<Container, Instance, TextInstance, SuspenseInstance, PublicInstance>; | ||
@@ -64,5 +59,5 @@ declare namespace ReactReconciler { | ||
UpdatePayload, | ||
_ChildSet, // TODO Placeholder for undocumented API | ||
ChildSet, | ||
TimeoutHandle, | ||
NoTimeout | ||
NoTimeout, | ||
> { | ||
@@ -86,2 +81,6 @@ // ------------------- | ||
* ``` | ||
* | ||
* Depending on the mode, the reconciler will call different methods on your host config. | ||
* | ||
* If you're not sure which one you want, you likely need the mutation mode. | ||
*/ | ||
@@ -93,2 +92,5 @@ // tslint:enable:max-line-length | ||
/** | ||
* | ||
* The reconciler has two modes: mutation mode and persistent mode. You must specify one of them. | ||
* | ||
* If your target platform has immutable trees, you'll want the **persistent mode** instead. In that mode, existing nodes are never mutated, and instead every change clones the parent tree and then replaces the whole parent tree at the root. This is the node used by the new React Native renderer, codenamed "Fabric". | ||
@@ -264,7 +266,2 @@ * | ||
/** | ||
* You can proxy this to `performance.now()` or its equivalent in your environment. | ||
*/ | ||
now(): number; | ||
/** | ||
* You can proxy this to `setTimeout` or its equivalent in your environment. | ||
@@ -286,2 +283,14 @@ */ | ||
/** | ||
* Set this to `true` to indicate that your renderer supports `scheduleMicrotask`. We use microtasks as part of our discrete event implementation in React DOM. If you're not sure if your renderer should support this, you probably should. The option to not implement `scheduleMicrotask` exists so that platforms with more control over user events, like React Native, can choose to use a different mechanism. | ||
*/ | ||
// tslint:enable:max-line-length | ||
supportsMicrotask?: boolean; | ||
/** | ||
* Optional. You can proxy this to `queueMicrotask` or its equivalent in your environment. | ||
*/ | ||
scheduleMicrotask?(fn: () => unknown): void; | ||
// tslint:disable:max-line-length | ||
/** | ||
* This is a property (not a function) that should be set to `true` if your renderer is the main one on the page. For example, if you're writing a renderer for the Terminal, it makes sense to set it to `true`, but if your renderer is used *on top of* React DOM or some other existing renderer, set it to `false`. | ||
@@ -292,2 +301,54 @@ */ | ||
/** | ||
* Whether the renderer shouldn't trigger missing `act()` warnings | ||
*/ | ||
warnsIfNotActing?: boolean; | ||
// tslint:disable:max-line-length | ||
/** | ||
* To implement this method, you'll need some constants available on the special `react-reconciler/constants` entry point: | ||
* | ||
* ``` | ||
* import { | ||
* DiscreteEventPriority, | ||
* ContinuousEventPriority, | ||
* DefaultEventPriority, | ||
* } from 'react-reconciler/constants'; | ||
* | ||
* const HostConfig = { | ||
* // ... | ||
* getCurrentEventPriority() { | ||
* return DefaultEventPriority; | ||
* }, | ||
* // ... | ||
* } | ||
* | ||
* const MyRenderer = Reconciler(HostConfig); | ||
* ``` | ||
* | ||
* The constant you return depends on which event, if any, is being handled right now. (In the browser, you can check this using `window.event && window.event.type`). | ||
* | ||
* - **Discrete events**: If the active event is directly caused by the user (such as mouse and keyboard events) and each event in a sequence is intentional (e.g. click), return DiscreteEventPriority. This tells React that they should interrupt any background work and cannot be batched across time. | ||
* | ||
* - **Continuous events**: If the active event is directly caused by the user but the user can't distinguish between individual events in a sequence (e.g. mouseover), return ContinuousEventPriority. This tells React they should interrupt any background work but can be batched across time. | ||
* | ||
* - **Other events / No active event**: In all other cases, return DefaultEventPriority. This tells React that this event is considered background work, and interactive events will be prioritized over it. | ||
* | ||
* You can consult the `getCurrentEventPriority()` implementation in `ReactDOMHostConfig.js` for a reference implementation. | ||
*/ | ||
// tslint:enable:max-line-length | ||
getCurrentEventPriority(): Lane; | ||
getInstanceFromNode(node: any): Fiber | null | undefined; | ||
beforeActiveInstanceBlur(): void; | ||
afterActiveInstanceBlur(): void; | ||
prepareScopeUpdate(scopeInstance: any, instance: any): void; | ||
getInstanceFromScope(scopeInstance: any): null | Instance; | ||
detachDeletedInstance(node: Instance): void; | ||
// ------------------- | ||
@@ -322,3 +383,7 @@ // Mutation Methods | ||
// tslint:enable:max-line-length | ||
insertBefore?(parentInstance: Instance, child: Instance | TextInstance, beforeChild: Instance | TextInstance | SuspenseInstance): void; | ||
insertBefore?( | ||
parentInstance: Instance, | ||
child: Instance | TextInstance, | ||
beforeChild: Instance | TextInstance | SuspenseInstance, | ||
): void; | ||
@@ -381,8 +446,3 @@ // tslint:disable:max-line-length | ||
// tslint:enable:max-line-length | ||
commitMount?( | ||
instance: Instance, | ||
type: Type, | ||
props: Props, | ||
internalInstanceHandle: OpaqueHandle, | ||
): void; | ||
commitMount?(instance: Instance, type: Type, props: Props, internalInstanceHandle: OpaqueHandle): void; | ||
@@ -439,10 +499,23 @@ // tslint:disable:max-line-length | ||
// tslint:enable:max-line-length | ||
cloneInstance?: any; | ||
cloneFundamentalInstance?: any; | ||
createContainerChildSet?: any; | ||
appendChildToContainerChildSet?: any; | ||
finalizeContainerChildren?: any; | ||
replaceContainerChildren?: any; | ||
cloneHiddenInstance?: any; | ||
cloneHiddenTextInstance?: any; | ||
cloneInstance?( | ||
instance: Instance, | ||
updatePayload: UpdatePayload, | ||
type: Type, | ||
oldProps: Props, | ||
newProps: Props, | ||
internalInstanceHandle: OpaqueHandle, | ||
keepChildren: boolean, | ||
recyclableInstance: null | Instance, | ||
): Instance; | ||
createContainerChildSet?(container: Container): ChildSet; | ||
appendChildToContainerChildSet?(childSet: ChildSet, child: Instance | TextInstance): void; | ||
finalizeContainerChildren?(container: Container, newChildren: ChildSet): void; | ||
replaceContainerChildren?(container: Container, newChildren: ChildSet): void; | ||
cloneHiddenInstance?( | ||
instance: Instance, | ||
type: Type, | ||
props: Props, | ||
internalInstanceHandle: OpaqueHandle, | ||
): Instance; | ||
cloneHiddenTextInstance?(instance: Instance, text: Type, internalInstanceHandle: OpaqueHandle): TextInstance; | ||
@@ -460,16 +533,7 @@ // tslint:disable:max-line-length | ||
canHydrateInstance?( | ||
instance: HydratableInstance, | ||
type: Type, | ||
props: Props, | ||
): null | Instance; | ||
canHydrateInstance?(instance: HydratableInstance, type: Type, props: Props): null | Instance; | ||
canHydrateTextInstance?( | ||
instance: HydratableInstance, | ||
text: string, | ||
): null | TextInstance; | ||
canHydrateTextInstance?(instance: HydratableInstance, text: string): null | TextInstance; | ||
canHydrateSuspenseInstance?( | ||
instance: HydratableInstance, | ||
): null | SuspenseInstance; | ||
canHydrateSuspenseInstance?(instance: HydratableInstance): null | SuspenseInstance; | ||
@@ -480,14 +544,7 @@ isSuspenseInstancePending?(instance: SuspenseInstance): boolean; | ||
registerSuspenseInstanceRetry?( | ||
instance: SuspenseInstance, | ||
callback: () => void, | ||
): void; | ||
registerSuspenseInstanceRetry?(instance: SuspenseInstance, callback: () => void): void; | ||
getNextHydratableSibling?( | ||
instance: HydratableInstance, | ||
): null | HydratableInstance; | ||
getNextHydratableSibling?(instance: HydratableInstance): null | HydratableInstance; | ||
getFirstHydratableChild?( | ||
parentInstance: Container | Instance, | ||
): null | HydratableInstance; | ||
getFirstHydratableChild?(parentInstance: Container | Instance): null | HydratableInstance; | ||
@@ -503,16 +560,7 @@ hydrateInstance?( | ||
hydrateTextInstance?( | ||
textInstance: TextInstance, | ||
text: string, | ||
internalInstanceHandle: any, | ||
): boolean; | ||
hydrateTextInstance?(textInstance: TextInstance, text: string, internalInstanceHandle: any): boolean; | ||
hydrateSuspenseInstance?( | ||
suspenseInstance: SuspenseInstance, | ||
internalInstanceHandle: any, | ||
): void; | ||
hydrateSuspenseInstance?(suspenseInstance: SuspenseInstance, internalInstanceHandle: any): void; | ||
getNextHydratableInstanceAfterSuspenseInstance?( | ||
suspenseInstance: SuspenseInstance, | ||
): null | HydratableInstance; | ||
getNextHydratableInstanceAfterSuspenseInstance?(suspenseInstance: SuspenseInstance): null | HydratableInstance; | ||
@@ -522,11 +570,7 @@ // Returns the SuspenseInstance if this node is a direct child of a | ||
// SUSPENSE_x_START_DATA. Otherwise, null. | ||
getParentSuspenseInstance?( | ||
targetInstance: any, | ||
): null | SuspenseInstance; | ||
getParentSuspenseInstance?(targetInstance: any): null | SuspenseInstance; | ||
commitHydratedContainer?(container: Container): void; | ||
commitHydratedSuspenseInstance?( | ||
suspenseInstance: SuspenseInstance, | ||
): void; | ||
commitHydratedSuspenseInstance?(suspenseInstance: SuspenseInstance): void; | ||
@@ -547,6 +591,3 @@ didNotMatchHydratedContainerTextInstance?( | ||
didNotHydrateContainerInstance?( | ||
parentContainer: Container, | ||
instance: HydratableInstance, | ||
): void; | ||
didNotHydrateContainerInstance?(parentContainer: Container, instance: HydratableInstance): void; | ||
@@ -560,16 +601,7 @@ didNotHydrateInstance?( | ||
didNotFindHydratableContainerInstance?( | ||
parentContainer: Container, | ||
type: Type, | ||
props: Props, | ||
): void; | ||
didNotFindHydratableContainerInstance?(parentContainer: Container, type: Type, props: Props): void; | ||
didNotFindHydratableContainerTextInstance?( | ||
parentContainer: Container, | ||
text: string, | ||
): void; | ||
didNotFindHydratableContainerTextInstance?(parentContainer: Container, text: string): void; | ||
didNotFindHydratableContainerSuspenseInstance?( | ||
parentContainer: Container, | ||
): void; | ||
didNotFindHydratableContainerSuspenseInstance?(parentContainer: Container): void; | ||
@@ -591,7 +623,5 @@ didNotFindHydratableInstance?( | ||
didNotFindHydratableSuspenseInstance?( | ||
parentType: Type, | ||
parentProps: Props, | ||
parentInstance: Instance, | ||
): void; | ||
didNotFindHydratableSuspenseInstance?(parentType: Type, parentProps: Props, parentInstance: Instance): void; | ||
errorHydratingContainer?(parentContainer: Container): void; | ||
} | ||
@@ -633,17 +663,17 @@ | ||
type HookType = | ||
| "useState" | ||
| "useReducer" | ||
| "useContext" | ||
| "useRef" | ||
| "useEffect" | ||
| "useLayoutEffect" | ||
| "useCallback" | ||
| "useMemo" | ||
| "useImperativeHandle" | ||
| "useDebugValue" | ||
| "useDeferredValue" | ||
| "useTransition" | ||
| "useMutableSource" | ||
| "useOpaqueIdentifier" | ||
| "useCacheRefresh"; | ||
| 'useState' | ||
| 'useReducer' | ||
| 'useContext' | ||
| 'useRef' | ||
| 'useEffect' | ||
| 'useLayoutEffect' | ||
| 'useCallback' | ||
| 'useMemo' | ||
| 'useImperativeHandle' | ||
| 'useDebugValue' | ||
| 'useDeferredValue' | ||
| 'useTransition' | ||
| 'useMutableSource' | ||
| 'useOpaqueIdentifier' | ||
| 'useCacheRefresh'; | ||
@@ -657,21 +687,3 @@ interface Source { | ||
// our reconciler fork infra, since these leak into non-reconciler packages. | ||
type LanePriority = | ||
| 0 | ||
| 1 | ||
| 2 | ||
| 3 | ||
| 4 | ||
| 5 | ||
| 6 | ||
| 7 | ||
| 8 | ||
| 9 | ||
| 10 | ||
| 11 | ||
| 12 | ||
| 13 | ||
| 14 | ||
| 15 | ||
| 16 | ||
| 17; | ||
type LanePriority = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17; | ||
@@ -905,5 +917,3 @@ type Lanes = number; | ||
// Used by "inspect clicked DOM element" in React DevTools. | ||
findFiberByHostInstance?: (( | ||
instance: Instance | TextInstance, | ||
) => Fiber | null); | ||
findFiberByHostInstance?: (instance: Instance | TextInstance) => Fiber | null; | ||
rendererConfig?: RendererInspectionConfig; | ||
@@ -913,4 +923,4 @@ } | ||
interface SuspenseHydrationCallbacks<SuspenseInstance> { | ||
onHydrated?: ((suspenseInstance: SuspenseInstance) => void); | ||
onDeleted?: ((suspenseInstance: SuspenseInstance) => void); | ||
onHydrated?: (suspenseInstance: SuspenseInstance) => void; | ||
onDeleted?: (suspenseInstance: SuspenseInstance) => void; | ||
} | ||
@@ -921,46 +931,37 @@ | ||
onTransitionProgress?: ( | ||
transitionName: string, | ||
startTime: number, | ||
currentTime: number, | ||
pending: Array<{name: null | string}>, | ||
transitionName: string, | ||
startTime: number, | ||
currentTime: number, | ||
pending: Array<{ name: null | string }>, | ||
) => void; | ||
onTransitionIncomplete?: ( | ||
transitionName: string, | ||
startTime: number, | ||
deletions: Array<{ | ||
type: string, | ||
name?: string, | ||
newName?: string, | ||
endTime: number, | ||
}>, | ||
transitionName: string, | ||
startTime: number, | ||
deletions: Array<{ | ||
type: string; | ||
name?: string; | ||
newName?: string; | ||
endTime: number; | ||
}>, | ||
) => void; | ||
onTransitionComplete?: ( | ||
transitionName: string, | ||
startTime: number, | ||
endTime: number, | ||
) => void; | ||
onTransitionComplete?: (transitionName: string, startTime: number, endTime: number) => void; | ||
onMarkerProgress?: ( | ||
transitionName: string, | ||
marker: string, | ||
startTime: number, | ||
currentTime: number, | ||
pending: Array<{name: null | string}>, | ||
transitionName: string, | ||
marker: string, | ||
startTime: number, | ||
currentTime: number, | ||
pending: Array<{ name: null | string }>, | ||
) => void; | ||
onMarkerIncomplete?: ( | ||
transitionName: string, | ||
marker: string, | ||
startTime: number, | ||
deletions: Array<{ | ||
type: string, | ||
name?: string, | ||
newName?: string, | ||
endTime: number, | ||
}>, | ||
transitionName: string, | ||
marker: string, | ||
startTime: number, | ||
deletions: Array<{ | ||
type: string; | ||
name?: string; | ||
newName?: string; | ||
endTime: number; | ||
}>, | ||
) => void; | ||
onMarkerComplete?: ( | ||
transitionName: string, | ||
marker: string, | ||
startTime: number, | ||
endTime: number, | ||
) => void; | ||
onMarkerComplete?: (transitionName: string, marker: string, startTime: number, endTime: number) => void; | ||
} | ||
@@ -973,3 +974,3 @@ | ||
interface HasPsuedoClassSelector { | ||
interface HasPseudoClassSelector { | ||
$$typeof: symbol | number; | ||
@@ -994,8 +995,3 @@ value: Selector[]; | ||
type Selector = | ||
| ComponentSelector | ||
| HasPsuedoClassSelector | ||
| RoleSelector | ||
| TextSelector | ||
| TestNameSelector; | ||
type Selector = ComponentSelector | HasPseudoClassSelector | RoleSelector | TextSelector | TestNameSelector; | ||
@@ -1014,9 +1010,3 @@ // TODO can not find React$AbstractComponent def | ||
interface Reconciler< | ||
Container, | ||
Instance, | ||
TextInstance, | ||
SuspenseInstance, | ||
PublicInstance | ||
> { | ||
interface Reconciler<Container, Instance, TextInstance, SuspenseInstance, PublicInstance> { | ||
createContainer( | ||
@@ -1033,127 +1023,96 @@ containerInfo: Container, | ||
updateContainer( | ||
element: ReactNode, | ||
container: OpaqueRoot, | ||
parentComponent?: Component<any, any> | null, | ||
callback?: (() => void) | null, | ||
): Lane; | ||
createPortal( | ||
children: ReactNode, | ||
containerInfo: any, // TODO: figure out the API for cross-renderer implementation. | ||
implementation: any, | ||
key?: string | null, | ||
): ReactPortal; | ||
batchedEventUpdates<A, R>(fn: (a: A) => R, a: A): R; | ||
registerMutableSourceForHydration(root: FiberRoot, mutableSource: MutableSource): void; | ||
batchedUpdates<A, R>(fn: (a: A) => R, a: A): R; | ||
createComponentSelector(component: React$AbstractComponent<never, unknown>): ComponentSelector; | ||
unbatchedUpdates<A, R>(fn: (a: A) => R, a: A): R; | ||
createHasPseudoClassSelector(selectors: Selector[]): HasPseudoClassSelector; | ||
deferredUpdates<A>(fn: () => A): A; | ||
createRoleSelector(role: string): RoleSelector; | ||
discreteUpdates<A, B, C, D, R>( | ||
fn: (arg0: A, arg1: B, arg2: C) => R, | ||
a: A, | ||
b: B, | ||
c: C, | ||
createTextSelector(text: string): TextSelector; | ||
// tslint:disable-next-line:no-unnecessary-generics | ||
d: D, | ||
): R; | ||
createTestNameSelector(id: string): TestNameSelector; | ||
flushDiscreteUpdates(): void; | ||
getFindAllNodesFailureDescription(hostRoot: Instance, selectors: Selector[]): string | null; | ||
flushControlled(fn: () => any): void; | ||
findAllNodes(hostRoot: Instance, selectors: Selector[]): Instance[]; | ||
flushSync<A, R>(fn: (a: A) => R, a: A): R; | ||
findBoundingRects(hostRoot: Instance, selectors: Selector[]): BoundingRect[]; | ||
flushPassiveEffects(): boolean; | ||
focusWithin(hostRoot: Instance, selectors: Selector[]): boolean; | ||
readonly IsThisRendererActing: { current: boolean }; | ||
observeVisibleRects( | ||
hostRoot: Instance, | ||
selectors: Selector[], | ||
callback: (intersections: Array<{ ratio: number; rect: BoundingRect }>) => void, | ||
options?: IntersectionObserverOptions, | ||
): { disconnect: () => void }; | ||
getPublicRootInstance( | ||
createHydrationContainer( | ||
initialChildren: ReactNode, | ||
callback: (() => void) | null | undefined, | ||
containerInfo: Container, | ||
tag: RootTag, | ||
hydrationCallbacks: null | SuspenseHydrationCallbacks<SuspenseInstance>, | ||
isStrictMode: boolean, | ||
concurrentUpdatesByDefaultOverride: null | boolean, | ||
identifierPrefix: string, | ||
onRecoverableError: (error: Error) => void, | ||
transitionCallbacks: null | TransitionTracingCallbacks, | ||
): OpaqueRoot; | ||
updateContainer( | ||
element: ReactNode, | ||
container: OpaqueRoot, | ||
): Component<any, any> | PublicInstance | null; | ||
parentComponent?: Component<any, any> | null, | ||
callback?: (() => void) | null, | ||
): Lane; | ||
attemptSynchronousHydration(fiber: Fiber): void; | ||
batchedUpdates<A, R>(fn: (a: A) => R, a: A): R; | ||
attemptUserBlockingHydration(fiber: Fiber): void; | ||
deferredUpdates<A>(fn: () => A): A; | ||
attemptContinuousHydration(fiber: Fiber): void; | ||
discreteUpdates<A, B, C, D, R>(fn: (arg0: A, arg1: B, arg2: C, arg3: D) => R, a: A, b: B, c: C, d: D): R; | ||
attemptHydrationAtCurrentPriority(fiber: Fiber): void; | ||
flushControlled(fn: () => any): void; | ||
getCurrentUpdateLanePriority(): LanePriority; | ||
flushSync(): void; | ||
flushSync<R>(fn: () => R): R; | ||
findHostInstance(component: any): PublicInstance | null; | ||
isAlreadyRendering(): boolean; | ||
findHostInstanceWithWarning( | ||
component: any, | ||
methodName: string, | ||
): PublicInstance | null; | ||
flushPassiveEffects(): boolean; | ||
findHostInstanceWithNoPortals( | ||
fiber: Fiber, | ||
): PublicInstance | null; | ||
getPublicRootInstance(container: OpaqueRoot): Component<any, any> | PublicInstance | null; | ||
shouldSuspend(fiber: Fiber): boolean; | ||
attemptSynchronousHydration(fiber: Fiber): void; | ||
injectIntoDevTools( | ||
devToolsConfig: DevToolsConfig<Instance, TextInstance, any> | ||
): boolean; | ||
attemptDiscreteHydration(fiber: Fiber): void; | ||
act(callback: () => Thenable<unknown>): Thenable<void>; | ||
attemptContinuousHydration(fiber: Fiber): void; | ||
createPortal( | ||
children: ReactNode, | ||
containerInfo: any, // TODO: figure out the API for cross-renderer implementation. | ||
implementation: any, | ||
key?: string | null, | ||
): ReactPortal; | ||
attemptHydrationAtCurrentPriority(fiber: Fiber): void; | ||
createComponentSelector( | ||
component: React$AbstractComponent<never, unknown>, | ||
): ComponentSelector; | ||
getCurrentUpdatePriority(): LanePriority; | ||
// TODO: "psuedo" is spelled "pseudo" | ||
createHasPsuedoClassSelector( | ||
selectors: Selector[], | ||
): HasPsuedoClassSelector; | ||
runWithPriority<T>(priority: LanePriority, fn: () => T): T; | ||
createRoleSelector(role: string): RoleSelector; | ||
findHostInstance(component: any): PublicInstance | null; | ||
createTextSelector(text: string): TextSelector; | ||
findHostInstanceWithWarning(component: any, methodName: string): PublicInstance | null; | ||
createTestNameSelector(id: string): TestNameSelector; | ||
findHostInstanceWithNoPortals(fiber: Fiber): PublicInstance | null; | ||
getFindAllNodesFailureDescription( | ||
hostRoot: Instance, | ||
selectors: Selector[], | ||
): string | null; | ||
shouldError(fiber: Fiber): boolean | undefined; | ||
findAllNodes( | ||
hostRoot: Instance, | ||
selectors: Selector[], | ||
): Instance[]; | ||
shouldSuspend(fiber: Fiber): boolean; | ||
findBoundingRects( | ||
hostRoot: Instance, | ||
selectors: Selector[], | ||
): BoundingRect[]; | ||
focusWithin( | ||
hostRoot: Instance, | ||
selectors: Selector[], | ||
): boolean; | ||
observeVisibleRects( | ||
hostRoot: Instance, | ||
selectors: Selector[], | ||
callback: ( | ||
intersections: Array<{ratio: number; rect: BoundingRect}>, | ||
) => void, | ||
options?: IntersectionObserverOptions, | ||
): {disconnect: () => void}; | ||
registerMutableSourceForHydration( | ||
root: FiberRoot, | ||
mutableSource: MutableSource, | ||
): void; | ||
runWithPriority<T>(priority: LanePriority, fn: () => T): T; | ||
injectIntoDevTools(devToolsConfig: DevToolsConfig<Instance, TextInstance, any>): boolean; | ||
} | ||
@@ -1160,0 +1119,0 @@ } |
{ | ||
"name": "@types/react-reconciler", | ||
"version": "0.26.7", | ||
"version": "0.28.0", | ||
"description": "TypeScript definitions for react-reconciler", | ||
@@ -17,2 +17,7 @@ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-reconciler", | ||
"githubUsername": "zhanghaocong" | ||
}, | ||
{ | ||
"name": "Mathieu Dutour", | ||
"url": "https://github.com/mathieudutour", | ||
"githubUsername": "mathieudutour" | ||
} | ||
@@ -31,4 +36,4 @@ ], | ||
}, | ||
"typesPublisherContentHash": "b03ac7df7430a612cc9999d807920833ebac68fcf0775e804c5e92b628d157c9", | ||
"typeScriptVersion": "3.9" | ||
"typesPublisherContentHash": "86f35f1c55c60f7f1c8c0e9e051f1a4fa82032cc93926cc7fea34f55a258890c", | ||
"typeScriptVersion": "4.0" | ||
} |
@@ -11,3 +11,3 @@ # Installation | ||
### Additional Details | ||
* Last updated: Sat, 14 May 2022 13:01:37 GMT | ||
* Last updated: Tue, 14 Jun 2022 10:01:34 GMT | ||
* Dependencies: [@types/react](https://npmjs.com/package/@types/react) | ||
@@ -17,2 +17,2 @@ * Global values: none | ||
# Credits | ||
These definitions were written by [Nathan Bierema](https://github.com/Methuselah96), and [Zhang Haocong](https://github.com/zhanghaocong). | ||
These definitions were written by [Nathan Bierema](https://github.com/Methuselah96), [Zhang Haocong](https://github.com/zhanghaocong), and [Mathieu Dutour](https://github.com/mathieudutour). |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
50526
939