mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-23 18:41:38 +01:00
ac01c5c89a
* Specify type before parameter name Various JSDoc `@param` entries were specified as `name {type}` rather than `{type} name`. A couple of `@return` entries have been given types as well. * Use JSDoc optional syntax rather than Closure syntax * Use @returns rather than @return * Use consistent built-in type capitalization Primitive types are lower-case, and Object is upper-case. * Separate param/return description with a dash
31 lines
903 B
JavaScript
31 lines
903 B
JavaScript
/**
|
|
* Switch the CSS stylesheet used between 'rtl' and 'ltr'
|
|
* @param {('ltr' | 'rtl')} direction - Text direction, either left-to-right (ltr) or right-to-left (rtl)
|
|
*/
|
|
const switchDirection = async (direction) => {
|
|
if (direction === 'auto') {
|
|
direction = 'ltr'
|
|
}
|
|
let updatedLink
|
|
Array.from(document.getElementsByTagName('link'))
|
|
.filter(link => link.rel === 'stylesheet')
|
|
.forEach(link => {
|
|
if (link.title === direction && link.disabled) {
|
|
link.disabled = false
|
|
updatedLink = link
|
|
} else if (link.title !== direction && !link.disabled) {
|
|
link.disabled = true
|
|
}
|
|
})
|
|
if (updatedLink) {
|
|
return new Promise((resolve, reject) => {
|
|
updatedLink.onload = () => {
|
|
resolve()
|
|
}
|
|
updatedLink.onerror = () => reject(new Error(`Failed to load '${direction}' stylesheet`))
|
|
})
|
|
}
|
|
}
|
|
|
|
export default switchDirection
|