Initial Version

This commit is contained in:
root
2025-12-21 10:09:54 -05:00
commit 4ae6befc7b
422 changed files with 47225 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: Sebastian Krupinski <krupinski01@gmail.com>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace KTXF\Resource\Delta;
use KTXF\Json\JsonSerializable;
class Delta implements JsonSerializable {
public function __construct(
public ?DeltaCollection $additions = null,
public ?DeltaCollection $modifications = null,
public ?DeltaCollection $deletions = null,
public ?string $signature = null,
) {
if ($this->additions === null) {
$this->additions = new DeltaCollection;
}
if ($this->modifications === null) {
$this->modifications = new DeltaCollection;
}
if ($this->deletions === null) {
$this->deletions = new DeltaCollection;
}
if ($this->signature === null) {
$this->signature = '';
}
}
public function jsonSerialize(): array {
return [
'signature' => $this->signature,
'additions' => $this->additions,
'modifications' => $this->modifications,
'deletions' => $this->deletions,
];
}
}

View File

@@ -0,0 +1,18 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: Sebastian Krupinski <krupinski01@gmail.com>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace KTXF\Resource\Delta;
use KTXF\Json\JsonSerializableCollection;
class DeltaCollection extends JsonSerializableCollection {
public function __construct($data = []) {
parent::__construct($data, self::TYPE_STRING);
}
}