Move matchesRequirements to devutil.

This commit is contained in:
Simo Kinnunen
2014-01-30 17:02:29 +09:00
parent 1616840818
commit cadc7a17d0
3 changed files with 33 additions and 32 deletions

View File

@@ -1,5 +1,3 @@
var semver = require('semver')
var minimatch = require('minimatch')
var uuid = require('node-uuid')
module.exports = function(wire) {
@@ -24,35 +22,6 @@ module.exports = function(wire) {
, emulator: 'VIRTUAL'
}[type]]
}
, matchesRequirements: function(capabilities, requirements) {
return requirements.every(function(req) {
var capability = capabilities[req.name]
if (!capability) {
return false
}
switch (req.type) {
case wire.RequirementType.SEMVER:
if (!semver.satisfies(capability, req.value)) {
return false
}
break
case wire.RequirementType.GLOB:
if (!minimatch(capability, req.value)) {
return false
}
break
case wire.RequirementType.EXACT:
if (capability !== req.value) {
return false
}
break
default:
return false
}
})
}
, envelope: function(type, message) {
return new wire.Envelope(type, message.encode()).encodeNB()
}