Skip to content

Commit

Permalink
Add Phpdoc to j* functions
Browse files Browse the repository at this point in the history
  • Loading branch information
connorhu committed Mar 4, 2024
1 parent 820d38b commit a414c29
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 5 deletions.
13 changes: 11 additions & 2 deletions src/Query/Mysql/JsonContains.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,31 @@
namespace DoctrineExtensions\Query\Mysql;

use Doctrine\ORM\Query\AST\Functions\FunctionNode;
use Doctrine\ORM\Query\AST\Node;
use Doctrine\ORM\Query\Parser;
use Doctrine\ORM\Query\SqlWalker;
use Doctrine\ORM\Query\TokenType;

use function sprintf;

/**
* "JSON_CONTAINS" "(" StringPrimary "," StringPrimary ["," StringPrimary] ")"
* JsonContainsFunction ::= "JSON_CONTAINS" "(" StringPrimary "," StringPrimary ["," StringPrimary] ")"
*
* @link https://dev.mysql.com/doc/refman/en/json-search-functions.html#function_json-contains
*
* @example SELECT JSON_CONTAINS("{x: 2}", 2, "$.x")
* @example SELECT JSON_CONTAINS(foo.bar, "x", "$.bar") FROM entity
*/
class JsonContains extends FunctionNode
{
/** @var Node */
protected $target;

/** @var Node */
protected $candidate;

protected $path;
/** @var Node|null */
protected $path = null;

public function parse(Parser $parser): void
{
Expand Down
8 changes: 7 additions & 1 deletion src/Query/Mysql/JsonDepth.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,23 @@
namespace DoctrineExtensions\Query\Mysql;

use Doctrine\ORM\Query\AST\Functions\FunctionNode;
use Doctrine\ORM\Query\AST\Node;
use Doctrine\ORM\Query\Parser;
use Doctrine\ORM\Query\SqlWalker;
use Doctrine\ORM\Query\TokenType;

use function sprintf;

/**
* "JSON_DEPTH" "(" StringPrimary ")"
* JsonDepthFunction ::= "JSON_DEPTH" "(" StringPrimary ")"
*
* @link https://dev.mysql.com/doc/refman/en/json-attribute-functions.html#function_json-depth
*
* @example SELECT JOIN_DEPTH(foo.bar) FROM entity
*/
class JsonDepth extends FunctionNode
{
/** @var Node */
protected $target;

public function parse(Parser $parser): void
Expand Down
11 changes: 9 additions & 2 deletions src/Query/Mysql/JsonLength.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,27 @@
namespace DoctrineExtensions\Query\Mysql;

use Doctrine\ORM\Query\AST\Functions\FunctionNode;
use Doctrine\ORM\Query\AST\Node;
use Doctrine\ORM\Query\Parser;
use Doctrine\ORM\Query\SqlWalker;
use Doctrine\ORM\Query\TokenType;

use function sprintf;

/**
* "JSON_LENGTH" "(" StringPrimary ["," StringPrimary] ")"
* JsonLengthFunction ::= "JSON_LENGTH" "(" StringPrimary ["," StringPrimary] ")"
*
* @link https://dev.mysql.com/doc/refman/en/json-attribute-functions.html#function_json-length
*
* @example SELECT JSON_LENGTH(foo.bar, "$.low") FROM entity
*/
class JsonLength extends FunctionNode
{
/** @var Node */
protected $target;

protected $path;
/** @var Node|null */
protected $path = null;

public function parse(Parser $parser): void
{
Expand Down

0 comments on commit a414c29

Please sign in to comment.