{"_id":"@berkayyalcin/utilkit","name":"@berkayyalcin/utilkit","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@berkayyalcin/utilkit","version":"0.1.0","publishConfig":{"access":"public"},"description":"Zero-dependency devkit for everyday JavaScript/TypeScript utilities: Unicode-safe Base64, correct string length, and safe JSON parsing.","type":"module","main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./encoding":{"import":{"types":"./dist/encoding/index.d.ts","default":"./dist/encoding/index.mjs"},"require":{"types":"./dist/encoding/index.d.cts","default":"./dist/encoding/index.cjs"}},"./text":{"import":{"types":"./dist/text/index.d.ts","default":"./dist/text/index.mjs"},"require":{"types":"./dist/text/index.d.cts","default":"./dist/text/index.cjs"}},"./data":{"import":{"types":"./dist/data/index.d.ts","default":"./dist/data/index.mjs"},"require":{"types":"./dist/data/index.d.cts","default":"./dist/data/index.cjs"}}},"typesVersions":{"*":{"encoding":["./dist/encoding/index.d.ts"],"text":["./dist/text/index.d.ts"],"data":["./dist/data/index.d.ts"]}},"sideEffects":false,"license":"MIT","author":{"name":"Berkay Yalçın"},"homepage":"https://github.com/berkayyalcin7/utilkit#readme","repository":{"type":"git","url":"git+https://github.com/berkayyalcin7/utilkit.git"},"bugs":{"url":"https://github.com/berkayyalcin7/utilkit/issues"},"keywords":["utility","base64","unicode","json","typescript","zero-dependency","devkit"],"scripts":{"build":"tsup","test":"vitest run","test:coverage":"vitest run --coverage","lint":"eslint .","typecheck":"tsc --noEmit","prepublishOnly":"npm run lint && npm run typecheck && npm run test && npm run build"},"devDependencies":{"@eslint/js":"^9.17.0","@vitest/coverage-v8":"^3.0.0","eslint":"^9.17.0","tsup":"^8.3.5","typescript":"^5.7.2","typescript-eslint":"^8.18.0","vitest":"^3.0.0"},"engines":{"node":">=18"},"_id":"@berkayyalcin/utilkit@0.1.0","gitHead":"d370098474a0dbe095116ae28cf3730ec317ba88","_nodeVersion":"22.13.0","_npmVersion":"11.0.0","dist":{"integrity":"sha512-A1n/U/mRIkOJkF5VHVt60HZe3hFo5xQvvoVsiqwvxXSV3fQ5xxjt0/ULoiF0AOG+rL1eiZd3RSi4ZI25fdxsaQ==","shasum":"18a4fdad758c545f309ecd7524643945030a051b","tarball":"https://registry.npmjs.org/@berkayyalcin/utilkit/-/utilkit-0.1.0.tgz","fileCount":27,"unpackedSize":49329,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCa7S4Q/iPxK7Q0nFkVi1torBA8dvucgjHazomaSKFpMgIgaUd6wpGbFCXP9KrFjFSwLce1itebvLEz6pkv+Tg4Jlw="}]},"_npmUser":{"name":"berkayyalcin","email":"berkayyalcin7@gmail.com"},"directories":{},"maintainers":[{"name":"berkayyalcin","email":"berkayyalcin7@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/utilkit_0.1.0_1783450745270_0.9580946652021229"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-07T18:59:05.119Z","0.1.0":"2026-07-07T18:59:05.413Z","modified":"2026-07-07T18:59:05.603Z"},"maintainers":[{"name":"berkayyalcin","email":"berkayyalcin7@gmail.com"}],"description":"Zero-dependency devkit for everyday JavaScript/TypeScript utilities: Unicode-safe Base64, correct string length, and safe JSON parsing.","homepage":"https://github.com/berkayyalcin7/utilkit#readme","keywords":["utility","base64","unicode","json","typescript","zero-dependency","devkit"],"repository":{"type":"git","url":"git+https://github.com/berkayyalcin7/utilkit.git"},"author":{"name":"Berkay Yalçın"},"bugs":{"url":"https://github.com/berkayyalcin7/utilkit/issues"},"license":"MIT","readme":"# utilkit\n\nZero-dependency devkit for everyday JavaScript/TypeScript utilities. Pure functions — works in React, Vue, Angular, Node, or plain browser scripts.\n\n## Install\n\n```bash\nnpm install @berkayyalcin/utilkit\n```\n\n## Quick Start\n\n```ts\nimport { base64Encode, base64Decode, stringLength, byteLength, safeJsonParse } from \"@berkayyalcin/utilkit\";\n\nbase64Encode(\"Türkçe metin 🎉\");        // Unicode-safe, unlike native btoa\nbase64Decode(\"not-valid-base64\");        // null, never throws\n\nstringLength(\"😀\");                       // 1 (visual character)\n\"😀\".length;                              // 2 (native — counts UTF-16 units, not visual chars)\nbyteLength(\"😀\");                         // 4 (UTF-8 byte size)\n\nsafeJsonParse(\"not json\");                // null, never throws\nsafeJsonParse(\"not json\", { empty: true }); // { empty: true } — fallback value\n```\n\nYou can also import from a specific category for smaller bundles:\n\n```ts\nimport { base64Encode } from \"@berkayyalcin/utilkit/encoding\";\nimport { stringLength } from \"@berkayyalcin/utilkit/text\";\nimport { safeJsonParse } from \"@berkayyalcin/utilkit/data\";\n```\n\n## API\n\n| Function | Signature | Description |\n|---|---|---|\n| `base64Encode` | `(input: string) => string` | UTF-8-safe Base64 encode. |\n| `base64Decode` | `(input: string) => string \\| null` | Base64 decode; `null` on invalid input. |\n| `stringLength` | `(input: string) => number` | Visual character (grapheme) count. |\n| `byteLength` | `(input: string) => number` | UTF-8 byte length. |\n| `safeJsonParse` | `<T>(input: string, fallback?: T) => T \\| null` | `JSON.parse` that never throws. |\n\n## Design Principles\n\n- **Zero dependencies.**\n- **100% test coverage.**\n- **Tree-shakeable** — `\"sideEffects\": false`, ESM + CJS builds.\n- **TypeScript-first.**\n- **Null-safe on invalid input** — functions that can fail return `null` (or a caller-supplied fallback) instead of throwing.\n- **MIT licensed.**\n\n## Türkçe\n\n`utilkit`, günlük JavaScript/TypeScript ihtiyaçları için sıfır bağımlılıklı bir devkit'tir: Unicode-güvenli Base64 kodlama, doğru string uzunluğu (karakter + byte) ve güvenli JSON ayrıştırma. Saf fonksiyonlardan oluşur — React, Vue, Angular veya Node fark etmeksizin her yerde çalışır. Kurulum ve API referansı için yukarıdaki İngilizce bölüme bakınız (fonksiyon imzaları evrenseldir).\n\n## License\n\nMIT © [Berkay Yalçın](https://berkayyalcin.dev)\n","readmeFilename":"README.md","_rev":"1-515c41eeeb19e887ddf05607ebb31313"}