зеркало из https://github.com/Azure/sway.git
Fix a perf issue caused by cloning schemaObj (#101)
Co-authored-by: Ray Chen <raychen@microsoft.com>
This commit is contained in:
Родитель
d7a8005235
Коммит
9d7cbb6dce
|
@ -25,7 +25,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var _ = require('lodash');
|
var _ = require('lodash');
|
||||||
var cloneDeep = require('clone-deep');
|
|
||||||
var formatGenerators = require('./validation/format-generators');
|
var formatGenerators = require('./validation/format-generators');
|
||||||
var formatValidators = require('./validation/format-validators');
|
var formatValidators = require('./validation/format-validators');
|
||||||
var customValidators = require('./validation/custom-zschema-validators');
|
var customValidators = require('./validation/custom-zschema-validators');
|
||||||
|
@ -471,10 +470,6 @@ module.exports.removeCirculars = function (obj) {
|
||||||
* @returns {object} Object containing the errors and warnings of the validation
|
* @returns {object} Object containing the errors and warnings of the validation
|
||||||
*/
|
*/
|
||||||
module.exports.validateAgainstSchema = function (validator, schema, value, schemaPath, isResponse, options) {
|
module.exports.validateAgainstSchema = function (validator, schema, value, schemaPath, isResponse, options) {
|
||||||
// Clone the schema as z-schema alters the provided document (https://github.com/zaggino/z-schema/issues/160#issuecomment-214901835).
|
|
||||||
// Original lodash's deep clone was used but during memory profiling we've found lodash's deep clone takes a lot of CPU, according to this benchmark (https://github.com/ahmadnassri/benchmark-node-clone) and load testing, we've decided to replace lodash with this deep-clone library
|
|
||||||
schema = cloneDeep(schema);
|
|
||||||
|
|
||||||
var response = {
|
var response = {
|
||||||
errors: [],
|
errors: [],
|
||||||
warnings: []
|
warnings: []
|
||||||
|
|
Загрузка…
Ссылка в новой задаче