Files
typebox/test/static/readonly-optional.ts
sinclair 13d553220c Publish
2025-12-24 15:44:34 +09:00

29 lines
605 B
TypeScript

import { Expect } from './assert'
import { Type, TSchema, TReadonlyOptional } from '@sinclair/typebox'
{
const T = Type.Object({
A: Type.ReadonlyOptional(Type.String()),
})
Expect(T).ToStatic<{
readonly A?: string
}>()
}
{
const T = Type.ReadonlyOptional(Type.String())
function test(_: TReadonlyOptional<TSchema>) {}
test(T)
}
{
const T = Type.Readonly(Type.String())
function test(_: TReadonlyOptional<TSchema>) {}
// @ts-expect-error
test(T)
}
{
const T = Type.Optional(Type.String())
function test(_: TReadonlyOptional<TSchema>) {}
// @ts-expect-error
test(T)
}