import { createDecorator } from 'vue-class-component'; import { inheritInjected, needToProduceProvide, produceProvide, } from '../helpers/provideInject'; /** * decorator of a provide * @param key key * @return PropertyDecorator | void */ export function Provide(key) { return createDecorator(function (componentOptions, k) { var provide = componentOptions.provide; inheritInjected(componentOptions); if (needToProduceProvide(provide)) { provide = componentOptions.provide = produceProvide(provide); } provide.managed[k] = key || k; }); }