Skip to content

Commit

Permalink
isolate check_options_correctness_against_schema
Browse files Browse the repository at this point in the history
  • Loading branch information
erossignon committed Mar 9, 2014
1 parent d8ac8de commit ad97501
Showing 1 changed file with 16 additions and 12 deletions.
28 changes: 16 additions & 12 deletions lib/factories.js
Expand Up @@ -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
*
Expand All @@ -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,
Expand Down

0 comments on commit ad97501

Please sign in to comment.