Arguments.fromJson constructor
Creates Arguments instance from JSON configuration.
Deserializes JSON configuration data to create a Firebase Arguments instance. Validates required fields and provides proper error handling for missing or invalid configuration.
Parameters:
json- JSON configuration mapvariables- System variables for interpolation
Returns configured Arguments instance from JSON data.
Throws Exception if required fields are missing:
- "file-path" is required
- "app-id" is required
- "binary-type" is required
Example JSON:
{
"file-path": "/path/to/app.apk",
"app-id": "1:123456789:android:abcdef",
"binary-type": "apk",
"release-notes": "Bug fixes and improvements",
"groups": "qa-team,beta-users"
}
Implementation
factory Arguments.fromJson(
Map<String, dynamic> json, {
required Variables variables,
}) {
if (json['file-path'] == null) throw Exception("file-path is required");
if (json['app-id'] == null) throw Exception("app-id is required");
if (json['binary-type'] == null) throw Exception("binary-type is required");
return Arguments(
variables,
filePath: json["file-path"] as String,
appId: json['app-id'] as String,
binaryType: json['binary-type'] as String,
releaseNotes: json['release-notes'] as String?,
releaseNotesFile: json['release-notes-file'] as String?,
testers: json['testers'] as String?,
testersFile: json['testers-file'] as String?,
groups: json['groups'] as String?,
groupsFile: json['groups-file'] as String?,
);
}