style(player/DOMManager/safeCSSRules): depend on interfaces

This commit is contained in:
Alex Kaminskii 2023-04-14 19:53:43 +02:00
parent 4f41a8303e
commit dea34ceeb8

View file

@ -1,14 +1,15 @@
import logger from 'App/logger';
export type { PostponedStyleSheet } from './VirtualDOM'
export function insertRule(sheet: CSSStyleSheet | PostponedStyleSheet, msg: { rule: string, index: number }) {
export function insertRule(
sheet: { insertRule: (rule: string, index: number) => void },
msg: { rule: string, index: number }
) {
try {
sheet.insertRule(msg.rule, msg.index)
} catch (e) {
logger.warn(e, msg)
try {
sheet.insertRule(msg.rule, 0)
sheet.insertRule(msg.rule, 0) // TODO: index renumeration in case of subsequent rule deletion
logger.warn("Inserting rule into 0-index", e, msg)
} catch (e) {
logger.warn("Cannot insert rule.", e, msg)
@ -16,7 +17,10 @@ export function insertRule(sheet: CSSStyleSheet | PostponedStyleSheet, msg: { ru
}
}
export function deleteRule(sheet: CSSStyleSheet | PostponedStyleSheet, msg: { index: number }) {
export function deleteRule(
sheet: { deleteRule: (index: number) => void },
msg: { index: number }
) {
try {
sheet.deleteRule(msg.index)
} catch (e) {