Skip to main content

Class: EmbedType

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.

Hierarchy

Constructors

constructor

new EmbedType(name, schema, options?)

Parameters

NameType
namestring
schemaSchema
options?CoreTypeOptions

Overrides

CoreType.constructor

Defined in

schema/types/embed-type.ts:49

Properties

name

name: string

Inherited from

CoreType.name

Defined in

schema/interfaces/schema.types.ts:51


options

Optional options: CoreTypeOptions

Inherited from

CoreType.options

Defined in

schema/types/core-type.ts:23


schema

schema: Schema

Defined in

schema/types/embed-type.ts:49


typeName

typeName: string

Inherited from

CoreType.typeName

Defined in

schema/interfaces/schema.types.ts:51


sName

Static sName: string = 'Embed'

Overrides

CoreType.sName

Defined in

schema/types/embed-type.ts:52

Accessors

default

get default(): unknown

Returns

unknown

Inherited from

CoreType.default

Defined in

schema/types/core-type.ts:39


required

get required(): boolean | RequiredOption | RequiredFunction

Returns

boolean | RequiredOption | RequiredFunction

Inherited from

CoreType.required

Defined in

schema/types/core-type.ts:31


validator

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

Returns

undefined | string | ValidatorFunction | ValidatorOption

Inherited from

CoreType.validator

Defined in

schema/types/core-type.ts:35

Methods

buildDefault

buildDefault(): unknown

Returns

unknown

Inherited from

CoreType.buildDefault

Defined in

schema/types/core-type.ts:43


cast

cast(value, strategy?): unknown

Parameters

NameTypeDefault value
valueunknownundefined
strategyCAST_STRATEGYCAST_STRATEGY.DEFAULT_OR_DROP

Returns

unknown

Overrides

CoreType.cast

Defined in

schema/types/embed-type.ts:54


checkRequired

checkRequired(): string | void

Returns

string | void

Inherited from

CoreType.checkRequired

Defined in

schema/types/core-type.ts:62


checkValidator

checkValidator(value): void

Parameters

NameType
valueunknown

Returns

void

Inherited from

CoreType.checkValidator

Defined in

schema/types/core-type.ts:71


isEmpty

isEmpty(value): boolean

Parameters

NameType
valueunknown

Returns

boolean

Inherited from

CoreType.isEmpty

Defined in

schema/types/core-type.ts:75


isStrictStrategy

isStrictStrategy(strategy): boolean

Parameters

NameType
strategyVALIDATION_STRATEGY

Returns

boolean

Inherited from

CoreType.isStrictStrategy

Defined in

schema/types/core-type.ts:79


validate

validate(value, strategy): any

Parameters

NameType
valueunknown
strategyany

Returns

any

Overrides

CoreType.validate

Defined in

schema/types/embed-type.ts:62