Array of non-primitives to map over
This can be class instances, plain objects, or anything supported by WeakMap's key
How to transform each element from data,
similar to if you were to use Array map yourself.
This function will be called only when needed / on-demand / lazily.
Reactivily apply a map function to each element in an array,
persisting map-results for each object, based on identity.
This is useful when you have a large collection of items that need to be transformed into a different shape (adding/removing/modifying data/properties) and you want the transform to be efficient when iterating over that data.
A common use case where this map resource provides benefits over is
class MyClass {\
@cached
get wrappedRecords() {
return this.records.map(record => new SomeWrapper(record));
}
}
Even though the above is @cached, if any tracked data accessed during the evaluation of wrappedRecords
changes, the entire array.map will re-run, often doing duplicate work for every unchanged item in the array.
Array of non-primitives to map over
This can be class instances, plain objects, or anything supported by WeakMap's key
How to transform each element from data,
similar to if you were to use Array map yourself.
This function will be called only when needed / on-demand / lazily.
an object that behaves like an array. This shouldn't be modified directly. Instead, you can freely modify the data returned by the data function, which should be tracked in order to benefit from this abstraction.
Generated using TypeDoc
Map utility to use
mapwith@use