futoin-invoker
Advanced tools
Comparing version 1.4.3 to 1.5.0
@@ -28,5 +28,5 @@ module.exports = { | ||
"no-multi-spaces": ["error"], | ||
"array-bracket-newline": ["error", { "multiline": true, "minItems": 3 }], | ||
//"array-bracket-newline": ["error", { "multiline": true, "minItems": 3 }], | ||
"array-bracket-spacing": ["error", "always"], | ||
"array-element-newline": ["error", { "multiline": true, "minItems": 3 }], | ||
//"array-element-newline": ["error", { "multiline": true, "minItems": 3 }], | ||
"block-spacing": ["error"], | ||
@@ -46,3 +46,3 @@ "brace-style": ["error", "allman"], | ||
"no-useless-escape": "error", | ||
"object-curly-newline": ["error", { "multiline": true }], | ||
// "object-curly-newline": ["error", { "multiline": true }], | ||
"object-curly-spacing": ["error", "always"], | ||
@@ -49,0 +49,0 @@ "object-property-newline": "error", |
=== 1.5.0 (2017-09-03) === | ||
BREAKING: changed futoin-asyncsteps to be peer dependency | ||
FIXED: CCM.assertIface() to handle check for inheritted interfaces | ||
=== 1.4.3 (2017-08-29) === | ||
@@ -3,0 +7,0 @@ NEW: upgraded to AsyncSteps v1.7 with FTN12 v1.8 support |
{ | ||
"name": "futoin-invoker", | ||
"version": "1.4.3", | ||
"version": "1.5.0", | ||
"vcs": "git", | ||
@@ -5,0 +5,0 @@ "rms": "npm", |
@@ -72,3 +72,7 @@ "use strict"; | ||
exports._ifacever_pattern = /^(([a-z][a-z0-9]*)(\.[a-z][a-z0-9]*)*):(([0-9]+)\.([0-9]+))$/; | ||
exports._ifacever_pattern_name = 1; | ||
exports._ifacever_pattern_ver = 4; | ||
exports._ifacever_pattern_mjr = 5; | ||
exports._ifacever_pattern_mnr = 6; | ||
/** @ignore */ | ||
exports._isNode = ( typeof window === 'undefined' ) && require( 'detect-node' ); |
{ | ||
"name": "futoin-invoker", | ||
"version": "1.4.3", | ||
"version": "1.5.0", | ||
"description": "FutoIn Invoker - Reference Implementation. Transparently and efficiently invoke remote or local service methods with strict API definition for Node and Browser", | ||
@@ -41,3 +41,2 @@ "main": "lib/invoker.js", | ||
"faye-websocket": "^0.11.1", | ||
"futoin-asyncsteps": "^1.7.0", | ||
"lodash": "^4.17.4", | ||
@@ -48,7 +47,8 @@ "performance-now": "^2.1.0", | ||
"devDependencies": { | ||
"chai": "^4.1.1", | ||
"eslint": "^4.5.0", | ||
"chai": "^4.1.2", | ||
"eslint": "^4.6.0", | ||
"futoin-asyncsteps": "^1.7.0", | ||
"grunt": "^1.0.1", | ||
"grunt-contrib-connect": "^1.0.2", | ||
"grunt-eslint": "^20.0.0", | ||
"grunt-eslint": "^20.1.0", | ||
"grunt-external-daemon": "^1.1.0", | ||
@@ -67,3 +67,6 @@ "grunt-jsdoc-to-markdown": "^3.0.0", | ||
"test/**" | ||
] | ||
], | ||
"peerDependencies": { | ||
"futoin-asyncsteps": "^1.7.0" | ||
} | ||
} |
@@ -99,6 +99,6 @@ "use strict"; | ||
var iface = m[ 1 ]; | ||
var mjrmnr = m[ 4 ]; | ||
var mjr = m[ 5 ]; | ||
var mnr = m[ 6 ]; | ||
var iface = m[ common._ifacever_pattern_name ]; | ||
var mjrmnr = m[ common._ifacever_pattern_ver ]; | ||
var mjr = m[ common._ifacever_pattern_mjr ]; | ||
var mnr = m[ common._ifacever_pattern_mnr ]; | ||
@@ -411,12 +411,31 @@ var secure_channel = false; | ||
var iface = m[ 1 ]; | ||
var mjr = m[ 5 ]; | ||
var mnr = m[ 6 ]; | ||
var iface = m[ common._ifacever_pattern_name ]; | ||
var mjr = m[ common._ifacever_pattern_mjr ]; | ||
var mnr = m[ common._ifacever_pattern_mnr ]; | ||
if ( ( info.iface !== iface ) || | ||
( info.mjrver !== mjr ) || | ||
( info.mnrver < mnr ) ) | ||
if ( ( info.iface === iface ) && | ||
( info.mjrver === mjr ) && | ||
( info.mnrver >= mnr ) ) | ||
{ | ||
throw new Error( futoin_error.InvokerError ); | ||
return; | ||
} | ||
var inherits = info.inherits; | ||
if ( inherits ) | ||
{ | ||
for ( var i = inherits.length - 1; i >= 0; --i ) | ||
{ | ||
m = inherits[i].match( common._ifacever_pattern ); | ||
if ( ( m[ common._ifacever_pattern_name ] === iface ) && | ||
( m[ common._ifacever_pattern_mjr ] === mjr ) && | ||
( m[ common._ifacever_pattern_mnr ] >= mnr ) ) | ||
{ | ||
return; | ||
} | ||
} | ||
} | ||
throw new Error( futoin_error.InvokerError ); | ||
}; | ||
@@ -423,0 +442,0 @@ |
@@ -333,4 +333,4 @@ "use strict"; | ||
sup_info.iface = m[ 1 ]; | ||
sup_info.version = m[ 4 ]; | ||
sup_info.iface = m[ common._ifacever_pattern_name ]; | ||
sup_info.version = m[ common._ifacever_pattern_ver ]; | ||
sup_info._invoker_use = info._invoker_use; | ||
@@ -368,4 +368,4 @@ spectools.loadIface( as, sup_info, specdirs, load_cache ); | ||
imp_info.iface = m[ 1 ]; | ||
imp_info.version = m[ 4 ]; | ||
imp_info.iface = m[ common._ifacever_pattern_name ]; | ||
imp_info.version = m[ common._ifacever_pattern_ver ]; | ||
imp_info._import_use = true; | ||
@@ -393,4 +393,4 @@ spectools.loadIface( as, imp_info, specdirs, imp_load_cache ); | ||
var m = imp_ifacever.match( iface_pattern ); | ||
var iface = m[1]; | ||
var ver = m[4]; | ||
var iface = m[ common._ifacever_pattern_name ]; | ||
var ver = m[ common._ifacever_pattern_ver ]; | ||
var curr_ver = import_candidates[iface]; | ||
@@ -397,0 +397,0 @@ |
@@ -406,2 +406,43 @@ var _ = require( 'lodash' ); | ||
); | ||
it('should handle inheritted interface assert', | ||
function( done ){ | ||
as.add( | ||
function( as ) | ||
{ | ||
ccm.register( as , 'myiface', 'fileface.a:1.1', 'secure+http://localhost:23456' ); | ||
as.add( function(as) { | ||
ccm.assertIface('myiface', 'fileface.a:1.1'); | ||
ccm.assertIface('myiface', 'fileface.a:1.0'); | ||
ccm.assertIface('myiface', 'fileface.b:3.1'); | ||
ccm.assertIface('myiface', 'fileface.b:3.0'); | ||
}); | ||
as.forEach([ | ||
'fileface.a:1.2', 'fileface.a:0.1', | ||
'fileface.b:3.2', 'fileface.b:2.1' ], | ||
function(as, i, v) { | ||
as.add( | ||
function(as) { | ||
ccm.assertIface('myiface', v); | ||
as.error('Fail'); | ||
}, | ||
function(as, err) { | ||
if ( err !== 'Fail' ) { | ||
as.success(); | ||
} | ||
} | ||
); | ||
} | ||
); | ||
}, | ||
function( as, err ) | ||
{ | ||
done( as.state.last_exception ); | ||
} | ||
).add( function( as ){ | ||
done(); | ||
} ).execute(); | ||
} | ||
); | ||
}); | ||
@@ -1179,2 +1220,4 @@ | ||
ccm.iface( 'myiface' ).ifaceInfo().should.equal( info ); | ||
ccm.assertIface('myiface', 'fileface.b:3.1'); | ||
ccm.assertIface('myiface', 'fileface.b:3.0'); | ||
@@ -1181,0 +1224,0 @@ info.name().should.equal( 'fileface.a' ); |
Sorry, the diff of this file is not supported yet
593074
8417
16
- Removedfutoin-asyncsteps@^1.7.0