| 
					
				 | 
			
			
				@@ -135,6 +135,28 @@ export class DataModule extends BaseModule { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * registerEvents - Register events for schema with event module 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private async _registerEventListeners< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ModelName extends keyof Models, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		SchemaType extends Schemas[keyof ModelName] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	>(schema: SchemaType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		const eventListeners = schema.get("eventListeners"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			typeof eventListeners !== "object" || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Object.keys(eventListeners).length === 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		await Promise.all( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Object.entries(eventListeners).map(async ([event, callback]) => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				EventsModule.subscribe("event", event, callback) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * loadModel - Import and load model schema 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -174,6 +196,8 @@ export class DataModule extends BaseModule { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		await this._registerEvents(modelName, schema); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		await this._registerEventListeners(schema); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		schema.set("toObject", { getters: true, virtuals: true }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		schema.set("toJSON", { getters: true, virtuals: true }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |