local w=require("\064\112\107\103\047\064\106\115\100\111\116\108\117\097\047\114\101\097\099\116-\114\101\099\111\110\099\105\108\101\114")local T=require("\046\047\099\114\101\097\116\101\082\101\097\099\116\078\111\111\112")local a=T(w,true)return{_Scheduler=a._Scheduler,getChildren=a.getChildren,getPendingChildren=a.getPendingChildren,getOrCreateRootContainer=a.getOrCreateRootContainer,createRoot=a.createRoot,createBlockingRoot=a.createBlockingRoot,createLegacyRoot=a.createLegacyRoot,getChildrenAsJSX=a.getChildrenAsJSX,getPendingChildrenAsJSX=a.getPendingChildrenAsJSX;createPortal=a.createPortal;render=a.render;renderLegacySyncRoot=a.renderLegacySyncRoot,renderToRootWithID=a.renderToRootWithID;unmountRootWithID=a.unmountRootWithID;findInstance=a.findInstance;flushNextYield=a.flushNextYield,flushWithHostCounters=a.flushWithHostCounters,expire=a.expire;flushExpired=a.flushExpired,batchedUpdates=a.batchedUpdates,deferredUpdates=a.deferredUpdates;unbatchedUpdates=a.unbatchedUpdates;discreteUpdates=a.discreteUpdates;flushDiscreteUpdates=a.flushDiscreteUpdates,flushSync=a.flushSync;flushPassiveEffects=a.flushPassiveEffects;act=a.act;dumpTree=a.dumpTree;getRoot=a.getRoot;unstable_runWithPriority=a.unstable_runWithPriority}
--!strict
-- ROBLOX upstream: https://github.com/facebook/react/blob/faa697f4f9afe9f1c98e315b2a9e70f5a74a7a74/packages/react-noop-renderer/src/ReactNoop.js
--[[*
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow
]]

--[[*
 * This is a renderer of React that doesn't have a render target output.
 * It is useful to demonstrate the internals of the reconciler in isolation
 * and for testing semantics of reconciliation separate from the host
 * environment.
]]

local ReactFiberReconciler = require("@pkg/@jsdotlua/react-reconciler")
local createReactNoop = require("./createReactNoop")

local NoopRenderer = createReactNoop(
	ReactFiberReconciler, -- reconciler
	true -- useMutation
)

return {
	_Scheduler = NoopRenderer._Scheduler,
	getChildren = NoopRenderer.getChildren,
	getPendingChildren = NoopRenderer.getPendingChildren,
	getOrCreateRootContainer = NoopRenderer.getOrCreateRootContainer,
	createRoot = NoopRenderer.createRoot,
	createBlockingRoot = NoopRenderer.createBlockingRoot,
	createLegacyRoot = NoopRenderer.createLegacyRoot,
	getChildrenAsJSX = NoopRenderer.getChildrenAsJSX,
	getPendingChildrenAsJSX = NoopRenderer.getPendingChildrenAsJSX,
	createPortal = NoopRenderer.createPortal,
	render = NoopRenderer.render,
	renderLegacySyncRoot = NoopRenderer.renderLegacySyncRoot,
	renderToRootWithID = NoopRenderer.renderToRootWithID,
	unmountRootWithID = NoopRenderer.unmountRootWithID,
	findInstance = NoopRenderer.findInstance,
	flushNextYield = NoopRenderer.flushNextYield,
	flushWithHostCounters = NoopRenderer.flushWithHostCounters,
	expire = NoopRenderer.expire,
	flushExpired = NoopRenderer.flushExpired,
	batchedUpdates = NoopRenderer.batchedUpdates,
	deferredUpdates = NoopRenderer.deferredUpdates,
	unbatchedUpdates = NoopRenderer.unbatchedUpdates,
	discreteUpdates = NoopRenderer.discreteUpdates,
	flushDiscreteUpdates = NoopRenderer.flushDiscreteUpdates,
	flushSync = NoopRenderer.flushSync,
	flushPassiveEffects = NoopRenderer.flushPassiveEffects,
	act = NoopRenderer.act,
	dumpTree = NoopRenderer.dumpTree,
	getRoot = NoopRenderer.getRoot,
	-- TODO: Remove this after callers migrate to alternatives.
	unstable_runWithPriority = NoopRenderer.unstable_runWithPriority,
}
