From 6e22511485209b9d87511e6e072e2d37509a3d54 Mon Sep 17 00:00:00 2001 From: Lucas Jellema Date: Thu, 17 Sep 2020 08:15:14 +0200 Subject: Example composing multilevel, multilocale object --- examples/node/generateMultiLevelMultiLocaleJSON.js | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 examples/node/generateMultiLevelMultiLocaleJSON.js (limited to 'examples/node') diff --git a/examples/node/generateMultiLevelMultiLocaleJSON.js b/examples/node/generateMultiLevelMultiLocaleJSON.js new file mode 100644 index 00000000..ee7ce10c --- /dev/null +++ b/examples/node/generateMultiLevelMultiLocaleJSON.js @@ -0,0 +1,31 @@ +// This example shows the generation of a multilevel object and JSON document using various faker.js features +// including name, address, company, date and commerce namespaces, moustache expressions and random element production +// Using the helper function arr, randomly sized collections of elements are produced in the document. + +var faker = require('../../index'); +var fs = require('fs'); +// produce array with random number of empty elements +const arr = (maxNumberOfElements) => new Array(faker.random.number({min: 1, max: maxNumberOfElements})).fill() + +const locales = ["nl","es","de","fr","en_AU"] +const company = + { "name" : faker.company.companyName() + , "country" : faker.address.country() + , "departments" : arr(8).map(() => { faker.locale = faker.random.arrayElement(locales) + return { "name" : faker.commerce.department() + , "location" : faker.fake("{{address.city}} ({{address.country}})") + , "employees": arr(20).map(() => { + return { "name" : faker.fake("{{name.firstName}} {{name.lastName}}") + , "job" : faker.name.jobTitle() + , "hiredate" : faker.date.past(12).toISOString().split('T')[0] + , "salary" : faker.random.number(700, 9000) + } + }) + } + }) + } + + console.log(JSON.stringify(company)) + fs.writeFile(__dirname + '/companyDataSet.json', JSON.stringify(company), function() { + console.log("dataSet generated successfully!"); + }); \ No newline at end of file -- cgit v1.2.3