moddle
Advanced tools
Comparing version 0.0.5 to 0.1.0
@@ -0,7 +1,9 @@ | ||
'use strict'; | ||
var _ = require('lodash'); | ||
var Common = require('./Common'), | ||
logger = require('./util/Logger'), | ||
isBuiltIn = Common.isBuiltInType; | ||
parseNameNs = Common.parseNameNs; | ||
var util = require('./util'), | ||
logger = util.logger, | ||
isBuiltInType = util.isBuiltInType, | ||
parseNameNs = util.parseNameNs; | ||
@@ -43,4 +45,5 @@ var DESCRIPTOR = '$descriptor', | ||
function isA(name) { | ||
/* jshint -W040 */ | ||
return !!_.find($descriptor(this).allTypes, function(t) { | ||
return t.name == name; | ||
return t.name === name; | ||
}); | ||
@@ -212,3 +215,3 @@ } | ||
// namespace property types | ||
if (!isBuiltIn(p.type)) { | ||
if (!isBuiltInType(p.type)) { | ||
var propertyTypeNs = parseNameNs(p.type, propertyNs.prefix); | ||
@@ -265,3 +268,4 @@ p.type = propertyTypeNs.name; | ||
if (!redefinedProperty) { | ||
logger.error('[model] ' + type + ' : property <' + attrName + '> redefined by <' + p.ns.name + '> does not exist'); | ||
logger.error('[model] ' + type + ' : property <' + attrName + '> ' + | ||
'redefined by <' + p.ns.name + '> does not exist'); | ||
@@ -309,3 +313,3 @@ throw new Error('[model] refined property not found'); | ||
var idx = props.indexOf(oldProperty); | ||
if (idx == -1) { | ||
if (idx === -1) { | ||
throw new Error('[model] property <' + oldNameNs.name + '> not found in property list'); | ||
@@ -372,4 +376,11 @@ } | ||
if (definedProperty) { | ||
console.error('[model] property <', propertyName, '> already defined. Override of <', definedProperty.definedBy, '>#<', definedProperty, '> by <', property.definedBy, '>#<', property, '> not allowed without redefines.'); | ||
throw new Error('[model] property <' + propertyName + '> already defined. Override of <' + definedProperty.definedBy.ns.name + '>#<' + definedProperty.ns.name + '> by <' + property.definedBy.ns.name + '>#<' + property.ns.name + '> not allowed without redefines.'); | ||
console.error( | ||
'[model] property <', propertyName, '> already defined. Override of ' + | ||
'<', definedProperty.definedBy, '>#<', definedProperty, '> by ' + | ||
'<', property.definedBy, '>#<', property, '> not allowed without redefines.'); | ||
throw new Error( | ||
'[model] property <' + propertyName + '> already defined. Override of ' + | ||
'<' + definedProperty.definedBy.ns.name + '>#<' + definedProperty.ns.name + '> by ' + | ||
'<' + property.definedBy.ns.name + '>#<' + property.ns.name + '> not allowed without redefines.'); | ||
} | ||
@@ -382,3 +393,11 @@ } | ||
var descriptor = { name: nameNs.name, ns: nameNs, allTypes: allTypes, properties: [], propertiesByName: {}, constraints: [] }; | ||
var descriptor = { | ||
name: nameNs.name, | ||
ns: nameNs, | ||
allTypes: allTypes, | ||
properties: [], | ||
propertiesByName: {}, | ||
constraints: [] | ||
}; | ||
var last = _.last(allTypes); | ||
@@ -479,5 +498,5 @@ | ||
var type = getType(descriptor); | ||
var Type = getType(descriptor); | ||
var instance = new type(attrs); | ||
var instance = new Type(attrs); | ||
@@ -484,0 +503,0 @@ return instance; |
@@ -0,1 +1,3 @@ | ||
'use strict'; | ||
var LEVEL_MAP = { | ||
@@ -27,3 +29,4 @@ 'trace': 0, | ||
var requestedLevel = LEVEL_MAP[type] || LEVEL_MAP.none, | ||
logArgs; | ||
logArgs, | ||
fn; | ||
@@ -80,3 +83,2 @@ if (level <= requestedLevel) { | ||
module.exports = new Logger(); | ||
module.exports.Logger = Logger; | ||
module.exports = Logger; |
{ | ||
"name": "moddle", | ||
"version": "0.0.5", | ||
"version": "0.1.0", | ||
"description": "A library for importing meta-model based file formats into JS", | ||
"main": "lib/main.js", | ||
"directories": { | ||
@@ -41,13 +40,10 @@ "lib": "lib" | ||
"grunt-jsdoc": "~0.5.1", | ||
"grunt-jasmine-node": "~0.2.1", | ||
"grunt-release": "^0.7.0", | ||
"load-grunt-tasks": "~0.3.0", | ||
"grunt-jasmine-node": "~0.2.1", | ||
"jsondiffpatch": "~0.1.4", | ||
"lodash": "~2.4.0", | ||
"sax": "~0.6.0", | ||
"grunt-release": "^0.7.0" | ||
"jsondiffpatch": "~0.1.4" | ||
}, | ||
"peerDependencies": { | ||
"lodash": "~2.4.0", | ||
"sax": "~0.6.0" | ||
"dependencies": { | ||
"lodash": "~2.4.0" | ||
} | ||
} |
@@ -1,6 +0,8 @@ | ||
var fs = require('fs'); | ||
var _ = require('lodash'); | ||
var util = require('util'); | ||
'use strict'; | ||
var logger = require('../../lib/util/Logger'); | ||
var fs = require('fs'), | ||
_ = require('lodash'), | ||
inspect = require('util').inspect; | ||
var logger = require('../../lib/util').logger; | ||
var Model = require('../../lib/Model'); | ||
@@ -14,9 +16,3 @@ | ||
function ensureDirExists(dir) { | ||
if (!fs.existsSync(dir)) { | ||
fs.mkdirSync(dir); | ||
} | ||
} | ||
function readFile(filename) { | ||
@@ -26,3 +22,3 @@ return fs.readFileSync(filename, { encoding: 'UTF-8' }); | ||
function initAdditionalMatchers() { | ||
function addMatchers() { | ||
@@ -45,3 +41,3 @@ // this == jasmine | ||
if (!result.pass) { | ||
logger.error('[to-deep-equal] elements do not equal. diff: ', util.inspect(jsondiffpatch.diff(actualClone, expectedClone), false, 4)); | ||
logger.error('[to-deep-equal] elements do not equal. diff: ', inspect(jsondiffpatch.diff(actualClone, expectedClone), false, 4)); | ||
} | ||
@@ -60,5 +56,5 @@ | ||
if (!base) { | ||
throw new Error("[test-util] must specify a base directory"); | ||
throw new Error('[test-util] must specify a base directory'); | ||
} | ||
function createModel(packageNames) { | ||
@@ -87,18 +83,5 @@ | ||
/** log during execution of a test callback */ | ||
function log(level, fn) { | ||
logger.setLevel(level); | ||
return function(done) { | ||
fn(function() { | ||
logger.setLevel(null); | ||
done(); | ||
}); | ||
}; | ||
} | ||
module.exports.log = log; | ||
module.exports.readFile = readFile; | ||
module.exports.ensureDirExists = ensureDirExists; | ||
module.exports.initAdditionalMatchers = initAdditionalMatchers; | ||
module.exports.addMatchers = addMatchers; | ||
module.exports.createModelBuilder = createModelBuilder; |
var _ = require('lodash'); | ||
var Model = require('../../lib/Model'); | ||
var logger = require('../../lib/util/Logger'); | ||
var Helper = require('./Helper'); | ||
describe('Model', function() { | ||
beforeEach(Helper.initAdditionalMatchers); | ||
beforeEach(Helper.addMatchers); | ||
@@ -15,2 +15,3 @@ var createModel = Helper.createModelBuilder('test/fixtures/model/'); | ||
describe('api', function() { | ||
@@ -17,0 +18,0 @@ |
@@ -0,7 +1,10 @@ | ||
'use strict'; | ||
var _ = require('lodash'); | ||
var Logger = require('../../../lib/util/Logger').Logger; | ||
var Logger = require('../../../lib/util/Logger'); | ||
var Helper = require('../Helper'); | ||
describe('Logger', function() { | ||
@@ -11,3 +14,3 @@ | ||
beforeEach(Helper.initAdditionalMatchers); | ||
beforeEach(Helper.addMatchers); | ||
@@ -31,2 +34,3 @@ function createLogger() { | ||
it('should forward to handler', function() { | ||
@@ -44,2 +48,3 @@ | ||
it('should silence verbose', function() { | ||
@@ -57,2 +62,3 @@ | ||
it('should configure level', function() { | ||
@@ -72,2 +78,3 @@ | ||
it('should default to handler#log', function() { | ||
@@ -84,2 +91,3 @@ | ||
}); | ||
}); |
Sorry, the diff of this file is not supported yet
1
9
1
50366
20
1313
+ Addedlodash@~2.4.0
- Removedsax@0.6.1(transitive)