parseModelList function

List<AIModel> parseModelList(
  1. Map<String, dynamic> data
)

モデル一覧のレスポンス(data[] か models[] の id / name / created / context_length)を AIModel のリストにする。

Implementation

List<AIModel> parseModelList(Map<String, dynamic> data) {
  final items = (data['data'] ?? data['models']) as List? ?? const [];
  return [
    for (final item in items)
      if (item is Map<String, dynamic> && item['id'] is String)
        AIModel(
          id: item['id'] as String,
          name: item['name'] as String?,
          description: item['description'] as String?,
          created: (item['created'] as num?) == null
              ? null
              : DateTime.fromMillisecondsSinceEpoch(
                  (item['created'] as num).toInt() * 1000,
                ),
          contextLength: (item['context_length'] as num?)?.toInt(),
        ),
  ];
}