1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
<?php
namespace MediaWiki\Extensions\ParserFunctions;
use Scribunto_LuaError;
use Scribunto_LuaLibraryBase;
class LuaLibrary extends Scribunto_LuaLibraryBase {
public function register() {
$lib = [
'expr' => [ $this, 'expr' ],
];
return $this->getEngine()->registerInterface(
__DIR__ . '/mw.ext.ParserFunctions.lua', $lib, []
);
}
public function expr( $expression = null ) {
$this->checkType( 'mw.ext.ParserFunctions.expr', 1, $expression, 'string' );
try {
$exprParser = new ExprParser();
return [ $exprParser->doExpression( $expression ) ];
} catch ( ExprError $e ) {
throw new Scribunto_LuaError( $e->getMessage() );
}
}
}
|