ModelLinksAny
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