Skip to main content

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​

Schema

options?​

CoreTypeOptions

Returns​

EmbedType

Overrides​

CoreType.constructor

Properties​

name​

name: string

Defined in: schema/interfaces/schema.types.ts:51

Inherited from​

CoreType.name


options?​

optional options: CoreTypeOptions

Defined in: schema/types/core-type.ts:23

Inherited from​

CoreType.options


schema​

schema: Schema

Defined in: schema/types/embed-type.ts:49


typeName​

typeName: string

Defined in: schema/interfaces/schema.types.ts:51

Inherited from​

CoreType.typeName


sName​

static sName: string = 'Embed'

Defined in: schema/types/embed-type.ts:52

Overrides​

CoreType.sName

Accessors​

default​

Get Signature​

get default(): unknown

Defined in: schema/types/core-type.ts:39

Returns​

unknown

Inherited from​

CoreType.default


required​

Get Signature​

get required(): boolean | RequiredOption | RequiredFunction

Defined in: schema/types/core-type.ts:31

Returns​

boolean | RequiredOption | RequiredFunction

Inherited from​

CoreType.required


validator​

Get Signature​

get validator(): undefined | string | ValidatorFunction | ValidatorOption

Defined in: schema/types/core-type.ts:35

Returns​

undefined | string | ValidatorFunction | ValidatorOption

Inherited from​

CoreType.validator

Methods​

buildDefault()​

buildDefault(): unknown

Defined in: schema/types/core-type.ts:43

Returns​

unknown

Inherited from​

CoreType.buildDefault


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​

CoreType.cast


checkRequired()​

checkRequired(): string | void

Defined in: schema/types/core-type.ts:62

Returns​

string | void

Inherited from​

CoreType.checkRequired


checkValidator()​

checkValidator(value): void

Defined in: schema/types/core-type.ts:71

Parameters​

value​

unknown

Returns​

void

Inherited from​

CoreType.checkValidator


isEmpty()​

isEmpty(value): boolean

Defined in: schema/types/core-type.ts:75

Parameters​

value​

unknown

Returns​

boolean

Inherited from​

CoreType.isEmpty


isStrictStrategy()​

isStrictStrategy(strategy): boolean

Defined in: schema/types/core-type.ts:79

Parameters​

strategy​

VALIDATION_STRATEGY

Returns​

boolean

Inherited from​

CoreType.isStrictStrategy


validate()​

validate(value, strategy): any

Defined in: schema/types/embed-type.ts:62

Parameters​

value​

unknown

strategy​

any

Returns​

any

Overrides​

CoreType.validate