js-model — минималистичная библиотека моделей JavaScript для клиентских приложений.
Определение модели и атрибуты
const User = Model('user', function () {
this.attr('name', String);
this.attr('email', String);
this.attr('admin', Boolean);
this.validate(function () {
if (!this.attr('email')) {
this.errors.add('email', 'is required');
}
});
});
const user = new User({ name: 'Alice', email: '[email protected]' });
user.attr('name'); // "Alice"
user.attr('name', 'Bob'); // updates name
user.isValid(); // true
Коллекции и сохранение
User.add(user); // Добавить экземпляр в коллекцию
User.all(); // Вернуть массив всех пользователей
User.find(1); // Поиск по первичному ключу ID
User.select(u => u.attr('admin'));// Фильтрация по условию