function parseArgs(argv: string[]): CliOptions {
let field: string | null = null;
let format: "json" | "shell" = "json";
let rootDir = path.resolve(".");
for (let index = 0; index < argv.length; index += 1) { const arg = argv[index]; switch (arg) { case"--field": {
field = argv[index + 1] ?? null;
index += 1; break;
} case"--json": {
format = "json"; break;
} case"--shell": {
format = "shell"; break;
} case"--root": { const value = argv[index + 1]; if (!value) { thrownew Error("Missing value for --root.");
}
rootDir = path.resolve(value);
index += 1; break;
} case"-h": case"--help": {
console.log(
`Usage: node --import tsx scripts/ios-version.ts [--json|--shell] [--field name] [--root dir]\n`,
);
process.exit(0);
} default: { thrownew Error(`Unknown argument: ${arg}`);
}
}
}
return { field, format, rootDir };
}
const options = parseArgs(process.argv.slice(2)); const version = resolveIosVersion(options.rootDir);
if (options.field) { const value = version[options.field as keyof typeof version]; if (value === undefined) { thrownew Error(`Unknown iOS version field '${options.field}'.`);
}
process.stdout.write(`${value}\n`);
process.exit(0);
}
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.