import { DATA_URI } from '../const'; /** * Typedef for decomposeDataUri return object. * * @typedef {object} DecomposedDataUri * @property {mediaType} Media type, eg. `image` * @property {subType} Sub type, eg. `png` * @property {encoding} Data encoding, eg. `base64` * @property {data} The actual data */ /** * Split a data URI into components. Returns undefined if * parameter `dataUri` is not a valid data URI. * * @memberof PIXI.utils * @function decomposeDataUri * @param {string} dataUri - the data URI to check * @return {DecomposedDataUri|undefined} The decomposed data uri or undefined */ export function decomposeDataUri(dataUri) { const dataUriMatch = DATA_URI.exec(dataUri); if (dataUriMatch) { return { mediaType: dataUriMatch[1] ? dataUriMatch[1].toLowerCase() : undefined, subType: dataUriMatch[2] ? dataUriMatch[2].toLowerCase() : undefined, encoding: dataUriMatch[3] ? dataUriMatch[3].toLowerCase() : undefined, data: dataUriMatch[4], }; } return undefined; }