UNPKG

pomeranian-durations

Version:

An immutable duration library based on the ISO-8601 format for durations.

64 lines (53 loc) 2.56 kB
"use strict"; var _require = require("../package"), homepage = _require.homepage; var extractCategory = function extractCategory(doc) { return doc.meta.filename.replace('.js', ''); }; var extractCategories = function extractCategories(parsedDocs) { return Object.keys(parsedDocs.reduce(function (acc, doc) { acc[extractCategory(doc)] = 0; // eslint-disable-line no-param-reassign return acc; }, {})); }; var extractCategoryDescription = function extractCategoryDescription(parsedDocs, category) { var categoryDefinition = parsedDocs.find(function (doc) { return doc.id === 'default' && extractCategory(doc) === category; }); return categoryDefinition ? categoryDefinition.description : ''; }; var generateHeadings = function generateHeadings(parsedDocs, category) { return parsedDocs.filter(function (doc) { return doc.id !== 'default' && extractCategory(doc) === category; }).map(function (doc) { return "[".concat(doc.longname, "](").concat(homepage, "/blob/master/src/").concat(doc.meta.filename, "#L").concat(doc.meta.lineno, ")"); }).join(' | '); }; var generateCategoryNavigation = function generateCategoryNavigation(parsedDocs) { return extractCategories(parsedDocs).map(function (category) { return "- [".concat(category, "](#category-").concat(category, ")"); }).join('\n'); }; var extractCategoryExamples = function extractCategoryExamples(parsedDocs, category) { return parsedDocs.filter(function (doc) { return doc.id !== 'default' && extractCategory(doc) === category && doc.examples; }).map(function (doc) { return doc.examples.join('\n'); }).join('\n'); }; var generateCategoryHeading = function generateCategoryHeading(category) { return "<a name=\"category-".concat(category, "\"></a>\n## ").concat(category); }; var generateCategory = function generateCategory(parsedDocs, category) { return "\n".concat(generateCategoryHeading(category), "\n\n").concat(generateHeadings(parsedDocs, category), "\n\n").concat(extractCategoryDescription(parsedDocs, category), "\n\n```javascript\n").concat(extractCategoryExamples(parsedDocs, category), "\n```\n").replace('\n\n\n', '\n'); }; module.exports = { extractCategory: extractCategory, extractCategories: extractCategories, extractCategoryDescription: extractCategoryDescription, generateHeadings: generateHeadings, generateCategoryNavigation: generateCategoryNavigation, extractCategoryExamples: extractCategoryExamples, generateCategoryHeading: generateCategoryHeading, generateCategory: generateCategory };