Я хочу использовать блокировку ориентации экрана (функция https://developer.mozilla.org/en-US/docs/Web/API/ScreenOrientation/lock) в различных веб-браузерах.
Вот моя попытка:
export function lock(orientation: OrientationLockType) {
const lockOrientation: (orientation: OrientationLockType) => boolean = screen.lockOrientation || screen.mozLockOrientation || screen.msLockOrientation || screen.orientation.lock;
lockOrientation(orientation);
}
Флаги визуального кода screen.mozLockOrientation
потому что он не существует в типе Screen
.
Поэтому я добавляю это
declare global {
interface Screen {
mozLockOrientation: (orientation: OrientationLockType) => boolean;
}
}
Однако tslint не нравится объявление типа mozLockOrientation
, потому что оно не являетсяподпись метода.
Итак, мои вопросы:
1) Что такое подпись метода и как я могу преобразовать вышеизложенное в сигнатуру метода?
2) Как я могуузнать правильный тип для screen.orientation.lock
?Я пытался orientation: { lock: (orientation: OrientationLockType) => boolean };
, но мне интересно, есть ли еще авторитетные источники.