What exactly are you proposing to do differently than String.raw?

https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/string/raw

Sent from my phone
________________________________
From: es-discuss <[email protected]> on behalf of Andrea 
Giammarchi <[email protected]>
Sent: Monday, June 22, 2020 12:24:13 PM
To: [email protected] <[email protected]>
Subject: A Function.tag proposal?

This is something somehow bothering developers and tools, sooner or later, the 
need for a no-op template literal tag function that just returns the string as 
is.

The current workaround to have highlights, proper content minification, etc, is 
the following one:

```js

import css from 'dummy-tag';
import html from 'dummy-tag';

const style = css`
  body {
    color: green;
  }
`;

const node = html`
  <div>hello world</div>
`;

```

but as irrelevant as the dummy-tag code is, in size, it's a dependency, and a 
function that can't get easily optimized, due the nature of the tag signature.

### Proposal

Provide a static `Function.tag` which internally flattens out any template 
literal content.

```js

const css = Function.tag;
const html = Function.tag;

const style = css`
  body {
    color: green;
  }
`;

const node = html`
  <div>hello world</div>
`;

```

Internally it will place eventual interpolations within template chunks, and 
return a string.

```js
Function.tag`1${2}3` === '123';
```

That's it. Thoughts?

Best Regards



_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to