50 lines
1.3 KiB
TypeScript
50 lines
1.3 KiB
TypeScript
/**
|
|
* @typedef {Object} AxiosResponse
|
|
* @property {Object} data
|
|
* @property {Object} headers
|
|
* @property {Object} config
|
|
* @property {Object} request
|
|
* @property {number} code
|
|
* @property {string} statusText
|
|
*/
|
|
/**
|
|
* @typedef {Object} AxiosError
|
|
* @property {AxiosResponse} response
|
|
*/
|
|
import axios from 'axios'
|
|
import adapter from 'axios-userscript-adapter'
|
|
|
|
axios.defaults.adapter = adapter
|
|
|
|
export { axios }
|
|
|
|
export function extractNumber (s: string) {
|
|
var match = /(\+?[0-9]{4,})/.exec(s)
|
|
if (!match) {
|
|
return undefined
|
|
}
|
|
|
|
var number = match[1]
|
|
if (number.startsWith('+')) {
|
|
number = number.replace('+', '00')
|
|
}
|
|
|
|
return number
|
|
}
|
|
|
|
export function fireChangeEvents (element: Element) {
|
|
var changeEvent = null
|
|
changeEvent = document.createEvent('HTMLEvents')
|
|
changeEvent.initEvent('input', true, true)
|
|
element.dispatchEvent(changeEvent)
|
|
console.debug('input event dispatched for element: ' + element.id)
|
|
changeEvent = document.createEvent('HTMLEvents')
|
|
changeEvent.initEvent('keyup', true, true)
|
|
element.dispatchEvent(changeEvent)
|
|
console.debug('keyup event dispatched for element: ' + element.id)
|
|
changeEvent = document.createEvent('HTMLEvents')
|
|
changeEvent.initEvent('change', true, true)
|
|
element.dispatchEvent(changeEvent)
|
|
console.debug('change event dispatched for element: ' + element.id)
|
|
}
|