blob: e99f35113bbd15ae886c6d6c9eba1f5ebb3a334b [file] [log] [blame]
Ali Ghassemi442851c2014-12-12 13:47:40 -08001var vom = require('vom');
2
3module.exports = adapt;
4/*
Alex Fandriantob18ef962015-01-09 11:47:05 -08005 * Adapts from IPC service Signatures to a custom signature Map-specific
6 * to this application. Service methods, pkgName, and descriptions are added.
7 * TODO(aghasssemi): Consider separate signature instead of merging?
Ali Ghassemi442851c2014-12-12 13:47:40 -08008 */
9function adapt(signatures) {
10 var adaptedSig = new Map();
Alex Fandriantob18ef962015-01-09 11:47:05 -080011 adaptedSig.pkgNameDescriptions = [];
Ali Ghassemi442851c2014-12-12 13:47:40 -080012 signatures.forEach(function(sig) {
Alex Fandriantob18ef962015-01-09 11:47:05 -080013 if (sig.name) {
14 adaptedSig.pkgNameDescriptions[sig.pkgPath + '.' + sig.name] = sig.doc;
15 }
16 sig.methods.forEach(function(method) {
Ali Ghassemi442851c2014-12-12 13:47:40 -080017 var key = vom.MiscUtil.uncapitalize(method.name);
18 adaptedSig.set(key, method);
19 });
20 });
21
22 return adaptedSig;
23}