/** * Test data generation utilities. * @module app/utils/random_utils */ import { LoremIpsum } from "lorem-ipsum"; import seedrandom from "seedrandom"; export const rand = (scale) => scale * (Math.random() * 2 - 1); export const randint = (scale) => Math.floor(scale * Math.random()); export const randsign = () => (Math.random() < 0.5 ? -1 : 1); export const rand_seq = seedrandom("shoebox"); export const rand_seq_norm = () => Math.pow(rand_seq(), 2) * randsign() * 0.5; export const choice = (list) => list[randint(list.length)]; export const randomFruit = () => choice(fruits); export const lorem = new LoremIpsum({ sentencesPerParagraph: { max: 4, min: 2, }, wordsPerSentence: { max: 10, min: 4, }, }); export const fruits = `agave allspice almond apple apricot artichoke arugula asparagus avocado balsamic banana basil blackbean blueberry brandy broccoli buckwheat cacao cachaca cantaloupe caper caramel caraway cardamom carrot cashew cauliflower cava cayenne celery chambord champagne chickpea chili chipotle chive cilantro cinnamon citrus clementine clove coconut coffee cornbread cucumber cumin daikon dill eggplant espresso fennel fenugreek flower garlic ghee ginger grape grapefruit greentea habanero hazelnut hibiscus honey honeydew horseradish huckleberry jalapeno jasmine juniper kiwi kohlrabi kumquat lavender leek lemon lemongrass macadamia mango maple marjoram mint miso nori nutmeg olive onion orange oregano papaya parmesan parsley parsnip peach peanut pear pecan pepper pernod pinenut pineapple plum pluot poblano pomegranate pomelo potato pumpkin quinoa raisin raspberry rhubarb rosemary saffron sage sake sauerkraut savory seitan sesame shallot paprika soy spinach squash strawberry tempei tequila thyme tofu tomatillo tomato turmeric vanilla vermouth violet walnut wasabi watermelon wheat yam yuzu zucchini` .split("\n") .map((text) => text.trim());