core/predicates/reference.predicate.ts
core/predicates/reference.predicate.ts is a file in GovLab Docs. 12 lines of code and 5 definitions.
const EXTERNAL_PREFIXES: readonly string[] = ["/", "~", "@"];
const SCHEME_MARKER = "://";
const RELATIVE_PREFIXES: readonly string[] = ["./", "../"];
export const isExternalTarget = function isExternalTarget(target: string): boolean {
if (target === "" || target.includes(SCHEME_MARKER)) {
return true;
}
return EXTERNAL_PREFIXES.some((prefix) => target.startsWith(prefix));
};
export const isRelativeTarget = function isRelativeTarget(target: string): boolean {
return RELATIVE_PREFIXES.some((prefix) => target.startsWith(prefix));
};