Truemaps for fast lookup

This commit is contained in:
Jake Barnby 2025-08-15 01:33:35 +12:00
parent 2b3795224d
commit d444bb66b8
No known key found for this signature in database
GPG key ID: C437A8CC85B96E9C

View file

@ -16,16 +16,24 @@ class Operation extends Validator
'data',
];
/** @var array<string> */
/** @var array<string, bool> */
private array $requiresDocumentId = [
'create' => true,
'update' => true,
'upsert' => true,
'delete' => true,
];
/** @var array<string, bool> */
private array $actions = [
'create',
'update',
'upsert',
'delete',
'bulkCreate',
'bulkUpdate',
'bulkUpsert',
'bulkDelete',
'create' => true,
'update' => true,
'upsert' => true,
'delete' => true,
'bulkCreate' => true,
'bulkUpdate' => true,
'bulkUpsert' => true,
'bulkDelete' => true,
];
public function getDescription(): string
@ -66,7 +74,7 @@ class Operation extends Validator
}
// Validate action
if (!\in_array($value['action'], $this->actions, true)) {
if (!isset($this->actions[$value['action']])) {
$this->description = "Key 'action' must be one of: " . \implode(', ', $this->actions);
return false;
}