function after({
    source,
    index,
    err,
    errTarget,
    lineCheckStr,
    onlyOneChar = false
  }) {
    activeArgs = { source, index, err, errTarget, onlyOneChar };

    switch (expectation) {
      case "always":
        expectAfter();
        break;
      case "never":
        rejectAfter();
        break;
      case "always-single-line":
        if (!isSingleLineString(lineCheckStr || source)) {
          return;
        }

        expectAfter(messages.expectedAfterSingleLine);
        break;
      case "never-single-line":
        if (!isSingleLineString(lineCheckStr || source)) {
          return;
        }

        rejectAfter(messages.rejectedAfterSingleLine);
        break;
      case "always-multi-line":
        if (isSingleLineString(lineCheckStr || source)) {
          return;
        }

        expectAfter(messages.expectedAfterMultiLine);
        break;
      case "never-multi-line":
        if (isSingleLineString(lineCheckStr || source)) {
          return;
        }

        rejectAfter(messages.rejectedAfterMultiLine);
        break;
      case "at-least-one-space":
        expectAfter(messages.expectedAfterAtLeast);
        break;
      default:
        throw configurationError(`Unknown expectation "${expectation}"`);
    }
  }
Check for whitespace *after* a character.

Parameters are pretty much the same as for `before()`, above, just substitute
the word "after" for "before".