{"_id":"@alpersamur3/nickname-generator","name":"@alpersamur3/nickname-generator","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@alpersamur3/nickname-generator","version":"1.0.0","description":"A poetic, combinatorial nickname generator. Ships with Turkish word lists by default — fully replaceable with any language.","main":"index.js","exports":"./index.js","scripts":{"test":"node test.js","prepublishOnly":"npm test"},"keywords":["nickname","nickname-generator","username","username-generator","random-name","random-name-generator","display-name","handle","generator","word-generator","combinatorial","turkish","türkçe","poetic","random","gaming","gamer-tag","gamertag","discord","twitch","social-media","avatar-name","bot-name","ascii","slug","no-dependencies"],"author":{"name":"alpersamur3"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/alpersamur3/nickname-generator.git"},"homepage":"https://github.com/alpersamur3/nickname-generator#readme","bugs":{"url":"https://github.com/alpersamur3/nickname-generator/issues"},"engines":{"node":">=14.0.0"},"_id":"@alpersamur3/nickname-generator@1.0.0","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-gHybLK8FPnYOghob5HfOlrpkU/DRFcPzcJWCazoSt/2mFFeIstgRzUSk+ZXjhIYoSYFzDejthp+0WSST2UKJtQ==","shasum":"077d9beba7397f44218f04c5219bb8f932392582","tarball":"https://registry.npmjs.org/@alpersamur3/nickname-generator/-/nickname-generator-1.0.0.tgz","fileCount":4,"unpackedSize":28035,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDuViT5DVSvbcTeICwAlTfCnMzvue2IA8fCzMGCdI9LlQIhAPziivGCD25E4knBEbih6vLuhCQgaOVtnK0z+UM9Y8jk"}]},"_npmUser":{"name":"alpersamur3","email":"alpersamur0705@gmail.com"},"directories":{},"maintainers":[{"name":"alpersamur3","email":"alpersamur0705@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nickname-generator_1.0.0_1777412850877_0.9485633566700113"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-28T21:47:30.801Z","1.0.0":"2026-04-28T21:47:31.015Z","modified":"2026-04-28T21:47:31.214Z"},"maintainers":[{"name":"alpersamur3","email":"alpersamur0705@gmail.com"}],"description":"A poetic, combinatorial nickname generator. Ships with Turkish word lists by default — fully replaceable with any language.","homepage":"https://github.com/alpersamur3/nickname-generator#readme","keywords":["nickname","nickname-generator","username","username-generator","random-name","random-name-generator","display-name","handle","generator","word-generator","combinatorial","turkish","türkçe","poetic","random","gaming","gamer-tag","gamertag","discord","twitch","social-media","avatar-name","bot-name","ascii","slug","no-dependencies"],"repository":{"type":"git","url":"git+https://github.com/alpersamur3/nickname-generator.git"},"author":{"name":"alpersamur3"},"bugs":{"url":"https://github.com/alpersamur3/nickname-generator/issues"},"license":"MIT","readme":"# nickname-generator\n\n[![npm version](https://img.shields.io/npm/v/%40alpersamur3%2Fnickname-generator.svg)](https://www.npmjs.com/package/@alpersamur3/nickname-generator)\n[![npm downloads](https://img.shields.io/npm/dm/%40alpersamur3%2Fnickname-generator.svg)](https://www.npmjs.com/package/@alpersamur3/nickname-generator)\n[![license](https://img.shields.io/npm/l/%40alpersamur3%2Fnickname-generator.svg)](./LICENSE)\n[![node](https://img.shields.io/node/v/%40alpersamur3%2Fnickname-generator.svg)](https://www.npmjs.com/package/@alpersamur3/nickname-generator)\n\n> A poetic, combinatorial **nickname generator** and **username generator**.  \n> Ships with **Turkish** word lists by default — fully replaceable with any language.\n\nGenerate unique **display names**, **gamer tags**, **Discord handles**, **Twitch usernames**, **bot names**, and more. 10 output formats including PascalCase, snake_case, kebab-case, and ASCII-safe slugs. Zero dependencies.\n\n*Sabah Sisi · Kayıp Plak · soluk_avlu · GriMektup42*\n\n---\n\n**[English](#english) · [Türkçe](#türkçe)**\n\n---\n\n<a name=\"english\"></a>\n\n## Features\n\n- 10 built-in formats: spaced, pascal, snake, kebab, colorNoun, verbNoun, double, …\n- Bundled with curated **Turkish** word lists (poetic / melancholic register)\n- Word lists are fully **replaceable or extendable** per call — works with any language\n- ASCII mode: strips diacritics for URL-safe / social-media-friendly output\n- Zero dependencies\n\n---\n\n## Installation\n\n```bash\nnpm install @alpersamur3/nickname-generator\n```\n\n---\n\n## Quick Start\n\n```js\nconst { generate, generateMany, allFormats } = require(\"@alpersamur3/nickname-generator\");\n\n// Single nickname — random format\ngenerate();                              // → \"YorgunTren\"\n\n// Specific format\ngenerate({ format: \"spaced\" });          // → \"Sabah Sisi\"\ngenerate({ format: \"kebab\" });           // → \"kayıp-plak\"\ngenerate({ format: \"pascalNumber\" });    // → \"KırıkAnahtar42\"\n\n// ASCII mode — strips diacritics (URL-safe, social-media-friendly)\ngenerate({ format: \"joined\", ascii: true });  // → \"sabahsisi\"\ngenerate({ format: \"pascal\", ascii: true });  // → \"KayipPlak\"\n\n// Bulk generation\ngenerateMany(5);\n// → [\"SolukAvlu\", \"GeceMektup\", \"BoşVagon\", …]\n\ngenerateMany(5, { format: \"snake\", ascii: true });\n// → [\"sabah_sis\", \"kayip_duman\", …]\n\n// One nickname in every format\nallFormats({ ascii: true });\n// → { spaced: \"Sabah Sisi\", joined: \"sabahsisi\", pascal: \"SabahSisi\", … }\n```\n\n---\n\n## API\n\n### `generate(opts?)`\n\nGenerates a single nickname.\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `format` | `string` | `\"random\"` | Format key or `\"random\"` |\n| `ascii` | `boolean` | `false` | Strip diacritics for ASCII-safe output |\n| `words` | `object` | — | Custom word lists (any category, see below) |\n| `extend` | `boolean` | `false` | `true` → append to defaults; `false` → replace defaults |\n\n### `generateMany(count?, opts?)`\n\nReturns an array of `count` nicknames (default: `10`). Accepts the same options as `generate()`.\n\n### `allFormats(opts?)`\n\nReturns one nickname per format as `{ formatKey: nickname, … }`. Accepts the same options as `generate()` (except `format`).\n\n---\n\n## Formats\n\n| Key | Example | Description |\n|---|---|---|\n| `spaced` | `Sabah Sisi` | Title-cased, space-separated |\n| `joined` | `sabahsisi` | Lowercase, no separator |\n| `pascal` | `SabahSisi` | PascalCase |\n| `snake` | `sabah_sisi` | snake_case |\n| `kebab` | `sabah-sisi` | kebab-case |\n| `pascalNumber` | `SabahSisi42` | PascalCase + number suffix |\n| `joinedNumber` | `sabahsisi_42` | Joined + number suffix |\n| `colorNoun` | `GriMektup` | Color + noun, PascalCase |\n| `verbNoun` | `AkanDuman` | Verb-participle + noun, PascalCase |\n| `double` | `SabahSisiVeYağmur` | Adj + noun + connector + noun |\n\n---\n\n## Custom Word Lists\n\nWord lists can be swapped per call. **Replace mode** (default) discards the built-in list entirely; **extend mode** appends to it.\n\n### Replace (default)\n\n```js\n// Override nouns — built-in Turkish list is discarded for this call\ngenerate({ format: \"pascal\", words: { nouns: [\"galaxy\", \"orbit\", \"pulsar\"] } });\n// → \"SolukGalaxy\"\n\n// Override multiple categories at once\ngenerate({\n  format: \"colorNoun\",\n  words: { colors: [\"neon\", \"plasma\"], nouns: [\"grid\", \"core\"] }\n});\n// → \"NeonCore\"\n```\n\n### Extend\n\n```js\n// Append to the default Turkish lists\ngenerate({\n  format: \"pascal\",\n  words: { nouns: [\"galaxy\", \"orbit\"] },\n  extend: true\n});\n// → may produce \"SolukGalaxy\" or \"YorgunTren\" (both pools active)\n```\n\n### Inspecting the defaults\n\n```js\nconst { DEFAULT_WORDS } = require(\"@alpersamur3/nickname-generator\");\n\nconsole.log(DEFAULT_WORDS.adjectives); // [\"eski\", \"geç\", \"son\", …]\nconsole.log(DEFAULT_WORDS.nouns);      // [\"tren\", \"vagon\", \"iskele\", …]\n```\n\n---\n\n## ASCII Mode\n\nStrips Turkish diacritics (ğ ü ş ı ö ç) for ASCII-safe output:\n\n```js\ngenerate({ format: \"pascal\", ascii: true }); // → \"KayipPlak\"  (no diacritics)\ngenerate({ format: \"snake\",  ascii: true }); // → \"sabah_sis\"\n\n// Direct utility\nconst { toAscii } = require(\"@alpersamur3/nickname-generator\");\ntoAscii(\"şişli köşe\"); // → \"sisli kose\"\n```\n\n---\n\n## Default Word Lists (Turkish)\n\nThe bundled word lists are curated for a poetic, melancholic tone in Turkish.  \nAll categories are fully replaceable via `opts.words`.\n\n| Category | Key | Sample words |\n|---|---|---|\n| Adjectives | `adjectives` | `eski`, `sessiz`, `soluk`, `yalnız`, `donmuş` |\n| Nouns | `nouns` | `tren`, `sis`, `mektup`, `ayna`, `şafak` |\n| Colors | `colors` | `sarı`, `mavi`, `gümüş`, `eflatun`, `kiremit` |\n| Numbers | `numbers` | `0`, `1`, `7`, `13`, `42` |\n| Verbs | `verbs` | `akan`, `yanan`, `sönen`, `kaybolan`, `sürüklenen` |\n\n---\n\n## License\n\nMIT\n\n---\n\n## Keywords\n\n`nickname generator` · `username generator` · `random name generator` · `display name` · `gamer tag` · `gamertag generator` · `Discord username` · `Twitch handle` · `bot name` · `Turkish` · `slug` · `ASCII` · `no dependencies`\n\n---\n\n<a name=\"türkçe\"></a>\n\n## Türkçe\n\nŞiirsel ve melankolik bir **nickname üreteci**.  \nVarsayılan olarak **Türkçe** kelime listeleriyle gelir — `words` seçeneğiyle istediğiniz dile göre tamamen değiştirilebilir veya genişletilebilir.\n\n### Kurulum\n\n```bash\nnpm install @alpersamur3/nickname-generator\n```\n\n### Hızlı Başlangıç\n\n```js\nconst { generate, generateMany, allFormats } = require(\"@alpersamur3/nickname-generator\");\n\n// Tek nickname — rastgele format\ngenerate();                                  // → \"YorgunTren\"\n\n// Belirli format\ngenerate({ format: \"spaced\" });              // → \"Sabah Sisi\"\ngenerate({ format: \"kebab\" });               // → \"kayıp-plak\"\ngenerate({ format: \"pascalNumber\" });        // → \"KırıkAnahtar42\"\n\n// ASCII modu — Türkçe karakterleri kaldırır (URL ve sosyal medya dostu)\ngenerate({ format: \"joined\", ascii: true }); // → \"sabahsisi\"\ngenerate({ format: \"pascal\", ascii: true }); // → \"KayipPlak\"\n\n// Toplu üretim\ngenerateMany(5);\n// → [\"SolukAvlu\", \"GeceMektup\", \"BoşVagon\", …]\n\n// Tüm formatlarda birer tane\nallFormats({ ascii: true });\n// → { spaced: \"Sabah Sisi\", joined: \"sabahsisi\", pascal: \"SabahSisi\", … }\n```\n\n### Kelime Listelerini Özelleştirme\n\n```js\n// Sadece kendi isimlerinizi kullanın (varsayılan liste devre dışı)\ngenerate({ format: \"pascal\", words: { nouns: [\"gezegen\", \"yıldız\", \"nebula\"] } });\n// → \"SessizGezegen\"\n\n// Varsayılan listeye ekleme yapın (extend modu)\ngenerate({ format: \"pascal\", words: { nouns: [\"meteor\"] }, extend: true });\n// → varsayılan Türkçe isimler + \"meteor\" arasından rastgele seçer\n\n// Birden fazla kategoriyi aynı anda değiştirin\ngenerate({\n  format: \"colorNoun\",\n  words: { colors: [\"neon\", \"plazma\"], nouns: [\"çekirdek\", \"ızgara\"] }\n});\n// → \"NeonIzgara\"\n```\n\n### Formatlar\n\n| Anahtar | Örnek | Açıklama |\n|---|---|---|\n| `spaced` | `Sabah Sisi` | Boşluklu, başharfler büyük |\n| `joined` | `sabahsisi` | Bitişik, küçük harf |\n| `pascal` | `SabahSisi` | PascalCase |\n| `snake` | `sabah_sisi` | Alt tire |\n| `kebab` | `sabah-sisi` | Tire |\n| `pascalNumber` | `SabahSisi42` | PascalCase + sayı |\n| `joinedNumber` | `sabahsisi_42` | Bitişik + sayı |\n| `colorNoun` | `GriMektup` | Renk + isim |\n| `verbNoun` | `AkanDuman` | Fiil + isim |\n| `double` | `SabahSisiVeYağmur` | Sıfat + isim + bağlaç + isim |\n\n### API\n\n| Fonksiyon | Açıklama |\n|---|---|\n| `generate(opts?)` | Tek nickname üretir |\n| `generateMany(count?, opts?)` | `count` adet nickname döner (varsayılan: 10) |\n| `allFormats(opts?)` | Her format için birer nickname döner |\n| `toAscii(str)` | Türkçe karakterleri ASCII'ye çevirir |\n| `DEFAULT_WORDS` | Varsayılan kelime listelerine erişim |\n| `FORMAT_KEYS` | Geçerli format anahtarları dizisi |\n\n- 10 built-in formats: spaced, pascal, snake, kebab, colorNoun, verbNoun, double, …\n- Bundled with curated **Turkish** word lists (poetic / melancholic register)\n- Word lists are fully **replaceable or extendable** per call — works with any language\n- ASCII mode: strips diacritics for URL-safe / social-media-friendly output\n- Zero dependencies\n\n---\n\n## Installation\n\n```bash\nnpm install @alpersamur3/nickname-generator\n```\n\n---\n\n## Quick Start\n\n```js\nconst { generate, generateMany, allFormats } = require(\"@alpersamur3/nickname-generator\");\n\n// Single nickname — random format\ngenerate();                              // → \"YorgunTren\"\n\n// Specific format\ngenerate({ format: \"spaced\" });          // → \"Sabah Sisi\"\ngenerate({ format: \"kebab\" });           // → \"kayıp-plak\"\ngenerate({ format: \"pascalNumber\" });    // → \"KırıkAnahtar42\"\n\n// ASCII mode — strips diacritics (URL-safe, social-media-friendly)\ngenerate({ format: \"joined\", ascii: true });  // → \"sabahsisi\"\ngenerate({ format: \"pascal\", ascii: true });  // → \"KayipPlak\"\n\n// Bulk generation\ngenerateMany(5);\n// → [\"SolukAvlu\", \"GeceMektup\", \"BoşVagon\", …]\n\ngenerateMany(5, { format: \"snake\", ascii: true });\n// → [\"sabah_sis\", \"kayip_duman\", …]\n\n// One nickname in every format\nallFormats({ ascii: true });\n// → { spaced: \"Sabah Sisi\", joined: \"sabahsisi\", pascal: \"SabahSisi\", … }\n```\n\n---\n\n## API\n\n### `generate(opts?)`\n\nGenerates a single nickname.\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `format` | `string` | `\"random\"` | Format key or `\"random\"` |\n| `ascii` | `boolean` | `false` | Strip diacritics for ASCII-safe output |\n| `words` | `object` | — | Custom word lists (any category, see below) |\n| `extend` | `boolean` | `false` | `true` → append to defaults; `false` → replace defaults |\n\n### `generateMany(count?, opts?)`\n\nReturns an array of `count` nicknames (default: `10`). Accepts the same options as `generate()`.\n\n### `allFormats(opts?)`\n\nReturns one nickname per format as `{ formatKey: nickname, … }`. Accepts the same options as `generate()` (except `format`).\n\n---\n\n## Formats\n\n| Key | Example | Description |\n|---|---|---|\n| `spaced` | `Sabah Sisi` | Title-cased, space-separated |\n| `joined` | `sabahsisi` | Lowercase, no separator |\n| `pascal` | `SabahSisi` | PascalCase |\n| `snake` | `sabah_sisi` | snake_case |\n| `kebab` | `sabah-sisi` | kebab-case |\n| `pascalNumber` | `SabahSisi42` | PascalCase + number suffix |\n| `joinedNumber` | `sabahsisi_42` | Joined + number suffix |\n| `colorNoun` | `GriMektup` | Color + noun, PascalCase |\n| `verbNoun` | `AkanDuman` | Verb-participle + noun, PascalCase |\n| `double` | `SabahSisiVeYağmur` | Adj + noun + connector + noun |\n\n---\n\n## Custom Word Lists\n\nWord lists can be swapped per call. **Replace mode** (default) discards the built-in list entirely; **extend mode** appends to it.\n\n### Replace (default)\n\n```js\n// Override nouns — built-in Turkish list is discarded for this call\ngenerate({ format: \"pascal\", words: { nouns: [\"galaxy\", \"orbit\", \"pulsar\"] } });\n// → \"SolukGalaxy\"\n\n// Override multiple categories at once\ngenerate({\n  format: \"colorNoun\",\n  words: { colors: [\"neon\", \"plasma\"], nouns: [\"grid\", \"core\"] }\n});\n// → \"NeonCore\"\n```\n\n### Extend\n\n```js\n// Append to the default Turkish lists\ngenerate({\n  format: \"pascal\",\n  words: { nouns: [\"galaxy\", \"orbit\"] },\n  extend: true\n});\n// → may produce \"SolukGalaxy\" or \"YorgunTren\" (both pools active)\n```\n\n### Inspecting the defaults\n\n```js\nconst { DEFAULT_WORDS } = require(\"@alpersamur3/nickname-generator\");\n\nconsole.log(DEFAULT_WORDS.adjectives); // [\"eski\", \"geç\", \"son\", …]\nconsole.log(DEFAULT_WORDS.nouns);      // [\"tren\", \"vagon\", \"iskele\", …]\n```\n\n---\n\n## ASCII Mode\n\nStrips Turkish diacritics (ğ ü ş ı ö ç) for ASCII-safe output:\n\n```js\ngenerate({ format: \"pascal\", ascii: true }); // → \"KayipPlak\"  (no diacritics)\ngenerate({ format: \"snake\",  ascii: true }); // → \"sabah_sis\"\n\n// Direct utility\nconst { toAscii } = require(\"@alpersamur3/nickname-generator\");\ntoAscii(\"şişli köşe\"); // → \"sisli kose\"\n```\n\n---\n\n## Default Word Lists (Turkish)\n\nThe bundled word lists are curated for a poetic, melancholic tone in Turkish.  \nAll categories are fully replaceable via `opts.words`.\n\n| Category | Key | Sample words |\n|---|---|---|\n| Adjectives | `adjectives` | `eski`, `sessiz`, `soluk`, `yalnız`, `donmuş` |\n| Nouns | `nouns` | `tren`, `sis`, `mektup`, `ayna`, `şafak` |\n| Colors | `colors` | `sarı`, `mavi`, `gümüş`, `eflatun`, `kiremit` |\n| Numbers | `numbers` | `0`, `1`, `7`, `13`, `42` |\n| Verbs | `verbs` | `akan`, `yanan`, `sönen`, `kaybolan`, `sürüklenen` |\n\n---\n\n## License\n\nMIT\n\n---\n\n## Keywords\n\n`nickname generator` · `username generator` · `random name generator` · `display name` · `gamer tag` · `gamertag generator` · `Discord username` · `Twitch handle` · `bot name` · `Turkish` · `slug` · `ASCII` · `no dependencies`\n\n---\n\n*Varsayılan kelime listeleri Türkçe'dir. `words` seçeneğiyle herhangi bir dildeki kelimelerle değiştirilebilir veya genişletilebilir.*\n","readmeFilename":"README.md","_rev":"1-701a72dd8573035fa905fd72f85bdea8"}