perf: lazily instantiate faker (#153)

This commit is contained in:
Mike Ralphson 2017-09-23 00:26:59 +01:00 коммит произвёл Jeremy Whitlock
Родитель 8be8328979
Коммит da0c1c3b7c
5 изменённых файлов: 53 добавлений и 69 удалений

2
browser/sway-min.js поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

2
browser/sway-standalone-min.js поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -25,10 +25,8 @@
'use strict';
var _ = require('lodash');
var fakerLocale = require('faker/locale/en_US');
var formatGenerators = require('./validation/format-generators');
var formatValidators = require('./validation/format-validators');
var mocker = require('json-schema-faker/lib');
var ZSchema = require('z-schema');
// full-date from http://xml2rfc.ietf.org/public/rfc/html/rfc3339.html#anchor14
@ -60,7 +58,7 @@ var dateTimeRegExp = new RegExp(
'$');
var collectionFormats = [undefined, 'csv', 'multi', 'pipes', 'ssv', 'tsv'];
var jsonMocker = createJSONMocker();
var jsonMocker;
var jsonSchemaValidator = createJSONValidator();
// https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md#parameter-object
var parameterSchemaProperties = [
@ -85,8 +83,10 @@ var parameterSchemaProperties = [
];
var types = ['array', 'boolean', 'integer', 'object', 'number', 'string'];
function createJSONMocker () {
function createJSONMocker (mocker) {
// Extend faker.js to only include the 'en' locale
var fakerLocale = require('faker/locale/en_US');
mocker.extend('faker', function () {
return fakerLocale;
});
@ -376,9 +376,14 @@ var getHeaderValue = module.exports.getHeaderValue = function (headers, headerNa
* @returns {object} The json-schema-faker mocker to use
*/
module.exports.getJSONSchemaMocker = function () {
var mocker;
if (!jsonMocker) {
mocker = require('json-schema-faker/lib');
jsonMocker = createJSONMocker(mocker);
}
return jsonMocker;
};
/**
* Returns a z-schema validator.
*