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
|
-
}):
|
|
36
|
+
}): EntityModelRelationHelper;
|
|
36
37
|
addEntity<T extends EntityEnum | VirtualEntityEnum>(entity: EnumEntityType<T>, entityEnum: T, config?: {
|
|
37
38
|
populateRelations?: boolean;
|
|
38
|
-
}):
|
|
39
|
+
}): EntityModelRelationHelper;
|
|
39
40
|
updateEntityModel<T extends EntityEnum | VirtualEntityEnum>(entityModel: BaseEntityModel<T>, config?: {
|
|
40
41
|
populateRelations?: boolean;
|
|
41
|
-
}):
|
|
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
|
-
|
|
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;
|