text: import SVGPathCommand from './SVGPathCommand.js'
  
  // SVG SMOOTH QUADRATIC PATH COMMAND ------------------------------------------
  
  /** Class representing a SMOOTH QUADRATIC BEZIER command
   *
   * @extends {SVGPathCommand}
   * @constructor
   * @param {number} x The x coordinate for the command's end point
   * @param {number} y The y coordinate for the command's end point
   * @param {boolean} isRelative Indicates is the command is relative or not
   */
  class SVGPathTCommand extends SVGPathCommand {
    /** Implementation of the Iterator protocol.
     *
     * For the SMOOTH QUADRATIC BEZIER command, the provided iterable will yield,
     * in order:
     *   1. The command name (either `'t'` or `'T'`)
     *   6. The `x` end point's coordinate
     *   7. The `y` end point's coordinate
     *
     * @generator
     * @method SVGPathTCommand#@@iterator
     * @yields {any} Commands parts, starting with its name
     */
    * [Symbol.iterator] () {
      yield this.isRelative ? 't' : 'T'
      yield this.x
      yield this.y
    }
  }
  
  // SMOOTH QUADRATIC Factories -------------------------------------------------
  /** @module CommandFactories */
  
  /** Factory helper to create a new relative SMOOTH QUADRATIC BEZIER command
   *
   * @param {number} x The x coordinate for the command's end point
   * @param {number} y The y coordinate for the command's end point
   * @returns {SVGPathTCommand} A new relative SMOOTH QUADRATIC BEZIER command
   */
  const t = (x, y) => new SVGPathTCommand(x, y, true)
  
  /** Factory helper to create a new absolute SMOOTH QUADRATIC BEZIER command
   *
   * @param {number} x The x coordinate for the command's end point
   * @param {number} y The y coordinate for the command's end point
   * @returns {SVGPathTCommand} A new absolute SMOOTH QUADRATIC BEZIER command
   */
  const T = (x, y) => new SVGPathTCommand(x, y)
  
  // MODULE PUBLIC API ----------------------------------------------------------
  export default SVGPathTCommand
  export { t, T }
  