AttributionSnapshotMessage.fromJson constructor

AttributionSnapshotMessage.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory AttributionSnapshotMessage.fromJson(Map<String, dynamic> json) {
  final fs =
      (json['fileStates'] as Map<String, dynamic>?)?.map(
        (k, v) => MapEntry(
          k,
          FileAttributionState.fromJson(v as Map<String, dynamic>),
        ),
      ) ??
      {};
  return AttributionSnapshotMessage(
    messageId: json['messageId'] as String,
    surface: json['surface'] as String? ?? 'cli',
    fileStates: fs,
    promptCount: (json['promptCount'] as num?)?.toInt() ?? 0,
    promptCountAtLastCommit:
        (json['promptCountAtLastCommit'] as num?)?.toInt() ?? 0,
    permissionPromptCount:
        (json['permissionPromptCount'] as num?)?.toInt() ?? 0,
    permissionPromptCountAtLastCommit:
        (json['permissionPromptCountAtLastCommit'] as num?)?.toInt() ?? 0,
    escapeCount: (json['escapeCount'] as num?)?.toInt() ?? 0,
    escapeCountAtLastCommit:
        (json['escapeCountAtLastCommit'] as num?)?.toInt() ?? 0,
  );
}