Ali Ghassemi | 442851c | 2014-12-12 13:47:40 -0800 | [diff] [blame] | 1 | var vom = require('vom'); |
| 2 | |
| 3 | module.exports = adapt; |
| 4 | /* |
Alex Fandrianto | b18ef96 | 2015-01-09 11:47:05 -0800 | [diff] [blame] | 5 | * 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 Ghassemi | 442851c | 2014-12-12 13:47:40 -0800 | [diff] [blame] | 8 | */ |
| 9 | function adapt(signatures) { |
| 10 | var adaptedSig = new Map(); |
Alex Fandrianto | b18ef96 | 2015-01-09 11:47:05 -0800 | [diff] [blame] | 11 | adaptedSig.pkgNameDescriptions = []; |
Ali Ghassemi | 442851c | 2014-12-12 13:47:40 -0800 | [diff] [blame] | 12 | signatures.forEach(function(sig) { |
Alex Fandrianto | b18ef96 | 2015-01-09 11:47:05 -0800 | [diff] [blame] | 13 | if (sig.name) { |
| 14 | adaptedSig.pkgNameDescriptions[sig.pkgPath + '.' + sig.name] = sig.doc; |
| 15 | } |
| 16 | sig.methods.forEach(function(method) { |
Ali Ghassemi | 442851c | 2014-12-12 13:47:40 -0800 | [diff] [blame] | 17 | var key = vom.MiscUtil.uncapitalize(method.name); |
| 18 | adaptedSig.set(key, method); |
| 19 | }); |
| 20 | }); |
| 21 | |
| 22 | return adaptedSig; |
| 23 | } |