core/converters/invocation.converter.ts
core/converters/invocation.converter.ts is a file in GovLab Pipeline. 22 lines of code and 2 definitions.
import { GATE_FLAGS, LIST_SEPARATOR } from "#configuration/constants/stage.constants";
import { type ParsedArgv, flagValues, hasFlag } from "@govlab/argv";
import type { StageArgs } from "#types/stage.types";
const listOf = function listOf(argv: ParsedArgv, flag: string): Set<string> {
return new Set(
flagValues(argv, flag)
.flatMap((value) => value.split(LIST_SEPARATOR))
.map((entry) => entry.trim())
.filter((entry) => entry.length > 0),
);
};
export const stageArgsOf = function stageArgsOf(argv: ParsedArgv): StageArgs {
return {
bypass: listOf(argv, GATE_FLAGS.bypass),
members: listOf(argv, GATE_FLAGS.member),
only: listOf(argv, GATE_FLAGS.only),
report: hasFlag(argv, GATE_FLAGS.report),
run: listOf(argv, GATE_FLAGS.run),
skipTags: listOf(argv, GATE_FLAGS.skipTag),
tags: listOf(argv, GATE_FLAGS.tag),
};
};