TypeScript Interface Validator
Intro
A library to validate whether a value is matched a typescript interface definition.
This is a lightweight and individual implementaion. So only support limited forms of definition.
For more detail you can see Supported and Not Supported below.
If you should have any question, please feel free to let me know.
Usage
; //Validate from type definition;//Validate from definition in file; //Validate;if result.isSuccess else
Supported pattern
- Basic type as
string
,number
,boolean
,Object
,any
- Array type as
T[]
orArray<T>
- Type alias as
type Abc = string
- Nested referenced interface, as
type Bcd = Abc
- Logical expression, such as
string | number
- String literal,as
'Value1' | 'Value2'
- Relative import
- Extend, as
interface Def extends Abc { ... }
- Index signature, as
{ [key: string]: number }
- Partial type, as
Partial<T>
- Ignore comments automatically
Not Supported pattern
- Mapped Types
- Circular reference