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
47 if ( $originalParserOutput ) {
69 self::PARSOID_PAGE_BUNDLE_KEY,
71 'parsoid' => $pageBundle->parsoid,
72 'mw' => $pageBundle->mw,
73 'version' => $pageBundle->version,
74 'headers' => $pageBundle->headers,
75 'contentmodel' => $pageBundle->contentmodel,
79 if ( isset( $pageBundle->headers[
'content-language'] ) ) {
80 $lang = LanguageCode::normalizeNonstandardCodeAndWarn(
82 $pageBundle->headers[
'content-language']
96 $pageBundleData = $parserOutput->
getExtensionData( self::PARSOID_PAGE_BUNDLE_KEY );
99 $headers = $pageBundleData[
'headers'] ?? [];
102 $headers[
'content-language'] = $lang;
105 return new PageBundle(
107 $pageBundleData[
'parsoid'] ?? [],
108 $pageBundleData[
'mw'] ?? [],
111 $pageBundleData[
'version'] ??
'0.0.0',
112 $pageBundleData[
'headers'] ?? $headers,
113 $pageBundleData[
'contentmodel'] ??
null
118 return $parserOutput->
getExtensionData( self::PARSOID_PAGE_BUNDLE_KEY ) !==
null;
setExtensionData( $extensionData)
Set extension data for this result.
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 applyPageBundleDataToParserOutput(PageBundle $pageBundle, ParserOutput $parserOutput)
Given an existing ParserOutput and a PageBundle, applies the PageBundle data to the ParserOutput.
static parserOutputFromPageBundle(PageBundle $pageBundle, ?ParserOutput $originalParserOutput=null)
Creates a ParserOutput object containing the relevant data from the given PageBundle object.