user-agent.js 1.1 KB

123456789101112131415161718192021222324252627
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.isBot = isBot;
  6. exports.userAgentFromString = userAgentFromString;
  7. exports.userAgent = userAgent;
  8. var _uaParserJs = _interopRequireDefault(require("next/dist/compiled/ua-parser-js"));
  9. function _interopRequireDefault(obj) {
  10. return obj && obj.__esModule ? obj : {
  11. default: obj
  12. };
  13. }
  14. function isBot(input) {
  15. return /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(input);
  16. }
  17. function userAgentFromString(input) {
  18. return {
  19. ...(0, _uaParserJs).default(input),
  20. isBot: input === undefined ? false : isBot(input)
  21. };
  22. }
  23. function userAgent({ headers }) {
  24. return userAgentFromString(headers.get("user-agent") || undefined);
  25. }
  26. //# sourceMappingURL=user-agent.js.map