From 4ab0caccf2f22427963891cf6d011c7f3a3fc200 Mon Sep 17 00:00:00 2001 From: Christoph Kappestein Date: Sun, 10 Nov 2024 12:43:23 +0100 Subject: [PATCH] fix use --- src/Generator/Rust.php | 25 +++---------------- src/Generator/Type/Rust.php | 4 +-- .../resource/rust/complex/operation.rs | 2 +- .../rust/complex/reference_property_type.rs | 2 +- .../rust/complex/struct_definition_type.rs | 4 +-- .../resource/rust/complex/type_api.rs | 6 ++--- .../resource/rust/complex/type_schema.rs | 4 +-- tests/Generator/resource/rust/default/meta.rs | 4 +-- tests/Generator/resource/rust/default/news.rs | 9 +++---- 9 files changed, 19 insertions(+), 41 deletions(-) diff --git a/src/Generator/Rust.php b/src/Generator/Rust.php index 5a956a7..4413e53 100644 --- a/src/Generator/Rust.php +++ b/src/Generator/Rust.php @@ -78,12 +78,12 @@ protected function writeStruct(Code\Name $name, array $properties, ?string $exte protected function writeMap(Code\Name $name, string $type, MapDefinitionType $origin): string { - return 'pub type ' . $name->getClass() . ' = HashMap;' . "\n"; + return 'pub type ' . $name->getClass() . ' = std::collections::HashMap;' . "\n"; } protected function writeArray(Code\Name $name, string $type, ArrayDefinitionType $origin): string { - return 'pub type ' . $name->getClass() . ' = LinkedList<' . $type . '>;' . "\n"; + return 'pub type ' . $name->getClass() . ' = std::collections::LinkedList<' . $type . '>;' . "\n"; } protected function writeHeader(DefinitionTypeAbstract $origin, Code\Name $className): string @@ -113,26 +113,7 @@ protected function writeHeader(DefinitionTypeAbstract $origin, Code\Name $classN private function getImports(DefinitionTypeAbstract $origin): array { $imports = []; - - if ($origin instanceof StructDefinitionType) { - $imports[] = 'use serde::{Serialize, Deserialize};'; - } - - if (TypeUtil::contains($origin, MapDefinitionType::class)) { - $imports[] = 'use std::collections::HashMap;'; - } - - if (TypeUtil::contains($origin, StringPropertyType::class, Format::DATE)) { - $imports[] = 'use chrono::NaiveDate;'; - } - - if (TypeUtil::contains($origin, StringPropertyType::class, Format::DATETIME)) { - $imports[] = 'use chrono::NaiveDateTime;'; - } - - if (TypeUtil::contains($origin, StringPropertyType::class, Format::TIME)) { - $imports[] = 'use chrono::NaiveTime;'; - } + $imports[] = 'use serde::{Serialize, Deserialize};'; $refs = TypeUtil::findRefs($origin); foreach ($refs as $ref) { diff --git a/src/Generator/Type/Rust.php b/src/Generator/Type/Rust.php index 829436d..35f0e09 100644 --- a/src/Generator/Type/Rust.php +++ b/src/Generator/Type/Rust.php @@ -36,7 +36,7 @@ public function getContentType(ContentType $contentType, int $context): string { return match ($contentType->getShape()) { ContentType::BINARY => 'Bytes', - ContentType::FORM => 'HashMap', + ContentType::FORM => 'std::collections::HashMap', ContentType::JSON => 'serde_json::Value', ContentType::MULTIPART => $this->getString(), ContentType::TEXT, ContentType::XML => $this->getString(), @@ -85,7 +85,7 @@ protected function getArray(string $type): string protected function getMap(string $type): string { - return 'HashMap'; + return 'std::collections::HashMap'; } protected function getGroup(string $type): string diff --git a/tests/Generator/resource/rust/complex/operation.rs b/tests/Generator/resource/rust/complex/operation.rs index a91705a..b9777e4 100644 --- a/tests/Generator/resource/rust/complex/operation.rs +++ b/tests/Generator/resource/rust/complex/operation.rs @@ -14,7 +14,7 @@ pub struct Operation { _return: Option, #[serde(rename = "arguments")] - arguments: Option>, + arguments: Option>, #[serde(rename = "throws")] throws: Option>, diff --git a/tests/Generator/resource/rust/complex/reference_property_type.rs b/tests/Generator/resource/rust/complex/reference_property_type.rs index 8c50fb9..1cb09c8 100644 --- a/tests/Generator/resource/rust/complex/reference_property_type.rs +++ b/tests/Generator/resource/rust/complex/reference_property_type.rs @@ -20,7 +20,7 @@ pub struct ReferencePropertyType { target: Option, #[serde(rename = "template")] - template: Option>, + template: Option>, } diff --git a/tests/Generator/resource/rust/complex/struct_definition_type.rs b/tests/Generator/resource/rust/complex/struct_definition_type.rs index 68d03cb..6123889 100644 --- a/tests/Generator/resource/rust/complex/struct_definition_type.rs +++ b/tests/Generator/resource/rust/complex/struct_definition_type.rs @@ -22,13 +22,13 @@ pub struct StructDefinitionType { base: Option, #[serde(rename = "properties")] - properties: Option>, + properties: Option>, #[serde(rename = "discriminator")] discriminator: Option, #[serde(rename = "mapping")] - mapping: Option>, + mapping: Option>, } diff --git a/tests/Generator/resource/rust/complex/type_api.rs b/tests/Generator/resource/rust/complex/type_api.rs index 9fea147..9e36cd9 100644 --- a/tests/Generator/resource/rust/complex/type_api.rs +++ b/tests/Generator/resource/rust/complex/type_api.rs @@ -8,10 +8,10 @@ use operation::Operation; #[derive(Serialize, Deserialize)] pub struct TypeAPI { #[serde(rename = "import")] - import: Option>, + import: Option>, #[serde(rename = "definitions")] - definitions: Option>, + definitions: Option>, #[serde(rename = "root")] root: Option, @@ -23,7 +23,7 @@ pub struct TypeAPI { security: Option, #[serde(rename = "operations")] - operations: Option>, + operations: Option>, } diff --git a/tests/Generator/resource/rust/complex/type_schema.rs b/tests/Generator/resource/rust/complex/type_schema.rs index 02cc28c..e702283 100644 --- a/tests/Generator/resource/rust/complex/type_schema.rs +++ b/tests/Generator/resource/rust/complex/type_schema.rs @@ -5,10 +5,10 @@ use definition_type::DefinitionType; #[derive(Serialize, Deserialize)] pub struct TypeSchema { #[serde(rename = "import")] - import: Option>, + import: Option>, #[serde(rename = "definitions")] - definitions: Option>, + definitions: Option>, #[serde(rename = "root")] root: Option, diff --git a/tests/Generator/resource/rust/default/meta.rs b/tests/Generator/resource/rust/default/meta.rs index 4b2fc4f..7389ff4 100644 --- a/tests/Generator/resource/rust/default/meta.rs +++ b/tests/Generator/resource/rust/default/meta.rs @@ -1,4 +1,4 @@ -use std::collections::HashMap; +use serde::{Serialize, Deserialize}; -pub type Meta = HashMap; +pub type Meta = std::collections::HashMap; diff --git a/tests/Generator/resource/rust/default/news.rs b/tests/Generator/resource/rust/default/news.rs index af1014c..c22d33a 100644 --- a/tests/Generator/resource/rust/default/news.rs +++ b/tests/Generator/resource/rust/default/news.rs @@ -1,7 +1,4 @@ use serde::{Serialize, Deserialize}; -use chrono::NaiveDate; -use chrono::NaiveDateTime; -use chrono::NaiveTime; use meta::Meta; use author::Author; @@ -12,13 +9,13 @@ pub struct News { config: Option, #[serde(rename = "inlineConfig")] - inline_config: Option>, + inline_config: Option>, #[serde(rename = "mapTags")] - map_tags: Option>, + map_tags: Option>, #[serde(rename = "mapReceiver")] - map_receiver: Option>, + map_receiver: Option>, #[serde(rename = "tags")] tags: Option>,