initial update
This commit is contained in:
32
node_modules/graphql/jsutils/didYouMean.mjs
generated
vendored
Normal file
32
node_modules/graphql/jsutils/didYouMean.mjs
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
const MAX_SUGGESTIONS = 5;
|
||||
/**
|
||||
* Given [ A, B, C ] return ' Did you mean A, B, or C?'.
|
||||
*/
|
||||
|
||||
export function didYouMean(firstArg, secondArg) {
|
||||
const [subMessage, suggestionsArg] = secondArg
|
||||
? [firstArg, secondArg]
|
||||
: [undefined, firstArg];
|
||||
let message = ' Did you mean ';
|
||||
|
||||
if (subMessage) {
|
||||
message += subMessage + ' ';
|
||||
}
|
||||
|
||||
const suggestions = suggestionsArg.map((x) => `"${x}"`);
|
||||
|
||||
switch (suggestions.length) {
|
||||
case 0:
|
||||
return '';
|
||||
|
||||
case 1:
|
||||
return message + suggestions[0] + '?';
|
||||
|
||||
case 2:
|
||||
return message + suggestions[0] + ' or ' + suggestions[1] + '?';
|
||||
}
|
||||
|
||||
const selected = suggestions.slice(0, MAX_SUGGESTIONS);
|
||||
const lastItem = selected.pop();
|
||||
return message + selected.join(', ') + ', or ' + lastItem + '?';
|
||||
}
|
||||
Reference in New Issue
Block a user