import { getTrackedProperty } from "./tracked-property"; import { TrackedTypeForValue } from "../trackable"; import { createTracked } from "../factories"; // Moved here to avoid circular dependencies export const getOrSetupTrackedProperty = (obj: T, name: K, value: T[K]): TrackedTypeForValue => { return getTrackedProperty(obj, name, list => (list[name] = { subject: createTracked(value as T[K]) }).subject); }