The BaseEntity object that is raising the event. Null for remote-invalidate events where no local BaseEntity instance is available.
OptionalentityThe entity name for the event. Used primarily for remote-invalidate events where baseEntity is null but the entity name is known from the remote notification.
Any payload that is associated with the event. This can be any type of object and is used to pass additional information about the event.
OptionalproviderThe metadata provider associated with the entity that raised this event. Required for
remote-invalidate events where baseEntity is null and listeners (e.g. LocalCacheManager,
BaseEngine) need to resolve entity metadata from the correct provider in multi-provider
scenarios. For other event types, baseEntity.ProviderToUse is the source of truth and this
field can be omitted; listeners should fall back to baseEntity?.ProviderToUse and finally
to Metadata.Provider when no provider is available.
OptionalsaveIf type === 'save' this property can either be 'create' or 'update' to indicate the type of save operation that was performed.
The type of event that is being raised.
save_started, delete_started, load_started: Raised when an operation beginssave, delete, load_complete: Raised when an operation completes successfullynew_record: Raised when NewRecord() is calledtransaction_ready: Used to indicate that a transaction is ready to be submitted for execution. The TransactionGroup class uses this to know that all async preprocessing is done and it can now submit the transaction.remote-invalidate: Raised when a remote server (via Redis pub/sub → GraphQL subscription) notifies this client that cached data for an entity has changed. Used to trigger BaseEngine re-fetch from server.
Event type that is used to raise events and provided structured callbacks for any caller that is interested in registering for events. This type is also used for whenever a BaseEntity instance raises an event with MJGlobal.