.map((c) => ({align: 'preved', ...c})
и TS не покажет ошибку (?<=^|[.?!])(?![^.?!]*?\bslovo2\b[^.?!]+?\bslovo\b)[^.?!]*?\bslovo\b[^.?!]*
\b
справа и слева от slovo. Это условие на границу слов, т.е. оно гарантирует, что слово не является частью другого слова.\b
перед/после него на (?<![a-zа-яё0-9])
или (?![a-zа-яё0-9])
соответственно. Promise.resolve().then(() => console.log('then1')).then(() => console.log('then2'))
потому что когда делал тип по имени класса, он ругался
все равно надо будет выделить место на новой памяти и перенести все элементы туда.
new MirrorObject(["one", "two", "three"])
function createObj<const A extends string[]>(a: A): {[K in A[number]]: K} {
return Object.fromEntries(a.map((v) => [v, v])) as {[K in A[number]]: K};
}
const obj = createObj(["one", "two", "three"]); // см. по ховеру
можно просто отдельное свойство добавить, в котором и будет объект с нужными свойствами
database.getStorage<MatchStorage>(StorageName.Matches);
database.getStorage(StorageName.Matches) as MatchStorage;
, она не должна вводить в заблуждение.В классе MyDatabase я использую синглтон паттерн
Правильно ли я понимаю, что ваше решение базируется на том, что обязательно надо вводить дженерик на классе Database и иначе никак?