export var Observable;
(function (Observable) {
    function observe(obj, callback) {
        return new Proxy(obj, {
            set(target, prop, value) {
                target[prop] = value;
                callback(obj);
                return true;
            },
            get(target, prop) {
                const value = target[prop];
                if (typeof value === 'object' && value !== null) {
                    return observe(value, callback);
                }
                return value;
            }
        });
    }
    Observable.observe = observe;
})(Observable || (Observable = {}));
//# sourceMappingURL=Observable.js.map