0.2.0 • Published 3 years ago

async-tag v0.2.0

Weekly downloads
267
License
ISC
Repository
github
Last release
3 years ago

async-tag

Build Status Coverage Status

Social Media Photo by Tobias Rademacher on Unsplash

Resolves template literals tag values before applying a generic tag.

import asyncTag from 'async-tag';
// or const asyncTag = require('asyncTag');
// or <script src="//unpkg.com/async-tag">

// example
const asyncRaw = asyncTag(String.raw);

// async values
asyncRaw`a${[
  1,
  [2, [Promise.resolve(3)], 4],
  [5, 6]
]}${Promise.resolve(7)}c`
  .then(result => {
    console.assert(result === 'a1,2,3,4,5,67c')
  });

// direct values
asyncRaw`a${'b'}c`
  .then(result => {
    console.assert(result === 'abc')
  });

Compatibility

This module source code is written in a way that guarantees there won't be any code bloat once transpiled, without necessarily providing worse performance than native ES6+.

Both index.js and min.js target any client/server JavaScript engine, assuming there is support, or there is a polyfill, for:

  • Array.isArray(any) to work with nested interpolations
  • Promise.all(array) to resolve all interpolations
  • Function.prototype.bind to be sure both context and template are expected

Please note this module is pretty much done so, if there are not many updates in the long term, it's because it's 100% code covered and, for what it does, it won't likely need any change in the future.

0.2.0

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.0

3 years ago

0.1.1

3 years ago

0.0.1

3 years ago

0.0.0

3 years ago