code: async function render(nj, templ, templateVars) {
    debug('templ before: ', templ);
    // if no vars passed, use
    // template itself as source of variables:
    if (_.isUndefined(templateVars))
      templateVars = JSON.parse(_.cloneDeep(templ));
  
    templ = await nj.renderStringAsync(templ, templateVars);
    if (templ.match(/\{\{.*\}\}/)) {
      // recurse
      return await render(nj, templ, templateVars);
    }
    return templ;
  }
docs: templ should be string; allows for referencing other variables within the template; recurse until there aren't any more values to be rendered: