mirror of
https://gitee.com/celaraze/chemex.git
synced 2024-11-29 17:58:10 +08:00
更新:依赖
This commit is contained in:
parent
f7569774a7
commit
3701c42cad
18
vendor/autoload.php
vendored
18
vendor/autoload.php
vendored
@ -2,24 +2,6 @@
|
||||
|
||||
// autoload.php @generated by Composer
|
||||
|
||||
if (PHP_VERSION_ID < 50600) {
|
||||
if (!headers_sent()) {
|
||||
header('HTTP/1.1 500 Internal Server Error');
|
||||
}
|
||||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
|
||||
if (!ini_get('display_errors')) {
|
||||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
|
||||
fwrite(STDERR, $err);
|
||||
} elseif (!headers_sent()) {
|
||||
echo $err;
|
||||
}
|
||||
}
|
||||
trigger_error(
|
||||
$err,
|
||||
E_USER_ERROR
|
||||
);
|
||||
}
|
||||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInitab540f0684551bbb4b79f360b913ca88::getLoader();
|
||||
|
10
vendor/bin/highlight-query
vendored
Normal file → Executable file
10
vendor/bin/highlight-query
vendored
Normal file → Executable file
@ -108,12 +108,10 @@ if (PHP_VERSION_ID < 80000) {
|
||||
}
|
||||
}
|
||||
|
||||
if (
|
||||
(function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true))
|
||||
|| (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper'))
|
||||
) {
|
||||
return include("phpvfscomposer://" . __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/highlight-query');
|
||||
if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) {
|
||||
include("phpvfscomposer://" . __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/highlight-query');
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
return include __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/highlight-query';
|
||||
include __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/highlight-query';
|
||||
|
5
vendor/bin/highlight-query.bat
vendored
5
vendor/bin/highlight-query.bat
vendored
@ -1,5 +0,0 @@
|
||||
@ECHO OFF
|
||||
setlocal DISABLEDELAYEDEXPANSION
|
||||
SET BIN_TARGET=%~dp0/highlight-query
|
||||
SET COMPOSER_RUNTIME_BIN_DIR=%~dp0
|
||||
php "%BIN_TARGET%" %*
|
10
vendor/bin/lint-query
vendored
Normal file → Executable file
10
vendor/bin/lint-query
vendored
Normal file → Executable file
@ -108,12 +108,10 @@ if (PHP_VERSION_ID < 80000) {
|
||||
}
|
||||
}
|
||||
|
||||
if (
|
||||
(function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true))
|
||||
|| (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper'))
|
||||
) {
|
||||
return include("phpvfscomposer://" . __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/lint-query');
|
||||
if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) {
|
||||
include("phpvfscomposer://" . __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/lint-query');
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
return include __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/lint-query';
|
||||
include __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/lint-query';
|
||||
|
5
vendor/bin/lint-query.bat
vendored
5
vendor/bin/lint-query.bat
vendored
@ -1,5 +0,0 @@
|
||||
@ECHO OFF
|
||||
setlocal DISABLEDELAYEDEXPANSION
|
||||
SET BIN_TARGET=%~dp0/lint-query
|
||||
SET COMPOSER_RUNTIME_BIN_DIR=%~dp0
|
||||
php "%BIN_TARGET%" %*
|
10
vendor/bin/tokenize-query
vendored
Normal file → Executable file
10
vendor/bin/tokenize-query
vendored
Normal file → Executable file
@ -108,12 +108,10 @@ if (PHP_VERSION_ID < 80000) {
|
||||
}
|
||||
}
|
||||
|
||||
if (
|
||||
(function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true))
|
||||
|| (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper'))
|
||||
) {
|
||||
return include("phpvfscomposer://" . __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/tokenize-query');
|
||||
if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) {
|
||||
include("phpvfscomposer://" . __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/tokenize-query');
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
return include __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/tokenize-query';
|
||||
include __DIR__ . '/..'.'/phpmyadmin/sql-parser/bin/tokenize-query';
|
||||
|
5
vendor/bin/tokenize-query.bat
vendored
5
vendor/bin/tokenize-query.bat
vendored
@ -1,5 +0,0 @@
|
||||
@ECHO OFF
|
||||
setlocal DISABLEDELAYEDEXPANSION
|
||||
SET BIN_TARGET=%~dp0/tokenize-query
|
||||
SET COMPOSER_RUNTIME_BIN_DIR=%~dp0
|
||||
php "%BIN_TARGET%" %*
|
139
vendor/composer/ClassLoader.php
vendored
139
vendor/composer/ClassLoader.php
vendored
@ -42,37 +42,35 @@ namespace Composer\Autoload;
|
||||
*/
|
||||
class ClassLoader
|
||||
{
|
||||
/** @var \Closure(string):void */
|
||||
private static $includeFile;
|
||||
|
||||
/** @var string|null */
|
||||
/** @var ?string */
|
||||
private $vendorDir;
|
||||
|
||||
// PSR-4
|
||||
/**
|
||||
* @var array<string, array<string, int>>
|
||||
* @var array[]
|
||||
* @psalm-var array<string, array<string, int>>
|
||||
*/
|
||||
private $prefixLengthsPsr4 = array();
|
||||
/**
|
||||
* @var array<string, list<string>>
|
||||
* @var array[]
|
||||
* @psalm-var array<string, array<int, string>>
|
||||
*/
|
||||
private $prefixDirsPsr4 = array();
|
||||
/**
|
||||
* @var list<string>
|
||||
* @var array[]
|
||||
* @psalm-var array<string, string>
|
||||
*/
|
||||
private $fallbackDirsPsr4 = array();
|
||||
|
||||
// PSR-0
|
||||
/**
|
||||
* List of PSR-0 prefixes
|
||||
*
|
||||
* Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2')))
|
||||
*
|
||||
* @var array<string, array<string, list<string>>>
|
||||
* @var array[]
|
||||
* @psalm-var array<string, array<string, string[]>>
|
||||
*/
|
||||
private $prefixesPsr0 = array();
|
||||
/**
|
||||
* @var list<string>
|
||||
* @var array[]
|
||||
* @psalm-var array<string, string>
|
||||
*/
|
||||
private $fallbackDirsPsr0 = array();
|
||||
|
||||
@ -80,7 +78,8 @@ class ClassLoader
|
||||
private $useIncludePath = false;
|
||||
|
||||
/**
|
||||
* @var array<string, string>
|
||||
* @var string[]
|
||||
* @psalm-var array<string, string>
|
||||
*/
|
||||
private $classMap = array();
|
||||
|
||||
@ -88,29 +87,29 @@ class ClassLoader
|
||||
private $classMapAuthoritative = false;
|
||||
|
||||
/**
|
||||
* @var array<string, bool>
|
||||
* @var bool[]
|
||||
* @psalm-var array<string, bool>
|
||||
*/
|
||||
private $missingClasses = array();
|
||||
|
||||
/** @var string|null */
|
||||
/** @var ?string */
|
||||
private $apcuPrefix;
|
||||
|
||||
/**
|
||||
* @var array<string, self>
|
||||
* @var self[]
|
||||
*/
|
||||
private static $registeredLoaders = array();
|
||||
|
||||
/**
|
||||
* @param string|null $vendorDir
|
||||
* @param ?string $vendorDir
|
||||
*/
|
||||
public function __construct($vendorDir = null)
|
||||
{
|
||||
$this->vendorDir = $vendorDir;
|
||||
self::initializeIncludeClosure();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<string, list<string>>
|
||||
* @return string[]
|
||||
*/
|
||||
public function getPrefixes()
|
||||
{
|
||||
@ -122,7 +121,8 @@ class ClassLoader
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<string, list<string>>
|
||||
* @return array[]
|
||||
* @psalm-return array<string, array<int, string>>
|
||||
*/
|
||||
public function getPrefixesPsr4()
|
||||
{
|
||||
@ -130,7 +130,8 @@ class ClassLoader
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<string>
|
||||
* @return array[]
|
||||
* @psalm-return array<string, string>
|
||||
*/
|
||||
public function getFallbackDirs()
|
||||
{
|
||||
@ -138,7 +139,8 @@ class ClassLoader
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<string>
|
||||
* @return array[]
|
||||
* @psalm-return array<string, string>
|
||||
*/
|
||||
public function getFallbackDirsPsr4()
|
||||
{
|
||||
@ -146,7 +148,8 @@ class ClassLoader
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<string, string> Array of classname => path
|
||||
* @return string[] Array of classname => path
|
||||
* @psalm-return array<string, string>
|
||||
*/
|
||||
public function getClassMap()
|
||||
{
|
||||
@ -154,7 +157,8 @@ class ClassLoader
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<string, string> $classMap Class to filename map
|
||||
* @param string[] $classMap Class to filename map
|
||||
* @psalm-param array<string, string> $classMap
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
@ -171,25 +175,24 @@ class ClassLoader
|
||||
* Registers a set of PSR-0 directories for a given prefix, either
|
||||
* appending or prepending to the ones previously set for this prefix.
|
||||
*
|
||||
* @param string $prefix The prefix
|
||||
* @param list<string>|string $paths The PSR-0 root directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
* @param string $prefix The prefix
|
||||
* @param string[]|string $paths The PSR-0 root directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function add($prefix, $paths, $prepend = false)
|
||||
{
|
||||
$paths = (array) $paths;
|
||||
if (!$prefix) {
|
||||
if ($prepend) {
|
||||
$this->fallbackDirsPsr0 = array_merge(
|
||||
$paths,
|
||||
(array) $paths,
|
||||
$this->fallbackDirsPsr0
|
||||
);
|
||||
} else {
|
||||
$this->fallbackDirsPsr0 = array_merge(
|
||||
$this->fallbackDirsPsr0,
|
||||
$paths
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
|
||||
@ -198,19 +201,19 @@ class ClassLoader
|
||||
|
||||
$first = $prefix[0];
|
||||
if (!isset($this->prefixesPsr0[$first][$prefix])) {
|
||||
$this->prefixesPsr0[$first][$prefix] = $paths;
|
||||
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
|
||||
|
||||
return;
|
||||
}
|
||||
if ($prepend) {
|
||||
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
||||
$paths,
|
||||
(array) $paths,
|
||||
$this->prefixesPsr0[$first][$prefix]
|
||||
);
|
||||
} else {
|
||||
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
||||
$this->prefixesPsr0[$first][$prefix],
|
||||
$paths
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -219,9 +222,9 @@ class ClassLoader
|
||||
* Registers a set of PSR-4 directories for a given namespace, either
|
||||
* appending or prepending to the ones previously set for this namespace.
|
||||
*
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param list<string>|string $paths The PSR-4 base directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param string[]|string $paths The PSR-4 base directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*
|
||||
@ -229,18 +232,17 @@ class ClassLoader
|
||||
*/
|
||||
public function addPsr4($prefix, $paths, $prepend = false)
|
||||
{
|
||||
$paths = (array) $paths;
|
||||
if (!$prefix) {
|
||||
// Register directories for the root namespace.
|
||||
if ($prepend) {
|
||||
$this->fallbackDirsPsr4 = array_merge(
|
||||
$paths,
|
||||
(array) $paths,
|
||||
$this->fallbackDirsPsr4
|
||||
);
|
||||
} else {
|
||||
$this->fallbackDirsPsr4 = array_merge(
|
||||
$this->fallbackDirsPsr4,
|
||||
$paths
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
|
||||
@ -250,18 +252,18 @@ class ClassLoader
|
||||
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
||||
}
|
||||
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
||||
$this->prefixDirsPsr4[$prefix] = $paths;
|
||||
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
||||
} elseif ($prepend) {
|
||||
// Prepend directories for an already registered namespace.
|
||||
$this->prefixDirsPsr4[$prefix] = array_merge(
|
||||
$paths,
|
||||
(array) $paths,
|
||||
$this->prefixDirsPsr4[$prefix]
|
||||
);
|
||||
} else {
|
||||
// Append directories for an already registered namespace.
|
||||
$this->prefixDirsPsr4[$prefix] = array_merge(
|
||||
$this->prefixDirsPsr4[$prefix],
|
||||
$paths
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -270,8 +272,8 @@ class ClassLoader
|
||||
* Registers a set of PSR-0 directories for a given prefix,
|
||||
* replacing any others previously set for this prefix.
|
||||
*
|
||||
* @param string $prefix The prefix
|
||||
* @param list<string>|string $paths The PSR-0 base directories
|
||||
* @param string $prefix The prefix
|
||||
* @param string[]|string $paths The PSR-0 base directories
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
@ -288,8 +290,8 @@ class ClassLoader
|
||||
* Registers a set of PSR-4 directories for a given namespace,
|
||||
* replacing any others previously set for this namespace.
|
||||
*
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param list<string>|string $paths The PSR-4 base directories
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param string[]|string $paths The PSR-4 base directories
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*
|
||||
@ -423,8 +425,7 @@ class ClassLoader
|
||||
public function loadClass($class)
|
||||
{
|
||||
if ($file = $this->findFile($class)) {
|
||||
$includeFile = self::$includeFile;
|
||||
$includeFile($file);
|
||||
includeFile($file);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -475,9 +476,9 @@ class ClassLoader
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the currently registered loaders keyed by their corresponding vendor directories.
|
||||
* Returns the currently registered loaders indexed by their corresponding vendor directories.
|
||||
*
|
||||
* @return array<string, self>
|
||||
* @return self[]
|
||||
*/
|
||||
public static function getRegisteredLoaders()
|
||||
{
|
||||
@ -554,26 +555,18 @@ class ClassLoader
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
private static function initializeIncludeClosure()
|
||||
{
|
||||
if (self::$includeFile !== null) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope isolated include.
|
||||
*
|
||||
* Prevents access to $this/self from included files.
|
||||
*
|
||||
* @param string $file
|
||||
* @return void
|
||||
*/
|
||||
self::$includeFile = \Closure::bind(static function($file) {
|
||||
include $file;
|
||||
}, null, null);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope isolated include.
|
||||
*
|
||||
* Prevents access to $this/self from included files.
|
||||
*
|
||||
* @param string $file
|
||||
* @return void
|
||||
* @private
|
||||
*/
|
||||
function includeFile($file)
|
||||
{
|
||||
include $file;
|
||||
}
|
||||
|
33
vendor/composer/InstalledVersions.php
vendored
33
vendor/composer/InstalledVersions.php
vendored
@ -21,14 +21,12 @@ use Composer\Semver\VersionParser;
|
||||
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
|
||||
*
|
||||
* To require its presence, you can require `composer-runtime-api ^2.0`
|
||||
*
|
||||
* @final
|
||||
*/
|
||||
class InstalledVersions
|
||||
{
|
||||
/**
|
||||
* @var mixed[]|null
|
||||
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
|
||||
* @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
|
||||
*/
|
||||
private static $installed;
|
||||
|
||||
@ -39,7 +37,7 @@ class InstalledVersions
|
||||
|
||||
/**
|
||||
* @var array[]
|
||||
* @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
|
||||
* @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
||||
*/
|
||||
private static $installedByVendor = array();
|
||||
|
||||
@ -98,7 +96,7 @@ class InstalledVersions
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (isset($installed['versions'][$packageName])) {
|
||||
return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false;
|
||||
return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
|
||||
}
|
||||
}
|
||||
|
||||
@ -119,7 +117,7 @@ class InstalledVersions
|
||||
*/
|
||||
public static function satisfies(VersionParser $parser, $packageName, $constraint)
|
||||
{
|
||||
$constraint = $parser->parseConstraints((string) $constraint);
|
||||
$constraint = $parser->parseConstraints($constraint);
|
||||
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
|
||||
|
||||
return $provided->matches($constraint);
|
||||
@ -243,7 +241,7 @@ class InstalledVersions
|
||||
|
||||
/**
|
||||
* @return array
|
||||
* @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
|
||||
* @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
|
||||
*/
|
||||
public static function getRootPackage()
|
||||
{
|
||||
@ -257,7 +255,7 @@ class InstalledVersions
|
||||
*
|
||||
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
|
||||
* @return array[]
|
||||
* @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
|
||||
* @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
|
||||
*/
|
||||
public static function getRawData()
|
||||
{
|
||||
@ -280,7 +278,7 @@ class InstalledVersions
|
||||
* Returns the raw data of all installed.php which are currently loaded for custom implementations
|
||||
*
|
||||
* @return array[]
|
||||
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
|
||||
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
||||
*/
|
||||
public static function getAllRawData()
|
||||
{
|
||||
@ -303,7 +301,7 @@ class InstalledVersions
|
||||
* @param array[] $data A vendor/composer/installed.php data set
|
||||
* @return void
|
||||
*
|
||||
* @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
|
||||
* @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
|
||||
*/
|
||||
public static function reload($data)
|
||||
{
|
||||
@ -313,7 +311,7 @@ class InstalledVersions
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
|
||||
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
||||
*/
|
||||
private static function getInstalled()
|
||||
{
|
||||
@ -328,9 +326,7 @@ class InstalledVersions
|
||||
if (isset(self::$installedByVendor[$vendorDir])) {
|
||||
$installed[] = self::$installedByVendor[$vendorDir];
|
||||
} elseif (is_file($vendorDir.'/composer/installed.php')) {
|
||||
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
|
||||
$required = require $vendorDir.'/composer/installed.php';
|
||||
$installed[] = self::$installedByVendor[$vendorDir] = $required;
|
||||
$installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
|
||||
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
|
||||
self::$installed = $installed[count($installed) - 1];
|
||||
}
|
||||
@ -342,17 +338,12 @@ class InstalledVersions
|
||||
// only require the installed.php file if this file is loaded from its dumped location,
|
||||
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
||||
if (substr(__DIR__, -8, 1) !== 'C') {
|
||||
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
|
||||
$required = require __DIR__ . '/installed.php';
|
||||
self::$installed = $required;
|
||||
self::$installed = require __DIR__ . '/installed.php';
|
||||
} else {
|
||||
self::$installed = array();
|
||||
}
|
||||
}
|
||||
|
||||
if (self::$installed !== array()) {
|
||||
$installed[] = self::$installed;
|
||||
}
|
||||
$installed[] = self::$installed;
|
||||
|
||||
return $installed;
|
||||
}
|
||||
|
2
vendor/composer/LICENSE
vendored
2
vendor/composer/LICENSE
vendored
@ -1,4 +1,3 @@
|
||||
|
||||
Copyright (c) Nils Adermann, Jordi Boggiano
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
@ -18,4 +17,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
|
26
vendor/composer/autoload_classmap.php
vendored
26
vendor/composer/autoload_classmap.php
vendored
@ -2,7 +2,7 @@
|
||||
|
||||
// autoload_classmap.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(__DIR__);
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
@ -3880,9 +3880,12 @@ return array(
|
||||
'Lcobucci\\JWT\\Encoding\\JoseEncoder' => $vendorDir . '/lcobucci/jwt/src/Encoding/JoseEncoder.php',
|
||||
'Lcobucci\\JWT\\Encoding\\MicrosecondBasedDateConversion' => $vendorDir . '/lcobucci/jwt/src/Encoding/MicrosecondBasedDateConversion.php',
|
||||
'Lcobucci\\JWT\\Encoding\\UnifyAudience' => $vendorDir . '/lcobucci/jwt/src/Encoding/UnifyAudience.php',
|
||||
'Lcobucci\\JWT\\Encoding\\UnixTimestampDates' => $vendorDir . '/lcobucci/jwt/src/Encoding/UnixTimestampDates.php',
|
||||
'Lcobucci\\JWT\\Exception' => $vendorDir . '/lcobucci/jwt/src/Exception.php',
|
||||
'Lcobucci\\JWT\\JwtFacade' => $vendorDir . '/lcobucci/jwt/src/JwtFacade.php',
|
||||
'Lcobucci\\JWT\\Parser' => $vendorDir . '/lcobucci/jwt/src/Parser.php',
|
||||
'Lcobucci\\JWT\\Signer' => $vendorDir . '/lcobucci/jwt/src/Signer.php',
|
||||
'Lcobucci\\JWT\\Signer\\Blake2b' => $vendorDir . '/lcobucci/jwt/src/Signer/Blake2b.php',
|
||||
'Lcobucci\\JWT\\Signer\\CannotSignPayload' => $vendorDir . '/lcobucci/jwt/src/Signer/CannotSignPayload.php',
|
||||
'Lcobucci\\JWT\\Signer\\Ecdsa' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa.php',
|
||||
'Lcobucci\\JWT\\Signer\\Ecdsa\\ConversionFailed' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/ConversionFailed.php',
|
||||
@ -3891,10 +3894,17 @@ return array(
|
||||
'Lcobucci\\JWT\\Signer\\Ecdsa\\Sha384' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/Sha384.php',
|
||||
'Lcobucci\\JWT\\Signer\\Ecdsa\\Sha512' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/Sha512.php',
|
||||
'Lcobucci\\JWT\\Signer\\Ecdsa\\SignatureConverter' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/SignatureConverter.php',
|
||||
'Lcobucci\\JWT\\Signer\\Ecdsa\\UnsafeSha256' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/UnsafeSha256.php',
|
||||
'Lcobucci\\JWT\\Signer\\Ecdsa\\UnsafeSha384' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/UnsafeSha384.php',
|
||||
'Lcobucci\\JWT\\Signer\\Ecdsa\\UnsafeSha512' => $vendorDir . '/lcobucci/jwt/src/Signer/Ecdsa/UnsafeSha512.php',
|
||||
'Lcobucci\\JWT\\Signer\\Eddsa' => $vendorDir . '/lcobucci/jwt/src/Signer/Eddsa.php',
|
||||
'Lcobucci\\JWT\\Signer\\Hmac' => $vendorDir . '/lcobucci/jwt/src/Signer/Hmac.php',
|
||||
'Lcobucci\\JWT\\Signer\\Hmac\\Sha256' => $vendorDir . '/lcobucci/jwt/src/Signer/Hmac/Sha256.php',
|
||||
'Lcobucci\\JWT\\Signer\\Hmac\\Sha384' => $vendorDir . '/lcobucci/jwt/src/Signer/Hmac/Sha384.php',
|
||||
'Lcobucci\\JWT\\Signer\\Hmac\\Sha512' => $vendorDir . '/lcobucci/jwt/src/Signer/Hmac/Sha512.php',
|
||||
'Lcobucci\\JWT\\Signer\\Hmac\\UnsafeSha256' => $vendorDir . '/lcobucci/jwt/src/Signer/Hmac/UnsafeSha256.php',
|
||||
'Lcobucci\\JWT\\Signer\\Hmac\\UnsafeSha384' => $vendorDir . '/lcobucci/jwt/src/Signer/Hmac/UnsafeSha384.php',
|
||||
'Lcobucci\\JWT\\Signer\\Hmac\\UnsafeSha512' => $vendorDir . '/lcobucci/jwt/src/Signer/Hmac/UnsafeSha512.php',
|
||||
'Lcobucci\\JWT\\Signer\\InvalidKeyProvided' => $vendorDir . '/lcobucci/jwt/src/Signer/InvalidKeyProvided.php',
|
||||
'Lcobucci\\JWT\\Signer\\Key' => $vendorDir . '/lcobucci/jwt/src/Signer/Key.php',
|
||||
'Lcobucci\\JWT\\Signer\\Key\\FileCouldNotBeRead' => $vendorDir . '/lcobucci/jwt/src/Signer/Key/FileCouldNotBeRead.php',
|
||||
@ -3906,6 +3916,12 @@ return array(
|
||||
'Lcobucci\\JWT\\Signer\\Rsa\\Sha256' => $vendorDir . '/lcobucci/jwt/src/Signer/Rsa/Sha256.php',
|
||||
'Lcobucci\\JWT\\Signer\\Rsa\\Sha384' => $vendorDir . '/lcobucci/jwt/src/Signer/Rsa/Sha384.php',
|
||||
'Lcobucci\\JWT\\Signer\\Rsa\\Sha512' => $vendorDir . '/lcobucci/jwt/src/Signer/Rsa/Sha512.php',
|
||||
'Lcobucci\\JWT\\Signer\\Rsa\\UnsafeSha256' => $vendorDir . '/lcobucci/jwt/src/Signer/Rsa/UnsafeSha256.php',
|
||||
'Lcobucci\\JWT\\Signer\\Rsa\\UnsafeSha384' => $vendorDir . '/lcobucci/jwt/src/Signer/Rsa/UnsafeSha384.php',
|
||||
'Lcobucci\\JWT\\Signer\\Rsa\\UnsafeSha512' => $vendorDir . '/lcobucci/jwt/src/Signer/Rsa/UnsafeSha512.php',
|
||||
'Lcobucci\\JWT\\Signer\\UnsafeEcdsa' => $vendorDir . '/lcobucci/jwt/src/Signer/UnsafeEcdsa.php',
|
||||
'Lcobucci\\JWT\\Signer\\UnsafeRsa' => $vendorDir . '/lcobucci/jwt/src/Signer/UnsafeRsa.php',
|
||||
'Lcobucci\\JWT\\SodiumBase64Polyfill' => $vendorDir . '/lcobucci/jwt/src/SodiumBase64Polyfill.php',
|
||||
'Lcobucci\\JWT\\Token' => $vendorDir . '/lcobucci/jwt/src/Token.php',
|
||||
'Lcobucci\\JWT\\Token\\Builder' => $vendorDir . '/lcobucci/jwt/src/Token/Builder.php',
|
||||
'Lcobucci\\JWT\\Token\\DataSet' => $vendorDir . '/lcobucci/jwt/src/Token/DataSet.php',
|
||||
@ -3916,17 +3932,24 @@ return array(
|
||||
'Lcobucci\\JWT\\Token\\RegisteredClaims' => $vendorDir . '/lcobucci/jwt/src/Token/RegisteredClaims.php',
|
||||
'Lcobucci\\JWT\\Token\\Signature' => $vendorDir . '/lcobucci/jwt/src/Token/Signature.php',
|
||||
'Lcobucci\\JWT\\Token\\UnsupportedHeaderFound' => $vendorDir . '/lcobucci/jwt/src/Token/UnsupportedHeaderFound.php',
|
||||
'Lcobucci\\JWT\\UnencryptedToken' => $vendorDir . '/lcobucci/jwt/src/UnencryptedToken.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint.php',
|
||||
'Lcobucci\\JWT\\Validation\\ConstraintViolation' => $vendorDir . '/lcobucci/jwt/src/Validation/ConstraintViolation.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\CannotValidateARegisteredClaim' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/CannotValidateARegisteredClaim.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\HasClaimWithValue' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/HasClaimWithValue.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\IdentifiedBy' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/IdentifiedBy.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\IssuedBy' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/IssuedBy.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\LeewayCannotBeNegative' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/LeewayCannotBeNegative.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\LooseValidAt' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/LooseValidAt.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\PermittedFor' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/PermittedFor.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\RelatedTo' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/RelatedTo.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\SignedWith' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/SignedWith.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\StrictValidAt' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/StrictValidAt.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\ValidAt' => $vendorDir . '/lcobucci/jwt/src/Validation/Constraint/ValidAt.php',
|
||||
'Lcobucci\\JWT\\Validation\\NoConstraintsGiven' => $vendorDir . '/lcobucci/jwt/src/Validation/NoConstraintsGiven.php',
|
||||
'Lcobucci\\JWT\\Validation\\RequiredConstraintsViolated' => $vendorDir . '/lcobucci/jwt/src/Validation/RequiredConstraintsViolated.php',
|
||||
'Lcobucci\\JWT\\Validation\\SignedWith' => $vendorDir . '/lcobucci/jwt/src/Validation/SignedWith.php',
|
||||
'Lcobucci\\JWT\\Validation\\ValidAt' => $vendorDir . '/lcobucci/jwt/src/Validation/ValidAt.php',
|
||||
'Lcobucci\\JWT\\Validation\\Validator' => $vendorDir . '/lcobucci/jwt/src/Validation/Validator.php',
|
||||
'Lcobucci\\JWT\\Validator' => $vendorDir . '/lcobucci/jwt/src/Validator.php',
|
||||
'League\\CommonMark\\CommonMarkConverter' => $vendorDir . '/league/commonmark/src/CommonMarkConverter.php',
|
||||
@ -6867,7 +6890,6 @@ return array(
|
||||
'Spipu\\Html2Pdf\\Tag\\Svg\\Polyline' => $vendorDir . '/spipu/html2pdf/src/Tag/Svg/Polyline.php',
|
||||
'Spipu\\Html2Pdf\\Tag\\Svg\\Rect' => $vendorDir . '/spipu/html2pdf/src/Tag/Svg/Rect.php',
|
||||
'Spipu\\Html2Pdf\\Tag\\TagInterface' => $vendorDir . '/spipu/html2pdf/src/Tag/TagInterface.php',
|
||||
'StellaMaris\\Clock\\ClockInterface' => $vendorDir . '/stella-maris/clock/src/ClockInterface.php',
|
||||
'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
|
||||
'Symfony\\Component\\Console\\Application' => $vendorDir . '/symfony/console/Application.php',
|
||||
'Symfony\\Component\\Console\\Attribute\\AsCommand' => $vendorDir . '/symfony/console/Attribute/AsCommand.php',
|
||||
|
42
vendor/composer/autoload_files.php
vendored
42
vendor/composer/autoload_files.php
vendored
@ -2,27 +2,29 @@
|
||||
|
||||
// autoload_files.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(__DIR__);
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
|
||||
'6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
|
||||
'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php',
|
||||
'320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
|
||||
'667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php',
|
||||
'8825ede83f2f289127722d4e842cf7e8' => $vendorDir . '/symfony/polyfill-intl-grapheme/bootstrap.php',
|
||||
'25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
|
||||
'b6b991a57620e2fb6b2f66f03fe9ddc2' => $vendorDir . '/symfony/string/Resources/functions.php',
|
||||
'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php',
|
||||
'662a729f963d39afe703c9d9b7ab4a8c' => $vendorDir . '/symfony/polyfill-php83/bootstrap.php',
|
||||
'a1105708a18b76903365ca1c4aa61b02' => $vendorDir . '/symfony/translation/Resources/functions.php',
|
||||
'6124b4c8570aa390c21fafd04a26c69f' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
|
||||
'ec07570ca5a812141189b1fa81503674' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert/Functions.php',
|
||||
'9b38cf48e83f5d8f60375221cd213eee' => $vendorDir . '/phpstan/phpstan/bootstrap.php',
|
||||
'7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
|
||||
'35a6ad97d21e794e7e22a17d806652e4' => $vendorDir . '/nunomaduro/termwind/src/Functions.php',
|
||||
'6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
|
||||
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
|
||||
'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php',
|
||||
'25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
|
||||
'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php',
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
|
||||
'662a729f963d39afe703c9d9b7ab4a8c' => $vendorDir . '/symfony/polyfill-php83/bootstrap.php',
|
||||
'320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
|
||||
'09f6b20656683369174dd6fa83b7e5fb' => $vendorDir . '/symfony/polyfill-uuid/bootstrap.php',
|
||||
'667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php',
|
||||
'c72349b1fe8d0deeedd3a52e8aa814d8' => $vendorDir . '/mockery/mockery/library/helpers.php',
|
||||
'ce9671a430e4846b44e1c68c7611f9f5' => $vendorDir . '/mockery/mockery/library/Mockery.php',
|
||||
'a1105708a18b76903365ca1c4aa61b02' => $vendorDir . '/symfony/translation/Resources/functions.php',
|
||||
'7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
|
||||
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
|
||||
'35a6ad97d21e794e7e22a17d806652e4' => $vendorDir . '/nunomaduro/termwind/src/Functions.php',
|
||||
'47e1160838b5e5a10346ac4084b58c23' => $vendorDir . '/laravel/prompts/src/helpers.php',
|
||||
'e39a8b23c42d4e1452234d762b03835a' => $vendorDir . '/ramsey/uuid/src/functions.php',
|
||||
'3bd81c9b8fcc150b69d8b63b4d2ccf23' => $vendorDir . '/spatie/flare-client-php/src/helpers.php',
|
||||
@ -30,17 +32,15 @@ return array(
|
||||
'c7a3c339e7e14b60e06a2d7fcce9476b' => $vendorDir . '/laravel/framework/src/Illuminate/Events/functions.php',
|
||||
'f0906e6318348a765ffb6eb24e0d0938' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/helpers.php',
|
||||
'58571171fd5812e6e447dce228f52f4d' => $vendorDir . '/laravel/framework/src/Illuminate/Support/helpers.php',
|
||||
'801c31d8ed748cfa537fa45402288c95' => $vendorDir . '/psy/psysh/src/functions.php',
|
||||
'8825ede83f2f289127722d4e842cf7e8' => $vendorDir . '/symfony/polyfill-intl-grapheme/bootstrap.php',
|
||||
'fe62ba7e10580d903cc46d808b5961a4' => $vendorDir . '/tightenco/collect/src/Collect/Support/helpers.php',
|
||||
'caf31cc6ec7cf2241cb6f12c226c3846' => $vendorDir . '/tightenco/collect/src/Collect/Support/alias.php',
|
||||
'6124b4c8570aa390c21fafd04a26c69f' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
|
||||
'dc1275c308c5b416beb314b6317daca2' => $vendorDir . '/overtrue/pinyin/src/const.php',
|
||||
'801c31d8ed748cfa537fa45402288c95' => $vendorDir . '/psy/psysh/src/functions.php',
|
||||
'320163ac6b93aebe3dc25b60a0533d56' => $vendorDir . '/spatie/laravel-ignition/src/helpers.php',
|
||||
'b6b991a57620e2fb6b2f66f03fe9ddc2' => $vendorDir . '/symfony/string/Resources/functions.php',
|
||||
'044fc72df35e84c745ee0d4120dc15d2' => $vendorDir . '/dcat/laravel-admin/src/Support/helpers.php',
|
||||
'c72349b1fe8d0deeedd3a52e8aa814d8' => $vendorDir . '/mockery/mockery/library/helpers.php',
|
||||
'ce9671a430e4846b44e1c68c7611f9f5' => $vendorDir . '/mockery/mockery/library/Mockery.php',
|
||||
'b670c7ffff63265cc064eb6fd1051ae1' => $vendorDir . '/mosiboom/dcat-iframe-tab/src/helpers.php',
|
||||
'a1cfe24d14977df6878b9bf804af2d1c' => $vendorDir . '/nunomaduro/collision/src/Adapters/Phpunit/Autoload.php',
|
||||
'cda2d2f579338909929d3104d0afc501' => $vendorDir . '/overtrue/laravel-pinyin/src/helpers.php',
|
||||
'ec07570ca5a812141189b1fa81503674' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert/Functions.php',
|
||||
'320163ac6b93aebe3dc25b60a0533d56' => $vendorDir . '/spatie/laravel-ignition/src/helpers.php',
|
||||
);
|
||||
|
2
vendor/composer/autoload_namespaces.php
vendored
2
vendor/composer/autoload_namespaces.php
vendored
@ -2,7 +2,7 @@
|
||||
|
||||
// autoload_namespaces.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(__DIR__);
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
|
3
vendor/composer/autoload_psr4.php
vendored
3
vendor/composer/autoload_psr4.php
vendored
@ -2,7 +2,7 @@
|
||||
|
||||
// autoload_psr4.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(__DIR__);
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
@ -42,7 +42,6 @@ return array(
|
||||
'Symfony\\Component\\ErrorHandler\\' => array($vendorDir . '/symfony/error-handler'),
|
||||
'Symfony\\Component\\CssSelector\\' => array($vendorDir . '/symfony/css-selector'),
|
||||
'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'),
|
||||
'StellaMaris\\Clock\\' => array($vendorDir . '/stella-maris/clock/src'),
|
||||
'Spipu\\Html2Pdf\\' => array($vendorDir . '/spipu/html2pdf/src'),
|
||||
'Spatie\\LaravelPackageTools\\' => array($vendorDir . '/spatie/laravel-package-tools/src'),
|
||||
'Spatie\\LaravelIgnition\\' => array($vendorDir . '/spatie/laravel-ignition/src'),
|
||||
|
56
vendor/composer/autoload_real.php
vendored
56
vendor/composer/autoload_real.php
vendored
@ -25,26 +25,56 @@ class ComposerAutoloaderInitab540f0684551bbb4b79f360b913ca88
|
||||
require __DIR__ . '/platform_check.php';
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInitab540f0684551bbb4b79f360b913ca88', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInitab540f0684551bbb4b79f360b913ca88', 'loadClassLoader'));
|
||||
|
||||
require __DIR__ . '/autoload_static.php';
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInitab540f0684551bbb4b79f360b913ca88::getInitializer($loader));
|
||||
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
||||
if ($useStaticLoader) {
|
||||
require __DIR__ . '/autoload_static.php';
|
||||
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInitab540f0684551bbb4b79f360b913ca88::getInitializer($loader));
|
||||
} else {
|
||||
$map = require __DIR__ . '/autoload_namespaces.php';
|
||||
foreach ($map as $namespace => $path) {
|
||||
$loader->set($namespace, $path);
|
||||
}
|
||||
|
||||
$map = require __DIR__ . '/autoload_psr4.php';
|
||||
foreach ($map as $namespace => $path) {
|
||||
$loader->setPsr4($namespace, $path);
|
||||
}
|
||||
|
||||
$classMap = require __DIR__ . '/autoload_classmap.php';
|
||||
if ($classMap) {
|
||||
$loader->addClassMap($classMap);
|
||||
}
|
||||
}
|
||||
|
||||
$loader->register(true);
|
||||
|
||||
$filesToLoad = \Composer\Autoload\ComposerStaticInitab540f0684551bbb4b79f360b913ca88::$files;
|
||||
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
|
||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||
|
||||
require $file;
|
||||
}
|
||||
}, null, null);
|
||||
foreach ($filesToLoad as $fileIdentifier => $file) {
|
||||
$requireFile($fileIdentifier, $file);
|
||||
if ($useStaticLoader) {
|
||||
$includeFiles = Composer\Autoload\ComposerStaticInitab540f0684551bbb4b79f360b913ca88::$files;
|
||||
} else {
|
||||
$includeFiles = require __DIR__ . '/autoload_files.php';
|
||||
}
|
||||
foreach ($includeFiles as $fileIdentifier => $file) {
|
||||
composerRequireab540f0684551bbb4b79f360b913ca88($fileIdentifier, $file);
|
||||
}
|
||||
|
||||
return $loader;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $fileIdentifier
|
||||
* @param string $file
|
||||
* @return void
|
||||
*/
|
||||
function composerRequireab540f0684551bbb4b79f360b913ca88($fileIdentifier, $file)
|
||||
{
|
||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||
|
||||
require $file;
|
||||
}
|
||||
}
|
||||
|
69
vendor/composer/autoload_static.php
vendored
69
vendor/composer/autoload_static.php
vendored
@ -7,23 +7,25 @@ namespace Composer\Autoload;
|
||||
class ComposerStaticInitab540f0684551bbb4b79f360b913ca88
|
||||
{
|
||||
public static $files = array (
|
||||
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
|
||||
'6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
|
||||
'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php',
|
||||
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
|
||||
'667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php',
|
||||
'8825ede83f2f289127722d4e842cf7e8' => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme/bootstrap.php',
|
||||
'25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php',
|
||||
'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php',
|
||||
'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php',
|
||||
'662a729f963d39afe703c9d9b7ab4a8c' => __DIR__ . '/..' . '/symfony/polyfill-php83/bootstrap.php',
|
||||
'a1105708a18b76903365ca1c4aa61b02' => __DIR__ . '/..' . '/symfony/translation/Resources/functions.php',
|
||||
'6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
|
||||
'ec07570ca5a812141189b1fa81503674' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Assert/Functions.php',
|
||||
'9b38cf48e83f5d8f60375221cd213eee' => __DIR__ . '/..' . '/phpstan/phpstan/bootstrap.php',
|
||||
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
|
||||
'35a6ad97d21e794e7e22a17d806652e4' => __DIR__ . '/..' . '/nunomaduro/termwind/src/Functions.php',
|
||||
'6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
|
||||
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
|
||||
'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php',
|
||||
'25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php',
|
||||
'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php',
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
|
||||
'662a729f963d39afe703c9d9b7ab4a8c' => __DIR__ . '/..' . '/symfony/polyfill-php83/bootstrap.php',
|
||||
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
|
||||
'09f6b20656683369174dd6fa83b7e5fb' => __DIR__ . '/..' . '/symfony/polyfill-uuid/bootstrap.php',
|
||||
'667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php',
|
||||
'c72349b1fe8d0deeedd3a52e8aa814d8' => __DIR__ . '/..' . '/mockery/mockery/library/helpers.php',
|
||||
'ce9671a430e4846b44e1c68c7611f9f5' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery.php',
|
||||
'a1105708a18b76903365ca1c4aa61b02' => __DIR__ . '/..' . '/symfony/translation/Resources/functions.php',
|
||||
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
|
||||
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
|
||||
'35a6ad97d21e794e7e22a17d806652e4' => __DIR__ . '/..' . '/nunomaduro/termwind/src/Functions.php',
|
||||
'47e1160838b5e5a10346ac4084b58c23' => __DIR__ . '/..' . '/laravel/prompts/src/helpers.php',
|
||||
'e39a8b23c42d4e1452234d762b03835a' => __DIR__ . '/..' . '/ramsey/uuid/src/functions.php',
|
||||
'3bd81c9b8fcc150b69d8b63b4d2ccf23' => __DIR__ . '/..' . '/spatie/flare-client-php/src/helpers.php',
|
||||
@ -31,19 +33,17 @@ class ComposerStaticInitab540f0684551bbb4b79f360b913ca88
|
||||
'c7a3c339e7e14b60e06a2d7fcce9476b' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Events/functions.php',
|
||||
'f0906e6318348a765ffb6eb24e0d0938' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/helpers.php',
|
||||
'58571171fd5812e6e447dce228f52f4d' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/helpers.php',
|
||||
'801c31d8ed748cfa537fa45402288c95' => __DIR__ . '/..' . '/psy/psysh/src/functions.php',
|
||||
'8825ede83f2f289127722d4e842cf7e8' => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme/bootstrap.php',
|
||||
'fe62ba7e10580d903cc46d808b5961a4' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Support/helpers.php',
|
||||
'caf31cc6ec7cf2241cb6f12c226c3846' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Support/alias.php',
|
||||
'6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
|
||||
'dc1275c308c5b416beb314b6317daca2' => __DIR__ . '/..' . '/overtrue/pinyin/src/const.php',
|
||||
'801c31d8ed748cfa537fa45402288c95' => __DIR__ . '/..' . '/psy/psysh/src/functions.php',
|
||||
'320163ac6b93aebe3dc25b60a0533d56' => __DIR__ . '/..' . '/spatie/laravel-ignition/src/helpers.php',
|
||||
'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php',
|
||||
'044fc72df35e84c745ee0d4120dc15d2' => __DIR__ . '/..' . '/dcat/laravel-admin/src/Support/helpers.php',
|
||||
'c72349b1fe8d0deeedd3a52e8aa814d8' => __DIR__ . '/..' . '/mockery/mockery/library/helpers.php',
|
||||
'ce9671a430e4846b44e1c68c7611f9f5' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery.php',
|
||||
'b670c7ffff63265cc064eb6fd1051ae1' => __DIR__ . '/..' . '/mosiboom/dcat-iframe-tab/src/helpers.php',
|
||||
'a1cfe24d14977df6878b9bf804af2d1c' => __DIR__ . '/..' . '/nunomaduro/collision/src/Adapters/Phpunit/Autoload.php',
|
||||
'cda2d2f579338909929d3104d0afc501' => __DIR__ . '/..' . '/overtrue/laravel-pinyin/src/helpers.php',
|
||||
'ec07570ca5a812141189b1fa81503674' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Assert/Functions.php',
|
||||
'320163ac6b93aebe3dc25b60a0533d56' => __DIR__ . '/..' . '/spatie/laravel-ignition/src/helpers.php',
|
||||
);
|
||||
|
||||
public static $prefixLengthsPsr4 = array (
|
||||
@ -94,7 +94,6 @@ class ComposerStaticInitab540f0684551bbb4b79f360b913ca88
|
||||
'Symfony\\Component\\ErrorHandler\\' => 31,
|
||||
'Symfony\\Component\\CssSelector\\' => 30,
|
||||
'Symfony\\Component\\Console\\' => 26,
|
||||
'StellaMaris\\Clock\\' => 18,
|
||||
'Spipu\\Html2Pdf\\' => 15,
|
||||
'Spatie\\LaravelPackageTools\\' => 27,
|
||||
'Spatie\\LaravelIgnition\\' => 23,
|
||||
@ -358,10 +357,6 @@ class ComposerStaticInitab540f0684551bbb4b79f360b913ca88
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/console',
|
||||
),
|
||||
'StellaMaris\\Clock\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/stella-maris/clock/src',
|
||||
),
|
||||
'Spipu\\Html2Pdf\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/spipu/html2pdf/src',
|
||||
@ -4544,9 +4539,12 @@ class ComposerStaticInitab540f0684551bbb4b79f360b913ca88
|
||||
'Lcobucci\\JWT\\Encoding\\JoseEncoder' => __DIR__ . '/..' . '/lcobucci/jwt/src/Encoding/JoseEncoder.php',
|
||||
'Lcobucci\\JWT\\Encoding\\MicrosecondBasedDateConversion' => __DIR__ . '/..' . '/lcobucci/jwt/src/Encoding/MicrosecondBasedDateConversion.php',
|
||||
'Lcobucci\\JWT\\Encoding\\UnifyAudience' => __DIR__ . '/..' . '/lcobucci/jwt/src/Encoding/UnifyAudience.php',
|
||||
'Lcobucci\\JWT\\Encoding\\UnixTimestampDates' => __DIR__ . '/..' . '/lcobucci/jwt/src/Encoding/UnixTimestampDates.php',
|
||||
'Lcobucci\\JWT\\Exception' => __DIR__ . '/..' . '/lcobucci/jwt/src/Exception.php',
|
||||
'Lcobucci\\JWT\\JwtFacade' => __DIR__ . '/..' . '/lcobucci/jwt/src/JwtFacade.php',
|
||||
'Lcobucci\\JWT\\Parser' => __DIR__ . '/..' . '/lcobucci/jwt/src/Parser.php',
|
||||
'Lcobucci\\JWT\\Signer' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer.php',
|
||||
'Lcobucci\\JWT\\Signer\\Blake2b' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Blake2b.php',
|
||||
'Lcobucci\\JWT\\Signer\\CannotSignPayload' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/CannotSignPayload.php',
|
||||
'Lcobucci\\JWT\\Signer\\Ecdsa' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa.php',
|
||||
'Lcobucci\\JWT\\Signer\\Ecdsa\\ConversionFailed' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/ConversionFailed.php',
|
||||
@ -4555,10 +4553,17 @@ class ComposerStaticInitab540f0684551bbb4b79f360b913ca88
|
||||
'Lcobucci\\JWT\\Signer\\Ecdsa\\Sha384' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/Sha384.php',
|
||||
'Lcobucci\\JWT\\Signer\\Ecdsa\\Sha512' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/Sha512.php',
|
||||
'Lcobucci\\JWT\\Signer\\Ecdsa\\SignatureConverter' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/SignatureConverter.php',
|
||||
'Lcobucci\\JWT\\Signer\\Ecdsa\\UnsafeSha256' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/UnsafeSha256.php',
|
||||
'Lcobucci\\JWT\\Signer\\Ecdsa\\UnsafeSha384' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/UnsafeSha384.php',
|
||||
'Lcobucci\\JWT\\Signer\\Ecdsa\\UnsafeSha512' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Ecdsa/UnsafeSha512.php',
|
||||
'Lcobucci\\JWT\\Signer\\Eddsa' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Eddsa.php',
|
||||
'Lcobucci\\JWT\\Signer\\Hmac' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Hmac.php',
|
||||
'Lcobucci\\JWT\\Signer\\Hmac\\Sha256' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Hmac/Sha256.php',
|
||||
'Lcobucci\\JWT\\Signer\\Hmac\\Sha384' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Hmac/Sha384.php',
|
||||
'Lcobucci\\JWT\\Signer\\Hmac\\Sha512' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Hmac/Sha512.php',
|
||||
'Lcobucci\\JWT\\Signer\\Hmac\\UnsafeSha256' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Hmac/UnsafeSha256.php',
|
||||
'Lcobucci\\JWT\\Signer\\Hmac\\UnsafeSha384' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Hmac/UnsafeSha384.php',
|
||||
'Lcobucci\\JWT\\Signer\\Hmac\\UnsafeSha512' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Hmac/UnsafeSha512.php',
|
||||
'Lcobucci\\JWT\\Signer\\InvalidKeyProvided' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/InvalidKeyProvided.php',
|
||||
'Lcobucci\\JWT\\Signer\\Key' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Key.php',
|
||||
'Lcobucci\\JWT\\Signer\\Key\\FileCouldNotBeRead' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Key/FileCouldNotBeRead.php',
|
||||
@ -4570,6 +4575,12 @@ class ComposerStaticInitab540f0684551bbb4b79f360b913ca88
|
||||
'Lcobucci\\JWT\\Signer\\Rsa\\Sha256' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Rsa/Sha256.php',
|
||||
'Lcobucci\\JWT\\Signer\\Rsa\\Sha384' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Rsa/Sha384.php',
|
||||
'Lcobucci\\JWT\\Signer\\Rsa\\Sha512' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Rsa/Sha512.php',
|
||||
'Lcobucci\\JWT\\Signer\\Rsa\\UnsafeSha256' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Rsa/UnsafeSha256.php',
|
||||
'Lcobucci\\JWT\\Signer\\Rsa\\UnsafeSha384' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Rsa/UnsafeSha384.php',
|
||||
'Lcobucci\\JWT\\Signer\\Rsa\\UnsafeSha512' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/Rsa/UnsafeSha512.php',
|
||||
'Lcobucci\\JWT\\Signer\\UnsafeEcdsa' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/UnsafeEcdsa.php',
|
||||
'Lcobucci\\JWT\\Signer\\UnsafeRsa' => __DIR__ . '/..' . '/lcobucci/jwt/src/Signer/UnsafeRsa.php',
|
||||
'Lcobucci\\JWT\\SodiumBase64Polyfill' => __DIR__ . '/..' . '/lcobucci/jwt/src/SodiumBase64Polyfill.php',
|
||||
'Lcobucci\\JWT\\Token' => __DIR__ . '/..' . '/lcobucci/jwt/src/Token.php',
|
||||
'Lcobucci\\JWT\\Token\\Builder' => __DIR__ . '/..' . '/lcobucci/jwt/src/Token/Builder.php',
|
||||
'Lcobucci\\JWT\\Token\\DataSet' => __DIR__ . '/..' . '/lcobucci/jwt/src/Token/DataSet.php',
|
||||
@ -4580,17 +4591,24 @@ class ComposerStaticInitab540f0684551bbb4b79f360b913ca88
|
||||
'Lcobucci\\JWT\\Token\\RegisteredClaims' => __DIR__ . '/..' . '/lcobucci/jwt/src/Token/RegisteredClaims.php',
|
||||
'Lcobucci\\JWT\\Token\\Signature' => __DIR__ . '/..' . '/lcobucci/jwt/src/Token/Signature.php',
|
||||
'Lcobucci\\JWT\\Token\\UnsupportedHeaderFound' => __DIR__ . '/..' . '/lcobucci/jwt/src/Token/UnsupportedHeaderFound.php',
|
||||
'Lcobucci\\JWT\\UnencryptedToken' => __DIR__ . '/..' . '/lcobucci/jwt/src/UnencryptedToken.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint.php',
|
||||
'Lcobucci\\JWT\\Validation\\ConstraintViolation' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/ConstraintViolation.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\CannotValidateARegisteredClaim' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/CannotValidateARegisteredClaim.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\HasClaimWithValue' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/HasClaimWithValue.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\IdentifiedBy' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/IdentifiedBy.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\IssuedBy' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/IssuedBy.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\LeewayCannotBeNegative' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/LeewayCannotBeNegative.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\LooseValidAt' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/LooseValidAt.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\PermittedFor' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/PermittedFor.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\RelatedTo' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/RelatedTo.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\SignedWith' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/SignedWith.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\StrictValidAt' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/StrictValidAt.php',
|
||||
'Lcobucci\\JWT\\Validation\\Constraint\\ValidAt' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Constraint/ValidAt.php',
|
||||
'Lcobucci\\JWT\\Validation\\NoConstraintsGiven' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/NoConstraintsGiven.php',
|
||||
'Lcobucci\\JWT\\Validation\\RequiredConstraintsViolated' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/RequiredConstraintsViolated.php',
|
||||
'Lcobucci\\JWT\\Validation\\SignedWith' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/SignedWith.php',
|
||||
'Lcobucci\\JWT\\Validation\\ValidAt' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/ValidAt.php',
|
||||
'Lcobucci\\JWT\\Validation\\Validator' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validation/Validator.php',
|
||||
'Lcobucci\\JWT\\Validator' => __DIR__ . '/..' . '/lcobucci/jwt/src/Validator.php',
|
||||
'League\\CommonMark\\CommonMarkConverter' => __DIR__ . '/..' . '/league/commonmark/src/CommonMarkConverter.php',
|
||||
@ -7531,7 +7549,6 @@ class ComposerStaticInitab540f0684551bbb4b79f360b913ca88
|
||||
'Spipu\\Html2Pdf\\Tag\\Svg\\Polyline' => __DIR__ . '/..' . '/spipu/html2pdf/src/Tag/Svg/Polyline.php',
|
||||
'Spipu\\Html2Pdf\\Tag\\Svg\\Rect' => __DIR__ . '/..' . '/spipu/html2pdf/src/Tag/Svg/Rect.php',
|
||||
'Spipu\\Html2Pdf\\Tag\\TagInterface' => __DIR__ . '/..' . '/spipu/html2pdf/src/Tag/TagInterface.php',
|
||||
'StellaMaris\\Clock\\ClockInterface' => __DIR__ . '/..' . '/stella-maris/clock/src/ClockInterface.php',
|
||||
'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
|
||||
'Symfony\\Component\\Console\\Application' => __DIR__ . '/..' . '/symfony/console/Application.php',
|
||||
'Symfony\\Component\\Console\\Attribute\\AsCommand' => __DIR__ . '/..' . '/symfony/console/Attribute/AsCommand.php',
|
||||
|
120
vendor/composer/installed.json
vendored
120
vendor/composer/installed.json
vendored
@ -2567,22 +2567,22 @@
|
||||
},
|
||||
{
|
||||
"name": "lcobucci/clock",
|
||||
"version": "2.3.0",
|
||||
"version_normalized": "2.3.0.0",
|
||||
"version": "3.0.0",
|
||||
"version_normalized": "3.0.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/lcobucci/clock.git",
|
||||
"reference": "c7aadcd6fd97ed9e199114269c0be3f335e38876"
|
||||
"reference": "039ef98c6b57b101d10bd11d8fdfda12cbd996dc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/lcobucci/clock/zipball/c7aadcd6fd97ed9e199114269c0be3f335e38876",
|
||||
"reference": "c7aadcd6fd97ed9e199114269c0be3f335e38876",
|
||||
"url": "https://api.github.com/repos/lcobucci/clock/zipball/039ef98c6b57b101d10bd11d8fdfda12cbd996dc",
|
||||
"reference": "039ef98c6b57b101d10bd11d8fdfda12cbd996dc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "~8.1.0 || ~8.2.0",
|
||||
"stella-maris/clock": "^0.1.7"
|
||||
"psr/clock": "^1.0"
|
||||
},
|
||||
"provide": {
|
||||
"psr/clock-implementation": "1.0"
|
||||
@ -2597,7 +2597,7 @@
|
||||
"phpstan/phpstan-strict-rules": "^1.4.4",
|
||||
"phpunit/phpunit": "^9.5.27"
|
||||
},
|
||||
"time": "2022-12-19T14:38:11+00:00",
|
||||
"time": "2022-12-19T15:00:24+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
@ -2618,7 +2618,7 @@
|
||||
"description": "Yet another clock abstraction",
|
||||
"support": {
|
||||
"issues": "https://github.com/lcobucci/clock/issues",
|
||||
"source": "https://github.com/lcobucci/clock/tree/2.3.0"
|
||||
"source": "https://github.com/lcobucci/clock/tree/3.0.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2634,45 +2634,43 @@
|
||||
},
|
||||
{
|
||||
"name": "lcobucci/jwt",
|
||||
"version": "4.0.4",
|
||||
"version_normalized": "4.0.4.0",
|
||||
"version": "4.3.0",
|
||||
"version_normalized": "4.3.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/lcobucci/jwt.git",
|
||||
"reference": "55564265fddf810504110bd68ca311932324b0e9"
|
||||
"reference": "4d7de2fe0d51a96418c0d04004986e410e87f6b4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/lcobucci/jwt/zipball/55564265fddf810504110bd68ca311932324b0e9",
|
||||
"reference": "55564265fddf810504110bd68ca311932324b0e9",
|
||||
"url": "https://api.github.com/repos/lcobucci/jwt/zipball/4d7de2fe0d51a96418c0d04004986e410e87f6b4",
|
||||
"reference": "4d7de2fe0d51a96418c0d04004986e410e87f6b4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-hash": "*",
|
||||
"ext-json": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-openssl": "*",
|
||||
"lcobucci/clock": "^2.0",
|
||||
"ext-sodium": "*",
|
||||
"lcobucci/clock": "^2.0 || ^3.0",
|
||||
"php": "^7.4 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"infection/infection": "^0.20",
|
||||
"infection/infection": "^0.21",
|
||||
"lcobucci/coding-standard": "^6.0",
|
||||
"mikey179/vfsstream": "^1.6",
|
||||
"phpbench/phpbench": "^0.17",
|
||||
"mikey179/vfsstream": "^1.6.7",
|
||||
"phpbench/phpbench": "^1.2",
|
||||
"phpstan/extension-installer": "^1.0",
|
||||
"phpstan/phpstan": "^0.12",
|
||||
"phpstan/phpstan-deprecation-rules": "^0.12",
|
||||
"phpstan/phpstan-phpunit": "^0.12",
|
||||
"phpstan/phpstan-strict-rules": "^0.12",
|
||||
"phpstan/phpstan": "^1.4",
|
||||
"phpstan/phpstan-deprecation-rules": "^1.0",
|
||||
"phpstan/phpstan-phpunit": "^1.0",
|
||||
"phpstan/phpstan-strict-rules": "^1.0",
|
||||
"phpunit/php-invoker": "^3.1",
|
||||
"phpunit/phpunit": "^9.4"
|
||||
"phpunit/phpunit": "^9.5"
|
||||
},
|
||||
"time": "2021-09-28T19:18:28+00:00",
|
||||
"time": "2023-01-02T13:28:00+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "4.0-dev"
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
@ -2697,7 +2695,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/lcobucci/jwt/issues",
|
||||
"source": "https://github.com/lcobucci/jwt/tree/4.0.4"
|
||||
"source": "https://github.com/lcobucci/jwt/tree/4.3.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -4361,17 +4359,17 @@
|
||||
},
|
||||
{
|
||||
"name": "phpmyadmin/sql-parser",
|
||||
"version": "5.8.0",
|
||||
"version_normalized": "5.8.0.0",
|
||||
"version": "5.8.1",
|
||||
"version_normalized": "5.8.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpmyadmin/sql-parser.git",
|
||||
"reference": "db1b3069b5dbc220d393d67ff911e0ae76732755"
|
||||
"reference": "b877ee6262a00f0f498da5e01335e8a5dc01d203"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/db1b3069b5dbc220d393d67ff911e0ae76732755",
|
||||
"reference": "db1b3069b5dbc220d393d67ff911e0ae76732755",
|
||||
"url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/b877ee6262a00f0f498da5e01335e8a5dc01d203",
|
||||
"reference": "b877ee6262a00f0f498da5e01335e8a5dc01d203",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -4393,13 +4391,13 @@
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
||||
"psalm/plugin-phpunit": "^0.16.1",
|
||||
"vimeo/psalm": "^4.11",
|
||||
"zumba/json-serializer": "^3.0"
|
||||
"zumba/json-serializer": "~3.0.2"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-mbstring": "For best performance",
|
||||
"phpmyadmin/motranslator": "Translate messages to your favorite locale"
|
||||
},
|
||||
"time": "2023-06-05T18:19:38+00:00",
|
||||
"time": "2023-09-15T18:21:22+00:00",
|
||||
"bin": [
|
||||
"bin/highlight-query",
|
||||
"bin/lint-query",
|
||||
@ -7363,56 +7361,6 @@
|
||||
},
|
||||
"install-path": "../spipu/html2pdf"
|
||||
},
|
||||
{
|
||||
"name": "stella-maris/clock",
|
||||
"version": "0.1.7",
|
||||
"version_normalized": "0.1.7.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/stella-maris-solutions/clock.git",
|
||||
"reference": "fa23ce16019289a18bb3446fdecd45befcdd94f8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/stella-maris-solutions/clock/zipball/fa23ce16019289a18bb3446fdecd45befcdd94f8",
|
||||
"reference": "fa23ce16019289a18bb3446fdecd45befcdd94f8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.0|^8.0",
|
||||
"psr/clock": "^1.0"
|
||||
},
|
||||
"time": "2022-11-25T16:15:06+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"StellaMaris\\Clock\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Andreas Heigl",
|
||||
"role": "Maintainer"
|
||||
}
|
||||
],
|
||||
"description": "A pre-release of the proposed PSR-20 Clock-Interface",
|
||||
"homepage": "https://gitlab.com/stella-maris/clock",
|
||||
"keywords": [
|
||||
"clock",
|
||||
"datetime",
|
||||
"point in time",
|
||||
"psr20"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/stella-maris-solutions/clock/tree/0.1.7"
|
||||
},
|
||||
"install-path": "../stella-maris/clock"
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v6.3.4",
|
||||
|
301
vendor/composer/installed.php
vendored
301
vendor/composer/installed.php
vendored
File diff suppressed because it is too large
Load Diff
2
vendor/lcobucci/clock/composer.json
vendored
2
vendor/lcobucci/clock/composer.json
vendored
@ -11,7 +11,7 @@
|
||||
],
|
||||
"require": {
|
||||
"php": "~8.1.0 || ~8.2.0",
|
||||
"stella-maris/clock": "^0.1.7"
|
||||
"psr/clock": "^1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"infection/infection": "^0.26",
|
||||
|
2
vendor/lcobucci/clock/src/Clock.php
vendored
2
vendor/lcobucci/clock/src/Clock.php
vendored
@ -4,7 +4,7 @@ declare(strict_types=1);
|
||||
namespace Lcobucci\Clock;
|
||||
|
||||
use DateTimeImmutable;
|
||||
use StellaMaris\Clock\ClockInterface;
|
||||
use Psr\Clock\ClockInterface;
|
||||
|
||||
interface Clock extends ClockInterface
|
||||
{
|
||||
|
46
vendor/lcobucci/jwt/composer.json
vendored
46
vendor/lcobucci/jwt/composer.json
vendored
@ -1,7 +1,14 @@
|
||||
{
|
||||
"name": "lcobucci/jwt",
|
||||
"description": "A simple library to work with JSON Web Token and JSON Web Signature",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"type": "library",
|
||||
"keywords": [
|
||||
"JWT",
|
||||
"JWS"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Luís Cobucci",
|
||||
@ -9,31 +16,27 @@
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"keywords": [
|
||||
"JWT",
|
||||
"JWS"
|
||||
],
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"require": {
|
||||
"php": "^7.4 || ^8.0",
|
||||
"ext-hash": "*",
|
||||
"ext-json": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-openssl": "*",
|
||||
"lcobucci/clock": "^2.0"
|
||||
"ext-sodium": "*",
|
||||
"lcobucci/clock": "^2.0 || ^3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"infection/infection": "^0.20",
|
||||
"infection/infection": "^0.21",
|
||||
"lcobucci/coding-standard": "^6.0",
|
||||
"mikey179/vfsstream": "^1.6",
|
||||
"phpbench/phpbench": "^0.17",
|
||||
"mikey179/vfsstream": "^1.6.7",
|
||||
"phpbench/phpbench": "^1.2",
|
||||
"phpstan/extension-installer": "^1.0",
|
||||
"phpstan/phpstan": "^0.12",
|
||||
"phpstan/phpstan-deprecation-rules": "^0.12",
|
||||
"phpstan/phpstan-phpunit": "^0.12",
|
||||
"phpstan/phpstan-strict-rules": "^0.12",
|
||||
"phpstan/phpstan": "^1.4",
|
||||
"phpstan/phpstan-deprecation-rules": "^1.0",
|
||||
"phpstan/phpstan-phpunit": "^1.0",
|
||||
"phpstan/phpstan-strict-rules": "^1.0",
|
||||
"phpunit/php-invoker": "^3.1",
|
||||
"phpunit/phpunit": "^9.4"
|
||||
"phpunit/phpunit": "^9.5"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
@ -51,12 +54,13 @@
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"allow-plugins": {
|
||||
"dealerdirect/phpcodesniffer-composer-installer": true,
|
||||
"phpstan/extension-installer": true,
|
||||
"infection/extension-installer": true,
|
||||
"ocramius/package-versions": true
|
||||
},
|
||||
"preferred-install": "dist",
|
||||
"sort-packages": true
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "4.0-dev"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
1
vendor/lcobucci/jwt/src/Configuration.php
vendored
1
vendor/lcobucci/jwt/src/Configuration.php
vendored
@ -80,6 +80,7 @@ final class Configuration
|
||||
);
|
||||
}
|
||||
|
||||
/** @deprecated Deprecated since v4.3 */
|
||||
public static function forUnsecuredSigner(
|
||||
?Encoder $encoder = null,
|
||||
?Decoder $decoder = null
|
||||
|
@ -20,6 +20,11 @@ final class ChainedFormatter implements ClaimsFormatter
|
||||
return new self(new UnifyAudience(), new MicrosecondBasedDateConversion());
|
||||
}
|
||||
|
||||
public static function withUnixTimestampDates(): self
|
||||
{
|
||||
return new self(new UnifyAudience(), new UnixTimestampDates());
|
||||
}
|
||||
|
||||
/** @inheritdoc */
|
||||
public function formatClaims(array $claims): array
|
||||
{
|
||||
|
23
vendor/lcobucci/jwt/src/Encoding/JoseEncoder.php
vendored
23
vendor/lcobucci/jwt/src/Encoding/JoseEncoder.php
vendored
@ -6,14 +6,10 @@ namespace Lcobucci\JWT\Encoding;
|
||||
use JsonException;
|
||||
use Lcobucci\JWT\Decoder;
|
||||
use Lcobucci\JWT\Encoder;
|
||||
use Lcobucci\JWT\SodiumBase64Polyfill;
|
||||
|
||||
use function base64_decode;
|
||||
use function base64_encode;
|
||||
use function is_string;
|
||||
use function json_decode;
|
||||
use function json_encode;
|
||||
use function rtrim;
|
||||
use function strtr;
|
||||
|
||||
use const JSON_THROW_ON_ERROR;
|
||||
use const JSON_UNESCAPED_SLASHES;
|
||||
@ -48,18 +44,17 @@ final class JoseEncoder implements Encoder, Decoder
|
||||
|
||||
public function base64UrlEncode(string $data): string
|
||||
{
|
||||
return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
|
||||
return SodiumBase64Polyfill::bin2base64(
|
||||
$data,
|
||||
SodiumBase64Polyfill::SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING
|
||||
);
|
||||
}
|
||||
|
||||
public function base64UrlDecode(string $data): string
|
||||
{
|
||||
// Padding isn't added back because it isn't strictly necessary for decoding with PHP
|
||||
$decodedContent = base64_decode(strtr($data, '-_', '+/'), true);
|
||||
|
||||
if (! is_string($decodedContent)) {
|
||||
throw CannotDecodeContent::invalidBase64String();
|
||||
}
|
||||
|
||||
return $decodedContent;
|
||||
return SodiumBase64Polyfill::base642bin(
|
||||
$data,
|
||||
SodiumBase64Polyfill::SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING
|
||||
);
|
||||
}
|
||||
}
|
||||
|
32
vendor/lcobucci/jwt/src/Encoding/UnixTimestampDates.php
vendored
Normal file
32
vendor/lcobucci/jwt/src/Encoding/UnixTimestampDates.php
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Encoding;
|
||||
|
||||
use DateTimeImmutable;
|
||||
use Lcobucci\JWT\ClaimsFormatter;
|
||||
use Lcobucci\JWT\Token\RegisteredClaims;
|
||||
|
||||
use function array_key_exists;
|
||||
|
||||
final class UnixTimestampDates implements ClaimsFormatter
|
||||
{
|
||||
/** @inheritdoc */
|
||||
public function formatClaims(array $claims): array
|
||||
{
|
||||
foreach (RegisteredClaims::DATE_CLAIMS as $claim) {
|
||||
if (! array_key_exists($claim, $claims)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$claims[$claim] = $this->convertDate($claims[$claim]);
|
||||
}
|
||||
|
||||
return $claims;
|
||||
}
|
||||
|
||||
private function convertDate(DateTimeImmutable $date): int
|
||||
{
|
||||
return $date->getTimestamp();
|
||||
}
|
||||
}
|
66
vendor/lcobucci/jwt/src/JwtFacade.php
vendored
Normal file
66
vendor/lcobucci/jwt/src/JwtFacade.php
vendored
Normal file
@ -0,0 +1,66 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT;
|
||||
|
||||
use Closure;
|
||||
use DateTimeImmutable;
|
||||
use Lcobucci\Clock\Clock;
|
||||
use Lcobucci\Clock\SystemClock;
|
||||
use Lcobucci\JWT\Encoding\ChainedFormatter;
|
||||
use Lcobucci\JWT\Encoding\JoseEncoder;
|
||||
use Lcobucci\JWT\Signer\Key;
|
||||
use Lcobucci\JWT\Validation\Constraint;
|
||||
use Lcobucci\JWT\Validation\SignedWith;
|
||||
use Lcobucci\JWT\Validation\ValidAt;
|
||||
use Lcobucci\JWT\Validation\Validator;
|
||||
|
||||
use function assert;
|
||||
|
||||
final class JwtFacade
|
||||
{
|
||||
private Parser $parser;
|
||||
private Clock $clock;
|
||||
|
||||
public function __construct(?Parser $parser = null, ?Clock $clock = null)
|
||||
{
|
||||
$this->parser = $parser ?? new Token\Parser(new JoseEncoder());
|
||||
$this->clock = $clock ?? SystemClock::fromSystemTimezone();
|
||||
}
|
||||
|
||||
/** @param Closure(Builder, DateTimeImmutable):Builder $customiseBuilder */
|
||||
public function issue(
|
||||
Signer $signer,
|
||||
Key $signingKey,
|
||||
Closure $customiseBuilder
|
||||
): UnencryptedToken {
|
||||
$builder = new Token\Builder(new JoseEncoder(), ChainedFormatter::withUnixTimestampDates());
|
||||
|
||||
$now = $this->clock->now();
|
||||
$builder
|
||||
->issuedAt($now)
|
||||
->canOnlyBeUsedAfter($now)
|
||||
->expiresAt($now->modify('+5 minutes'));
|
||||
|
||||
return $customiseBuilder($builder, $now)->getToken($signer, $signingKey);
|
||||
}
|
||||
|
||||
public function parse(
|
||||
string $jwt,
|
||||
SignedWith $signedWith,
|
||||
ValidAt $validAt,
|
||||
Constraint ...$constraints
|
||||
): UnencryptedToken {
|
||||
$token = $this->parser->parse($jwt);
|
||||
assert($token instanceof UnencryptedToken);
|
||||
|
||||
(new Validator())->assert(
|
||||
$token,
|
||||
$signedWith,
|
||||
$validAt,
|
||||
...$constraints
|
||||
);
|
||||
|
||||
return $token;
|
||||
}
|
||||
}
|
36
vendor/lcobucci/jwt/src/Signer/Blake2b.php
vendored
Normal file
36
vendor/lcobucci/jwt/src/Signer/Blake2b.php
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Signer;
|
||||
|
||||
use Lcobucci\JWT\Signer;
|
||||
|
||||
use function hash_equals;
|
||||
use function sodium_crypto_generichash;
|
||||
use function strlen;
|
||||
|
||||
final class Blake2b implements Signer
|
||||
{
|
||||
private const MINIMUM_KEY_LENGTH_IN_BITS = 256;
|
||||
|
||||
public function algorithmId(): string
|
||||
{
|
||||
return 'BLAKE2B';
|
||||
}
|
||||
|
||||
public function sign(string $payload, Key $key): string
|
||||
{
|
||||
$actualKeyLength = 8 * strlen($key->contents());
|
||||
|
||||
if ($actualKeyLength < self::MINIMUM_KEY_LENGTH_IN_BITS) {
|
||||
throw InvalidKeyProvided::tooShort(self::MINIMUM_KEY_LENGTH_IN_BITS, $actualKeyLength);
|
||||
}
|
||||
|
||||
return sodium_crypto_generichash($payload, $key->contents());
|
||||
}
|
||||
|
||||
public function verify(string $expected, string $payload, Key $key): bool
|
||||
{
|
||||
return hash_equals($expected, $this->sign($payload, $key));
|
||||
}
|
||||
}
|
@ -10,6 +10,6 @@ final class CannotSignPayload extends InvalidArgumentException implements Except
|
||||
{
|
||||
public static function errorHappened(string $error): self
|
||||
{
|
||||
return new self('There was an error while creating the signature: ' . $error);
|
||||
return new self('There was an error while creating the signature:' . $error);
|
||||
}
|
||||
}
|
||||
|
32
vendor/lcobucci/jwt/src/Signer/Ecdsa.php
vendored
32
vendor/lcobucci/jwt/src/Signer/Ecdsa.php
vendored
@ -12,42 +12,58 @@ abstract class Ecdsa extends OpenSSL
|
||||
{
|
||||
private SignatureConverter $converter;
|
||||
|
||||
public function __construct(SignatureConverter $converter)
|
||||
public function __construct(?SignatureConverter $converter = null)
|
||||
{
|
||||
$this->converter = $converter;
|
||||
$this->converter = $converter ?? new MultibyteStringConverter();
|
||||
}
|
||||
|
||||
/** @deprecated */
|
||||
public static function create(): Ecdsa
|
||||
{
|
||||
return new static(new MultibyteStringConverter()); // @phpstan-ignore-line
|
||||
return new static(); // @phpstan-ignore-line
|
||||
}
|
||||
|
||||
final public function sign(string $payload, Key $key): string
|
||||
{
|
||||
return $this->converter->fromAsn1(
|
||||
$this->createSignature($key->contents(), $key->passphrase(), $payload),
|
||||
$this->keyLength()
|
||||
$this->pointLength()
|
||||
);
|
||||
}
|
||||
|
||||
final public function verify(string $expected, string $payload, Key $key): bool
|
||||
{
|
||||
return $this->verifySignature(
|
||||
$this->converter->toAsn1($expected, $this->keyLength()),
|
||||
$this->converter->toAsn1($expected, $this->pointLength()),
|
||||
$payload,
|
||||
$key->contents()
|
||||
);
|
||||
}
|
||||
|
||||
final public function keyType(): int
|
||||
/** {@inheritdoc} */
|
||||
final protected function guardAgainstIncompatibleKey(int $type, int $lengthInBits): void
|
||||
{
|
||||
return OPENSSL_KEYTYPE_EC;
|
||||
if ($type !== OPENSSL_KEYTYPE_EC) {
|
||||
throw InvalidKeyProvided::incompatibleKeyType(
|
||||
self::KEY_TYPE_MAP[OPENSSL_KEYTYPE_EC],
|
||||
self::KEY_TYPE_MAP[$type],
|
||||
);
|
||||
}
|
||||
|
||||
$expectedKeyLength = $this->expectedKeyLength();
|
||||
|
||||
if ($lengthInBits !== $expectedKeyLength) {
|
||||
throw InvalidKeyProvided::incompatibleKeyLength($expectedKeyLength, $lengthInBits);
|
||||
}
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
abstract public function expectedKeyLength(): int;
|
||||
|
||||
/**
|
||||
* Returns the length of each point in the signature, so that we can calculate and verify R and S points properly
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
abstract public function keyLength(): int;
|
||||
abstract public function pointLength(): int;
|
||||
}
|
||||
|
@ -19,8 +19,13 @@ final class Sha256 extends Ecdsa
|
||||
return OPENSSL_ALGO_SHA256;
|
||||
}
|
||||
|
||||
public function keyLength(): int
|
||||
public function pointLength(): int
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
public function expectedKeyLength(): int
|
||||
{
|
||||
return 256;
|
||||
}
|
||||
}
|
||||
|
@ -19,8 +19,13 @@ final class Sha384 extends Ecdsa
|
||||
return OPENSSL_ALGO_SHA384;
|
||||
}
|
||||
|
||||
public function keyLength(): int
|
||||
public function pointLength(): int
|
||||
{
|
||||
return 96;
|
||||
}
|
||||
|
||||
public function expectedKeyLength(): int
|
||||
{
|
||||
return 384;
|
||||
}
|
||||
}
|
||||
|
@ -19,8 +19,13 @@ final class Sha512 extends Ecdsa
|
||||
return OPENSSL_ALGO_SHA512;
|
||||
}
|
||||
|
||||
public function keyLength(): int
|
||||
public function pointLength(): int
|
||||
{
|
||||
return 132;
|
||||
}
|
||||
|
||||
public function expectedKeyLength(): int
|
||||
{
|
||||
return 521;
|
||||
}
|
||||
}
|
||||
|
27
vendor/lcobucci/jwt/src/Signer/Ecdsa/UnsafeSha256.php
vendored
Normal file
27
vendor/lcobucci/jwt/src/Signer/Ecdsa/UnsafeSha256.php
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Signer\Ecdsa;
|
||||
|
||||
use Lcobucci\JWT\Signer\UnsafeEcdsa;
|
||||
|
||||
use const OPENSSL_ALGO_SHA256;
|
||||
|
||||
/** @deprecated Deprecated since v4.2 */
|
||||
final class UnsafeSha256 extends UnsafeEcdsa
|
||||
{
|
||||
public function algorithmId(): string
|
||||
{
|
||||
return 'ES256';
|
||||
}
|
||||
|
||||
public function algorithm(): int
|
||||
{
|
||||
return OPENSSL_ALGO_SHA256;
|
||||
}
|
||||
|
||||
public function pointLength(): int
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
}
|
27
vendor/lcobucci/jwt/src/Signer/Ecdsa/UnsafeSha384.php
vendored
Normal file
27
vendor/lcobucci/jwt/src/Signer/Ecdsa/UnsafeSha384.php
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Signer\Ecdsa;
|
||||
|
||||
use Lcobucci\JWT\Signer\UnsafeEcdsa;
|
||||
|
||||
use const OPENSSL_ALGO_SHA384;
|
||||
|
||||
/** @deprecated Deprecated since v4.2 */
|
||||
final class UnsafeSha384 extends UnsafeEcdsa
|
||||
{
|
||||
public function algorithmId(): string
|
||||
{
|
||||
return 'ES384';
|
||||
}
|
||||
|
||||
public function algorithm(): int
|
||||
{
|
||||
return OPENSSL_ALGO_SHA384;
|
||||
}
|
||||
|
||||
public function pointLength(): int
|
||||
{
|
||||
return 96;
|
||||
}
|
||||
}
|
27
vendor/lcobucci/jwt/src/Signer/Ecdsa/UnsafeSha512.php
vendored
Normal file
27
vendor/lcobucci/jwt/src/Signer/Ecdsa/UnsafeSha512.php
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Signer\Ecdsa;
|
||||
|
||||
use Lcobucci\JWT\Signer\UnsafeEcdsa;
|
||||
|
||||
use const OPENSSL_ALGO_SHA512;
|
||||
|
||||
/** @deprecated Deprecated since v4.2 */
|
||||
final class UnsafeSha512 extends UnsafeEcdsa
|
||||
{
|
||||
public function algorithmId(): string
|
||||
{
|
||||
return 'ES512';
|
||||
}
|
||||
|
||||
public function algorithm(): int
|
||||
{
|
||||
return OPENSSL_ALGO_SHA512;
|
||||
}
|
||||
|
||||
public function pointLength(): int
|
||||
{
|
||||
return 132;
|
||||
}
|
||||
}
|
36
vendor/lcobucci/jwt/src/Signer/Eddsa.php
vendored
Normal file
36
vendor/lcobucci/jwt/src/Signer/Eddsa.php
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Signer;
|
||||
|
||||
use Lcobucci\JWT\Signer;
|
||||
use SodiumException;
|
||||
|
||||
use function sodium_crypto_sign_detached;
|
||||
use function sodium_crypto_sign_verify_detached;
|
||||
|
||||
final class Eddsa implements Signer
|
||||
{
|
||||
public function algorithmId(): string
|
||||
{
|
||||
return 'EdDSA';
|
||||
}
|
||||
|
||||
public function sign(string $payload, Key $key): string
|
||||
{
|
||||
try {
|
||||
return sodium_crypto_sign_detached($payload, $key->contents());
|
||||
} catch (SodiumException $sodiumException) {
|
||||
throw new InvalidKeyProvided($sodiumException->getMessage(), 0, $sodiumException);
|
||||
}
|
||||
}
|
||||
|
||||
public function verify(string $expected, string $payload, Key $key): bool
|
||||
{
|
||||
try {
|
||||
return sodium_crypto_sign_verify_detached($expected, $payload, $key->contents());
|
||||
} catch (SodiumException $sodiumException) {
|
||||
throw new InvalidKeyProvided($sodiumException->getMessage(), 0, $sodiumException);
|
||||
}
|
||||
}
|
||||
}
|
10
vendor/lcobucci/jwt/src/Signer/Hmac.php
vendored
10
vendor/lcobucci/jwt/src/Signer/Hmac.php
vendored
@ -7,11 +7,18 @@ use Lcobucci\JWT\Signer;
|
||||
|
||||
use function hash_equals;
|
||||
use function hash_hmac;
|
||||
use function strlen;
|
||||
|
||||
abstract class Hmac implements Signer
|
||||
{
|
||||
final public function sign(string $payload, Key $key): string
|
||||
{
|
||||
$actualKeyLength = 8 * strlen($key->contents());
|
||||
$expectedKeyLength = $this->minimumBitsLengthForKey();
|
||||
if ($actualKeyLength < $expectedKeyLength) {
|
||||
throw InvalidKeyProvided::tooShort($expectedKeyLength, $actualKeyLength);
|
||||
}
|
||||
|
||||
return hash_hmac($this->algorithm(), $payload, $key->contents(), true);
|
||||
}
|
||||
|
||||
@ -21,4 +28,7 @@ abstract class Hmac implements Signer
|
||||
}
|
||||
|
||||
abstract public function algorithm(): string;
|
||||
|
||||
/** @return positive-int */
|
||||
abstract public function minimumBitsLengthForKey(): int;
|
||||
}
|
||||
|
@ -16,4 +16,9 @@ final class Sha256 extends Hmac
|
||||
{
|
||||
return 'sha256';
|
||||
}
|
||||
|
||||
public function minimumBitsLengthForKey(): int
|
||||
{
|
||||
return 256;
|
||||
}
|
||||
}
|
||||
|
@ -16,4 +16,9 @@ final class Sha384 extends Hmac
|
||||
{
|
||||
return 'sha384';
|
||||
}
|
||||
|
||||
public function minimumBitsLengthForKey(): int
|
||||
{
|
||||
return 384;
|
||||
}
|
||||
}
|
||||
|
@ -16,4 +16,9 @@ final class Sha512 extends Hmac
|
||||
{
|
||||
return 'sha512';
|
||||
}
|
||||
|
||||
public function minimumBitsLengthForKey(): int
|
||||
{
|
||||
return 512;
|
||||
}
|
||||
}
|
||||
|
25
vendor/lcobucci/jwt/src/Signer/Hmac/UnsafeSha256.php
vendored
Normal file
25
vendor/lcobucci/jwt/src/Signer/Hmac/UnsafeSha256.php
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Signer\Hmac;
|
||||
|
||||
use Lcobucci\JWT\Signer\Hmac;
|
||||
|
||||
/** @deprecated Deprecated since v4.2 */
|
||||
final class UnsafeSha256 extends Hmac
|
||||
{
|
||||
public function algorithmId(): string
|
||||
{
|
||||
return 'HS256';
|
||||
}
|
||||
|
||||
public function algorithm(): string
|
||||
{
|
||||
return 'sha256';
|
||||
}
|
||||
|
||||
public function minimumBitsLengthForKey(): int
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
25
vendor/lcobucci/jwt/src/Signer/Hmac/UnsafeSha384.php
vendored
Normal file
25
vendor/lcobucci/jwt/src/Signer/Hmac/UnsafeSha384.php
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Signer\Hmac;
|
||||
|
||||
use Lcobucci\JWT\Signer\Hmac;
|
||||
|
||||
/** @deprecated Deprecated since v4.2 */
|
||||
final class UnsafeSha384 extends Hmac
|
||||
{
|
||||
public function algorithmId(): string
|
||||
{
|
||||
return 'HS384';
|
||||
}
|
||||
|
||||
public function algorithm(): string
|
||||
{
|
||||
return 'sha384';
|
||||
}
|
||||
|
||||
public function minimumBitsLengthForKey(): int
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
25
vendor/lcobucci/jwt/src/Signer/Hmac/UnsafeSha512.php
vendored
Normal file
25
vendor/lcobucci/jwt/src/Signer/Hmac/UnsafeSha512.php
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Signer\Hmac;
|
||||
|
||||
use Lcobucci\JWT\Signer\Hmac;
|
||||
|
||||
/** @deprecated Deprecated since v4.2 */
|
||||
final class UnsafeSha512 extends Hmac
|
||||
{
|
||||
public function algorithmId(): string
|
||||
{
|
||||
return 'HS512';
|
||||
}
|
||||
|
||||
public function algorithm(): string
|
||||
{
|
||||
return 'sha512';
|
||||
}
|
||||
|
||||
public function minimumBitsLengthForKey(): int
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
@ -10,11 +10,33 @@ final class InvalidKeyProvided extends InvalidArgumentException implements Excep
|
||||
{
|
||||
public static function cannotBeParsed(string $details): self
|
||||
{
|
||||
return new self('It was not possible to parse your key, reason: ' . $details);
|
||||
return new self('It was not possible to parse your key, reason:' . $details);
|
||||
}
|
||||
|
||||
public static function incompatibleKey(): self
|
||||
public static function incompatibleKeyType(string $expectedType, string $actualType): self
|
||||
{
|
||||
return new self('This key is not compatible with this signer');
|
||||
return new self(
|
||||
'The type of the provided key is not "' . $expectedType
|
||||
. '", "' . $actualType . '" provided'
|
||||
);
|
||||
}
|
||||
|
||||
public static function incompatibleKeyLength(int $expectedLength, int $actualLength): self
|
||||
{
|
||||
return new self(
|
||||
'The length of the provided key is different than ' . $expectedLength . ' bits, '
|
||||
. $actualLength . ' bits provided'
|
||||
);
|
||||
}
|
||||
|
||||
public static function cannotBeEmpty(): self
|
||||
{
|
||||
return new self('Key cannot be empty');
|
||||
}
|
||||
|
||||
public static function tooShort(int $expectedLength, int $actualLength): self
|
||||
{
|
||||
return new self('Key provided is shorter than ' . $expectedLength . ' bits,'
|
||||
. ' only ' . $actualLength . ' bits provided');
|
||||
}
|
||||
}
|
||||
|
30
vendor/lcobucci/jwt/src/Signer/Key/InMemory.php
vendored
30
vendor/lcobucci/jwt/src/Signer/Key/InMemory.php
vendored
@ -3,13 +3,13 @@ declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Signer\Key;
|
||||
|
||||
use Lcobucci\JWT\Encoding\CannotDecodeContent;
|
||||
use Lcobucci\JWT\Signer\InvalidKeyProvided;
|
||||
use Lcobucci\JWT\Signer\Key;
|
||||
use Lcobucci\JWT\SodiumBase64Polyfill;
|
||||
use SplFileObject;
|
||||
use Throwable;
|
||||
|
||||
use function assert;
|
||||
use function base64_decode;
|
||||
use function is_string;
|
||||
|
||||
final class InMemory implements Key
|
||||
@ -17,30 +17,43 @@ final class InMemory implements Key
|
||||
private string $contents;
|
||||
private string $passphrase;
|
||||
|
||||
/** @param non-empty-string $contents */
|
||||
private function __construct(string $contents, string $passphrase)
|
||||
{
|
||||
// @phpstan-ignore-next-line
|
||||
if ($contents === '') {
|
||||
throw InvalidKeyProvided::cannotBeEmpty();
|
||||
}
|
||||
|
||||
$this->contents = $contents;
|
||||
$this->passphrase = $passphrase;
|
||||
}
|
||||
|
||||
/** @deprecated Deprecated since v4.3 */
|
||||
public static function empty(): self
|
||||
{
|
||||
return new self('', '');
|
||||
$emptyKey = new self('empty', 'empty');
|
||||
$emptyKey->contents = '';
|
||||
$emptyKey->passphrase = '';
|
||||
|
||||
return $emptyKey;
|
||||
}
|
||||
|
||||
/** @param non-empty-string $contents */
|
||||
public static function plainText(string $contents, string $passphrase = ''): self
|
||||
{
|
||||
return new self($contents, $passphrase);
|
||||
}
|
||||
|
||||
/** @param non-empty-string $contents */
|
||||
public static function base64Encoded(string $contents, string $passphrase = ''): self
|
||||
{
|
||||
$decoded = base64_decode($contents, true);
|
||||
|
||||
if ($decoded === false) {
|
||||
throw CannotDecodeContent::invalidBase64String();
|
||||
}
|
||||
$decoded = SodiumBase64Polyfill::base642bin(
|
||||
$contents,
|
||||
SodiumBase64Polyfill::SODIUM_BASE64_VARIANT_ORIGINAL
|
||||
);
|
||||
|
||||
// @phpstan-ignore-next-line
|
||||
return new self($decoded, $passphrase);
|
||||
}
|
||||
|
||||
@ -55,6 +68,7 @@ final class InMemory implements Key
|
||||
|
||||
$contents = $file->fread($file->getSize());
|
||||
assert(is_string($contents));
|
||||
assert($contents !== '');
|
||||
|
||||
return new self($contents, $passphrase);
|
||||
}
|
||||
|
1
vendor/lcobucci/jwt/src/Signer/None.php
vendored
1
vendor/lcobucci/jwt/src/Signer/None.php
vendored
@ -5,6 +5,7 @@ namespace Lcobucci\JWT\Signer;
|
||||
|
||||
use Lcobucci\JWT\Signer;
|
||||
|
||||
/** @deprecated Deprecated since v4.3 */
|
||||
final class None implements Signer
|
||||
{
|
||||
public function algorithmId(): string
|
||||
|
55
vendor/lcobucci/jwt/src/Signer/OpenSSL.php
vendored
55
vendor/lcobucci/jwt/src/Signer/OpenSSL.php
vendored
@ -10,7 +10,7 @@ use function array_key_exists;
|
||||
use function assert;
|
||||
use function is_array;
|
||||
use function is_bool;
|
||||
use function is_string;
|
||||
use function is_int;
|
||||
use function openssl_error_string;
|
||||
use function openssl_free_key;
|
||||
use function openssl_pkey_get_details;
|
||||
@ -19,8 +19,21 @@ use function openssl_pkey_get_public;
|
||||
use function openssl_sign;
|
||||
use function openssl_verify;
|
||||
|
||||
use const OPENSSL_KEYTYPE_DH;
|
||||
use const OPENSSL_KEYTYPE_DSA;
|
||||
use const OPENSSL_KEYTYPE_EC;
|
||||
use const OPENSSL_KEYTYPE_RSA;
|
||||
use const PHP_EOL;
|
||||
|
||||
abstract class OpenSSL implements Signer
|
||||
{
|
||||
protected const KEY_TYPE_MAP = [
|
||||
OPENSSL_KEYTYPE_RSA => 'RSA',
|
||||
OPENSSL_KEYTYPE_DSA => 'DSA',
|
||||
OPENSSL_KEYTYPE_DH => 'DH',
|
||||
OPENSSL_KEYTYPE_EC => 'EC',
|
||||
];
|
||||
|
||||
/**
|
||||
* @throws CannotSignPayload
|
||||
* @throws InvalidKeyProvided
|
||||
@ -36,10 +49,7 @@ abstract class OpenSSL implements Signer
|
||||
$signature = '';
|
||||
|
||||
if (! openssl_sign($payload, $signature, $key, $this->algorithm())) {
|
||||
$error = openssl_error_string();
|
||||
assert(is_string($error));
|
||||
|
||||
throw CannotSignPayload::errorHappened($error);
|
||||
throw CannotSignPayload::errorHappened($this->fullOpenSSLErrorString());
|
||||
}
|
||||
|
||||
return $signature;
|
||||
@ -97,20 +107,34 @@ abstract class OpenSSL implements Signer
|
||||
private function validateKey($key): void
|
||||
{
|
||||
if (is_bool($key)) {
|
||||
$error = openssl_error_string();
|
||||
assert(is_string($error));
|
||||
|
||||
throw InvalidKeyProvided::cannotBeParsed($error);
|
||||
throw InvalidKeyProvided::cannotBeParsed($this->fullOpenSSLErrorString());
|
||||
}
|
||||
|
||||
$details = openssl_pkey_get_details($key);
|
||||
assert(is_array($details));
|
||||
|
||||
if (! array_key_exists('key', $details) || $details['type'] !== $this->keyType()) {
|
||||
throw InvalidKeyProvided::incompatibleKey();
|
||||
}
|
||||
assert(array_key_exists('bits', $details));
|
||||
assert(is_int($details['bits']));
|
||||
assert(array_key_exists('type', $details));
|
||||
assert(is_int($details['type']));
|
||||
|
||||
$this->guardAgainstIncompatibleKey($details['type'], $details['bits']);
|
||||
}
|
||||
|
||||
private function fullOpenSSLErrorString(): string
|
||||
{
|
||||
$error = '';
|
||||
|
||||
while ($msg = openssl_error_string()) {
|
||||
$error .= PHP_EOL . '* ' . $msg;
|
||||
}
|
||||
|
||||
return $error;
|
||||
}
|
||||
|
||||
/** @throws InvalidKeyProvided */
|
||||
abstract protected function guardAgainstIncompatibleKey(int $type, int $lengthInBits): void;
|
||||
|
||||
/** @param resource|OpenSSLAsymmetricKey $key */
|
||||
private function freeKey($key): void
|
||||
{
|
||||
@ -121,13 +145,6 @@ abstract class OpenSSL implements Signer
|
||||
openssl_free_key($key); // Deprecated and no longer necessary as of PHP >= 8.0
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the type of key to be used to create/verify the signature (using OpenSSL constants)
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
abstract public function keyType(): int;
|
||||
|
||||
/**
|
||||
* Returns which algorithm to be used to create/verify the signature (using OpenSSL constants)
|
||||
*
|
||||
|
15
vendor/lcobucci/jwt/src/Signer/Rsa.php
vendored
15
vendor/lcobucci/jwt/src/Signer/Rsa.php
vendored
@ -7,6 +7,8 @@ use const OPENSSL_KEYTYPE_RSA;
|
||||
|
||||
abstract class Rsa extends OpenSSL
|
||||
{
|
||||
private const MINIMUM_KEY_LENGTH = 2048;
|
||||
|
||||
final public function sign(string $payload, Key $key): string
|
||||
{
|
||||
return $this->createSignature($key->contents(), $key->passphrase(), $payload);
|
||||
@ -17,8 +19,17 @@ abstract class Rsa extends OpenSSL
|
||||
return $this->verifySignature($expected, $payload, $key->contents());
|
||||
}
|
||||
|
||||
final public function keyType(): int
|
||||
final protected function guardAgainstIncompatibleKey(int $type, int $lengthInBits): void
|
||||
{
|
||||
return OPENSSL_KEYTYPE_RSA;
|
||||
if ($type !== OPENSSL_KEYTYPE_RSA) {
|
||||
throw InvalidKeyProvided::incompatibleKeyType(
|
||||
self::KEY_TYPE_MAP[OPENSSL_KEYTYPE_RSA],
|
||||
self::KEY_TYPE_MAP[$type],
|
||||
);
|
||||
}
|
||||
|
||||
if ($lengthInBits < self::MINIMUM_KEY_LENGTH) {
|
||||
throw InvalidKeyProvided::tooShort(self::MINIMUM_KEY_LENGTH, $lengthInBits);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
22
vendor/lcobucci/jwt/src/Signer/Rsa/UnsafeSha256.php
vendored
Normal file
22
vendor/lcobucci/jwt/src/Signer/Rsa/UnsafeSha256.php
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Signer\Rsa;
|
||||
|
||||
use Lcobucci\JWT\Signer\UnsafeRsa;
|
||||
|
||||
use const OPENSSL_ALGO_SHA256;
|
||||
|
||||
/** @deprecated Deprecated since v4.2 */
|
||||
final class UnsafeSha256 extends UnsafeRsa
|
||||
{
|
||||
public function algorithmId(): string
|
||||
{
|
||||
return 'RS256';
|
||||
}
|
||||
|
||||
public function algorithm(): int
|
||||
{
|
||||
return OPENSSL_ALGO_SHA256;
|
||||
}
|
||||
}
|
22
vendor/lcobucci/jwt/src/Signer/Rsa/UnsafeSha384.php
vendored
Normal file
22
vendor/lcobucci/jwt/src/Signer/Rsa/UnsafeSha384.php
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Signer\Rsa;
|
||||
|
||||
use Lcobucci\JWT\Signer\UnsafeRsa;
|
||||
|
||||
use const OPENSSL_ALGO_SHA384;
|
||||
|
||||
/** @deprecated Deprecated since v4.2 */
|
||||
final class UnsafeSha384 extends UnsafeRsa
|
||||
{
|
||||
public function algorithmId(): string
|
||||
{
|
||||
return 'RS384';
|
||||
}
|
||||
|
||||
public function algorithm(): int
|
||||
{
|
||||
return OPENSSL_ALGO_SHA384;
|
||||
}
|
||||
}
|
22
vendor/lcobucci/jwt/src/Signer/Rsa/UnsafeSha512.php
vendored
Normal file
22
vendor/lcobucci/jwt/src/Signer/Rsa/UnsafeSha512.php
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Signer\Rsa;
|
||||
|
||||
use Lcobucci\JWT\Signer\UnsafeRsa;
|
||||
|
||||
use const OPENSSL_ALGO_SHA512;
|
||||
|
||||
/** @deprecated Deprecated since v4.2 */
|
||||
final class UnsafeSha512 extends UnsafeRsa
|
||||
{
|
||||
public function algorithmId(): string
|
||||
{
|
||||
return 'RS512';
|
||||
}
|
||||
|
||||
public function algorithm(): int
|
||||
{
|
||||
return OPENSSL_ALGO_SHA512;
|
||||
}
|
||||
}
|
60
vendor/lcobucci/jwt/src/Signer/UnsafeEcdsa.php
vendored
Normal file
60
vendor/lcobucci/jwt/src/Signer/UnsafeEcdsa.php
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Signer;
|
||||
|
||||
use Lcobucci\JWT\Signer\Ecdsa\MultibyteStringConverter;
|
||||
use Lcobucci\JWT\Signer\Ecdsa\SignatureConverter;
|
||||
|
||||
use const OPENSSL_KEYTYPE_EC;
|
||||
|
||||
/** @deprecated Deprecated since v4.2 */
|
||||
abstract class UnsafeEcdsa extends OpenSSL
|
||||
{
|
||||
private SignatureConverter $converter;
|
||||
|
||||
public function __construct(SignatureConverter $converter)
|
||||
{
|
||||
$this->converter = $converter;
|
||||
}
|
||||
|
||||
public static function create(): UnsafeEcdsa
|
||||
{
|
||||
return new static(new MultibyteStringConverter()); // @phpstan-ignore-line
|
||||
}
|
||||
|
||||
final public function sign(string $payload, Key $key): string
|
||||
{
|
||||
return $this->converter->fromAsn1(
|
||||
$this->createSignature($key->contents(), $key->passphrase(), $payload),
|
||||
$this->pointLength()
|
||||
);
|
||||
}
|
||||
|
||||
final public function verify(string $expected, string $payload, Key $key): bool
|
||||
{
|
||||
return $this->verifySignature(
|
||||
$this->converter->toAsn1($expected, $this->pointLength()),
|
||||
$payload,
|
||||
$key->contents()
|
||||
);
|
||||
}
|
||||
|
||||
// phpcs:ignore SlevomatCodingStandard.Functions.UnusedParameter.UnusedParameter
|
||||
final protected function guardAgainstIncompatibleKey(int $type, int $lengthInBits): void
|
||||
{
|
||||
if ($type !== OPENSSL_KEYTYPE_EC) {
|
||||
throw InvalidKeyProvided::incompatibleKeyType(
|
||||
self::KEY_TYPE_MAP[OPENSSL_KEYTYPE_EC],
|
||||
self::KEY_TYPE_MAP[$type],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the length of each point in the signature, so that we can calculate and verify R and S points properly
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
abstract public function pointLength(): int;
|
||||
}
|
31
vendor/lcobucci/jwt/src/Signer/UnsafeRsa.php
vendored
Normal file
31
vendor/lcobucci/jwt/src/Signer/UnsafeRsa.php
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Signer;
|
||||
|
||||
use const OPENSSL_KEYTYPE_RSA;
|
||||
|
||||
/** @deprecated Deprecated since v4.2 */
|
||||
abstract class UnsafeRsa extends OpenSSL
|
||||
{
|
||||
final public function sign(string $payload, Key $key): string
|
||||
{
|
||||
return $this->createSignature($key->contents(), $key->passphrase(), $payload);
|
||||
}
|
||||
|
||||
final public function verify(string $expected, string $payload, Key $key): bool
|
||||
{
|
||||
return $this->verifySignature($expected, $payload, $key->contents());
|
||||
}
|
||||
|
||||
// phpcs:ignore SlevomatCodingStandard.Functions.UnusedParameter.UnusedParameter
|
||||
final protected function guardAgainstIncompatibleKey(int $type, int $lengthInBits): void
|
||||
{
|
||||
if ($type !== OPENSSL_KEYTYPE_RSA) {
|
||||
throw InvalidKeyProvided::incompatibleKeyType(
|
||||
self::KEY_TYPE_MAP[OPENSSL_KEYTYPE_RSA],
|
||||
self::KEY_TYPE_MAP[$type],
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
88
vendor/lcobucci/jwt/src/SodiumBase64Polyfill.php
vendored
Normal file
88
vendor/lcobucci/jwt/src/SodiumBase64Polyfill.php
vendored
Normal file
@ -0,0 +1,88 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT;
|
||||
|
||||
use Lcobucci\JWT\Encoding\CannotDecodeContent;
|
||||
use SodiumException;
|
||||
|
||||
use function base64_decode;
|
||||
use function base64_encode;
|
||||
use function function_exists;
|
||||
use function is_string;
|
||||
use function rtrim;
|
||||
use function sodium_base642bin;
|
||||
use function sodium_bin2base64;
|
||||
use function strtr;
|
||||
|
||||
/** @internal */
|
||||
final class SodiumBase64Polyfill
|
||||
{
|
||||
public const SODIUM_BASE64_VARIANT_ORIGINAL = 1;
|
||||
public const SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING = 3;
|
||||
public const SODIUM_BASE64_VARIANT_URLSAFE = 5;
|
||||
public const SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING = 7;
|
||||
|
||||
public static function bin2base64(string $decoded, int $variant): string
|
||||
{
|
||||
if (! function_exists('sodium_bin2base64')) {
|
||||
return self::bin2base64Fallback($decoded, $variant); // @codeCoverageIgnore
|
||||
}
|
||||
|
||||
return sodium_bin2base64($decoded, $variant);
|
||||
}
|
||||
|
||||
public static function bin2base64Fallback(string $decoded, int $variant): string
|
||||
{
|
||||
$encoded = base64_encode($decoded);
|
||||
|
||||
if (
|
||||
$variant === self::SODIUM_BASE64_VARIANT_URLSAFE
|
||||
|| $variant === self::SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING
|
||||
) {
|
||||
$encoded = strtr($encoded, '+/', '-_');
|
||||
}
|
||||
|
||||
if (
|
||||
$variant === self::SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING
|
||||
|| $variant === self::SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING
|
||||
) {
|
||||
$encoded = rtrim($encoded, '=');
|
||||
}
|
||||
|
||||
return $encoded;
|
||||
}
|
||||
|
||||
/** @throws CannotDecodeContent */
|
||||
public static function base642bin(string $encoded, int $variant): string
|
||||
{
|
||||
if (! function_exists('sodium_base642bin')) {
|
||||
return self::base642binFallback($encoded, $variant); // @codeCoverageIgnore
|
||||
}
|
||||
|
||||
try {
|
||||
return sodium_base642bin($encoded, $variant, '');
|
||||
} catch (SodiumException $sodiumException) {
|
||||
throw CannotDecodeContent::invalidBase64String();
|
||||
}
|
||||
}
|
||||
|
||||
/** @throws CannotDecodeContent */
|
||||
public static function base642binFallback(string $encoded, int $variant): string
|
||||
{
|
||||
if (
|
||||
$variant === self::SODIUM_BASE64_VARIANT_URLSAFE
|
||||
|| $variant === self::SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING
|
||||
) {
|
||||
$encoded = strtr($encoded, '-_', '+/');
|
||||
}
|
||||
|
||||
$decoded = base64_decode($encoded, true);
|
||||
|
||||
if (! is_string($decoded)) {
|
||||
throw CannotDecodeContent::invalidBase64String();
|
||||
}
|
||||
|
||||
return $decoded;
|
||||
}
|
||||
}
|
4
vendor/lcobucci/jwt/src/Token/DataSet.php
vendored
4
vendor/lcobucci/jwt/src/Token/DataSet.php
vendored
@ -11,7 +11,7 @@ final class DataSet
|
||||
private array $data;
|
||||
private string $encoded;
|
||||
|
||||
/** @param mixed[] $data */
|
||||
/** @param array<string, mixed> $data */
|
||||
public function __construct(array $data, string $encoded)
|
||||
{
|
||||
$this->data = $data;
|
||||
@ -33,7 +33,7 @@ final class DataSet
|
||||
return array_key_exists($name, $this->data);
|
||||
}
|
||||
|
||||
/** @return mixed[] */
|
||||
/** @return array<string, mixed> */
|
||||
public function all(): array
|
||||
{
|
||||
return $this->data;
|
||||
|
4
vendor/lcobucci/jwt/src/Token/Plain.php
vendored
4
vendor/lcobucci/jwt/src/Token/Plain.php
vendored
@ -4,11 +4,11 @@ declare(strict_types=1);
|
||||
namespace Lcobucci\JWT\Token;
|
||||
|
||||
use DateTimeInterface;
|
||||
use Lcobucci\JWT\Token as TokenInterface;
|
||||
use Lcobucci\JWT\UnencryptedToken;
|
||||
|
||||
use function in_array;
|
||||
|
||||
final class Plain implements TokenInterface
|
||||
final class Plain implements UnencryptedToken
|
||||
{
|
||||
private DataSet $headers;
|
||||
private DataSet $claims;
|
||||
|
1
vendor/lcobucci/jwt/src/Token/Signature.php
vendored
1
vendor/lcobucci/jwt/src/Token/Signature.php
vendored
@ -14,6 +14,7 @@ final class Signature
|
||||
$this->encoded = $encoded;
|
||||
}
|
||||
|
||||
/** @deprecated Deprecated since v4.3 */
|
||||
public static function fromEmptyData(): self
|
||||
{
|
||||
return new self('', '');
|
||||
|
25
vendor/lcobucci/jwt/src/UnencryptedToken.php
vendored
Normal file
25
vendor/lcobucci/jwt/src/UnencryptedToken.php
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT;
|
||||
|
||||
use Lcobucci\JWT\Token\DataSet;
|
||||
use Lcobucci\JWT\Token\Signature;
|
||||
|
||||
interface UnencryptedToken extends Token
|
||||
{
|
||||
/**
|
||||
* Returns the token claims
|
||||
*/
|
||||
public function claims(): DataSet;
|
||||
|
||||
/**
|
||||
* Returns the token signature
|
||||
*/
|
||||
public function signature(): Signature;
|
||||
|
||||
/**
|
||||
* Returns the token payload
|
||||
*/
|
||||
public function payload(): string;
|
||||
}
|
17
vendor/lcobucci/jwt/src/Validation/Constraint/CannotValidateARegisteredClaim.php
vendored
Normal file
17
vendor/lcobucci/jwt/src/Validation/Constraint/CannotValidateARegisteredClaim.php
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Validation\Constraint;
|
||||
|
||||
use InvalidArgumentException;
|
||||
use Lcobucci\JWT\Exception;
|
||||
|
||||
final class CannotValidateARegisteredClaim extends InvalidArgumentException implements Exception
|
||||
{
|
||||
public static function create(string $claim): self
|
||||
{
|
||||
return new self(
|
||||
'The claim "' . $claim . '" is a registered claim, another constraint must be used to validate its value'
|
||||
);
|
||||
}
|
||||
}
|
50
vendor/lcobucci/jwt/src/Validation/Constraint/HasClaimWithValue.php
vendored
Normal file
50
vendor/lcobucci/jwt/src/Validation/Constraint/HasClaimWithValue.php
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Validation\Constraint;
|
||||
|
||||
use Lcobucci\JWT\Token;
|
||||
use Lcobucci\JWT\UnencryptedToken;
|
||||
use Lcobucci\JWT\Validation\Constraint;
|
||||
use Lcobucci\JWT\Validation\ConstraintViolation;
|
||||
|
||||
use function in_array;
|
||||
|
||||
final class HasClaimWithValue implements Constraint
|
||||
{
|
||||
private string $claim;
|
||||
|
||||
/** @var mixed */
|
||||
private $expectedValue;
|
||||
|
||||
/** @param mixed $expectedValue */
|
||||
public function __construct(string $claim, $expectedValue)
|
||||
{
|
||||
if (in_array($claim, Token\RegisteredClaims::ALL, true)) {
|
||||
throw CannotValidateARegisteredClaim::create($claim);
|
||||
}
|
||||
|
||||
$this->claim = $claim;
|
||||
$this->expectedValue = $expectedValue;
|
||||
}
|
||||
|
||||
public function assert(Token $token): void
|
||||
{
|
||||
if (! $token instanceof UnencryptedToken) {
|
||||
throw ConstraintViolation::error('You should pass a plain token', $this);
|
||||
}
|
||||
|
||||
$claims = $token->claims();
|
||||
|
||||
if (! $claims->has($this->claim)) {
|
||||
throw ConstraintViolation::error('The token does not have the claim "' . $this->claim . '"', $this);
|
||||
}
|
||||
|
||||
if ($claims->get($this->claim) !== $this->expectedValue) {
|
||||
throw ConstraintViolation::error(
|
||||
'The claim "' . $this->claim . '" does not have the expected value',
|
||||
$this
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
@ -19,8 +19,9 @@ final class IdentifiedBy implements Constraint
|
||||
public function assert(Token $token): void
|
||||
{
|
||||
if (! $token->isIdentifiedBy($this->id)) {
|
||||
throw new ConstraintViolation(
|
||||
'The token is not identified with the expected ID'
|
||||
throw ConstraintViolation::error(
|
||||
'The token is not identified with the expected ID',
|
||||
$this
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -20,8 +20,9 @@ final class IssuedBy implements Constraint
|
||||
public function assert(Token $token): void
|
||||
{
|
||||
if (! $token->hasBeenIssuedBy(...$this->issuers)) {
|
||||
throw new ConstraintViolation(
|
||||
'The token was not issued by the given issuers'
|
||||
throw ConstraintViolation::error(
|
||||
'The token was not issued by the given issuers',
|
||||
$this
|
||||
);
|
||||
}
|
||||
}
|
||||
|
69
vendor/lcobucci/jwt/src/Validation/Constraint/LooseValidAt.php
vendored
Normal file
69
vendor/lcobucci/jwt/src/Validation/Constraint/LooseValidAt.php
vendored
Normal file
@ -0,0 +1,69 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Validation\Constraint;
|
||||
|
||||
use DateInterval;
|
||||
use DateTimeInterface;
|
||||
use Lcobucci\Clock\Clock;
|
||||
use Lcobucci\JWT\Token;
|
||||
use Lcobucci\JWT\Validation\ConstraintViolation;
|
||||
use Lcobucci\JWT\Validation\ValidAt as ValidAtInterface;
|
||||
|
||||
final class LooseValidAt implements ValidAtInterface
|
||||
{
|
||||
private Clock $clock;
|
||||
private DateInterval $leeway;
|
||||
|
||||
public function __construct(Clock $clock, ?DateInterval $leeway = null)
|
||||
{
|
||||
$this->clock = $clock;
|
||||
$this->leeway = $this->guardLeeway($leeway);
|
||||
}
|
||||
|
||||
private function guardLeeway(?DateInterval $leeway): DateInterval
|
||||
{
|
||||
if ($leeway === null) {
|
||||
return new DateInterval('PT0S');
|
||||
}
|
||||
|
||||
if ($leeway->invert === 1) {
|
||||
throw LeewayCannotBeNegative::create();
|
||||
}
|
||||
|
||||
return $leeway;
|
||||
}
|
||||
|
||||
public function assert(Token $token): void
|
||||
{
|
||||
$now = $this->clock->now();
|
||||
|
||||
$this->assertIssueTime($token, $now->add($this->leeway));
|
||||
$this->assertMinimumTime($token, $now->add($this->leeway));
|
||||
$this->assertExpiration($token, $now->sub($this->leeway));
|
||||
}
|
||||
|
||||
/** @throws ConstraintViolation */
|
||||
private function assertExpiration(Token $token, DateTimeInterface $now): void
|
||||
{
|
||||
if ($token->isExpired($now)) {
|
||||
throw ConstraintViolation::error('The token is expired', $this);
|
||||
}
|
||||
}
|
||||
|
||||
/** @throws ConstraintViolation */
|
||||
private function assertMinimumTime(Token $token, DateTimeInterface $now): void
|
||||
{
|
||||
if (! $token->isMinimumTimeBefore($now)) {
|
||||
throw ConstraintViolation::error('The token cannot be used yet', $this);
|
||||
}
|
||||
}
|
||||
|
||||
/** @throws ConstraintViolation */
|
||||
private function assertIssueTime(Token $token, DateTimeInterface $now): void
|
||||
{
|
||||
if (! $token->hasBeenIssuedBefore($now)) {
|
||||
throw ConstraintViolation::error('The token was issued in the future', $this);
|
||||
}
|
||||
}
|
||||
}
|
@ -19,8 +19,9 @@ final class PermittedFor implements Constraint
|
||||
public function assert(Token $token): void
|
||||
{
|
||||
if (! $token->isPermittedFor($this->audience)) {
|
||||
throw new ConstraintViolation(
|
||||
'The token is not allowed to be used by this audience'
|
||||
throw ConstraintViolation::error(
|
||||
'The token is not allowed to be used by this audience',
|
||||
$this
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -19,8 +19,9 @@ final class RelatedTo implements Constraint
|
||||
public function assert(Token $token): void
|
||||
{
|
||||
if (! $token->isRelatedTo($this->subject)) {
|
||||
throw new ConstraintViolation(
|
||||
'The token is not related to the expected subject'
|
||||
throw ConstraintViolation::error(
|
||||
'The token is not related to the expected subject',
|
||||
$this
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -5,10 +5,11 @@ namespace Lcobucci\JWT\Validation\Constraint;
|
||||
|
||||
use Lcobucci\JWT\Signer;
|
||||
use Lcobucci\JWT\Token;
|
||||
use Lcobucci\JWT\Validation\Constraint;
|
||||
use Lcobucci\JWT\UnencryptedToken;
|
||||
use Lcobucci\JWT\Validation\ConstraintViolation;
|
||||
use Lcobucci\JWT\Validation\SignedWith as SignedWithInterface;
|
||||
|
||||
final class SignedWith implements Constraint
|
||||
final class SignedWith implements SignedWithInterface
|
||||
{
|
||||
private Signer $signer;
|
||||
private Signer\Key $key;
|
||||
@ -21,16 +22,16 @@ final class SignedWith implements Constraint
|
||||
|
||||
public function assert(Token $token): void
|
||||
{
|
||||
if (! $token instanceof Token\Plain) {
|
||||
throw new ConstraintViolation('You should pass a plain token');
|
||||
if (! $token instanceof UnencryptedToken) {
|
||||
throw ConstraintViolation::error('You should pass a plain token', $this);
|
||||
}
|
||||
|
||||
if ($token->headers()->get('alg') !== $this->signer->algorithmId()) {
|
||||
throw new ConstraintViolation('Token signer mismatch');
|
||||
throw ConstraintViolation::error('Token signer mismatch', $this);
|
||||
}
|
||||
|
||||
if (! $this->signer->verify($token->signature()->hash(), $token->payload(), $this->key)) {
|
||||
throw new ConstraintViolation('Token signature mismatch');
|
||||
throw ConstraintViolation::error('Token signature mismatch', $this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
86
vendor/lcobucci/jwt/src/Validation/Constraint/StrictValidAt.php
vendored
Normal file
86
vendor/lcobucci/jwt/src/Validation/Constraint/StrictValidAt.php
vendored
Normal file
@ -0,0 +1,86 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Validation\Constraint;
|
||||
|
||||
use DateInterval;
|
||||
use DateTimeInterface;
|
||||
use Lcobucci\Clock\Clock;
|
||||
use Lcobucci\JWT\Token;
|
||||
use Lcobucci\JWT\UnencryptedToken;
|
||||
use Lcobucci\JWT\Validation\ConstraintViolation;
|
||||
use Lcobucci\JWT\Validation\ValidAt as ValidAtInterface;
|
||||
|
||||
final class StrictValidAt implements ValidAtInterface
|
||||
{
|
||||
private Clock $clock;
|
||||
private DateInterval $leeway;
|
||||
|
||||
public function __construct(Clock $clock, ?DateInterval $leeway = null)
|
||||
{
|
||||
$this->clock = $clock;
|
||||
$this->leeway = $this->guardLeeway($leeway);
|
||||
}
|
||||
|
||||
private function guardLeeway(?DateInterval $leeway): DateInterval
|
||||
{
|
||||
if ($leeway === null) {
|
||||
return new DateInterval('PT0S');
|
||||
}
|
||||
|
||||
if ($leeway->invert === 1) {
|
||||
throw LeewayCannotBeNegative::create();
|
||||
}
|
||||
|
||||
return $leeway;
|
||||
}
|
||||
|
||||
public function assert(Token $token): void
|
||||
{
|
||||
if (! $token instanceof UnencryptedToken) {
|
||||
throw ConstraintViolation::error('You should pass a plain token', $this);
|
||||
}
|
||||
|
||||
$now = $this->clock->now();
|
||||
|
||||
$this->assertIssueTime($token, $now->add($this->leeway));
|
||||
$this->assertMinimumTime($token, $now->add($this->leeway));
|
||||
$this->assertExpiration($token, $now->sub($this->leeway));
|
||||
}
|
||||
|
||||
/** @throws ConstraintViolation */
|
||||
private function assertExpiration(UnencryptedToken $token, DateTimeInterface $now): void
|
||||
{
|
||||
if (! $token->claims()->has(Token\RegisteredClaims::EXPIRATION_TIME)) {
|
||||
throw ConstraintViolation::error('"Expiration Time" claim missing', $this);
|
||||
}
|
||||
|
||||
if ($token->isExpired($now)) {
|
||||
throw ConstraintViolation::error('The token is expired', $this);
|
||||
}
|
||||
}
|
||||
|
||||
/** @throws ConstraintViolation */
|
||||
private function assertMinimumTime(UnencryptedToken $token, DateTimeInterface $now): void
|
||||
{
|
||||
if (! $token->claims()->has(Token\RegisteredClaims::NOT_BEFORE)) {
|
||||
throw ConstraintViolation::error('"Not Before" claim missing', $this);
|
||||
}
|
||||
|
||||
if (! $token->isMinimumTimeBefore($now)) {
|
||||
throw ConstraintViolation::error('The token cannot be used yet', $this);
|
||||
}
|
||||
}
|
||||
|
||||
/** @throws ConstraintViolation */
|
||||
private function assertIssueTime(UnencryptedToken $token, DateTimeInterface $now): void
|
||||
{
|
||||
if (! $token->claims()->has(Token\RegisteredClaims::ISSUED_AT)) {
|
||||
throw ConstraintViolation::error('"Issued At" claim missing', $this);
|
||||
}
|
||||
|
||||
if (! $token->hasBeenIssuedBefore($now)) {
|
||||
throw ConstraintViolation::error('The token was issued in the future', $this);
|
||||
}
|
||||
}
|
||||
}
|
@ -4,66 +4,22 @@ declare(strict_types=1);
|
||||
namespace Lcobucci\JWT\Validation\Constraint;
|
||||
|
||||
use DateInterval;
|
||||
use DateTimeInterface;
|
||||
use Lcobucci\Clock\Clock;
|
||||
use Lcobucci\JWT\Token;
|
||||
use Lcobucci\JWT\Validation\Constraint;
|
||||
use Lcobucci\JWT\Validation\ConstraintViolation;
|
||||
|
||||
/** @deprecated Use \Lcobucci\JWT\Validation\Constraint\LooseValidAt */
|
||||
final class ValidAt implements Constraint
|
||||
{
|
||||
private Clock $clock;
|
||||
private DateInterval $leeway;
|
||||
private LooseValidAt $constraint;
|
||||
|
||||
public function __construct(Clock $clock, ?DateInterval $leeway = null)
|
||||
{
|
||||
$this->clock = $clock;
|
||||
$this->leeway = $this->guardLeeway($leeway);
|
||||
}
|
||||
|
||||
private function guardLeeway(?DateInterval $leeway): DateInterval
|
||||
{
|
||||
if ($leeway === null) {
|
||||
return new DateInterval('PT0S');
|
||||
}
|
||||
|
||||
if ($leeway->invert === 1) {
|
||||
throw LeewayCannotBeNegative::create();
|
||||
}
|
||||
|
||||
return $leeway;
|
||||
$this->constraint = new LooseValidAt($clock, $leeway);
|
||||
}
|
||||
|
||||
public function assert(Token $token): void
|
||||
{
|
||||
$now = $this->clock->now();
|
||||
|
||||
$this->assertIssueTime($token, $now->add($this->leeway));
|
||||
$this->assertMinimumTime($token, $now->add($this->leeway));
|
||||
$this->assertExpiration($token, $now->sub($this->leeway));
|
||||
}
|
||||
|
||||
/** @throws ConstraintViolation */
|
||||
private function assertExpiration(Token $token, DateTimeInterface $now): void
|
||||
{
|
||||
if ($token->isExpired($now)) {
|
||||
throw new ConstraintViolation('The token is expired');
|
||||
}
|
||||
}
|
||||
|
||||
/** @throws ConstraintViolation */
|
||||
private function assertMinimumTime(Token $token, DateTimeInterface $now): void
|
||||
{
|
||||
if (! $token->isMinimumTimeBefore($now)) {
|
||||
throw new ConstraintViolation('The token cannot be used yet');
|
||||
}
|
||||
}
|
||||
|
||||
/** @throws ConstraintViolation */
|
||||
private function assertIssueTime(Token $token, DateTimeInterface $now): void
|
||||
{
|
||||
if (! $token->hasBeenIssuedBefore($now)) {
|
||||
throw new ConstraintViolation('The token was issued in the future');
|
||||
}
|
||||
$this->constraint->assert($token);
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,21 @@ namespace Lcobucci\JWT\Validation;
|
||||
use Lcobucci\JWT\Exception;
|
||||
use RuntimeException;
|
||||
|
||||
use function get_class;
|
||||
|
||||
final class ConstraintViolation extends RuntimeException implements Exception
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var class-string<Constraint>|null
|
||||
*/
|
||||
public ?string $constraint = null;
|
||||
|
||||
public static function error(string $message, Constraint $constraint): self
|
||||
{
|
||||
$exception = new self($message);
|
||||
$exception->constraint = get_class($constraint);
|
||||
|
||||
return $exception;
|
||||
}
|
||||
}
|
||||
|
8
vendor/lcobucci/jwt/src/Validation/SignedWith.php
vendored
Normal file
8
vendor/lcobucci/jwt/src/Validation/SignedWith.php
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Validation;
|
||||
|
||||
interface SignedWith extends Constraint
|
||||
{
|
||||
}
|
8
vendor/lcobucci/jwt/src/Validation/ValidAt.php
vendored
Normal file
8
vendor/lcobucci/jwt/src/Validation/ValidAt.php
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Lcobucci\JWT\Validation;
|
||||
|
||||
interface ValidAt extends Constraint
|
||||
{
|
||||
}
|
9
vendor/phpmyadmin/sql-parser/CHANGELOG.md
vendored
9
vendor/phpmyadmin/sql-parser/CHANGELOG.md
vendored
@ -1,5 +1,14 @@
|
||||
# Change Log
|
||||
|
||||
## [5.8.1] - 2023-09-15
|
||||
|
||||
- Fix `:=` was not recognized as an operator just like `=` (#306)
|
||||
- Fix `ALTER TABLE … MODIFY … ENUM('<reserved_keyword>')` is being wrongly parsed (#234)
|
||||
- Fix `ALTER TABLE … MODIFY … ENUM('<reserved_keyword>')` is being wrongly parsed (#478)
|
||||
- Fix MariaDB window function with alias gives bad linting errors (#283)
|
||||
- Fix unrecognized keyword `COLLATE` in `WHERE` clauses (#491)
|
||||
- Fix invalid hexadecimal prefix 0X (#508)
|
||||
|
||||
## [5.8.0] - 2023-06-05
|
||||
|
||||
- Fix `ALTER EVENT RENAME TO` to use expression instead of var (#419)
|
||||
|
0
vendor/phpmyadmin/sql-parser/bin/highlight-query
vendored
Normal file → Executable file
0
vendor/phpmyadmin/sql-parser/bin/highlight-query
vendored
Normal file → Executable file
0
vendor/phpmyadmin/sql-parser/bin/lint-query
vendored
Normal file → Executable file
0
vendor/phpmyadmin/sql-parser/bin/lint-query
vendored
Normal file → Executable file
0
vendor/phpmyadmin/sql-parser/bin/tokenize-query
vendored
Normal file → Executable file
0
vendor/phpmyadmin/sql-parser/bin/tokenize-query
vendored
Normal file → Executable file
2
vendor/phpmyadmin/sql-parser/composer.json
vendored
2
vendor/phpmyadmin/sql-parser/composer.json
vendored
@ -37,7 +37,7 @@
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
||||
"psalm/plugin-phpunit": "^0.16.1",
|
||||
"vimeo/psalm": "^4.11",
|
||||
"zumba/json-serializer": "^3.0"
|
||||
"zumba/json-serializer": "~3.0.2"
|
||||
},
|
||||
"conflict": {
|
||||
"phpmyadmin/motranslator": "<3.0"
|
||||
|
@ -427,25 +427,32 @@ class AlterOperation extends Component
|
||||
break;
|
||||
}
|
||||
} elseif (! self::checkIfTokenQuotedSymbol($token)) {
|
||||
if (! empty(Parser::$STATEMENT_PARSERS[$token->value])) {
|
||||
// If the current token is "SET" or "ENUM", we want to avoid the token between their parenthesis in
|
||||
// the unknown tokens.
|
||||
if (in_array($token->value, ['SET', 'ENUM'], true)) {
|
||||
$list->idx++; // Ignore the current token
|
||||
$nextToken = $list->getNext();
|
||||
|
||||
if ($token->value === 'SET' && $nextToken !== null && $nextToken->value === '(') {
|
||||
// To avoid adding the tokens between the SET() parentheses to the unknown tokens
|
||||
if ($nextToken !== null && $nextToken->value === '(') {
|
||||
$list->getNextOfTypeAndValue(Token::TYPE_OPERATOR, ')');
|
||||
} elseif ($token->value === 'SET' && $nextToken !== null && $nextToken->value === 'DEFAULT') {
|
||||
} elseif ($nextToken !== null && $nextToken->value === 'DEFAULT') {
|
||||
// to avoid adding the `DEFAULT` token to the unknown tokens.
|
||||
++$list->idx;
|
||||
} else {
|
||||
// We have reached the end of ALTER operation and suddenly found
|
||||
// a start to new statement, but have not find a delimiter between them
|
||||
$parser->error(
|
||||
'A new statement was found, but no delimiter between it and the previous one.',
|
||||
$token
|
||||
);
|
||||
break;
|
||||
}
|
||||
} elseif (! empty(Parser::$STATEMENT_PARSERS[$token->value])) {
|
||||
// We have reached the end of ALTER operation and suddenly found
|
||||
// a start to new statement, but have not found a delimiter between them
|
||||
$parser->error(
|
||||
'A new statement was found, but no delimiter between it and the previous one.',
|
||||
$token
|
||||
);
|
||||
break;
|
||||
} elseif (
|
||||
(array_key_exists($arrayKey, self::$DB_OPTIONS)
|
||||
|| array_key_exists($arrayKey, self::$TABLE_OPTIONS))
|
||||
|
@ -43,6 +43,7 @@ class Condition extends Component
|
||||
'ALL' => 1,
|
||||
'AND' => 1,
|
||||
'BETWEEN' => 1,
|
||||
'COLLATE' => 1,
|
||||
'EXISTS' => 1,
|
||||
'IF' => 1,
|
||||
'IN' => 1,
|
||||
|
@ -367,7 +367,8 @@ class Expression extends Component
|
||||
&& (($prev[1]->type === Token::TYPE_STRING)
|
||||
|| ($prev[1]->type === Token::TYPE_SYMBOL
|
||||
&& ! ($prev[1]->flags & Token::FLAG_SYMBOL_VARIABLE))
|
||||
|| ($prev[1]->type === Token::TYPE_NONE))
|
||||
|| ($prev[1]->type === Token::TYPE_NONE
|
||||
&& $prev[1]->token !== 'OVER'))
|
||||
) {
|
||||
if (! empty($ret->alias)) {
|
||||
$parser->error('An alias was previously found.', $token);
|
||||
|
@ -10,6 +10,7 @@ use PhpMyAdmin\SqlParser\Token;
|
||||
use PhpMyAdmin\SqlParser\TokensList;
|
||||
|
||||
use function implode;
|
||||
use function in_array;
|
||||
use function is_array;
|
||||
use function trim;
|
||||
|
||||
@ -63,7 +64,7 @@ class SetOperation extends Component
|
||||
* Below are the states of the parser.
|
||||
*
|
||||
* 0 ---------------------[ col_name ]--------------------> 0
|
||||
* 0 ------------------------[ = ]------------------------> 1
|
||||
* 0 ---------------------[ = or := ]---------------------> 1
|
||||
* 1 -----------------------[ value ]---------------------> 1
|
||||
* 1 ------------------------[ , ]------------------------> 0
|
||||
*
|
||||
@ -104,7 +105,7 @@ class SetOperation extends Component
|
||||
}
|
||||
|
||||
if ($state === 0) {
|
||||
if ($token->token === '=') {
|
||||
if (in_array($token->token, ['=', ':='], true)) {
|
||||
$state = 1;
|
||||
} elseif ($token->value !== ',') {
|
||||
$expr->column .= $token->token;
|
||||
|
5
vendor/phpmyadmin/sql-parser/src/Lexer.php
vendored
5
vendor/phpmyadmin/sql-parser/src/Lexer.php
vendored
@ -851,10 +851,7 @@ class Lexer extends Core
|
||||
} elseif (
|
||||
$this->last + 1 < $this->len
|
||||
&& $this->str[$this->last] === '0'
|
||||
&& (
|
||||
$this->str[$this->last + 1] === 'x'
|
||||
|| $this->str[$this->last + 1] === 'X'
|
||||
)
|
||||
&& $this->str[$this->last + 1] === 'x'
|
||||
) {
|
||||
$token .= $this->str[$this->last++];
|
||||
$state = 2;
|
||||
|
@ -12,6 +12,11 @@ use function class_exists;
|
||||
|
||||
class ContextTest extends TestCase
|
||||
{
|
||||
public static function tearDownAfterClass(): void
|
||||
{
|
||||
Context::setMode();
|
||||
}
|
||||
|
||||
public function testLoad(): void
|
||||
{
|
||||
// Default context is 5.7.0.
|
||||
|
@ -26,6 +26,7 @@ class BugsTest extends TestCase
|
||||
['bugs/gh14'],
|
||||
['bugs/gh16'],
|
||||
['bugs/gh317'],
|
||||
['bugs/gh508'],
|
||||
['bugs/pma11800'],
|
||||
['bugs/pma11836'],
|
||||
['bugs/pma11843'],
|
||||
|
@ -49,6 +49,9 @@ class AlterStatementTest extends TestCase
|
||||
['parser/parseAlterTableDropAddIndex1'],
|
||||
['parser/parseAlterTableDropColumn1'],
|
||||
['parser/parseAlterTableModifyColumn'],
|
||||
['parser/parseAlterTableModifyColumnEnum1'],
|
||||
['parser/parseAlterTableModifyColumnEnum2'],
|
||||
['parser/parseAlterTableModifyColumnEnum3'],
|
||||
['parser/parseAlterWithInvisible'],
|
||||
['parser/parseAlterTableCharacterSet1'],
|
||||
['parser/parseAlterTableCharacterSet2'],
|
||||
|
@ -46,6 +46,7 @@ class SelectStatementTest extends TestCase
|
||||
['parser/parseSelect14'],
|
||||
['parser/parseSelect15'],
|
||||
['parser/parseSelect16'],
|
||||
['parser/parseSelectAggregateWithPartitionAndAlias'],
|
||||
['parser/parseSelectErr1'],
|
||||
['parser/parseSelectErr2'],
|
||||
['parser/parseSelectNested'],
|
||||
@ -89,6 +90,7 @@ class SelectStatementTest extends TestCase
|
||||
['parser/parseSelectUnion'],
|
||||
['parser/parseSelectUnion2'],
|
||||
['parser/parseSelectWhere'],
|
||||
['parser/parseSelectWhereCollate'],
|
||||
['parser/parseSelectIndexHint1'],
|
||||
['parser/parseSelectIndexHint2'],
|
||||
['parser/parseSelectOrderByIsNull'],
|
||||
|
@ -32,6 +32,7 @@ class SetStatementTest extends TestCase
|
||||
['parser/parseSetError1'],
|
||||
['parser/parseInsertIntoSet'],
|
||||
['parser/parseSetVariable'],
|
||||
['parser/parseSetVariable2'],
|
||||
['parser/parseSetGlobalVariable'],
|
||||
];
|
||||
}
|
||||
|
1
vendor/phpmyadmin/sql-parser/tests/data/bugs/gh508.in
vendored
Normal file
1
vendor/phpmyadmin/sql-parser/tests/data/bugs/gh508.in
vendored
Normal file
@ -0,0 +1 @@
|
||||
0X0F
|
60
vendor/phpmyadmin/sql-parser/tests/data/bugs/gh508.out
vendored
Normal file
60
vendor/phpmyadmin/sql-parser/tests/data/bugs/gh508.out
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
{
|
||||
"query": "0X0F",
|
||||
"lexer": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Lexer",
|
||||
"str": "0X0F",
|
||||
"len": 4,
|
||||
"last": 4,
|
||||
"list": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\TokensList",
|
||||
"tokens": [
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "0X0F",
|
||||
"value": "0X0F",
|
||||
"keyword": null,
|
||||
"type": 0,
|
||||
"flags": 0,
|
||||
"position": 0
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": null,
|
||||
"value": null,
|
||||
"keyword": null,
|
||||
"type": 9,
|
||||
"flags": 0,
|
||||
"position": null
|
||||
}
|
||||
],
|
||||
"count": 2,
|
||||
"idx": 2
|
||||
},
|
||||
"delimiter": ";",
|
||||
"delimiterLen": 1,
|
||||
"strict": false,
|
||||
"errors": []
|
||||
},
|
||||
"parser": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Parser",
|
||||
"list": {
|
||||
"@type": "@1"
|
||||
},
|
||||
"statements": [],
|
||||
"brackets": 0,
|
||||
"strict": false,
|
||||
"errors": []
|
||||
},
|
||||
"errors": {
|
||||
"lexer": [],
|
||||
"parser": [
|
||||
[
|
||||
"Unexpected beginning of statement.",
|
||||
{
|
||||
"@type": "@2"
|
||||
},
|
||||
0
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
@ -1,3 +1,3 @@
|
||||
SELECT 12, 34, 5.67, 0x89, -10, --11, +12, .15, 0xFFa, 0xfFA, 0XFfA, -0xFFa, -0xfFA, -0XFfA, 1e-10, 1e10, .5e10, b'10';
|
||||
-- invalid number
|
||||
SELECT 12ex10, b'15';
|
||||
SELECT 12, 34, 5.67, 0x89, -10, --11, +12, .15, 0xFFa, 0xfFA, -0xFFa, -0xfFA, 1e-10, 1e10, .5e10, b'10';
|
||||
-- invalid numbers
|
||||
SELECT 12ex10, b'15', 0XFfA, -0XFfA;
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"query": "SELECT 12, 34, 5.67, 0x89, -10, --11, +12, .15, 0xFFa, 0xfFA, 0XFfA, -0xFFa, -0xfFA, -0XFfA, 1e-10, 1e10, .5e10, b'10';\n-- invalid number\nSELECT 12ex10, b'15';",
|
||||
"query": "SELECT 12, 34, 5.67, 0x89, -10, --11, +12, .15, 0xFFa, 0xfFA, -0xFFa, -0xfFA, 1e-10, 1e10, .5e10, b'10';\n-- invalid numbers\nSELECT 12ex10, b'15', 0XFfA, -0XFfA;",
|
||||
"lexer": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Lexer",
|
||||
"str": "SELECT 12, 34, 5.67, 0x89, -10, --11, +12, .15, 0xFFa, 0xfFA, 0XFfA, -0xFFa, -0xfFA, -0XFfA, 1e-10, 1e10, .5e10, b'10';\n-- invalid number\nSELECT 12ex10, b'15';",
|
||||
"len": 159,
|
||||
"last": 159,
|
||||
"str": "SELECT 12, 34, 5.67, 0x89, -10, --11, +12, .15, 0xFFa, 0xfFA, -0xFFa, -0xfFA, 1e-10, 1e10, .5e10, b'10';\n-- invalid numbers\nSELECT 12ex10, b'15', 0XFfA, -0XFfA;",
|
||||
"len": 160,
|
||||
"last": 160,
|
||||
"list": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\TokensList",
|
||||
"tokens": [
|
||||
@ -298,11 +298,11 @@
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "0XFfA",
|
||||
"value": 4090,
|
||||
"token": "-0xFFa",
|
||||
"value": -4090,
|
||||
"keyword": null,
|
||||
"type": 6,
|
||||
"flags": 1,
|
||||
"flags": 9,
|
||||
"position": 62
|
||||
},
|
||||
{
|
||||
@ -312,35 +312,8 @@
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 67
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 68
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "-0xFFa",
|
||||
"value": -4090,
|
||||
"keyword": null,
|
||||
"type": 6,
|
||||
"flags": 9,
|
||||
"position": 69
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ",",
|
||||
"value": ",",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 75
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
@ -348,7 +321,7 @@
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 76
|
||||
"position": 69
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
@ -357,8 +330,35 @@
|
||||
"keyword": null,
|
||||
"type": 6,
|
||||
"flags": 9,
|
||||
"position": 70
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ",",
|
||||
"value": ",",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 76
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 77
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "1e-10",
|
||||
"value": 1.0e-10,
|
||||
"keyword": null,
|
||||
"type": 6,
|
||||
"flags": 4,
|
||||
"position": 78
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ",",
|
||||
@ -379,11 +379,11 @@
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "-0XFfA",
|
||||
"value": -4090,
|
||||
"token": "1e10",
|
||||
"value": 10000000000.0,
|
||||
"keyword": null,
|
||||
"type": 6,
|
||||
"flags": 9,
|
||||
"flags": 4,
|
||||
"position": 85
|
||||
},
|
||||
{
|
||||
@ -393,7 +393,7 @@
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 91
|
||||
"position": 89
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
@ -402,61 +402,7 @@
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 92
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "1e-10",
|
||||
"value": 1.0e-10,
|
||||
"keyword": null,
|
||||
"type": 6,
|
||||
"flags": 4,
|
||||
"position": 93
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ",",
|
||||
"value": ",",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 98
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 99
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "1e10",
|
||||
"value": 10000000000.0,
|
||||
"keyword": null,
|
||||
"type": 6,
|
||||
"flags": 4,
|
||||
"position": 100
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ",",
|
||||
"value": ",",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 104
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 105
|
||||
"position": 90
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
@ -465,7 +411,7 @@
|
||||
"keyword": null,
|
||||
"type": 6,
|
||||
"flags": 6,
|
||||
"position": 106
|
||||
"position": 91
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
@ -474,7 +420,7 @@
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 111
|
||||
"position": 96
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
@ -483,7 +429,7 @@
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 112
|
||||
"position": 97
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
@ -492,7 +438,7 @@
|
||||
"keyword": null,
|
||||
"type": 6,
|
||||
"flags": 16,
|
||||
"position": 113
|
||||
"position": 98
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
@ -501,7 +447,7 @@
|
||||
"keyword": null,
|
||||
"type": 9,
|
||||
"flags": 0,
|
||||
"position": 118
|
||||
"position": 103
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
@ -510,16 +456,16 @@
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 119
|
||||
"position": 104
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "-- invalid number",
|
||||
"value": "-- invalid number",
|
||||
"token": "-- invalid numbers",
|
||||
"value": "-- invalid numbers",
|
||||
"keyword": null,
|
||||
"type": 4,
|
||||
"flags": 4,
|
||||
"position": 120
|
||||
"position": 105
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
@ -528,7 +474,7 @@
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 137
|
||||
"position": 123
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
@ -537,7 +483,7 @@
|
||||
"keyword": "SELECT",
|
||||
"type": 1,
|
||||
"flags": 3,
|
||||
"position": 138
|
||||
"position": 124
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
@ -546,7 +492,7 @@
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 144
|
||||
"position": 130
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
@ -555,8 +501,71 @@
|
||||
"keyword": null,
|
||||
"type": 0,
|
||||
"flags": 0,
|
||||
"position": 131
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ",",
|
||||
"value": ",",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 137
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 138
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "b",
|
||||
"value": "b",
|
||||
"keyword": null,
|
||||
"type": 0,
|
||||
"flags": 0,
|
||||
"position": 139
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "'15'",
|
||||
"value": "15",
|
||||
"keyword": null,
|
||||
"type": 7,
|
||||
"flags": 1,
|
||||
"position": 140
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ",",
|
||||
"value": ",",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 144
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 145
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "0XFfA",
|
||||
"value": "0XFfA",
|
||||
"keyword": null,
|
||||
"type": 0,
|
||||
"flags": 0,
|
||||
"position": 146
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ",",
|
||||
@ -577,20 +586,20 @@
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "b",
|
||||
"value": "b",
|
||||
"token": "-",
|
||||
"value": "-",
|
||||
"keyword": null,
|
||||
"type": 0,
|
||||
"flags": 0,
|
||||
"type": 2,
|
||||
"flags": 1,
|
||||
"position": 153
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "'15'",
|
||||
"value": "15",
|
||||
"token": "0XFfA",
|
||||
"value": "0XFfA",
|
||||
"keyword": null,
|
||||
"type": 7,
|
||||
"flags": 1,
|
||||
"type": 0,
|
||||
"flags": 0,
|
||||
"position": 154
|
||||
},
|
||||
{
|
||||
@ -600,7 +609,7 @@
|
||||
"keyword": null,
|
||||
"type": 9,
|
||||
"flags": 0,
|
||||
"position": 158
|
||||
"position": 159
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
@ -612,7 +621,7 @@
|
||||
"position": null
|
||||
}
|
||||
],
|
||||
"count": 67,
|
||||
"count": 68,
|
||||
"idx": 0
|
||||
},
|
||||
"delimiter": ";",
|
||||
|
@ -336,18 +336,6 @@
|
||||
{
|
||||
"@type": "@16"
|
||||
},
|
||||
{
|
||||
"@type": "@17"
|
||||
},
|
||||
{
|
||||
"@type": "@18"
|
||||
},
|
||||
{
|
||||
"@type": "@19"
|
||||
},
|
||||
{
|
||||
"@type": "@20"
|
||||
},
|
||||
{
|
||||
"@type": "@21"
|
||||
},
|
||||
|
2
vendor/phpmyadmin/sql-parser/tests/data/parser/parseAlterTableModifyColumnEnum1.in
vendored
Normal file
2
vendor/phpmyadmin/sql-parser/tests/data/parser/parseAlterTableModifyColumnEnum1.in
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
-- ENUM with a string that is a database option.
|
||||
ALTER TABLE `test_table` MODIFY `COL` ENUM("COLLATE") NULL;
|
275
vendor/phpmyadmin/sql-parser/tests/data/parser/parseAlterTableModifyColumnEnum1.out
vendored
Normal file
275
vendor/phpmyadmin/sql-parser/tests/data/parser/parseAlterTableModifyColumnEnum1.out
vendored
Normal file
@ -0,0 +1,275 @@
|
||||
{
|
||||
"query": "-- ENUM with a string that is a database option.\nALTER TABLE `test_table` MODIFY `COL` ENUM(\"COLLATE\") NULL;\n",
|
||||
"lexer": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Lexer",
|
||||
"str": "-- ENUM with a string that is a database option.\nALTER TABLE `test_table` MODIFY `COL` ENUM(\"COLLATE\") NULL;\n",
|
||||
"len": 109,
|
||||
"last": 109,
|
||||
"list": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\TokensList",
|
||||
"tokens": [
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "-- ENUM with a string that is a database option.",
|
||||
"value": "-- ENUM with a string that is a database option.",
|
||||
"keyword": null,
|
||||
"type": 4,
|
||||
"flags": 4,
|
||||
"position": 0
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "\n",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 48
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "ALTER",
|
||||
"value": "ALTER",
|
||||
"keyword": "ALTER",
|
||||
"type": 1,
|
||||
"flags": 3,
|
||||
"position": 49
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 54
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "TABLE",
|
||||
"value": "TABLE",
|
||||
"keyword": "TABLE",
|
||||
"type": 1,
|
||||
"flags": 3,
|
||||
"position": 55
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 60
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "`test_table`",
|
||||
"value": "test_table",
|
||||
"keyword": null,
|
||||
"type": 8,
|
||||
"flags": 2,
|
||||
"position": 61
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 73
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "MODIFY",
|
||||
"value": "MODIFY",
|
||||
"keyword": "MODIFY",
|
||||
"type": 1,
|
||||
"flags": 1,
|
||||
"position": 74
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 80
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "`COL`",
|
||||
"value": "COL",
|
||||
"keyword": null,
|
||||
"type": 8,
|
||||
"flags": 2,
|
||||
"position": 81
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 86
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "ENUM",
|
||||
"value": "ENUM",
|
||||
"keyword": "ENUM",
|
||||
"type": 1,
|
||||
"flags": 9,
|
||||
"position": 87
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "(",
|
||||
"value": "(",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 91
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "\"COLLATE\"",
|
||||
"value": "COLLATE",
|
||||
"keyword": null,
|
||||
"type": 7,
|
||||
"flags": 2,
|
||||
"position": 92
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ")",
|
||||
"value": ")",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 101
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 102
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "NULL",
|
||||
"value": "NULL",
|
||||
"keyword": "NULL",
|
||||
"type": 1,
|
||||
"flags": 3,
|
||||
"position": 103
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ";",
|
||||
"value": ";",
|
||||
"keyword": null,
|
||||
"type": 9,
|
||||
"flags": 0,
|
||||
"position": 107
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "\n",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 108
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": null,
|
||||
"value": null,
|
||||
"keyword": null,
|
||||
"type": 9,
|
||||
"flags": 0,
|
||||
"position": null
|
||||
}
|
||||
],
|
||||
"count": 21,
|
||||
"idx": 21
|
||||
},
|
||||
"delimiter": ";",
|
||||
"delimiterLen": 1,
|
||||
"strict": false,
|
||||
"errors": []
|
||||
},
|
||||
"parser": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Parser",
|
||||
"list": {
|
||||
"@type": "@1"
|
||||
},
|
||||
"statements": [
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Statements\\AlterStatement",
|
||||
"table": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\Expression",
|
||||
"database": null,
|
||||
"table": "test_table",
|
||||
"column": null,
|
||||
"expr": "`test_table`",
|
||||
"alias": null,
|
||||
"function": null,
|
||||
"subquery": null
|
||||
},
|
||||
"altered": [
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\AlterOperation",
|
||||
"options": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray",
|
||||
"options": {
|
||||
"1": "MODIFY"
|
||||
}
|
||||
},
|
||||
"field": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\Expression",
|
||||
"database": null,
|
||||
"table": null,
|
||||
"column": "COL",
|
||||
"expr": "`COL`",
|
||||
"alias": null,
|
||||
"function": null,
|
||||
"subquery": null
|
||||
},
|
||||
"partitions": null,
|
||||
"unknown": [
|
||||
{
|
||||
"@type": "@14"
|
||||
},
|
||||
{
|
||||
"@type": "@19"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"options": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray",
|
||||
"options": {
|
||||
"3": "TABLE"
|
||||
}
|
||||
},
|
||||
"first": 0,
|
||||
"last": 18
|
||||
}
|
||||
],
|
||||
"brackets": 0,
|
||||
"strict": false,
|
||||
"errors": []
|
||||
},
|
||||
"errors": {
|
||||
"lexer": [],
|
||||
"parser": []
|
||||
}
|
||||
}
|
2
vendor/phpmyadmin/sql-parser/tests/data/parser/parseAlterTableModifyColumnEnum2.in
vendored
Normal file
2
vendor/phpmyadmin/sql-parser/tests/data/parser/parseAlterTableModifyColumnEnum2.in
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
-- ENUM with a string that is a table option.
|
||||
ALTER TABLE `test_table` MODIFY `COL` ENUM("LOCK") NULL;
|
275
vendor/phpmyadmin/sql-parser/tests/data/parser/parseAlterTableModifyColumnEnum2.out
vendored
Normal file
275
vendor/phpmyadmin/sql-parser/tests/data/parser/parseAlterTableModifyColumnEnum2.out
vendored
Normal file
@ -0,0 +1,275 @@
|
||||
{
|
||||
"query": "-- ENUM with a string that is a table option.\nALTER TABLE `test_table` MODIFY `COL` ENUM(\"LOCK\") NULL;\n",
|
||||
"lexer": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Lexer",
|
||||
"str": "-- ENUM with a string that is a table option.\nALTER TABLE `test_table` MODIFY `COL` ENUM(\"LOCK\") NULL;\n",
|
||||
"len": 103,
|
||||
"last": 103,
|
||||
"list": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\TokensList",
|
||||
"tokens": [
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "-- ENUM with a string that is a table option.",
|
||||
"value": "-- ENUM with a string that is a table option.",
|
||||
"keyword": null,
|
||||
"type": 4,
|
||||
"flags": 4,
|
||||
"position": 0
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "\n",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 45
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "ALTER",
|
||||
"value": "ALTER",
|
||||
"keyword": "ALTER",
|
||||
"type": 1,
|
||||
"flags": 3,
|
||||
"position": 46
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 51
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "TABLE",
|
||||
"value": "TABLE",
|
||||
"keyword": "TABLE",
|
||||
"type": 1,
|
||||
"flags": 3,
|
||||
"position": 52
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 57
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "`test_table`",
|
||||
"value": "test_table",
|
||||
"keyword": null,
|
||||
"type": 8,
|
||||
"flags": 2,
|
||||
"position": 58
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 70
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "MODIFY",
|
||||
"value": "MODIFY",
|
||||
"keyword": "MODIFY",
|
||||
"type": 1,
|
||||
"flags": 1,
|
||||
"position": 71
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 77
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "`COL`",
|
||||
"value": "COL",
|
||||
"keyword": null,
|
||||
"type": 8,
|
||||
"flags": 2,
|
||||
"position": 78
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 83
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "ENUM",
|
||||
"value": "ENUM",
|
||||
"keyword": "ENUM",
|
||||
"type": 1,
|
||||
"flags": 9,
|
||||
"position": 84
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "(",
|
||||
"value": "(",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 88
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "\"LOCK\"",
|
||||
"value": "LOCK",
|
||||
"keyword": null,
|
||||
"type": 7,
|
||||
"flags": 2,
|
||||
"position": 89
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ")",
|
||||
"value": ")",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 95
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 96
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "NULL",
|
||||
"value": "NULL",
|
||||
"keyword": "NULL",
|
||||
"type": 1,
|
||||
"flags": 3,
|
||||
"position": 97
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ";",
|
||||
"value": ";",
|
||||
"keyword": null,
|
||||
"type": 9,
|
||||
"flags": 0,
|
||||
"position": 101
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "\n",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 102
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": null,
|
||||
"value": null,
|
||||
"keyword": null,
|
||||
"type": 9,
|
||||
"flags": 0,
|
||||
"position": null
|
||||
}
|
||||
],
|
||||
"count": 21,
|
||||
"idx": 21
|
||||
},
|
||||
"delimiter": ";",
|
||||
"delimiterLen": 1,
|
||||
"strict": false,
|
||||
"errors": []
|
||||
},
|
||||
"parser": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Parser",
|
||||
"list": {
|
||||
"@type": "@1"
|
||||
},
|
||||
"statements": [
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Statements\\AlterStatement",
|
||||
"table": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\Expression",
|
||||
"database": null,
|
||||
"table": "test_table",
|
||||
"column": null,
|
||||
"expr": "`test_table`",
|
||||
"alias": null,
|
||||
"function": null,
|
||||
"subquery": null
|
||||
},
|
||||
"altered": [
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\AlterOperation",
|
||||
"options": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray",
|
||||
"options": {
|
||||
"1": "MODIFY"
|
||||
}
|
||||
},
|
||||
"field": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\Expression",
|
||||
"database": null,
|
||||
"table": null,
|
||||
"column": "COL",
|
||||
"expr": "`COL`",
|
||||
"alias": null,
|
||||
"function": null,
|
||||
"subquery": null
|
||||
},
|
||||
"partitions": null,
|
||||
"unknown": [
|
||||
{
|
||||
"@type": "@14"
|
||||
},
|
||||
{
|
||||
"@type": "@19"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"options": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray",
|
||||
"options": {
|
||||
"3": "TABLE"
|
||||
}
|
||||
},
|
||||
"first": 0,
|
||||
"last": 18
|
||||
}
|
||||
],
|
||||
"brackets": 0,
|
||||
"strict": false,
|
||||
"errors": []
|
||||
},
|
||||
"errors": {
|
||||
"lexer": [],
|
||||
"parser": []
|
||||
}
|
||||
}
|
2
vendor/phpmyadmin/sql-parser/tests/data/parser/parseAlterTableModifyColumnEnum3.in
vendored
Normal file
2
vendor/phpmyadmin/sql-parser/tests/data/parser/parseAlterTableModifyColumnEnum3.in
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
-- ENUM with a string that is a statement.
|
||||
ALTER TABLE `test_table` MODIFY `COL` ENUM("INSERT") NULL;
|
275
vendor/phpmyadmin/sql-parser/tests/data/parser/parseAlterTableModifyColumnEnum3.out
vendored
Normal file
275
vendor/phpmyadmin/sql-parser/tests/data/parser/parseAlterTableModifyColumnEnum3.out
vendored
Normal file
@ -0,0 +1,275 @@
|
||||
{
|
||||
"query": "-- ENUM with a string that is a statement.\nALTER TABLE `test_table` MODIFY `COL` ENUM(\"INSERT\") NULL;\n",
|
||||
"lexer": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Lexer",
|
||||
"str": "-- ENUM with a string that is a statement.\nALTER TABLE `test_table` MODIFY `COL` ENUM(\"INSERT\") NULL;\n",
|
||||
"len": 102,
|
||||
"last": 102,
|
||||
"list": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\TokensList",
|
||||
"tokens": [
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "-- ENUM with a string that is a statement.",
|
||||
"value": "-- ENUM with a string that is a statement.",
|
||||
"keyword": null,
|
||||
"type": 4,
|
||||
"flags": 4,
|
||||
"position": 0
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "\n",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 42
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "ALTER",
|
||||
"value": "ALTER",
|
||||
"keyword": "ALTER",
|
||||
"type": 1,
|
||||
"flags": 3,
|
||||
"position": 43
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 48
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "TABLE",
|
||||
"value": "TABLE",
|
||||
"keyword": "TABLE",
|
||||
"type": 1,
|
||||
"flags": 3,
|
||||
"position": 49
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 54
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "`test_table`",
|
||||
"value": "test_table",
|
||||
"keyword": null,
|
||||
"type": 8,
|
||||
"flags": 2,
|
||||
"position": 55
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 67
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "MODIFY",
|
||||
"value": "MODIFY",
|
||||
"keyword": "MODIFY",
|
||||
"type": 1,
|
||||
"flags": 1,
|
||||
"position": 68
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 74
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "`COL`",
|
||||
"value": "COL",
|
||||
"keyword": null,
|
||||
"type": 8,
|
||||
"flags": 2,
|
||||
"position": 75
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 80
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "ENUM",
|
||||
"value": "ENUM",
|
||||
"keyword": "ENUM",
|
||||
"type": 1,
|
||||
"flags": 9,
|
||||
"position": 81
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "(",
|
||||
"value": "(",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 85
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "\"INSERT\"",
|
||||
"value": "INSERT",
|
||||
"keyword": null,
|
||||
"type": 7,
|
||||
"flags": 2,
|
||||
"position": 86
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ")",
|
||||
"value": ")",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 94
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 95
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "NULL",
|
||||
"value": "NULL",
|
||||
"keyword": "NULL",
|
||||
"type": 1,
|
||||
"flags": 3,
|
||||
"position": 96
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ";",
|
||||
"value": ";",
|
||||
"keyword": null,
|
||||
"type": 9,
|
||||
"flags": 0,
|
||||
"position": 100
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "\n",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 101
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": null,
|
||||
"value": null,
|
||||
"keyword": null,
|
||||
"type": 9,
|
||||
"flags": 0,
|
||||
"position": null
|
||||
}
|
||||
],
|
||||
"count": 21,
|
||||
"idx": 21
|
||||
},
|
||||
"delimiter": ";",
|
||||
"delimiterLen": 1,
|
||||
"strict": false,
|
||||
"errors": []
|
||||
},
|
||||
"parser": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Parser",
|
||||
"list": {
|
||||
"@type": "@1"
|
||||
},
|
||||
"statements": [
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Statements\\AlterStatement",
|
||||
"table": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\Expression",
|
||||
"database": null,
|
||||
"table": "test_table",
|
||||
"column": null,
|
||||
"expr": "`test_table`",
|
||||
"alias": null,
|
||||
"function": null,
|
||||
"subquery": null
|
||||
},
|
||||
"altered": [
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\AlterOperation",
|
||||
"options": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray",
|
||||
"options": {
|
||||
"1": "MODIFY"
|
||||
}
|
||||
},
|
||||
"field": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\Expression",
|
||||
"database": null,
|
||||
"table": null,
|
||||
"column": "COL",
|
||||
"expr": "`COL`",
|
||||
"alias": null,
|
||||
"function": null,
|
||||
"subquery": null
|
||||
},
|
||||
"partitions": null,
|
||||
"unknown": [
|
||||
{
|
||||
"@type": "@14"
|
||||
},
|
||||
{
|
||||
"@type": "@19"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"options": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray",
|
||||
"options": {
|
||||
"3": "TABLE"
|
||||
}
|
||||
},
|
||||
"first": 0,
|
||||
"last": 18
|
||||
}
|
||||
],
|
||||
"brackets": 0,
|
||||
"strict": false,
|
||||
"errors": []
|
||||
},
|
||||
"errors": {
|
||||
"lexer": [],
|
||||
"parser": []
|
||||
}
|
||||
}
|
1
vendor/phpmyadmin/sql-parser/tests/data/parser/parseSelectAggregateWithPartitionAndAlias.in
vendored
Normal file
1
vendor/phpmyadmin/sql-parser/tests/data/parser/parseSelectAggregateWithPartitionAndAlias.in
vendored
Normal file
@ -0,0 +1 @@
|
||||
SELECT *, COUNT(*) OVER(PARTITION BY `REGION`) AS "count(REGION)" FROM `world_borders`
|
325
vendor/phpmyadmin/sql-parser/tests/data/parser/parseSelectAggregateWithPartitionAndAlias.out
vendored
Normal file
325
vendor/phpmyadmin/sql-parser/tests/data/parser/parseSelectAggregateWithPartitionAndAlias.out
vendored
Normal file
@ -0,0 +1,325 @@
|
||||
{
|
||||
"query": "SELECT *, COUNT(*) OVER(PARTITION BY `REGION`) AS \"count(REGION)\" FROM `world_borders`\n",
|
||||
"lexer": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Lexer",
|
||||
"str": "SELECT *, COUNT(*) OVER(PARTITION BY `REGION`) AS \"count(REGION)\" FROM `world_borders`\n",
|
||||
"len": 87,
|
||||
"last": 87,
|
||||
"list": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\TokensList",
|
||||
"tokens": [
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "SELECT",
|
||||
"value": "SELECT",
|
||||
"keyword": "SELECT",
|
||||
"type": 1,
|
||||
"flags": 3,
|
||||
"position": 0
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 6
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "*",
|
||||
"value": "*",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 7
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ",",
|
||||
"value": ",",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 8
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 9
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "COUNT",
|
||||
"value": "COUNT",
|
||||
"keyword": "COUNT",
|
||||
"type": 1,
|
||||
"flags": 33,
|
||||
"position": 10
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "(",
|
||||
"value": "(",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 15
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "*",
|
||||
"value": "*",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 16
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ")",
|
||||
"value": ")",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 17
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 18
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "OVER",
|
||||
"value": "OVER",
|
||||
"keyword": null,
|
||||
"type": 0,
|
||||
"flags": 0,
|
||||
"position": 19
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "(",
|
||||
"value": "(",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 23
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "PARTITION BY",
|
||||
"value": "PARTITION BY",
|
||||
"keyword": "PARTITION BY",
|
||||
"type": 1,
|
||||
"flags": 7,
|
||||
"position": 24
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 36
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "`REGION`",
|
||||
"value": "REGION",
|
||||
"keyword": null,
|
||||
"type": 8,
|
||||
"flags": 2,
|
||||
"position": 37
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": ")",
|
||||
"value": ")",
|
||||
"keyword": null,
|
||||
"type": 2,
|
||||
"flags": 16,
|
||||
"position": 45
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 46
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "AS",
|
||||
"value": "AS",
|
||||
"keyword": "AS",
|
||||
"type": 1,
|
||||
"flags": 3,
|
||||
"position": 47
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 49
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "\"count(REGION)\"",
|
||||
"value": "count(REGION)",
|
||||
"keyword": null,
|
||||
"type": 7,
|
||||
"flags": 2,
|
||||
"position": 50
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 65
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "FROM",
|
||||
"value": "FROM",
|
||||
"keyword": "FROM",
|
||||
"type": 1,
|
||||
"flags": 3,
|
||||
"position": 66
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": " ",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 70
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "`world_borders`",
|
||||
"value": "world_borders",
|
||||
"keyword": null,
|
||||
"type": 8,
|
||||
"flags": 2,
|
||||
"position": 71
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": "\n",
|
||||
"value": " ",
|
||||
"keyword": null,
|
||||
"type": 3,
|
||||
"flags": 0,
|
||||
"position": 86
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Token",
|
||||
"token": null,
|
||||
"value": null,
|
||||
"keyword": null,
|
||||
"type": 9,
|
||||
"flags": 0,
|
||||
"position": null
|
||||
}
|
||||
],
|
||||
"count": 26,
|
||||
"idx": 26
|
||||
},
|
||||
"delimiter": ";",
|
||||
"delimiterLen": 1,
|
||||
"strict": false,
|
||||
"errors": []
|
||||
},
|
||||
"parser": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Parser",
|
||||
"list": {
|
||||
"@type": "@1"
|
||||
},
|
||||
"statements": [
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Statements\\SelectStatement",
|
||||
"expr": [
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\Expression",
|
||||
"database": null,
|
||||
"table": null,
|
||||
"column": null,
|
||||
"expr": "*",
|
||||
"alias": null,
|
||||
"function": null,
|
||||
"subquery": null
|
||||
},
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\Expression",
|
||||
"database": null,
|
||||
"table": null,
|
||||
"column": null,
|
||||
"expr": "COUNT(*) OVER(PARTITION BY `REGION`)",
|
||||
"alias": "count(REGION)",
|
||||
"function": "COUNT",
|
||||
"subquery": null
|
||||
}
|
||||
],
|
||||
"from": [
|
||||
{
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\Expression",
|
||||
"database": null,
|
||||
"table": "world_borders",
|
||||
"column": null,
|
||||
"expr": "`world_borders`",
|
||||
"alias": null,
|
||||
"function": null,
|
||||
"subquery": null
|
||||
}
|
||||
],
|
||||
"index_hints": null,
|
||||
"partition": null,
|
||||
"where": null,
|
||||
"group": null,
|
||||
"group_options": null,
|
||||
"having": null,
|
||||
"order": null,
|
||||
"limit": null,
|
||||
"procedure": null,
|
||||
"into": null,
|
||||
"join": null,
|
||||
"union": [],
|
||||
"end_options": null,
|
||||
"options": {
|
||||
"@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray",
|
||||
"options": []
|
||||
},
|
||||
"first": 0,
|
||||
"last": 24
|
||||
}
|
||||
],
|
||||
"brackets": 0,
|
||||
"strict": false,
|
||||
"errors": []
|
||||
},
|
||||
"errors": {
|
||||
"lexer": [],
|
||||
"parser": []
|
||||
}
|
||||
}
|
1
vendor/phpmyadmin/sql-parser/tests/data/parser/parseSelectWhereCollate.in
vendored
Normal file
1
vendor/phpmyadmin/sql-parser/tests/data/parser/parseSelectWhereCollate.in
vendored
Normal file
@ -0,0 +1 @@
|
||||
SELECT 1 FROM my_table WHERE first_col = 'foo' AND second_col COLLATE utf8_bin = 'bar';
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user