diff options
author | Aaron O'Mullan <aaron.omullan@friendco.de> | 2014-08-15 12:09:36 -0700 |
---|---|---|
committer | Aaron O'Mullan <aaron.omullan@friendco.de> | 2014-08-15 12:09:36 -0700 |
commit | cbe4e9edec3a1751030ad40a28e25df20fde2b08 (patch) | |
tree | 7e4346898ba1d71e8ffef80e252e4935a8f33fa6 | |
parent | e0aed828e0e2be6df601c41649195f6fc71553c9 (diff) | |
download | gitbook-cbe4e9edec3a1751030ad40a28e25df20fde2b08.zip gitbook-cbe4e9edec3a1751030ad40a28e25df20fde2b08.tar.gz gitbook-cbe4e9edec3a1751030ad40a28e25df20fde2b08.tar.bz2 |
Simplify output of glossary parsing to more simple objects
-rw-r--r-- | lib/parse/glossary.js | 11 | ||||
-rw-r--r-- | test/glossary.js | 6 |
2 files changed, 14 insertions, 3 deletions
diff --git a/lib/parse/glossary.js b/lib/parse/glossary.js index 65473cf..6286783 100644 --- a/lib/parse/glossary.js +++ b/lib/parse/glossary.js @@ -28,9 +28,14 @@ function groups(nodes) { function parseGlossary(src) { var nodes = kramed.lexer(src); - var entries = groups(nodes); - - return entries; + return groups(nodes) + .map(function(pair) { + // Simplify each group to a simple object with name/description + return { + name: pair[0].text, + description: pair[1].text, + }; + }); } module.exports = parseGlossary; diff --git a/test/glossary.js b/test/glossary.js index c60fa45..bf40e16 100644 --- a/test/glossary.js +++ b/test/glossary.js @@ -11,4 +11,10 @@ describe('Glossary parsing', function () { it('should only get heading + paragraph pairs', function() { assert.equal(LEXED.length, 5); }); + + it('should output simple name/description objects', function() { + assert.equal(true, !(LEXED.some(function(e) { + return !Boolean(e.name && e.description); + }))); + }); }); |