build static method

Map<String, dynamic> build({
  1. required String protocolVersion,
  2. required Map<String, dynamic> clientCapabilities,
  3. Map<String, dynamic>? clientInfo,
  4. String? logLevel,
  5. Map<String, dynamic>? extra,
})

Build a request _meta object carrying the reverse-DNS stateless keys.

protocolVersion and clientCapabilities are required by the schema; clientInfo and logLevel are optional. extra is merged first so the reserved keys always win. Returns a fresh map (never mutates inputs).

Implementation

static Map<String, dynamic> build({
  required String protocolVersion,
  required Map<String, dynamic> clientCapabilities,
  Map<String, dynamic>? clientInfo,
  String? logLevel,
  Map<String, dynamic>? extra,
}) {
  return <String, dynamic>{
    if (extra != null) ...extra,
    keyProtocolVersion: protocolVersion,
    keyClientCapabilities: clientCapabilities,
    if (clientInfo != null) keyClientInfo: clientInfo,
    if (logLevel != null) keyLogLevel: logLevel,
  };
}