2019-02-26 20:48:57 +01:00
|
|
|
import SortedMapList from "./list/SortedMapList.js";
|
|
|
|
import FilteredMap from "./map/FilteredMap.js";
|
|
|
|
import MappedMap from "./map/MappedMap.js";
|
|
|
|
import BaseObservableMap from "./map/BaseObservableMap.js";
|
|
|
|
// re-export "root" (of chain) collections
|
2019-06-01 17:38:23 +02:00
|
|
|
export { default as ObservableArray } from "./list/ObservableArray.js";
|
|
|
|
export { default as SortedArray } from "./list/SortedArray.js";
|
2019-02-26 20:48:57 +01:00
|
|
|
export { default as ObservableMap } from "./map/ObservableMap.js";
|
|
|
|
|
|
|
|
// avoid circular dependency between these classes
|
|
|
|
// and BaseObservableMap (as they extend it)
|
|
|
|
Object.assign(BaseObservableMap.prototype, {
|
2019-02-26 22:45:58 +01:00
|
|
|
sortValues(comparator) {
|
2019-02-26 20:48:57 +01:00
|
|
|
return new SortedMapList(this, comparator);
|
|
|
|
},
|
|
|
|
|
|
|
|
mapValues(mapper) {
|
|
|
|
return new MappedMap(this, mapper);
|
|
|
|
},
|
|
|
|
|
|
|
|
filterValues(filter) {
|
|
|
|
return new FilteredMap(this, filter);
|
|
|
|
}
|
|
|
|
});
|