From 9ebfc6f4cb6011a97116c09a0242ef3a2b0f3ba4 Mon Sep 17 00:00:00 2001 From: Seth Kinast Date: Tue, 4 Nov 2014 14:03:30 -0800 Subject: [PATCH] Release v1.4.0 --- archive/dustjs-helpers-1.4.0.tar.gz | Bin 0 -> 7886 bytes archive/dustjs-helpers-1.4.0.zip | Bin 0 -> 8473 bytes dist/dust-helpers.js | 47 +++++++++++++++------------- dist/dust-helpers.min.js | 4 +-- 4 files changed, 28 insertions(+), 23 deletions(-) create mode 100644 archive/dustjs-helpers-1.4.0.tar.gz create mode 100644 archive/dustjs-helpers-1.4.0.zip diff --git a/archive/dustjs-helpers-1.4.0.tar.gz b/archive/dustjs-helpers-1.4.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..53197950b7a239133fbfaafb9a15cf468d1e3e3b GIT binary patch literal 7886 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 [] is evaluated to false and empty object -> {} and non-empty object are evaluated to true - The type of the return value is string ( since we concatenate to support interpolated references + The type of the return value is string ( since we concatenate to support interpolated references if value does not exist in JSON and the input is a single reference: {x} - dust render emits empty string, and we then return false - + dust render emits empty string, and we then return false + if values does not exist in JSON and the input is interpolated references : {x} < {y} - dust render emits < and we return the partial output - + dust render emits < and we return the partial output + */ "tap": function(input, chunk, context) { // return given input if there is no dust reference to resolve @@ -186,6 +186,9 @@ var helpers = { return chunk; } else { + // encode opening brackets when outputting to html + dump = dump.replace(/= expected; }); } - return chunk; + return chunk; }, // to be used in conjunction with the select helper @@ -502,8 +507,8 @@ var helpers = { } return chunk.write(value); } - - + + }; for (var key in helpers) { @@ -514,4 +519,4 @@ var helpers = { module.exports = dust; } -})(typeof exports !== 'undefined' ? require('dustjs-linkedin') : dust); \ No newline at end of file +})(typeof exports !== 'undefined' ? require('dustjs-linkedin') : dust); diff --git a/dist/dust-helpers.min.js b/dist/dust-helpers.min.js index c18717b..3bc4b70 100644 --- a/dist/dust-helpers.min.js +++ b/dist/dust-helpers.min.js @@ -1,4 +1,4 @@ -/*! dustjs-helpers - v1.3.0 +/*! dustjs-helpers - v1.4.0 * https://github.com/linkedin/dustjs-helpers * Copyright (c) 2014 Aleksander Williams; Released under the MIT License */ -!function(dust){function isSelect(a){var b=a.current();return"object"==typeof b&&b.isSelect===!0}function jsonFilter(a,b){return"function"==typeof b?b.toString().replace(/(^\s+|\s+$)/gm,"").replace(/\n/gm,"").replace(/,\s*/gm,", ").replace(/\)\{/gm,") {"):b}function filter(a,b,c,d,e){d=d||{};var f,g,h=c.block,i=d.filterOpType||"";if("undefined"!=typeof d.key)f=dust.helpers.tap(d.key,a,b);else{if(!isSelect(b))return _log("No key specified for filter in:"+i+" helper "),a;f=b.current().selectKey,b.current().isResolved&&(e=function(){return!1})}return g=dust.helpers.tap(d.value,a,b),e(coerce(g,d.type,b),coerce(f,d.type,b))?(isSelect(b)&&(b.current().isResolved=!0),h?a.render(h,b):(_log("No key specified for filter in:"+i+" helper "),a)):c["else"]?a.render(c["else"],b):a}function coerce(a,b,c){if(a)switch(b||typeof a){case"number":return+a;case"string":return String(a);case"boolean":return a="false"===a?!1:a,Boolean(a);case"date":return new Date(a);case"context":return c.get(a)}return a}var _log=dust.log?function(a){dust.log(a,"INFO")}:function(){},helpers={tap:function(a,b,c){if("function"!=typeof a)return a;var d,e="";return d=b.tap(function(a){return e+=a,""}).render(a,c),b.untap(),d.constructor!==b.constructor?d:""===e?!1:e},sep:function(a,b,c){var d=c.block;return b.stack.index===b.stack.of-1?a:d?c.block(a,b):a},idx:function(a,b,c){var d=c.block;return d?c.block(a,b.push(b.stack.index)):a},contextDump:function(a,b,c,d){var e,f=d||{},g=f.to||"output",h=f.key||"current";return g=dust.helpers.tap(g,a,b),h=dust.helpers.tap(h,a,b),e="full"===h?JSON.stringify(b.stack,jsonFilter,2):JSON.stringify(b.stack.head,jsonFilter,2),"console"===g?(_log(e),a):a.write(e)},"if":function(chunk,context,bodies,params){var body=bodies.block,skip=bodies["else"];if(params&¶ms.cond){var cond=params.cond;if(cond=dust.helpers.tap(cond,chunk,context),eval(cond))return body?chunk.render(bodies.block,context):(_log("Missing body block in the if helper!"),chunk);if(skip)return chunk.render(bodies["else"],context)}else _log("No condition given in the if helper!");return chunk},math:function(a,b,c,d){if(d&&"undefined"!=typeof d.key&&d.method){var e=d.key,f=d.method,g=d.operand,h=d.round,i=null;switch(e=dust.helpers.tap(e,a,b),g=dust.helpers.tap(g,a,b),f){case"mod":(0===g||g===-0)&&_log("operand for divide operation is 0/-0: expect Nan!"),i=parseFloat(e)%parseFloat(g);break;case"add":i=parseFloat(e)+parseFloat(g);break;case"subtract":i=parseFloat(e)-parseFloat(g);break;case"multiply":i=parseFloat(e)*parseFloat(g);break;case"divide":(0===g||g===-0)&&_log("operand for divide operation is 0/-0: expect Nan/Infinity!"),i=parseFloat(e)/parseFloat(g);break;case"ceil":i=Math.ceil(parseFloat(e));break;case"floor":i=Math.floor(parseFloat(e));break;case"round":i=Math.round(parseFloat(e));break;case"abs":i=Math.abs(parseFloat(e));break;default:_log("method passed is not supported")}return null!==i?(h&&(i=Math.round(i)),c&&c.block?a.render(c.block,b.push({isSelect:!0,isResolved:!1,selectKey:i})):a.write(i)):a}return _log("Key is a required parameter for math helper along with method/operand!"),a},select:function(a,b,c,d){var e=c.block;if(d&&"undefined"!=typeof d.key){var f=dust.helpers.tap(d.key,a,b);return e?a.render(c.block,b.push({isSelect:!0,isResolved:!1,selectKey:f})):(_log("Missing body block in the select helper "),a)}return _log("No key given in the select helper!"),a},eq:function(a,b,c,d){return d&&(d.filterOpType="eq"),filter(a,b,c,d,function(a,b){return b===a})},ne:function(a,b,c,d){return d?(d.filterOpType="ne",filter(a,b,c,d,function(a,b){return b!==a})):a},lt:function(a,b,c,d){return d?(d.filterOpType="lt",filter(a,b,c,d,function(a,b){return a>b})):void 0},lte:function(a,b,c,d){return d?(d.filterOpType="lte",filter(a,b,c,d,function(a,b){return a>=b})):a},gt:function(a,b,c,d){return d?(d.filterOpType="gt",filter(a,b,c,d,function(a,b){return b>a})):a},gte:function(a,b,c,d){return d?(d.filterOpType="gte",filter(a,b,c,d,function(a,b){return b>=a})):a},"default":function(a,b,c,d){return d&&(d.filterOpType="default"),filter(a,b,c,d,function(){return!0})},size:function(a,b,c,d){var e,f,g,h=0;if(d=d||{},e=d.key,e&&e!==!0)if(dust.isArray(e))h=e.length;else if(!isNaN(parseFloat(e))&&isFinite(e))h=e;else if("object"==typeof e){f=0;for(g in e)Object.hasOwnProperty.call(e,g)&&f++;h=f}else h=(e+"").length;else h=0;return a.write(h)}};for(var key in helpers)dust.helpers[key]=helpers[key];"undefined"!=typeof exports&&(module.exports=dust)}("undefined"!=typeof exports?require("dustjs-linkedin"):dust); \ No newline at end of file +!function(dust){function isSelect(a){var b=a.current();return"object"==typeof b&&b.isSelect===!0}function jsonFilter(a,b){return"function"==typeof b?b.toString().replace(/(^\s+|\s+$)/gm,"").replace(/\n/gm,"").replace(/,\s*/gm,", ").replace(/\)\{/gm,") {"):b}function filter(a,b,c,d,e){d=d||{};var f,g,h=c.block,i=d.filterOpType||"";if("undefined"!=typeof d.key)f=dust.helpers.tap(d.key,a,b);else{if(!isSelect(b))return _log("No key specified for filter in:"+i+" helper "),a;f=b.current().selectKey,b.current().isResolved&&(e=function(){return!1})}return g=dust.helpers.tap(d.value,a,b),e(coerce(g,d.type,b),coerce(f,d.type,b))?(isSelect(b)&&(b.current().isResolved=!0),h?a.render(h,b):(_log("No key specified for filter in:"+i+" helper "),a)):c["else"]?a.render(c["else"],b):a}function coerce(a,b,c){if(a)switch(b||typeof a){case"number":return+a;case"string":return String(a);case"boolean":return a="false"===a?!1:a,Boolean(a);case"date":return new Date(a);case"context":return c.get(a)}return a}var _log=dust.log?function(a){dust.log(a,"INFO")}:function(){},helpers={tap:function(a,b,c){if("function"!=typeof a)return a;var d,e="";return d=b.tap(function(a){return e+=a,""}).render(a,c),b.untap(),d.constructor!==b.constructor?d:""===e?!1:e},sep:function(a,b,c){var d=c.block;return b.stack.index===b.stack.of-1?a:d?c.block(a,b):a},idx:function(a,b,c){var d=c.block;return d?c.block(a,b.push(b.stack.index)):a},contextDump:function(a,b,c,d){var e,f=d||{},g=f.to||"output",h=f.key||"current";return g=dust.helpers.tap(g,a,b),h=dust.helpers.tap(h,a,b),e="full"===h?JSON.stringify(b.stack,jsonFilter,2):JSON.stringify(b.stack.head,jsonFilter,2),"console"===g?(_log(e),a):(e=e.replace(/b})):a},lte:function(a,b,c,d){return d?(d.filterOpType="lte",filter(a,b,c,d,function(a,b){return a>=b})):a},gt:function(a,b,c,d){return d?(d.filterOpType="gt",filter(a,b,c,d,function(a,b){return b>a})):a},gte:function(a,b,c,d){return d?(d.filterOpType="gte",filter(a,b,c,d,function(a,b){return b>=a})):a},"default":function(a,b,c,d){return d&&(d.filterOpType="default"),filter(a,b,c,d,function(){return!0})},size:function(a,b,c,d){var e,f,g,h=0;if(d=d||{},e=d.key,e&&e!==!0)if(dust.isArray(e))h=e.length;else if(!isNaN(parseFloat(e))&&isFinite(e))h=e;else if("object"==typeof e){f=0;for(g in e)Object.hasOwnProperty.call(e,g)&&f++;h=f}else h=(e+"").length;else h=0;return a.write(h)}};for(var key in helpers)dust.helpers[key]=helpers[key];"undefined"!=typeof exports&&(module.exports=dust)}("undefined"!=typeof exports?require("dustjs-linkedin"):dust); \ No newline at end of file