vector-im-hydrogen-web/src/observable/value/index.ts
2023-01-26 11:40:40 +01:00

17 lines
944 B
TypeScript

// In order to avoid a circular dependency problem at runtime between BaseObservableValue
// and the classes that extend it, it's important that:
//
// 1) It always remain the first module exported below.
// 2) Anything that imports any of the classes in this module
// ONLY import them from this index.ts file.
//
// See https://medium.com/visual-development/how-to-fix-nasty-circular-dependency-issues-once-and-for-all-in-javascript-typescript-a04c987cf0de
// for more on why this discipline is necessary.
export {BaseObservableValue} from './BaseObservableValue';
export {EventObservableValue} from './EventObservableValue';
export {FlatMapObservableValue} from './FlatMapObservableValue';
export {PickMapObservableValue} from './PickMapObservableValue';
export {RetainedObservableValue} from './RetainedObservableValue';
export {MapSizeObservableValue} from './MapSizeObservableValue';
export {ObservableValue} from './ObservableValue';