mv = (oldPrefix, newPrefix, isForce, isDelete) => {

  if (oldPrefix === newPrefix || !oldPrefix || !newPrefix) {
    return;
  }

  isForce = (typeof isForce === 'boolean' ? isForce : false);
  isDelete = (typeof isDelete === 'boolean' ? isDelete : true);

  // prepare
  const targets = getTiddlersByPrefix(oldPrefix);
  const fromToMapper = basicUtils.makeHashMap();

  for (let i = targets.length; i--;) {

    const oldTRef = targets[i];
    const newTRef = oldTRef.replace(oldPrefix, newPrefix);
    if ($tw.wiki.tiddlerExists(newTRef) && !isForce) {
      return; // undefined
    }
    fromToMapper[oldTRef] = newTRef;

  }

  for (let oldTRef in fromToMapper) {

    setField(oldTRef, 'title', fromToMapper[oldTRef]);
    if (isDelete) {
      $tw.wiki.deleteTiddler(oldTRef);
    }
  }

  return fromToMapper;

}
Renames all tiddler titles that are prefixed with `oldPrefix`
into titles that are prefixed with `newPrefix` by replacing
`oldPrefix` with `newPrefix`.

The force option somewhat ensures atomicity.

@param {string} oldPrefix - Moves all tiddlers with this prefix.
@param {string} newPrefix - All tiddlers moved tiddlers will
    receive this new prefix.
@param {boolean} [isForce=false] - If a new title would override
    an existing title, and `force` is not set, then nothing will
    happen and undefined is returned by the function.
@param {boolean} [isDelete=true] - True, if the tiddlers with the
    old prefix should be deleted or false, if they should be kept.
@returns {Object<string, string>} - A hashmap that maps the old
    and the new path.