law-common 10.40.1-beta.4 → 10.40.1-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,7 +22,8 @@ export declare class EntityModelRelationHelper {
22
22
  entityMap: EntityMap;
23
23
  entityModelMap: EntityMap;
24
24
  entityModelIndexMap: EntityIndexMap;
25
- constructor(entityMap: EntityMap);
25
+ constructor(entityMap: EntityMap, init?: boolean);
26
+ static getClone(entity: EntityModelRelationHelper): EntityModelRelationHelper;
26
27
  private init;
27
28
  private toEntityModelMap;
28
29
  fromEntityToEntityModel<T extends EntityEnum | VirtualEntityEnum>(entity: EnumEntityType<T>, entityEnum: T): BaseEntityModel<T>;
@@ -32,11 +33,12 @@ export declare class EntityModelRelationHelper {
32
33
  populateRelationsByEntityModel(entityModel: BaseEntityModel<EntityEnum | VirtualEntityEnum>): void;
33
34
  addEntityModel<T extends EntityEnum | VirtualEntityEnum>(entityModel: BaseEntityModel<T>, config?: {
34
35
  populateRelations?: boolean;
35
- }): void;
36
+ }): EntityModelRelationHelper;
36
37
  addEntity<T extends EntityEnum | VirtualEntityEnum>(entity: EnumEntityType<T>, entityEnum: T, config?: {
37
38
  populateRelations?: boolean;
38
- }): void;
39
+ }): EntityModelRelationHelper;
39
40
  updateEntityModel<T extends EntityEnum | VirtualEntityEnum>(entityModel: BaseEntityModel<T>, config?: {
40
41
  populateRelations?: boolean;
41
- }): void;
42
+ }): EntityModelRelationHelper;
43
+ deleteById(entityEnum: EntityEnum, id: number): EntityModelRelationHelper;
42
44
  }
@@ -136,11 +136,18 @@ function removeEntityById(entityIndexMap, entity, id) {
136
136
  }
137
137
  }
138
138
  class EntityModelRelationHelper {
139
- constructor(entityMap) {
139
+ constructor(entityMap, init = true) {
140
140
  this.entityMap = entityMap;
141
141
  this.entityModelMap = {};
142
142
  this.entityModelIndexMap = {};
143
- this.init();
143
+ if (init)
144
+ this.init();
145
+ }
146
+ static getClone(entity) {
147
+ const clone = new EntityModelRelationHelper(entity.entityMap, false);
148
+ clone.entityModelMap = Object.assign({}, entity.entityModelMap);
149
+ clone.entityModelIndexMap = Object.assign({}, entity.entityModelIndexMap);
150
+ return clone;
144
151
  }
145
152
  init() {
146
153
  this.toEntityModelMap();
@@ -197,12 +204,14 @@ class EntityModelRelationHelper {
197
204
  if (config.populateRelations) {
198
205
  this.populateRelationsByEntityModel(entityModel);
199
206
  }
207
+ return EntityModelRelationHelper.getClone(this);
200
208
  }
201
209
  addEntity(entity, entityEnum, config = { populateRelations: false }) {
202
210
  if (!(entityEnum in exports.entityEnumToEntityModel)) {
203
211
  throw new Error(`Unknown entity: ${entityEnum}`);
204
212
  }
205
213
  this.addEntityModel(this.fromEntityToEntityModel(entity, entityEnum), config);
214
+ return EntityModelRelationHelper.getClone(this);
206
215
  }
207
216
  updateEntityModel(entityModel, config = { populateRelations: false }) {
208
217
  const entityEnum = entityModel.entityName;
@@ -212,6 +221,13 @@ class EntityModelRelationHelper {
212
221
  if (config.populateRelations) {
213
222
  this.populateRelationsByEntityModel(entityModel);
214
223
  }
224
+ return EntityModelRelationHelper.getClone(this);
225
+ }
226
+ deleteById(entityEnum, id) {
227
+ if (this.entityModelIndexMap[entityEnum]) {
228
+ delete this.entityModelIndexMap[entityEnum][id];
229
+ }
230
+ return EntityModelRelationHelper.getClone(this);
215
231
  }
216
232
  }
217
233
  exports.EntityModelRelationHelper = EntityModelRelationHelper;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "law-common",
3
- "version": "10.40.1-beta.4",
3
+ "version": "10.40.1-beta.6",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [