Skip to content

michal-wrzosek/worp

Repository files navigation

worp - fixtures factory / generator

This package is useful when you need to quickly create lots of objects (fixtures) based on some instructions. Nice thing about this library is that it's super small (no dependencies) and it works very well with Typescript.

Installation

To install this package:

npm install worp

If you use Typescript you don't need to download anything else. Typescript will be automatically loaded.

Example use

Javascript:

import { fixtureFactory } from "worp";

const factoryInstructions = {
  a: index => `property A, record nr: ${index + 1}`,
  b: index => index + 1,
  c: () =>
    `property C, random integer from 1 to 10: ${Math.ceil(Math.random() * 10)}`
};

const records = fixtureFactory(factoryInstructions, {
  nrOfRecordsToGenerate: 100
});

Typescript:

import { fixtureFactory, FactoryInstructions } from "worp";

type ExampleProps = {
  a: string;
  b: number;
  c: string;
};

const factoryInstructions: FactoryInstructions<ExampleProps> = {
  a: index => `property A, record nr: ${index + 1}`,
  b: index => index + 1,
  c: () =>
    `property C, random integer from 1 to 10: ${Math.ceil(Math.random() * 10)}`
};

const records = fixtureFactory(factoryInstructions, {
  nrOfRecordsToGenerate: 100
});

This code will generate 100 objects like this:

[
  {
    a: "property A, record nr: 1",
    b: 1,
    c: "property C, random integer from 1 to 10: 3",
  },
  {
    a: "property A, record nr: 2",
    b: 2,
    c: "property C, random integer from 1 to 10: 6",
  },
  ... (98 more like this)
]

Tags: mongodb, mongoose, typescript, database, db, fixtures, fixture, factory, generator


This package was created out of this boilerplate: https://github.com/michal-wrzosek/react-component-lib