Skip to content

s-a/muenchhausen

Repository files navigation

MUENCHHAUSEN Muenchhausen Logo

NPM version Build Status Dependency Status Coverage percentage Codacy BadgeDonate

Make your test data look real. In Node and in Browser

Installation

npm install --save muenchhausen

Usage

Muenchhausen expects a culture string as parameter like "de-DE" or "en-GB". All available cultures are listed in cultures.json

var Muenchhausen = require("muenchhausen");
var muenchhausen = new Muenchhausen("de-DE");

Render

var muenchhausen = new Muenchhausen("en-GB");
var news = muenchhausen.render("$(date.now.text) - $(date.random.value min:20200901)  $(date.random)");
console.log(news);

/*
yields => 13/05/2017 - Thu Jul 14 8416 12:51:52 GMT+0200 (Mitteleuropäische Sommerzeit)  06/00/2784
*/

Programmatically

var muenchhausen = new Muenchhausen("ja-JP");
console.log(muenchhausen.fake.date.now({}).text());
console.log(muenchhausen.fake.date.weekday().text());

/*
yields =>
2017/02/22
金曜日
*/

Benchmarks

/docs/BENCHMARK.md

Client

A shell client is avialable at muenchhausen-client.

API

/docs/

Contribute

Please read /CONTRIBUTING.md for details.

Write your own extension

fake/random is a pretty simple starting point to see how a muenchhausen extension works.

In generall it contains a simple node module. Methods prefixed with _ are private. Unprefixed funtions are available in the public render method and will be scanned while the module unit tests. Each unprefixed function have to return an object with the property value and a function called text.

  • .text() should optionaly process given parms and render a text representation of .value.
  • .value should hold the native JavaScript value (if possible).

Nice to have

  • new unit test(s).
    • write unit tests and run npm test or mocha for faster results.
  • new benchmark(s).
    • write a benchmark or more and run npm run benchmark which will update BENCHMARK.md.
  • new doc(s).
    • Add jsdox descptions to your public function headers and npm run docs will update /docs folder.
  • Error and code coverage test.
    • run npm test to start gulp taks. Fix eslint error and check your code coverage described in muenchhausen/coverage/lcov-report/index.html.

License

MIT © s-a