Backend
by Artem
JavaScript
'use strict';
class Person {}
class Book {}
class Backend {
entityClasses = new Map();
getAll(EntityClass) {
return this.entityClasses.get(EntityClass).getAll(this);
}
registerEntityClass(EntityClass, config) {
this.entityClasses.set(EntityClass, config);
}
get(url) {
// return fetch(url, { method: 'GET' });
console.log('Getting ', url, '...');
}
}
const backend = new Backend();
backend.registerEntityClass(Person, {
getAll: backend => {
return backend.get('/people')
}
});
backend.registerEntityClass(Book, {
getAll: backend => {
return backend.get('/books')
}
});
backend.getAll(Person);
backend.getAll(Book);