import https from 'node:https'
const UA = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'
const isValidURL = url => {
return /fonts.googleapis.com/.test(url)
}
const downloadFont = url => {
return new Promise((resolve) => {
let rawData = ''
https.get(
url,
{
headers: {
'user-agent': UA,
},
},
res => {
res.on('data', chunk => {
rawData += chunk
})
res.on('end', () => {
resolve(rawData.toString('utf8'))
})
}
)
})
}
const createInlineCss = async url => {
if (!isValidURL(url)) {
throw new Error('Invalid Google Fonts URL')
}
const content = await downloadFont(url)
return (
``+
``+
``
)
}
export default createInlineCss