@oaklean/profiler-core
Version:
Part of the @oaklean suite. It provides all basic functions to work with the `.oak` file format. It allows parsing the `.oak` file format as well as tools for analyzing the measurement values. It also provides all necessary capabilities required for prec
26 lines • 2.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataUrlUtils = void 0;
const VALID_DATA_URL_REGEX = /^(data:)([\w/+-]*)((?:;charset=[\w-]+)?;base64){0,1},(.*)$/i;
class DataUrlUtils {
static isDataUrl(s) {
return VALID_DATA_URL_REGEX.test((s || '').trim());
}
static base64StringFromDataUrl(s) {
if (!DataUrlUtils.isDataUrl(s)) {
return null;
}
const parts = s.trim().match(VALID_DATA_URL_REGEX);
if (parts === null || parts[3] === undefined || parts[4] === undefined) {
return null;
}
const contentType = parts[3].slice(1);
const content = parts[4];
if (contentType !== 'base64' && contentType !== 'charset=utf-8;base64') {
throw new Error(`DataUrlUtils.base64StringFromDataUrl: The Format ${contentType} is not supported`);
}
return content;
}
}
exports.DataUrlUtils = DataUrlUtils;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVVybFV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hlbHBlci9EYXRhVXJsVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBTSxvQkFBb0IsR0FDekIsNkRBQTZELENBQUE7QUFFOUQsTUFBYSxZQUFZO0lBQ3hCLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBUztRQUN6QixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBUztRQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxDQUFBO1FBQ1osQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtRQUVsRCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEUsT0FBTyxJQUFJLENBQUE7UUFDWixDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNyQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFeEIsSUFBSSxXQUFXLEtBQUssUUFBUSxJQUFJLFdBQVcsS0FBSyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3hFLE1BQU0sSUFBSSxLQUFLLENBQ2Qsb0RBQW9ELFdBQVcsbUJBQW1CLENBQ2xGLENBQUE7UUFDRixDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUE7SUFDZixDQUFDO0NBQ0Q7QUEzQkQsb0NBMkJDIn0=