UNPKG

682 BJavaScriptView Raw
1"use strict"
2
3const anyDataURLRegexp = /^data:text\/css(?:;(base64|plain))?,/i
4const base64DataURLRegexp = /^data:text\/css;base64,/i
5const plainDataURLRegexp = /^data:text\/css;plain,/i
6
7function isValid(url) {
8 return anyDataURLRegexp.test(url)
9}
10
11function contents(url) {
12 if (base64DataURLRegexp.test(url)) {
13 // "data:text/css;base64,".length === 21
14 return Buffer.from(url.slice(21), "base64").toString()
15 }
16
17 if (plainDataURLRegexp.test(url)) {
18 // "data:text/css;plain,".length === 20
19 return decodeURIComponent(url.slice(20))
20 }
21
22 // "data:text/css,".length === 14
23 return decodeURIComponent(url.slice(14))
24}
25
26module.exports = {
27 isValid,
28 contents,
29}