]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - extensions/ParserFunctions/ParserFunctions.library.php
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / extensions / ParserFunctions / ParserFunctions.library.php
diff --git a/extensions/ParserFunctions/ParserFunctions.library.php b/extensions/ParserFunctions/ParserFunctions.library.php
new file mode 100644 (file)
index 0000000..7dc7c59
--- /dev/null
@@ -0,0 +1,23 @@
+<?php
+
+class Scribunto_LuaParserFunctionsLibrary 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 {
+                       return [ ExtParserFunctions::getExprParser()->doExpression( $expression ) ];
+               } catch ( ExprError $e ) {
+                       throw new Scribunto_LuaError( $e->getMessage() );
+               }
+       }
+
+}