search method
Searches for BookmarkTreeNodes matching the given query. Queries specified
with an object produce BookmarkTreeNodes matching all specified
properties.
query
Either a string of words and quoted phrases that are matched
against bookmark URLs and titles, or an object. If an object, the
properties query
, url
, and title
may be specified and bookmarks
matching all specified properties will be produced.
Implementation
Future<List<BookmarkTreeNode>> search(Object query) async {
var $res = await promiseToFuture<JSArray>(
$js.chrome.bookmarks.search(switch (query) {
String() => query.jsify()!,
SearchQuery() => (query.toJS as JSAny),
_ => throw UnsupportedError(
'Received type: ${query.runtimeType}. Supported types are: String, SearchQuery')
}));
return $res.toDart
.cast<$js.BookmarkTreeNode>()
.map((e) => BookmarkTreeNode.fromJS(e))
.toList();
}