packages/okam-core/src/extend/data/vuex/Vue.js
function Vue(options) {
    let instance = Object.assign({}, options, observableComp.methods, watchComp.methods);
    instance.created = observableComp.created;
    instance.$destroy = observableComp.detached;

    // do not call setData API as for it's only an observable data instance, no view
    instance.__setViewData = () => {};
    // do not initialize computed props when created
    instance.__lazyInitCompute = true;
    instance.__proxyArrayApis = proxyArrayApis;

    // avoid methods defined on methods, so here pass `true`
    observableComp.$init.call(instance, true);
    watchComp.$init.call(instance, true);

    // init inner data get/set listener
    instance.__onDataGet = handleDataGetSet.bind(instance, true);
    instance.__onDataSet = handleDataGetSet.bind(instance, false);

    instance.created();

    // define observable data and exported on `_data` attribute (Vuex need it)
    let data = {};
    let rawData = options && options.data;
    if (rawData) {
        let def = {};
        Object.keys(rawData).forEach(k => {
            let descriptor = Object.getOwnPropertyDescriptor(instance, k);
            def[k] = descriptor;
        });
        Object.defineProperties(data, def);
    }
    instance._data = data;

    return instance;
}
function Vue(options) {
    let instance = Object.assign({}, options, observableComp.methods, watchComp.methods);
    instance.created = observableComp.created;
    instance.$destroy = observableComp.detached;

    // do not call setData API as for it's only an observable data instance, no view
    instance.__setViewData = () => {};
    // do not initialize computed props when created
    instance.__lazyInitCompute = true;
    instance.__proxyArrayApis = proxyArrayApis;

    // avoid methods defined on methods, so here pass `true`
    observableComp.$init.call(instance, true);
    watchComp.$init.call(instance, true);

    // init inner data get/set listener
    instance.__onDataGet = handleDataGetSet.bind(instance, true);
    instance.__onDataSet = handleDataGetSet.bind(instance, false);

    instance.created();

    // define observable data and exported on `_data` attribute (Vuex need it)
    let data = {};
    let rawData = options && options.data;
    if (rawData) {
        let def = {};
        Object.keys(rawData).forEach(k => {
            let descriptor = Object.getOwnPropertyDescriptor(instance, k);
            def[k] = descriptor;
        });
        Object.defineProperties(data, def);
    }
    instance._data = data;

    return instance;
}
function Vue ( options ) { let instance = Object . assign ( { } , options , observableComp . methods , watchComp . methods ) ; instance . created = observableComp . created ; instance . $destroy = observableComp . detached ; // do not call setData API as for it's only an observable data instance, no view instance . __setViewData = ( ) => { } ; // do not initialize computed props when created instance . __lazyInitCompute = true ; instance . __proxyArrayApis = proxyArrayApis ; // avoid methods defined on methods, so here pass `true` observableComp . $init . call ( instance , true ) ; watchComp . $init . call ( instance , true ) ; // init inner data get/set listener instance . __onDataGet = handleDataGetSet . bind ( instance , true ) ; instance . __onDataSet = handleDataGetSet . bind ( instance , false ) ; instance . created ( ) ; // define observable data and exported on `_data` attribute (Vuex need it) let data = { } ; let rawData = options && options . data ; if ( rawData ) { let def = { } ; Object . keys ( rawData ) . forEach ( k => { let descriptor = Object . getOwnPropertyDescriptor ( instance , k ) ; def [ k ] = descriptor ; } ) ; Object . defineProperties ( data , def ) ; } instance . _data = data ; return instance ; }
/* eslint-disable fecs-prefer-class 
Create fake Vue context

@param {Object} options the vue instance options
@return {Object}
/ * eslint - disable fecs - prefer - class Create fake Vue context