ModelRegistry
ModelRegistry
Registry for managing model classes and their aliases. Provides centralized model registration and retrieval with support for aliases and auto-discovery.
models
Map of model names to model classes
aliases
Map of aliases to model names
register
Registers a model class with optional aliases.
Parameters
| Name | Description |
|---|---|
name | Primary name for the model |
modelClass | Model class constructor |
aliases | Optional array of alias names |
Example
registry.register('User', User, ['user', 'users'])
.register('Post', Post, ['post', 'posts'])
.register('Comment', Comment);returns — This registry instance for chaining
get
Retrieves a model class by name or alias.
Parameters
| Name | Description |
|---|---|
name | Model name or alias |
Example
const User = registry.get<UserAttributes, User>('User');
const user = new User({ name: 'John' });
// Using alias
const SameUser = registry.get('users');returns — Model class constructor
has
Checks if a model is registered.
Parameters
| Name | Description |
|---|---|
name | Model name or alias to check |
Example
if (registry.has('User')) {
console.log('User model is registered');
}
if (registry.has('users')) {
console.log('User model found by alias');
}returns — True if model exists in registry
all
Gets all registered models.
returns — Map of model names to model classes
getModelNames
Gets all registered model names.
returns — Array of model names
autoDiscover
Auto-discovers models in a directory. Note: This is a placeholder implementation for future enhancement.
Parameters
| Name | Description |
|---|---|
directory | Directory path to scan for models |
Example
registry.autoDiscover('./app/Models');pluralize
Converts a singular word to plural form. Simple pluralization rules for English words.
Parameters
| Name | Description |
|---|---|
word | Word to pluralize |
Example
pluralize('user') // 'users'
pluralize('category') // 'categories'
pluralize('box') // 'boxes'returns — Pluralized word
getInstance
Gets the singleton instance of ModelRegistry.
returns — The ModelRegistry instance
