Skip to main content

InternalTypes Namespace

Interfaces

Interface Alerts Modifiers Description
DefaultProvider System sealed Provides a default value for a field.
ReadonlyMapInlined System sealed Copy of TypeScript's ReadonlyMap, but with TreeNodeFromImplicitAllowedTypesUnsafe<T> inlined into it. Using this instead of ReadonlyMap in TreeMapNodeUnsafe is necessary to make recursive map schema not generate compile errors in the d.ts files when exported.
TreeApi System sealed Provides various functions for interacting with TreeNodes.
TreeArrayNodeUnsafe System sealed Unenforced version of TreeArrayNode.
TreeMapNodeUnsafe System sealed Unenforced version of TreeMapNode.
TreeNodeSchemaNonClassUnsafe System Unenforced version of TreeNodeSchemaNonClass.

Types

TypeAlias Alerts Modifiers Description
_InlineTrick System Use for trick to "inline" generic types.
AllowedTypesUnsafe System Unenforced version of AllowedTypes.
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.
FieldHasDefaultUnsafe System sealed Unenforced version of FieldHasDefault.
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.

InsertableObjectFromSchemaRecordUnsafe System Unenforced version of InsertableObjectFromSchemaRecord.
InsertableTreeFieldFromImplicitFieldUnsafe System Unenforced version of InsertableTreeFieldFromImplicitField.
InsertableTreeNodeFromImplicitAllowedTypesUnsafe System Unenforced version of InsertableTreeNodeFromImplicitAllowedTypes.
InsertableTypedNodeUnsafe System Unenforced version of InsertableTypedNode.
NodeBuilderData System Given a node's schema, return the corresponding object from which the node could be built.
NodeBuilderDataUnsafe System Unenforced version of InsertableTreeNodeFromImplicitAllowedTypes.
NodeFromSchemaUnsafe System Unenforced version of NodeFromSchema.
ObjectFromSchemaRecord System Generates the properties for an ObjectNode from its field schema object.
ObjectFromSchemaRecordUnsafe System Unenforced version of ObjectFromSchemaRecord.
ScopedSchemaName System The name of a schema produced by SchemaFactory, including its optional scope prefix.
TreeFieldFromImplicitFieldUnsafe System Unenforced version of TreeFieldFromImplicitField.
TreeNodeFromImplicitAllowedTypesUnsafe System Unenforced version of TreeNodeFromImplicitAllowedTypes.
TreeNodeSchemaUnsafe System Unenforced version of TreeNodeSchema.
TreeObjectNodeUnsafe System Unenforced version of TreeObjectNode.

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.