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?
optionaloptions: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
staticsName: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