getPatchOperations() public method

public getPatchOperations ( ) : Operation[]
return Operation[]
Example #1
0
 /**
  * @throws \Rs\Json\Patch\FailedTestException
  * @return string
  */
 public function apply()
 {
     $patchOperations = $this->jsonPatchDocument->getPatchOperations();
     $patchedDocument = $this->targetDocument;
     $wasObject = '{' === mb_substr(trim($patchedDocument), 0, 1);
     foreach ($patchOperations as $index => $patchOperation) {
         $targetDocument = $patchOperation->perform($patchedDocument);
         if ($patchOperation instanceof Test && $targetDocument === false) {
             $exceptionMessage = 'Failed on Test PatchOperation at index: ' . $index;
             throw new FailedTestException($exceptionMessage);
         }
         if (!$patchOperation instanceof Test) {
             $patchedDocument = $targetDocument;
         }
     }
     $emptyArray = '[]';
     $emptyObject = '{}';
     if ($patchedDocument === $emptyArray && $wasObject) {
         $patchedDocument = $emptyObject;
     }
     if ($patchedDocument === $emptyObject && !$wasObject) {
         $patchedDocument = $emptyArray;
     }
     return $patchedDocument;
 }