mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-05-10 03:10:59 +00:00
61 lines
2.5 KiB
Dart
61 lines
2.5 KiB
Dart
import 'package:d4rt/d4rt.dart';
|
|
import 'package:html/dom.dart';
|
|
import 'package:mangayomi/eval/model/document.dart';
|
|
|
|
class MDocumentBridge {
|
|
final documentBridgedClass = BridgedClassDefinition(
|
|
nativeType: MDocument,
|
|
name: 'MDocument',
|
|
constructors: {
|
|
'': (visitor, positionalArgs, namedArgs) {
|
|
return MDocument(positionalArgs[0] as Document);
|
|
},
|
|
},
|
|
getters: {
|
|
'body': (visitor, target) => (target as MDocument).body,
|
|
'documentElement':
|
|
(visitor, target) => (target as MDocument).documentElement,
|
|
'head': (visitor, target) => (target as MDocument).head,
|
|
'parent': (visitor, target) => (target as MDocument).parent,
|
|
'outerHtml': (visitor, target) => (target as MDocument).outerHtml,
|
|
'text': (visitor, target) => (target as MDocument).text,
|
|
'children': (visitor, target) => (target as MDocument).children,
|
|
},
|
|
methods: {
|
|
'select':
|
|
(visitor, target, positionalArgs, namedArgs) =>
|
|
(target as MDocument).select(positionalArgs[0] as String),
|
|
'selectFirst':
|
|
(visitor, target, positionalArgs, namedArgs) =>
|
|
(target as MDocument).selectFirst(positionalArgs[0] as String),
|
|
'getElementsByClassName':
|
|
(visitor, target, positionalArgs, namedArgs) => (target as MDocument)
|
|
.getElementsByClassName(positionalArgs[0] as String),
|
|
'getElementsByTagName':
|
|
(visitor, target, positionalArgs, namedArgs) => (target as MDocument)
|
|
.getElementsByTagName(positionalArgs[0] as String),
|
|
'getElementById':
|
|
(visitor, target, positionalArgs, namedArgs) =>
|
|
(target as MDocument).getElementById(positionalArgs[0] as String),
|
|
'attr':
|
|
(visitor, target, positionalArgs, namedArgs) =>
|
|
(target as MDocument).attr(positionalArgs[0] as String),
|
|
'hasAttr':
|
|
(visitor, target, positionalArgs, namedArgs) =>
|
|
(target as MDocument).hasAttr(positionalArgs[0] as String),
|
|
'xpath':
|
|
(visitor, target, positionalArgs, namedArgs) =>
|
|
(target as MDocument).xpath(positionalArgs[0] as String),
|
|
'xpathFirst':
|
|
(visitor, target, positionalArgs, namedArgs) =>
|
|
(target as MDocument).xpathFirst(positionalArgs[0] as String),
|
|
},
|
|
);
|
|
|
|
void registerBridgedClasses(D4rt interpreter) {
|
|
interpreter.registerBridgedClass(
|
|
documentBridgedClass,
|
|
'package:mangayomi/bridge_lib.dart',
|
|
);
|
|
}
|
|
}
|