A TypeScript fork of David Bau's seedrandom library with TypeScript support and ES module compatibility as well as worklets and no node dependencies.
This library provides seeded random number generation for JavaScript/TypeScript applications, including React Native worklets.
npm install @skoiy/seedrandom- Full TypeScript definitions included
- Modern TypeScript features and strict type checking
- IntelliSense support in IDEs
- Type-safe API with proper interfaces
- Compatible with React Native worklets
- Can be used in UI thread animations and interactions
- Optimized for performance in React Native applications
- Worklet-safe random number generation
- Zero runtime dependencies
- Works in browsers, React Native, and any JavaScript environment
- Uses
globalThisfor cross-platform compatibility - No Node.js specific APIs required
import seedrandom from '@skoiy/seedrandom'
// Create a seeded random number generator
const rng = seedrandom('my-seed')
// Generate random numbers
console.log(rng()) // 0.123456...
console.log(rng.int32()) // Random 32-bit integer
console.log(rng.quick()) // Quick random number
console.log(rng.double()) // Same as rng()
// Use with state saving
const rngWithState = seedrandom('seed', { state: true })
const state = rngWithState.state()
const restoredRng = seedrandom(state)seed: String or number to seed the generatoroptions: Configuration object or boolean for entropycallback: Optional callback function
Returns a PRNG function with additional methods.
(): Returns a random number between 0 and 1int32(): Returns a random 32-bit integerquick(): Returns a quick random numberdouble(): Alias for()state(): Returns the current state (if enabled)
$ npm run dev$ npm run build$ npm run test