import Dict from './Dict' 
 | 
import { mergeOptions } from './DictOptions' 
 | 
  
 | 
export default function(Vue, options) { 
 | 
  mergeOptions(options) 
 | 
  Vue.mixin({ 
 | 
    data() { 
 | 
      if (this.$options === undefined || this.$options.dicts === undefined || this.$options.dicts === null) { 
 | 
        return {} 
 | 
      } 
 | 
      const dict = new Dict() 
 | 
      dict.owner = this 
 | 
      return { 
 | 
        dict 
 | 
      } 
 | 
    }, 
 | 
    created() { 
 | 
      if (!(this.dict instanceof Dict)) { 
 | 
        return 
 | 
      } 
 | 
      options.onCreated && options.onCreated(this.dict) 
 | 
      this.dict.init(this.$options.dicts).then(() => { 
 | 
        options.onReady && options.onReady(this.dict) 
 | 
        this.$nextTick(() => { 
 | 
          this.$emit('dictReady', this.dict) 
 | 
          if (this.$options.methods && this.$options.methods.onDictReady instanceof Function) { 
 | 
            this.$options.methods.onDictReady.call(this, this.dict) 
 | 
          } 
 | 
        }) 
 | 
      }) 
 | 
    }, 
 | 
  }) 
 | 
} 
 |