UNPKG

@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

27 lines 2.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DataUrlUtils = void 0; // eslint-disable-next-line no-useless-escape 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 parseDataUrl(s) { if (!DataUrlUtils.isDataUrl(s)) { return '{}'; } const parts = s.trim().match(VALID_DATA_URL_REGEX); if (parts === null || parts[3] === undefined || parts[4] === undefined) { return '{}'; } const contentType = parts[3].slice(1); const content = parts[4]; if (contentType !== 'base64' && contentType !== 'charset=utf-8;base64') { throw new Error(`DataUrlUtils.parseDataUrl: The Format ${contentType} is not supported`); } return Buffer.from(content, 'base64').toString('utf-8'); } } exports.DataUrlUtils = DataUrlUtils; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVVybFV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hlbHBlci9EYXRhVXJsVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQTZDO0FBQzdDLE1BQU0sb0JBQW9CLEdBQUcsK0RBQStELENBQUE7QUFFNUYsTUFBYSxZQUFZO0lBQ3hCLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBUztRQUN6QixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLENBQVM7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQTtRQUNaLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7UUFFbEQsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hFLE9BQU8sSUFBSSxDQUFBO1FBQ1osQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDckMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRXhCLElBQUksV0FBVyxLQUFLLFFBQVEsSUFBSSxXQUFXLEtBQUssc0JBQXNCLEVBQUUsQ0FBQztZQUN4RSxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxXQUFXLG1CQUFtQixDQUFDLENBQUE7UUFDekYsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3hELENBQUM7Q0FDRDtBQXpCRCxvQ0F5QkMifQ==