mirror of
https://github.com/wp-graphql/wp-graphql-woocommerce.git
synced 2026-08-14 12:53:44 +02:00
Coding standards met
This commit is contained in:
+2
-1
@@ -28,7 +28,8 @@
|
||||
],
|
||||
"require": {
|
||||
"php": ">=7.1.0",
|
||||
"firebase/php-jwt": "^5.0"
|
||||
"firebase/php-jwt": "^5.0",
|
||||
"webonyx/graphql-php": "^14.4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"composer/installers": "^1.9",
|
||||
|
||||
@@ -105,7 +105,7 @@ class JWT_Auth_Schema_Filters {
|
||||
'type' => 'String',
|
||||
'description' => __( 'A JWT token that can be used in future requests to for WooCommerce session identification', 'wp-graphql-woocommerce' ),
|
||||
'resolve' => function( $payload ) {
|
||||
return apply_filters( 'graphql_customer_session_token', null );
|
||||
return apply_filters( 'graphql_customer_session_token', \WC()->session->build_token() );
|
||||
},
|
||||
),
|
||||
)
|
||||
|
||||
@@ -113,7 +113,7 @@ class Customer_Type {
|
||||
'description' => __( 'A JWT token that can be used in future requests to for WooCommerce session identification', 'wp-graphql-woocommerce' ),
|
||||
'resolve' => function( $source ) {
|
||||
if ( \get_current_user_id() === $source->ID ) {
|
||||
return apply_filters( 'graphql_customer_session_token', null );
|
||||
return apply_filters( 'graphql_customer_session_token', \WC()->session->build_token() );
|
||||
}
|
||||
|
||||
return null;
|
||||
@@ -128,13 +128,13 @@ class Customer_Type {
|
||||
*/
|
||||
register_graphql_field(
|
||||
'User',
|
||||
'sessionToken',
|
||||
'wooSessionToken',
|
||||
array(
|
||||
'type' => 'String',
|
||||
'description' => __( 'A JWT token that can be used in future requests to for WooCommerce session identification', 'wp-graphql-woocommerce' ),
|
||||
'resolve' => function( $source ) {
|
||||
if ( \get_current_user_id() === $source->ID ) {
|
||||
return apply_filters( 'graphql_customer_session_token', null );
|
||||
if ( \get_current_user_id() === $source->userId ) { // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
|
||||
return apply_filters( 'graphql_customer_session_token', \WC()->session->build_token() );
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
@@ -45,6 +45,13 @@ class QL_Session_Handler extends WC_Session_Handler {
|
||||
*/
|
||||
protected $_issuing_new_token = false; // @codingStandardsIgnoreLine
|
||||
|
||||
/**
|
||||
* Manages connection to the session transaction queue.
|
||||
*
|
||||
* @var Session_Transaction_Manager
|
||||
*/
|
||||
private $transaction_manager = null;
|
||||
|
||||
/**
|
||||
* Constructor for the session class.
|
||||
*/
|
||||
@@ -87,14 +94,11 @@ class QL_Session_Handler extends WC_Session_Handler {
|
||||
*/
|
||||
public function init() {
|
||||
$this->init_session_token();
|
||||
$this->transaction_manager = Session_Transaction_Manager::get( $this );
|
||||
|
||||
add_action( 'woocommerce_set_cart_cookies', array( $this, 'set_customer_session_token' ), 10 );
|
||||
add_action( 'graphql_after_resolve_field', array( $this, 'save_if_dirty' ), 10, 4 );
|
||||
add_action( 'shutdown', array( $this, 'save_data' ) );
|
||||
|
||||
add_action( 'graphql_before_resolve_field', array( $this, 'update_transaction_queue' ), 10, 8 );
|
||||
add_action( 'graphql_after_resolve_field', array( $this, 'save_data' ) );
|
||||
add_action( 'shutdown', array( $this, 'pop_transaction_id' ), 20 );
|
||||
|
||||
add_action( 'wp_logout', array( $this, 'destroy_session' ) );
|
||||
|
||||
if ( ! is_user_logged_in() ) {
|
||||
@@ -102,147 +106,6 @@ class QL_Session_Handler extends WC_Session_Handler {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Transaction queue workhorse.
|
||||
*
|
||||
* Creates an transaction ID if executing mutations that alter the session data, and stales
|
||||
* execution until the transaction ID is at the top of the queue.
|
||||
*
|
||||
* @param mixed $source Operation root object.
|
||||
* @param array $args Operation arguments.
|
||||
* @param \WPGraphQL\AppContext $context AppContext instance.
|
||||
* @param \GraphQL\ResolveInfo $info Operation ResolveInfo object.
|
||||
*/
|
||||
public function update_transaction_queue( $source, $args, $context, $info ) {
|
||||
// All mutations that alter the session data.
|
||||
$session_mutations = array(
|
||||
'cart',
|
||||
'addToCart',
|
||||
'updateItemQuantities',
|
||||
'addFee',
|
||||
'applyCoupon',
|
||||
'removeCoupons',
|
||||
'emptyCart',
|
||||
'removeItemsFromCart',
|
||||
'restoreCartItems',
|
||||
'updateItemQuantities',
|
||||
'updateShippingMethod',
|
||||
'updateCustomer',
|
||||
);
|
||||
|
||||
// Bail early, if not one of the session mutations.
|
||||
if ( ! in_array( $info->fieldName, $session_mutations, true ) ) { // @codingStandardsIgnoreLine
|
||||
return;
|
||||
}
|
||||
|
||||
// Initialize transaction ID.
|
||||
if ( ! defined( 'WOOGRAPHQL_SESSION_TRANSACTION_ID' ) ) {
|
||||
define( 'WOOGRAPHQL_SESSION_TRANSACTION_ID', \uniqid() );
|
||||
}
|
||||
|
||||
// Wait until our transaction ID is at the top of the queue before continuing.
|
||||
if ( ! $this->next_transaction() ) {
|
||||
usleep( 500000 );
|
||||
$this->update_transaction_queue( $source, $args, $context, $info );
|
||||
} else {
|
||||
$this->_data = $this->get_session( $this->_customer_id, false );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Processes next transaction and returns whether the current transaction is the next transaction.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function next_transaction() {
|
||||
// Update transaction queue.
|
||||
$transaction_queue = $this->get_transaction_queue();
|
||||
|
||||
// If lead transaction object invalid pop transaction and loop.
|
||||
if ( ! is_array( $transaction_queue[0] ) ) {
|
||||
array_shift( $transaction_queue );
|
||||
$this->save_transaction_queue( $transaction_queue );
|
||||
|
||||
// If current transaction is the lead exit loop.
|
||||
} elseif ( WOOGRAPHQL_SESSION_TRANSACTION_ID === $transaction_queue[0]['transaction_id'] ) {
|
||||
return true;
|
||||
|
||||
// If lead transaction stale pop transaction and loop
|
||||
} elseif ( $this->get_session_data() !== $transaction_queue[0]['snapshot'] ) {
|
||||
array_shift( $transaction_queue );
|
||||
$this->save_transaction_queue( $transaction_queue );
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves transaction queue.
|
||||
*
|
||||
* @param array $queue Transaction queue.
|
||||
*/
|
||||
public function save_transaction_queue( $queue = array() ) {
|
||||
// If queue empty delete transient and bail.
|
||||
if ( empty( $queue ) ) {
|
||||
delete_transient( "woo_session_transactions_queue_{$this->_customer_id}" );
|
||||
return;
|
||||
}
|
||||
|
||||
// Save transaction queue.
|
||||
set_transient( "woo_session_transactions_queue_{$this->_customer_id}", $queue );
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds transaction ID to the end of the queue, officially starting the transaction,
|
||||
* and returns the transaction queue.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function get_transaction_queue() {
|
||||
// Get transaction queue.
|
||||
$transaction_queue = get_transient( "woo_session_transactions_queue_{$this->_customer_id}" );
|
||||
if ( ! $transaction_queue ) {
|
||||
$transaction_queue = array();
|
||||
}
|
||||
|
||||
// If transaction ID not in queue, add it, and start transaction.
|
||||
if ( false === array_search( WOOGRAPHQL_SESSION_TRANSACTION_ID, array_column( $transaction_queue, 'transaction_id' ) ) ) {
|
||||
$transaction_id = WOOGRAPHQL_SESSION_TRANSACTION_ID;
|
||||
$snapshot = $this->_data;
|
||||
$transaction_queue[] = compact( 'transaction_id', 'snapshot' );
|
||||
|
||||
// Update queue.
|
||||
$this->save_transaction_queue( $transaction_queue );
|
||||
}
|
||||
|
||||
return $transaction_queue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Pop transaction ID off the top of the queue, ending the transaction.
|
||||
*
|
||||
* @throws UserError If transaction ID is not on the top of the queue.
|
||||
*/
|
||||
public function pop_transaction_id() {
|
||||
// Bail if transaction not started.
|
||||
if ( ! defined( 'WOOGRAPHQL_SESSION_TRANSACTION_ID' ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Get transaction queue.
|
||||
$transaction_queue = get_transient( "woo_session_transactions_queue_{$this->_customer_id}" );
|
||||
|
||||
// Throw if transaction ID not on top.
|
||||
if ( WOOGRAPHQL_SESSION_TRANSACTION_ID !== $transaction_queue[0]['transaction_id'] ) {
|
||||
throw new UserError( __( 'Woo session transaction executed out of order', 'wp-graphql-woocommerce' ) );
|
||||
} else {
|
||||
|
||||
// Remove Transaction ID and update queue.
|
||||
array_shift( $transaction_queue );
|
||||
$this->save_transaction_queue( $transaction_queue );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Setup token and customer ID.
|
||||
*
|
||||
@@ -373,7 +236,75 @@ class QL_Session_Handler extends WC_Session_Handler {
|
||||
}
|
||||
|
||||
/**
|
||||
* Encrypts and sets the session header on-demand (usually after adding an item to the cart).
|
||||
* Creates JSON Web Token for customer session.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function build_token() {
|
||||
/**
|
||||
* Determine the "not before" value for use in the token
|
||||
*
|
||||
* @param string $issued The timestamp of token was issued.
|
||||
* @param integer $customer_id Customer ID.
|
||||
* @param array $session_data Cart session data.
|
||||
*/
|
||||
$not_before = apply_filters(
|
||||
'graphql_woo_cart_session_not_before',
|
||||
$this->_session_issued,
|
||||
$this->_customer_id,
|
||||
$this->_data
|
||||
);
|
||||
|
||||
// Configure the token array, which will be encoded.
|
||||
$token = array(
|
||||
'iss' => get_bloginfo( 'url' ),
|
||||
'iat' => $this->_session_issued,
|
||||
'nbf' => $not_before,
|
||||
'exp' => $this->_session_expiration,
|
||||
'data' => array(
|
||||
'customer_id' => $this->_customer_id,
|
||||
),
|
||||
);
|
||||
|
||||
/**
|
||||
* Filter the token, allowing for individual systems to configure the token as needed
|
||||
*
|
||||
* @param array $token The token array that will be encoded
|
||||
* @param integer $customer_id ID of customer associated with token.
|
||||
* @param array $session_data Session data associated with token.
|
||||
*/
|
||||
$token = apply_filters(
|
||||
'graphql_woocommerce_cart_session_before_token_sign',
|
||||
$token,
|
||||
$this->_customer_id,
|
||||
$this->_data
|
||||
);
|
||||
|
||||
// Encode the token.
|
||||
JWT::$leeway = 60;
|
||||
$token = JWT::encode( $token, $this->get_secret_key(), 'HS256' );
|
||||
|
||||
/**
|
||||
* Filter the token before returning it, allowing for individual systems to override what's returned.
|
||||
*
|
||||
* For example, if the user should not be granted a token for whatever reason, a filter could have the token return null.
|
||||
*
|
||||
* @param string $token The signed JWT token that will be returned
|
||||
* @param integer $customer_id ID of customer associated with token.
|
||||
* @param array $session_data Session data associated with token.
|
||||
*/
|
||||
$token = apply_filters(
|
||||
'graphql_woocommerce_cart_session_signed_token',
|
||||
$token,
|
||||
$this->_customer_id,
|
||||
$this->_data
|
||||
);
|
||||
|
||||
return $token;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the session header on-demand (usually after adding an item to the cart).
|
||||
*
|
||||
* Warning: Headers will only be set if this is called before the headers are sent.
|
||||
*
|
||||
@@ -382,85 +313,20 @@ class QL_Session_Handler extends WC_Session_Handler {
|
||||
public function set_customer_session_token( $set ) {
|
||||
if ( $set ) {
|
||||
/**
|
||||
* Determine the "not before" value for use in the token
|
||||
*
|
||||
* @param string $issued The timestamp of token was issued.
|
||||
* @param integer $customer_id Customer ID.
|
||||
* @param array $session_data Cart session data.
|
||||
*/
|
||||
$not_before = apply_filters(
|
||||
'graphql_woo_cart_session_not_before',
|
||||
$this->_session_issued,
|
||||
$this->_customer_id,
|
||||
$this->_data
|
||||
);
|
||||
|
||||
// Configure the token array, which will be encoded.
|
||||
$token = array(
|
||||
'iss' => get_bloginfo( 'url' ),
|
||||
'iat' => $this->_session_issued,
|
||||
'nbf' => $not_before,
|
||||
'exp' => $this->_session_expiration,
|
||||
'data' => array(
|
||||
'customer_id' => $this->_customer_id,
|
||||
),
|
||||
);
|
||||
|
||||
/**
|
||||
* Filter the token, allowing for individual systems to configure the token as needed
|
||||
*
|
||||
* @param array $token The token array that will be encoded
|
||||
* @param integer $customer_id ID of customer associated with token.
|
||||
* @param array $session_data Session data associated with token.
|
||||
*/
|
||||
$token = apply_filters(
|
||||
'graphql_woocommerce_cart_session_before_token_sign',
|
||||
$token,
|
||||
$this->_customer_id,
|
||||
$this->_data
|
||||
);
|
||||
|
||||
// Encode the token.
|
||||
JWT::$leeway = 60;
|
||||
$token = JWT::encode( $token, $this->get_secret_key(), 'HS256' );
|
||||
|
||||
/**
|
||||
* Filter the token before returning it, allowing for individual systems to override what's returned.
|
||||
*
|
||||
* For example, if the user should not be granted a token for whatever reason, a filter could have the token return null.
|
||||
*
|
||||
* @param string $token The signed JWT token that will be returned
|
||||
* @param integer $customer_id ID of customer associated with token.
|
||||
* @param array $session_data Session data associated with token.
|
||||
*/
|
||||
$token = apply_filters(
|
||||
'graphql_woocommerce_cart_session_signed_token',
|
||||
$token,
|
||||
$this->_customer_id,
|
||||
$this->_data
|
||||
);
|
||||
|
||||
if ( ! $token ) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set session token for use in the HTTP response header and customer/user "sessionToken" field.
|
||||
* Set callback session token for use in the HTTP response header and customer/user "sessionToken" field.
|
||||
*/
|
||||
add_filter(
|
||||
'graphql_response_headers_to_send',
|
||||
function( $headers ) use ( $token ) {
|
||||
$headers[ $this->_token ] = $token;
|
||||
function( $headers ) {
|
||||
$token = $this->build_token();
|
||||
if ( $token ) {
|
||||
$headers[ $this->_token ] = $token;
|
||||
}
|
||||
|
||||
return $headers;
|
||||
},
|
||||
10
|
||||
);
|
||||
add_filter(
|
||||
'graphql_customer_session_token',
|
||||
function( $_ ) use ( $token ) {
|
||||
return $token;
|
||||
}
|
||||
);
|
||||
|
||||
$this->_issuing_new_token = true;
|
||||
}
|
||||
@@ -502,4 +368,39 @@ class QL_Session_Handler extends WC_Session_Handler {
|
||||
$this->_dirty = false;
|
||||
$this->_customer_id = $this->generate_customer_id();
|
||||
}
|
||||
|
||||
/**
|
||||
* Save any changes to database after a session mutations has been run.
|
||||
*
|
||||
* @param mixed $source Operation root object.
|
||||
* @param array $args Operation arguments.
|
||||
* @param \WPGraphQL\AppContext $context AppContext instance.
|
||||
* @param \GraphQL\ResolveInfo $info Operation ResolveInfo object.
|
||||
*/
|
||||
public function save_if_dirty( $source, $args, $context, $info ) {
|
||||
// Bail early, if not one of the session mutations.
|
||||
if ( ! in_array( $info->fieldName, Session_Transaction_Manager::get_session_mutations(), true ) ) { // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
|
||||
return;
|
||||
}
|
||||
|
||||
// Update if user recently authenticated.
|
||||
if ( is_user_logged_in() && get_current_user_id() !== $this->_customer_id ) {
|
||||
$this->_customer_id = get_current_user_id();
|
||||
}
|
||||
|
||||
// Bail if no changes.
|
||||
if ( ! $this->_dirty ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->save_data();
|
||||
}
|
||||
|
||||
/**
|
||||
* For refreshing session data mid-request when changes occur in concurrent requests.
|
||||
*/
|
||||
public function reload_data() {
|
||||
\WC_Cache_Helper::incr_cache_prefix( WC_SESSION_CACHE_GROUP );
|
||||
$this->_data = $this->get_session( $this->_customer_id );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,231 @@
|
||||
<?php
|
||||
/**
|
||||
* Manages concurrent requests that executes mutations on the session data.
|
||||
*
|
||||
* @package WPGraphQL\WooCommerce\Utils
|
||||
* @since 0.7.1
|
||||
*/
|
||||
|
||||
namespace WPGraphQL\WooCommerce\Utils;
|
||||
|
||||
use Firebase\JWT\JWT;
|
||||
use GraphQL\Error\UserError;
|
||||
use WC_Session_Handler;
|
||||
|
||||
/**
|
||||
* Class - Session_Transaction_Manager
|
||||
*/
|
||||
class Session_Transaction_Manager {
|
||||
|
||||
/**
|
||||
* The request's transaction ID.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $transaction_id = null;
|
||||
|
||||
/**
|
||||
* Instance of parent session handler
|
||||
*
|
||||
* @var \WC_Session
|
||||
*/
|
||||
private $session_handler = null;
|
||||
|
||||
|
||||
/**
|
||||
* Singleton instance of class.
|
||||
*
|
||||
* @var Session_Transaction_Manager $session_handler
|
||||
*/
|
||||
private static $instance = null;
|
||||
|
||||
/**
|
||||
* Singleton retriever and cleaner.
|
||||
* Should not be called anywhere but in the session handler init function.
|
||||
*
|
||||
* @param \WC_Session $session_handler WooCommerce Session Handler instance.
|
||||
*
|
||||
* @return Session_Transaction_Manager
|
||||
*/
|
||||
public static function get( &$session_handler ) {
|
||||
if ( is_null( self::$instance ) ) {
|
||||
self::$instance = new self( $session_handler );
|
||||
}
|
||||
|
||||
return self::$instance;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Session_Transaction_Manager constructor
|
||||
*
|
||||
* @param \WC_Session $session_handler Reference back to session handler.
|
||||
*/
|
||||
public function __construct( &$session_handler ) {
|
||||
$this->session_handler = $session_handler;
|
||||
|
||||
add_action( 'graphql_before_resolve_field', array( $this, 'update_transaction_queue' ), 10, 4 );
|
||||
add_action( 'graphql_process_http_request_response', array( $this, 'pop_transaction_id' ), 20 );
|
||||
}
|
||||
|
||||
/**
|
||||
* Pass all member call upstream to the session handler.
|
||||
*
|
||||
* @param string $name Name of class member.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function __get( $name ) {
|
||||
return $this->session_handler->{$name};
|
||||
}
|
||||
|
||||
/**
|
||||
* Return array of all mutations that alter the session data.
|
||||
* a.k.a. Session Mutations
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function get_session_mutations() {
|
||||
/**
|
||||
* All session altering mutations should be passed to the array.
|
||||
*/
|
||||
return \apply_filters(
|
||||
'woographql_session_mutations',
|
||||
array(
|
||||
'addToCart',
|
||||
'updateItemQuantities',
|
||||
'addFee',
|
||||
'applyCoupon',
|
||||
'removeCoupons',
|
||||
'emptyCart',
|
||||
'removeItemsFromCart',
|
||||
'restoreCartItems',
|
||||
'updateItemQuantities',
|
||||
'updateShippingMethod',
|
||||
'updateCustomer',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Transaction queue workhorse.
|
||||
*
|
||||
* Creates an transaction ID if executing mutations that alter the session data, and stales
|
||||
* execution until the transaction ID is at the top of the queue.
|
||||
*
|
||||
* @param mixed $source Operation root object.
|
||||
* @param array $args Operation arguments.
|
||||
* @param \WPGraphQL\AppContext $context AppContext instance.
|
||||
* @param \GraphQL\ResolveInfo $info Operation ResolveInfo object.
|
||||
*/
|
||||
public function update_transaction_queue( $source, $args, $context, $info ) {
|
||||
// Bail early, if not one of the session mutations.
|
||||
if ( ! in_array( $info->fieldName, self::get_session_mutations(), true ) ) { // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
|
||||
return;
|
||||
}
|
||||
|
||||
// Initialize transaction ID.
|
||||
if ( is_null( $this->transaction_id ) ) {
|
||||
$mutation = $info->fieldName; // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
|
||||
$this->transaction_id = \uniqid( "wooSession_{$mutation}_" );
|
||||
}
|
||||
|
||||
// Wait until our transaction ID is at the top of the queue before continuing.
|
||||
if ( ! $this->next_transaction() ) {
|
||||
usleep( 500000 );
|
||||
$this->update_transaction_queue( $source, $args, $context, $info );
|
||||
} else {
|
||||
$this->session_handler->reload_data();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Processes next transaction and returns whether the current transaction is the next transaction.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function next_transaction() {
|
||||
// Update transaction queue.
|
||||
$transaction_queue = $this->get_transaction_queue();
|
||||
|
||||
// If lead transaction object invalid pop transaction and loop.
|
||||
if ( ! is_array( $transaction_queue[0] ) ) {
|
||||
array_shift( $transaction_queue );
|
||||
$this->save_transaction_queue( $transaction_queue );
|
||||
|
||||
// If current transaction is the lead exit loop.
|
||||
} elseif ( $this->transaction_id === $transaction_queue[0]['transaction_id'] ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds transaction ID to the end of the queue, officially starting the transaction,
|
||||
* and returns the transaction queue.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function get_transaction_queue() {
|
||||
// Get transaction queue.
|
||||
$transaction_queue = get_transient( "woo_session_transactions_queue_{$this->_customer_id}" );
|
||||
if ( ! $transaction_queue ) {
|
||||
$transaction_queue = array();
|
||||
}
|
||||
|
||||
// If transaction ID not in queue, add it, and start transaction.
|
||||
if ( false === array_search( $this->transaction_id, array_column( $transaction_queue, 'transaction_id' ), true ) ) {
|
||||
$transaction_id = $this->transaction_id;
|
||||
$snapshot = $this->_data;
|
||||
$transaction_queue[] = compact( 'transaction_id', 'snapshot' );
|
||||
|
||||
// Update queue.
|
||||
$this->save_transaction_queue( $transaction_queue );
|
||||
}
|
||||
|
||||
return $transaction_queue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Pop transaction ID off the top of the queue, ending the transaction.
|
||||
*
|
||||
* @throws UserError If transaction ID is not on the top of the queue.
|
||||
*/
|
||||
public function pop_transaction_id() {
|
||||
// Bail if transaction not started.
|
||||
if ( is_null( $this->transaction_id ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Get transaction queue.
|
||||
$transaction_queue = get_transient( "woo_session_transactions_queue_{$this->_customer_id}" );
|
||||
|
||||
// Throw if transaction ID not on top.
|
||||
if ( $this->transaction_id !== $transaction_queue[0]['transaction_id'] ) {
|
||||
throw new UserError( __( 'Woo session transaction executed out of order', 'wp-graphql-woocommerce' ) );
|
||||
} else {
|
||||
|
||||
// Remove Transaction ID and update queue.
|
||||
array_shift( $transaction_queue );
|
||||
$this->save_transaction_queue( $transaction_queue );
|
||||
$this->transaction_id = null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves transaction queue.
|
||||
*
|
||||
* @param array $queue Transaction queue.
|
||||
*/
|
||||
public function save_transaction_queue( $queue = array() ) {
|
||||
// If queue empty delete transient and bail.
|
||||
if ( empty( $queue ) ) {
|
||||
delete_transient( "woo_session_transactions_queue_{$this->_customer_id}" );
|
||||
return;
|
||||
}
|
||||
|
||||
// Save transaction queue.
|
||||
set_transient( "woo_session_transactions_queue_{$this->_customer_id}", $queue );
|
||||
}
|
||||
}
|
||||
@@ -79,8 +79,10 @@ class CartTransactionQueueCest {
|
||||
|
||||
// tests
|
||||
public function testCartTransactionQueueWithConcurrentRequest( FunctionalTester $I ) {
|
||||
$I->wantTo( 'Add Item to cart' );
|
||||
extract( $this->_startAuthenticatedSession( $I ) );
|
||||
|
||||
$I->wantTo( 'Running a bunch of cart mutations one after the another wait for all the response at once' );
|
||||
$update_item_quantities_mutation = '
|
||||
mutation( $input: UpdateItemQuantitiesInput! ) {
|
||||
updateItemQuantities( input: $input ) {
|
||||
@@ -143,7 +145,7 @@ class CartTransactionQueueCest {
|
||||
}
|
||||
';
|
||||
|
||||
$batch_requests = array(
|
||||
$requests = array(
|
||||
array(
|
||||
'query' => $update_item_quantities_mutation,
|
||||
'variables' => array(
|
||||
@@ -183,32 +185,9 @@ class CartTransactionQueueCest {
|
||||
'keys' => array( $key ),
|
||||
),
|
||||
),
|
||||
),
|
||||
array( 'query' => $cart_query ),
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
$client = new \GuzzleHttp\Client();
|
||||
|
||||
$fn = function( $batch_requests ) use ( $client, $auth_token, $session_token ) {
|
||||
$base_uri = getenv( 'WORDPRESS_URL' ) ? getenv( 'WORDPRESS_URL' ) : 'http://localhost';
|
||||
$headers = array(
|
||||
'Content-Type' => 'application/json',
|
||||
'Authorization' => "Bearer ${auth_token}",
|
||||
'woocommerce-session' => "Session {$session_token}",
|
||||
);
|
||||
|
||||
foreach ( $batch_requests as $request ) {
|
||||
yield new \GuzzleHttp\Psr7\Request(
|
||||
'POST',
|
||||
"$base_uri/graphql",
|
||||
$headers,
|
||||
json_encode( $request )
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
$batch_expected_responses = array(
|
||||
$expected_responses = array(
|
||||
array(
|
||||
'updateItemQuantities' => array(
|
||||
'clientMutationId' => 'some_id',
|
||||
@@ -270,46 +249,54 @@ class CartTransactionQueueCest {
|
||||
),
|
||||
),
|
||||
),
|
||||
array(
|
||||
'cart' => array(
|
||||
'contents' => array(
|
||||
'nodes' => array(
|
||||
array(
|
||||
'key' => $key,
|
||||
'quantity' => 4
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
$pool = new \GuzzleHttp\Pool( $client, $fn( $batch_requests ),
|
||||
$base_uri = getenv( 'WORDPRESS_URL' ) ? getenv( 'WORDPRESS_URL' ) : 'http://localhost';
|
||||
$headers = array(
|
||||
'Content-Type' => 'application/json',
|
||||
'Authorization' => "Bearer ${auth_token}",
|
||||
'woocommerce-session' => "Session {$session_token}",
|
||||
);
|
||||
$timeout = 300;
|
||||
$client = new \GuzzleHttp\Client( compact( 'base_uri', 'headers', 'timeout' ) );
|
||||
|
||||
$iterator = function( $requests ) use ( $client ) {
|
||||
$stagger = 1000;
|
||||
foreach( $requests as $index => $payload ) {
|
||||
yield function() use ( $client, $stagger, $index, $payload ) {
|
||||
$body = json_encode( $payload );
|
||||
$delay = $stagger * $index + 1;
|
||||
$connected = false;
|
||||
$progress = function( $downloadTotal, $downloadedBytes, $uploadTotal, $uploadedBytes ) use ( $index, &$connected ) {
|
||||
if ( $uploadTotal === $uploadedBytes && $downloadTotal === 0 && ! $connected ) {
|
||||
\codecept_debug( "Session mutation request $index connected @ " . ( new \Carbon\Carbon() )->format( 'Y-m-d H:i:s' ) );
|
||||
$connected = true;
|
||||
}
|
||||
};
|
||||
return $client->postAsync( '/graphql', compact( 'body', 'delay', 'progress' ) );
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
$pool = new \GuzzleHttp\Pool(
|
||||
$client,
|
||||
$iterator( $requests ),
|
||||
array(
|
||||
'concurrency' => 5,
|
||||
'fulfilled' => function( \GuzzleHttp\Psr7\Response $response, $index ) use ( $I, $batch_expected_responses ) {
|
||||
// this is delivered each successful response
|
||||
$body = json_decode( $response->getBody(), true );
|
||||
'fulfilled' => function ( $response, $index ) use ( $I, $expected_responses ) {
|
||||
\codecept_debug( "Finished session mutation request $index @ " . ( new \Carbon\Carbon() )->format( 'Y-m-d H:i:s' ) );
|
||||
|
||||
$expected = $expected_responses[ $index ];
|
||||
$body = json_decode( $response->getBody(), true );
|
||||
|
||||
\codecept_debug( $body );
|
||||
$I->assertEquals(
|
||||
$batch_expected_responses[ $index ],
|
||||
$body['data'],
|
||||
"Response $index doesn't match expected data"
|
||||
);
|
||||
},
|
||||
'rejected' => function( \GuzzleHttp\Exception\RequestExceptionRequestException $reason, $index ) use ( $I ) {
|
||||
// this is delivered each failed request
|
||||
$body = json_decode( $response->getBody(), true );
|
||||
\codecept_debug( $body );
|
||||
$I->assertTrue( false, "Response $index rejected" );
|
||||
$I->assertEquals( $expected, $body['data'] );
|
||||
},
|
||||
)
|
||||
);
|
||||
|
||||
// Initiate the transfers and create a promise
|
||||
$promise = $pool->promise();
|
||||
|
||||
// Force the pool of requests to complete.
|
||||
$promise->wait();
|
||||
}
|
||||
}
|
||||
|
||||
+16
-7
@@ -24,12 +24,12 @@ class InstalledVersions
|
||||
private static $installed = array (
|
||||
'root' =>
|
||||
array (
|
||||
'pretty_version' => '1.0.0+no-version-set',
|
||||
'version' => '1.0.0.0',
|
||||
'pretty_version' => 'dev-develop',
|
||||
'version' => 'dev-develop',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => NULL,
|
||||
'reference' => 'a644f48cb0f5868be72eb0b0af190d762195c45e',
|
||||
'name' => 'wp-graphql/wp-graphql-woocommerce',
|
||||
),
|
||||
'versions' =>
|
||||
@@ -43,14 +43,23 @@ private static $installed = array (
|
||||
),
|
||||
'reference' => 'f42c9110abe98dd6cfe9053c49bc86acc70b2d23',
|
||||
),
|
||||
'wp-graphql/wp-graphql-woocommerce' =>
|
||||
'webonyx/graphql-php' =>
|
||||
array (
|
||||
'pretty_version' => '1.0.0+no-version-set',
|
||||
'version' => '1.0.0.0',
|
||||
'pretty_version' => 'v14.4.0',
|
||||
'version' => '14.4.0.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => NULL,
|
||||
'reference' => 'aab3d49181467db064b41429cde117a7589625fc',
|
||||
),
|
||||
'wp-graphql/wp-graphql-woocommerce' =>
|
||||
array (
|
||||
'pretty_version' => 'dev-develop',
|
||||
'version' => 'dev-develop',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'a644f48cb0f5868be72eb0b0af190d762195c45e',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
+190
@@ -12,6 +12,195 @@ return array(
|
||||
'Firebase\\JWT\\JWK' => $vendorDir . '/firebase/php-jwt/src/JWK.php',
|
||||
'Firebase\\JWT\\JWT' => $vendorDir . '/firebase/php-jwt/src/JWT.php',
|
||||
'Firebase\\JWT\\SignatureInvalidException' => $vendorDir . '/firebase/php-jwt/src/SignatureInvalidException.php',
|
||||
'GraphQL\\Deferred' => $vendorDir . '/webonyx/graphql-php/src/Deferred.php',
|
||||
'GraphQL\\Error\\ClientAware' => $vendorDir . '/webonyx/graphql-php/src/Error/ClientAware.php',
|
||||
'GraphQL\\Error\\DebugFlag' => $vendorDir . '/webonyx/graphql-php/src/Error/DebugFlag.php',
|
||||
'GraphQL\\Error\\Error' => $vendorDir . '/webonyx/graphql-php/src/Error/Error.php',
|
||||
'GraphQL\\Error\\FormattedError' => $vendorDir . '/webonyx/graphql-php/src/Error/FormattedError.php',
|
||||
'GraphQL\\Error\\InvariantViolation' => $vendorDir . '/webonyx/graphql-php/src/Error/InvariantViolation.php',
|
||||
'GraphQL\\Error\\SyntaxError' => $vendorDir . '/webonyx/graphql-php/src/Error/SyntaxError.php',
|
||||
'GraphQL\\Error\\UserError' => $vendorDir . '/webonyx/graphql-php/src/Error/UserError.php',
|
||||
'GraphQL\\Error\\Warning' => $vendorDir . '/webonyx/graphql-php/src/Error/Warning.php',
|
||||
'GraphQL\\Exception\\InvalidArgument' => $vendorDir . '/webonyx/graphql-php/src/Exception/InvalidArgument.php',
|
||||
'GraphQL\\Executor\\ExecutionContext' => $vendorDir . '/webonyx/graphql-php/src/Executor/ExecutionContext.php',
|
||||
'GraphQL\\Executor\\ExecutionResult' => $vendorDir . '/webonyx/graphql-php/src/Executor/ExecutionResult.php',
|
||||
'GraphQL\\Executor\\Executor' => $vendorDir . '/webonyx/graphql-php/src/Executor/Executor.php',
|
||||
'GraphQL\\Executor\\ExecutorImplementation' => $vendorDir . '/webonyx/graphql-php/src/Executor/ExecutorImplementation.php',
|
||||
'GraphQL\\Executor\\Promise\\Adapter\\AmpPromiseAdapter' => $vendorDir . '/webonyx/graphql-php/src/Executor/Promise/Adapter/AmpPromiseAdapter.php',
|
||||
'GraphQL\\Executor\\Promise\\Adapter\\ReactPromiseAdapter' => $vendorDir . '/webonyx/graphql-php/src/Executor/Promise/Adapter/ReactPromiseAdapter.php',
|
||||
'GraphQL\\Executor\\Promise\\Adapter\\SyncPromise' => $vendorDir . '/webonyx/graphql-php/src/Executor/Promise/Adapter/SyncPromise.php',
|
||||
'GraphQL\\Executor\\Promise\\Adapter\\SyncPromiseAdapter' => $vendorDir . '/webonyx/graphql-php/src/Executor/Promise/Adapter/SyncPromiseAdapter.php',
|
||||
'GraphQL\\Executor\\Promise\\Promise' => $vendorDir . '/webonyx/graphql-php/src/Executor/Promise/Promise.php',
|
||||
'GraphQL\\Executor\\Promise\\PromiseAdapter' => $vendorDir . '/webonyx/graphql-php/src/Executor/Promise/PromiseAdapter.php',
|
||||
'GraphQL\\Executor\\ReferenceExecutor' => $vendorDir . '/webonyx/graphql-php/src/Executor/ReferenceExecutor.php',
|
||||
'GraphQL\\Executor\\Values' => $vendorDir . '/webonyx/graphql-php/src/Executor/Values.php',
|
||||
'GraphQL\\Experimental\\Executor\\Collector' => $vendorDir . '/webonyx/graphql-php/src/Experimental/Executor/Collector.php',
|
||||
'GraphQL\\Experimental\\Executor\\CoroutineContext' => $vendorDir . '/webonyx/graphql-php/src/Experimental/Executor/CoroutineContext.php',
|
||||
'GraphQL\\Experimental\\Executor\\CoroutineContextShared' => $vendorDir . '/webonyx/graphql-php/src/Experimental/Executor/CoroutineContextShared.php',
|
||||
'GraphQL\\Experimental\\Executor\\CoroutineExecutor' => $vendorDir . '/webonyx/graphql-php/src/Experimental/Executor/CoroutineExecutor.php',
|
||||
'GraphQL\\Experimental\\Executor\\Runtime' => $vendorDir . '/webonyx/graphql-php/src/Experimental/Executor/Runtime.php',
|
||||
'GraphQL\\Experimental\\Executor\\Strand' => $vendorDir . '/webonyx/graphql-php/src/Experimental/Executor/Strand.php',
|
||||
'GraphQL\\GraphQL' => $vendorDir . '/webonyx/graphql-php/src/GraphQL.php',
|
||||
'GraphQL\\Language\\AST\\ArgumentNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/ArgumentNode.php',
|
||||
'GraphQL\\Language\\AST\\BooleanValueNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/BooleanValueNode.php',
|
||||
'GraphQL\\Language\\AST\\DefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/DefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\DirectiveDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/DirectiveDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\DirectiveNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/DirectiveNode.php',
|
||||
'GraphQL\\Language\\AST\\DocumentNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/DocumentNode.php',
|
||||
'GraphQL\\Language\\AST\\EnumTypeDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/EnumTypeDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\EnumTypeExtensionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/EnumTypeExtensionNode.php',
|
||||
'GraphQL\\Language\\AST\\EnumValueDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/EnumValueDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\EnumValueNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/EnumValueNode.php',
|
||||
'GraphQL\\Language\\AST\\ExecutableDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/ExecutableDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\FieldDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/FieldDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\FieldNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/FieldNode.php',
|
||||
'GraphQL\\Language\\AST\\FloatValueNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/FloatValueNode.php',
|
||||
'GraphQL\\Language\\AST\\FragmentDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/FragmentDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\FragmentSpreadNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/FragmentSpreadNode.php',
|
||||
'GraphQL\\Language\\AST\\HasSelectionSet' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/HasSelectionSet.php',
|
||||
'GraphQL\\Language\\AST\\InlineFragmentNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/InlineFragmentNode.php',
|
||||
'GraphQL\\Language\\AST\\InputObjectTypeDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/InputObjectTypeDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\InputObjectTypeExtensionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/InputObjectTypeExtensionNode.php',
|
||||
'GraphQL\\Language\\AST\\InputValueDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/InputValueDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\IntValueNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/IntValueNode.php',
|
||||
'GraphQL\\Language\\AST\\InterfaceTypeDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/InterfaceTypeDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\InterfaceTypeExtensionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/InterfaceTypeExtensionNode.php',
|
||||
'GraphQL\\Language\\AST\\ListTypeNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/ListTypeNode.php',
|
||||
'GraphQL\\Language\\AST\\ListValueNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/ListValueNode.php',
|
||||
'GraphQL\\Language\\AST\\Location' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/Location.php',
|
||||
'GraphQL\\Language\\AST\\NameNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/NameNode.php',
|
||||
'GraphQL\\Language\\AST\\NamedTypeNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/NamedTypeNode.php',
|
||||
'GraphQL\\Language\\AST\\Node' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/Node.php',
|
||||
'GraphQL\\Language\\AST\\NodeKind' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/NodeKind.php',
|
||||
'GraphQL\\Language\\AST\\NodeList' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/NodeList.php',
|
||||
'GraphQL\\Language\\AST\\NonNullTypeNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/NonNullTypeNode.php',
|
||||
'GraphQL\\Language\\AST\\NullValueNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/NullValueNode.php',
|
||||
'GraphQL\\Language\\AST\\ObjectFieldNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/ObjectFieldNode.php',
|
||||
'GraphQL\\Language\\AST\\ObjectTypeDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/ObjectTypeDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\ObjectTypeExtensionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/ObjectTypeExtensionNode.php',
|
||||
'GraphQL\\Language\\AST\\ObjectValueNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/ObjectValueNode.php',
|
||||
'GraphQL\\Language\\AST\\OperationDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/OperationDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\OperationTypeDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/OperationTypeDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\ScalarTypeDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/ScalarTypeDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\ScalarTypeExtensionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/ScalarTypeExtensionNode.php',
|
||||
'GraphQL\\Language\\AST\\SchemaDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/SchemaDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\SchemaTypeExtensionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/SchemaTypeExtensionNode.php',
|
||||
'GraphQL\\Language\\AST\\SelectionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/SelectionNode.php',
|
||||
'GraphQL\\Language\\AST\\SelectionSetNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/SelectionSetNode.php',
|
||||
'GraphQL\\Language\\AST\\StringValueNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/StringValueNode.php',
|
||||
'GraphQL\\Language\\AST\\TypeDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/TypeDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\TypeExtensionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/TypeExtensionNode.php',
|
||||
'GraphQL\\Language\\AST\\TypeNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/TypeNode.php',
|
||||
'GraphQL\\Language\\AST\\TypeSystemDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/TypeSystemDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\UnionTypeDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/UnionTypeDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\UnionTypeExtensionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/UnionTypeExtensionNode.php',
|
||||
'GraphQL\\Language\\AST\\ValueNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/ValueNode.php',
|
||||
'GraphQL\\Language\\AST\\VariableDefinitionNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/VariableDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\VariableNode' => $vendorDir . '/webonyx/graphql-php/src/Language/AST/VariableNode.php',
|
||||
'GraphQL\\Language\\DirectiveLocation' => $vendorDir . '/webonyx/graphql-php/src/Language/DirectiveLocation.php',
|
||||
'GraphQL\\Language\\Lexer' => $vendorDir . '/webonyx/graphql-php/src/Language/Lexer.php',
|
||||
'GraphQL\\Language\\Parser' => $vendorDir . '/webonyx/graphql-php/src/Language/Parser.php',
|
||||
'GraphQL\\Language\\Printer' => $vendorDir . '/webonyx/graphql-php/src/Language/Printer.php',
|
||||
'GraphQL\\Language\\Source' => $vendorDir . '/webonyx/graphql-php/src/Language/Source.php',
|
||||
'GraphQL\\Language\\SourceLocation' => $vendorDir . '/webonyx/graphql-php/src/Language/SourceLocation.php',
|
||||
'GraphQL\\Language\\Token' => $vendorDir . '/webonyx/graphql-php/src/Language/Token.php',
|
||||
'GraphQL\\Language\\Visitor' => $vendorDir . '/webonyx/graphql-php/src/Language/Visitor.php',
|
||||
'GraphQL\\Language\\VisitorOperation' => $vendorDir . '/webonyx/graphql-php/src/Language/VisitorOperation.php',
|
||||
'GraphQL\\Server\\Helper' => $vendorDir . '/webonyx/graphql-php/src/Server/Helper.php',
|
||||
'GraphQL\\Server\\OperationParams' => $vendorDir . '/webonyx/graphql-php/src/Server/OperationParams.php',
|
||||
'GraphQL\\Server\\RequestError' => $vendorDir . '/webonyx/graphql-php/src/Server/RequestError.php',
|
||||
'GraphQL\\Server\\ServerConfig' => $vendorDir . '/webonyx/graphql-php/src/Server/ServerConfig.php',
|
||||
'GraphQL\\Server\\StandardServer' => $vendorDir . '/webonyx/graphql-php/src/Server/StandardServer.php',
|
||||
'GraphQL\\Type\\Definition\\AbstractType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/AbstractType.php',
|
||||
'GraphQL\\Type\\Definition\\BooleanType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/BooleanType.php',
|
||||
'GraphQL\\Type\\Definition\\CompositeType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/CompositeType.php',
|
||||
'GraphQL\\Type\\Definition\\CustomScalarType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/CustomScalarType.php',
|
||||
'GraphQL\\Type\\Definition\\Directive' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/Directive.php',
|
||||
'GraphQL\\Type\\Definition\\EnumType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/EnumType.php',
|
||||
'GraphQL\\Type\\Definition\\EnumValueDefinition' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/EnumValueDefinition.php',
|
||||
'GraphQL\\Type\\Definition\\FieldArgument' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/FieldArgument.php',
|
||||
'GraphQL\\Type\\Definition\\FieldDefinition' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/FieldDefinition.php',
|
||||
'GraphQL\\Type\\Definition\\FloatType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/FloatType.php',
|
||||
'GraphQL\\Type\\Definition\\IDType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/IDType.php',
|
||||
'GraphQL\\Type\\Definition\\InputObjectField' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/InputObjectField.php',
|
||||
'GraphQL\\Type\\Definition\\InputObjectType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/InputObjectType.php',
|
||||
'GraphQL\\Type\\Definition\\InputType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/InputType.php',
|
||||
'GraphQL\\Type\\Definition\\IntType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/IntType.php',
|
||||
'GraphQL\\Type\\Definition\\InterfaceType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/InterfaceType.php',
|
||||
'GraphQL\\Type\\Definition\\LeafType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/LeafType.php',
|
||||
'GraphQL\\Type\\Definition\\ListOfType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/ListOfType.php',
|
||||
'GraphQL\\Type\\Definition\\NamedType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/NamedType.php',
|
||||
'GraphQL\\Type\\Definition\\NonNull' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/NonNull.php',
|
||||
'GraphQL\\Type\\Definition\\NullableType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/NullableType.php',
|
||||
'GraphQL\\Type\\Definition\\ObjectType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/ObjectType.php',
|
||||
'GraphQL\\Type\\Definition\\OutputType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/OutputType.php',
|
||||
'GraphQL\\Type\\Definition\\QueryPlan' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/QueryPlan.php',
|
||||
'GraphQL\\Type\\Definition\\ResolveInfo' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/ResolveInfo.php',
|
||||
'GraphQL\\Type\\Definition\\ScalarType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/ScalarType.php',
|
||||
'GraphQL\\Type\\Definition\\StringType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/StringType.php',
|
||||
'GraphQL\\Type\\Definition\\Type' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/Type.php',
|
||||
'GraphQL\\Type\\Definition\\UnionType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/UnionType.php',
|
||||
'GraphQL\\Type\\Definition\\UnmodifiedType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/UnmodifiedType.php',
|
||||
'GraphQL\\Type\\Definition\\WrappingType' => $vendorDir . '/webonyx/graphql-php/src/Type/Definition/WrappingType.php',
|
||||
'GraphQL\\Type\\Introspection' => $vendorDir . '/webonyx/graphql-php/src/Type/Introspection.php',
|
||||
'GraphQL\\Type\\Schema' => $vendorDir . '/webonyx/graphql-php/src/Type/Schema.php',
|
||||
'GraphQL\\Type\\SchemaConfig' => $vendorDir . '/webonyx/graphql-php/src/Type/SchemaConfig.php',
|
||||
'GraphQL\\Type\\SchemaValidationContext' => $vendorDir . '/webonyx/graphql-php/src/Type/SchemaValidationContext.php',
|
||||
'GraphQL\\Type\\TypeKind' => $vendorDir . '/webonyx/graphql-php/src/Type/TypeKind.php',
|
||||
'GraphQL\\Type\\Validation\\InputObjectCircularRefs' => $vendorDir . '/webonyx/graphql-php/src/Type/Validation/InputObjectCircularRefs.php',
|
||||
'GraphQL\\Utils\\AST' => $vendorDir . '/webonyx/graphql-php/src/Utils/AST.php',
|
||||
'GraphQL\\Utils\\ASTDefinitionBuilder' => $vendorDir . '/webonyx/graphql-php/src/Utils/ASTDefinitionBuilder.php',
|
||||
'GraphQL\\Utils\\BlockString' => $vendorDir . '/webonyx/graphql-php/src/Utils/BlockString.php',
|
||||
'GraphQL\\Utils\\BreakingChangesFinder' => $vendorDir . '/webonyx/graphql-php/src/Utils/BreakingChangesFinder.php',
|
||||
'GraphQL\\Utils\\BuildClientSchema' => $vendorDir . '/webonyx/graphql-php/src/Utils/BuildClientSchema.php',
|
||||
'GraphQL\\Utils\\BuildSchema' => $vendorDir . '/webonyx/graphql-php/src/Utils/BuildSchema.php',
|
||||
'GraphQL\\Utils\\MixedStore' => $vendorDir . '/webonyx/graphql-php/src/Utils/MixedStore.php',
|
||||
'GraphQL\\Utils\\PairSet' => $vendorDir . '/webonyx/graphql-php/src/Utils/PairSet.php',
|
||||
'GraphQL\\Utils\\SchemaExtender' => $vendorDir . '/webonyx/graphql-php/src/Utils/SchemaExtender.php',
|
||||
'GraphQL\\Utils\\SchemaPrinter' => $vendorDir . '/webonyx/graphql-php/src/Utils/SchemaPrinter.php',
|
||||
'GraphQL\\Utils\\TypeComparators' => $vendorDir . '/webonyx/graphql-php/src/Utils/TypeComparators.php',
|
||||
'GraphQL\\Utils\\TypeInfo' => $vendorDir . '/webonyx/graphql-php/src/Utils/TypeInfo.php',
|
||||
'GraphQL\\Utils\\Utils' => $vendorDir . '/webonyx/graphql-php/src/Utils/Utils.php',
|
||||
'GraphQL\\Utils\\Value' => $vendorDir . '/webonyx/graphql-php/src/Utils/Value.php',
|
||||
'GraphQL\\Validator\\ASTValidationContext' => $vendorDir . '/webonyx/graphql-php/src/Validator/ASTValidationContext.php',
|
||||
'GraphQL\\Validator\\DocumentValidator' => $vendorDir . '/webonyx/graphql-php/src/Validator/DocumentValidator.php',
|
||||
'GraphQL\\Validator\\Rules\\CustomValidationRule' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/CustomValidationRule.php',
|
||||
'GraphQL\\Validator\\Rules\\DisableIntrospection' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/DisableIntrospection.php',
|
||||
'GraphQL\\Validator\\Rules\\ExecutableDefinitions' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/ExecutableDefinitions.php',
|
||||
'GraphQL\\Validator\\Rules\\FieldsOnCorrectType' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/FieldsOnCorrectType.php',
|
||||
'GraphQL\\Validator\\Rules\\FragmentsOnCompositeTypes' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/FragmentsOnCompositeTypes.php',
|
||||
'GraphQL\\Validator\\Rules\\KnownArgumentNames' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/KnownArgumentNames.php',
|
||||
'GraphQL\\Validator\\Rules\\KnownArgumentNamesOnDirectives' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/KnownArgumentNamesOnDirectives.php',
|
||||
'GraphQL\\Validator\\Rules\\KnownDirectives' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/KnownDirectives.php',
|
||||
'GraphQL\\Validator\\Rules\\KnownFragmentNames' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/KnownFragmentNames.php',
|
||||
'GraphQL\\Validator\\Rules\\KnownTypeNames' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/KnownTypeNames.php',
|
||||
'GraphQL\\Validator\\Rules\\LoneAnonymousOperation' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/LoneAnonymousOperation.php',
|
||||
'GraphQL\\Validator\\Rules\\LoneSchemaDefinition' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/LoneSchemaDefinition.php',
|
||||
'GraphQL\\Validator\\Rules\\NoFragmentCycles' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/NoFragmentCycles.php',
|
||||
'GraphQL\\Validator\\Rules\\NoUndefinedVariables' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/NoUndefinedVariables.php',
|
||||
'GraphQL\\Validator\\Rules\\NoUnusedFragments' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/NoUnusedFragments.php',
|
||||
'GraphQL\\Validator\\Rules\\NoUnusedVariables' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/NoUnusedVariables.php',
|
||||
'GraphQL\\Validator\\Rules\\OverlappingFieldsCanBeMerged' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/OverlappingFieldsCanBeMerged.php',
|
||||
'GraphQL\\Validator\\Rules\\PossibleFragmentSpreads' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/PossibleFragmentSpreads.php',
|
||||
'GraphQL\\Validator\\Rules\\ProvidedRequiredArguments' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/ProvidedRequiredArguments.php',
|
||||
'GraphQL\\Validator\\Rules\\ProvidedRequiredArgumentsOnDirectives' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/ProvidedRequiredArgumentsOnDirectives.php',
|
||||
'GraphQL\\Validator\\Rules\\QueryComplexity' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/QueryComplexity.php',
|
||||
'GraphQL\\Validator\\Rules\\QueryDepth' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/QueryDepth.php',
|
||||
'GraphQL\\Validator\\Rules\\QuerySecurityRule' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/QuerySecurityRule.php',
|
||||
'GraphQL\\Validator\\Rules\\ScalarLeafs' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/ScalarLeafs.php',
|
||||
'GraphQL\\Validator\\Rules\\SingleFieldSubscription' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/SingleFieldSubscription.php',
|
||||
'GraphQL\\Validator\\Rules\\UniqueArgumentNames' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/UniqueArgumentNames.php',
|
||||
'GraphQL\\Validator\\Rules\\UniqueDirectivesPerLocation' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/UniqueDirectivesPerLocation.php',
|
||||
'GraphQL\\Validator\\Rules\\UniqueFragmentNames' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/UniqueFragmentNames.php',
|
||||
'GraphQL\\Validator\\Rules\\UniqueInputFieldNames' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/UniqueInputFieldNames.php',
|
||||
'GraphQL\\Validator\\Rules\\UniqueOperationNames' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/UniqueOperationNames.php',
|
||||
'GraphQL\\Validator\\Rules\\UniqueVariableNames' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/UniqueVariableNames.php',
|
||||
'GraphQL\\Validator\\Rules\\ValidationRule' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/ValidationRule.php',
|
||||
'GraphQL\\Validator\\Rules\\ValuesOfCorrectType' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/ValuesOfCorrectType.php',
|
||||
'GraphQL\\Validator\\Rules\\VariablesAreInputTypes' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/VariablesAreInputTypes.php',
|
||||
'GraphQL\\Validator\\Rules\\VariablesInAllowedPosition' => $vendorDir . '/webonyx/graphql-php/src/Validator/Rules/VariablesInAllowedPosition.php',
|
||||
'GraphQL\\Validator\\SDLValidationContext' => $vendorDir . '/webonyx/graphql-php/src/Validator/SDLValidationContext.php',
|
||||
'GraphQL\\Validator\\ValidationContext' => $vendorDir . '/webonyx/graphql-php/src/Validator/ValidationContext.php',
|
||||
'WPGraphQL\\WooCommerce\\ACF_Schema_Filters' => $baseDir . '/includes/class-acf-schema-filters.php',
|
||||
'WPGraphQL\\WooCommerce\\Connection\\Cart_Items' => $baseDir . '/includes/connection/class-cart-items.php',
|
||||
'WPGraphQL\\WooCommerce\\Connection\\Comments' => $baseDir . '/includes/connection/class-comments.php',
|
||||
@@ -141,6 +330,7 @@ return array(
|
||||
'WPGraphQL\\WooCommerce\\Type\\WPObject\\Variation_Attribute_Type' => $baseDir . '/includes/type/object/class-variation-attribute-type.php',
|
||||
'WPGraphQL\\WooCommerce\\Type_Registry' => $baseDir . '/includes/class-type-registry.php',
|
||||
'WPGraphQL\\WooCommerce\\Utils\\QL_Session_Handler' => $baseDir . '/includes/utils/class-ql-session-handler.php',
|
||||
'WPGraphQL\\WooCommerce\\Utils\\Session_Transaction_Manager' => $baseDir . '/includes/utils/class-session-transaction-manager.php',
|
||||
'WPGraphQL\\WooCommerce\\WooCommerce_Filters' => $baseDir . '/includes/class-woocommerce-filters.php',
|
||||
'WP_GraphQL_WooCommerce' => $baseDir . '/includes/class-wp-graphql-woocommerce.php',
|
||||
);
|
||||
|
||||
Vendored
+1
@@ -7,5 +7,6 @@ $baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'WPGraphQL\\WooCommerce\\' => array($baseDir . '/includes'),
|
||||
'GraphQL\\' => array($vendorDir . '/webonyx/graphql-php/src'),
|
||||
'Firebase\\JWT\\' => array($vendorDir . '/firebase/php-jwt/src'),
|
||||
);
|
||||
|
||||
Vendored
+198
@@ -16,6 +16,10 @@ class ComposerStaticInitcc7daea8ca71dfbfd84d7599ca79ead1
|
||||
array (
|
||||
'WPGraphQL\\WooCommerce\\' => 22,
|
||||
),
|
||||
'G' =>
|
||||
array (
|
||||
'GraphQL\\' => 8,
|
||||
),
|
||||
'F' =>
|
||||
array (
|
||||
'Firebase\\JWT\\' => 13,
|
||||
@@ -27,6 +31,10 @@ class ComposerStaticInitcc7daea8ca71dfbfd84d7599ca79ead1
|
||||
array (
|
||||
0 => __DIR__ . '/../..' . '/includes',
|
||||
),
|
||||
'GraphQL\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/webonyx/graphql-php/src',
|
||||
),
|
||||
'Firebase\\JWT\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/firebase/php-jwt/src',
|
||||
@@ -40,6 +48,195 @@ class ComposerStaticInitcc7daea8ca71dfbfd84d7599ca79ead1
|
||||
'Firebase\\JWT\\JWK' => __DIR__ . '/..' . '/firebase/php-jwt/src/JWK.php',
|
||||
'Firebase\\JWT\\JWT' => __DIR__ . '/..' . '/firebase/php-jwt/src/JWT.php',
|
||||
'Firebase\\JWT\\SignatureInvalidException' => __DIR__ . '/..' . '/firebase/php-jwt/src/SignatureInvalidException.php',
|
||||
'GraphQL\\Deferred' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Deferred.php',
|
||||
'GraphQL\\Error\\ClientAware' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Error/ClientAware.php',
|
||||
'GraphQL\\Error\\DebugFlag' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Error/DebugFlag.php',
|
||||
'GraphQL\\Error\\Error' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Error/Error.php',
|
||||
'GraphQL\\Error\\FormattedError' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Error/FormattedError.php',
|
||||
'GraphQL\\Error\\InvariantViolation' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Error/InvariantViolation.php',
|
||||
'GraphQL\\Error\\SyntaxError' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Error/SyntaxError.php',
|
||||
'GraphQL\\Error\\UserError' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Error/UserError.php',
|
||||
'GraphQL\\Error\\Warning' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Error/Warning.php',
|
||||
'GraphQL\\Exception\\InvalidArgument' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Exception/InvalidArgument.php',
|
||||
'GraphQL\\Executor\\ExecutionContext' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Executor/ExecutionContext.php',
|
||||
'GraphQL\\Executor\\ExecutionResult' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Executor/ExecutionResult.php',
|
||||
'GraphQL\\Executor\\Executor' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Executor/Executor.php',
|
||||
'GraphQL\\Executor\\ExecutorImplementation' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Executor/ExecutorImplementation.php',
|
||||
'GraphQL\\Executor\\Promise\\Adapter\\AmpPromiseAdapter' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Executor/Promise/Adapter/AmpPromiseAdapter.php',
|
||||
'GraphQL\\Executor\\Promise\\Adapter\\ReactPromiseAdapter' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Executor/Promise/Adapter/ReactPromiseAdapter.php',
|
||||
'GraphQL\\Executor\\Promise\\Adapter\\SyncPromise' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Executor/Promise/Adapter/SyncPromise.php',
|
||||
'GraphQL\\Executor\\Promise\\Adapter\\SyncPromiseAdapter' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Executor/Promise/Adapter/SyncPromiseAdapter.php',
|
||||
'GraphQL\\Executor\\Promise\\Promise' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Executor/Promise/Promise.php',
|
||||
'GraphQL\\Executor\\Promise\\PromiseAdapter' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Executor/Promise/PromiseAdapter.php',
|
||||
'GraphQL\\Executor\\ReferenceExecutor' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Executor/ReferenceExecutor.php',
|
||||
'GraphQL\\Executor\\Values' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Executor/Values.php',
|
||||
'GraphQL\\Experimental\\Executor\\Collector' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Experimental/Executor/Collector.php',
|
||||
'GraphQL\\Experimental\\Executor\\CoroutineContext' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Experimental/Executor/CoroutineContext.php',
|
||||
'GraphQL\\Experimental\\Executor\\CoroutineContextShared' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Experimental/Executor/CoroutineContextShared.php',
|
||||
'GraphQL\\Experimental\\Executor\\CoroutineExecutor' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Experimental/Executor/CoroutineExecutor.php',
|
||||
'GraphQL\\Experimental\\Executor\\Runtime' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Experimental/Executor/Runtime.php',
|
||||
'GraphQL\\Experimental\\Executor\\Strand' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Experimental/Executor/Strand.php',
|
||||
'GraphQL\\GraphQL' => __DIR__ . '/..' . '/webonyx/graphql-php/src/GraphQL.php',
|
||||
'GraphQL\\Language\\AST\\ArgumentNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/ArgumentNode.php',
|
||||
'GraphQL\\Language\\AST\\BooleanValueNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/BooleanValueNode.php',
|
||||
'GraphQL\\Language\\AST\\DefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/DefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\DirectiveDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/DirectiveDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\DirectiveNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/DirectiveNode.php',
|
||||
'GraphQL\\Language\\AST\\DocumentNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/DocumentNode.php',
|
||||
'GraphQL\\Language\\AST\\EnumTypeDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/EnumTypeDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\EnumTypeExtensionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/EnumTypeExtensionNode.php',
|
||||
'GraphQL\\Language\\AST\\EnumValueDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/EnumValueDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\EnumValueNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/EnumValueNode.php',
|
||||
'GraphQL\\Language\\AST\\ExecutableDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/ExecutableDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\FieldDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/FieldDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\FieldNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/FieldNode.php',
|
||||
'GraphQL\\Language\\AST\\FloatValueNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/FloatValueNode.php',
|
||||
'GraphQL\\Language\\AST\\FragmentDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/FragmentDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\FragmentSpreadNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/FragmentSpreadNode.php',
|
||||
'GraphQL\\Language\\AST\\HasSelectionSet' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/HasSelectionSet.php',
|
||||
'GraphQL\\Language\\AST\\InlineFragmentNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/InlineFragmentNode.php',
|
||||
'GraphQL\\Language\\AST\\InputObjectTypeDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/InputObjectTypeDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\InputObjectTypeExtensionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/InputObjectTypeExtensionNode.php',
|
||||
'GraphQL\\Language\\AST\\InputValueDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/InputValueDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\IntValueNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/IntValueNode.php',
|
||||
'GraphQL\\Language\\AST\\InterfaceTypeDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/InterfaceTypeDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\InterfaceTypeExtensionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/InterfaceTypeExtensionNode.php',
|
||||
'GraphQL\\Language\\AST\\ListTypeNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/ListTypeNode.php',
|
||||
'GraphQL\\Language\\AST\\ListValueNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/ListValueNode.php',
|
||||
'GraphQL\\Language\\AST\\Location' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/Location.php',
|
||||
'GraphQL\\Language\\AST\\NameNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/NameNode.php',
|
||||
'GraphQL\\Language\\AST\\NamedTypeNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/NamedTypeNode.php',
|
||||
'GraphQL\\Language\\AST\\Node' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/Node.php',
|
||||
'GraphQL\\Language\\AST\\NodeKind' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/NodeKind.php',
|
||||
'GraphQL\\Language\\AST\\NodeList' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/NodeList.php',
|
||||
'GraphQL\\Language\\AST\\NonNullTypeNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/NonNullTypeNode.php',
|
||||
'GraphQL\\Language\\AST\\NullValueNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/NullValueNode.php',
|
||||
'GraphQL\\Language\\AST\\ObjectFieldNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/ObjectFieldNode.php',
|
||||
'GraphQL\\Language\\AST\\ObjectTypeDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/ObjectTypeDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\ObjectTypeExtensionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/ObjectTypeExtensionNode.php',
|
||||
'GraphQL\\Language\\AST\\ObjectValueNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/ObjectValueNode.php',
|
||||
'GraphQL\\Language\\AST\\OperationDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/OperationDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\OperationTypeDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/OperationTypeDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\ScalarTypeDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/ScalarTypeDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\ScalarTypeExtensionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/ScalarTypeExtensionNode.php',
|
||||
'GraphQL\\Language\\AST\\SchemaDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/SchemaDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\SchemaTypeExtensionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/SchemaTypeExtensionNode.php',
|
||||
'GraphQL\\Language\\AST\\SelectionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/SelectionNode.php',
|
||||
'GraphQL\\Language\\AST\\SelectionSetNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/SelectionSetNode.php',
|
||||
'GraphQL\\Language\\AST\\StringValueNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/StringValueNode.php',
|
||||
'GraphQL\\Language\\AST\\TypeDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/TypeDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\TypeExtensionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/TypeExtensionNode.php',
|
||||
'GraphQL\\Language\\AST\\TypeNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/TypeNode.php',
|
||||
'GraphQL\\Language\\AST\\TypeSystemDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/TypeSystemDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\UnionTypeDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/UnionTypeDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\UnionTypeExtensionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/UnionTypeExtensionNode.php',
|
||||
'GraphQL\\Language\\AST\\ValueNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/ValueNode.php',
|
||||
'GraphQL\\Language\\AST\\VariableDefinitionNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/VariableDefinitionNode.php',
|
||||
'GraphQL\\Language\\AST\\VariableNode' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/AST/VariableNode.php',
|
||||
'GraphQL\\Language\\DirectiveLocation' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/DirectiveLocation.php',
|
||||
'GraphQL\\Language\\Lexer' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/Lexer.php',
|
||||
'GraphQL\\Language\\Parser' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/Parser.php',
|
||||
'GraphQL\\Language\\Printer' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/Printer.php',
|
||||
'GraphQL\\Language\\Source' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/Source.php',
|
||||
'GraphQL\\Language\\SourceLocation' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/SourceLocation.php',
|
||||
'GraphQL\\Language\\Token' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/Token.php',
|
||||
'GraphQL\\Language\\Visitor' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/Visitor.php',
|
||||
'GraphQL\\Language\\VisitorOperation' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Language/VisitorOperation.php',
|
||||
'GraphQL\\Server\\Helper' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Server/Helper.php',
|
||||
'GraphQL\\Server\\OperationParams' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Server/OperationParams.php',
|
||||
'GraphQL\\Server\\RequestError' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Server/RequestError.php',
|
||||
'GraphQL\\Server\\ServerConfig' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Server/ServerConfig.php',
|
||||
'GraphQL\\Server\\StandardServer' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Server/StandardServer.php',
|
||||
'GraphQL\\Type\\Definition\\AbstractType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/AbstractType.php',
|
||||
'GraphQL\\Type\\Definition\\BooleanType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/BooleanType.php',
|
||||
'GraphQL\\Type\\Definition\\CompositeType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/CompositeType.php',
|
||||
'GraphQL\\Type\\Definition\\CustomScalarType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/CustomScalarType.php',
|
||||
'GraphQL\\Type\\Definition\\Directive' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/Directive.php',
|
||||
'GraphQL\\Type\\Definition\\EnumType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/EnumType.php',
|
||||
'GraphQL\\Type\\Definition\\EnumValueDefinition' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/EnumValueDefinition.php',
|
||||
'GraphQL\\Type\\Definition\\FieldArgument' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/FieldArgument.php',
|
||||
'GraphQL\\Type\\Definition\\FieldDefinition' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/FieldDefinition.php',
|
||||
'GraphQL\\Type\\Definition\\FloatType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/FloatType.php',
|
||||
'GraphQL\\Type\\Definition\\IDType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/IDType.php',
|
||||
'GraphQL\\Type\\Definition\\InputObjectField' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/InputObjectField.php',
|
||||
'GraphQL\\Type\\Definition\\InputObjectType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/InputObjectType.php',
|
||||
'GraphQL\\Type\\Definition\\InputType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/InputType.php',
|
||||
'GraphQL\\Type\\Definition\\IntType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/IntType.php',
|
||||
'GraphQL\\Type\\Definition\\InterfaceType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/InterfaceType.php',
|
||||
'GraphQL\\Type\\Definition\\LeafType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/LeafType.php',
|
||||
'GraphQL\\Type\\Definition\\ListOfType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/ListOfType.php',
|
||||
'GraphQL\\Type\\Definition\\NamedType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/NamedType.php',
|
||||
'GraphQL\\Type\\Definition\\NonNull' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/NonNull.php',
|
||||
'GraphQL\\Type\\Definition\\NullableType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/NullableType.php',
|
||||
'GraphQL\\Type\\Definition\\ObjectType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/ObjectType.php',
|
||||
'GraphQL\\Type\\Definition\\OutputType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/OutputType.php',
|
||||
'GraphQL\\Type\\Definition\\QueryPlan' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/QueryPlan.php',
|
||||
'GraphQL\\Type\\Definition\\ResolveInfo' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/ResolveInfo.php',
|
||||
'GraphQL\\Type\\Definition\\ScalarType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/ScalarType.php',
|
||||
'GraphQL\\Type\\Definition\\StringType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/StringType.php',
|
||||
'GraphQL\\Type\\Definition\\Type' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/Type.php',
|
||||
'GraphQL\\Type\\Definition\\UnionType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/UnionType.php',
|
||||
'GraphQL\\Type\\Definition\\UnmodifiedType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/UnmodifiedType.php',
|
||||
'GraphQL\\Type\\Definition\\WrappingType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Definition/WrappingType.php',
|
||||
'GraphQL\\Type\\Introspection' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Introspection.php',
|
||||
'GraphQL\\Type\\Schema' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Schema.php',
|
||||
'GraphQL\\Type\\SchemaConfig' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/SchemaConfig.php',
|
||||
'GraphQL\\Type\\SchemaValidationContext' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/SchemaValidationContext.php',
|
||||
'GraphQL\\Type\\TypeKind' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/TypeKind.php',
|
||||
'GraphQL\\Type\\Validation\\InputObjectCircularRefs' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Type/Validation/InputObjectCircularRefs.php',
|
||||
'GraphQL\\Utils\\AST' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Utils/AST.php',
|
||||
'GraphQL\\Utils\\ASTDefinitionBuilder' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Utils/ASTDefinitionBuilder.php',
|
||||
'GraphQL\\Utils\\BlockString' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Utils/BlockString.php',
|
||||
'GraphQL\\Utils\\BreakingChangesFinder' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Utils/BreakingChangesFinder.php',
|
||||
'GraphQL\\Utils\\BuildClientSchema' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Utils/BuildClientSchema.php',
|
||||
'GraphQL\\Utils\\BuildSchema' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Utils/BuildSchema.php',
|
||||
'GraphQL\\Utils\\MixedStore' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Utils/MixedStore.php',
|
||||
'GraphQL\\Utils\\PairSet' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Utils/PairSet.php',
|
||||
'GraphQL\\Utils\\SchemaExtender' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Utils/SchemaExtender.php',
|
||||
'GraphQL\\Utils\\SchemaPrinter' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Utils/SchemaPrinter.php',
|
||||
'GraphQL\\Utils\\TypeComparators' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Utils/TypeComparators.php',
|
||||
'GraphQL\\Utils\\TypeInfo' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Utils/TypeInfo.php',
|
||||
'GraphQL\\Utils\\Utils' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Utils/Utils.php',
|
||||
'GraphQL\\Utils\\Value' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Utils/Value.php',
|
||||
'GraphQL\\Validator\\ASTValidationContext' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/ASTValidationContext.php',
|
||||
'GraphQL\\Validator\\DocumentValidator' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/DocumentValidator.php',
|
||||
'GraphQL\\Validator\\Rules\\CustomValidationRule' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/CustomValidationRule.php',
|
||||
'GraphQL\\Validator\\Rules\\DisableIntrospection' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/DisableIntrospection.php',
|
||||
'GraphQL\\Validator\\Rules\\ExecutableDefinitions' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/ExecutableDefinitions.php',
|
||||
'GraphQL\\Validator\\Rules\\FieldsOnCorrectType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/FieldsOnCorrectType.php',
|
||||
'GraphQL\\Validator\\Rules\\FragmentsOnCompositeTypes' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/FragmentsOnCompositeTypes.php',
|
||||
'GraphQL\\Validator\\Rules\\KnownArgumentNames' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/KnownArgumentNames.php',
|
||||
'GraphQL\\Validator\\Rules\\KnownArgumentNamesOnDirectives' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/KnownArgumentNamesOnDirectives.php',
|
||||
'GraphQL\\Validator\\Rules\\KnownDirectives' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/KnownDirectives.php',
|
||||
'GraphQL\\Validator\\Rules\\KnownFragmentNames' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/KnownFragmentNames.php',
|
||||
'GraphQL\\Validator\\Rules\\KnownTypeNames' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/KnownTypeNames.php',
|
||||
'GraphQL\\Validator\\Rules\\LoneAnonymousOperation' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/LoneAnonymousOperation.php',
|
||||
'GraphQL\\Validator\\Rules\\LoneSchemaDefinition' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/LoneSchemaDefinition.php',
|
||||
'GraphQL\\Validator\\Rules\\NoFragmentCycles' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/NoFragmentCycles.php',
|
||||
'GraphQL\\Validator\\Rules\\NoUndefinedVariables' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/NoUndefinedVariables.php',
|
||||
'GraphQL\\Validator\\Rules\\NoUnusedFragments' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/NoUnusedFragments.php',
|
||||
'GraphQL\\Validator\\Rules\\NoUnusedVariables' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/NoUnusedVariables.php',
|
||||
'GraphQL\\Validator\\Rules\\OverlappingFieldsCanBeMerged' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/OverlappingFieldsCanBeMerged.php',
|
||||
'GraphQL\\Validator\\Rules\\PossibleFragmentSpreads' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/PossibleFragmentSpreads.php',
|
||||
'GraphQL\\Validator\\Rules\\ProvidedRequiredArguments' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/ProvidedRequiredArguments.php',
|
||||
'GraphQL\\Validator\\Rules\\ProvidedRequiredArgumentsOnDirectives' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/ProvidedRequiredArgumentsOnDirectives.php',
|
||||
'GraphQL\\Validator\\Rules\\QueryComplexity' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/QueryComplexity.php',
|
||||
'GraphQL\\Validator\\Rules\\QueryDepth' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/QueryDepth.php',
|
||||
'GraphQL\\Validator\\Rules\\QuerySecurityRule' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/QuerySecurityRule.php',
|
||||
'GraphQL\\Validator\\Rules\\ScalarLeafs' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/ScalarLeafs.php',
|
||||
'GraphQL\\Validator\\Rules\\SingleFieldSubscription' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/SingleFieldSubscription.php',
|
||||
'GraphQL\\Validator\\Rules\\UniqueArgumentNames' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/UniqueArgumentNames.php',
|
||||
'GraphQL\\Validator\\Rules\\UniqueDirectivesPerLocation' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/UniqueDirectivesPerLocation.php',
|
||||
'GraphQL\\Validator\\Rules\\UniqueFragmentNames' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/UniqueFragmentNames.php',
|
||||
'GraphQL\\Validator\\Rules\\UniqueInputFieldNames' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/UniqueInputFieldNames.php',
|
||||
'GraphQL\\Validator\\Rules\\UniqueOperationNames' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/UniqueOperationNames.php',
|
||||
'GraphQL\\Validator\\Rules\\UniqueVariableNames' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/UniqueVariableNames.php',
|
||||
'GraphQL\\Validator\\Rules\\ValidationRule' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/ValidationRule.php',
|
||||
'GraphQL\\Validator\\Rules\\ValuesOfCorrectType' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/ValuesOfCorrectType.php',
|
||||
'GraphQL\\Validator\\Rules\\VariablesAreInputTypes' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/VariablesAreInputTypes.php',
|
||||
'GraphQL\\Validator\\Rules\\VariablesInAllowedPosition' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/Rules/VariablesInAllowedPosition.php',
|
||||
'GraphQL\\Validator\\SDLValidationContext' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/SDLValidationContext.php',
|
||||
'GraphQL\\Validator\\ValidationContext' => __DIR__ . '/..' . '/webonyx/graphql-php/src/Validator/ValidationContext.php',
|
||||
'WPGraphQL\\WooCommerce\\ACF_Schema_Filters' => __DIR__ . '/../..' . '/includes/class-acf-schema-filters.php',
|
||||
'WPGraphQL\\WooCommerce\\Connection\\Cart_Items' => __DIR__ . '/../..' . '/includes/connection/class-cart-items.php',
|
||||
'WPGraphQL\\WooCommerce\\Connection\\Comments' => __DIR__ . '/../..' . '/includes/connection/class-comments.php',
|
||||
@@ -169,6 +366,7 @@ class ComposerStaticInitcc7daea8ca71dfbfd84d7599ca79ead1
|
||||
'WPGraphQL\\WooCommerce\\Type\\WPObject\\Variation_Attribute_Type' => __DIR__ . '/../..' . '/includes/type/object/class-variation-attribute-type.php',
|
||||
'WPGraphQL\\WooCommerce\\Type_Registry' => __DIR__ . '/../..' . '/includes/class-type-registry.php',
|
||||
'WPGraphQL\\WooCommerce\\Utils\\QL_Session_Handler' => __DIR__ . '/../..' . '/includes/utils/class-ql-session-handler.php',
|
||||
'WPGraphQL\\WooCommerce\\Utils\\Session_Transaction_Manager' => __DIR__ . '/../..' . '/includes/utils/class-session-transaction-manager.php',
|
||||
'WPGraphQL\\WooCommerce\\WooCommerce_Filters' => __DIR__ . '/../..' . '/includes/class-woocommerce-filters.php',
|
||||
'WP_GraphQL_WooCommerce' => __DIR__ . '/../..' . '/includes/class-wp-graphql-woocommerce.php',
|
||||
);
|
||||
|
||||
Vendored
+16
-7
@@ -1,12 +1,12 @@
|
||||
<?php return array (
|
||||
'root' =>
|
||||
array (
|
||||
'pretty_version' => '1.0.0+no-version-set',
|
||||
'version' => '1.0.0.0',
|
||||
'pretty_version' => 'dev-develop',
|
||||
'version' => 'dev-develop',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => NULL,
|
||||
'reference' => 'a644f48cb0f5868be72eb0b0af190d762195c45e',
|
||||
'name' => 'wp-graphql/wp-graphql-woocommerce',
|
||||
),
|
||||
'versions' =>
|
||||
@@ -20,14 +20,23 @@
|
||||
),
|
||||
'reference' => 'f42c9110abe98dd6cfe9053c49bc86acc70b2d23',
|
||||
),
|
||||
'wp-graphql/wp-graphql-woocommerce' =>
|
||||
'webonyx/graphql-php' =>
|
||||
array (
|
||||
'pretty_version' => '1.0.0+no-version-set',
|
||||
'version' => '1.0.0.0',
|
||||
'pretty_version' => 'v14.4.0',
|
||||
'version' => '14.4.0.0',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => NULL,
|
||||
'reference' => 'aab3d49181467db064b41429cde117a7589625fc',
|
||||
),
|
||||
'wp-graphql/wp-graphql-woocommerce' =>
|
||||
array (
|
||||
'pretty_version' => 'dev-develop',
|
||||
'version' => 'dev-develop',
|
||||
'aliases' =>
|
||||
array (
|
||||
),
|
||||
'reference' => 'a644f48cb0f5868be72eb0b0af190d762195c45e',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user