Skip to main content

InternalTypes Namespace

Interfaces

Interface Alerts Modifiers Description
DefaultProvider System sealed Provides a default value for a field.
TreeApi System sealed Provides various functions for interacting with TreeNodes.

Types

TypeAlias Alerts Description
_InlineTrick System Use for trick to "inline" generic types.
ApplyKind System Suitable for output. For input must error on side of excluding undefined instead.
ApplyKindInput System Suitable for input.
ExtractItemType System Get the Item type from a LazyItem<Item>.
FieldHasDefault System Type utility for determining whether or not an implicit field schema has a default value.
FlattenKeys System Return a type thats equivalent to the input, but with different IntelliSense. This tends to convert unions and intersections into objects.
FlexList System 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 System Normalize FlexList type to a union.
InsertableObjectFromSchemaRecord System

Helper used to produce types for:

1. Insertable content which can be used to construct an object node. In this case, only own properties are considered. This reduces the risk of incorrectly interpreting data at the cost of occasionally requiring users to convert data into a compatible format.

2. Insertable content which is an unhydrated object node.

3. Union of 1 and 2.

NodeBuilderData System Given a node's schema, return the corresponding object from which the node could be built.
ScopedSchemaName System The name of a schema produced by SchemaFactory, including its optional scope prefix.

Variables

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

Variable Details

typeNameSymbol

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

This API is reserved for internal system use and should not be imported directly. It may change at any time without notice.

For more information about our API support guarantees, see here.

Signature

typeNameSymbol: unique symbol

Type: unique symbol

Remarks

This symbol mainly exists on nodes to allow TypeScript to provide more accurate type checking. Tree.is 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.