Json Type Builder with Static Resolution for TypeScript

Hierarchy (view full)

Constructors

Methods

  • [Json] Creates an Any type

    Parameters

    Returns TAny

  • [Json] Creates an Array type

    Type Parameters

    Parameters

    Returns TArray<Type>

  • [Json] Creates a Boolean type

    Parameters

    Returns TBoolean

  • [Json] Intrinsic function to Capitalize LiteralString types

    Type Parameters

    Parameters

    Returns TCapitalize<T>

  • [Json] Creates a Composite object type

    Type Parameters

    Parameters

    Returns TObject<Evaluate<TCompositeProperties<T, TCompositeKeys<T, []>, {}>>>

  • [JavaScript] Creates a readonly const type from the given value.

    Type Parameters

    • T

    Parameters

    Returns TConst<T>

  • [Json] Creates a Enum type

    Type Parameters

    Parameters

    Returns TEnum<T>

  • [Json] Constructs a type by excluding from unionType all union members that are assignable to excludedMembers

    Type Parameters

    Parameters

    Returns TExcludeFromMappedResult<L, R>

  • [Json] Constructs a type by excluding from unionType all union members that are assignable to excludedMembers

    Type Parameters

    Parameters

    Returns TExcludeFromTemplateLiteral<L, R>

  • [Json] Constructs a type by excluding from unionType all union members that are assignable to excludedMembers

    Type Parameters

    Parameters

    Returns TExclude<L, R>

  • [Json] Creates an Integer type

    Parameters

    Returns TInteger

  • [Json] Creates an Intersect type

    Type Parameters

    Parameters

    Returns Intersect<Types>

  • [Json] Creates a KeyOf type

    Type Parameters

    Parameters

    Returns TKeyOf<Type>

  • [Json] Intrinsic function to Lowercase LiteralString types

    Type Parameters

    Parameters

    Returns TLowercase<Type>

  • [Json] Creates a Never type

    Parameters

    Returns TNever

  • [Json] Creates a Not type

    Type Parameters

    Parameters

    Returns TNot<T>

  • [Json] Creates a Null type

    Parameters

    Returns TNull

  • [Json] Creates a Number type

    Parameters

    Returns TNumber

  • [Json] Creates an Object type

    Type Parameters

    Parameters

    Returns TObject<T>

  • [Json] Constructs a type whose keys are picked from the given type

    Type Parameters

    • Type extends TSchema
    • Key extends PropertyKey[]

    Parameters

    Returns TOmit<Type, Key>

  • [Json] Constructs a type whose keys are picked from the given type

    Type Parameters

    Parameters

    Returns TOmit<Type, Key>

  • [Json] Constructs a type whose keys are picked from the given type

    Type Parameters

    • Type extends TSchema
    • Key extends PropertyKey[]

    Parameters

    Returns TPick<Type, Key>

  • [Json] Constructs a type whose keys are picked from the given type

    Type Parameters

    Parameters

    Returns TPick<Type, Key>

  • [Json] Creates a Readonly and Optional property

    Type Parameters

    Parameters

    Returns TReadonlyOptional<Type>

  • [Json] Creates a Recursive type

    Type Parameters

    Parameters

    Returns TRecursive<T>

  • [Json] Creates a Ref type.

    Type Parameters

    • Ref extends string

    Parameters

    Returns TRef<Ref>

  • Type Parameters

    Parameters

    Returns TRefUnsafe<Type>

    [Json] Creates a Ref type. This signature was deprecated in 0.34.0 where Ref requires callers to pass a string value for the reference (and not a schema).

    To adhere to the 0.34.0 signature, Ref implementations should be updated to the following.

    // pre-0.34.0

    const T = Type.String({ $id: 'T' })

    const R = Type.Ref(T)

    should be changed to the following

    // post-0.34.0

    const T = Type.String({ $id: 'T' })

    const R = Type.Unsafe<Static<typeof T>>(Type.Ref('T'))

    You can also create a generic function to replicate the pre-0.34.0 signature if required

    const LegacyRef = <T extends TSchema>(schema: T) => Type.Unsafe<Static<T>>(Type.Ref(schema.$id!))
    
  • [Json] Extracts interior Rest elements from Tuple, Intersect and Union types

    Type Parameters

    Parameters

    Returns TRest<Type>

  • [Json] Creates a String type

    Parameters

    Returns TString

  • [Json] Creates a Tuple type

    Type Parameters

    Parameters

    Returns TTuple<Types>

  • [Json] Intrinsic function to Uncapitalize LiteralString types

    Type Parameters

    Parameters

    Returns TUncapitalize<Type>

  • [Json] Creates a Union type

    Type Parameters

    Parameters

    Returns Union<Types>

  • [Json] Creates an Unknown type

    Parameters

    Returns TUnknown

  • [Json] Creates a Unsafe type that will infers as the generic argument T

    Type Parameters

    • T

    Parameters

    Returns TUnsafe<T>

  • [Json] Intrinsic function to Uppercase LiteralString types

    Type Parameters

    Parameters

    Returns TUppercase<T>