Class: MixedType
Mixed
type supports any Object
types, you can change the value to anything else, it can be represented in the following ways:
Options
- required flag to define if the field is mandatory
- validator that will be applied to the field a validation function, validation object or string with the name of the custom validator
- default that will define the initial value of the field, this option allows a value or a function
- immutable that will define this field as immutable. Ottoman prevents you from changing immutable fields if the schema as configure like strict
Example
const schema = new Schema({
inline: Schema.Types.Mixed,
types: { type: Schema.Types.Mixed, required: true },
obj: Object,
empty: {},
});
schema.fields.inline instanceof MixedType; // true
schema.fields.types instanceof MixedType; // true
schema.fields.obj instanceof MixedType; // true
schema.fields.empty instanceof MixedType; // true
const data = {
inline: { name: 'george' },
types: {
email: 'george@gmail.com',
},
obj: 'Hello',
empty: { hello: 'hello' },
};
const result = validate(data, schema);
console.log(result);
// Output!!!
// {
// "inline": {
// "name": "george"
// },
// "types": {
// "email": "george@gmail.com"
// },
// "obj": "Hello",
// "empty": {
// "hello": "hello"
// }
// }
Hierarchy
↳
MixedType
Constructors
constructor
• new MixedType(name
, options?
)
Parameters
Name | Type |
---|---|
name | string |
options? | CoreTypeOptions |
Overrides
Defined in
Properties
name
• name: string
Inherited from
Defined in
schema/interfaces/schema.types.ts:51
options
• Optional
options: CoreTypeOptions
Inherited from
Defined in
typeName
• typeName: string
Inherited from
Defined in
schema/interfaces/schema.types.ts:51
sName
▪ Static
sName: string
= 'Mixed'
Overrides
Defined in
Accessors
default
• get
default(): unknown
Returns
unknown
Inherited from
CoreType.default
Defined in
required
• get
required(): boolean
| RequiredOption
| RequiredFunction
Returns
boolean
| RequiredOption
| RequiredFunction
Inherited from
CoreType.required
Defined in
validator
• get
validator(): undefined
| string
| ValidatorFunction
| ValidatorOption
Returns
undefined
| string
| ValidatorFunction
| ValidatorOption
Inherited from
CoreType.validator
Defined in
Methods
buildDefault
▸ buildDefault(): unknown
Returns
unknown
Inherited from
Defined in
cast
▸ cast(value
, strategy
): unknown
Parameters
Name | Type |
---|---|
value | unknown |
strategy | any |
Returns
unknown
Overrides
Defined in
checkRequired
▸ checkRequired(): string
| void
Returns
string
| void
Inherited from
Defined in
checkValidator
▸ checkValidator(value
): void
Parameters
Name | Type |
---|---|
value | unknown |
Returns
void
Inherited from
Defined in
isEmpty
▸ isEmpty(value
): boolean
Parameters
Name | Type |
---|---|
value | unknown |
Returns
boolean
Inherited from
Defined in
isStrictStrategy
▸ isStrictStrategy(strategy
): boolean
Parameters
Name | Type |
---|---|
strategy | VALIDATION_STRATEGY |
Returns
boolean
Inherited from
Defined in
validate
▸ validate(value
, strict?
): unknown
Parameters
Name | Type | Default value |
---|---|---|
value | unknown | undefined |
strict | boolean | true |
Returns
unknown