{"_id":"@duckcoin/fnv1a","_rev":"3-61c872707ad57ebd406ae524dc0312b3","name":"@duckcoin/fnv1a","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@duckcoin/fnv1a","version":"1.0.0","keywords":["hash","fnv1a","typescript"],"author":{"name":"duckcoinorg"},"license":"MIT","_id":"@duckcoin/fnv1a@1.0.0","maintainers":[{"name":"cyborg97","email":"muhametshin.1997@gmail.com"}],"dist":{"shasum":"d8abe5420817a078e20d43cf2525b71ec94a657e","tarball":"https://registry.npmjs.org/@duckcoin/fnv1a/-/fnv1a-1.0.0.tgz","fileCount":15,"integrity":"sha512-UOvMMmfu/4kRCH8RhAm2lfU0p3PB8dsMhfMpzQt1LUhJMmlOmz4SiHiCdL5BI3K/skaNPR/Md8kfrTz1AR+AiA==","signatures":[{"sig":"MEYCIQCaVXQFnlCRSq9P4VXRtk5FF8plu6cYUXBqyAI6nVpuAAIhALeN3J6UN4MzB2rAi+Cq4ZHpV3Feqk6Fkk1eXwo3iUAT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9782},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"df2c94d1ebf525122d6a3db3649346b02429cacd","scripts":{"lint":"eslint . --ext .ts","test":"jest","build":"tsc","prepare":"yarn build"},"_npmUser":{"name":"cyborg97","email":"muhametshin.1997@gmail.com"},"_npmVersion":"10.9.2","description":"FNV-1a hash function implementation in TypeScript","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.27.0","ts-jest":"^29.3.4","typescript":"^5.8.3","@types/jest":"^29.5.14","@typescript-eslint/parser":"^8.32.1","@typescript-eslint/eslint-plugin":"^8.32.1"},"_npmOperationalInternal":{"tmp":"tmp/fnv1a_1.0.0_1747649126394_0.6502165415260575","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@duckcoin/fnv1a","version":"1.0.1","keywords":["hash","fnv1a","string-to-number-in-range","typescript"],"author":{"name":"duckcoinorg"},"license":"MIT","_id":"@duckcoin/fnv1a@1.0.1","maintainers":[{"name":"cyborg97","email":"muhametshin.1997@gmail.com"}],"homepage":"https://github.com/duckcoinorg/fnv1a#readme","bugs":{"url":"https://github.com/duckcoinorg/fnv1a/issues"},"dist":{"shasum":"8557b37a4ec07f54fb6c1a5a115775338ee211cf","tarball":"https://registry.npmjs.org/@duckcoin/fnv1a/-/fnv1a-1.0.1.tgz","fileCount":15,"integrity":"sha512-rZWuTStmthtbO6VIXGUI3F2i4eJibNzw44y50MnypzKJ40kj4g6k/E+EGXyArOqkOtSvIeYiF1erd4f03gx85A==","signatures":[{"sig":"MEUCIQC3UX4ROPqAFgb+9lYAv64oiO6M8jMx3HtjKbO9XrjC0QIgFLOf301RZLBUPweXSsmg4+Qyyg5BuKzFt4KMhHhHOl0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10756},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7f414e101be31328205bd11ededd0ad8d6d236bc","scripts":{"lint":"eslint . --ext .ts","test":"jest","build":"tsc","prepare":"yarn build"},"_npmUser":{"name":"cyborg97","email":"muhametshin.1997@gmail.com"},"repository":{"url":"git+https://github.com/duckcoinorg/fnv1a.git","type":"git"},"_npmVersion":"10.8.2","description":"FNV-1a hash function implementation in TypeScript","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.27.0","ts-jest":"^29.3.4","typescript":"^5.8.3","@types/jest":"^29.5.14","@eslint/eslintrc":"^3.3.1","typescript-eslint":"^8.32.1","@typescript-eslint/parser":"^8.32.1","@typescript-eslint/eslint-plugin":"^8.32.1"},"_npmOperationalInternal":{"tmp":"tmp/fnv1a_1.0.1_1747650263144_0.44749489789256325","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@duckcoin/fnv1a","author":{"name":"duckcoinorg"},"license":"MIT","version":"1.0.2","description":"FNV-1a hash function implementation in TypeScript","repository":{"type":"git","url":"git+https://github.com/duckcoinorg/fnv1a.git"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","test":"jest","lint":"eslint . --ext .ts","prepare":"yarn build"},"keywords":["hash","fnv1a","string-to-number-in-range","typescript"],"devDependencies":{"@eslint/eslintrc":"^3.3.1","@types/jest":"^29.5.14","@typescript-eslint/eslint-plugin":"^8.32.1","@typescript-eslint/parser":"^8.32.1","eslint":"^9.27.0","jest":"^29.7.0","ts-jest":"^29.3.4","typescript":"^5.8.3","typescript-eslint":"^8.32.1"},"_id":"@duckcoin/fnv1a@1.0.2","gitHead":"31ea191ad38c2e7706660b64d151694ef7890540","bugs":{"url":"https://github.com/duckcoinorg/fnv1a/issues"},"homepage":"https://github.com/duckcoinorg/fnv1a#readme","_nodeVersion":"20.19.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-2fFWiIGCCOuMj1BIr2D7kzojqS6NFSLtVP9p6Rgs3EvgVNomDnfezQL9MLzSh00ZShR5rIQOy5w5Jn9OF0rOTw==","shasum":"5a8ef732dae6589b04965fc9838b0ff3e35cd3c5","tarball":"https://registry.npmjs.org/@duckcoin/fnv1a/-/fnv1a-1.0.2.tgz","fileCount":15,"unpackedSize":10766,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB0iyY+ke8UbLPwF+5lnKb7mKHGApYYe3UzEf9qahOppAiBcKFHgW7cS7gUWQ3hI9OiQHrB53CuLSx6wOHsaIhdHwQ=="}]},"_npmUser":{"name":"cyborg97","email":"muhametshin.1997@gmail.com"},"directories":{},"maintainers":[{"name":"cyborg97","email":"muhametshin.1997@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fnv1a_1.0.2_1747676203058_0.5203475117430398"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-19T10:05:26.320Z","modified":"2025-05-19T17:36:43.430Z","1.0.0":"2025-05-19T10:05:26.595Z","1.0.1":"2025-05-19T10:24:23.329Z","1.0.2":"2025-05-19T17:36:43.238Z"},"bugs":{"url":"https://github.com/duckcoinorg/fnv1a/issues"},"author":{"name":"duckcoinorg"},"license":"MIT","homepage":"https://github.com/duckcoinorg/fnv1a#readme","keywords":["hash","fnv1a","string-to-number-in-range","typescript"],"repository":{"type":"git","url":"git+https://github.com/duckcoinorg/fnv1a.git"},"description":"FNV-1a hash function implementation in TypeScript","maintainers":[{"name":"cyborg97","email":"muhametshin.1997@gmail.com"}],"readme":"# FNV-1a Hash Library\n\nA minimalistic TypeScript implementation of the FNV-1a hash function, providing both raw hash generation and range-based number generation\n\n## Installation\n\n```bash\nyarn add @duckcoin/fnv1a\n```\n\n## Usage\n\n```typescript\nimport { fnv1aHash, stringToNumberInRange } from 'fnv1a';\n\n// Generate a 32-bit FNV-1a hash\nconst hash = fnv1aHash('hello world');\nconsole.log(hash); // 0x7b9c3b7d\n\n// Generate a number in a specific range\nconst number = stringToNumberInRange('hello world', 100);\nconsole.log(number); // A number between 0 and 100\n```\n\n## API\n\n### `fnv1aHash(str: string): number`\n\nGenerates a 32-bit FNV-1a hash of the input string.\n\n- `str`: The input string to hash\n- Returns: A 32-bit unsigned integer hash value\n\n### `stringToNumberInRange(str: string, maxValue: number): number`\n\nGenerates a number in the range [0, maxValue] based on the hash of the input string.\n\n- `str`: The input string to hash\n- `maxValue`: The maximum value (inclusive) for the generated number\n- Returns: A number between 0 and maxValue (inclusive)\n\n## Features\n\n- Full Unicode support (including emoji and surrogate pairs)\n- Consistent hashing (same input always produces same output)\n- TypeScript support with type definitions\n- Well-tested with comprehensive test suite\n\n## License\n\nMIT ","readmeFilename":"README.md"}