Skip to content

Instantly share code, notes, and snippets.

@WebReflection
Last active August 17, 2022 04:04
Show Gist options
  • Star 48 You must be signed in to star a gist
  • Fork 9 You must be signed in to fork a gist
  • Save WebReflection/8f227532143e63649804 to your computer and use it in GitHub Desktop.
Save WebReflection/8f227532143e63649804 to your computer and use it in GitHub Desktop.
ES6 Template like strings in ES3 compatible syntax.
// this is now a module:
// https://github.com/WebReflection/backtick-template#es2015-backticks-for-es3-engines--
var template = require('backtick-template');
// just string
const info = 'template';
`some ${info}` === template('some ${info}', {info});
// passing through a transformer
transform `some ${info}` ===
template(transform, 'some ${info}', {info});
// using it as String method
String.prototype.template = template.asMethod;
`some ${info}` === 'some ${info}'.template({info});
transform `some ${info}` ===
'some ${info}'.template(transform, {info});
@JaroslavMoravec
Copy link

+1 for @hooblei - there is bad RE which makes } inside embedded expressions impossible.

@ramtob
Copy link

ramtob commented Sep 7, 2016

+1

@bcomnes
Copy link

bcomnes commented Dec 11, 2016

Has anyone turned this into a module instead of a prototype extend?

@WebReflection
Copy link
Author

@aMarCruz @hooblei @JaroslavMoravec @ramtob @bcomnes

I've rewritten the original idea from scratch and covered 100% (let's say it was an excuse to test coveralls but ... hey ...)

https://github.com/WebReflection/backtick-template#es2015-backticks-for-es3-engines--

Best Regards

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment