Class: EmbedType
Defined in: schema/types/embed-type.ts:48
EmbedType
will allow declaration of path as another schema, set type to the sub-schema's instance.
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 userSchema = new Schema({
name: String,
email: Schema.Types.String,
createAt: Date,
});
const schema = new Schema({
...
user: userSchema
});
You can also use a JavaScript plain Object as value for an EmbedType
.
Therefore the below example will behave the same as the example above.
const schema = new Schema({
...
user: {
name: String,
email: String,
createAt: Date,
}
});
Tip
EmbedType
will allow you to easily reuse existing schemas into new ones using composition.
Extends
Constructors
Constructor
new EmbedType(
name
,schema
,options?
):EmbedType
Defined in: schema/types/embed-type.ts:49
Parameters
name
string
schema
options?
CoreTypeOptions
Returns
EmbedType
Overrides
Properties
name
name:
string
Defined in: schema/interfaces/schema.types.ts:51
Inherited from
options?
optional
options:CoreTypeOptions
Defined in: schema/types/core-type.ts:23
Inherited from
schema
schema:
Schema
Defined in: schema/types/embed-type.ts:49
typeName
typeName:
string
Defined in: schema/interfaces/schema.types.ts:51
Inherited from
sName
static
sName:string
='Embed'
Defined in: schema/types/embed-type.ts:52
Overrides
Accessors
default
Get Signature
get default():
unknown
Defined in: schema/types/core-type.ts:39
Returns
unknown
Inherited from
required
Get Signature
get required():
boolean
|RequiredOption
|RequiredFunction
Defined in: schema/types/core-type.ts:31
Returns
boolean
| RequiredOption
| RequiredFunction
Inherited from
validator
Get Signature
get validator():
undefined
|string
|ValidatorFunction
|ValidatorOption
Defined in: schema/types/core-type.ts:35
Returns
undefined
| string
| ValidatorFunction
| ValidatorOption
Inherited from
Methods
buildDefault()
buildDefault():
unknown
Defined in: schema/types/core-type.ts:43
Returns
unknown
Inherited from
cast()
cast(
value
,strategy
):unknown
Defined in: schema/types/embed-type.ts:54
Parameters
value
unknown
strategy
CAST_STRATEGY
= CAST_STRATEGY.DEFAULT_OR_DROP
Returns
unknown
Overrides
checkRequired()
checkRequired():
string
|void
Defined in: schema/types/core-type.ts:62
Returns
string
| void
Inherited from
checkValidator()
checkValidator(
value
):void
Defined in: schema/types/core-type.ts:71
Parameters
value
unknown
Returns
void
Inherited from
isEmpty()
isEmpty(
value
):boolean
Defined in: schema/types/core-type.ts:75
Parameters
value
unknown
Returns
boolean
Inherited from
isStrictStrategy()
isStrictStrategy(
strategy
):boolean
Defined in: schema/types/core-type.ts:79
Parameters
strategy
Returns
boolean
Inherited from
validate()
validate(
value
,strategy
):any
Defined in: schema/types/embed-type.ts:62
Parameters
value
unknown
strategy
any
Returns
any