npm.io
1.1.0 • Published 6 years ago

fake-class

Licence
MIT
Version
1.1.0
Deps
0
Size
14 kB
Vulns
0
Weekly
0
DeprecatedThis package is deprecated

fake-class

CI Coverage Status License: MIT code style: prettier

fake-class instantiates objects with fake data.

Requirement

  • TypeScript version 3.3 or higher

  • You have enabled the following settings in tsconfig.json:

    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,

Install

  1. Install the npm package:

    npm install fake-class --save

Usage

Basic Usage
import { fakeClass, FakableClass, FakableField } from "fake-class";

@FakableClass()
class User {
  public id?: number;

  @FakableField(() => "takkyuuplayer@example.com")
  public email?: string;

  public active: boolean = true;
}

const user = fakeClass(User);
console.log(user); // User {active: true, email: 'takkyuuplayer@example.com' }
Field Relation

You can set orders for fields to be resolved earlier than the others. The default order is Number.MAX_VALUE.

Useful to relate faked fields.

@FakableClass()
class User {
  @FakableField(() => 5, {
    order: 0
  })
  public id?: number;

  @FakableField((user: User) => `test-${user.id}@example.com`)
  public email?: string;
}

const user = fakeClass(User);
console.log(user); // User {id: 5, email: 'test-5@example.com' }
More Examples

See more examples.

Keywords