ChannelFilter constructor
- @Assert('limit <= 50', 'The limit cannot be greater than 50')
- @JsonKey(toJson: concatLanguageListWithDefault, name: 'lang') @Default([]) List<
Language> languages, - @JsonKey(toJson: intToString) @Default(25) int limit,
- @JsonKey(toJson: intToString) @Default(0) int offset,
- @JsonKey(includeIfNull: false, toJson: channelTypeToString) ChannelType? type,
- @JsonKey(toJson: channelSortToStringList, includeIfNull: false) @Default([ChannelSort.organization]) List<
ChannelSort> sort, - @JsonKey(toJson: orderToString) @Default(Order.ascending) Order order,
- @JsonKey(name: 'org', toJson: organizationToString, includeIfNull: false) Organization? organization,
Filter the results returns by the Holodex API channel endpoints
Implementation
@Assert('limit <= 50', 'The limit cannot be greater than 50')
const factory ChannelFilter({
/// List of Language enum to filter channels/clips. Official streams do not follow this parameter
@JsonKey(toJson: concatLanguageListWithDefault, name: 'lang')
@Default([])
List<Language> languages,
/// Result limit. Max of 50.
@JsonKey(toJson: intToString) @Default(25) int limit,
/// Offset results
@JsonKey(toJson: intToString) @Default(0) int offset,
/// Type of Channel, whether it's a vtuber or a subber. Leave unset to query all.
@JsonKey(includeIfNull: false, toJson: channelTypeToString)
ChannelType? type,
/// Column to sort on
@JsonKey(toJson: channelSortToStringList, includeIfNull: false)
@Default([ChannelSort.organization])
List<ChannelSort> sort,
/// ASC or DESC order, default asc.
@JsonKey(toJson: orderToString) @Default(Order.ascending) Order order,
/// If set, filter for a Vtuber belonging to a specific org
@JsonKey(name: 'org', toJson: organizationToString, includeIfNull: false)
Organization? organization,
}) = _ChannelFilter;