function AStringMutator(astr, pool) {
  this._astr = astr;
  this._pool = pool;
  this._iter = ComponentList.unpack(astr, pool).getIterator();

  this._len = astr.s.length;

  this._n = 0;
  this._iteratedOps = new ComponentList();
  this._lastOp = new OpComponent();
  this._mutated = false;
  this._hasNewline = astr.s.indexOf('\n') >= 0;
}
/*
 * Attributed string mutator. Can iterate or mutate supplied string.
 * String should be a single line. No multi-line mutations are allowed, except
 * appending a newline character at the end.
 * 
 * @param { a, s } astr
 * @param {AttributePool} pool
 */
Attributed string mutator. Can iterate or mutate supplied string.
String should be a single line. No multi-line mutations are allowed, except
appending a newline character at the end.

@param { a, s } astr
@param {AttributePool} pool
Attributed string mutator . Can iterate or mutate supplied string . String should be a single line . No multi - line mutations are allowed except appending a newline character at the end . @param { a s } astr @param { AttributePool } pool
function AStringMutator(astr, pool) {
  this._astr = astr;
  this._pool = pool;
  this._iter = ComponentList.unpack(astr, pool).getIterator();
  this._len = astr.s.length;
  this._n = 0;
  this._iteratedOps = new ComponentList();
  this._lastOp = new OpComponent();
  this._mutated = false;
  this._hasNewline = astr.s.indexOf('\n') >= 0;
}
function AStringMutator ( astr , pool ) { this . _astr = astr ; this . _pool = pool ; this . _iter = ComponentList . unpack ( astr , pool ) . getIterator ( ) ; this . _len = astr . s . length ; this . _n = 0 ; this . _iteratedOps = new ComponentList ( ) ; this . _lastOp = new OpComponent ( ) ; this . _mutated = false ; this . _hasNewline = astr . s . indexOf ( '\n' ) >= 0 ; }
Attributed string mutator.
Attributed string mutator .