1.17.0 • Published 6 months ago

ect-random-data v1.17.0

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

ECT Random Data

This library was generated with Angular CLI version 17.0.0.

Description

Trying to think about new user, contact or customer data can be tricky, so here's a simple library to make some of the job a little easier.

Usage

First add the EctRandomDataService service and the EctNgLinqService to your Modules' or AppComponent's Providers list.

As an example, if we want to create a UserRecordFetchService service class to create a random list of User records, this is what we do.

First, let's define a User interface under a models folder, calling the file users.models.ts:

export interface IUser {
  id: number;
  firstName: string;
  lastName: string;
  age: number;
  dob: Date;
  connected: Date,
  assets: number;
}

Then to get a create a service class to mock between 100 and 250 records, we use the following:

import { Injectable } from '@angular/core';

import { EctNgLinqService } from 'ect-ng-linq';
import { EctRandomDataService } from 'ect-random-data';

import { IUser, User } from './../models/users.models';

@Injectable()
export class UserRecordFetchService {

  private usersList = this.ngLinqService.createNgLinq<IUser>();

  constructor(private randomDataService: EctRandomDataService, private ngLinqService: EctNgLinqService) { }

  populateUserRecords(): void {
    const recordCount = this.randomDataService.getRandomNumberBetweenTwoValues(100, 250);

    for(let ii = 1; ii <= recordCount; ii++) {
      const userRecord = new User();
      userRecord.id = ii;
      userRecord.firstName = this.randomDataService.getAnyFirstName();
      userRecord.lastName = this.randomDataService.getLastName();
      userRecord.dob = this.randomDataService.getDateOfBirth();
      userRecord.age = this.randomDataService.getAgeFromDate(userRecord.dob);
      const hours = this.randomDataService.getRandomNumberBetweenTwoValues(8, 21);
      const minutes = this.randomDataService.getRandomNumberBetweenTwoValues(0, 59);
      const seconds = this.randomDataService.getRandomNumberBetweenTwoValues(0, 59);
      const day = this.randomDataService.getRandomNumberBetweenTwoValues(1, 28);
      const month = this.randomDataService.getRandomNumberBetweenTwoValues(1, 12);
      const year = this.randomDataService.getRandomNumberBetweenTwoValues(2010, 2022);
      userRecord.connected = new Date(year, month, day, hours, minutes, seconds);
      userRecord.assets = this.randomDataService.getRandomNumberBetweenTwoValues(100, 1000000) / this.randomDataService.getRandomNumberBetweenTwoValues(11, 29);

      this.usersList.add(userRecord);
    }
  }

  getUserRecords(): NgLinqArray<IUser> {
    return this.usersList;
  }
}

In the above class we have to import the NgLinqService service dependency and then the EctRandomData service, before we do anything else.

The populateUserRecords sets a recordCount variable to hold a random number between 100 and 250.

The loop then iterates between 1 and recordCount creating a new User record, setting it's properties to use random data, before adding the user record to the userList array.

Functions

The following functions are available from the IEctRandomDataService interface:

  • getRandomNumberBetweenTwoValues: Get a random number between 2 whole numbers.

  • getGirlFirstNames: Get a list of girl names.

  • getBoyFirstNames: Get a list of boy names.
  • getAllFirstNames: Get a list of first names, regardless of gender.
  • getLastNames: Get a list of last names.

  • getAnyFirstName: Get a random first name, regardless of gender.

  • getGirlFirstName: Get a random first name for a girl.
  • getBoyFirstName: Get a random first name for a boy.
  • getLastName: Get a random last name.
  • isBoyName: Determine whether a name is for a boy. If false, then it's a girl's name.

  • getDateOfBirth: Get a date of birth from 1970-01-01 onwards.

  • getAgeFromDate: Get the age from a date. Assumes a date from 1970-01-01 onwards.

Dependencies

This library does use, and therefore depends on the ECT NgLinq library. More details can be found here: (https://www.npmjs.com/package/ect-ng-linq)

Cost

If you find some benefit from using this package, please consider the time it took to put this together, and why not buy me a coffee? Goodness only knows that most of us would not function without coffee. All donations very much welcomed: (https://www.buymeacoffee.com/exoduscloudtech)

Further help

To get more help on the this ECT Random Data, please visit (https://angular-grid.net/free/ect-random-data)

1.17.0

6 months ago

1.16.1

12 months ago

1.15.0

1 year ago

1.16.0

1 year ago

0.3.0

1 year ago

0.1.2

1 year ago

0.2.0

1 year ago

0.3.2

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.5

1 year ago

0.0.10

1 year ago

0.0.11

1 year ago

0.1.0

1 year ago

0.1.1

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago