Automattic\WooCommerce\Vendor\GraphQL\Server
OperationParams::create
Creates an instance from given array.
Method of the class: OperationParams{}
No Hooks.
Returns
null. Nothing (null).
Usage
$result = OperationParams::create( $params, $readonly ): OperationParams;
- $params(array) (required)
- .
- $readonly(true|false)
- .
Default:false
OperationParams::create() OperationParams::create code WC 10.8.1
public static function create(array $params, bool $readonly = false): OperationParams
{
$instance = new static();
$params = array_change_key_case($params, \CASE_LOWER);
$instance->originalInput = $params;
$params += [
'query' => null,
'queryid' => null,
'documentid' => null, // alias to queryid
'id' => null, // alias to queryid
'operationname' => null,
'variables' => null,
'extensions' => null,
];
foreach ($params as &$value) {
if ($value === '') {
$value = null;
}
}
$instance->query = $params['query'];
$instance->queryId = $params['queryid'] ?? $params['documentid'] ?? $params['id'];
$instance->operation = $params['operationname'];
$instance->variables = static::decodeIfJSON($params['variables']);
$instance->extensions = static::decodeIfJSON($params['extensions']);
$instance->readOnly = $readonly;
// Apollo server/client compatibility
if (
isset($instance->extensions['persistedQuery']['sha256Hash'])
&& $instance->queryId === null
) {
$instance->queryId = $instance->extensions['persistedQuery']['sha256Hash'];
}
return $instance;
}