GithubHelp home page GithubHelp logo

Comments (4)

CiotkaCierpienia avatar CiotkaCierpienia commented on June 1, 2024 2

Hi,
I have the same problem, I would love to see just ISO date returned by date.past and date.future, as faker-js returns exactly that, forcing us to use Date().toISOString defeats all purposes of using faker here...

(thanks @lordrip for the workaround)

from typeorm-fixtures.

lordrip avatar lordrip commented on June 1, 2024

I've forgot to mention, if I can help somehow investigating this further, just let me know :)

from typeorm-fixtures.

lordrip avatar lordrip commented on June 1, 2024

As a workaround, I'm using ejs forcing an ISO string

entity: MyEntity
items:
  sync{1..3}:
    topic: 'a-given-topic'
    id: '{{datatype.uuid}}'
    company: '@company*'
    syncDateTime: <%= (new Date()).toISOString() %>

from typeorm-fixtures.

lordrip avatar lordrip commented on June 1, 2024

Another way to approach this in the meantime could be leveraging Processors.

import { IProcessor } from 'typeorm-fixtures-cli';
//  Importing 'YourEntityEntity' it's optional, it's mostly for typing purposes
import { YourEntity } from './yourentity';
import { faker } from '@faker-js/faker';

export default class EntityProcessor implements IProcessor<YourEntity> {
  async preProcess(name: string, entity: YourEntity): Promise<YourEntity> {

    // Here we can leverage any fakerjs module
    // We could also leverage location.zipCode but for the sake of the example, we send some parameters as well
    const zipCode = faker.string.numeric({ length: 5, allowLeadingZeros: true });

    return { ...entity, zipCode };
  }
}

then in the fixture yaml file

entity: YourEntity
processor: ./EntityProcessor # Load the above processor
items:
  provider{1..10}:
    id: '{{string.uuid}}'
    # zipCode is no longer required here as we're providing it through the processor
    name: '{{company.name}}'
    address: '{{location.streetAddress}}'
    phone: '{{phone.number}}'
    email: '{{internet.email}}'
    representativeName: '{{person.fullName}}'
    representativePhone: '{{phone.number}}'
    representativeEmail: '{{internet.email}}'

from typeorm-fixtures.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.