PluginManifest.fromJson constructor

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

Implementation

factory PluginManifest.fromJson(Map<String, dynamic> json) {
  return PluginManifest(
    name: json['name'] as String? ?? '',
    version: json['version'] as String?,
    description: json['description'] as String?,
    author: json['author'] is Map<String, dynamic>
        ? PluginAuthor.fromJson(json['author'] as Map<String, dynamic>)
        : null,
    homepage: json['homepage'] as String?,
    repository: json['repository'] as String?,
    license: json['license'] as String?,
    keywords: (json['keywords'] as List?)?.cast<String>(),
    dependencies: (json['dependencies'] as List?)?.cast<String>(),
    hooks: json['hooks'] as Map<String, dynamic>?,
    commands: json['commands'],
    agents: json['agents'],
    skills: json['skills'],
    outputStyles: json['outputStyles'],
    mcpServers: json['mcpServers'] as Map<String, dynamic>?,
    userConfig: json['userConfig'] is Map<String, dynamic>
        ? (json['userConfig'] as Map<String, dynamic>).map(
            (k, v) => MapEntry(
              k,
              PluginUserConfigOption.fromJson(v as Map<String, dynamic>),
            ),
          )
        : null,
    channels: (json['channels'] as List?)
        ?.map((e) => Map<String, dynamic>.from(e as Map))
        .toList(),
  );
}