mangayomi-mirror/lib/eval/dart/plugin.dart
Moustapha Kodjo Amadou 3e401c8af2 dart format
2025-02-23 15:31:49 +01:00

205 lines
6.6 KiB
Dart

import 'package:dart_eval/dart_eval_bridge.dart';
import 'package:mangayomi/eval/dart/bridge/document.dart';
import 'package:mangayomi/eval/dart/bridge/element.dart';
import 'package:mangayomi/eval/dart/bridge/http.dart';
import 'package:mangayomi/eval/dart/bridge/m_chapter.dart';
import 'package:mangayomi/eval/dart/bridge/filter.dart';
import 'package:mangayomi/eval/dart/bridge/m_pages.dart';
import 'package:mangayomi/eval/dart/bridge/m_status.dart';
import 'package:mangayomi/eval/dart/bridge/m_provider.dart';
import 'package:mangayomi/eval/dart/bridge/m_manga.dart';
import 'package:mangayomi/eval/dart/bridge/m_source.dart';
import 'package:mangayomi/eval/dart/bridge/m_track.dart';
import 'package:mangayomi/eval/dart/bridge/m_video.dart';
import 'package:mangayomi/eval/dart/bridge/source_preference.dart';
class MEvalPlugin extends EvalPlugin {
@override
String get identifier => 'package:mangayomi';
@override
void configureForCompile(BridgeDeclarationRegistry registry) {
registry.defineBridgeClass($MProvider.$declaration);
registry.defineBridgeClass($MPages.$declaration);
registry.defineBridgeClass($MSource.$declaration);
registry.defineBridgeClass($MVideo.$declaration);
registry.defineBridgeClass($MTrack.$declaration);
registry.defineBridgeClass($MChapter.$declaration);
registry.defineBridgeClass($MManga.$declaration);
registry.defineBridgeEnum($MStatus.$declaration);
//Filter
registry.defineBridgeClass($FilterList.$declaration);
registry.defineBridgeClass($SelectFilter.$declaration);
registry.defineBridgeClass($SeparatorFilter.$declaration);
registry.defineBridgeClass($HeaderFilter.$declaration);
registry.defineBridgeClass($TextFilter.$declaration);
registry.defineBridgeClass($SortFilter.$declaration);
registry.defineBridgeClass($TriStateFilter.$declaration);
registry.defineBridgeClass($GroupFilter.$declaration);
registry.defineBridgeClass($CheckBoxFilter.$declaration);
registry.defineBridgeClass($SortState.$declaration);
registry.defineBridgeClass($SelectFilterOption.$declaration);
//SourcePreferences
registry.defineBridgeClass($CheckBoxPreference.$declaration);
registry.defineBridgeClass($SwitchPreferenceCompat.$declaration);
registry.defineBridgeClass($ListPreference.$declaration);
registry.defineBridgeClass($MultiSelectListPreference.$declaration);
registry.defineBridgeClass($CheckBoxPreference.$declaration);
registry.defineBridgeClass($EditTextPreference.$declaration);
//DOM HTML
registry.defineBridgeClass($MElement.$declaration);
registry.defineBridgeClass($Element.$declaration);
registry.defineBridgeClass($MDocument.$declaration);
registry.defineBridgeClass($Document.$declaration);
//HTTP CLIENT
registry.defineBridgeClass($Client.$declaration);
registry.defineBridgeClass($Response.$declaration);
registry.defineBridgeClass($BaseRequest.$declaration);
registry.defineBridgeClass($StreamedResponse.$declaration);
registry.defineBridgeClass($ByteStream.$declaration);
}
@override
void configureForRuntime(Runtime runtime) {
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'MProvider.',
$MProvider.$construct,
isBridge: true,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'MChapter.',
$MChapter.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'MManga.',
$MManga.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'MPages.',
$MPages.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'MSource.',
$MSource.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'MVideo.',
$MVideo.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'MTrack.',
$MTrack.$new,
);
runtime.registerBridgeEnumValues(
'package:mangayomi/bridge_lib.dart',
'MStatus',
$MStatus.$values,
);
//Filter
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'FilterList.',
$FilterList.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'SelectFilter.',
$SelectFilter.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'SeparatorFilter.',
$SeparatorFilter.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'HeaderFilter.',
$HeaderFilter.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'TextFilter.',
$TextFilter.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'SortFilter.',
$SortFilter.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'TriStateFilter.',
$TriStateFilter.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'GroupFilter.',
$GroupFilter.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'CheckBoxFilter.',
$CheckBoxFilter.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'SortState.',
$SortState.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'SelectFilterOption.',
$SelectFilterOption.$new,
);
//Sources preferences
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'CheckBoxPreference.',
$CheckBoxPreference.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'SwitchPreferenceCompat.',
$SwitchPreferenceCompat.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'ListPreference.',
$ListPreference.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'MultiSelectListPreference.',
$MultiSelectListPreference.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'EditTextPreference.',
$EditTextPreference.$new,
);
//DOM HTML
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'MElement.',
$MElement.$new,
);
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'MDocument.',
$MDocument.$new,
);
//HTTP CLIENT
runtime.registerBridgeFunc(
'package:mangayomi/bridge_lib.dart',
'Client.',
$Client.$new,
);
}
}