Those names a little too generic for my liking here. What about
`String.expand(template, ...params)`?

And also, let's not try to bake a traditional template engine into the
JS spec - syntactic template strings already work well enough.

-----

Isiah Meadows
[email protected]
www.isiahmeadows.com

On Wed, Dec 12, 2018 at 1:13 AM Michael Luder-Rosefield
<[email protected]> wrote:
>
> Why not String.tag or .tagged?
>
> While we're at it, is there any good reason not to have something like this:
>
> ```
> String.template = (template : String, taggerFn=String.identity/tag/tagged : 
> Function) => (keys : Array | Object) => taggerFn(template, (keys is Array) ? 
> ...keys : keys)
> // apologies for pseudo-semi-functional code
> // having keys be an object allows template to be filled by key name rather 
> than just index
> ```
> This would make templates closer to the traditional usage, where the template 
> comes first and is later passed values to be filled in with. Having the 
> taggerFn as an argument allows for things like Isiah's escape-then-apply 
> tagging examples.
>
>
> On Wed, 12 Dec 2018 at 12:51 Isiah Meadows <[email protected]> wrote:
>>
>> I'm not married to `identity`, and I agree the name is probably not
>> ideal. I'm more concerned about functionality, though.
>>
>> -----
>>
>> Isiah Meadows
>> [email protected]
>> www.isiahmeadows.com
>>
>> On Tue, Dec 11, 2018 at 5:41 AM T.J. Crowder
>> <[email protected]> wrote:
>> >
>> > On Mon, Dec 10, 2018 at 7:08 PM Isiah Meadows
>> > <[email protected]> wrote:
>> > >
>> > > It'd be *way* easier to construct simple template tags if there was a
>> > > built-in identity tag
>> >
>> > Wholeheartedly agree, a couple of months ago I considered posting 
>> > something very similar, both for utility reasons and in hopes that it 
>> > would be an optimization target (being a standard operation).
>> >
>> > I find the name `identity` unilluminating, though, partially because it's 
>> > not quite the same meaning as the usual "identity" function (`function 
>> > identity(x) { return x; }`), though it's close. `assemble`?
>> >
>> > -- T.J. Crowder
>> _______________________________________________
>> 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

Reply via email to