Parse and validate AT Protocol Lexicons with DTO generation for Laravel
1<?php
2
3namespace SocialDept\AtpSchema\Generated\Tools\Ozone\Moderation\Defs;
4
5use SocialDept\AtpSchema\Data\Data;
6
7/**
8 * GENERATED CODE - DO NOT EDIT
9 *
10 * Lexicon: tools.ozone.moderation.defs.videoDetails
11 * Type: object
12 *
13 * @property int $width
14 * @property int $height
15 * @property int $length
16 *
17 * Constraints:
18 * - Required: width, height, length
19 */
20class VideoDetails extends Data
21{
22 public function __construct(
23 public readonly int $width,
24 public readonly int $height,
25 public readonly int $length
26 ) {
27 }
28
29 /**
30 * Get the lexicon NSID for this data type.
31 *
32 * @return string
33 */
34 public static function getLexicon(): string
35 {
36 return 'tools.ozone.moderation.defs.videoDetails';
37 }
38
39
40 /**
41 * Create an instance from an array.
42 *
43 * @param array $data The data array
44 * @return static
45 */
46 public static function fromArray(array $data): static
47 {
48 return new static(
49 width: $data['width'],
50 height: $data['height'],
51 length: $data['length']
52 );
53 }
54
55}