Cleaning up MKWS-58.
[mkws-moved-to-github.git] / src / mkws-handlebars.js
index 67b3b19..bd9af8d 100644 (file)
@@ -1,7 +1,7 @@
 // Handlebars helpers
 
 Handlebars.registerHelper('mkws-json', function(obj) {
-  return $.toJSON(obj);
+  return mkws.$.toJSON(obj);
 });
 
 
@@ -15,10 +15,10 @@ Handlebars.registerHelper('mkws-paragraphs', function(obj, nPara, nSent) {
   // {"hash":{},"data":{}} for parameters that are not provided. So we
   // have to be prepared for actual numbers, explicitly undefined
   // values and this dumb magic value.
-  if (nPara === undefined || nPara.hasOwnProperty('hash') || nPara == 0 || nPara > obj.length) {
+  if (obj && (nPara === undefined || nPara.hasOwnProperty('hash') || nPara == 0 || nPara > obj.length)) {
     nPara = obj.length;
   }
-  if (nSent === undefined || nSent.hasOwnProperty('hash') || nSent == 0 || nSent > obj.length) {
+  if (nSent === undefined || nSent.hasOwnProperty('hash') || nSent == 0) {
     nSent = Infinity;
   }
 
@@ -96,3 +96,11 @@ Handlebars.registerHelper('mkws-commaList', function(items, options) {
 Handlebars.registerHelper('mkws-index1', function(obj) {
   return obj.data.index + 1;
 });
+
+Handlebars.registerHelper('mkws-repeat', function(count, options) {
+  var out = "";
+  for (var i = 0; i < count; i++) {
+    out += options.fn(this);
+  }
+  return out;
+});