|
1 | 1 | import Facade from '@js-entity-repos/core/dist/Facade';
|
2 | 2 | import Entity from '@js-entity-repos/core/dist/types/Entity';
|
3 |
| -import FacadeConfig from './FacadeConfig'; |
4 | 3 | import FactoryConfig from './FactoryConfig';
|
5 |
| -import countEntities from './functions/countEntities'; |
6 |
| -import createEntity from './functions/createEntity'; |
7 |
| -import getEntities from './functions/getEntities'; |
8 |
| -import getEntity from './functions/getEntity'; |
9 |
| -import patchEntity from './functions/patchEntity'; |
10 |
| -import removeEntities from './functions/removeEntities'; |
11 |
| -import removeEntity from './functions/removeEntity'; |
12 |
| -import replaceEntity from './functions/replaceEntity'; |
13 | 4 | import createPromiser from './utils/createPromiser';
|
| 5 | +import syncFactory from './utils/syncFactory'; |
14 | 6 |
|
15 | 7 | export default <E extends Entity>(factoryConfig: FactoryConfig<E>): Facade<E> => {
|
16 |
| - // tslint:disable-next-line:no-let |
17 |
| - let entities: E[] = []; |
18 |
| - const facadeConfig: FacadeConfig<E> = { |
19 |
| - defaultPaginationLimit: 10, |
20 |
| - getEntities: () => entities, |
21 |
| - setEntities: (nextEntities) => entities = nextEntities, |
22 |
| - ...factoryConfig, |
23 |
| - }; |
| 8 | + const syncFacade = syncFactory(factoryConfig); |
24 | 9 | return {
|
25 |
| - countEntities: createPromiser(countEntities<E>(facadeConfig)), |
26 |
| - createEntity: createPromiser(createEntity<E>(facadeConfig)), |
27 |
| - getEntities: createPromiser(getEntities<E>(facadeConfig)), |
28 |
| - getEntity: createPromiser(getEntity<E>(facadeConfig)), |
29 |
| - patchEntity: createPromiser(patchEntity<E>(facadeConfig)), |
30 |
| - removeEntities: createPromiser(removeEntities<E>(facadeConfig)), |
31 |
| - removeEntity: createPromiser(removeEntity<E>(facadeConfig)), |
32 |
| - replaceEntity: createPromiser(replaceEntity<E>(facadeConfig)), |
| 10 | + countEntities: createPromiser(syncFacade.countEntities), |
| 11 | + createEntity: createPromiser(syncFacade.createEntity), |
| 12 | + getEntities: createPromiser(syncFacade.getEntities), |
| 13 | + getEntity: createPromiser(syncFacade.getEntity), |
| 14 | + patchEntity: createPromiser(syncFacade.patchEntity), |
| 15 | + removeEntities: createPromiser(syncFacade.removeEntities), |
| 16 | + removeEntity: createPromiser(syncFacade.removeEntity), |
| 17 | + replaceEntity: createPromiser(syncFacade.replaceEntity), |
33 | 18 | };
|
34 | 19 | };
|
0 commit comments