aboutsummaryrefslogtreecommitdiffstats
path: root/packages/excalidraw/random.ts
blob: 851bc28ecfd9b7e1de14f7aab1baa1daa8a697e4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import { Random } from "roughjs/bin/math";
import { nanoid } from "nanoid";
import { isTestEnv } from "./utils";

let random = new Random(Date.now());
let testIdBase = 0;

export const randomInteger = () => Math.floor(random.next() * 2 ** 31);

export const reseed = (seed: number) => {
  random = new Random(seed);
  testIdBase = 0;
};

export const randomId = () => (isTestEnv() ? `id${testIdBase++}` : nanoid());