core/predicates/jwt.predicate.ts
core/predicates/jwt.predicate.ts is a file in Secrets. 14 lines of code and 1 definition.
import { JWT_MIN_SEGMENT, JWT_OPENING, JWT_SEGMENTS, JWT_SEPARATOR } from "#configuration/constants/detector.constants";
import { defineDetector } from "#core/registries/detector.registry";
import { isBase64Url } from "#core/predicates/character.predicate";
defineDetector({
detects: (value) => {
const segments = value.split(JWT_SEPARATOR);
return (
value.startsWith(JWT_OPENING) &&
segments.length === JWT_SEGMENTS &&
segments.every((segment) => segment.length >= JWT_MIN_SEGMENT && isBase64Url(segment))
);
},
kind: "jwt",
});