Page MenuHomeWickedGov Phorge

MutationCallback.php
No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None

MutationCallback.php

<?php
// AUTOMATICALLY GENERATED. DO NOT EDIT.
// Use `composer build` to regenerate.
namespace Wikimedia\IDLeDOM\Helper;
use Wikimedia\IDLeDOM\MutationObserver;
use Wikimedia\IDLeDOM\MutationRecord;
trait MutationCallback {
// Underscore is used to avoid conflicts with DOM-reserved names
// phpcs:disable PSR2.Methods.MethodDeclaration.Underscore
// phpcs:disable MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName
/**
* Handle an attempt to get a non-existing property on this
* object. The default implementation raises an exception
* but the implementor can choose a different behavior:
* return null (like JavaScript), dynamically create the
* property, etc.
* @param string $prop the name of the property requested
* @return mixed
*/
protected function _getMissingProp( string $prop ) {
$trace = debug_backtrace();
while (
count( $trace ) > 0 &&
$trace[0]['function'] !== "__get"
) {
array_shift( $trace );
}
trigger_error(
'Undefined property' .
' via ' . ( $trace[0]['function'] ?? '' ) . '(): ' . $prop .
' in ' . ( $trace[0]['file'] ?? '' ) .
' on line ' . ( $trace[0]['line'] ?? '' ),
E_USER_NOTICE
);
return null;
}
/**
* Handle an attempt to set a non-existing property on this
* object. The default implementation raises an exception
* but the implementor can choose a different behavior:
* ignore the operation (like JavaScript), dynamically create
* the property, etc.
* @param string $prop the name of the property requested
* @param mixed $value the value to set
*/
protected function _setMissingProp( string $prop, $value ): void {
$trace = debug_backtrace();
while (
count( $trace ) > 0 &&
$trace[0]['function'] !== "__set"
) {
array_shift( $trace );
}
trigger_error(
'Undefined property' .
' via ' . ( $trace[0]['function'] ?? '' ) . '(): ' . $prop .
' in ' . ( $trace[0]['file'] ?? '' ) .
' on line ' . ( $trace[0]['line'] ?? '' ),
E_USER_NOTICE
);
}
// phpcs:enable
/**
* Make this callback interface callable.
* @param mixed ...$args
* @return void
*/
public function __invoke( ...$args ) {
'@phan-var \Wikimedia\IDLeDOM\MutationCallback $this';
// @var \Wikimedia\IDLeDOM\MutationCallback $this
$this->invoke( $args[0], $args[1] );
}
/**
* Create a MutationCallback from a callable.
*
* @param callable|\Wikimedia\IDLeDOM\MutationCallback $f
* @return \Wikimedia\IDLeDOM\MutationCallback
*/
public static function cast( $f ) {
if ( $f instanceof \Wikimedia\IDLeDOM\MutationCallback ) {
return $f;
}
return new class( $f ) implements \Wikimedia\IDLeDOM\MutationCallback {
use MutationCallback;
/** @var callable */
private $f;
/**
* @param callable $f
*/
public function __construct( $f ) {
$this->f = $f;
}
/**
* @param list<MutationRecord> $mutations
* @param MutationObserver $observer
* @return void
*/
public function invoke( array $mutations, /* MutationObserver */ $observer ): void {
$f = $this->f;
$f( $mutations, $observer );
}
};
}
}

File Metadata

Mime Type
text/x-php
Expires
Fri, Jul 3, 19:39 (1 d, 2 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
4d/78/a54916e727da3d62d35ef8c8f531
Default Alt Text
MutationCallback.php (3 KB)

Event Timeline