export abstract class BaseRepository {
getEntity() {
throw new Error("Method not implemented.")
}
}
class Human extends BaseRepository {...}
type TRepoLibKey = 'api-repo-1' | 'api-repo-2';
const libRepositories = {
'api-repo-1': ApiRepo1,
'api-repo-2': ApiRepo2
};
const repositoryGetter = (libName: TRepoLibKey = 'lib-api') => (
libRepositories[libName]
);
const LibApi = repositoryGetter();
const b = new LibApi(apiConfig);
Можно было бы, конечно проверить/добавить https перед валидацией, а не после, но тогда практически любая чушь станет валидной.
В общем, наверное, проще не переусложнять имеющуюся регулярку, а написать отдельную, которая, в случае false в первой, будет проверять дополнительно валидность строк вида "www.google.com".