parse static method

Error parse(
  1. List message
)

Implementation

static Error parse(final List<dynamic> message) {
  sanityCheck(message, minLength, maxLength, id, text);

  int msgType = validateIntOrRaise(message[1], text, "message type");

  int requestID = validateIntOrRaise(message[2], text, "request ID");

  Map<String, dynamic> details = validateMapOrRaise(message[3], text, "details");

  String uri = validateStringOrRaise(message[4], text, "uri");

  List<dynamic>? args;
  if (message.length > minLength) {
    args = validateListOrRaise(message[5], text, "args");
  }

  Map<String, dynamic>? kwargs;
  if (message.length == maxLength) {
    kwargs = validateMapOrRaise(message[6], text, "kwargs");
  }

  return Error(msgType, requestID, uri, args: args, kwargs: kwargs, details: details);
}