import { intersection, number, string, type, type Type, type TypeOf, union } from 'io-ts'; // This file is generated by runtyping (https://github.com/johngeorgewright/runtyping). // Manual changes might be lost - proceed with caution! export const A = (T: Type,) => type({ type: T, }); export type A = TypeOf>>; export const B = (T: Type,) => type({ type: T, }); export type B = TypeOf>>; export const C = (T: Type,) => union([string, T,]); export type C = TypeOf>>; export const D = (T: Type,) => type({ type: T, }); export type D = TypeOf>>; export const E = type({ foo: string, }); export type E = TypeOf; export const F = ,>(T: Type,) => type({ type: T, }); export type F = TypeOf>>; export const G = type({ abc: A(type({ data: string, }),), }); export type G = TypeOf; export const Test = (T: Type,) => intersection([T, type({ count: number, }),]); export type Test = TypeOf>>; export const Foo = type({ abc: Test(type({ data: string, }),), }); export type Foo = TypeOf;