Skip to main content

ModelLinksAny

@webda/core


Class: ModelLinksAny<K, T>

Defined in: packages/models/lib/polymorphic.d.ts:63

Links to arbitrary model types. The second generic argument optionally restricts target model classes. Stored values are { model, key, ...custom }; links never cascade or remove dangling references automatically.

Type Parameters​

K​

K extends object = object

T​

T extends Storable = Storable

Implements​

  • ModelLinker<T, "CustomLinks">

Indexable​

[index: number]: ModelAnyRefWithData<K, T>

Constructors​

Constructor​

new ModelLinksAny<K, T>(targets?): ModelLinksAny<K, T>

Defined in: packages/models/lib/polymorphic.d.ts:80

Create a new ModelLinksAny instance

Parameters​

targets?​

readonly ModelClass<T>[]

optional exact target classes, supplied by the content mapper for the second generic argument

Returns​

ModelLinksAny<K, T>

Properties​

[RelationRole]​

readonly [RelationRole]: "CustomLinks"

Defined in: packages/models/lib/polymorphic.d.ts:67

[relation role]

Implementation of​

ModelLinker.[RelationRole]

Accessors​

length​

Get Signature​

get length(): number

Defined in: packages/models/lib/polymorphic.d.ts:85

Get number of references

Returns​

number

number of references

Methods​

[iterator]()​

[iterator](): Iterator<ModelAnyRefWithData<K, T>>

Defined in: packages/models/lib/polymorphic.d.ts:143

Return the iterator for this instance

Returns​

Iterator<ModelAnyRefWithData<K, T>>

reference iterator


add()​

add(target, custom?): ModelAnyRefWithData<K, T>

Defined in: packages/models/lib/polymorphic.d.ts:98

Add a model instance with custom data, or a serialized reference.

Parameters​

target​

T | ModelLinkData<K>

model instance or reference

custom?​

K

data stored alongside the reference

Returns​

ModelAnyRefWithData<K, T>

the new reference


at()​

at(index): ModelAnyRefWithData<K, T>

Defined in: packages/models/lib/polymorphic.d.ts:121

Return reference at the index

Parameters​

index​

number

array index (negative counts from the end)

Returns​

ModelAnyRefWithData<K, T>

reference at the index


filter()​

filter(predicate): ModelAnyRefWithData<K, T>[]

Defined in: packages/models/lib/polymorphic.d.ts:133

Filter operation

Parameters​

predicate​

(reference, index) => boolean

reference predicate

Returns​

ModelAnyRefWithData<K, T>[]

matching references


map()​

map<U>(callback): U[]

Defined in: packages/models/lib/polymorphic.d.ts:127

Map operation

Type Parameters​

U​

U

Parameters​

callback​

(reference, index) => U

mapper

Returns​

U[]

mapped results


pop()​

pop(): ModelAnyRefWithData<K, T>

Defined in: packages/models/lib/polymorphic.d.ts:115

Pop operation

Returns​

ModelAnyRefWithData<K, T>

last reference, removing it


push()​

push(...values): number

Defined in: packages/models/lib/polymorphic.d.ts:104

Append serialized references.

Parameters​

values​

...ModelLinkData<K>[]

references

Returns​

number

new length


remove()​

remove(target): boolean

Defined in: packages/models/lib/polymorphic.d.ts:110

Remove every link to one target, comparing both model and key.

Parameters​

target​

T | ModelLinkData<object>

model or reference

Returns​

boolean

whether anything was removed


set()​

set(values?): void

Defined in: packages/models/lib/polymorphic.d.ts:91

Replace the references, validating before changing the collection.

Parameters​

values?​

readonly ModelLinkData<K>[]

stored references

Returns​

void

Webda Auto Setter​


toJSON()​

toJSON(): ModelLinkData<K>[]

Defined in: packages/models/lib/polymorphic.d.ts:138

Serialize this instance to a JSON-compatible value

Returns​

ModelLinkData<K>[]

serialized references, never target objects