From ad97501177c34d5390a9d7525318734eb730e508 Mon Sep 17 00:00:00 2001 From: Etienne Rossignon Date: Mon, 10 Mar 2014 00:10:16 +0100 Subject: [PATCH] isolate check_options_correctness_against_schema --- lib/factories.js | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/lib/factories.js b/lib/factories.js index 475386c57c..50741c06fd 100644 --- a/lib/factories.js +++ b/lib/factories.js @@ -588,6 +588,21 @@ var objectVisitor = function (self, schema, data, callback) { }; +function check_options_correctness_against_schema(schema, options) { + // check correctness of option fields + var possible_fields = schema.fields.map(function (field) { + return field.name; + }); + var current_fields = Object.keys(options); + var invalid_options_fields = _.difference(current_fields, possible_fields); + if (invalid_options_fields.length > 0) { + var err = new Error(); + console.log("expected schema", schema.name); + require("./utils").display_trace_from_this_projet_only(); + console.log("invalid_options_fields= ", invalid_options_fields); + } + assert(invalid_options_fields.length === 0 && " invalid field found in option"); +} /** * base constructor for all OPC-UA Object * @@ -611,18 +626,7 @@ function BaseObject(schema,options) { }; options = options || {}; - - // check correctness of option fields - var possible_fields = schema.fields.map(function(field){return field.name;}); - var current_fields = Object.keys(options); - var invalid_options_fields =_.difference(current_fields,possible_fields); - if(invalid_options_fields.length>0) { - var err = new Error(); - console.log("expected schema" ,schema.name ); - require("./utils").display_trace_from_this_projet_only(); - console.log("invalid_options_fields= ",invalid_options_fields); - } - assert( invalid_options_fields.length === 0 && " invalid field found in option"); + check_options_correctness_against_schema(schema, options); var data = { options: options,