diff --git a/.gitignore b/.gitignore index 213233fe..6ffdc34a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ .phpunit.result.cache .idea/ .vscode/ +.DS_Store diff --git a/composer.json b/composer.json index 8e0c2c77..3142327c 100644 --- a/composer.json +++ b/composer.json @@ -22,6 +22,7 @@ "Momento\\": "src/", "Cache_client\\": "types/Cache_client/", "Control_client\\": "types/Control_client/", + "PubsubClient\\": "types/Cache_client/Pubsub", "Auth\\": "types/Auth/", "GPBMetadata\\": "types/GPBMetadata" }, @@ -45,7 +46,8 @@ "google/protobuf": "3.22.3", "grpc/grpc": "1.52.0", "psr/log": "^1.1 || ^2.0 || ^3.0", - "psr/simple-cache": "^1.0.1 || ^3.0" + "psr/simple-cache": "^1.0.1 || ^3.0", + "ext-json": "*" }, "require-dev": { "composer/composer": "^2.4.1", diff --git a/composer.lock b/composer.lock deleted file mode 100644 index ef778f03..00000000 --- a/composer.lock +++ /dev/null @@ -1,3868 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "315b173030672bf79996957c7ca1f4a4", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v6.8.1", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "5dbc8959427416b8ee09a100d7a8588c00fb2e26" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/5dbc8959427416b8ee09a100d7a8588c00fb2e26", - "reference": "5dbc8959427416b8ee09a100d7a8588c00fb2e26", - "shasum": "" - }, - "require": { - "php": "^7.4||^8.0" - }, - "require-dev": { - "guzzlehttp/guzzle": "^6.5||^7.4", - "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.5", - "psr/cache": "^1.0||^2.0", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0" - }, - "suggest": { - "ext-sodium": "Support EdDSA (Ed25519) signatures", - "paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "keywords": [ - "jwt", - "php" - ], - "time": "2023-07-14T18:33:00+00:00" - }, - { - "name": "google/protobuf", - "version": "v3.22.3", - "source": { - "type": "git", - "url": "https://github.com/protocolbuffers/protobuf-php.git", - "reference": "0edeee0cc2e2991706e16ab60c7d224e5c0241ba" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/0edeee0cc2e2991706e16ab60c7d224e5c0241ba", - "reference": "0edeee0cc2e2991706e16ab60c7d224e5c0241ba", - "shasum": "" - }, - "require": { - "php": ">=7.0.0" - }, - "require-dev": { - "phpunit/phpunit": ">=5.0.0" - }, - "suggest": { - "ext-bcmath": "Need to support JSON deserialization" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Protobuf\\": "src/Google/Protobuf", - "GPBMetadata\\Google\\Protobuf\\": "src/GPBMetadata/Google/Protobuf" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "proto library for PHP", - "homepage": "https://developers.google.com/protocol-buffers/", - "keywords": [ - "proto" - ], - "support": { - "source": "https://github.com/protocolbuffers/protobuf-php/tree/v3.22.3" - }, - "time": "2023-04-12T23:38:34+00:00" - }, - { - "name": "grpc/grpc", - "version": "1.52.0", - "source": { - "type": "git", - "url": "https://github.com/grpc/grpc-php.git", - "reference": "98394cd601a587ca68294e6209bd713856969105" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/grpc/grpc-php/zipball/98394cd601a587ca68294e6209bd713856969105", - "reference": "98394cd601a587ca68294e6209bd713856969105", - "shasum": "" - }, - "require": { - "php": ">=7.0.0" - }, - "require-dev": { - "google/auth": "^v1.3.0" - }, - "suggest": { - "ext-protobuf": "For better performance, install the protobuf C extension.", - "google/protobuf": "To get started using grpc quickly, install the native protobuf library." - }, - "type": "library", - "autoload": { - "psr-4": { - "Grpc\\": "src/lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "gRPC library for PHP", - "homepage": "https://grpc.io", - "keywords": [ - "rpc" - ], - "support": { - "source": "https://github.com/grpc/grpc-php/tree/v1.52.0" - }, - "time": "2023-02-25T05:20:08+00:00" - }, - { - "name": "psr/log", - "version": "1.1.4", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2021-05-03T11:20:27+00:00" - }, - { - "name": "psr/simple-cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], - "time": "2017-10-23T01:57:42+00:00" - } - ], - "packages-dev": [ - { - "name": "composer/ca-bundle", - "version": "1.3.7", - "source": { - "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "76e46335014860eec1aa5a724799a00a2e47cc85" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/76e46335014860eec1aa5a724799a00a2e47cc85", - "reference": "76e46335014860eec1aa5a724799a00a2e47cc85", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "psr/log": "^1.0", - "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\CaBundle\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", - "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" - ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2023-08-30T09:31:38+00:00" - }, - { - "name": "composer/class-map-generator", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/composer/class-map-generator.git", - "reference": "953cc4ea32e0c31f2185549c7d216d7921f03da9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/class-map-generator/zipball/953cc4ea32e0c31f2185549c7d216d7921f03da9", - "reference": "953cc4ea32e0c31f2185549c7d216d7921f03da9", - "shasum": "" - }, - "require": { - "composer/pcre": "^2.1 || ^3.1", - "php": "^7.2 || ^8.0", - "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7" - }, - "require-dev": { - "phpstan/phpstan": "^1.6", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/filesystem": "^5.4 || ^6", - "symfony/phpunit-bridge": "^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\ClassMapGenerator\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Utilities to scan PHP code and generate class maps.", - "keywords": [ - "classmap" - ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2023-06-30T13:58:57+00:00" - }, - { - "name": "composer/composer", - "version": "2.6.4", - "source": { - "type": "git", - "url": "https://github.com/composer/composer.git", - "reference": "d75d17c16a863438027d1d96401cddcd6aa5bb60" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/d75d17c16a863438027d1d96401cddcd6aa5bb60", - "reference": "d75d17c16a863438027d1d96401cddcd6aa5bb60", - "shasum": "" - }, - "require": { - "composer/ca-bundle": "^1.0", - "composer/class-map-generator": "^1.0", - "composer/metadata-minifier": "^1.0", - "composer/pcre": "^2.1 || ^3.1", - "composer/semver": "^3.2.5", - "composer/spdx-licenses": "^1.5.7", - "composer/xdebug-handler": "^2.0.2 || ^3.0.3", - "justinrainbow/json-schema": "^5.2.11", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1.0 || ^2.0 || ^3.0", - "react/promise": "^2.8 || ^3", - "seld/jsonlint": "^1.4", - "seld/phar-utils": "^1.2", - "seld/signal-handler": "^2.0", - "symfony/console": "^5.4.11 || ^6.0.11 || ^7", - "symfony/filesystem": "^5.4 || ^6.0 || ^7", - "symfony/finder": "^5.4 || ^6.0 || ^7", - "symfony/polyfill-php73": "^1.24", - "symfony/polyfill-php80": "^1.24", - "symfony/polyfill-php81": "^1.24", - "symfony/process": "^5.4 || ^6.0 || ^7" - }, - "require-dev": { - "phpstan/phpstan": "^1.9.3", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1.0", - "phpstan/phpstan-strict-rules": "^1", - "phpstan/phpstan-symfony": "^1.2.10", - "symfony/phpunit-bridge": "^6.0 || ^7" - }, - "suggest": { - "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", - "ext-zip": "Enabling the zip extension allows you to unzip archives", - "ext-zlib": "Allow gzip compression of HTTP requests" - }, - "bin": [ - "bin/composer" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.6-dev" - }, - "phpstan": { - "includes": [ - "phpstan/rules.neon" - ] - } - }, - "autoload": { - "psr-4": { - "Composer\\": "src/Composer/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "https://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", - "homepage": "https://getcomposer.org/", - "keywords": [ - "autoload", - "dependency", - "package" - ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2023-09-29T08:54:47+00:00" - }, - { - "name": "composer/metadata-minifier", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/composer/metadata-minifier.git", - "reference": "c549d23829536f0d0e984aaabbf02af91f443207" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/c549d23829536f0d0e984aaabbf02af91f443207", - "reference": "c549d23829536f0d0e984aaabbf02af91f443207", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "composer/composer": "^2", - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\MetadataMinifier\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Small utility library that handles metadata minification and expansion.", - "keywords": [ - "composer", - "compression" - ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2021-04-07T13:37:33+00:00" - }, - { - "name": "composer/pcre", - "version": "3.1.0", - "source": { - "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Pcre\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "PCRE wrapping library that offers type-safe preg_* replacements.", - "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" - ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-11-17T09:50:14+00:00" - }, - { - "name": "composer/semver", - "version": "3.4.0", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", - "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.4", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2023-08-31T09:50:34+00:00" - }, - { - "name": "composer/spdx-licenses", - "version": "1.5.7", - "source": { - "type": "git", - "url": "https://github.com/composer/spdx-licenses.git", - "reference": "c848241796da2abf65837d51dce1fae55a960149" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/c848241796da2abf65837d51dce1fae55a960149", - "reference": "c848241796da2abf65837d51dce1fae55a960149", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Spdx\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "SPDX licenses list and validation library.", - "keywords": [ - "license", - "spdx", - "validator" - ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-05-23T07:37:50+00:00" - }, - { - "name": "composer/xdebug-handler", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "ced299686f41dce890debac69273b47ffe98a40c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", - "reference": "ced299686f41dce890debac69273b47ffe98a40c", - "shasum": "" - }, - "require": { - "composer/pcre": "^1 || ^2 || ^3", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1 || ^2 || ^3" - }, - "require-dev": { - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without Xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-02-25T21:32:43+00:00" - }, - { - "name": "doctrine/instantiator", - "version": "1.5.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^9 || ^11", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^0.16 || ^1", - "phpstan/phpstan": "^1.4", - "phpstan/phpstan-phpunit": "^1", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.30 || ^5.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], - "time": "2022-12-30T00:15:36+00:00" - }, - { - "name": "justinrainbow/json-schema", - "version": "v5.2.13", - "source": { - "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/fbbe7e5d79f618997bc3332a6f49246036c45793", - "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", - "json-schema/json-schema-test-suite": "1.2.0", - "phpunit/phpunit": "^4.8.35" - }, - "bin": [ - "bin/validate-json" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "JsonSchema\\": "src/JsonSchema/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bruno Prieto Reis", - "email": "bruno.p.reis@gmail.com" - }, - { - "name": "Justin Rainbow", - "email": "justin.rainbow@gmail.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - }, - { - "name": "Robert Schönthal", - "email": "seroscho@googlemail.com" - } - ], - "description": "A library to validate a json schema.", - "homepage": "https://github.com/justinrainbow/json-schema", - "keywords": [ - "json", - "schema" - ], - "time": "2023-09-26T02:20:38+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.11.1", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3,<3.2.2" - }, - "require-dev": { - "doctrine/collections": "^1.6.8", - "doctrine/common": "^2.13.3 || ^3.2.2", - "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" - }, - "type": "library", - "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2023-03-08T13:26:56+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v4.17.1", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", - "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=7.0" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.9-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "time": "2023-08-13T19:53:39+00:00" - }, - { - "name": "phar-io/manifest", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-phar": "*", - "ext-xmlwriter": "*", - "phar-io/version": "^3.0.1", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2021-07-20T11:28:43+00:00" - }, - { - "name": "phar-io/version", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "time": "2022-02-21T01:04:05+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "9.2.29", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76", - "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-xmlwriter": "*", - "nikic/php-parser": "^4.15", - "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-text-template": "^2.0.2", - "sebastian/code-unit-reverse-lookup": "^2.0.2", - "sebastian/complexity": "^2.0", - "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0.3", - "sebastian/version": "^3.0.1", - "theseer/tokenizer": "^1.2.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-pcov": "PHP extension that provides line coverage", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-09-19T04:57:46+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "3.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2021-12-02T12:48:52+00:00" - }, - { - "name": "phpunit/php-invoker", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "ext-pcntl": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-pcntl": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Invoke callables with a timeout", - "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": [ - "process" - ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T05:58:55+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T05:33:50+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "5.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:16:10+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "9.6.13", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be", - "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.3.1 || ^2", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", - "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.28", - "phpunit/php-file-iterator": "^3.0.5", - "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.3", - "phpunit/php-timer": "^5.0.2", - "sebastian/cli-parser": "^1.0.1", - "sebastian/code-unit": "^1.0.6", - "sebastian/comparator": "^4.0.8", - "sebastian/diff": "^4.0.3", - "sebastian/environment": "^5.1.3", - "sebastian/exporter": "^4.0.5", - "sebastian/global-state": "^5.0.1", - "sebastian/object-enumerator": "^4.0.3", - "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^3.2", - "sebastian/version": "^3.0.2" - }, - "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.6-dev" - } - }, - "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "funding": [ - { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" - } - ], - "time": "2023-09-19T05:39:22+00:00" - }, - { - "name": "psr/container", - "version": "1.1.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", - "shasum": "" - }, - "require": { - "php": ">=7.4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "time": "2021-11-05T16:50:12+00:00" - }, - { - "name": "react/promise", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "c86753c76fd3be465d93b308f18d189f01a22be4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/c86753c76fd3be465d93b308f18d189f01a22be4", - "reference": "c86753c76fd3be465d93b308f18d189f01a22be4", - "shasum": "" - }, - "require": { - "php": ">=7.1.0" - }, - "require-dev": { - "phpstan/phpstan": "1.10.20 || 1.4.10", - "phpunit/phpunit": "^9.5 || ^7.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "React\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" - } - ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", - "keywords": [ - "promise", - "promises" - ], - "funding": [ - { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" - } - ], - "time": "2023-07-11T16:12:49+00:00" - }, - { - "name": "sebastian/cli-parser", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T06:08:49+00:00" - }, - { - "name": "sebastian/code-unit", - "version": "1.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the PHP code units", - "homepage": "https://github.com/sebastianbergmann/code-unit", - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:08:54+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T05:30:19+00:00" - }, - { - "name": "sebastian/comparator", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/diff": "^4.0", - "sebastian/exporter": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-09-14T12:41:17+00:00" - }, - { - "name": "sebastian/complexity", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.7", - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for calculating the complexity of PHP code units", - "homepage": "https://github.com/sebastianbergmann/complexity", - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T15:52:27+00:00" - }, - { - "name": "sebastian/diff", - "version": "4.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3", - "symfony/process": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-05-07T05:35:17+00:00" - }, - { - "name": "sebastian/environment", - "version": "5.1.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:03:51+00:00" - }, - { - "name": "sebastian/exporter", - "version": "4.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-09-14T06:03:37+00:00" - }, - { - "name": "sebastian/global-state", - "version": "5.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bde739e7565280bda77be70044ac1047bc007e34" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34", - "reference": "bde739e7565280bda77be70044ac1047bc007e34", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-08-02T09:26:13+00:00" - }, - { - "name": "sebastian/lines-of-code", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.6", - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for counting the lines of code in PHP source code", - "homepage": "https://github.com/sebastianbergmann/lines-of-code", - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-11-28T06:42:11+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "4.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:12:34+00:00" - }, - { - "name": "sebastian/object-reflector", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:14:26+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "4.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "https://github.com/sebastianbergmann/recursion-context", - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:07:39+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T06:45:17+00:00" - }, - { - "name": "sebastian/type", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:13:03+00:00" - }, - { - "name": "sebastian/version", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c6c1022351a901512170118436c764e473f6de8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", - "reference": "c6c1022351a901512170118436c764e473f6de8c", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T06:39:44+00:00" - }, - { - "name": "seld/jsonlint", - "version": "1.10.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "594fd6462aad8ecee0b45ca5045acea4776667f1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/594fd6462aad8ecee0b45ca5045acea4776667f1", - "reference": "594fd6462aad8ecee0b45ca5045acea4776667f1", - "shasum": "" - }, - "require": { - "php": "^5.3 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.5", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" - }, - "bin": [ - "bin/jsonlint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "JSON Linter", - "keywords": [ - "json", - "linter", - "parser", - "validator" - ], - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", - "type": "tidelift" - } - ], - "time": "2023-05-11T13:16:46+00:00" - }, - { - "name": "seld/phar-utils", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/phar-utils.git", - "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", - "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Seld\\PharUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be" - } - ], - "description": "PHAR file format utilities, for when PHP phars you up", - "keywords": [ - "phar" - ], - "time": "2022-08-31T10:31:18+00:00" - }, - { - "name": "seld/signal-handler", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/signal-handler.git", - "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/signal-handler/zipball/04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98", - "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "require-dev": { - "phpstan/phpstan": "^1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.3", - "phpunit/phpunit": "^7.5.20 || ^8.5.23", - "psr/log": "^1 || ^2 || ^3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Seld\\Signal\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Simple unix signal handler that silently fails where signals are not supported for easy cross-platform development", - "keywords": [ - "posix", - "sigint", - "signal", - "sigterm", - "unix" - ], - "time": "2023-09-03T09:24:00+00:00" - }, - { - "name": "symfony/console", - "version": "v5.4.28", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "f4f71842f24c2023b91237c72a365306f3c58827" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/f4f71842f24c2023b91237c72a365306f3c58827", - "reference": "f4f71842f24c2023b91237c72a365306f3c58827", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/string": "^5.1|^6.0" - }, - "conflict": { - "psr/log": ">=3", - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0" - }, - "require-dev": { - "psr/log": "^1|^2", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/lock": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command-line", - "console", - "terminal" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-08-07T06:12:30+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v2.5.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-01-02T09:53:40+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v5.4.25", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/0ce3a62c9579a53358d3a7eb6b3dfb79789a6364", - "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8", - "symfony/polyfill-php80": "^1.16" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides basic utilities for the filesystem", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-05-31T13:04:02+00:00" - }, - { - "name": "symfony/finder", - "version": "v5.4.27", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ff4bce3c33451e7ec778070e45bd23f74214cd5d", - "reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Finds files and directories via an intuitive fluent interface", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-07-31T08:02:31+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-26T09:26:14+00:00" - }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "875e90aeea2777b6f135677f618529449334a612" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", - "reference": "875e90aeea2777b6f135677f618529449334a612", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-26T09:26:14+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-26T09:26:14+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-07-28T09:04:16+00:00" - }, - { - "name": "symfony/polyfill-php73", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5", - "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-26T09:26:14+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-26T09:26:14+00:00" - }, - { - "name": "symfony/polyfill-php81", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b", - "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-26T09:26:14+00:00" - }, - { - "name": "symfony/process", - "version": "v5.4.28", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b", - "reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Executes commands in sub-processes", - "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-08-07T10:36:04+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v2.5.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/container": "^1.1", - "symfony/deprecation-contracts": "^2.1|^3" - }, - "conflict": { - "ext-psr": "<1.1|>=2" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-05-30T19:17:29+00:00" - }, - { - "name": "symfony/string", - "version": "v5.4.26", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "1181fe9270e373537475e826873b5867b863883c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/1181fe9270e373537475e826873b5867b863883c", - "reference": "1181fe9270e373537475e826873b5867b863883c", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "~1.15" - }, - "conflict": { - "symfony/translation-contracts": ">=3.0" - }, - "require-dev": { - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0|^6.0" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", - "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-06-28T12:46:07+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2021-07-28T10:34:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=7.4", - "ext-grpc": "*" - }, - "platform-dev": [], - "plugin-api-version": "1.1.0" -} diff --git a/examples/composer.json b/examples/composer.json index 7e7dfc22..4df1990e 100644 --- a/examples/composer.json +++ b/examples/composer.json @@ -1,6 +1,6 @@ { - "require": { - "momentohq/client-sdk-php": "1.4.0", - "monolog/monolog": "^2.5" - } + "require": { + "momentohq/client-sdk-php": "1.4.0", + "monolog/monolog": "^2.5" + } } diff --git a/src/Cache/CacheOperationTypes/CacheOperationTypes.php b/src/Cache/CacheOperationTypes/CacheOperationTypes.php index 4bf5737a..9720c5c5 100644 --- a/src/Cache/CacheOperationTypes/CacheOperationTypes.php +++ b/src/Cache/CacheOperationTypes/CacheOperationTypes.php @@ -20,10 +20,14 @@ use Cache_client\_SetLengthResponse; use Cache_client\_SetResponse; use Cache_client\ECacheResult; +use Cache_client\Pubsub\_TopicItem; use Closure; use Control_client\_ListCachesResponse; +use Generator; +use Grpc\ServerStreamingCall; use Momento\Cache\Errors\SdkError; use Momento\Cache\Errors\UnknownError; +use Psr\Log\LoggerInterface; use Throwable; trait ErrorBody @@ -207,6 +211,11 @@ protected function isAlreadyExists(): bool return get_class($this) == "{$this->baseType}AlreadyExists"; } + protected function isSubscription(): bool + { + return get_class($this) == "{$this->baseType}Subscription"; + } + protected function isHit(): bool { return get_class($this) == "{$this->baseType}Hit"; @@ -2635,3 +2644,152 @@ class SetRemoveElementError extends SetRemoveElementResponse { use ErrorBody; } + +abstract class TopicPublishResponse extends ResponseBase +{ + /** + * @return TopicPublishSuccess|null + */ + public function asSuccess(): ?TopicPublishSuccess + { + if ($this->isSuccess()) { + return $this; + } + return null; + } + + /** + * @return TopicPublishError|null Returns the error subtype if the request returned an error and null otherwise. + */ + public function asError(): ?TopicPublishError + { + if ($this->isError()) { + return $this; + } + return null; + } +} + +/** + * Indicates that the request that generated it was successful. + */ +class TopicPublishSuccess extends TopicPublishResponse +{ +} + +/** + * Contains information about an error returned from the request. + */ +class TopicPublishError extends TopicPublishResponse +{ + use ErrorBody; +} + + +abstract class TopicSubscribeResponse extends ResponseBase +{ + /** + * @return TopicSubscribeResponseSubscription|null + */ + public function asSubscription(): ?TopicSubscribeSubscription + { + if ($this->isSubscription()) { + return $this; + } + return null; + } + + /** + * @return TopicSubscribeError|null Returns the error subtype if the request returned an error and null otherwise. + */ + public function asError(): ?TopicSubscribeError + { + if ($this->isError()) { + return $this; + } + return null; + } +} + +/** + * Indicates that the request that generated it was successful. + */ +class TopicSubscribeSubscription extends TopicSubscribeResponse +{ + private ServerStreamingCall $call; + private bool $firstMessageReceived; + private string $topicName; + private string $cacheName; + private LoggerInterface $logger; + + public function __construct(ServerStreamingCall $call, string $topicName, string $cacheName, LoggerInterface $logger) + { + parent::__construct(); + $this->call = $call; + $this->firstMessageReceived = false; + $this->cacheName = $cacheName; + $this->topicName = $topicName; + $this->logger = $logger; + } + public function getMessages(): Generator + { + foreach ($this->call->responses() as $response) { + try { + switch ($response->getKind()) { + case "heartbeat": + if (!$this->firstMessageReceived) { + $this->logger->info("Received heartbeat from topic $this->topicName in cache $this->cacheName\n"); + $this->firstMessageReceived = true; + break; + } + break; + case "item": + yield $this->handleSubscriptionItem($response->getItem()); + break; + case "discontinuity": + $this->logger->info("Received message content: " . $response->getDiscontinuity()->getReason()); + break; + default: + $this->logger->info("Received message content: " . $response->getKind()); + } + } catch (\Exception $e) { + $this->logger->error("Error processing message: " . $e->getMessage()); + } + } + } + + /** + * Handle the subscription item based on its type and yield values. + * + * @param _TopicItem $item The received item from the subscription. + * @return string + */ + private function handleSubscriptionItem(_TopicItem $item): string + { + try { + $itemType = $item->getValue()->getKind(); + $this->logger->info("Received item type: $itemType"); + + switch ($itemType) { + case "text": + return $item->getValue()->getText(); + case "binary": + return $item->getValue()->getBinary(); + default: + $this->logger->info("Received unknown item type: $itemType"); + return "Unknown item type: $itemType"; + } + } catch (\Exception $e) { + $this->logger->error("Error handling subscription item: " . $e->getMessage()); + return "Error handling subscription item: " . $e->getMessage(); + } + } +} + +/** + * Contains information about an error returned from the request. + */ +class TopicSubscribeError extends TopicSubscribeResponse +{ + use ErrorBody; +} diff --git a/src/Cache/Psr16CacheClient.php b/src/Cache/Psr16CacheClient.php index a42a851f..60fea69b 100644 --- a/src/Cache/Psr16CacheClient.php +++ b/src/Cache/Psr16CacheClient.php @@ -111,7 +111,7 @@ public function getLastError(bool $clear_error = true): ?CacheException /** * @inheritDoc */ - public function get($key, $default = null) + public function get($key, $default = null): mixed { validatePsr16Key($key); $response = $this->momento->get($this->cacheName, $key); diff --git a/src/Topic/Internal/ScsTopicClient.php b/src/Topic/Internal/ScsTopicClient.php new file mode 100644 index 00000000..fd49c36c --- /dev/null +++ b/src/Topic/Internal/ScsTopicClient.php @@ -0,0 +1,148 @@ +authToken = $authProvider->getAuthToken(); + $operationTimeoutMs = $configuration + ->getTransportStrategy() + ->getGrpcConfig() + ->getDeadlineMilliseconds(); + validateOperationTimeout($operationTimeoutMs); + $this->deadline_milliseconds = $operationTimeoutMs ?? self::$DEFAULT_DEADLINE_MILLISECONDS; + $this->timeout = $this->deadline_milliseconds * self::$TIMEOUT_MULTIPLIER; + $this->grpcManager = new TopicGrpcManager($authProvider, $configuration); + $this->setLogger($configuration->getLoggerFactory()->getLogger(get_class($this))); + } + + public function setLogger(LoggerInterface $logger): void + { + $this->logger = $logger; + } + + /** + * @throws SdkError + */ + private function processCall(UnaryCall $call): void + { + [$response, $status] = $call->wait(); + if ($status->code !== 0) { + $this->logger->debug("Topic client error: {$status->details}"); + throw _ErrorConverter::convert($status->code, $status->details, $call->getMetadata()); + } + } + + /** + * Publish to a topic in a cache. + * + * @param string $cacheName The name of the cache. + * @param string $topicName The name of the topic to publish to. + * @param string $value The message to be published. + * @return TopicPublishResponse + */ + public function publish(string $cacheName, string $topicName, string $value): TopicPublishResponse + { + $this->logger->info("Publishing to topic: $topicName in cache $cacheName\n"); + $topicValue = new _TopicValue(); + $topicValue->setText($value); + try { + validateCacheName($cacheName); + $request = new _PublishRequest(); + $request->setCacheName($cacheName); + $request->setTopic($topicName); + $request->setValue($topicValue); + $call = $this->grpcManager->client->Publish($request); + $this->processCall($call); + } catch (SdkError $e) { + $this->logger->debug("Failed to publish message to topic $topicName in cache $cacheName: {$e->getMessage()}"); + return new TopicPublishError($e); + } catch (\Exception $e) { + $this->logger->debug("Failed to publish message to topic $topicName in cache $cacheName: {$e->getMessage()}"); + return new TopicPublishError(new UnknownError($e->getMessage())); + } + return new TopicPublishSuccess(); + } + + /** + * Subscribe to a topic in a cache. + * + * @param string $cacheName The name of the cache. + * @param string $topicName The name of the topic to subscribe to. + * @return ResponseFuture + */ + public function subscribeAsync(string $cacheName, string $topicName): ResponseFuture + { + try { + validateCacheName($cacheName); + validateTopicName($topicName); + $authToken = $this->authToken; + $request = new _SubscriptionRequest(); + $request->setCacheName($cacheName); + $request->setTopic($topicName); + + $call = $this->grpcManager->client->Subscribe($request, ['authorization' => [$authToken]]); + $subscription = new TopicSubscribeSubscription($call, $cacheName, $topicName, $this->logger); + } catch (SdkError $e) { + return ResponseFuture::createResolved(new TopicSubscribeError($e)); + } catch (Exception $e) { + return ResponseFuture::createResolved(new TopicSubscribeError(new UnknownError($e->getMessage(), 0, $e))); + } + + return ResponseFuture::createPending( + function () use ($subscription, $call, $topicName, $cacheName): TopicSubscribeResponse { + try { + return $subscription; + } catch (SdkError $e) { + return new TopicSubscribeError($e); + } catch (Exception $e) { + return new TopicSubscribeError(new UnknownError($e->getMessage(), 0, $e)); + } + } + ); + } + + public function close(): void + { + $this->grpcManager->close(); + } +} diff --git a/src/Topic/Internal/TopicGrpcManager.php b/src/Topic/Internal/TopicGrpcManager.php new file mode 100644 index 00000000..b49119c8 --- /dev/null +++ b/src/Topic/Internal/TopicGrpcManager.php @@ -0,0 +1,49 @@ +getCacheEndpoint(); + $channelArgs = ["credentials" => ChannelCredentials::createSsl()]; + if ($authProvider->getTrustedCacheEndpointCertificateName()) { + $channelArgs["grpc.ssl_target_name_override"] = $authProvider->getTrustedCacheEndpointCertificateName(); + } + $forceNewChannel = $configuration + ->getTransportStrategy() + ->getGrpcConfig() + ->getForceNewChannel(); + if ($forceNewChannel) { + $channelArgs["force_new"] = $forceNewChannel; + } + $this->channel = new Channel($endpoint, $channelArgs); + $interceptors = [ + new AuthorizationInterceptor($authProvider->getAuthToken()), + new AgentInterceptor(), + ]; + $interceptedChannel = Interceptor::intercept($this->channel, $interceptors); + + $options = []; + $this->client = new PubsubClient($endpoint, $options, $interceptedChannel); + } + + public function close(): void { + $this->channel->close(); + } +} diff --git a/src/Topic/PreviewTopicClient.php b/src/Topic/PreviewTopicClient.php new file mode 100644 index 00000000..d959e3bc --- /dev/null +++ b/src/Topic/PreviewTopicClient.php @@ -0,0 +1,72 @@ +configuration = $configuration; + $this->loggerFactory = $configuration->getLoggerFactory(); + $this->setLogger($this->loggerFactory->getLogger(get_class($this))); + $this->topicClient = new ScsTopicClient($this->configuration, $authProvider); + } + + /** + * Close the client and free up all associated resources. NOTE: the client object will not be usable after calling + * this method. + */ + public function close(): void + { + $this->topicClient->close(); + } + + + /** + * Assigns a LoggerInterface logging object to the client. + * + * @param LoggerInterface $logger Object to use for logging + * @return void + */ + public function setLogger(LoggerInterface $logger): void + { + $this->logger = $logger; + } + + public function publish(string $cacheName, string $topicName, string $message): TopicPublishResponse + { + $this->logger->info("Publishing to topic: $topicName\n"); + return $this->topicClient->publish($cacheName, $topicName, $message); + } + + public function subscribeAsync(string $cacheName, string $topicName): ResponseFuture + { + $this->logger->info("Subscribing to topic: $topicName\n"); + return $this->topicClient->subscribeAsync($cacheName, $topicName); + } +} diff --git a/src/Utilities/_DataValidation.php b/src/Utilities/_DataValidation.php index 0ec0fbf0..776abd37 100644 --- a/src/Utilities/_DataValidation.php +++ b/src/Utilities/_DataValidation.php @@ -52,6 +52,13 @@ function validateCacheName(string $cacheName): void } } +if (!function_exists('validateTopicName')) { + function validateTopicName(string $topicName): void + { + validateNullOrEmpty($topicName, "Topic name"); + } +} + if (!function_exists('validateKeys')) { function validateKeys(array $keys): void { diff --git a/types/Auth/_GenerateApiTokenRequest.php b/types/Auth/_GenerateApiTokenRequest.php index 21534104..318bc982 100644 --- a/types/Auth/_GenerateApiTokenRequest.php +++ b/types/Auth/_GenerateApiTokenRequest.php @@ -18,9 +18,17 @@ class _GenerateApiTokenRequest extends \Google\Protobuf\Internal\Message */ protected $auth_token = ''; /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.Permissions permissions = 4; + * Generated from protobuf field .permission_messages.Permissions permissions = 4; */ protected $permissions = null; + /** + * Generated from protobuf field string token_id = 5; + */ + protected $token_id = ''; + /** + * Generated from protobuf field string description = 6; + */ + protected $description = ''; protected $expiry; /** @@ -32,7 +40,9 @@ class _GenerateApiTokenRequest extends \Google\Protobuf\Internal\Message * @type \Auth\_GenerateApiTokenRequest\Never $never * @type \Auth\_GenerateApiTokenRequest\Expires $expires * @type string $auth_token - * @type \Auth\_GenerateApiTokenRequest\Permissions $permissions + * @type \Permission_messages\Permissions $permissions + * @type string $token_id + * @type string $description * } */ public function __construct($data = NULL) { @@ -117,8 +127,8 @@ public function setAuthToken($var) } /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.Permissions permissions = 4; - * @return \Auth\_GenerateApiTokenRequest\Permissions|null + * Generated from protobuf field .permission_messages.Permissions permissions = 4; + * @return \Permission_messages\Permissions|null */ public function getPermissions() { @@ -136,18 +146,62 @@ public function clearPermissions() } /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.Permissions permissions = 4; - * @param \Auth\_GenerateApiTokenRequest\Permissions $var + * Generated from protobuf field .permission_messages.Permissions permissions = 4; + * @param \Permission_messages\Permissions $var * @return $this */ public function setPermissions($var) { - GPBUtil::checkMessage($var, \Auth\_GenerateApiTokenRequest\Permissions::class); + GPBUtil::checkMessage($var, \Permission_messages\Permissions::class); $this->permissions = $var; return $this; } + /** + * Generated from protobuf field string token_id = 5; + * @return string + */ + public function getTokenId() + { + return $this->token_id; + } + + /** + * Generated from protobuf field string token_id = 5; + * @param string $var + * @return $this + */ + public function setTokenId($var) + { + GPBUtil::checkString($var, True); + $this->token_id = $var; + + return $this; + } + + /** + * Generated from protobuf field string description = 6; + * @return string + */ + public function getDescription() + { + return $this->description; + } + + /** + * Generated from protobuf field string description = 6; + * @param string $var + * @return $this + */ + public function setDescription($var) + { + GPBUtil::checkString($var, True); + $this->description = $var; + + return $this; + } + /** * @return string */ diff --git a/types/Auth/_GenerateApiTokenRequest/CacheRole.php b/types/Auth/_GenerateApiTokenRequest/CacheRole.php deleted file mode 100644 index ff4b1afb..00000000 --- a/types/Auth/_GenerateApiTokenRequest/CacheRole.php +++ /dev/null @@ -1,55 +0,0 @@ -auth._GenerateApiTokenRequest.CacheRole - */ -class CacheRole -{ - /** - * Generated from protobuf enum CachePermitNone = 0; - */ - const CachePermitNone = 0; - /** - * Restricts access to apis that read and write data from caches: No higher level resource description or modification. - * - * Generated from protobuf enum CacheReadWrite = 1; - */ - const CacheReadWrite = 1; - - private static $valueToName = [ - self::CachePermitNone => 'CachePermitNone', - self::CacheReadWrite => 'CacheReadWrite', - ]; - - public static function name($value) - { - if (!isset(self::$valueToName[$value])) { - throw new UnexpectedValueException(sprintf( - 'Enum %s has no name defined for value %s', __CLASS__, $value)); - } - return self::$valueToName[$value]; - } - - - public static function value($name) - { - $const = __CLASS__ . '::' . strtoupper($name); - if (!defined($const)) { - throw new UnexpectedValueException(sprintf( - 'Enum %s has no value defined for name %s', __CLASS__, $name)); - } - return constant($const); - } -} - -// Adding a class alias for backwards compatibility with the previous class name. -class_alias(CacheRole::class, \Auth\_GenerateApiTokenRequest_CacheRole::class); - diff --git a/types/Auth/_GenerateApiTokenRequest/ExplicitPermissions.php b/types/Auth/_GenerateApiTokenRequest/ExplicitPermissions.php deleted file mode 100644 index fb92ff88..00000000 --- a/types/Auth/_GenerateApiTokenRequest/ExplicitPermissions.php +++ /dev/null @@ -1,61 +0,0 @@ -auth._GenerateApiTokenRequest.ExplicitPermissions - */ -class ExplicitPermissions extends \Google\Protobuf\Internal\Message -{ - /** - * Generated from protobuf field repeated .auth._GenerateApiTokenRequest.PermissionsType permissions = 1; - */ - private $permissions; - - /** - * Constructor. - * - * @param array $data { - * Optional. Data for populating the Message object. - * - * @type \Auth\_GenerateApiTokenRequest\PermissionsType[]|\Google\Protobuf\Internal\RepeatedField $permissions - * } - */ - public function __construct($data = NULL) { - \GPBMetadata\Auth::initOnce(); - parent::__construct($data); - } - - /** - * Generated from protobuf field repeated .auth._GenerateApiTokenRequest.PermissionsType permissions = 1; - * @return \Google\Protobuf\Internal\RepeatedField - */ - public function getPermissions() - { - return $this->permissions; - } - - /** - * Generated from protobuf field repeated .auth._GenerateApiTokenRequest.PermissionsType permissions = 1; - * @param \Auth\_GenerateApiTokenRequest\PermissionsType[]|\Google\Protobuf\Internal\RepeatedField $var - * @return $this - */ - public function setPermissions($var) - { - $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Auth\_GenerateApiTokenRequest\PermissionsType::class); - $this->permissions = $arr; - - return $this; - } - -} - -// Adding a class alias for backwards compatibility with the previous class name. -class_alias(ExplicitPermissions::class, \Auth\_GenerateApiTokenRequest_ExplicitPermissions::class); - diff --git a/types/Auth/_GenerateApiTokenRequest/Permissions.php b/types/Auth/_GenerateApiTokenRequest/Permissions.php deleted file mode 100644 index a958a139..00000000 --- a/types/Auth/_GenerateApiTokenRequest/Permissions.php +++ /dev/null @@ -1,99 +0,0 @@ -auth._GenerateApiTokenRequest.Permissions - */ -class Permissions extends \Google\Protobuf\Internal\Message -{ - protected $kind; - - /** - * Constructor. - * - * @param array $data { - * Optional. Data for populating the Message object. - * - * @type int $super_user - * @type \Auth\_GenerateApiTokenRequest\ExplicitPermissions $explicit - * } - */ - public function __construct($data = NULL) { - \GPBMetadata\Auth::initOnce(); - parent::__construct($data); - } - - /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.SuperUserPermissions super_user = 1; - * @return int - */ - public function getSuperUser() - { - return $this->readOneof(1); - } - - public function hasSuperUser() - { - return $this->hasOneof(1); - } - - /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.SuperUserPermissions super_user = 1; - * @param int $var - * @return $this - */ - public function setSuperUser($var) - { - GPBUtil::checkEnum($var, \Auth\_GenerateApiTokenRequest\SuperUserPermissions::class); - $this->writeOneof(1, $var); - - return $this; - } - - /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.ExplicitPermissions explicit = 2; - * @return \Auth\_GenerateApiTokenRequest\ExplicitPermissions|null - */ - public function getExplicit() - { - return $this->readOneof(2); - } - - public function hasExplicit() - { - return $this->hasOneof(2); - } - - /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.ExplicitPermissions explicit = 2; - * @param \Auth\_GenerateApiTokenRequest\ExplicitPermissions $var - * @return $this - */ - public function setExplicit($var) - { - GPBUtil::checkMessage($var, \Auth\_GenerateApiTokenRequest\ExplicitPermissions::class); - $this->writeOneof(2, $var); - - return $this; - } - - /** - * @return string - */ - public function getKind() - { - return $this->whichOneof("kind"); - } - -} - -// Adding a class alias for backwards compatibility with the previous class name. -class_alias(Permissions::class, \Auth\_GenerateApiTokenRequest_Permissions::class); - diff --git a/types/Auth/_GenerateApiTokenRequest/PermissionsType.php b/types/Auth/_GenerateApiTokenRequest/PermissionsType.php deleted file mode 100644 index 93ec064e..00000000 --- a/types/Auth/_GenerateApiTokenRequest/PermissionsType.php +++ /dev/null @@ -1,99 +0,0 @@ -auth._GenerateApiTokenRequest.PermissionsType - */ -class PermissionsType extends \Google\Protobuf\Internal\Message -{ - protected $kind; - - /** - * Constructor. - * - * @param array $data { - * Optional. Data for populating the Message object. - * - * @type \Auth\_GenerateApiTokenRequest\PermissionsType\CachePermissions $cache_permissions - * @type \Auth\_GenerateApiTokenRequest\PermissionsType\TopicPermissions $topic_permissions - * } - */ - public function __construct($data = NULL) { - \GPBMetadata\Auth::initOnce(); - parent::__construct($data); - } - - /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.PermissionsType.CachePermissions cache_permissions = 1; - * @return \Auth\_GenerateApiTokenRequest\PermissionsType\CachePermissions|null - */ - public function getCachePermissions() - { - return $this->readOneof(1); - } - - public function hasCachePermissions() - { - return $this->hasOneof(1); - } - - /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.PermissionsType.CachePermissions cache_permissions = 1; - * @param \Auth\_GenerateApiTokenRequest\PermissionsType\CachePermissions $var - * @return $this - */ - public function setCachePermissions($var) - { - GPBUtil::checkMessage($var, \Auth\_GenerateApiTokenRequest\PermissionsType\CachePermissions::class); - $this->writeOneof(1, $var); - - return $this; - } - - /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.PermissionsType.TopicPermissions topic_permissions = 2; - * @return \Auth\_GenerateApiTokenRequest\PermissionsType\TopicPermissions|null - */ - public function getTopicPermissions() - { - return $this->readOneof(2); - } - - public function hasTopicPermissions() - { - return $this->hasOneof(2); - } - - /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.PermissionsType.TopicPermissions topic_permissions = 2; - * @param \Auth\_GenerateApiTokenRequest\PermissionsType\TopicPermissions $var - * @return $this - */ - public function setTopicPermissions($var) - { - GPBUtil::checkMessage($var, \Auth\_GenerateApiTokenRequest\PermissionsType\TopicPermissions::class); - $this->writeOneof(2, $var); - - return $this; - } - - /** - * @return string - */ - public function getKind() - { - return $this->whichOneof("kind"); - } - -} - -// Adding a class alias for backwards compatibility with the previous class name. -class_alias(PermissionsType::class, \Auth\_GenerateApiTokenRequest_PermissionsType::class); - diff --git a/types/Auth/_GenerateApiTokenRequest/PermissionsType/CachePermissions.php b/types/Auth/_GenerateApiTokenRequest/PermissionsType/CachePermissions.php deleted file mode 100644 index bfb268b9..00000000 --- a/types/Auth/_GenerateApiTokenRequest/PermissionsType/CachePermissions.php +++ /dev/null @@ -1,61 +0,0 @@ -auth._GenerateApiTokenRequest.PermissionsType.CachePermissions - */ -class CachePermissions extends \Google\Protobuf\Internal\Message -{ - /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.CacheRole role = 1; - */ - protected $role = 0; - - /** - * Constructor. - * - * @param array $data { - * Optional. Data for populating the Message object. - * - * @type int $role - * } - */ - public function __construct($data = NULL) { - \GPBMetadata\Auth::initOnce(); - parent::__construct($data); - } - - /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.CacheRole role = 1; - * @return int - */ - public function getRole() - { - return $this->role; - } - - /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.CacheRole role = 1; - * @param int $var - * @return $this - */ - public function setRole($var) - { - GPBUtil::checkEnum($var, \Auth\_GenerateApiTokenRequest\CacheRole::class); - $this->role = $var; - - return $this; - } - -} - -// Adding a class alias for backwards compatibility with the previous class name. -class_alias(CachePermissions::class, \Auth\_GenerateApiTokenRequest_PermissionsType_CachePermissions::class); - diff --git a/types/Auth/_GenerateApiTokenRequest/PermissionsType/TopicPermissions.php b/types/Auth/_GenerateApiTokenRequest/PermissionsType/TopicPermissions.php deleted file mode 100644 index 2c237395..00000000 --- a/types/Auth/_GenerateApiTokenRequest/PermissionsType/TopicPermissions.php +++ /dev/null @@ -1,61 +0,0 @@ -auth._GenerateApiTokenRequest.PermissionsType.TopicPermissions - */ -class TopicPermissions extends \Google\Protobuf\Internal\Message -{ - /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.TopicRole role = 1; - */ - protected $role = 0; - - /** - * Constructor. - * - * @param array $data { - * Optional. Data for populating the Message object. - * - * @type int $role - * } - */ - public function __construct($data = NULL) { - \GPBMetadata\Auth::initOnce(); - parent::__construct($data); - } - - /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.TopicRole role = 1; - * @return int - */ - public function getRole() - { - return $this->role; - } - - /** - * Generated from protobuf field .auth._GenerateApiTokenRequest.TopicRole role = 1; - * @param int $var - * @return $this - */ - public function setRole($var) - { - GPBUtil::checkEnum($var, \Auth\_GenerateApiTokenRequest\TopicRole::class); - $this->role = $var; - - return $this; - } - -} - -// Adding a class alias for backwards compatibility with the previous class name. -class_alias(TopicPermissions::class, \Auth\_GenerateApiTokenRequest_PermissionsType_TopicPermissions::class); - diff --git a/types/Auth/_GenerateApiTokenRequest/TopicRole.php b/types/Auth/_GenerateApiTokenRequest/TopicRole.php deleted file mode 100644 index c798b8da..00000000 --- a/types/Auth/_GenerateApiTokenRequest/TopicRole.php +++ /dev/null @@ -1,55 +0,0 @@ -auth._GenerateApiTokenRequest.TopicRole - */ -class TopicRole -{ - /** - * Generated from protobuf enum TopicPermitNone = 0; - */ - const TopicPermitNone = 0; - /** - * Restricts access to apis that read and write data from topics: No higher level resource description or modification. - * - * Generated from protobuf enum TopicReadWrite = 1; - */ - const TopicReadWrite = 1; - - private static $valueToName = [ - self::TopicPermitNone => 'TopicPermitNone', - self::TopicReadWrite => 'TopicReadWrite', - ]; - - public static function name($value) - { - if (!isset(self::$valueToName[$value])) { - throw new UnexpectedValueException(sprintf( - 'Enum %s has no name defined for value %s', __CLASS__, $value)); - } - return self::$valueToName[$value]; - } - - - public static function value($name) - { - $const = __CLASS__ . '::' . strtoupper($name); - if (!defined($const)) { - throw new UnexpectedValueException(sprintf( - 'Enum %s has no value defined for name %s', __CLASS__, $name)); - } - return constant($const); - } -} - -// Adding a class alias for backwards compatibility with the previous class name. -class_alias(TopicRole::class, \Auth\_GenerateApiTokenRequest_TopicRole::class); - diff --git a/types/Auth/_GenerateApiTokenRequest_CacheRole.php b/types/Auth/_GenerateApiTokenRequest_CacheRole.php deleted file mode 100644 index 81343d42..00000000 --- a/types/Auth/_GenerateApiTokenRequest_CacheRole.php +++ /dev/null @@ -1,16 +0,0 @@ -_simpleRequest('/cache_client.pubsub.Pubsub/Publish', + $argument, + ['\Cache_client\Pubsub\_Empty', 'decode'], + $metadata, $options); + } + + /** + * Subscribe to notifications from a topic. + * + * You will receive a stream of values and (hopefully occasional) discontinuities. + * Values will appear as copies of the payloads you Publish() to the topic. + * + * REQUIRES HEADER authorization: Momento auth token + * @param \Cache_client\Pubsub\_SubscriptionRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\ServerStreamingCall + */ + public function Subscribe(\Cache_client\Pubsub\_SubscriptionRequest $argument, + $metadata = [], $options = []) { + return $this->_serverStreamRequest('/cache_client.pubsub.Pubsub/Subscribe', + $argument, + ['\Cache_client\Pubsub\_SubscriptionItem', 'decode'], + $metadata, $options); + } + +} diff --git a/types/Cache_client/Pubsub/_Discontinuity.php b/types/Cache_client/Pubsub/_Discontinuity.php new file mode 100644 index 00000000..8f34e11f --- /dev/null +++ b/types/Cache_client/Pubsub/_Discontinuity.php @@ -0,0 +1,103 @@ +cache_client.pubsub._Discontinuity + */ +class _Discontinuity extends \Google\Protobuf\Internal\Message +{ + /** + * The last topic value sequence number known to have been attempted (if known, 0 otherwise). + * + * Generated from protobuf field uint64 last_topic_sequence = 1; + */ + protected $last_topic_sequence = 0; + /** + * The new topic sequence number after which TopicItems will ostensibly resume. + * + * Generated from protobuf field uint64 new_topic_sequence = 2; + */ + protected $new_topic_sequence = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $last_topic_sequence + * The last topic value sequence number known to have been attempted (if known, 0 otherwise). + * @type int|string $new_topic_sequence + * The new topic sequence number after which TopicItems will ostensibly resume. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cachepubsub::initOnce(); + parent::__construct($data); + } + + /** + * The last topic value sequence number known to have been attempted (if known, 0 otherwise). + * + * Generated from protobuf field uint64 last_topic_sequence = 1; + * @return int|string + */ + public function getLastTopicSequence() + { + return $this->last_topic_sequence; + } + + /** + * The last topic value sequence number known to have been attempted (if known, 0 otherwise). + * + * Generated from protobuf field uint64 last_topic_sequence = 1; + * @param int|string $var + * @return $this + */ + public function setLastTopicSequence($var) + { + GPBUtil::checkUint64($var); + $this->last_topic_sequence = $var; + + return $this; + } + + /** + * The new topic sequence number after which TopicItems will ostensibly resume. + * + * Generated from protobuf field uint64 new_topic_sequence = 2; + * @return int|string + */ + public function getNewTopicSequence() + { + return $this->new_topic_sequence; + } + + /** + * The new topic sequence number after which TopicItems will ostensibly resume. + * + * Generated from protobuf field uint64 new_topic_sequence = 2; + * @param int|string $var + * @return $this + */ + public function setNewTopicSequence($var) + { + GPBUtil::checkUint64($var); + $this->new_topic_sequence = $var; + + return $this; + } + +} + diff --git a/types/Cache_client/Pubsub/_Empty.php b/types/Cache_client/Pubsub/_Empty.php new file mode 100644 index 00000000..d6659d89 --- /dev/null +++ b/types/Cache_client/Pubsub/_Empty.php @@ -0,0 +1,31 @@ +cache_client.pubsub._Empty + */ +class _Empty extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cachepubsub::initOnce(); + parent::__construct($data); + } + +} + diff --git a/types/Cache_client/Pubsub/_Heartbeat.php b/types/Cache_client/Pubsub/_Heartbeat.php new file mode 100644 index 00000000..8f5e2ab9 --- /dev/null +++ b/types/Cache_client/Pubsub/_Heartbeat.php @@ -0,0 +1,39 @@ +cache_client.pubsub._Heartbeat + */ +class _Heartbeat extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cachepubsub::initOnce(); + parent::__construct($data); + } + +} + diff --git a/types/Cache_client/Pubsub/_PublishRequest.php b/types/Cache_client/Pubsub/_PublishRequest.php new file mode 100644 index 00000000..70e0dff2 --- /dev/null +++ b/types/Cache_client/Pubsub/_PublishRequest.php @@ -0,0 +1,149 @@ +cache_client.pubsub._PublishRequest + */ +class _PublishRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Cache namespace for the topic to which you want to send the value. + * + * Generated from protobuf field string cache_name = 1; + */ + protected $cache_name = ''; + /** + * The literal topic name to which you want to send the value. + * + * Generated from protobuf field string topic = 2; + */ + protected $topic = ''; + /** + * The value you want to send to the topic. All current subscribers will receive + * this, should the whims of the Internet prove merciful. + * + * Generated from protobuf field .cache_client.pubsub._TopicValue value = 3; + */ + protected $value = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $cache_name + * Cache namespace for the topic to which you want to send the value. + * @type string $topic + * The literal topic name to which you want to send the value. + * @type \Cache_client\Pubsub\_TopicValue $value + * The value you want to send to the topic. All current subscribers will receive + * this, should the whims of the Internet prove merciful. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cachepubsub::initOnce(); + parent::__construct($data); + } + + /** + * Cache namespace for the topic to which you want to send the value. + * + * Generated from protobuf field string cache_name = 1; + * @return string + */ + public function getCacheName() + { + return $this->cache_name; + } + + /** + * Cache namespace for the topic to which you want to send the value. + * + * Generated from protobuf field string cache_name = 1; + * @param string $var + * @return $this + */ + public function setCacheName($var) + { + GPBUtil::checkString($var, True); + $this->cache_name = $var; + + return $this; + } + + /** + * The literal topic name to which you want to send the value. + * + * Generated from protobuf field string topic = 2; + * @return string + */ + public function getTopic() + { + return $this->topic; + } + + /** + * The literal topic name to which you want to send the value. + * + * Generated from protobuf field string topic = 2; + * @param string $var + * @return $this + */ + public function setTopic($var) + { + GPBUtil::checkString($var, True); + $this->topic = $var; + + return $this; + } + + /** + * The value you want to send to the topic. All current subscribers will receive + * this, should the whims of the Internet prove merciful. + * + * Generated from protobuf field .cache_client.pubsub._TopicValue value = 3; + * @return \Cache_client\Pubsub\_TopicValue|null + */ + public function getValue() + { + return $this->value; + } + + public function hasValue() + { + return isset($this->value); + } + + public function clearValue() + { + unset($this->value); + } + + /** + * The value you want to send to the topic. All current subscribers will receive + * this, should the whims of the Internet prove merciful. + * + * Generated from protobuf field .cache_client.pubsub._TopicValue value = 3; + * @param \Cache_client\Pubsub\_TopicValue $var + * @return $this + */ + public function setValue($var) + { + GPBUtil::checkMessage($var, \Cache_client\Pubsub\_TopicValue::class); + $this->value = $var; + + return $this; + } + +} + diff --git a/types/Cache_client/Pubsub/_SubscriptionItem.php b/types/Cache_client/Pubsub/_SubscriptionItem.php new file mode 100644 index 00000000..9c8282f8 --- /dev/null +++ b/types/Cache_client/Pubsub/_SubscriptionItem.php @@ -0,0 +1,152 @@ +cache_client.pubsub._SubscriptionItem + */ +class _SubscriptionItem extends \Google\Protobuf\Internal\Message +{ + protected $kind; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Cache_client\Pubsub\_TopicItem $item + * The subscription has yielded an item you previously published. + * @type \Cache_client\Pubsub\_Discontinuity $discontinuity + * Momento wants to let you know we detected some possible inconsistency at this + * point in the subscription stream. + * A lack of a discontinuity does not mean the subscription is guaranteed to be + * strictly perfect, but the presence of a discontinuity is very likely to + * @type \Cache_client\Pubsub\_Heartbeat $heartbeat + * The stream is still working, there's nothing to see here. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cachepubsub::initOnce(); + parent::__construct($data); + } + + /** + * The subscription has yielded an item you previously published. + * + * Generated from protobuf field .cache_client.pubsub._TopicItem item = 1; + * @return \Cache_client\Pubsub\_TopicItem|null + */ + public function getItem() + { + return $this->readOneof(1); + } + + public function hasItem() + { + return $this->hasOneof(1); + } + + /** + * The subscription has yielded an item you previously published. + * + * Generated from protobuf field .cache_client.pubsub._TopicItem item = 1; + * @param \Cache_client\Pubsub\_TopicItem $var + * @return $this + */ + public function setItem($var) + { + GPBUtil::checkMessage($var, \Cache_client\Pubsub\_TopicItem::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Momento wants to let you know we detected some possible inconsistency at this + * point in the subscription stream. + * A lack of a discontinuity does not mean the subscription is guaranteed to be + * strictly perfect, but the presence of a discontinuity is very likely to + * + * Generated from protobuf field .cache_client.pubsub._Discontinuity discontinuity = 2; + * @return \Cache_client\Pubsub\_Discontinuity|null + */ + public function getDiscontinuity() + { + return $this->readOneof(2); + } + + public function hasDiscontinuity() + { + return $this->hasOneof(2); + } + + /** + * Momento wants to let you know we detected some possible inconsistency at this + * point in the subscription stream. + * A lack of a discontinuity does not mean the subscription is guaranteed to be + * strictly perfect, but the presence of a discontinuity is very likely to + * + * Generated from protobuf field .cache_client.pubsub._Discontinuity discontinuity = 2; + * @param \Cache_client\Pubsub\_Discontinuity $var + * @return $this + */ + public function setDiscontinuity($var) + { + GPBUtil::checkMessage($var, \Cache_client\Pubsub\_Discontinuity::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * The stream is still working, there's nothing to see here. + * + * Generated from protobuf field .cache_client.pubsub._Heartbeat heartbeat = 3; + * @return \Cache_client\Pubsub\_Heartbeat|null + */ + public function getHeartbeat() + { + return $this->readOneof(3); + } + + public function hasHeartbeat() + { + return $this->hasOneof(3); + } + + /** + * The stream is still working, there's nothing to see here. + * + * Generated from protobuf field .cache_client.pubsub._Heartbeat heartbeat = 3; + * @param \Cache_client\Pubsub\_Heartbeat $var + * @return $this + */ + public function setHeartbeat($var) + { + GPBUtil::checkMessage($var, \Cache_client\Pubsub\_Heartbeat::class); + $this->writeOneof(3, $var); + + return $this; + } + + /** + * @return string + */ + public function getKind() + { + return $this->whichOneof("kind"); + } + +} + diff --git a/types/Cache_client/Pubsub/_SubscriptionRequest.php b/types/Cache_client/Pubsub/_SubscriptionRequest.php new file mode 100644 index 00000000..97fc8951 --- /dev/null +++ b/types/Cache_client/Pubsub/_SubscriptionRequest.php @@ -0,0 +1,151 @@ +cache_client.pubsub._SubscriptionRequest + */ +class _SubscriptionRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Cache namespace for the topic to which you want to subscribe. + * + * Generated from protobuf field string cache_name = 1; + */ + protected $cache_name = ''; + /** + * The literal topic name to which you want to subscribe. + * + * Generated from protobuf field string topic = 2; + */ + protected $topic = ''; + /** + * --> Providing this is not required. <-- + * If provided, attempt to reconnect to the topic and replay messages starting from + * the provided sequence number. You may get a discontinuity if some (or all) of the + * messages are not available. + * If not provided (or 0), the subscription will begin with the latest messages. + * + * Generated from protobuf field uint64 resume_at_topic_sequence_number = 3; + */ + protected $resume_at_topic_sequence_number = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $cache_name + * Cache namespace for the topic to which you want to subscribe. + * @type string $topic + * The literal topic name to which you want to subscribe. + * @type int|string $resume_at_topic_sequence_number + * --> Providing this is not required. <-- + * If provided, attempt to reconnect to the topic and replay messages starting from + * the provided sequence number. You may get a discontinuity if some (or all) of the + * messages are not available. + * If not provided (or 0), the subscription will begin with the latest messages. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cachepubsub::initOnce(); + parent::__construct($data); + } + + /** + * Cache namespace for the topic to which you want to subscribe. + * + * Generated from protobuf field string cache_name = 1; + * @return string + */ + public function getCacheName() + { + return $this->cache_name; + } + + /** + * Cache namespace for the topic to which you want to subscribe. + * + * Generated from protobuf field string cache_name = 1; + * @param string $var + * @return $this + */ + public function setCacheName($var) + { + GPBUtil::checkString($var, True); + $this->cache_name = $var; + + return $this; + } + + /** + * The literal topic name to which you want to subscribe. + * + * Generated from protobuf field string topic = 2; + * @return string + */ + public function getTopic() + { + return $this->topic; + } + + /** + * The literal topic name to which you want to subscribe. + * + * Generated from protobuf field string topic = 2; + * @param string $var + * @return $this + */ + public function setTopic($var) + { + GPBUtil::checkString($var, True); + $this->topic = $var; + + return $this; + } + + /** + * --> Providing this is not required. <-- + * If provided, attempt to reconnect to the topic and replay messages starting from + * the provided sequence number. You may get a discontinuity if some (or all) of the + * messages are not available. + * If not provided (or 0), the subscription will begin with the latest messages. + * + * Generated from protobuf field uint64 resume_at_topic_sequence_number = 3; + * @return int|string + */ + public function getResumeAtTopicSequenceNumber() + { + return $this->resume_at_topic_sequence_number; + } + + /** + * --> Providing this is not required. <-- + * If provided, attempt to reconnect to the topic and replay messages starting from + * the provided sequence number. You may get a discontinuity if some (or all) of the + * messages are not available. + * If not provided (or 0), the subscription will begin with the latest messages. + * + * Generated from protobuf field uint64 resume_at_topic_sequence_number = 3; + * @param int|string $var + * @return $this + */ + public function setResumeAtTopicSequenceNumber($var) + { + GPBUtil::checkUint64($var); + $this->resume_at_topic_sequence_number = $var; + + return $this; + } + +} + diff --git a/types/Cache_client/Pubsub/_TopicItem.php b/types/Cache_client/Pubsub/_TopicItem.php new file mode 100644 index 00000000..2730dff6 --- /dev/null +++ b/types/Cache_client/Pubsub/_TopicItem.php @@ -0,0 +1,173 @@ +cache_client.pubsub._TopicItem + */ +class _TopicItem extends \Google\Protobuf\Internal\Message +{ + /** + * Topic sequence numbers are **best-effort** and **informational**. + * They are not transactional. + * They exist: + * * to help reconnect to an existing topic while trying to avoid missing items. + * * to facilitate richer monitoring and logging. + * * to provide a best-effort awareness of stream contiguity, or lack thereof, + * in case you need to know. + * You can safely ignore them if none of that matters to you! + * + * Generated from protobuf field uint64 topic_sequence_number = 1; + */ + protected $topic_sequence_number = 0; + /** + * The value you previously published to this topic. + * + * Generated from protobuf field .cache_client.pubsub._TopicValue value = 2; + */ + protected $value = null; + /** + * Authenticated id from Publisher's disposable token + * + * Generated from protobuf field string publisher_id = 3; + */ + protected $publisher_id = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $topic_sequence_number + * Topic sequence numbers are **best-effort** and **informational**. + * They are not transactional. + * They exist: + * * to help reconnect to an existing topic while trying to avoid missing items. + * * to facilitate richer monitoring and logging. + * * to provide a best-effort awareness of stream contiguity, or lack thereof, + * in case you need to know. + * You can safely ignore them if none of that matters to you! + * @type \Cache_client\Pubsub\_TopicValue $value + * The value you previously published to this topic. + * @type string $publisher_id + * Authenticated id from Publisher's disposable token + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cachepubsub::initOnce(); + parent::__construct($data); + } + + /** + * Topic sequence numbers are **best-effort** and **informational**. + * They are not transactional. + * They exist: + * * to help reconnect to an existing topic while trying to avoid missing items. + * * to facilitate richer monitoring and logging. + * * to provide a best-effort awareness of stream contiguity, or lack thereof, + * in case you need to know. + * You can safely ignore them if none of that matters to you! + * + * Generated from protobuf field uint64 topic_sequence_number = 1; + * @return int|string + */ + public function getTopicSequenceNumber() + { + return $this->topic_sequence_number; + } + + /** + * Topic sequence numbers are **best-effort** and **informational**. + * They are not transactional. + * They exist: + * * to help reconnect to an existing topic while trying to avoid missing items. + * * to facilitate richer monitoring and logging. + * * to provide a best-effort awareness of stream contiguity, or lack thereof, + * in case you need to know. + * You can safely ignore them if none of that matters to you! + * + * Generated from protobuf field uint64 topic_sequence_number = 1; + * @param int|string $var + * @return $this + */ + public function setTopicSequenceNumber($var) + { + GPBUtil::checkUint64($var); + $this->topic_sequence_number = $var; + + return $this; + } + + /** + * The value you previously published to this topic. + * + * Generated from protobuf field .cache_client.pubsub._TopicValue value = 2; + * @return \Cache_client\Pubsub\_TopicValue|null + */ + public function getValue() + { + return $this->value; + } + + public function hasValue() + { + return isset($this->value); + } + + public function clearValue() + { + unset($this->value); + } + + /** + * The value you previously published to this topic. + * + * Generated from protobuf field .cache_client.pubsub._TopicValue value = 2; + * @param \Cache_client\Pubsub\_TopicValue $var + * @return $this + */ + public function setValue($var) + { + GPBUtil::checkMessage($var, \Cache_client\Pubsub\_TopicValue::class); + $this->value = $var; + + return $this; + } + + /** + * Authenticated id from Publisher's disposable token + * + * Generated from protobuf field string publisher_id = 3; + * @return string + */ + public function getPublisherId() + { + return $this->publisher_id; + } + + /** + * Authenticated id from Publisher's disposable token + * + * Generated from protobuf field string publisher_id = 3; + * @param string $var + * @return $this + */ + public function setPublisherId($var) + { + GPBUtil::checkString($var, True); + $this->publisher_id = $var; + + return $this; + } + +} + diff --git a/types/Cache_client/Pubsub/_TopicValue.php b/types/Cache_client/Pubsub/_TopicValue.php new file mode 100644 index 00000000..8f519b0d --- /dev/null +++ b/types/Cache_client/Pubsub/_TopicValue.php @@ -0,0 +1,98 @@ +cache_client.pubsub._TopicValue + */ +class _TopicValue extends \Google\Protobuf\Internal\Message +{ + protected $kind; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $text + * @type string $binary + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cachepubsub::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field string text = 1; + * @return string + */ + public function getText() + { + return $this->readOneof(1); + } + + public function hasText() + { + return $this->hasOneof(1); + } + + /** + * Generated from protobuf field string text = 1; + * @param string $var + * @return $this + */ + public function setText($var) + { + GPBUtil::checkString($var, True); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Generated from protobuf field bytes binary = 2; + * @return string + */ + public function getBinary() + { + return $this->readOneof(2); + } + + public function hasBinary() + { + return $this->hasOneof(2); + } + + /** + * Generated from protobuf field bytes binary = 2; + * @param string $var + * @return $this + */ + public function setBinary($var) + { + GPBUtil::checkString($var, False); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getKind() + { + return $this->whichOneof("kind"); + } + +} + diff --git a/types/Cache_client/ScsClient.php b/types/Cache_client/ScsClient.php index 743dafb1..ef0dd4fc 100644 --- a/types/Cache_client/ScsClient.php +++ b/types/Cache_client/ScsClient.php @@ -296,6 +296,20 @@ public function SetLength(\Cache_client\_SetLengthRequest $argument, $metadata, $options); } + /** + * @param \Cache_client\_SetPopRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function SetPop(\Cache_client\_SetPopRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/cache_client.Scs/SetPop', + $argument, + ['\Cache_client\_SetPopResponse', 'decode'], + $metadata, $options); + } + /** * @param \Cache_client\_ListPushFrontRequest $argument input argument * @param array $metadata metadata @@ -555,4 +569,34 @@ public function SortedSetGetRank(\Cache_client\_SortedSetGetRankRequest $argumen $metadata, $options); } + /** + * Returns length of the sorted set + * @param \Cache_client\_SortedSetLengthRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function SortedSetLength(\Cache_client\_SortedSetLengthRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/cache_client.Scs/SortedSetLength', + $argument, + ['\Cache_client\_SortedSetLengthResponse', 'decode'], + $metadata, $options); + } + + /** + * Returns number of elements in the sorted set between a given min and max score + * @param \Cache_client\_SortedSetLengthByScoreRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function SortedSetLengthByScore(\Cache_client\_SortedSetLengthByScoreRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/cache_client.Scs/SortedSetLengthByScore', + $argument, + ['\Cache_client\_SortedSetLengthByScoreResponse', 'decode'], + $metadata, $options); + } + } diff --git a/types/Cache_client/_SetPopRequest.php b/types/Cache_client/_SetPopRequest.php new file mode 100644 index 00000000..0ca74d2d --- /dev/null +++ b/types/Cache_client/_SetPopRequest.php @@ -0,0 +1,85 @@ +cache_client._SetPopRequest + */ +class _SetPopRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field bytes set_name = 1; + */ + protected $set_name = ''; + /** + * Generated from protobuf field uint32 count = 2; + */ + protected $count = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $set_name + * @type int $count + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cacheclient::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field bytes set_name = 1; + * @return string + */ + public function getSetName() + { + return $this->set_name; + } + + /** + * Generated from protobuf field bytes set_name = 1; + * @param string $var + * @return $this + */ + public function setSetName($var) + { + GPBUtil::checkString($var, False); + $this->set_name = $var; + + return $this; + } + + /** + * Generated from protobuf field uint32 count = 2; + * @return int + */ + public function getCount() + { + return $this->count; + } + + /** + * Generated from protobuf field uint32 count = 2; + * @param int $var + * @return $this + */ + public function setCount($var) + { + GPBUtil::checkUint32($var); + $this->count = $var; + + return $this; + } + +} + diff --git a/types/Cache_client/_SetPopResponse.php b/types/Cache_client/_SetPopResponse.php new file mode 100644 index 00000000..4a8cc524 --- /dev/null +++ b/types/Cache_client/_SetPopResponse.php @@ -0,0 +1,96 @@ +cache_client._SetPopResponse + */ +class _SetPopResponse extends \Google\Protobuf\Internal\Message +{ + protected $set; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Cache_client\_SetPopResponse\_Found $found + * @type \Cache_client\_SetPopResponse\_Missing $missing + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cacheclient::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .cache_client._SetPopResponse._Found found = 1; + * @return \Cache_client\_SetPopResponse\_Found|null + */ + public function getFound() + { + return $this->readOneof(1); + } + + public function hasFound() + { + return $this->hasOneof(1); + } + + /** + * Generated from protobuf field .cache_client._SetPopResponse._Found found = 1; + * @param \Cache_client\_SetPopResponse\_Found $var + * @return $this + */ + public function setFound($var) + { + GPBUtil::checkMessage($var, \Cache_client\_SetPopResponse\_Found::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Generated from protobuf field .cache_client._SetPopResponse._Missing missing = 2; + * @return \Cache_client\_SetPopResponse\_Missing|null + */ + public function getMissing() + { + return $this->readOneof(2); + } + + public function hasMissing() + { + return $this->hasOneof(2); + } + + /** + * Generated from protobuf field .cache_client._SetPopResponse._Missing missing = 2; + * @param \Cache_client\_SetPopResponse\_Missing $var + * @return $this + */ + public function setMissing($var) + { + GPBUtil::checkMessage($var, \Cache_client\_SetPopResponse\_Missing::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getSet() + { + return $this->whichOneof("set"); + } + +} + diff --git a/types/Cache_client/_SetPopResponse/_Found.php b/types/Cache_client/_SetPopResponse/_Found.php new file mode 100644 index 00000000..91a870b3 --- /dev/null +++ b/types/Cache_client/_SetPopResponse/_Found.php @@ -0,0 +1,61 @@ +cache_client._SetPopResponse._Found + */ +class _Found extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field repeated bytes elements = 1; + */ + private $elements; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string[]|\Google\Protobuf\Internal\RepeatedField $elements + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cacheclient::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field repeated bytes elements = 1; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getElements() + { + return $this->elements; + } + + /** + * Generated from protobuf field repeated bytes elements = 1; + * @param string[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setElements($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::BYTES); + $this->elements = $arr; + + return $this; + } + +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(_Found::class, \Cache_client\_SetPopResponse__Found::class); + diff --git a/types/Cache_client/_SetPopResponse/_Missing.php b/types/Cache_client/_SetPopResponse/_Missing.php new file mode 100644 index 00000000..4850573f --- /dev/null +++ b/types/Cache_client/_SetPopResponse/_Missing.php @@ -0,0 +1,34 @@ +cache_client._SetPopResponse._Missing + */ +class _Missing extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cacheclient::initOnce(); + parent::__construct($data); + } + +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(_Missing::class, \Cache_client\_SetPopResponse__Missing::class); + diff --git a/types/Cache_client/_SetPopResponse__Found.php b/types/Cache_client/_SetPopResponse__Found.php new file mode 100644 index 00000000..5577b165 --- /dev/null +++ b/types/Cache_client/_SetPopResponse__Found.php @@ -0,0 +1,16 @@ +cache_client._SortedSetLengthByScoreRequest + */ +class _SortedSetLengthByScoreRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field bytes set_name = 1; + */ + protected $set_name = ''; + protected $min; + protected $max; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $set_name + * @type float $inclusive_min + * @type float $exclusive_min + * @type \Cache_client\_Unbounded $unbounded_min + * @type float $inclusive_max + * @type float $exclusive_max + * @type \Cache_client\_Unbounded $unbounded_max + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cacheclient::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field bytes set_name = 1; + * @return string + */ + public function getSetName() + { + return $this->set_name; + } + + /** + * Generated from protobuf field bytes set_name = 1; + * @param string $var + * @return $this + */ + public function setSetName($var) + { + GPBUtil::checkString($var, False); + $this->set_name = $var; + + return $this; + } + + /** + * Generated from protobuf field double inclusive_min = 2; + * @return float + */ + public function getInclusiveMin() + { + return $this->readOneof(2); + } + + public function hasInclusiveMin() + { + return $this->hasOneof(2); + } + + /** + * Generated from protobuf field double inclusive_min = 2; + * @param float $var + * @return $this + */ + public function setInclusiveMin($var) + { + GPBUtil::checkDouble($var); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * Generated from protobuf field double exclusive_min = 3; + * @return float + */ + public function getExclusiveMin() + { + return $this->readOneof(3); + } + + public function hasExclusiveMin() + { + return $this->hasOneof(3); + } + + /** + * Generated from protobuf field double exclusive_min = 3; + * @param float $var + * @return $this + */ + public function setExclusiveMin($var) + { + GPBUtil::checkDouble($var); + $this->writeOneof(3, $var); + + return $this; + } + + /** + * Generated from protobuf field .cache_client._Unbounded unbounded_min = 4; + * @return \Cache_client\_Unbounded|null + */ + public function getUnboundedMin() + { + return $this->readOneof(4); + } + + public function hasUnboundedMin() + { + return $this->hasOneof(4); + } + + /** + * Generated from protobuf field .cache_client._Unbounded unbounded_min = 4; + * @param \Cache_client\_Unbounded $var + * @return $this + */ + public function setUnboundedMin($var) + { + GPBUtil::checkMessage($var, \Cache_client\_Unbounded::class); + $this->writeOneof(4, $var); + + return $this; + } + + /** + * Generated from protobuf field double inclusive_max = 5; + * @return float + */ + public function getInclusiveMax() + { + return $this->readOneof(5); + } + + public function hasInclusiveMax() + { + return $this->hasOneof(5); + } + + /** + * Generated from protobuf field double inclusive_max = 5; + * @param float $var + * @return $this + */ + public function setInclusiveMax($var) + { + GPBUtil::checkDouble($var); + $this->writeOneof(5, $var); + + return $this; + } + + /** + * Generated from protobuf field double exclusive_max = 6; + * @return float + */ + public function getExclusiveMax() + { + return $this->readOneof(6); + } + + public function hasExclusiveMax() + { + return $this->hasOneof(6); + } + + /** + * Generated from protobuf field double exclusive_max = 6; + * @param float $var + * @return $this + */ + public function setExclusiveMax($var) + { + GPBUtil::checkDouble($var); + $this->writeOneof(6, $var); + + return $this; + } + + /** + * Generated from protobuf field .cache_client._Unbounded unbounded_max = 7; + * @return \Cache_client\_Unbounded|null + */ + public function getUnboundedMax() + { + return $this->readOneof(7); + } + + public function hasUnboundedMax() + { + return $this->hasOneof(7); + } + + /** + * Generated from protobuf field .cache_client._Unbounded unbounded_max = 7; + * @param \Cache_client\_Unbounded $var + * @return $this + */ + public function setUnboundedMax($var) + { + GPBUtil::checkMessage($var, \Cache_client\_Unbounded::class); + $this->writeOneof(7, $var); + + return $this; + } + + /** + * @return string + */ + public function getMin() + { + return $this->whichOneof("min"); + } + + /** + * @return string + */ + public function getMax() + { + return $this->whichOneof("max"); + } + +} + diff --git a/types/Cache_client/_SortedSetLengthByScoreResponse.php b/types/Cache_client/_SortedSetLengthByScoreResponse.php new file mode 100644 index 00000000..c80dc7af --- /dev/null +++ b/types/Cache_client/_SortedSetLengthByScoreResponse.php @@ -0,0 +1,96 @@ +cache_client._SortedSetLengthByScoreResponse + */ +class _SortedSetLengthByScoreResponse extends \Google\Protobuf\Internal\Message +{ + protected $sorted_set; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Cache_client\_SortedSetLengthByScoreResponse\_Found $found + * @type \Cache_client\_SortedSetLengthByScoreResponse\_Missing $missing + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cacheclient::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .cache_client._SortedSetLengthByScoreResponse._Found found = 1; + * @return \Cache_client\_SortedSetLengthByScoreResponse\_Found|null + */ + public function getFound() + { + return $this->readOneof(1); + } + + public function hasFound() + { + return $this->hasOneof(1); + } + + /** + * Generated from protobuf field .cache_client._SortedSetLengthByScoreResponse._Found found = 1; + * @param \Cache_client\_SortedSetLengthByScoreResponse\_Found $var + * @return $this + */ + public function setFound($var) + { + GPBUtil::checkMessage($var, \Cache_client\_SortedSetLengthByScoreResponse\_Found::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Generated from protobuf field .cache_client._SortedSetLengthByScoreResponse._Missing missing = 2; + * @return \Cache_client\_SortedSetLengthByScoreResponse\_Missing|null + */ + public function getMissing() + { + return $this->readOneof(2); + } + + public function hasMissing() + { + return $this->hasOneof(2); + } + + /** + * Generated from protobuf field .cache_client._SortedSetLengthByScoreResponse._Missing missing = 2; + * @param \Cache_client\_SortedSetLengthByScoreResponse\_Missing $var + * @return $this + */ + public function setMissing($var) + { + GPBUtil::checkMessage($var, \Cache_client\_SortedSetLengthByScoreResponse\_Missing::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getSortedSet() + { + return $this->whichOneof("sorted_set"); + } + +} + diff --git a/types/Cache_client/_SortedSetLengthByScoreResponse/_Found.php b/types/Cache_client/_SortedSetLengthByScoreResponse/_Found.php new file mode 100644 index 00000000..e28b8df0 --- /dev/null +++ b/types/Cache_client/_SortedSetLengthByScoreResponse/_Found.php @@ -0,0 +1,61 @@ +cache_client._SortedSetLengthByScoreResponse._Found + */ +class _Found extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field uint32 length = 1; + */ + protected $length = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $length + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cacheclient::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field uint32 length = 1; + * @return int + */ + public function getLength() + { + return $this->length; + } + + /** + * Generated from protobuf field uint32 length = 1; + * @param int $var + * @return $this + */ + public function setLength($var) + { + GPBUtil::checkUint32($var); + $this->length = $var; + + return $this; + } + +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(_Found::class, \Cache_client\_SortedSetLengthByScoreResponse__Found::class); + diff --git a/types/Cache_client/_SortedSetLengthByScoreResponse/_Missing.php b/types/Cache_client/_SortedSetLengthByScoreResponse/_Missing.php new file mode 100644 index 00000000..40c63e9e --- /dev/null +++ b/types/Cache_client/_SortedSetLengthByScoreResponse/_Missing.php @@ -0,0 +1,34 @@ +cache_client._SortedSetLengthByScoreResponse._Missing + */ +class _Missing extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cacheclient::initOnce(); + parent::__construct($data); + } + +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(_Missing::class, \Cache_client\_SortedSetLengthByScoreResponse__Missing::class); + diff --git a/types/Cache_client/_SortedSetLengthByScoreResponse__Found.php b/types/Cache_client/_SortedSetLengthByScoreResponse__Found.php new file mode 100644 index 00000000..6bcd8144 --- /dev/null +++ b/types/Cache_client/_SortedSetLengthByScoreResponse__Found.php @@ -0,0 +1,16 @@ +cache_client._SortedSetLengthRequest + */ +class _SortedSetLengthRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field bytes set_name = 1; + */ + protected $set_name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $set_name + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cacheclient::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field bytes set_name = 1; + * @return string + */ + public function getSetName() + { + return $this->set_name; + } + + /** + * Generated from protobuf field bytes set_name = 1; + * @param string $var + * @return $this + */ + public function setSetName($var) + { + GPBUtil::checkString($var, False); + $this->set_name = $var; + + return $this; + } + +} + diff --git a/types/Cache_client/_SortedSetLengthResponse.php b/types/Cache_client/_SortedSetLengthResponse.php new file mode 100644 index 00000000..b8b7d717 --- /dev/null +++ b/types/Cache_client/_SortedSetLengthResponse.php @@ -0,0 +1,96 @@ +cache_client._SortedSetLengthResponse + */ +class _SortedSetLengthResponse extends \Google\Protobuf\Internal\Message +{ + protected $sorted_set; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Cache_client\_SortedSetLengthResponse\_Found $found + * @type \Cache_client\_SortedSetLengthResponse\_Missing $missing + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cacheclient::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .cache_client._SortedSetLengthResponse._Found found = 1; + * @return \Cache_client\_SortedSetLengthResponse\_Found|null + */ + public function getFound() + { + return $this->readOneof(1); + } + + public function hasFound() + { + return $this->hasOneof(1); + } + + /** + * Generated from protobuf field .cache_client._SortedSetLengthResponse._Found found = 1; + * @param \Cache_client\_SortedSetLengthResponse\_Found $var + * @return $this + */ + public function setFound($var) + { + GPBUtil::checkMessage($var, \Cache_client\_SortedSetLengthResponse\_Found::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Generated from protobuf field .cache_client._SortedSetLengthResponse._Missing missing = 2; + * @return \Cache_client\_SortedSetLengthResponse\_Missing|null + */ + public function getMissing() + { + return $this->readOneof(2); + } + + public function hasMissing() + { + return $this->hasOneof(2); + } + + /** + * Generated from protobuf field .cache_client._SortedSetLengthResponse._Missing missing = 2; + * @param \Cache_client\_SortedSetLengthResponse\_Missing $var + * @return $this + */ + public function setMissing($var) + { + GPBUtil::checkMessage($var, \Cache_client\_SortedSetLengthResponse\_Missing::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getSortedSet() + { + return $this->whichOneof("sorted_set"); + } + +} + diff --git a/types/Cache_client/_SortedSetLengthResponse/_Found.php b/types/Cache_client/_SortedSetLengthResponse/_Found.php new file mode 100644 index 00000000..f798b7de --- /dev/null +++ b/types/Cache_client/_SortedSetLengthResponse/_Found.php @@ -0,0 +1,61 @@ +cache_client._SortedSetLengthResponse._Found + */ +class _Found extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field uint32 length = 1; + */ + protected $length = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $length + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cacheclient::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field uint32 length = 1; + * @return int + */ + public function getLength() + { + return $this->length; + } + + /** + * Generated from protobuf field uint32 length = 1; + * @param int $var + * @return $this + */ + public function setLength($var) + { + GPBUtil::checkUint32($var); + $this->length = $var; + + return $this; + } + +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(_Found::class, \Cache_client\_SortedSetLengthResponse__Found::class); + diff --git a/types/Cache_client/_SortedSetLengthResponse/_Missing.php b/types/Cache_client/_SortedSetLengthResponse/_Missing.php new file mode 100644 index 00000000..0bb0bb32 --- /dev/null +++ b/types/Cache_client/_SortedSetLengthResponse/_Missing.php @@ -0,0 +1,34 @@ +cache_client._SortedSetLengthResponse._Missing + */ +class _Missing extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Cacheclient::initOnce(); + parent::__construct($data); + } + +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(_Missing::class, \Cache_client\_SortedSetLengthResponse__Missing::class); + diff --git a/types/Cache_client/_SortedSetLengthResponse__Found.php b/types/Cache_client/_SortedSetLengthResponse__Found.php new file mode 100644 index 00000000..731e4362 --- /dev/null +++ b/types/Cache_client/_SortedSetLengthResponse__Found.php @@ -0,0 +1,16 @@ +_simpleRequest('/control_client.ScsControl/CreateIndex', + $argument, + ['\Control_client\_CreateIndexResponse', 'decode'], + $metadata, $options); + } + + /** + * @param \Control_client\_DeleteIndexRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function DeleteIndex(\Control_client\_DeleteIndexRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/control_client.ScsControl/DeleteIndex', + $argument, + ['\Control_client\_DeleteIndexResponse', 'decode'], + $metadata, $options); + } + + /** + * @param \Control_client\_ListIndexesRequest $argument input argument + * @param array $metadata metadata + * @param array $options call options + * @return \Grpc\UnaryCall + */ + public function ListIndexes(\Control_client\_ListIndexesRequest $argument, + $metadata = [], $options = []) { + return $this->_simpleRequest('/control_client.ScsControl/ListIndexes', + $argument, + ['\Control_client\_ListIndexesResponse', 'decode'], + $metadata, $options); + } + } diff --git a/types/Control_client/_Cache.php b/types/Control_client/_Cache.php index 8a4b77d4..ae0b344d 100644 --- a/types/Control_client/_Cache.php +++ b/types/Control_client/_Cache.php @@ -17,6 +17,14 @@ class _Cache extends \Google\Protobuf\Internal\Message * Generated from protobuf field string cache_name = 1; */ protected $cache_name = ''; + /** + * Generated from protobuf field .control_client._CacheLimits cache_limits = 2; + */ + protected $cache_limits = null; + /** + * Generated from protobuf field .control_client._TopicLimits topic_limits = 3; + */ + protected $topic_limits = null; /** * Constructor. @@ -25,6 +33,8 @@ class _Cache extends \Google\Protobuf\Internal\Message * Optional. Data for populating the Message object. * * @type string $cache_name + * @type \Control_client\_CacheLimits $cache_limits + * @type \Control_client\_TopicLimits $topic_limits * } */ public function __construct($data = NULL) { @@ -54,5 +64,69 @@ public function setCacheName($var) return $this; } + /** + * Generated from protobuf field .control_client._CacheLimits cache_limits = 2; + * @return \Control_client\_CacheLimits|null + */ + public function getCacheLimits() + { + return $this->cache_limits; + } + + public function hasCacheLimits() + { + return isset($this->cache_limits); + } + + public function clearCacheLimits() + { + unset($this->cache_limits); + } + + /** + * Generated from protobuf field .control_client._CacheLimits cache_limits = 2; + * @param \Control_client\_CacheLimits $var + * @return $this + */ + public function setCacheLimits($var) + { + GPBUtil::checkMessage($var, \Control_client\_CacheLimits::class); + $this->cache_limits = $var; + + return $this; + } + + /** + * Generated from protobuf field .control_client._TopicLimits topic_limits = 3; + * @return \Control_client\_TopicLimits|null + */ + public function getTopicLimits() + { + return $this->topic_limits; + } + + public function hasTopicLimits() + { + return isset($this->topic_limits); + } + + public function clearTopicLimits() + { + unset($this->topic_limits); + } + + /** + * Generated from protobuf field .control_client._TopicLimits topic_limits = 3; + * @param \Control_client\_TopicLimits $var + * @return $this + */ + public function setTopicLimits($var) + { + GPBUtil::checkMessage($var, \Control_client\_TopicLimits::class); + $this->topic_limits = $var; + + return $this; + } + } diff --git a/types/Control_client/_CacheLimits.php b/types/Control_client/_CacheLimits.php new file mode 100644 index 00000000..1b4decb7 --- /dev/null +++ b/types/Control_client/_CacheLimits.php @@ -0,0 +1,167 @@ +control_client._CacheLimits + */ +class _CacheLimits extends \Google\Protobuf\Internal\Message +{ + /** + * The amount of transactions per second that can be exercised + * + * Generated from protobuf field uint32 max_traffic_rate = 1; + */ + protected $max_traffic_rate = 0; + /** + * The amount of traffic per second that can be exercised in KiB + * + * Generated from protobuf field uint32 max_throughput_kbps = 2; + */ + protected $max_throughput_kbps = 0; + /** + * The maximum size of a single item in KiB + * + * Generated from protobuf field uint32 max_item_size_kb = 3; + */ + protected $max_item_size_kb = 0; + /** + * The maximum TTL allowed for a single item, in seconds + * + * Generated from protobuf field uint64 max_ttl_seconds = 4; + */ + protected $max_ttl_seconds = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $max_traffic_rate + * The amount of transactions per second that can be exercised + * @type int $max_throughput_kbps + * The amount of traffic per second that can be exercised in KiB + * @type int $max_item_size_kb + * The maximum size of a single item in KiB + * @type int|string $max_ttl_seconds + * The maximum TTL allowed for a single item, in seconds + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Controlclient::initOnce(); + parent::__construct($data); + } + + /** + * The amount of transactions per second that can be exercised + * + * Generated from protobuf field uint32 max_traffic_rate = 1; + * @return int + */ + public function getMaxTrafficRate() + { + return $this->max_traffic_rate; + } + + /** + * The amount of transactions per second that can be exercised + * + * Generated from protobuf field uint32 max_traffic_rate = 1; + * @param int $var + * @return $this + */ + public function setMaxTrafficRate($var) + { + GPBUtil::checkUint32($var); + $this->max_traffic_rate = $var; + + return $this; + } + + /** + * The amount of traffic per second that can be exercised in KiB + * + * Generated from protobuf field uint32 max_throughput_kbps = 2; + * @return int + */ + public function getMaxThroughputKbps() + { + return $this->max_throughput_kbps; + } + + /** + * The amount of traffic per second that can be exercised in KiB + * + * Generated from protobuf field uint32 max_throughput_kbps = 2; + * @param int $var + * @return $this + */ + public function setMaxThroughputKbps($var) + { + GPBUtil::checkUint32($var); + $this->max_throughput_kbps = $var; + + return $this; + } + + /** + * The maximum size of a single item in KiB + * + * Generated from protobuf field uint32 max_item_size_kb = 3; + * @return int + */ + public function getMaxItemSizeKb() + { + return $this->max_item_size_kb; + } + + /** + * The maximum size of a single item in KiB + * + * Generated from protobuf field uint32 max_item_size_kb = 3; + * @param int $var + * @return $this + */ + public function setMaxItemSizeKb($var) + { + GPBUtil::checkUint32($var); + $this->max_item_size_kb = $var; + + return $this; + } + + /** + * The maximum TTL allowed for a single item, in seconds + * + * Generated from protobuf field uint64 max_ttl_seconds = 4; + * @return int|string + */ + public function getMaxTtlSeconds() + { + return $this->max_ttl_seconds; + } + + /** + * The maximum TTL allowed for a single item, in seconds + * + * Generated from protobuf field uint64 max_ttl_seconds = 4; + * @param int|string $var + * @return $this + */ + public function setMaxTtlSeconds($var) + { + GPBUtil::checkUint64($var); + $this->max_ttl_seconds = $var; + + return $this; + } + +} + diff --git a/types/Control_client/_CreateIndexRequest.php b/types/Control_client/_CreateIndexRequest.php new file mode 100644 index 00000000..40f6e099 --- /dev/null +++ b/types/Control_client/_CreateIndexRequest.php @@ -0,0 +1,122 @@ +control_client._CreateIndexRequest + */ +class _CreateIndexRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field string index_name = 1; + */ + protected $index_name = ''; + /** + * Generated from protobuf field uint64 num_dimensions = 2; + */ + protected $num_dimensions = 0; + /** + * Generated from protobuf field .control_client._SimilarityMetric similarity_metric = 3; + */ + protected $similarity_metric = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $index_name + * @type int|string $num_dimensions + * @type \Control_client\_SimilarityMetric $similarity_metric + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Controlclient::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field string index_name = 1; + * @return string + */ + public function getIndexName() + { + return $this->index_name; + } + + /** + * Generated from protobuf field string index_name = 1; + * @param string $var + * @return $this + */ + public function setIndexName($var) + { + GPBUtil::checkString($var, True); + $this->index_name = $var; + + return $this; + } + + /** + * Generated from protobuf field uint64 num_dimensions = 2; + * @return int|string + */ + public function getNumDimensions() + { + return $this->num_dimensions; + } + + /** + * Generated from protobuf field uint64 num_dimensions = 2; + * @param int|string $var + * @return $this + */ + public function setNumDimensions($var) + { + GPBUtil::checkUint64($var); + $this->num_dimensions = $var; + + return $this; + } + + /** + * Generated from protobuf field .control_client._SimilarityMetric similarity_metric = 3; + * @return \Control_client\_SimilarityMetric|null + */ + public function getSimilarityMetric() + { + return $this->similarity_metric; + } + + public function hasSimilarityMetric() + { + return isset($this->similarity_metric); + } + + public function clearSimilarityMetric() + { + unset($this->similarity_metric); + } + + /** + * Generated from protobuf field .control_client._SimilarityMetric similarity_metric = 3; + * @param \Control_client\_SimilarityMetric $var + * @return $this + */ + public function setSimilarityMetric($var) + { + GPBUtil::checkMessage($var, \Control_client\_SimilarityMetric::class); + $this->similarity_metric = $var; + + return $this; + } + +} + diff --git a/types/Control_client/_CreateIndexResponse.php b/types/Control_client/_CreateIndexResponse.php new file mode 100644 index 00000000..d9ca9235 --- /dev/null +++ b/types/Control_client/_CreateIndexResponse.php @@ -0,0 +1,31 @@ +control_client._CreateIndexResponse + */ +class _CreateIndexResponse extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Controlclient::initOnce(); + parent::__construct($data); + } + +} + diff --git a/types/Control_client/_DeleteIndexRequest.php b/types/Control_client/_DeleteIndexRequest.php new file mode 100644 index 00000000..592ec90d --- /dev/null +++ b/types/Control_client/_DeleteIndexRequest.php @@ -0,0 +1,58 @@ +control_client._DeleteIndexRequest + */ +class _DeleteIndexRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field string index_name = 1; + */ + protected $index_name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $index_name + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Controlclient::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field string index_name = 1; + * @return string + */ + public function getIndexName() + { + return $this->index_name; + } + + /** + * Generated from protobuf field string index_name = 1; + * @param string $var + * @return $this + */ + public function setIndexName($var) + { + GPBUtil::checkString($var, True); + $this->index_name = $var; + + return $this; + } + +} + diff --git a/types/Control_client/_DeleteIndexResponse.php b/types/Control_client/_DeleteIndexResponse.php new file mode 100644 index 00000000..3b943a8a --- /dev/null +++ b/types/Control_client/_DeleteIndexResponse.php @@ -0,0 +1,31 @@ +control_client._DeleteIndexResponse + */ +class _DeleteIndexResponse extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Controlclient::initOnce(); + parent::__construct($data); + } + +} + diff --git a/types/Control_client/_ListIndexesRequest.php b/types/Control_client/_ListIndexesRequest.php new file mode 100644 index 00000000..47ce088d --- /dev/null +++ b/types/Control_client/_ListIndexesRequest.php @@ -0,0 +1,31 @@ +control_client._ListIndexesRequest + */ +class _ListIndexesRequest extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Controlclient::initOnce(); + parent::__construct($data); + } + +} + diff --git a/types/Control_client/_ListIndexesResponse.php b/types/Control_client/_ListIndexesResponse.php new file mode 100644 index 00000000..9111731a --- /dev/null +++ b/types/Control_client/_ListIndexesResponse.php @@ -0,0 +1,58 @@ +control_client._ListIndexesResponse + */ +class _ListIndexesResponse extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field repeated .control_client._ListIndexesResponse._Index indexes = 1; + */ + private $indexes; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Control_client\_ListIndexesResponse\_Index[]|\Google\Protobuf\Internal\RepeatedField $indexes + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Controlclient::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field repeated .control_client._ListIndexesResponse._Index indexes = 1; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getIndexes() + { + return $this->indexes; + } + + /** + * Generated from protobuf field repeated .control_client._ListIndexesResponse._Index indexes = 1; + * @param \Control_client\_ListIndexesResponse\_Index[]|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setIndexes($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Control_client\_ListIndexesResponse\_Index::class); + $this->indexes = $arr; + + return $this; + } + +} + diff --git a/types/Control_client/_ListIndexesResponse/_Index.php b/types/Control_client/_ListIndexesResponse/_Index.php new file mode 100644 index 00000000..1b2deb94 --- /dev/null +++ b/types/Control_client/_ListIndexesResponse/_Index.php @@ -0,0 +1,125 @@ +control_client._ListIndexesResponse._Index + */ +class _Index extends \Google\Protobuf\Internal\Message +{ + /** + * Generated from protobuf field string index_name = 1; + */ + protected $index_name = ''; + /** + * Generated from protobuf field uint64 num_dimensions = 2; + */ + protected $num_dimensions = 0; + /** + * Generated from protobuf field .control_client._SimilarityMetric similarity_metric = 3; + */ + protected $similarity_metric = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $index_name + * @type int|string $num_dimensions + * @type \Control_client\_SimilarityMetric $similarity_metric + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Controlclient::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field string index_name = 1; + * @return string + */ + public function getIndexName() + { + return $this->index_name; + } + + /** + * Generated from protobuf field string index_name = 1; + * @param string $var + * @return $this + */ + public function setIndexName($var) + { + GPBUtil::checkString($var, True); + $this->index_name = $var; + + return $this; + } + + /** + * Generated from protobuf field uint64 num_dimensions = 2; + * @return int|string + */ + public function getNumDimensions() + { + return $this->num_dimensions; + } + + /** + * Generated from protobuf field uint64 num_dimensions = 2; + * @param int|string $var + * @return $this + */ + public function setNumDimensions($var) + { + GPBUtil::checkUint64($var); + $this->num_dimensions = $var; + + return $this; + } + + /** + * Generated from protobuf field .control_client._SimilarityMetric similarity_metric = 3; + * @return \Control_client\_SimilarityMetric|null + */ + public function getSimilarityMetric() + { + return $this->similarity_metric; + } + + public function hasSimilarityMetric() + { + return isset($this->similarity_metric); + } + + public function clearSimilarityMetric() + { + unset($this->similarity_metric); + } + + /** + * Generated from protobuf field .control_client._SimilarityMetric similarity_metric = 3; + * @param \Control_client\_SimilarityMetric $var + * @return $this + */ + public function setSimilarityMetric($var) + { + GPBUtil::checkMessage($var, \Control_client\_SimilarityMetric::class); + $this->similarity_metric = $var; + + return $this; + } + +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(_Index::class, \Control_client\_ListIndexesResponse__Index::class); + diff --git a/types/Control_client/_ListIndexesResponse__Index.php b/types/Control_client/_ListIndexesResponse__Index.php new file mode 100644 index 00000000..e1f72919 --- /dev/null +++ b/types/Control_client/_ListIndexesResponse__Index.php @@ -0,0 +1,16 @@ +control_client._SimilarityMetric + */ +class _SimilarityMetric extends \Google\Protobuf\Internal\Message +{ + protected $similarity_metric; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Control_client\_SimilarityMetric\_EuclideanSimilarity $euclidean_similarity + * @type \Control_client\_SimilarityMetric\_InnerProduct $inner_product + * @type \Control_client\_SimilarityMetric\_CosineSimilarity $cosine_similarity + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Controlclient::initOnce(); + parent::__construct($data); + } + + /** + * Generated from protobuf field .control_client._SimilarityMetric._EuclideanSimilarity euclidean_similarity = 1; + * @return \Control_client\_SimilarityMetric\_EuclideanSimilarity|null + */ + public function getEuclideanSimilarity() + { + return $this->readOneof(1); + } + + public function hasEuclideanSimilarity() + { + return $this->hasOneof(1); + } + + /** + * Generated from protobuf field .control_client._SimilarityMetric._EuclideanSimilarity euclidean_similarity = 1; + * @param \Control_client\_SimilarityMetric\_EuclideanSimilarity $var + * @return $this + */ + public function setEuclideanSimilarity($var) + { + GPBUtil::checkMessage($var, \Control_client\_SimilarityMetric\_EuclideanSimilarity::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Generated from protobuf field .control_client._SimilarityMetric._InnerProduct inner_product = 2; + * @return \Control_client\_SimilarityMetric\_InnerProduct|null + */ + public function getInnerProduct() + { + return $this->readOneof(2); + } + + public function hasInnerProduct() + { + return $this->hasOneof(2); + } + + /** + * Generated from protobuf field .control_client._SimilarityMetric._InnerProduct inner_product = 2; + * @param \Control_client\_SimilarityMetric\_InnerProduct $var + * @return $this + */ + public function setInnerProduct($var) + { + GPBUtil::checkMessage($var, \Control_client\_SimilarityMetric\_InnerProduct::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * Generated from protobuf field .control_client._SimilarityMetric._CosineSimilarity cosine_similarity = 3; + * @return \Control_client\_SimilarityMetric\_CosineSimilarity|null + */ + public function getCosineSimilarity() + { + return $this->readOneof(3); + } + + public function hasCosineSimilarity() + { + return $this->hasOneof(3); + } + + /** + * Generated from protobuf field .control_client._SimilarityMetric._CosineSimilarity cosine_similarity = 3; + * @param \Control_client\_SimilarityMetric\_CosineSimilarity $var + * @return $this + */ + public function setCosineSimilarity($var) + { + GPBUtil::checkMessage($var, \Control_client\_SimilarityMetric\_CosineSimilarity::class); + $this->writeOneof(3, $var); + + return $this; + } + + /** + * @return string + */ + public function getSimilarityMetric() + { + return $this->whichOneof("similarity_metric"); + } + +} + diff --git a/types/Control_client/_SimilarityMetric/_CosineSimilarity.php b/types/Control_client/_SimilarityMetric/_CosineSimilarity.php new file mode 100644 index 00000000..3349b208 --- /dev/null +++ b/types/Control_client/_SimilarityMetric/_CosineSimilarity.php @@ -0,0 +1,34 @@ +control_client._SimilarityMetric._CosineSimilarity + */ +class _CosineSimilarity extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Controlclient::initOnce(); + parent::__construct($data); + } + +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(_CosineSimilarity::class, \Control_client\_SimilarityMetric__CosineSimilarity::class); + diff --git a/types/Control_client/_SimilarityMetric/_EuclideanSimilarity.php b/types/Control_client/_SimilarityMetric/_EuclideanSimilarity.php new file mode 100644 index 00000000..234b4c8b --- /dev/null +++ b/types/Control_client/_SimilarityMetric/_EuclideanSimilarity.php @@ -0,0 +1,34 @@ +control_client._SimilarityMetric._EuclideanSimilarity + */ +class _EuclideanSimilarity extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Controlclient::initOnce(); + parent::__construct($data); + } + +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(_EuclideanSimilarity::class, \Control_client\_SimilarityMetric__EuclideanSimilarity::class); + diff --git a/types/Control_client/_SimilarityMetric/_InnerProduct.php b/types/Control_client/_SimilarityMetric/_InnerProduct.php new file mode 100644 index 00000000..efc466a6 --- /dev/null +++ b/types/Control_client/_SimilarityMetric/_InnerProduct.php @@ -0,0 +1,34 @@ +control_client._SimilarityMetric._InnerProduct + */ +class _InnerProduct extends \Google\Protobuf\Internal\Message +{ + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Controlclient::initOnce(); + parent::__construct($data); + } + +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(_InnerProduct::class, \Control_client\_SimilarityMetric__InnerProduct::class); + diff --git a/types/Control_client/_SimilarityMetric__CosineSimilarity.php b/types/Control_client/_SimilarityMetric__CosineSimilarity.php new file mode 100644 index 00000000..f4cb6646 --- /dev/null +++ b/types/Control_client/_SimilarityMetric__CosineSimilarity.php @@ -0,0 +1,16 @@ +control_client._TopicLimits + */ +class _TopicLimits extends \Google\Protobuf\Internal\Message +{ + /** + * The amount of messages that can be published per second + * + * Generated from protobuf field uint32 max_publish_rate = 1; + */ + protected $max_publish_rate = 0; + /** + * The maximum amount of active subscriptions per cache + * + * Generated from protobuf field uint32 max_subscription_count = 2; + */ + protected $max_subscription_count = 0; + /** + * The maximum size of a single publish message, in KiB + * + * Generated from protobuf field uint32 max_publish_message_size_kb = 3; + */ + protected $max_publish_message_size_kb = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $max_publish_rate + * The amount of messages that can be published per second + * @type int $max_subscription_count + * The maximum amount of active subscriptions per cache + * @type int $max_publish_message_size_kb + * The maximum size of a single publish message, in KiB + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Controlclient::initOnce(); + parent::__construct($data); + } + + /** + * The amount of messages that can be published per second + * + * Generated from protobuf field uint32 max_publish_rate = 1; + * @return int + */ + public function getMaxPublishRate() + { + return $this->max_publish_rate; + } + + /** + * The amount of messages that can be published per second + * + * Generated from protobuf field uint32 max_publish_rate = 1; + * @param int $var + * @return $this + */ + public function setMaxPublishRate($var) + { + GPBUtil::checkUint32($var); + $this->max_publish_rate = $var; + + return $this; + } + + /** + * The maximum amount of active subscriptions per cache + * + * Generated from protobuf field uint32 max_subscription_count = 2; + * @return int + */ + public function getMaxSubscriptionCount() + { + return $this->max_subscription_count; + } + + /** + * The maximum amount of active subscriptions per cache + * + * Generated from protobuf field uint32 max_subscription_count = 2; + * @param int $var + * @return $this + */ + public function setMaxSubscriptionCount($var) + { + GPBUtil::checkUint32($var); + $this->max_subscription_count = $var; + + return $this; + } + + /** + * The maximum size of a single publish message, in KiB + * + * Generated from protobuf field uint32 max_publish_message_size_kb = 3; + * @return int + */ + public function getMaxPublishMessageSizeKb() + { + return $this->max_publish_message_size_kb; + } + + /** + * The maximum size of a single publish message, in KiB + * + * Generated from protobuf field uint32 max_publish_message_size_kb = 3; + * @param int $var + * @return $this + */ + public function setMaxPublishMessageSizeKb($var) + { + GPBUtil::checkUint32($var); + $this->max_publish_message_size_kb = $var; + + return $this; + } + +} + diff --git a/types/GPBMetadata/Auth.php b/types/GPBMetadata/Auth.php index a825e9c0..68a38fe2 100644 Binary files a/types/GPBMetadata/Auth.php and b/types/GPBMetadata/Auth.php differ diff --git a/types/GPBMetadata/Cacheclient.php b/types/GPBMetadata/Cacheclient.php index e7cba4a4..f8f05993 100644 Binary files a/types/GPBMetadata/Cacheclient.php and b/types/GPBMetadata/Cacheclient.php differ diff --git a/types/GPBMetadata/Cachepubsub.php b/types/GPBMetadata/Cachepubsub.php new file mode 100644 index 00000000..8deec3dc Binary files /dev/null and b/types/GPBMetadata/Cachepubsub.php differ diff --git a/types/GPBMetadata/Controlclient.php b/types/GPBMetadata/Controlclient.php index 5d85207f..f16a6c85 100644 Binary files a/types/GPBMetadata/Controlclient.php and b/types/GPBMetadata/Controlclient.php differ diff --git a/types/GPBMetadata/Extensions.php b/types/GPBMetadata/Extensions.php new file mode 100644 index 00000000..3994e649 Binary files /dev/null and b/types/GPBMetadata/Extensions.php differ diff --git a/types/Auth/_GenerateApiTokenRequest/SuperUserPermissions.php b/types/RetrySemantic.php similarity index 54% rename from types/Auth/_GenerateApiTokenRequest/SuperUserPermissions.php rename to types/RetrySemantic.php index 9d97350e..488bc6b3 100644 --- a/types/Auth/_GenerateApiTokenRequest/SuperUserPermissions.php +++ b/types/RetrySemantic.php @@ -1,23 +1,30 @@ auth._GenerateApiTokenRequest.SuperUserPermissions + * A hint so you can decide a little more in the abstract "can this be retried?"" + * + * Protobuf type RetrySemantic */ -class SuperUserPermissions +class RetrySemantic { /** - * Generated from protobuf enum SuperUser = 0; + * Never retry this message without telling the user. (you should infer this as the default) + * + * Generated from protobuf enum NotRetryable = 0; */ - const SuperUser = 0; + const NotRetryable = 0; + /** + * You can retry this without surfacing an error to the user. + * + * Generated from protobuf enum Retryable = 1; + */ + const Retryable = 1; private static $valueToName = [ - self::SuperUser => 'SuperUser', + self::NotRetryable => 'NotRetryable', + self::Retryable => 'Retryable', ]; public static function name($value) @@ -41,6 +48,3 @@ public static function value($name) } } -// Adding a class alias for backwards compatibility with the previous class name. -class_alias(SuperUserPermissions::class, \Auth\_GenerateApiTokenRequest_SuperUserPermissions::class); -