@wordpress/url
Version:
WordPress URL utilities.
57 lines (55 loc) • 2.16 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// packages/url/src/filter-url-for-display.ts
var filter_url_for_display_exports = {};
__export(filter_url_for_display_exports, {
filterURLForDisplay: () => filterURLForDisplay
});
module.exports = __toCommonJS(filter_url_for_display_exports);
function filterURLForDisplay(url, maxLength = null) {
if (!url) {
return "";
}
let filteredURL = url.replace(/^[a-z\-.\+]+[0-9]*:(\/\/)?/i, "").replace(/^www\./i, "");
if (filteredURL.match(/^[^\/]+\/$/)) {
filteredURL = filteredURL.replace("/", "");
}
const fileRegexp = /\/([^\/?]+)\.(?:[\w]+)(?=\?|$)/;
if (!maxLength || filteredURL.length <= maxLength || !filteredURL.match(fileRegexp)) {
return filteredURL;
}
filteredURL = filteredURL.split("?")[0];
const urlPieces = filteredURL.split("/");
const file = urlPieces[urlPieces.length - 1];
if (file.length <= maxLength) {
return "\u2026" + filteredURL.slice(-maxLength);
}
const index = file.lastIndexOf(".");
const [fileName, extension] = [
file.slice(0, index),
file.slice(index + 1)
];
const truncatedFile = fileName.slice(-3) + "." + extension;
return file.slice(0, maxLength - truncatedFile.length - 1) + "\u2026" + truncatedFile;
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
filterURLForDisplay
});
//# sourceMappingURL=filter-url-for-display.cjs.map