Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import { Component, ReactChildren } from 'react';
  2.  
  3. export type ProviderProps<T> = {
  4.   value: T,
  5.   children?: ReactChildren
  6. };
  7.  
  8. export type ConsumerProps<T> = {
  9.   children: (value: T) => ReactChildren
  10. };
  11.  
  12. export type ConsumerState<T> = {
  13.   value: T
  14. };
  15.  
  16. export type Provider<T> = Component<ProviderProps<T>>;
  17. export type Consumer<T> = Component<ConsumerProps<T>, ConsumerState<T>>;
  18.  
  19. export type Context<T> = {
  20.   Provider: new (...args: any[]) => Provider<T>,
  21.   Consumer: new (...args: any[]) => Consumer<T>,
  22. };
  23.  
  24. export default function createReactContext<T>(
  25.   defaultValue: T
  26. ): Context<T>;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement