core/validators/server.validator.ts
core/validators/server.validator.ts is a file in Project Scripts. 25 lines of code and 4 definitions.
import type { ListenerSurfaces, TransportFinding } from "#types/server.types";
import { plaintextHeading, plaintextListener, transportHeld } from "#configuration/strings/server.strings";
import type { CheckVerdict } from "#types/validation.types";
export const transportFindings = function transportFindings(
file: string,
surfaces: ListenerSurfaces,
): TransportFinding[] {
const { preview, server } = surfaces;
return [
...(server !== undefined && server.https === undefined && server.middlewareMode !== true
? [{ file, surface: "server" }]
: []),
...(preview !== undefined && preview.https === undefined ? [{ file, surface: "preview" }] : []),
];
};
export const transportVerdict = function transportVerdict(
findings: readonly TransportFinding[],
configs: number,
): CheckVerdict {
if (findings.length === 0) {
return { held: true, text: transportHeld(configs) };
}
const listed = findings.map((finding) => plaintextListener(finding.file, finding.surface));
return { held: false, text: [plaintextHeading(findings.length), ...listed, ""].join("\n") };
};