toJson method

Map<String, Object> toJson()

Implementation

Map<String, Object> toJson() {
  final parent = traceparent;
  if (parent != null &&
      !RegExp(
        r'^(?!ff)[0-9a-f]{2}-(?!0{32})[0-9a-f]{32}-(?!0{16})[0-9a-f]{16}-[0-9a-f]{2}$',
      )
          .hasMatch(parent)) {
    throw ArgumentError.value(
      parent,
      'traceparent',
      'must be a valid W3C trace parent',
    );
  }
  final state = tracestate;
  if (state != null &&
      (state.length > 512 || state.contains('\r') || state.contains('\n'))) {
    throw ArgumentError.value(
      state,
      'tracestate',
      'must be at most 512 characters without newlines',
    );
  }
  return {
    if (!enabled) 'enabled': false,
    if (parent != null) 'traceparent': parent,
    if (state != null) 'tracestate': state,
  };
}