* unicode characters
* https://w3c.github.io/webdriver/webdriver-spec.html#character-types
*/
export const UNICODE_CHARACTERS = {
'NULL': '\uE000',
'Unidentified': '\uE000',
'Cancel': '\uE001',
'Help': '\uE002',
'Backspace': '\uE003',
'Back space': '\uE003',
'Tab': '\uE004',
'Clear': '\uE005',
'Return': '\uE006',
'Enter': '\uE007',
'Shift': '\uE008',
'Control': '\uE009',
'Control Left': '\uE009',
'Control Right': '\uE051',
'Alt': '\uE00A',
'Pause': '\uE00B',
'Escape': '\uE00C',
'Space': '\uE00D',
' ': '\uE00D',
'PageUp': '\uE00E',
'Pageup': '\uE00E',
'Page_Up': '\uE00E',
'PageDown': '\uE00F',
'Pagedown': '\uE00F',
'Page_Down': '\uE00F',
'End': '\uE010',
'Home': '\uE011',
'ArrowLeft': '\uE012',
'Left arrow': '\uE012',
'Arrow_Left': '\uE012',
'ArrowUp': '\uE013',
'Up arrow': '\uE013',
'Arrow_Up': '\uE013',
'ArrowRight': '\uE014',
'Right arrow': '\uE014',
'Arrow_Right': '\uE014',
'ArrowDown': '\uE015',
'Down arrow': '\uE015',
'Arrow_Down': '\uE015',
'Insert': '\uE016',
'Delete': '\uE017',
'Semicolon': '\uE018',
'Equals': '\uE019',
'Numpad 0': '\uE01A',
'Numpad 1': '\uE01B',
'Numpad 2': '\uE01C',
'Numpad 3': '\uE01D',
'Numpad 4': '\uE01E',
'Numpad 5': '\uE01F',
'Numpad 6': '\uE020',
'Numpad 7': '\uE021',
'Numpad 8': '\uE022',
'Numpad 9': '\uE023',
'Multiply': '\uE024',
'Add': '\uE025',
'Separator': '\uE026',
'Subtract': '\uE027',
'Decimal': '\uE028',
'Divide': '\uE029',
'F1': '\uE031',
'F2': '\uE032',
'F3': '\uE033',
'F4': '\uE034',
'F5': '\uE035',
'F6': '\uE036',
'F7': '\uE037',
'F8': '\uE038',
'F9': '\uE039',
'F10': '\uE03A',
'F11': '\uE03B',
'F12': '\uE03C',
'Command': '\uE03D',
'Meta': '\uE03D',
'ZenkakuHankaku': '\uE040',
'Zenkaku_Hankaku': '\uE040'
} as const
export const SUPPORTED_BROWSERNAMES = {
chrome: ['chrome', 'googlechrome', 'chromium', 'chromium-browser'],
firefox: ['firefox', 'ff', 'mozilla', 'mozilla firefox'],
edge: ['edge', 'microsoftedge', 'msedge'],
safari: ['safari', 'safari technology preview']
}
export const DEFAULT_HOSTNAME = 'localhost'
export const DEFAULT_PROTOCOL = 'http'
export const DEFAULT_PATH = '/'
export const HOOK_DEFINITION = {
type: 'object' as const,
validate: (param: unknown) => {
* option must be an array
*/
if (!Array.isArray(param)) {
throw new Error('a hook option needs to be a list of functions')
}
* array elements must be functions
*/
for (const option of param) {
* either a string
*/
if (typeof option === 'function') {
continue
}
throw new Error('expected hook to be type of function')
}
}
}