@shopware-ag/meteor-admin-sdk
Version:
The Meteor SDK for the Shopware Administration.
19 lines • 965 B
JavaScript
import { computed, inject, unref } from 'vue';
import { getRepository } from './getRepository';
/**
* Reactive wrapper around getRepository that updates when dependencies change.
* Takes reactive references to entityName and/or repositoryFactory and returns
* a computed repository that updates when these inputs change.
*/
export function useRepository(entityNameRef, repositoryFactoryRef) {
const injectedFactory = inject('repositoryFactory');
return computed(() => {
const entityName = unref(entityNameRef);
const repositoryFactory = unref(repositoryFactoryRef);
return getRepository(entityName, repositoryFactory !== null && repositoryFactory !== void 0 ? repositoryFactory : (injectedFactory
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
? (entityName) => injectedFactory.create(entityName)
: undefined));
});
}
//# sourceMappingURL=useRepository.js.map