function makeDataObservable(ctx) {
    const data = ctx.data;
    if (!data) {
        return;
    }

    if (isPlainObject(data)) {
        /* eslint-disable no-use-before-define */
        let observer = new Observer(ctx, data);
        Object.defineProperties(
            ctx, proxyObject(observer, data, ctx)
        );
        return observer;
    }

    let err = new Error('data require plain object');
    err.isTypeError = true;
    throw err;
}
function makeDataObservable(ctx) {
    const data = ctx.data;
    if (!data) {
        return;
    }

    if (isPlainObject(data)) {
        
        let observer = new Observer(ctx, data);
        Object.defineProperties(
            ctx, proxyObject(observer, data, ctx)
        );
        return observer;
    }

    let err = new Error('data require plain object');
    err.isTypeError = true;
    throw err;
}
function makeDataObservable ( ctx ) { const data = ctx . data ; if ( ! data ) { return ; } if ( isPlainObject ( data ) ) { /* eslint-disable no-use-before-define */ let observer = new Observer ( ctx , data ) ; Object . defineProperties ( ctx , proxyObject ( observer , data , ctx ) ) ; return observer ; } let err = new Error ( 'data require plain object' ) ; err . isTypeError = true ; throw err ; }
Make data observable

@inner
@param {Object} ctx the component instance context
@return {Observer} the observer
Make data observable