Socket
Socket
Sign inDemoInstall

datafactory

Package Overview
Dependencies
114
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    datafactory

A lightweight node package for creating test / demo data and fixtures.


Version published
Maintainers
1
Created

Readme

Source

datafactory

A lightweight node package for creating test data, demo data and fixtures.

Example Usage

import DataFactory from 'datafactory';

let demoData = new DataFactory({
  organization: {
    _id: randomId(),
    name: 'Example organization'
  },

  user: {
    _id: randomId(),
    name: 'Joe Smith',
    // Assign the user to the first organization in the group by default
    organizationId: (group) => {
      const organizations = group.data.organization;
      if (organizations) return organization[0]._id;
    }
  },

  tweet: (group) => {
    const tweet = { _id: randomId(), text: 'Hi!' };

    // Assign the tweet to the first user in the group by default
    if (group.data.user) {
      tweet.userId = group.data.user[0]._id;
    }

    return tweet;
  })
});

export function generateDemoData() {
  let group = demoData.createGroup();
  
  // Generate an organization, a user for the organization, and a tweet for the user.
  group.organization().user().tweet({ text: '@Elisabeth cool demo data!' });

  // Create another user and a tweet for them
  let elisabeth = group.user({ name: 'Elisabeth' });
  group.tweet({ userId: elisabeth._id, text: '@Joe Thanks!' });

  console.log('Generated documents', group.data);
}

Contributing

Follow the airbnb styleguide.

I recommend setting up the babel and eslint plugins for sublime.

Requires node ^5.0.0.

npm install 
  • npm run production - Build task that generates minified scripts for production
  • npm run precommit - Run the unit tests and generate a minified script
  • npm run clean - Remove the dist folder
  • npm run eslint:source - Lint the source
  • npm run eslint:common - Lint the unit tests shared by Karma and Mocha
  • npm run clean - Remove the coverage report and the dist folder
  • npm run test - Runs unit tests for both server and the browser
  • npm run test:browser - Runs the unit tests for browser / client
  • npm run test:server - Runs the unit tests on the server
  • npm run watch:server - Run all unit tests for server & watch files for changes
  • npm run watch:browser - Run all unit tests for browser & watch files for changes
  • npm run karma:firefox - Run all unit tests with Karma & Firefox
  • npm run karma:chrome - Run all unit tests with Karma & Chrome
  • npm run packages - List installed packages
  • npm run package:purge - Remove all dependencies
  • npm run package:reinstall - Reinstall all dependencies
  • npm run package:updates - shows a list over dependencies with a higher version number then the current one - if any
  • npm run package:upgrade - Automaticly upgrade all dependencies and update package.json

Contributors

Thank you @kflash for trolly the skeleton this project was started with.

License

MIT © Dispatch

Keywords

FAQs

Last updated on 17 Nov 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc