Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

dot

Package Overview
Dependencies
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dot - npm Package Compare versions

Comparing version 0.2.2 to 0.2.3

86

doT.js

@@ -10,5 +10,22 @@ // doT.js

var doT = { version : '0.2.0' };
var doT = {
version: '0.2.0',
templateSettings: {
evaluate: /\{\{([\s\S]+?)\}\}/g,
interpolate: /\{\{=([\s\S]+?)\}\}/g,
encode: /\{\{!([\s\S]+?)\}\}/g,
use: /\{\{#([\s\S]+?)\}\}/g,
define: /\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)#\}\}/g,
conditional: /\{\{\?(\?)?\s*([\s\S]*?)\s*\}\}/g,
iterate: /\{\{~\s*(?:\}\}|([\s\S]+?)\s*\:\s*([\w$]+)\s*(?:\:\s*([\w$]+))?\s*\}\})/g,
varname: 'it',
strip: true,
append: true,
selfcontained: false
},
template: undefined, //fn, compile template
compile: undefined //fn, for express
};
var global = (function () { return this || (0 || eval)('this'); }());
var global = (function(){ return this || (0||eval)('this'); }());

@@ -18,3 +35,3 @@ if (typeof module !== 'undefined' && module.exports) {

} else if (typeof define === 'function' && define.amd) {
define(function() { return doT; });
define(function(){return doT;});
} else {

@@ -24,19 +41,19 @@ global.doT = doT;

doT.templateSettings = {
evaluate: /\{\{([\s\S]+?)\}\}/g,
interpolate: /\{\{=([\s\S]+?)\}\}/g,
encode: /\{\{!([\s\S]+?)\}\}/g,
use: /\{\{#([\s\S]+?)\}\}/g,
define: /\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)#\}\}/g,
conditional: /\{\{\?(\?)?\s*([\s\S]*?)\s*\}\}/g,
iterate: /\{\{~\s*(?:\}\}|([\s\S]+?)\s*\:\s*([\w$]+)\s*(?:\:\s*([\w$]+))?\s*\}\})/g,
varname: 'it',
strip : true,
append: true,
selfcontained: false
};
function encodeHTMLSource() {
var encodeHTMLRules = { "&": "&#38;", "<": "&#60;", ">": "&#62;", '"': '&#34;', "'": '&#39;', "/": '&#47;' },
matchHTML = /&(?!\\w+;)|<|>|\"|'|\//g;
return function(code) {
return code ? code.toString().replace(matchHTML, function(m) {return encodeHTMLRules[m] || m;}) : code;
};
}
global.encodeHTML = encodeHTMLSource();
var startend = {
append: { start: "'+(", end: ")+'", startencode: "'+encodeHTML(" },
split: { start: "';out+=(", end: ");out+='", startencode: "';out+=encodeHTML("}
}, skip = /$^/;
function resolveDefs(c, block, def) {
return ((typeof block === 'string') ? block : block.toString())
.replace(c.define, function (m, code, assign, value) {
.replace(c.define || skip, function(m, code, assign, value) {
if (code.indexOf('def.') === 0) {

@@ -54,3 +71,3 @@ code = code.substring(4);

})
.replace(c.use, function(m, code) {
.replace(c.use || skip, function(m, code) {
var v = eval(code);

@@ -62,19 +79,5 @@ return v ? resolveDefs(c, v, def) : v;

function unescape(code) {
return code.replace(/\\'/g, "'").replace(/\\\\/g,"\\").replace(/[\r\t\n]/g, ' ');
return code.replace(/\\('|\\)/g, "$1").replace(/[\r\t\n]/g, ' ');
}
function encodeHTMLSource() {
var encodeHTMLRules = { "&": "&#38;", "<": "&#60;", ">": "&#62;", '"': '&#34;', "'": '&#39;', "/": '&#47;' },
matchHTML = /&(?!\\w+;)|<|>|\"|'|\//g;
return function(code) {
return code ? code.toString().replace(matchHTML, function(m) { return encodeHTMLRules[m] || m; }) : code;
};
}
global.encodeHTML = encodeHTMLSource();
var startend = { // optimal choice depends on platform/size of templates
append: { start: "'+(", end: ")+'", startencode: "'+encodeHTML(" },
split: { start: "';out+=(", end: ");out+='", startencode: "';out+=encodeHTML("}
};
doT.template = function(tmpl, c, def) {

@@ -91,12 +94,11 @@ c = c || doT.templateSettings;

str = ("var out='" + ((c.strip) ? str.replace(/\s*<!\[CDATA\[\s*|\s*\]\]>\s*|[\r\n\t]|(\/\*[\s\S]*?\*\/)/g, ''): str)
.replace(/\\/g, '\\\\')
.replace(/'/g, "\\'")
.replace(c.interpolate, function(m, code) {
.replace(/'|\\/g, '\\$&')
.replace(c.interpolate || skip, function(m, code) {
return cse.start + unescape(code) + cse.end;
})
.replace(c.encode, function(m, code) {
.replace(c.encode || skip, function(m, code) {
needhtmlencode = true;
return cse.startencode + unescape(code) + cse.end;
})
.replace(c.conditional, function(m, elsecase, code) {
.replace(c.conditional || skip, function(m, elsecase, code) {
return elsecase ?

@@ -106,9 +108,9 @@ (code ? "';}else if(" + unescape(code) + "){out+='" : "';}else{out+='") :

})
.replace(c.iterate, function(m, iterate, vname, iname) {
.replace(c.iterate || skip, function(m, iterate, vname, iname) {
if (!iterate) return "'} };out+='";
sid+=1;indv = iname || "i"+sid;iterate=unescape(iterate);
sid+=1; indv=iname || "i"+sid; iterate=unescape(iterate);
return "';var arr"+sid+"="+iterate+";if(arr"+sid+"){var "+indv+"=-1,l"+sid+"=arr"+sid+".length-1;while("+indv+"<l"+sid+"){"
+vname+"=arr"+sid+"["+indv+"+=1];out+='";
})
.replace(c.evaluate, function(m, code) {
.replace(c.evaluate || skip, function(m, code) {
return "';" + unescape(code) + "out+='";

@@ -124,3 +126,3 @@ })

if (needhtmlencode && c.selfcontained) {
str = "var encodeHTML=("+ encodeHTMLSource.toString()+"());"+str;
str = "var encodeHTML=(" + encodeHTMLSource.toString() + "());" + str;
}

@@ -127,0 +129,0 @@ try {

@@ -10,3 +10,3 @@ {

],
"version": "0.2.2",
"version": "0.2.3",
"main": "doT",

@@ -13,0 +13,0 @@ "homepage": "http://github.com/olado/doT",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc