11import Facade from '@js-entity-repos/core/dist/Facade' ;
22import Entity from '@js-entity-repos/core/dist/types/Entity' ;
3- import Config from './Config' ;
3+ import FacadeConfig from './FacadeConfig' ;
4+ import FactoryConfig from './FactoryConfig' ;
45import countEntities from './functions/countEntities' ;
56import createEntity from './functions/createEntity' ;
67import getEntities from './functions/getEntities' ;
@@ -10,15 +11,23 @@ import removeEntities from './functions/removeEntities';
1011import removeEntity from './functions/removeEntity' ;
1112import replaceEntity from './functions/replaceEntity' ;
1213
13- export default < E extends Entity > ( config : Config < E > ) : Facade < E > => {
14+ export default < E extends Entity > ( factoryConfig : FactoryConfig < E > ) : Facade < E > => {
15+ // tslint:disable-next-line:no-let
16+ let entities : E [ ] = [ ] ;
17+ const facadeConfig : FacadeConfig < E > = {
18+ defaultPaginationLimit : 10 ,
19+ getEntities : ( ) => entities ,
20+ setEntities : ( nextEntities ) => entities = nextEntities ,
21+ ...factoryConfig ,
22+ } ;
1423 return {
15- countEntities : countEntities < E > ( config ) ,
16- createEntity : createEntity < E > ( config ) ,
17- getEntities : getEntities < E > ( config ) ,
18- getEntity : getEntity < E > ( config ) ,
19- patchEntity : patchEntity < E > ( config ) ,
20- removeEntities : removeEntities < E > ( config ) ,
21- removeEntity : removeEntity < E > ( config ) ,
22- replaceEntity : replaceEntity < E > ( config ) ,
24+ countEntities : countEntities < E > ( facadeConfig ) ,
25+ createEntity : createEntity < E > ( facadeConfig ) ,
26+ getEntities : getEntities < E > ( facadeConfig ) ,
27+ getEntity : getEntity < E > ( facadeConfig ) ,
28+ patchEntity : patchEntity < E > ( facadeConfig ) ,
29+ removeEntities : removeEntities < E > ( facadeConfig ) ,
30+ removeEntity : removeEntity < E > ( facadeConfig ) ,
31+ replaceEntity : replaceEntity < E > ( facadeConfig ) ,
2332 } ;
2433} ;
0 commit comments