docs: def dumpJson(obj, **kwargs):
      """ Match JS's JSON.stringify.  When using the default seperators,
      base64 encoding JSON results in \n sequences in the output.  Hawk
      barfs in your face if you have that in the text"""
      def handleDateAndBinaryForJs(x):
          if six.PY3 and isinstance(x, six.binary_type):
              x = x.decode()
          if isinstance(x, datetime.datetime) or isinstance(x, datetime.date):
              return stringDate(x)
          else:
              return x
      d = json.dumps(obj, separators=(',', ':'), default=handleDateAndBinaryForJs, **kwargs)
      assert '\n' not in d
      return d