From 2fc9b02d63a401d8c8d08e5bebdd7a88e5028443 Mon Sep 17 00:00:00 2001 From: LeaVerou Date: Tue, 21 Nov 2023 10:19:18 +0000 Subject: [PATCH] Bit Bucket is down. What should I do now? --- index.html | 2 +- script.6d7019c8.js.map | 1 - script.6d7019c8.js => script.c2611a02.js | 10 +++------- script.c2611a02.js.map | 1 + styles.55ef476d.css | 2 -- styles.55ef476d.css.map | 1 - styles.ae2f70b6.css | 2 ++ styles.ae2f70b6.css.map | 1 + 8 files changed, 8 insertions(+), 12 deletions(-) delete mode 100644 script.6d7019c8.js.map rename script.6d7019c8.js => script.c2611a02.js (57%) create mode 100644 script.c2611a02.js.map delete mode 100644 styles.55ef476d.css delete mode 100644 styles.55ef476d.css.map create mode 100644 styles.ae2f70b6.css create mode 100644 styles.ae2f70b6.css.map diff --git a/index.html b/index.html index 09dfcae..adb7939 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -isbot 🤖/👨‍🦰

Is this a bot user agent string?

Click here to copy link

Powered by Javascript package isbot

\ No newline at end of file +isbot 🤖/👨‍🦰

Is this a bot user agent string?

Powered by Javascript package isbot

\ No newline at end of file diff --git a/script.6d7019c8.js.map b/script.6d7019c8.js.map deleted file mode 100644 index ff60d4b..0000000 --- a/script.6d7019c8.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["src/index.js","src/amend/index.js","src/isbot/index.js","../src/amend/index.js","../src/list.json","script.js"],"names":["amend","list","RegExp","test","error","forEach","_ref","_ref2","_slicedToArray","search","replace","index","lastIndexOf","splice","flags","_list","WeakMap","_pattern","_update","WeakSet","_index","Isbot","patterns","_this","_classCallCheck","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","writable","value","_classPrivateFieldSet","slice","_classPrivateMethodGet","_update2","call","Object","defineProperties","ua","entries","getOwnPropertyDescriptors","prototype","reduce","accumulator","prop","descriptor","assign","_defineProperty","bind","get","_createClass","key","_classPrivateFieldGet","Boolean","match","arguments","length","undefined","filter","entry","exclude","matches","_this2","filters","push","apply","rule","_index2","map","toLowerCase","join","indexOf","isbot","module","exports","_","_interopRequireDefault","require","obj","__esModule","default","timer","textarea","document","querySelector","output","copyLink","query","window","location","change","target","clearTimeout","setTimeout","check","append","parent","tag","string","ele","createElement","appendChild","createTextNode","details","_isbot$matches","fragment","createDocumentFragment","is","found","find","pattern","innerHTML","trim","firstChild","removeChild","className","childNodes","child","_child$parentNode","parentNode","decodeURIComponent","navigator","userAgent","addEventListener","select","_document$location","protocol","host","pathname","clipboard","writeText","encodeURIComponent","dialog","body","showModal","close","style","opacity"],"mappings":"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","file":"script.6d7019c8.js","sourceRoot":"../page","sourcesContent":["import { Isbot } from './isbot/index.js'\n\nconst isbot = new Isbot()\n\nexport default isbot\n","/**\n * Mutate given list of patter strings\n * @param {string[]} list\n * @returns {string[]}\n */\nexport function amend (list) {\n try {\n // Risk: Uses lookbehind assertion, avoid breakage in parsing by using RegExp constructor\n new RegExp('(? {\n const index = list.lastIndexOf(search)\n if (~index) {\n list.splice(index, 1, replace)\n }\n }\n )\n\n return list\n}\n","import list from '../list.json' assert { type: 'json' }\nimport { amend } from '../amend/index.js'\n\namend(list)\n\nconst flags = 'i'\n\n/**\n * Test user agents for matching patterns\n */\nexport class Isbot {\n /**\n * @type {string[]}\n */\n #list\n\n /**\n * @type {RegExp}\n */\n #pattern\n\n constructor (patterns) {\n this.#list = patterns || list.slice()\n this.#update()\n\n const isbot = ua => this.test(ua)\n\n return Object.defineProperties(\n isbot,\n Object.entries(Object.getOwnPropertyDescriptors(Isbot.prototype)).reduce(\n (accumulator, [prop, descriptor]) => {\n if (typeof descriptor.value === 'function') {\n Object.assign(\n accumulator,\n { [prop]: { value: this[prop].bind(this) } }\n )\n }\n if (typeof descriptor.get === 'function') {\n Object.assign(\n accumulator,\n { [prop]: { get: () => this[prop] } }\n )\n }\n return accumulator\n },\n {}\n )\n )\n }\n\n /**\n * Recreate the pattern from rules list\n */\n #update () {\n this.#pattern = new RegExp(\n this.#list.join('|'),\n flags\n )\n }\n\n /**\n * Find the first index of an existing rule or -1 if not found\n * @param {string} rule\n * @returns {number}\n */\n #index (rule) {\n return this.#list.indexOf(rule.toLowerCase())\n }\n\n /**\n * Get a clone of the pattern\n * @type RegExp\n */\n get pattern () {\n return new RegExp(this.#pattern)\n }\n\n /**\n * Match given string against out pattern\n * @param {string} ua User Agent string\n * @returns {boolean}\n */\n test (ua) {\n return Boolean(ua) && this.#pattern.test(ua)\n }\n\n /**\n * Get the match for strings' known crawler pattern\n * @param {string} ua User Agent string\n * @returns {string|null}\n */\n find (ua = '') {\n const match = ua.match(this.#pattern)\n return match && match[0]\n }\n\n /**\n * Get the patterns that match user agent string if any\n * @param {string} ua User Agent string\n * @returns {string[]}\n */\n matches (ua = '') {\n return this.#list.filter(\n entry => new RegExp(entry, flags).test(ua)\n )\n }\n\n /**\n * Clear all patterns that match user agent\n * @param {string} ua User Agent string\n * @returns {void}\n */\n clear (ua = '') {\n this.exclude(this.matches(ua))\n }\n\n /**\n * Extent patterns for known crawlers\n * @param {string[]} filters\n * @returns {void}\n */\n extend (filters = []) {\n [].push.apply(\n this.#list,\n filters.filter(\n rule => this.#index(rule) === -1\n ).map(\n filter => filter.toLowerCase()\n )\n )\n this.#update()\n }\n\n /**\n * Exclude patterns from bot pattern rule\n * @param {string[]} filters\n * @returns {void}\n */\n exclude (filters = []) {\n let { length } = filters\n while (length--) {\n const index = this.#index(filters[length])\n if (index > -1) {\n this.#list.splice(index, 1)\n }\n }\n this.#update()\n }\n\n /**\n * Create a new Isbot instance using given list or self's list\n * @param {string[]} [list]\n * @returns {Isbot}\n */\n spawn (list) {\n return new Isbot(list || this.#list)\n }\n}\n","/**\n * Mutate given list of patter strings\n * @param {string[]} list\n * @returns {string[]}\n */\nexport function amend (list) {\n try {\n // Risk: Uses lookbehind assertion, avoid breakage in parsing by using RegExp constructor\n new RegExp('(? {\n const index = list.lastIndexOf(search)\n if (~index) {\n list.splice(index, 1, replace)\n }\n }\n )\n\n return list\n}\n","module.exports=[\" daum[ /]\",\" deusu/\",\" yadirectfetcher\",\"(?:^| )site\",\"(?:^|[^g])news\",\"@[a-z]\",\"\\\\(at\\\\)[a-z]\",\"\\\\(github\\\\.com/\",\"\\\\[at\\\\][a-z]\",\"^12345\",\"^<\",\"^[\\\\w \\\\.\\\\-\\\\(\\\\)]+(/v?\\\\d+(\\\\.\\\\d+)?(\\\\.\\\\d{1,10})?)?$\",\"^[^ ]{50,}$\",\"^active\",\"^ad muncher\",\"^amaya\",\"^anglesharp/\",\"^anonymous\",\"^avsdevicesdk/\",\"^axios/\",\"^bidtellect/\",\"^biglotron\",\"^btwebclient/\",\"^castro\",\"^clamav[ /]\",\"^client/\",\"^cobweb/\",\"^coccoc\",\"^custom\",\"^ddg[_-]android\",\"^discourse\",\"^dispatch/\\\\d\",\"^downcast/\",\"^duckduckgo\",\"^facebook\",\"^fdm[ /]\\\\d\",\"^getright/\",\"^gozilla/\",\"^hatena\",\"^hobbit\",\"^hotzonu\",\"^hwcdn/\",\"^jeode/\",\"^jetty/\",\"^jigsaw\",\"^linkdex\",\"^lwp[-: ]\",\"^metauri\",\"^microsoft bits\",\"^movabletype\",\"^mozilla/\\\\d\\\\.\\\\d \\\\(compatible;?\\\\)$\",\"^mozilla/\\\\d\\\\.\\\\d \\\\w*$\",\"^navermailapp\",\"^netsurf\",\"^offline explorer\",\"^php\",\"^postman\",\"^postrank\",\"^python\",\"^read\",\"^reed\",\"^restsharp/\",\"^snapchat\",\"^space bison\",\"^svn\",\"^swcd \",\"^taringa\",\"^test certificate info\",\"^thumbor/\",\"^tumblr/\",\"^user-agent:mozilla\",\"^valid\",\"^venus/fedoraplanet\",\"^w3c\",\"^webbandit/\",\"^webcopier\",\"^wget\",\"^whatsapp\",\"^xenu link sleuth\",\"^yahoo\",\"^yandex\",\"^zdm/\\\\d\",\"^zoom marketplace/\",\"^{{.*}}$\",\"adbeat\\\\.com\",\"appinsights\",\"archive\",\"ask jeeves/teoma\",\"bit\\\\.ly/\",\"bluecoat drtr\",\"bot\",\"browsex\",\"burpcollaborator\",\"capture\",\"catch\",\"check\",\"chrome-lighthouse\",\"chromeframe\",\"cloud\",\"crawl\",\"cryptoapi\",\"dareboost\",\"datanyze\",\"dataprovider\",\"dejaclick\",\"dmbrowser\",\"download\",\"evc-batch/\",\"feed\",\"firephp\",\"freesafeip\",\"gomezagent\",\"google\",\"headlesschrome/\",\"http\",\"httrack\",\"hubspot marketing grader\",\"hydra\",\"ibisbrowser\",\"images\",\"inspect\",\"iplabel\",\"ips-agent\",\"java\",\"library\",\"mail\\\\.ru/\",\"manager\",\"monitor\",\"morningscore/\",\"neustar wpm\",\"nutch\",\"offbyone\",\"optimize\",\"pageburst\",\"pagespeed\",\"perl\",\"phantom\",\"pingdom\",\"powermarks\",\"preview\",\"proxy\",\"ptst[ /]\\\\d\",\"reader\",\"rexx;\",\"rigor\",\"rss\",\"scan\",\"scrape\",\"search\",\"serp ?reputation ?management\",\"server\",\"sogou\",\"sparkler/\",\"speedcurve\",\"spider\",\"splash\",\"statuscake\",\"stumbleupon\\\\.com\",\"supercleaner\",\"synapse\",\"synthetic\",\"torrent\",\"tracemyfile\",\"transcoder\",\"trendsmapresolver\",\"twingly recon\",\"url\",\"virtuoso\",\"wappalyzer\",\"webglance\",\"webkit2png\",\"websitemetadataretriever\",\"whatcms/\",\"wordpress\",\"zgrab\"];","import isbot from '..'\nimport { amend } from '../src/amend/index.js'\nimport list from '../src/list.json'\n\n{\n const textarea = document.querySelector('textarea')\n const output = document.querySelector('output')\n const copyLink = document.querySelector('[id=\"copy-link\"]')\n let timer\n\n const query = window.location.search.replace(/\\?ua=(.*)$/, '$1')\n\n amend(list)\n\n textarea.childNodes.forEach(child => child.parentNode?.removeChild(child))\n textarea.appendChild(document.createTextNode(\n query\n ? decodeURIComponent(query)\n : navigator.userAgent\n )\n )\n textarea.addEventListener('keyup', change)\n textarea.addEventListener('paste', change)\n textarea.addEventListener('focus', () => textarea.select())\n check()\n\n function change ({ target: { value } }) {\n clearTimeout(timer)\n timer = setTimeout(check, 200, value)\n }\n\n function append (parent, tag, string) {\n if (tag) {\n const ele = document.createElement('kbd')\n ele.appendChild(document.createTextNode(string))\n parent.appendChild(ele)\n } else {\n parent.appendChild(document.createTextNode(string))\n }\n }\n\n function details (ua) {\n const fragment = document.createDocumentFragment()\n const is = isbot(ua)\n const found = is && isbot.find(ua)\n const pattern = found\n ? isbot.matches(ua)?.find(pattern => new RegExp(pattern, 'i').test(found))\n : null\n\n is\n ? append(fragment, null, 'I think so, yes\\n')\n : append(fragment, null, 'I don\\'t think so, no\\nI could not find a pattern I recognise')\n found && append(fragment, null, 'The substring ')\n found && append(fragment, 'kbd', found)\n pattern && append(fragment, null, ' matches the pattern ')\n pattern && append(fragment, 'kbd', pattern)\n return fragment\n }\n\n function check (value = textarea.innerHTML) {\n value = value.trim()\n while (output.firstChild) {\n output.removeChild(output.firstChild)\n }\n if (value === '') {\n output.appendChild(\n document.createTextNode(\n 'Insert user agent string in the text box'\n )\n )\n return\n }\n\n output.appendChild(details(value))\n\n output.className = ''\n setTimeout(() => { output.className = 'highlight' }, 100)\n }\n\n copyLink.addEventListener('click', () => {\n const { protocol, host, pathname } = document.location\n navigator.clipboard.writeText([\n protocol, '//', host, pathname, '?ua=', encodeURIComponent(textarea.value)\n ].join(''))\n const dialog = document.createElement('dialog')\n dialog.appendChild(document.createTextNode('copied to clipboard'))\n document.body.appendChild(dialog)\n setTimeout(() => {\n dialog.showModal()\n setTimeout(() => {\n dialog.addEventListener('transitionend', () => {\n dialog.close()\n document.body.removeChild(dialog)\n })\n dialog.style.opacity = 0\n }, 2000)\n }, 0)\n })\n}\n"]} \ No newline at end of file diff --git a/script.6d7019c8.js b/script.c2611a02.js similarity index 57% rename from script.6d7019c8.js rename to script.c2611a02.js index b7a7bea..d410845 100644 --- a/script.6d7019c8.js +++ b/script.c2611a02.js @@ -1,10 +1,6 @@ parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;ce.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&void 0!==arguments[0]?arguments[0]:"").match(d(this,S));return e&&e[0]}},{key:"matches",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return d(this,O).filter(function(t){return new RegExp(t,z).test(e)})}},{key:"clear",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";this.exclude(this.matches(e))}},{key:"extend",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];[].push.apply(d(this,O),t.filter(function(t){return-1===v(e,P,$).call(e,t)}).map(function(e){return e.toLowerCase()})),v(this,E,A).call(this)}},{key:"exclude",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.length;t--;){var r=v(this,P,$).call(this,e[t]);r>-1&&d(this,O).splice(r,1)}v(this,E,A).call(this)}},{key:"spawn",value:function(t){return new e(t||d(this,O))}}]),e}();function A(){h(this,S,new RegExp(d(this,O).join("|"),z))}function $(e){return d(this,O).indexOf(e.toLowerCase())}var C=exports.default=new T; -},{}],"s4Oy":[function(require,module,exports) { -"use strict";function t(t,n){return a(t)||o(t,n)||e(t,n)||r()}function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function e(t,r){if(t){if("string"==typeof t)return n(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?n(t,r):void 0}}function n(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e0&&void 0!==arguments[0]?arguments[0]:i.innerHTML;for(e=e.trim();r.firstChild;)r.removeChild(r.firstChild);""!==e?(r.appendChild(s(e)),r.className="",setTimeout(function(){r.className="highlight"},100)):r.appendChild(document.createTextNode("Insert user agent string in the text box"))}(0,t.amend)(n.default),i.childNodes.forEach(function(e){var t;return null===(t=e.parentNode)||void 0===t?void 0:t.removeChild(e)}),i.appendChild(document.createTextNode(u?decodeURIComponent(u):navigator.userAgent)),i.addEventListener("keyup",c),i.addEventListener("paste",c),i.addEventListener("focus",function(){return i.select()}),m(),a.addEventListener("click",function(){var e=document.location,t=e.protocol,n=e.host,o=e.pathname;navigator.clipboard.writeText([t,"//",n,o,"?ua=",encodeURIComponent(i.value)].join(""));var d=document.createElement("dialog");d.appendChild(document.createTextNode("copied to clipboard")),document.body.appendChild(d),setTimeout(function(){d.showModal(),setTimeout(function(){d.addEventListener("transitionend",function(){d.close(),document.body.removeChild(d)}),d.style.opacity=0},2e3)},0)})} -},{"..":"mdAn","../src/amend/index.js":"s4Oy","../src/list.json":"Z5TU"}]},{},["mpVp"], null) -//# sourceMappingURL=script.6d7019c8.js.map \ No newline at end of file +"use strict";var e=t(require(".."));function t(e){return e&&e.__esModule?e:{default:e}}{var n,o=document.querySelector("textarea"),d=document.querySelector("output"),r=document.querySelector('[id="copy-link"]'),i=new URL(window.location.href),a=i.searchParams.get("ua");function u(e){var t=e.target.value;clearTimeout(n),n=setTimeout(s,200,t)}function c(e,t,n){if(t){var o=document.createElement("kbd");o.appendChild(document.createTextNode(n)),e.appendChild(o)}else e.appendChild(document.createTextNode(n))}function l(t){var n,o=document.createDocumentFragment(),d=(0,e.default)(t),r=d&&e.default.find(t),i=r?null===(n=e.default.matches(t))||void 0===n?void 0:n.find(function(e){return new RegExp(e,"i").test(r)}):null;return c(o,null,d?"I think so, yes\n":"I don't think so, no\nI could not find a pattern I recognise"),r&&c(o,null,"The substring "),r&&c(o,"kbd",r),i&&c(o,null," matches the pattern "),i&&c(o,"kbd",i),o}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.innerHTML;for(e=e.trim();d.firstChild;)d.removeChild(d.firstChild);""!==e?d.appendChild(l(e)):d.appendChild(document.createTextNode("Insert user agent string in the text box"))}o.childNodes.forEach(function(e){var t;return null===(t=e.parentNode)||void 0===t?void 0:t.removeChild(e)}),o.appendChild(document.createTextNode(a||navigator.userAgent)),o.addEventListener("keyup",u),o.addEventListener("paste",u),o.addEventListener("focus",function(){return o.select()}),s(),r.addEventListener("click",function(e){e.preventDefault();var t=document.location,n=t.protocol,d=t.host,r=t.pathname;navigator.clipboard.writeText([n,"//",d,r,"?ua=",encodeURIComponent(o.value)].join(""));var i=document.createElement("dialog");i.appendChild(document.createTextNode("copied to clipboard")),document.body.appendChild(i),i.showModal(),setTimeout(function(){i.addEventListener("transitionend",function(){i.close(),document.body.removeChild(i)}),i.style.opacity=0},1e3)})} +},{"..":"mdAn"}]},{},["mpVp"], null) +//# sourceMappingURL=script.c2611a02.js.map \ No newline at end of file diff --git a/script.c2611a02.js.map b/script.c2611a02.js.map new file mode 100644 index 0000000..675e580 --- /dev/null +++ b/script.c2611a02.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["src/index.js","src/amend/index.js","src/isbot/index.js","script.js"],"names":["amend","list","RegExp","test","error","forEach","_ref","_ref2","_slicedToArray","search","replace","index","lastIndexOf","splice","flags","_list","WeakMap","_pattern","_update","WeakSet","_index","Isbot","patterns","_this","_classCallCheck","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","writable","value","_classPrivateFieldSet","slice","_classPrivateMethodGet","_update2","call","Object","defineProperties","ua","entries","getOwnPropertyDescriptors","prototype","reduce","accumulator","prop","descriptor","assign","_defineProperty","bind","get","_createClass","key","_classPrivateFieldGet","Boolean","match","arguments","length","undefined","filter","entry","exclude","matches","_this2","filters","push","apply","rule","_index2","map","toLowerCase","join","indexOf","isbot","_","_interopRequireDefault","require","obj","__esModule","default","timer","textarea","document","querySelector","output","copyLink","url","URL","window","location","href","searchParams","change","target","clearTimeout","setTimeout","check","append","parent","tag","string","ele","createElement","appendChild","createTextNode","details","_isbot$matches","fragment","createDocumentFragment","is","found","find","pattern","innerHTML","trim","firstChild","removeChild","childNodes","child","_child$parentNode","parentNode","navigator","userAgent","addEventListener","select","event","preventDefault","_document$location","protocol","host","pathname","clipboard","writeText","encodeURIComponent","dialog","body","showModal","close","style","opacity"],"mappings":"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","file":"script.c2611a02.js","sourceRoot":"../page","sourcesContent":["import { Isbot } from './isbot/index.js'\n\nconst isbot = new Isbot()\n\nexport default isbot\n","/**\n * Mutate given list of patter strings\n * @param {string[]} list\n * @returns {string[]}\n */\nexport function amend (list) {\n try {\n // Risk: Uses lookbehind assertion, avoid breakage in parsing by using RegExp constructor\n new RegExp('(? {\n const index = list.lastIndexOf(search)\n if (~index) {\n list.splice(index, 1, replace)\n }\n }\n )\n\n return list\n}\n","import list from '../list.json' assert { type: 'json' }\nimport { amend } from '../amend/index.js'\n\namend(list)\n\nconst flags = 'i'\n\n/**\n * Test user agents for matching patterns\n */\nexport class Isbot {\n /**\n * @type {string[]}\n */\n #list\n\n /**\n * @type {RegExp}\n */\n #pattern\n\n constructor (patterns) {\n this.#list = patterns || list.slice()\n this.#update()\n\n const isbot = ua => this.test(ua)\n\n return Object.defineProperties(\n isbot,\n Object.entries(Object.getOwnPropertyDescriptors(Isbot.prototype)).reduce(\n (accumulator, [prop, descriptor]) => {\n if (typeof descriptor.value === 'function') {\n Object.assign(\n accumulator,\n { [prop]: { value: this[prop].bind(this) } }\n )\n }\n if (typeof descriptor.get === 'function') {\n Object.assign(\n accumulator,\n { [prop]: { get: () => this[prop] } }\n )\n }\n return accumulator\n },\n {}\n )\n )\n }\n\n /**\n * Recreate the pattern from rules list\n */\n #update () {\n this.#pattern = new RegExp(\n this.#list.join('|'),\n flags\n )\n }\n\n /**\n * Find the first index of an existing rule or -1 if not found\n * @param {string} rule\n * @returns {number}\n */\n #index (rule) {\n return this.#list.indexOf(rule.toLowerCase())\n }\n\n /**\n * Get a clone of the pattern\n * @type RegExp\n */\n get pattern () {\n return new RegExp(this.#pattern)\n }\n\n /**\n * Match given string against out pattern\n * @param {string} ua User Agent string\n * @returns {boolean}\n */\n test (ua) {\n return Boolean(ua) && this.#pattern.test(ua)\n }\n\n /**\n * Get the match for strings' known crawler pattern\n * @param {string} ua User Agent string\n * @returns {string|null}\n */\n find (ua = '') {\n const match = ua.match(this.#pattern)\n return match && match[0]\n }\n\n /**\n * Get the patterns that match user agent string if any\n * @param {string} ua User Agent string\n * @returns {string[]}\n */\n matches (ua = '') {\n return this.#list.filter(\n entry => new RegExp(entry, flags).test(ua)\n )\n }\n\n /**\n * Clear all patterns that match user agent\n * @param {string} ua User Agent string\n * @returns {void}\n */\n clear (ua = '') {\n this.exclude(this.matches(ua))\n }\n\n /**\n * Extent patterns for known crawlers\n * @param {string[]} filters\n * @returns {void}\n */\n extend (filters = []) {\n [].push.apply(\n this.#list,\n filters.filter(\n rule => this.#index(rule) === -1\n ).map(\n filter => filter.toLowerCase()\n )\n )\n this.#update()\n }\n\n /**\n * Exclude patterns from bot pattern rule\n * @param {string[]} filters\n * @returns {void}\n */\n exclude (filters = []) {\n let { length } = filters\n while (length--) {\n const index = this.#index(filters[length])\n if (index > -1) {\n this.#list.splice(index, 1)\n }\n }\n this.#update()\n }\n\n /**\n * Create a new Isbot instance using given list or self's list\n * @param {string[]} [list]\n * @returns {Isbot}\n */\n spawn (list) {\n return new Isbot(list || this.#list)\n }\n}\n","import isbot from '..'\n\n{\n const textarea = document.querySelector('textarea')\n const output = document.querySelector('output')\n const copyLink = document.querySelector('[id=\"copy-link\"]')\n let timer\n\n const url = new URL(window.location.href)\n const ua = url.searchParams.get('ua')\n\n textarea.childNodes.forEach(child => child.parentNode?.removeChild(child))\n textarea.appendChild(document.createTextNode(ua || navigator.userAgent))\n textarea.addEventListener('keyup', change)\n textarea.addEventListener('paste', change)\n textarea.addEventListener('focus', () => textarea.select())\n check()\n\n function change ({ target: { value } }) {\n clearTimeout(timer)\n timer = setTimeout(check, 200, value)\n }\n\n function append (parent, tag, string) {\n if (tag) {\n const ele = document.createElement('kbd')\n ele.appendChild(document.createTextNode(string))\n parent.appendChild(ele)\n } else {\n parent.appendChild(document.createTextNode(string))\n }\n }\n\n function details (ua) {\n const fragment = document.createDocumentFragment()\n const is = isbot(ua)\n const found = is && isbot.find(ua)\n const pattern = found\n ? isbot.matches(ua)?.find(pattern => new RegExp(pattern, 'i').test(found))\n : null\n\n is\n ? append(fragment, null, 'I think so, yes\\n')\n : append(fragment, null, 'I don\\'t think so, no\\nI could not find a pattern I recognise')\n found && append(fragment, null, 'The substring ')\n found && append(fragment, 'kbd', found)\n pattern && append(fragment, null, ' matches the pattern ')\n pattern && append(fragment, 'kbd', pattern)\n return fragment\n }\n\n function check (value = textarea.innerHTML) {\n value = value.trim()\n while (output.firstChild) {\n output.removeChild(output.firstChild)\n }\n if (value === '') {\n output.appendChild(\n document.createTextNode(\n 'Insert user agent string in the text box'\n )\n )\n return\n }\n\n output.appendChild(details(value))\n }\n\n copyLink.addEventListener('click', (event) => {\n event.preventDefault()\n const { protocol, host, pathname } = document.location\n navigator.clipboard.writeText([\n protocol, '//', host, pathname, '?ua=', encodeURIComponent(textarea.value)\n ].join(''))\n const dialog = document.createElement('dialog')\n dialog.appendChild(document.createTextNode('copied to clipboard'))\n document.body.appendChild(dialog)\n dialog.showModal()\n setTimeout(() => {\n dialog.addEventListener('transitionend', () => {\n dialog.close()\n document.body.removeChild(dialog)\n })\n dialog.style.opacity = 0\n }, 1000)\n })\n}\n"]} \ No newline at end of file diff --git a/styles.55ef476d.css b/styles.55ef476d.css deleted file mode 100644 index 8e95570..0000000 --- a/styles.55ef476d.css +++ /dev/null @@ -1,2 +0,0 @@ -:root{--color-background:#e5e5e5;--color-foreground:#333;--color-shadow:rgba(13,39,80,0.2549019607843137);--color-highlight:#fff}*{margin:0;padding:0}html{font:100 100%/1.4 -apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Lucida Grande,Arial,sans-serif}body,html{height:100%;display:flex;justify-content:center;align-items:center}body,textarea{background:var(--color-background);color:var(--color-foreground);text-shadow:var(--color-highlight) 1px 1px 0}form{width:90vw;padding:1em 0;text-align:center}h1,output,textarea{margin-bottom:1em}h1{font-weight:700;font-size:3em}textarea{font-size:2em;width:100%;height:5em;padding:.5em;resize:vertical;box-sizing:border-box;border-radius:.5em;box-shadow:var(--color-shadow) .5em .5em .5em,var(--color-highlight) -.5em -.5em .5em,inset var(--color-shadow) .5em .5em .5em,inset var(--color-highlight) -.5em -.5em .5em;border-width:0}output{display:block;white-space:pre-line;font-size:2em}kbd{display:inline-block;background:#eee;font-size:.8em;padding:0 .2em}dialog{position:fixed;top:10vh;left:0;z-index:100;width:20vw;margin:0 40vw;padding:1em;background:var(--color-foreground);color:var(--color-highlight);text-shadow:none;display:flex;justify-content:center;align-items:center;border-radius:1em;opacity:0;transition:opacity .3s ease-in-out;box-shadow:var(--color-shadow) 0 0 0 .5em}dialog[open]{opacity:1} -/*# sourceMappingURL=styles.55ef476d.css.map */ \ No newline at end of file diff --git a/styles.55ef476d.css.map b/styles.55ef476d.css.map deleted file mode 100644 index c22678b..0000000 --- a/styles.55ef476d.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["styles.css"],"names":[],"mappings":"AAAA,MACE,0BAA2B,CAC3B,uBAAwB,CACxB,gDAAyB,CACzB,sBACF,CAEA,EACE,QAAS,CACT,SACF,CAEA,KACE,0GACF,CAEA,UAEE,WAAY,CACZ,YAAa,CACb,sBAAuB,CACvB,kBACF,CAEA,cACE,kCAAmC,CACnC,6BAA8B,CAC9B,4CACF,CAEA,KACE,UAAW,CACX,aAAc,CACd,iBACF,CAEA,mBAGE,iBACF,CAEA,GACE,eAAgB,CAChB,aACF,CAEA,SACE,aAAc,CACd,UAAW,CACX,UAAW,CACX,YAAa,CACb,eAAgB,CAChB,qBAAsB,CAItB,kBAAmB,CACnB,4KAGyD,CACzD,cARF,CAWA,OACE,aAAc,CACd,oBAAqB,CACrB,aACF,CAEA,IACE,oBAAqB,CACrB,eAAgB,CAChB,cAAgB,CAChB,cACF,CACA,OACE,cAAe,CACf,QAAS,CACT,MAAO,CACP,WAAY,CACZ,UAAW,CACX,aAAc,CACd,WAAY,CACZ,kCAAmC,CACnC,4BAA6B,CAC7B,gBAAiB,CACjB,YAAa,CACb,sBAAuB,CACvB,kBAAmB,CACnB,iBAAkB,CAClB,SAAU,CACV,kCAAoC,CACpC,yCACF,CAEA,aACE,SACF","file":"styles.55ef476d.css","sourceRoot":"../page","sourcesContent":[":root {\n --color-background: #e5e5e5;\n --color-foreground: #333;\n --color-shadow: #0d275041;\n --color-highlight: #fff;\n}\n\n* {\n margin: 0;\n padding: 0;\n}\n\nhtml {\n font: 100 100%/1.4 -apple-system, \"BlinkMacSystemFont\", \"Helvetica Neue\", \"Helvetica\", \"Lucida Grande\", \"Arial\", sans-serif;\n}\n\nhtml,\nbody {\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\nbody, textarea {\n background: var(--color-background);\n color: var(--color-foreground);\n text-shadow: var(--color-highlight) 1px 1px 0;\n}\n\nform {\n width: 90vw;\n padding: 1em 0;\n text-align: center;\n}\n\nh1,\ntextarea,\noutput {\n margin-bottom: 1em;\n}\n\nh1 {\n font-weight: 700;\n font-size: 3em;\n}\n\ntextarea {\n font-size: 2em;\n width: 100%;\n height: 5em;\n padding: .5em;\n resize: vertical;\n box-sizing: border-box;\n}\n\ntextarea {\n border-radius: .5em;\n box-shadow: var(--color-shadow) .5em .5em .5em,\n var(--color-highlight) -.5em -.5em .5em,\n inset var(--color-shadow) .5em .5em .5em,\n inset var(--color-highlight) -.5em -.5em .5em;\n border-width: 0;\n}\n\noutput {\n display: block;\n white-space: pre-line;\n font-size: 2em;\n}\n\nkbd {\n display: inline-block;\n background: #eee;\n font-size: 0.8em;\n padding: 0 0.2em;\n}\ndialog {\n position: fixed;\n top: 10vh;\n left: 0;\n z-index: 100;\n width: 20vw;\n margin: 0 40vw;\n padding: 1em;\n background: var(--color-foreground);\n color: var(--color-highlight);\n text-shadow: none;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 1em;\n opacity: 0;\n transition: opacity 0.3s ease-in-out;\n box-shadow: var(--color-shadow) 0 0 0 .5em;\n}\n\ndialog[open] {\n opacity: 1;\n}\n"]} \ No newline at end of file diff --git a/styles.ae2f70b6.css b/styles.ae2f70b6.css new file mode 100644 index 0000000..94ca2e3 --- /dev/null +++ b/styles.ae2f70b6.css @@ -0,0 +1,2 @@ +:root{--color-background:#e5e5e5;--color-code-background:#eee;--color-foreground:#333;--color-shadow:rgba(13,39,80,0.2549019607843137);--color-highlight:#fff}*{margin:0;padding:0}button,html,textarea{font:100 100%/1.4 -apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Lucida Grande,Arial,sans-serif}body,html{height:100%;display:flex;justify-content:center;align-items:center}body,textarea{background:var(--color-background);color:var(--color-foreground);text-shadow:var(--color-highlight) 1px 1px 0}form{width:90vw;padding:1em 0;text-align:center}h1,output,textarea{margin-bottom:1em}h1{font-weight:700;font-size:3em}textarea{font-size:1.7em;width:100%;height:5em;padding:.5em;resize:vertical;box-sizing:border-box;border-radius:.5em;box-shadow:var(--color-shadow) .5em .5em .5em,var(--color-highlight) -.5em -.5em .5em,inset var(--color-shadow) .5em .5em .5em,inset var(--color-highlight) -.5em -.5em .5em;border-width:0}output{display:block;white-space:pre-line;font-size:2em}kbd{display:inline-block;background:var(--color-code-background);font-size:.8em;padding:0 .2em}button{font-size:1.1em;padding:.5em 1em;border-radius:.5em;border-width:0;text-shadow:var(--color-highlight) 1px 1px 0;background:var(--color-background);color:var(--color-foreground);box-shadow:var(--color-shadow) .1em .1em .1em,inset var(--color-highlight) .1em .1em .1em,inset var(--color-shadow) -.1em -.1em .1em;cursor:pointer;margin:0 0 1em}dialog{position:fixed;top:10vh;left:40vw;width:20vw;padding:1em;background:var(--color-foreground);color:var(--color-highlight);text-shadow:none;text-align:center;border-radius:1em;opacity:0;transition:opacity .5s ease-in-out;box-shadow:var(--color-shadow) 0 0 0 .5em}dialog[open]{opacity:1} +/*# sourceMappingURL=styles.ae2f70b6.css.map */ \ No newline at end of file diff --git a/styles.ae2f70b6.css.map b/styles.ae2f70b6.css.map new file mode 100644 index 0000000..799d639 --- /dev/null +++ b/styles.ae2f70b6.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["styles.css"],"names":[],"mappings":"AAAA,MACE,0BAA2B,CAC3B,4BAA6B,CAC7B,uBAAwB,CACxB,gDAAyB,CACzB,sBACF,CAEA,EACE,QAAS,CACT,SACF,CAEA,qBACE,0GACF,CAEA,UAEE,WAAY,CACZ,YAAa,CACb,sBAAuB,CACvB,kBACF,CAEA,cACE,kCAAmC,CACnC,6BAA8B,CAC9B,4CACF,CAEA,KACE,UAAW,CACX,aAAc,CACd,iBACF,CAEA,mBAGE,iBACF,CAEA,GACE,eAAgB,CAChB,aACF,CAEA,SACE,eAAgB,CAChB,UAAW,CACX,UAAW,CACX,YAAa,CACb,eAAgB,CAChB,qBAAsB,CAItB,kBAAmB,CACnB,4KAGyD,CACzD,cARF,CAWA,OACE,aAAc,CACd,oBAAqB,CACrB,aACF,CAEA,IACE,oBAAqB,CACrB,uCAAwC,CACxC,cAAgB,CAChB,cACF,CAEA,OACE,eAAgB,CAChB,gBAAkB,CAClB,kBAAoB,CACpB,cAAe,CAEf,4CAA6C,CAC7C,kCAAmC,CACnC,6BAA8B,CAC9B,oIAEsD,CACtD,cAAe,CACf,cACF,CAEA,OACE,cAAe,CACf,QAAS,CACT,SAAU,CACV,UAAW,CACX,WAAY,CACZ,kCAAmC,CACnC,4BAA6B,CAC7B,gBAAiB,CACjB,iBAAkB,CAClB,iBAAkB,CAClB,SAAU,CACV,kCAAmC,CACnC,yCACF,CAEA,aACE,SACF","file":"styles.ae2f70b6.css","sourceRoot":"../page","sourcesContent":[":root {\n --color-background: #e5e5e5;\n --color-code-background: #eee;\n --color-foreground: #333;\n --color-shadow: #0d275041;\n --color-highlight: #fff;\n}\n\n* {\n margin: 0;\n padding: 0;\n}\n\nhtml, textarea, button {\n font: 100 100%/1.4 -apple-system, \"BlinkMacSystemFont\", \"Helvetica Neue\", \"Helvetica\", \"Lucida Grande\", \"Arial\", sans-serif;\n}\n\nhtml,\nbody {\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\nbody, textarea {\n background: var(--color-background);\n color: var(--color-foreground);\n text-shadow: var(--color-highlight) 1px 1px 0;\n}\n\nform {\n width: 90vw;\n padding: 1em 0;\n text-align: center;\n}\n\nh1,\ntextarea,\noutput {\n margin-bottom: 1em;\n}\n\nh1 {\n font-weight: 700;\n font-size: 3em;\n}\n\ntextarea {\n font-size: 1.7em;\n width: 100%;\n height: 5em;\n padding: .5em;\n resize: vertical;\n box-sizing: border-box;\n}\n\ntextarea {\n border-radius: .5em;\n box-shadow: var(--color-shadow) .5em .5em .5em,\n var(--color-highlight) -.5em -.5em .5em,\n inset var(--color-shadow) .5em .5em .5em,\n inset var(--color-highlight) -.5em -.5em .5em;\n border-width: 0;\n}\n\noutput {\n display: block;\n white-space: pre-line;\n font-size: 2em;\n}\n\nkbd {\n display: inline-block;\n background: var(--color-code-background);\n font-size: 0.8em;\n padding: 0 0.2em;\n}\n\nbutton {\n font-size: 1.1em;\n padding: 0.5em 1em;\n border-radius: 0.5em;\n border-width: 0;\n color: var(--color-foreground);\n text-shadow: var(--color-highlight) 1px 1px 0;\n background: var(--color-background);\n color: var(--color-foreground);\n box-shadow: var(--color-shadow) .1em .1em .1em,\n inset var(--color-highlight) .1em .1em .1em,\n inset var(--color-shadow) -.1em -.1em .1em;\n cursor: pointer;\n margin: 0 0 1em;\n}\n\ndialog {\n position: fixed;\n top: 10vh;\n left: 40vw;\n width: 20vw;\n padding: 1em;\n background: var(--color-foreground);\n color: var(--color-highlight);\n text-shadow: none;\n text-align: center;\n border-radius: 1em;\n opacity: 0;\n transition: opacity .5s ease-in-out;\n box-shadow: var(--color-shadow) 0 0 0 .5em;\n}\n\ndialog[open] {\n opacity: 1;\n}\n"]} \ No newline at end of file