From 43cb32f8984213d3bf5181e1374a780a7d736ba3 Mon Sep 17 00:00:00 2001 From: Marak Date: Sat, 27 Mar 2021 11:10:02 -0400 Subject: =?UTF-8?q?Reverts=20changes=20from=20#985=20Closes=20#1148=20Remo?= =?UTF-8?q?ves=20duplicate=20`en`=20require=20This=20is=20a=20quick=20copy?= =?UTF-8?q?=20and=20paste=20solution=20to=20revert=20We=E2=80=99ll=20want?= =?UTF-8?q?=20to=20go=20back=20here=20and=20refactor=20this=20again?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/system.js | 80 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 60 insertions(+), 20 deletions(-) (limited to 'lib/system.js') diff --git a/lib/system.js b/lib/system.js index 35fd6828..98b3ea9c 100644 --- a/lib/system.js +++ b/lib/system.js @@ -36,26 +36,6 @@ function setToArray(set) { * @namespace faker.system */ function System(faker) { - var typeSet = new Set(); - var extensionSet = new Set(); - var mimeTypes = faker.definitions.system.mimeTypes; - - Object.keys(mimeTypes).forEach(function (m) { - var type = m.split("/")[0]; - - typeSet.add(type); - - if (mimeTypes[m].extensions instanceof Array) { - mimeTypes[m].extensions.forEach(function (ext) { - extensionSet.add(ext); - }); - } - }); - - var types = setToArray(typeSet); - var extensions = setToArray(extensionSet); - var mimeTypeKeys = Object.keys(faker.definitions.system.mimeTypes); - /** * generates a file name @@ -88,6 +68,26 @@ function System(faker) { * @method faker.system.mimeType */ this.mimeType = function () { + var typeSet = new Set(); + var extensionSet = new Set(); + var mimeTypes = faker.definitions.system.mimeTypes; + + Object.keys(mimeTypes).forEach(function (m) { + var type = m.split("/")[0]; + + typeSet.add(type); + + if (mimeTypes[m].extensions instanceof Array) { + mimeTypes[m].extensions.forEach(function (ext) { + extensionSet.add(ext); + }); + } + }); + + var types = setToArray(typeSet); + var extensions = setToArray(extensionSet); + var mimeTypeKeys = Object.keys(faker.definitions.system.mimeTypes); + return faker.random.arrayElement(mimeTypeKeys); }; @@ -116,7 +116,27 @@ function System(faker) { * @method faker.system.fileType */ this.fileType = function () { + var typeSet = new Set(); + var extensionSet = new Set(); + var mimeTypes = faker.definitions.system.mimeTypes; + + Object.keys(mimeTypes).forEach(function (m) { + var type = m.split("/")[0]; + + typeSet.add(type); + + if (mimeTypes[m].extensions instanceof Array) { + mimeTypes[m].extensions.forEach(function (ext) { + extensionSet.add(ext); + }); + } + }); + + var types = setToArray(typeSet); + var extensions = setToArray(extensionSet); + var mimeTypeKeys = Object.keys(faker.definitions.system.mimeTypes); return faker.random.arrayElement(types); + }; /** @@ -126,6 +146,26 @@ function System(faker) { * @param {string} mimeType */ this.fileExt = function (mimeType) { + var typeSet = new Set(); + var extensionSet = new Set(); + var mimeTypes = faker.definitions.system.mimeTypes; + + Object.keys(mimeTypes).forEach(function (m) { + var type = m.split("/")[0]; + + typeSet.add(type); + + if (mimeTypes[m].extensions instanceof Array) { + mimeTypes[m].extensions.forEach(function (ext) { + extensionSet.add(ext); + }); + } + }); + + var types = setToArray(typeSet); + var extensions = setToArray(extensionSet); + var mimeTypeKeys = Object.keys(faker.definitions.system.mimeTypes); + if (mimeType) { var mimes = faker.definitions.system.mimeTypes; return faker.random.arrayElement(mimes[mimeType].extensions); -- cgit v1.2.3