зеркало из https://github.com/Azure/sway.git
perf: lazily instantiate faker (#153)
This commit is contained in:
Родитель
8be8328979
Коммит
da0c1c3b7c
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -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.
|
||||
*
|
||||
|
|
Загрузка…
Ссылка в новой задаче