CollectionWithin

Validates if value matches an Object with expected keys and values matching the given expectations. The value may also contain other keys with arbitrary values not defined in pattern(equivalent of Meteor's Match.ObjectIncluding).

It also can omit nested Object properties(useful for building up configuration a like objects).

returns Returns true if value is matching explicit CollectionWithin pattern even on nested missing object properties, else throws.

example

import { expect } from 'chai';
import {
validate,
CollectionWithin,
ValidationError,
} from 'typend';
const expectation = {
included: {
foo: 'foo',
},
omitted: {
bar: 'bar',
},
};
expect(
validate(
{ included: { foo: 'foo' }, omitted: { bar: 'bar' } },
new CollectionWithin(expectation)
)
).to.be.true;
expect(
validate({ included: { foo: 'foo' } }, new CollectionWithin(expectation))
).to.be.true;
expect(() =>
validate(
{ included: { foo: 'NOT_foo' } },
new CollectionWithin(expectation)
)
).to.throw(ValidationError);

Hierarchy

Pattern

  • Pattern

    CollectionWithin

Implements

Index

Constructors

Properties

Accessors

Methods

Constructors

constructor

+ new CollectionWithin(properties: Record‹keyof any, any›): CollectionWithin

Overrides Pattern.constructor

Creates an instance of an CollectionWithin. Creates an instance of an CollectionWithin.

throws {InvalidDefinitionError} Thrown if provided properties is invalid(is not an object).

throws {InvalidDefinitionError} Thrown if provided properties is invalid(is not an object).

Parameters:

NameTypeDescription
propertiesRecord‹keyof any, any›Properties that will be used to validate value.

Returns: CollectionWithin

Properties

Static describer

describer: Describer

Inherited from Pattern.describer

Overrides void


Static kind

kind: KINDS = KINDS.OBJECT_WITHIN

Overrides Pattern.kind

Accessors

isOptional

get isOptional(): Optional

Inherited from Pattern.isOptional

Overrides void

Returns: Optional


isRequired

get isRequired(): any

Inherited from Pattern.isRequired

Overrides void

Returns: any

Methods

describe

describe(value: any): string

Inherited from Pattern.describe

Overrides void

Parameters:

NameType
valueany

Returns: string


getInitializer

getInitializer(): any | undefined

Implementation of Pattern

Inherited from Pattern.getInitializer

Overrides void

Returns: any | undefined


getKind

getKind(): string

Implementation of Pattern

Inherited from Pattern.getKind

Overrides void

Returns: string


hasInitializer

hasInitializer(): boolean

Implementation of Pattern

Inherited from Pattern.hasInitializer

Overrides void

Returns: boolean


hasOwnProperty

hasOwnProperty(v: PropertyKey): boolean

Inherited from Pattern.hasOwnProperty

Overrides Pattern.hasOwnProperty

Determines whether an object has a property with the specified name.

Parameters:

NameTypeDescription
vPropertyKeyA property name.

Returns: boolean


isPrototypeOf

isPrototypeOf(v: Object): boolean

Inherited from Pattern.isPrototypeOf

Overrides Pattern.isPrototypeOf

Determines whether an object exists in another object's prototype chain.

Parameters:

NameTypeDescription
vObjectAnother object whose prototype chain is to be checked.

Returns: boolean


propertyIsEnumerable

propertyIsEnumerable(v: PropertyKey): boolean

Inherited from Pattern.propertyIsEnumerable

Overrides Pattern.propertyIsEnumerable

Determines whether a specified property is enumerable.

Parameters:

NameTypeDescription
vPropertyKeyA property name.

Returns: boolean


setInitializer

setInitializer(initializer: any): void

Implementation of Pattern

Inherited from Pattern.setInitializer

Overrides void

Parameters:

NameType
initializerany

Returns: void


toLocaleString

toLocaleString(): string

Inherited from Pattern.toLocaleString

Overrides Pattern.toLocaleString

Returns a date converted to a string using the current locale.

Returns: string


toString

toString(): string

Inherited from Pattern.toString

Overrides Pattern.toString

Returns a string representation of an object.

Returns: string


valueOf

valueOf(): Object

Inherited from Pattern.valueOf

Overrides Pattern.valueOf

Returns the primitive value of the specified object.

Returns: Object


Static getDescriber

getDescriber(): Describer

Inherited from Pattern.getDescriber

Overrides void

Returns: Describer


Static setDescriber

setDescriber(describer: Describer): void

Inherited from Pattern.setDescriber

Overrides void

Parameters:

NameType
describerDescriber

Returns: void