Răsfoiți Sursa

Add SourceFile type for CodeGenLib (#1723)

Motivation:

The CodeRenderer needs to create objects of some type representing the files containing the
generated code. This type is SourceFile.

Modifications:

Implemented the SourceFile struct, containing a name as a String and the generated code as Data.

Result:

The Code Renderer can now be brought from the OpenAPI generator, as it will have an output type.
The code generator will use objects of this type to create the files containing the generated Swift code.
Stefana-Ioana Dranca 2 ani în urmă
părinte
comite
f88a9c0eb3
1 a modificat fișierele cu 32 adăugiri și 0 ștergeri
  1. 32 0
      Sources/GRPCCodeGen/SourceFile.swift

+ 32 - 0
Sources/GRPCCodeGen/SourceFile.swift

@@ -0,0 +1,32 @@
+/*
+ * Copyright 2023, gRPC Authors All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/// Representation of the file to be created by the code generator, that contains the
+/// generated Swift source code.
+public struct SourceFile: Sendable, Hashable {
+  /// The base name of the file.
+  public var name: String
+
+  /// The generated code as a String.
+  public var contents: String
+
+  /// Creates a representation of a file containing Swift code with the specified name
+  /// and contents.
+  public init(name: String, contents: String) {
+    self.name = name
+    self.contents = contents
+  }
+}