mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-09-29 16:57:00 +08:00
[cleanup] Linkfier.linkify can be an async static function
R=wolfi@chromium.org Bug: None Change-Id: I038606017afc6c9000e785fdfcddf79018bec6f6 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2974929 Reviewed-by: Wolfgang Beyer <wolfi@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org>
This commit is contained in:
committed by
Devtools-frontend LUCI CQ
parent
db358a8586
commit
9ceac1600f
@@ -2,21 +2,19 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
/* eslint-disable rulesdir/no_underscored_properties */
|
||||
|
||||
export abstract class Linkifier {
|
||||
abstract linkify(object: Object, options?: Options): Node;
|
||||
|
||||
static linkify(object: Object|null, options?: Options): Promise<Node> {
|
||||
static async linkify(object: Object|null, options?: Options): Promise<Node> {
|
||||
if (!object) {
|
||||
return Promise.reject(new Error('Can\'t linkify ' + object));
|
||||
throw new Error('Can\'t linkify ' + object);
|
||||
}
|
||||
const linkifierRegistration = getApplicableRegisteredlinkifiers(object)[0];
|
||||
if (!linkifierRegistration) {
|
||||
return Promise.reject(new Error('No linkifiers registered for object ' + object));
|
||||
throw new Error('No linkifiers registered for object ' + object);
|
||||
}
|
||||
return linkifierRegistration.loadLinkifier().then(
|
||||
linkifier => /** @type {!Linkifier} */ (linkifier).linkify(/** @type {!Object} */ (object), options));
|
||||
const linkifier = await linkifierRegistration.loadLinkifier();
|
||||
return linkifier.linkify(object, options);
|
||||
}
|
||||
}
|
||||
export interface Options {
|
||||
|
||||
Reference in New Issue
Block a user