UNPKG

react-native

Version:

A framework for building native apps using React

43 lines (37 loc) 1.29 kB
/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule ReactFiberRoot * @flow */ 'use strict'; import type { Fiber } from 'ReactFiber'; const { createHostContainerFiber } = require('ReactFiber'); export type FiberRoot = { // Any additional information from the host associated with this root. containerInfo: any, // The currently active root fiber. This is the mutable root of the tree. current: Fiber, // Determines if this root has already been added to the schedule for work. isScheduled: boolean, // The work schedule is a linked list. nextScheduledRoot: ?FiberRoot, }; exports.createFiberRoot = function(containerInfo : any) : FiberRoot { // Cyclic construction. This cheats the type system right now because // stateNode is any. const uninitializedFiber = createHostContainerFiber(); const root = { current: uninitializedFiber, containerInfo: containerInfo, isScheduled: false, nextScheduledRoot: null, }; uninitializedFiber.stateNode = root; return root; };