ModelLinksAny
Class: ModelLinksAny<K, T>
Defined in: packages/models/src/polymorphic.ts:132
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
Implements
ModelLinker<T,"CustomLinks">
Indexable
[
index:number]:ModelAnyRefWithData<K,T>
Constructors
Constructor
new ModelLinksAny<
K,T>(targets?):ModelLinksAny<K,T>
Defined in: packages/models/src/polymorphic.ts:153
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/src/polymorphic.ts:139
[relation role]
Implementation of
Accessors
length
Get Signature
get length():
number
Defined in: packages/models/src/polymorphic.ts:192
Get number of references
Returns
number
number of references
Methods
[iterator]()
[iterator]():
Iterator<ModelAnyRefWithData<K,T>>
Defined in: packages/models/src/polymorphic.ts:287
Return the iterator for this instance
Returns
Iterator<ModelAnyRefWithData<K, T>>
reference iterator
add()
add(
target,custom?):ModelAnyRefWithData<K,T>
Defined in: packages/models/src/polymorphic.ts:211
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> |undefined
Defined in: packages/models/src/polymorphic.ts:253
Return reference at the index
Parameters
index
number
array index (negative counts from the end)
Returns
ModelAnyRefWithData<K, T> | undefined
reference at the index
filter()
filter(
predicate):ModelAnyRefWithData<K,T>[]
Defined in: packages/models/src/polymorphic.ts:271
Filter operation
Parameters
predicate
(reference, index) => boolean
reference predicate
Returns
ModelAnyRefWithData<K, T>[]
matching references
map()
map<
U>(callback):U[]
Defined in: packages/models/src/polymorphic.ts:262
Map operation
Type Parameters
U
U
Parameters
callback
(reference, index) => U
mapper
Returns
U[]
mapped results
pop()
pop():
ModelAnyRefWithData<K,T> |undefined
Defined in: packages/models/src/polymorphic.ts:244
Pop operation
Returns
ModelAnyRefWithData<K, T> | undefined
last reference, removing it
push()
push(...
values):number
Defined in: packages/models/src/polymorphic.ts:223
Append serialized references.
Parameters
values
...ModelLinkData<K>[]
references
Returns
number
new length
remove()
remove(
target):boolean
Defined in: packages/models/src/polymorphic.ts:232
Remove every link to one target, comparing both model and key.
Parameters
target
ModelLinkData<object> | T
model or reference
Returns
boolean
whether anything was removed
set()
set(
values?):void
Defined in: packages/models/src/polymorphic.ts:201
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/src/polymorphic.ts:279
Serialize this instance to a JSON-compatible value
Returns
ModelLinkData<K>[]
serialized references, never target objects