Socket
Socket
Sign inDemoInstall

compilerr

Package Overview
Dependencies
Maintainers
1
Versions
179
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

compilerr - npm Package Compare versions

Comparing version 0.0.0 to 0.1.0

2

package.json

@@ -23,3 +23,3 @@ {

},
"version": "0.0.0"
"version": "0.1.0"
}

@@ -40,17 +40,33 @@ 'use strict';

function renderString(string, parameters) {
var regex = /\${([^\.]+)(\.[^\(]+\(\))*}/g,
result,
var modifiersRegex,
modifiersRegexResult,
expressionRegex,
expressionResult,
variable,
variables = [];
result = regex.exec(string);
expressionRegex = /\${([^\.]+)((\.[^\(]+\(\))*)}/g;
expressionResult = expressionRegex.exec(string);
while (result !== null) {
variables.push({
name: result[1],
modifiers: (result[2] === undefined) ? [] : Array.prototype.slice.call(result, 2).map(function (modifier) {
return modifier.slice(1, -2);
})
});
while (expressionResult !== null) {
variable = {
name: expressionResult[1]
};
result = regex.exec(string);
if (expressionResult[3] !== undefined) {
modifiersRegex = /\.[^\(]+\(\)/g;
variable.modifiers = [];
modifiersRegexResult = modifiersRegex.exec(expressionResult[2]);
while (modifiersRegexResult !== null) {
variable.modifiers.push(modifiersRegexResult[0].slice(1, -2));
modifiersRegexResult = modifiersRegex.exec(expressionResult[2]);
}
}
variables.push(variable);
expressionResult = expressionRegex.exec(string);
}

@@ -57,0 +73,0 @@

@@ -92,4 +92,21 @@ 'use strict';

it('should apply two modifiers to one variable', function () {
var err,
template;
template = {
message: '${error.prependIndefiniteArticle().capitalize()} can always happen.'
};
err = compilerr.compile(template, {
error: 'error'
});
expect(err).to.be.an.instanceOf(Error);
expect(err.message).to.equal('An error can always happen.');
});
});
});
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