TG Telegram Group & Channel
PHP Fart Time | United States America (US)
Create: Update:

Пакет 👩‍💻 phplrt/phplrt несомненно хорош! Спасибо @SerafimArts за крутой инструмент!

Что бы вы сделали, будь у вас AST для proto message? Я бы, например, только в нем схемы и описывал 😁

final class MessageDefNodeTest extends TestCase
{
public function testParse(): void
{
$node = $this->parser->parse(
<<<'PROTO'
syntax = "proto3";

package example;

message Person {
string name = 1;
int32 id = 2;
string email = 3;
}
PROTO,
);

$this->assertSame('proto3', $node->syntax->syntax);
$this->assertSame('example', $node->package->name);

$message = $node->topLevelDefs[0];

$this->assertSame('Person', $message->name);
$this->assertCount(3, $message->fields);

$this->assertSame('name', $message->fields[0]->name);
$this->assertSame('string', $message->fields[0]->type);
$this->assertSame(1, $message->fields[0]->number);

$this->assertSame('id', $message->fields[1]->name);
$this->assertSame('int32', $message->fields[1]->type);
$this->assertSame(2, $message->fields[1]->number);

$this->assertSame('email', $message->fields[2]->name);
$this->assertSame('string', $message->fields[2]->type);
$this->assertSame(3, $message->fields[2]->number);
}
}

Пакет 👩‍💻 phplrt/phplrt несомненно хорош! Спасибо @SerafimArts за крутой инструмент!

Что бы вы сделали, будь у вас AST для proto message? Я бы, например, только в нем схемы и описывал 😁

final class MessageDefNodeTest extends TestCase
{
public function testParse(): void
{
$node = $this->parser->parse(
<<<'PROTO'
syntax = "proto3";

package example;

message Person {
string name = 1;
int32 id = 2;
string email = 3;
}
PROTO,
);

$this->assertSame('proto3', $node->syntax->syntax);
$this->assertSame('example', $node->package->name);

$message = $node->topLevelDefs[0];

$this->assertSame('Person', $message->name);
$this->assertCount(3, $message->fields);

$this->assertSame('name', $message->fields[0]->name);
$this->assertSame('string', $message->fields[0]->type);
$this->assertSame(1, $message->fields[0]->number);

$this->assertSame('id', $message->fields[1]->name);
$this->assertSame('int32', $message->fields[1]->type);
$this->assertSame(2, $message->fields[1]->number);

$this->assertSame('email', $message->fields[2]->name);
$this->assertSame('string', $message->fields[2]->type);
$this->assertSame(3, $message->fields[2]->number);
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥3🤔21


>>Click here to continue<<

PHP Fart Time






Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)