openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
19 lines (18 loc) • 656 B
JavaScript
import { l as normalizeOptionalString } from "./string-coerce-CIXf7egm.js";
//#region src/infra/package-tag.ts
/** Normalizes a package tag input, stripping known package-name prefixes when present. */
function normalizePackageTagInput(value, packageNames) {
const trimmed = normalizeOptionalString(value);
if (!trimmed) return null;
for (const packageName of packageNames) {
if (trimmed === packageName) return null;
const prefix = `${packageName}@`;
if (trimmed.startsWith(prefix)) {
const tag = trimmed.slice(prefix.length).trim();
return tag ? tag : null;
}
}
return trimmed;
}
//#endregion
export { normalizePackageTagInput as t };