@vue-async/resource-manager
Version:
Resource Manager.
33 lines • 1.01 kB
JavaScript
import Suspense, { COMPONENT_NAME } from './ability/Suspense';
import lazy from './ability/lazy';
import createResource from './ability/createResource';
export default function install(Vue, options) {
if (options === void 0) { options = {}; }
if (install.installed)
return;
install.installed = true;
Vue.component('Suspense', Suspense);
var opts = Object.assign({
mode: 'visible',
}, options);
Vue.setSuspenseOptions = function (options) {
Object.assign(opts, options);
};
Vue.lazy = lazy.bind(null);
Object.defineProperties(Vue.prototype, {
createResource: {
value: createResource.bind(null),
writable: false,
enumerable: true,
configurable: true,
},
});
Vue.mixin({
created: function () {
if (this.$options.name === COMPONENT_NAME) {
this.$options.suspense = opts;
}
},
});
}
//# sourceMappingURL=install.js.map