| 123456789101112131415161718192021222324252627282930 | const { renderer } = require('posthtml-svg-mode');const defaultFactory = require('./sprite-factory');class Sprite {  constructor({ tree, filename }) {    this.tree = tree;    this.filename = filename;  }  /**   * @param {Object} options   * @param {Array<SpriteSymbol>} options.symbols   * @param {string} options.filename Output sprite filename   * @param {Function<Promise<PostHTMLProcessingResult>>} [options.factory]   * @return {Promise<Sprite>}   */  static create(options) {    const { symbols, filename, factory = defaultFactory } = options;    return factory({ symbols }).then(({ tree }) => new Sprite({ tree, filename }));  }  /**   * @return {string}   */  render() {    return renderer(this.tree);  }}module.exports = Sprite;
 |