Optionalinit: Partial<BaseEnginePropertyConfig>OptionalAddOptional, whether to add the result to the object, defaults to true if not specified
OptionalAutoOptional, defaults to true. If set to false, AutoRefresh for this item will be disabled. By default, whenever a BaseEntity event is emitted for a save/delete, if the entity name for this config matches the BaseEntity's entity name, the config will be refreshed. If this is set to false, that will not happen. NOTE: This is not a network notification mechanism, it only works within the local tier, so for example within a browser application, that brower's engine sub-classes will be updated when changes are made to entities in that application environment, and the same is true for MJAPI/Server based environments. If you need network based notification, additional infrastructure will be needed to implement that.
OptionalCacheWhen set to true, the engine will use the LocalCacheManager to cache results locally. On subsequent loads (unless forceRefresh is true), cached results will be returned immediately without hitting the server if they are still valid.
This is useful for frequently-accessed, relatively-static data that doesn't need real-time freshness. The cache is automatically invalidated when entity data changes.
OptionalCacheOptional TTL (time-to-live) in milliseconds for locally cached results when CacheLocal is true. After this time, cached results will be considered stale and fresh data will be fetched. If not specified, the LocalCacheManager's default TTL will be used (typically 5 minutes).
OptionalDatasetOptional, filters to apply to each item in a dataset, only applies when type is 'dataset' and is optional in those cases.
OptionalDatasetThe dataset name to load from the database, required if Type is 'dataset'
OptionalDatasetOptional, only used if Type is 'dataset', specifies how to handle the results of the dataset load. Defaults to 'single_property' if not specified. When set to 'single_property', the entire dataset is set to the property specified by PropertyName. When set to 'individual_properties', each item in the dataset is set to a property on the object with the name of the item's key plus the item's Code name. For example, if the item's key is 'Demo' and the item's Code name is 'FirstItem', the property set on the object would be 'Demo_FirstItem'.
OptionalDebounceOptional debounce time in milliseconds for this specific config. If not specified, uses the engine's default EntityEventDebounceTime (5000ms). This allows different entities to have different debounce delays.
OptionalEntityThe entity name to load from the database, required if Type is 'entity'
OptionalExpirationOptional, expiration time in milliseconds
OptionalFilterOptional, filters to apply to the data load, applies only when type is 'entity'. Use DatasetItemFilters for dataset filters.
Primary Key
OptionalOrderOptional, order by clause to apply to the data load, only applies when type is 'entity'
The name of the property in the class instance
OptionalResultControls whether loaded rows are returned as full BaseEntity subclass instances ('entity_object') or plain JavaScript objects ('simple').
Resolution order when this property is left undefined:
In other words, the effective default is 'entity_object' — leaving this undefined preserves the historical behavior. Do NOT initialize this field to a literal value here; it must remain undefined so the engine-level default can take effect.
The type of item to load, either 'entity' or 'dataset', defaults to 'entity'
ProtectedcopyCopies initialization data from a plain object to the class instance. Only copies properties that already exist on the class to prevent creating new fields. Special handling for DefaultValue fields to extract actual values from SQL Server syntax.
The initialization data object
Default JSON serialization for BaseInfo subclasses.
Emits all non-underscored direct field declarations. For _-prefixed private backing fields
(the MJ pattern for collection storage — e.g. _Fields, _RelatedEntities, _OrganicKeys),
emits the value of the corresponding same-named public getter instead. Purely computed getters
without a backing field (display-name formatters, derived flags) are intentionally skipped —
they can throw when source fields are null and don't belong on the wire anyway.
Nested BaseInfo instances and arrays of them unwrap automatically via JSON.stringify's native toJSON() protocol.
Subclasses may override to emit a filtered subset or custom shape (see EntityFieldValueInfo).
Property configuration for the BaseEngine class to automatically load/set properties on the class.