melanke / Watch.JS

watch the changes of any object or attribute

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WatchExcept

Torinth opened this issue · comments

Hi, we have run into a case where watchExcept would be helpful. The idea is instead of including props you exclude them. Our case is we retrieve part of our data and need to watch it while async loading other parts. when we set those parts we don't want the watch to occur. I wrote this is a workaround in our app for now but having this as a feature would be nice.

watchAllExcept = (obj, watcher, excludedProps: string[]) => {
var props: any[] = [];

    for (var prop1 in obj) { //for each attribute if obj is an object
        if (excludedProps.any(p => p === prop1)) {
            continue;
        }

        if (Object.prototype.hasOwnProperty.call(obj, prop1)) {
            props.push(prop1); //put in the props
        }
    }

    WatchJS.watch(obj, props, watcher);
}