vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
29 lines • 901 B
JavaScript
import { dataUrlRegExpBuilder } from "../regexp/index.js";
import { parseUrlQueryString } from "./parseUrlQueryString.js";
var regExp = dataUrlRegExpBuilder.build({
exact: true
});
/**
* 解析 Data URL。
*
* @param dataUrl 要解析的 Data URL
* @returns 返回结果
*/
export function parseDataUrl(dataUrl) {
var _ref = dataUrl.match(regExp) || [],
_ref$ = _ref[1],
mimeType = _ref$ === void 0 ? 'text/plain;charset=US-ASCII' : _ref$,
_ref$2 = _ref[4],
extraParameters = _ref$2 === void 0 ? '' : _ref$2,
_ref$3 = _ref[5],
content = _ref$3 === void 0 ? '' : _ref$3;
var parameters = parseUrlQueryString(("" + mimeType + extraParameters).replace(/^[^;]*;?/, ''), {
partSeparator: ';'
});
return {
mimeType: decodeURIComponent(mimeType),
parameters: parameters,
content: decodeURIComponent(content),
base64: parameters.base64 != null
};
}