support bang additional triggers
This commit is contained in:
@@ -79,6 +79,10 @@ class Bang with FastEquatable implements Insertable<Bang> {
|
||||
@JsonKey(name: 'fmt')
|
||||
final Set<BangFormat>? format;
|
||||
|
||||
///Additional triggers that invoke this bang
|
||||
@JsonKey(name: 'ts')
|
||||
final Set<String>? additionalTriggers;
|
||||
|
||||
String formatQuery(String input) {
|
||||
return (format == null ||
|
||||
format!.contains(BangFormat.urlEncodePlaceholder) == true)
|
||||
@@ -121,6 +125,7 @@ class Bang with FastEquatable implements Insertable<Bang> {
|
||||
this.category,
|
||||
this.subCategory,
|
||||
this.format,
|
||||
this.additionalTriggers,
|
||||
});
|
||||
|
||||
factory Bang.fromJson(Map<String, dynamic> json) => _$BangFromJson(json);
|
||||
@@ -137,6 +142,7 @@ class Bang with FastEquatable implements Insertable<Bang> {
|
||||
category,
|
||||
subCategory,
|
||||
format,
|
||||
additionalTriggers,
|
||||
];
|
||||
|
||||
@override
|
||||
@@ -150,6 +156,7 @@ class Bang with FastEquatable implements Insertable<Bang> {
|
||||
category: Value.absentIfNull(category),
|
||||
subCategory: Value.absentIfNull(subCategory),
|
||||
format: Value.absentIfNull(format),
|
||||
additionalTriggers: Value.absentIfNull(additionalTriggers),
|
||||
).toColumns(nullToAbsent);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,8 @@ abstract class _$BangCWProxy {
|
||||
|
||||
Bang format(Set<BangFormat>? format);
|
||||
|
||||
Bang additionalTriggers(Set<String>? additionalTriggers);
|
||||
|
||||
/// Creates a new instance with the provided field values.
|
||||
/// Passing `null` to a nullable field nullifies it, while `null` for a non-nullable field is ignored. To update a single field use `Bang(...).copyWith.fieldName(value)`.
|
||||
///
|
||||
@@ -39,6 +41,7 @@ abstract class _$BangCWProxy {
|
||||
String? category,
|
||||
String? subCategory,
|
||||
Set<BangFormat>? format,
|
||||
Set<String>? additionalTriggers,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -73,6 +76,10 @@ class _$BangCWProxyImpl implements _$BangCWProxy {
|
||||
@override
|
||||
Bang format(Set<BangFormat>? format) => call(format: format);
|
||||
|
||||
@override
|
||||
Bang additionalTriggers(Set<String>? additionalTriggers) =>
|
||||
call(additionalTriggers: additionalTriggers);
|
||||
|
||||
@override
|
||||
/// Creates a new instance with the provided field values.
|
||||
/// Passing `null` to a nullable field nullifies it, while `null` for a non-nullable field is ignored. To update a single field use `Bang(...).copyWith.fieldName(value)`.
|
||||
@@ -90,6 +97,7 @@ class _$BangCWProxyImpl implements _$BangCWProxy {
|
||||
Object? category = const $CopyWithPlaceholder(),
|
||||
Object? subCategory = const $CopyWithPlaceholder(),
|
||||
Object? format = const $CopyWithPlaceholder(),
|
||||
Object? additionalTriggers = const $CopyWithPlaceholder(),
|
||||
}) {
|
||||
return Bang(
|
||||
websiteName:
|
||||
@@ -126,6 +134,10 @@ class _$BangCWProxyImpl implements _$BangCWProxy {
|
||||
? _value.format
|
||||
// ignore: cast_nullable_to_non_nullable
|
||||
: format as Set<BangFormat>?,
|
||||
additionalTriggers: additionalTriggers == const $CopyWithPlaceholder()
|
||||
? _value.additionalTriggers
|
||||
// ignore: cast_nullable_to_non_nullable
|
||||
: additionalTriggers as Set<String>?,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -151,6 +163,9 @@ Bang _$BangFromJson(Map<String, dynamic> json) => Bang(
|
||||
format: (json['fmt'] as List<dynamic>?)
|
||||
?.map((e) => $enumDecode(_$BangFormatEnumMap, e))
|
||||
.toSet(),
|
||||
additionalTriggers: (json['ts'] as List<dynamic>?)
|
||||
?.map((e) => e as String)
|
||||
.toSet(),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$BangToJson(Bang instance) => <String, dynamic>{
|
||||
@@ -161,6 +176,7 @@ Map<String, dynamic> _$BangToJson(Bang instance) => <String, dynamic>{
|
||||
'c': instance.category,
|
||||
'sc': instance.subCategory,
|
||||
'fmt': instance.format?.map((e) => _$BangFormatEnumMap[e]!).toList(),
|
||||
'ts': instance.additionalTriggers?.toList(),
|
||||
};
|
||||
|
||||
const _$BangFormatEnumMap = {
|
||||
|
||||
@@ -44,6 +44,7 @@ class BangData extends Bang {
|
||||
super.category,
|
||||
super.subCategory,
|
||||
super.format,
|
||||
super.additionalTriggers,
|
||||
int? frequency,
|
||||
this.lastUsed,
|
||||
this.icon,
|
||||
@@ -58,6 +59,7 @@ class BangData extends Bang {
|
||||
super.category,
|
||||
super.subCategory,
|
||||
super.format,
|
||||
super.additionalTriggers,
|
||||
int? frequency,
|
||||
this.lastUsed,
|
||||
this.icon,
|
||||
|
||||
@@ -21,6 +21,8 @@ abstract class _$BangDataCWProxy {
|
||||
|
||||
BangData format(Set<BangFormat>? format);
|
||||
|
||||
BangData additionalTriggers(Set<String>? additionalTriggers);
|
||||
|
||||
BangData frequency(int? frequency);
|
||||
|
||||
BangData lastUsed(DateTime? lastUsed);
|
||||
@@ -42,6 +44,7 @@ abstract class _$BangDataCWProxy {
|
||||
String? category,
|
||||
String? subCategory,
|
||||
Set<BangFormat>? format,
|
||||
Set<String>? additionalTriggers,
|
||||
int? frequency,
|
||||
DateTime? lastUsed,
|
||||
BrowserIcon? icon,
|
||||
@@ -76,6 +79,10 @@ class _$BangDataCWProxyImpl implements _$BangDataCWProxy {
|
||||
@override
|
||||
BangData format(Set<BangFormat>? format) => call(format: format);
|
||||
|
||||
@override
|
||||
BangData additionalTriggers(Set<String>? additionalTriggers) =>
|
||||
call(additionalTriggers: additionalTriggers);
|
||||
|
||||
@override
|
||||
BangData frequency(int? frequency) => call(frequency: frequency);
|
||||
|
||||
@@ -101,6 +108,7 @@ class _$BangDataCWProxyImpl implements _$BangDataCWProxy {
|
||||
Object? category = const $CopyWithPlaceholder(),
|
||||
Object? subCategory = const $CopyWithPlaceholder(),
|
||||
Object? format = const $CopyWithPlaceholder(),
|
||||
Object? additionalTriggers = const $CopyWithPlaceholder(),
|
||||
Object? frequency = const $CopyWithPlaceholder(),
|
||||
Object? lastUsed = const $CopyWithPlaceholder(),
|
||||
Object? icon = const $CopyWithPlaceholder(),
|
||||
@@ -136,6 +144,10 @@ class _$BangDataCWProxyImpl implements _$BangDataCWProxy {
|
||||
? _value.format
|
||||
// ignore: cast_nullable_to_non_nullable
|
||||
: format as Set<BangFormat>?,
|
||||
additionalTriggers: additionalTriggers == const $CopyWithPlaceholder()
|
||||
? _value.additionalTriggers
|
||||
// ignore: cast_nullable_to_non_nullable
|
||||
: additionalTriggers as Set<String>?,
|
||||
frequency: frequency == const $CopyWithPlaceholder()
|
||||
? _value.frequency
|
||||
// ignore: cast_nullable_to_non_nullable
|
||||
|
||||
Reference in New Issue
Block a user