MCPcopy
hub / github.com/ampproject/amphtml / validateUsage

Function validateUsage

build-system/task-runner/amp-task-runner.js:250–262  ·  view source on GitHub ↗

* Validates usage by examining task and flag invocation. * @param {object} task * @param {string} taskName * @param {TaskFuncDef} taskFunc

(task, taskName, taskFunc)

Source from the content-addressed store, hash-verified

248 * @param {TaskFuncDef} taskFunc
249 */
250function validateUsage(task, taskName, taskFunc) {
251 const tasks = argv._;
252 const invalidTasks = tasks.filter((task) => task != taskName);
253
254 const flags = Object.keys(argv).slice(1); // Everything after '_'
255 const validFlags = taskFunc.flags ? Object.keys(taskFunc.flags) : [];
256 const invalidFlags = flags.filter((flag) => !validFlags.includes(flag));
257
258 if (invalidTasks.length > 0 || invalidFlags.length > 0) {
259 task.addHelpText('before', red('ERROR: ') + 'Invalid usage');
260 task.help({error: true});
261 }
262}
263
264/**
265 * Finalizes the task runner by doing special-case setup for `amp --help`,

Callers 1

createTaskFunction · 0.85

Calls 2

redFunction · 0.85
filterMethod · 0.45

Tested by

no test coverage detected