Type alias JTDSchemaType<T, D>

JTDSchemaType<T, D>: ((null extends EnumString<keyof D>
    ? never
    : {
        [K in keyof (...)]: (...) extends (...)
            ? (...)
            : (...)
    }[keyof D] & {
        nullable?: false;
    } | (null extends T
        ? {
            [K in (...)]: (...)
        }[keyof (...)] & {
            nullable: true;
        }
        : never)) | (unknown extends T
    ? {
        nullable?: boolean;
    }
    : never) | (true extends NullTypeEquality<T, number>
    ? {
        type: NumberType;
    }
    : true extends NullTypeEquality<T, boolean>
        ? {
            type: "boolean";
        }
        : true extends NullTypeEquality<T, string>
            ? {
                type: StringType;
            }
            : true extends NullTypeEquality<(...), (...)>
                ? {
                    type: ...;
                }
                : (...) extends (...)
                    ? (...)
                    : (...)) & (null extends T
    ? {
        nullable: true;
    }
    : {
        nullable?: false;
    })) & {
    definitions?: {
        [K in keyof D]: JTDSchemaType<D[K], D>
    };
    metadata?: Record<string, unknown>;
}

actual schema

Type Parameters

Type declaration

  • Optional definitions?: {
        [K in keyof D]: JTDSchemaType<D[K], D>
    }
  • Optional metadata?: Record<string, unknown>