Packages > @fluidframework/tree > InternalTypes

InternalTypes Namespace


Interface Modifiers Description
DefaultProvider sealed Provides a default value for a field.
TreeApi sealed Provides various functions for interacting with TreeNodes.
TreeArrayNodeBase sealed A generic array type, used to defined types like TreeArrayNode.
TreeArrayNodeUnsafe sealed Unenforced version of TreeArrayNode.
TreeMapNodeUnsafe sealed Unenforced version of TreeMapNode.
TreeNodeSchemaNonClass sealed Schema which is not a class.


TypeAlias Modifiers Description
_InlineTrick Use for trick to "inline" generic types.
ApplyKind Suitable for output. For input must error on side of excluding undefined instead.
ExtractItemType Get the Item type from a LazyItem<Item>.
FieldHasDefault Type utility for determining whether or not an implicit field schema has a default value.
FieldHasDefaultUnsafe sealed Unenforced version of FieldHasDefault.
FlattenKeys Return a type thats equivalent to the input, but with different IntelliSense. This tends to convert unions and intersections into objects.
FlexList A flexible way to list values. Each item in the list can either be an "eager" **value** or a "lazy" **function that returns a value** (the latter allows cyclic references to work).
FlexListToUnion Normalize FlexList type to a union.

Helper used to produce types for:

1. Insertable content which can be used to construct an object node.

2. Insertable content which is an unhydrated object node.

3. Union of 1 and 2.

InsertableObjectFromSchemaRecordUnsafe Unenforced version of InsertableObjectFromSchemaRecord.
InsertableTreeFieldFromImplicitFieldUnsafe Unenforced version of InsertableTreeFieldFromImplicitField.
InsertableTreeNodeFromImplicitAllowedTypesUnsafe Unenforced version of InsertableTreeNodeFromImplicitAllowedTypes.
InsertableTypedNodeUnsafe Unenforced version of InsertableTypedNode.
NodeBuilderData Given a node's schema, return the corresponding object from which the node could be built.
NodeBuilderDataUnsafe Unenforced version of InsertableTreeNodeFromImplicitAllowedTypes.
NodeFromSchemaUnsafe Unenforced version of NodeFromSchema.
ObjectFromSchemaRecord Helper used to produce types for object nodes.
ObjectFromSchemaRecordUnsafe Unenforced version of ObjectFromSchemaRecord.
ScopedSchemaName The name of a schema produced by SchemaFactory, including its optional scope prefix.
TreeFieldFromImplicitFieldUnsafe Unenforced version of TreeFieldFromImplicitField.
TreeNodeFromImplicitAllowedTypesUnsafe Unenforced version of TreeNodeFromImplicitAllowedTypes.
TreeObjectNodeUnsafe Unenforced version of TreeObjectNode.


Variable Modifiers Type Description
typeNameSymbol readonly unique symbol The type of a TreeNode. For more information about the type, use Tree.schema(theNode) instead.

Variable Details


The type of a TreeNode . For more information about the type, use Tree.schema(theNode) instead.


typeNameSymbol: unique symbol

Type: unique symbol


This symbol mainly exists on nodes to allow TypeScript to provide more accurate type checking. and Tree.schema provide a superset of this information in more friendly ways.

This symbol should not manually be added to objects as doing so allows the object to be invalidly used where nodes are expected. Instead construct a real node of the desired type using its constructor.