add indention helper
authorJustin Wind <justin.wind+git@gmail.com>
Fri, 6 May 2022 18:01:03 +0000 (11:01 -0700)
committerJustin Wind <justin.wind+git@gmail.com>
Fri, 6 May 2022 18:06:48 +0000 (11:06 -0700)
lib/template-helper.js
test/lib/template-helper.js

index a20d1aec13721cfda098ef7514df175422f51dfa..16a14cc4c3d0bdfd42406a03ef29d31f698eddaa 100644 (file)
@@ -93,6 +93,17 @@ const secondsToPeriod = (seconds) => {
 };
 
 
+/**
+ * Return array of strings prefixed with tabs.
+ * @param {Number} indent
+ * @param {String[]} list
+ */
+const indented = (indent, list) => {
+  const spacer = '\t'.repeat(indent);
+  return list.map((l) => `${spacer}${l}`);
+};
+
+
 /**
  * Render the preamble <head> for an HTML page.
  * @param {Number} pagePathLevel number of paths below root this page is
@@ -363,6 +374,7 @@ module.exports = {
   htmlHeader,
   htmlFooter,
   htmlMessages,
+  indented,
   renderNavLink,
   LI,
   UL,
index a21b141eaeec7e37c3429fa9b1ea2d268fd4bbcc..ab5533faca6695fa1328b94089b0b11f3a878501 100644 (file)
@@ -171,6 +171,13 @@ describe('Template Helper', function () {
     });
   }); // LI
 
+  describe('indented', function () {
+    it('covers', function () {
+      const result = th.indented(2, ['foo', 'bar']);
+      result.forEach((r) => assert(r.startsWith('\t\t')));
+    });
+  }); // indented
+
   describe('htmlBody', function () {
     it('covers no main', function () {
       const result = th.htmlBody(pagePathLevel, ctx, options);