guard = function (condition, format, a, b, c, d, e, f) {
  if (NODE_ENV !== 'production') {
    if (format === undefined) {
      throw new Error('guard requires an error message argument');
    }
  }

  if (!condition) {
    var error;
    if (format === undefined) {
      error = new Error(
        'Minified exception occurred; use the non-minified dev environment ' +
        'for the full error message and additional helpful warnings.'
      );
    } else {
      var args = [a, b, c, d, e, f];
      var argIndex = 0;
      error = new Error(
        format.replace(/%s/g, function() { return args[argIndex++]; })
      );
      error.name = 'guard Violation';
    }

    error.framesToPop = 1; // we don't care about guard's own frame
    throw error;
  }
}
Use guard() to assert state which your program assumes to be true.

Provide sprintf-style format (only %s is supported) and arguments
to provide information about what broke and what you were
expecting.

The guard message will be stripped in production, but the guard
will remain to ensure logic does not differ in production.