typia
Version:
Superfast runtime validators with only one line
63 lines (59 loc) • 1.84 kB
text/typescript
export interface ITransformOptions {
/**
* Whether to validate finite number or not.
*
* If configured true, number typed values would be validated by Number.isNaN().
*
* However, whatever you configure, it would be ignored when marshaling or parsing.
*
* - when marshaling, always be true
* - assertStringify()
* - validateEncode()
* - when parsing, always be false
* - assertParse()
* - isDecode()
*
* @default false
*/
finite?: undefined | boolean;
/**
* Whether to validate finite number or not.
*
* If configured true, number typed values would be validated by Number.isFinite().
*
* However, whatever you configure, it can be ignored in below case.
*
* - when `finite` option is true, this option would be ignored
* - when marshaling, always be true
* - assertStringify()
* - validateEncode()
* - when parsing, always be false
* - assertParse()
* - isDecode()
*
* @default false
*/
numeric?: undefined | boolean;
/**
* Whether to validate functional type or not.
*
* However, whatever you configure, it becomes false when marshaling or parsing.
*
* @default false
*/
functional?: undefined | boolean;
/**
* Whether to check undefined value or not.
*
* JavaScript can assign `undefined` value to a specific property and it is an
* issue when validating without allowing superfluous properties. Should undefined
* value assigned superfluous property be allowed or not?
*
* Note that, this option only works on {@link equals} function. Other function
* like {@link assertEquals} or {@link validateEquals} would ignore this option
* value and always allow the `undefined` value.
*
* @default true
*/
undefined?: undefined | boolean;
}