import {
type ExecAsk,
type ExecSecurity,
type ExecTarget,
normalizeExecTarget,
} from "../../../infra/exec-approvals.js"; import { normalizeOptionalLowercaseString } from "../../../shared/string-coerce.js"; import { skipDirectiveArgPrefix, takeDirectiveToken } from "../directive-parsing.js";
function parseExecDirectiveArgs(raw: string): Omit<
ExecDirectiveParse, "cleaned" | "hasDirective"
> & {
consumed: number;
} { const len = raw.length;
let i = skipDirectiveArgPrefix(raw);
let consumed = i;
let execHost: ExecTarget | undefined;
let execSecurity: ExecSecurity | undefined;
let execAsk: ExecAsk | undefined;
let execNode: string | undefined;
let rawExecHost: string | undefined;
let rawExecSecurity: string | undefined;
let rawExecAsk: string | undefined;
let rawExecNode: string | undefined;
let hasExecOptions = false;
let invalidHost = false;
let invalidSecurity = false;
let invalidAsk = false;
let invalidNode = false;
const takeToken = (): string | null => { const res = takeDirectiveToken(raw, i);
i = res.nextIndex; return res.token;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.