diff options
Diffstat (limited to 'includes/external/school/node_modules/graphql/jsutils/didYouMean.js')
-rw-r--r-- | includes/external/school/node_modules/graphql/jsutils/didYouMean.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/includes/external/school/node_modules/graphql/jsutils/didYouMean.js b/includes/external/school/node_modules/graphql/jsutils/didYouMean.js new file mode 100644 index 0000000..d6b0d90 --- /dev/null +++ b/includes/external/school/node_modules/graphql/jsutils/didYouMean.js @@ -0,0 +1,42 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = didYouMean; +var MAX_SUGGESTIONS = 5; +/** + * Given [ A, B, C ] return ' Did you mean A, B, or C?'. + */ + +// eslint-disable-next-line no-redeclare +function didYouMean(firstArg, secondArg) { + var _ref = typeof firstArg === 'string' ? [firstArg, secondArg] : [undefined, firstArg], + subMessage = _ref[0], + suggestionsArg = _ref[1]; + + var message = ' Did you mean '; + + if (subMessage) { + message += subMessage + ' '; + } + + var suggestions = suggestionsArg.map(function (x) { + return "\"".concat(x, "\""); + }); + + switch (suggestions.length) { + case 0: + return ''; + + case 1: + return message + suggestions[0] + '?'; + + case 2: + return message + suggestions[0] + ' or ' + suggestions[1] + '?'; + } + + var selected = suggestions.slice(0, MAX_SUGGESTIONS); + var lastItem = selected.pop(); + return message + selected.join(', ') + ', or ' + lastItem + '?'; +} |