Optional
arrayIf the type is an array it can have an arrayType. This should only be defined if the current TypeObject is an array. This would be the un-arrayed type
Optional
getAllows for a sub type to be defined based on the value.
Optional
merge?: ((update, original, template, context) => Partial<T> | null)Return a new T that is the result of merging the update into the original. If this is not defined then the default merging logic will be applied
Optional
properties?: TypedProperties<T, C>Define the properties that are available.
Optional
shorthand?: ((shorthand, context) => Partial<T> | null)Return null if shorthand is not understood.
Optional
unwrap?: ((update, template, context) => T)Optional
wrap?: ((update, template, context) => T)If a type has properties defined and is an Object then it will be traversed. If a type has arrayType defined and is an Array then it will be traversed.
TypedObject is a metadata entry that enabled traversing.