Same place as `eval`. Arguably both should have the option of explicitly passing a scope, for extra strictness, like Python's.
On 13 September 2015 at 15:15, Mark S. Miller <[email protected]> wrote: > > > On Sun, Sep 13, 2015 at 7:08 AM, Thomas <[email protected]> > wrote: > >> What I've been doing: >> >> export const template = ({title, content}) => `template string for >> ${title}`; >> >> Or variations thereof. I then import that module wherever I need to use >> the template and call it as a function. >> > > If you were not to call it as a function, where would it get its bindings > for title and content? > > > >> >> Using eval and having the template string as a normal string (so, read >> the template from file as a string, wrap it with back ticks, and then pass >> it to eval) at the moment is risky since it's possible for input to >> prematurely end the template string and do nasty stuff*. Ideally there >> would be a variant of eval where the string to be evaluated must be a >> template string expression. >> >> Thomas >> >> * I'm aware that someone could still put something inside a template >> string and do nasty stuff, but I'm not sure if that's a easily solved >> problem. >> >> On 13 Sep 2015, at 10:08 PM, Mark S. Miller <[email protected]> wrote: >> >> On Sun, Sep 13, 2015 at 2:42 AM, Thomas <[email protected]> >> wrote: >> >>> I'd really like to use Template strings as a templating language, but >>> unless I include a lot of boilerplate code (export a template string >>> wrapped in a function from a file) >> >> >> Hi Thomas, could you give a concrete example of the boilerplate you have >> in mind and what it accomplishes? >> >> >> >>> or use eval after loading a file as a string it's pretty much impossible. >>> >>> Is there a simpler way to be doing this? Or any plans for a type of eval >>> that only executes it's argument as a template string? >> >> >> I am unaware of any such plans. Could you give an example of what it >> looks like and what it would accomplish? Thanks. >> >> >> -- >> Cheers, >> --MarkM >> >> > > > -- > Cheers, > --MarkM > > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss > >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

