[string, string, string[]][]
<div class="product__button__wrapper">
${await checkGoodInCart(item.id)}
</div>
function call<R>(f: () => R): R {
return f()
}
if (module.hot) {
module.hot.accept();
// вот тут должна быть логика по замене старого модуля на новый
}
Для css такую логику добавляет css-loaderМетоды SetTimeOut() и setInterval() всегда выделают дополнительный поток и работают независимо. Есть ли способ сделать нормальную Задержку без выделения потока?JS однопоточный, колбэки setTimeout и setInterval выполняются на том же потоке. Именно поэтому кстати, их задержка не фиксированная.
type Value<T> = (() => T) | T
function isFunctionValue<T>(value: Value<T>): value is () => T {
return typeof value === 'function'
}
function funcStr(value: Value<string>): string {
return isFunctionValue(value) ? value() : value
}
function funcTpl<T>(value: Value<T>): T {
return isFunctionValue(value) ? value() : value
}
type Value<T> = T extends (...args: never[]) => unknown ? never : (() => T) | T
function funcStr(value: Value<string>): string {
return typeof value === 'function' ? value() : value
}
function funcTpl<T>(value: Value<T>): T {
return typeof value === 'function' ? value() : value
}
function logDecorator<R, Args extends unknown[], This = void>(
f: (this: This, ...args: Args) => R
): (this: This, ...args: Args) => R {
return function(...args) {
console.log(f.name, this, args);
const result = f.apply(this, args);
console.log(f.name, result);
return result;
}
}
периодически к файлам на WSL2 нужен доступ из винды, например чтобы отредактировать хосты в Nginxчем не угодил nano или vim для этих целей? На край можно поставить на винду X server и запустить любой линуксовый gui редактор в wsl с переменной DISPLAY
type Test = {
srn: number;
qre?: unknown;
};
const test: Test = { srn: 123 };
(['srn', 'qre'] as const).forEach((p) => {
if (typeof test[p] === 'number') {
test[p] = 34;
}
});
type Test = {
srn: number
}
const test: Test = { srn: 123 };
['srn', 'qre'].forEach((p) => {
if (p === 'srn') {
test[p] = 34;
}
});
type Test = {
srn: number
}
const test: Test = { srn: 123 };
const isKeyofTest = (s: string): s is keyof Test =>
s === 'srn';
['srn', 'qre'].forEach((p) => {
if (isKeyofTest(p)) {
test[p] = 34;
}
});
import 'firebase'; // нужно, чтоб не перетирать модуль, а мержить
declare module 'firebase' {
namespace firebase {
export const getCurrentUser: () => Promise<User>; // User тоже надо заимпортить
}
}