7use Wikimedia\Parsoid\Core\PageBundle;
20 public const PARSOID_PAGE_BUNDLE_KEY =
'parsoid-page-bundle';
26 private function __construct() {
44 PageBundle $pageBundle, ?
ParserOutput $originalParserOutput =
null
48 if ( $originalParserOutput ) {
55 self::PARSOID_PAGE_BUNDLE_KEY,
57 'parsoid' => $pageBundle->parsoid,
58 'mw' => $pageBundle->mw,
59 'version' => $pageBundle->version,
60 'headers' => $pageBundle->headers,
61 'contentmodel' => $pageBundle->contentmodel,
65 if ( isset( $pageBundle->headers[
'content-language'] ) ) {
66 $lang = LanguageCode::normalizeNonstandardCodeAndWarn(
68 $pageBundle->headers[
'content-language']
84 $pageBundleData = $parserOutput->
getExtensionData( self::PARSOID_PAGE_BUNDLE_KEY );
87 $headers = $pageBundleData[
'headers'] ?? [];
90 $headers[
'content-language'] = $lang;
93 return new PageBundle(
95 $pageBundleData[
'parsoid'] ?? [],
96 $pageBundleData[
'mw'] ?? [],
99 $pageBundleData[
'version'] ??
'0.0.0',
100 $pageBundleData[
'headers'] ?? $headers,
101 $pageBundleData[
'contentmodel'] ??
null
106 return $parserOutput->
getExtensionData( self::PARSOID_PAGE_BUNDLE_KEY ) !==
null;
getExtensionData()
Get the extension data as: augmentor name => data.
Methods for dealing with language codes.
Provides methods for conversion between PageBundle and ParserOutput TODO: Convert to a trait once we ...
static hasPageBundle(ParserOutput $parserOutput)
static pageBundleFromParserOutput(ParserOutput $parserOutput)
Returns a Parsoid PageBundle equivalent to the given ParserOutput.
static parserOutputFromPageBundle(PageBundle $pageBundle, ?ParserOutput $originalParserOutput=null)
Creates a ParserOutput object containing the relevant data from the given PageBundle object.