{"id":18234707,"url":"https://github.com/apteryxxyz/jswhat","last_synced_at":"2025-10-23T16:52:34.440Z","repository":{"id":57286534,"uuid":"378656788","full_name":"apteryxxyz/jswhat","owner":"apteryxxyz","description":"🦁 Identify anything. JSWhat - based on PyWhat - lets you easily identify emails, IP addresses, and more. Works in Node, the browser and the command line. Install: 'npm install jswhat'","archived":false,"fork":false,"pushed_at":"2022-09-23T06:07:15.000Z","size":1249,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-28T00:49:23.519Z","etag":null,"topics":["browser","cli","deno","identify","javascript","jswhat","node","nodejs","npm","pywhat","regex","what"],"latest_commit_sha":null,"homepage":"https://npmjs.com/jswhat","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apteryxxyz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-06-20T13:51:06.000Z","updated_at":"2023-07-11T02:07:54.000Z","dependencies_parsed_at":"2022-09-09T23:24:44.873Z","dependency_job_id":null,"html_url":"https://github.com/apteryxxyz/jswhat","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apteryxxyz%2Fjswhat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apteryxxyz%2Fjswhat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apteryxxyz%2Fjswhat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apteryxxyz%2Fjswhat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apteryxxyz","download_url":"https://codeload.github.com/apteryxxyz/jswhat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223084632,"owners_count":17084910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser","cli","deno","identify","javascript","jswhat","node","nodejs","npm","pywhat","regex","what"],"created_at":"2024-11-04T23:05:18.601Z","updated_at":"2025-10-23T16:52:34.361Z","avatar_url":"https://github.com/apteryxxyz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\r\n    \u003cimg alt=\"jsWhat\" src=\".github/logo.png\"\u003e\u003cbr\u003e\r\n    \u003ci\u003eThe easiest way to identify anything\u003c/i\u003e\u003cbr\u003e\r\n    \u003ccode\u003enpm install jswhat\u003c/code\u003e\r\n\u003c/p\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n    \u003ca href=\"https://github.com/apteryxxyz/jswhat/\"\u003e\u003cimg alt=\"jswhat version\" src=\"https://img.shields.io/badge/version-2.0.1-red\"\u003e\u003c/a\u003e\r\n    \u003ca href=\"https://npmjs.com/package/jswhat\"\u003e\u003cimg alt=\"total downloads\" src=\"https://img.shields.io/npm/dt/jswhat\"\u003e\u003c/a\u003e\r\n    \u003cbr\u003e\r\n    \u003ca href=\"https://github.com/apteryxxyz/jswhat/\"\u003e\u003cimg alt=\"javascript percentage\" src=\"https://img.shields.io/github/languages/top/apteryxxyz/jswhat\"\u003e\u003c/a\u003e\r\n    \u003ca href=\"https://bundlephobia.com/package/jswhat\"\u003e\u003cimg alt=\"jswhat code size\" src=\"https://img.shields.io/bundlephobia/minzip/jswhat?label=code%20size\"\u003e\u003c/a\u003e\r\n    \u003ca href=\"https://github.com/apteryxxyz/jswhat/blob/main/LICENSE\"\u003e\u003cimg alt=\"license\" src=\"https://img.shields.io/npm/l/jswhat\"\u003e\u003c/a\u003e\r\n    \u003cbr\u003e\r\n    \u003ca href=\"https://github.com/apteryxxyz/jswhat/\"\u003e\u003cimg alt=\"github commit activity\" src=\"https://img.shields.io/github/commit-activity/m/apteryxxyz/jswhat\"\u003e\u003c/a\u003e\r\n    \u003ca href=\"https://prettier.io/\"\u003e\u003cimg alt=\"code style prettier\" src=\"https://img.shields.io/badge/code_style-prettier-ff69b4\"\u003e\u003c/a\u003e\r\n    \u003cbr\u003e\r\n    \u003ca href=\"https://github.com/apteryxxyz\"\u003e\u003cimg alt=\"apteryxxyz followers\" src=\"https://img.shields.io/github/followers/apteryxxyz?style=social\"\u003e\u003c/a\u003e\r\n    \u003ca href=\"https://github.com/apteryxxyz/jswhat\"\u003e\u003cimg alt=\"jswhat repo stars\" src=\"https://img.shields.io/github/stars/apteryxxyz/jswhat?style=social\"\u003e\u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\n# 🤔 What is `what`?\r\n\r\n`JSWhat` is a JavaScript version of the existing [pyWhat](https://github.com/bee-san/pywhat). Built in TypeScript, this works in Node, the browser and the command line.\r\n\r\nHave you ever come across a mysterious 🧙‍♂️ piece of text and wondered what it might be? Perhaps something like `rBxwE6ivExFJjRPh5cZtpq1ghTDm6cV5YP` or `2001:0db8:85a3:0000:0000:8a2e:0370:7334`?\r\nWell with `what` all you have to do is ask via one of the three available methods and it will tell you! Simply feed `what` one or more pieces of text and it will try to identify them.\r\n\r\n`what`s' job is to help you by identifing what something is.\r\n\r\nYou can view some examples [here](https://github.com/apteryxxyz/jswhat/tree/main/examples).\r\n\r\n# 🏓 Table Of Contents\r\n\r\n- [🤔 What is `what`?](#-what-is-what)\r\n- [🏓 Table Of Contents](#-table-of-contents)\r\n- [📩 Installation](#-installation)\r\n    - [Command Line](#command-line)\r\n    - [Node](#node)\r\n    - [Browser](#browser)\r\n- [🍕 API](#-api)\r\n  - [💻 Command Line](#-command-line)\r\n    - [Usage](#usage)\r\n    - [Options](#options)\r\n    - [Inputs](#inputs)\r\n  - [🟢 Node](#-node)\r\n    - [Usage](#usage-1)\r\n    - [Output](#output)\r\n  - [📺 Browser](#-browser)\r\n\r\n# 📩 Installation\r\n\r\n### Command Line\r\n\r\n```bash\r\nnpm install jswhat --global\r\nyarn global add jswhat\r\npnpm add jswhat --global\r\n```\r\n\r\n### Node\r\n\r\n```bash\r\nnpm install jswhat\r\nyarn add jswhat\r\npnpm add jswhat\r\n```\r\n\r\n### Browser\r\n\r\n```html\r\n\u003cscript src=\"https://unpkg.com/jswhat@2.0.1/dist/index.js\"\u003e\u003c/script\u003e\r\n```\r\n\r\n# 🍕 API\r\n\r\n## 💻 Command Line\r\n\r\nOnce installed globally, you will gain access to the `what` command. You can use `what --help` to see a basic help menu containing usage, option information and examples.\r\n\r\n### Usage\r\n\r\n`what \u003cinputs\u003e [options]`\r\n\r\n### Options\r\n\r\n```\r\n -h, --help      Show this help message.\r\n -v, --version   Show the version number.\r\n -s, --search    Search within each input for more results.\r\n --rarity        Filter the results by rarity, one or two numbers from 0 and 1, searated by commas.\r\n --filter        Filter the results by name, short name, category, or tags, separated by commas.\r\n --exclude       Exclude the results by name, short name, category, or tags, separated by commas.\r\n```\r\n\r\n### Inputs\r\n\r\nWhen wanting to identify some basic text, just type `what \u003cinputs\u003e` and it will try to identify what it is, simple right? You can identify more than one piece of text at once, just separate them with spaces. If your input has spaces, you can use quotes to enclose it.\r\n\r\n## 🟢 Node\r\n\r\nThe node module is very simple to use, containing only a single method.\r\n\r\n### Usage\r\n\r\n```ts\r\nconst what = require('jswhat');\r\n// OR\r\nimport what from 'jswhat';\r\n```\r\n\r\n`\u003cwhat\u003e.is(\u003cinputs\u003e [, options]);`\r\n\r\n- `\u003cinputs\u003e {string|string[]}` The text to be identified.\r\n- `[options.search] {boolean}` Search the inputs globally.\r\n- `[options.rarity] {[number, number]}` Filter the results by rarity.\r\n- `[options.filter] {string[]}` Names or tags to filter results by.\r\n- `[options.exclude] {string[]}` Names or tags to exclude from the results.\r\n\r\n### Output\r\n\r\nThe above method returns an array containing objects in the format of:\r\n\r\n```js\r\n{\r\n    \"matched\": string,              // The content that was matched\r\n    \"name\": string,                 // Name of what was matched\r\n    \"shortName\": string,            // A shorter name for what was matched\r\n    \"category\": string,             // Category of the matched content\r\n    \"tags\": string[],               // Tags for what was matched\r\n    \"description\": string | null,   // Description of what was matched\r\n    \"rarity\": number | null,        // A number between 0 and 1 representing the rarity\r\n    \"url\": string | null,           // URL to potently more information\r\n    \"regex\": RegExp,                // The RegExp that was used to match this\r\n}\r\n```\r\n\r\n## 📺 Browser\r\n\r\n`jsWhat` works in the exact same way in the browser as in Node.\r\n\r\n```html\r\n\u003cscript src=\"https://unpkg.com/jswhat@2.0.1/dist/index.js\"\u003e\u003c/script\u003e\r\n```\r\n\r\nView the [Node section](#-node) for usage and options.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapteryxxyz%2Fjswhat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapteryxxyz%2Fjswhat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapteryxxyz%2Fjswhat/lists"}