Updated vednor files

This commit is contained in:
Serguei Bezverkhi
2018-02-15 08:50:31 -05:00
parent 18a4ce4439
commit 1f1e8cea37
3299 changed files with 834 additions and 1051200 deletions

View File

@ -1,499 +0,0 @@
// DO NOT EDIT.
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: github.com/googleapis/gnostic/plugins/plugin.proto
//
// For information on using the generated types, please see the documenation:
// https://github.com/apple/swift-protobuf/
// Copyright 2017 Google Inc. 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.
// gnostic can be extended with plugins.
// A plugin is uset a program that reads a Request from stdin
// and writes a Response to stdout.
//
// A plugin executable needs only to be placed somewhere in the path. The
// plugin should be named "gnostic_$NAME", and will then be used when the
// flag "--${NAME}_out" is passed to gnostic.
import Foundation
import SwiftProtobuf
// If the compiler emits an error on this type, it is because this file
// was generated by a version of the `protoc` Swift plug-in that is
// incompatible with the version of SwiftProtobuf to which you are linking.
// Please ensure that your are building against the same version of the API
// that was used to generate this file.
fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck {
struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {}
typealias Version = _2
}
/// The version number of gnostic.
public struct Gnostic_Plugin_V1_Version: SwiftProtobuf.Message {
public static let protoMessageName: String = _protobuf_package + ".Version"
public var major: Int32 = 0
public var minor: Int32 = 0
public var patch: Int32 = 0
/// A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should
/// be empty for mainline stable releases.
public var suffix: String = String()
public var unknownFields = SwiftProtobuf.UnknownStorage()
public init() {}
/// Used by the decoding initializers in the SwiftProtobuf library, not generally
/// used directly. `init(serializedData:)`, `init(jsonUTF8Data:)`, and other decoding
/// initializers are defined in the SwiftProtobuf library. See the Message and
/// Message+*Additions` files.
public mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
while let fieldNumber = try decoder.nextFieldNumber() {
switch fieldNumber {
case 1: try decoder.decodeSingularInt32Field(value: &self.major)
case 2: try decoder.decodeSingularInt32Field(value: &self.minor)
case 3: try decoder.decodeSingularInt32Field(value: &self.patch)
case 4: try decoder.decodeSingularStringField(value: &self.suffix)
default: break
}
}
}
/// Used by the encoding methods of the SwiftProtobuf library, not generally
/// used directly. `Message.serializedData()`, `Message.jsonUTF8Data()`, and
/// other serializer methods are defined in the SwiftProtobuf library. See the
/// `Message` and `Message+*Additions` files.
public func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
if self.major != 0 {
try visitor.visitSingularInt32Field(value: self.major, fieldNumber: 1)
}
if self.minor != 0 {
try visitor.visitSingularInt32Field(value: self.minor, fieldNumber: 2)
}
if self.patch != 0 {
try visitor.visitSingularInt32Field(value: self.patch, fieldNumber: 3)
}
if !self.suffix.isEmpty {
try visitor.visitSingularStringField(value: self.suffix, fieldNumber: 4)
}
try unknownFields.traverse(visitor: &visitor)
}
}
/// A parameter passed to the plugin from (or through) gnostic.
public struct Gnostic_Plugin_V1_Parameter: SwiftProtobuf.Message {
public static let protoMessageName: String = _protobuf_package + ".Parameter"
/// The name of the parameter as specified in the option string
public var name: String = String()
/// The parameter value as specified in the option string
public var value: String = String()
public var unknownFields = SwiftProtobuf.UnknownStorage()
public init() {}
/// Used by the decoding initializers in the SwiftProtobuf library, not generally
/// used directly. `init(serializedData:)`, `init(jsonUTF8Data:)`, and other decoding
/// initializers are defined in the SwiftProtobuf library. See the Message and
/// Message+*Additions` files.
public mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
while let fieldNumber = try decoder.nextFieldNumber() {
switch fieldNumber {
case 1: try decoder.decodeSingularStringField(value: &self.name)
case 2: try decoder.decodeSingularStringField(value: &self.value)
default: break
}
}
}
/// Used by the encoding methods of the SwiftProtobuf library, not generally
/// used directly. `Message.serializedData()`, `Message.jsonUTF8Data()`, and
/// other serializer methods are defined in the SwiftProtobuf library. See the
/// `Message` and `Message+*Additions` files.
public func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
if !self.name.isEmpty {
try visitor.visitSingularStringField(value: self.name, fieldNumber: 1)
}
if !self.value.isEmpty {
try visitor.visitSingularStringField(value: self.value, fieldNumber: 2)
}
try unknownFields.traverse(visitor: &visitor)
}
}
/// An encoded Request is written to the plugin's stdin.
public struct Gnostic_Plugin_V1_Request: SwiftProtobuf.Message {
public static let protoMessageName: String = _protobuf_package + ".Request"
/// filename or URL of the original source document
public var sourceName: String {
get {return _storage._sourceName}
set {_uniqueStorage()._sourceName = newValue}
}
/// Output path specified in the plugin invocation.
public var outputPath: String {
get {return _storage._outputPath}
set {_uniqueStorage()._outputPath = newValue}
}
/// Plugin parameters parsed from the invocation string.
public var parameters: [Gnostic_Plugin_V1_Parameter] {
get {return _storage._parameters}
set {_uniqueStorage()._parameters = newValue}
}
/// The version number of gnostic.
public var compilerVersion: Gnostic_Plugin_V1_Version {
get {return _storage._compilerVersion ?? Gnostic_Plugin_V1_Version()}
set {_uniqueStorage()._compilerVersion = newValue}
}
/// Returns true if `compilerVersion` has been explicitly set.
public var hasCompilerVersion: Bool {return _storage._compilerVersion != nil}
/// Clears the value of `compilerVersion`. Subsequent reads from it will return its default value.
public mutating func clearCompilerVersion() {_storage._compilerVersion = nil}
/// OpenAPI v2 API representation
public var openapi2: Openapi_V2_Document {
get {return _storage._openapi2 ?? Openapi_V2_Document()}
set {_uniqueStorage()._openapi2 = newValue}
}
/// Returns true if `openapi2` has been explicitly set.
public var hasOpenapi2: Bool {return _storage._openapi2 != nil}
/// Clears the value of `openapi2`. Subsequent reads from it will return its default value.
public mutating func clearOpenapi2() {_storage._openapi2 = nil}
/// OpenAPI v3 API representation
public var openapi3: Openapi_V3_Document {
get {return _storage._openapi3 ?? Openapi_V3_Document()}
set {_uniqueStorage()._openapi3 = newValue}
}
/// Returns true if `openapi3` has been explicitly set.
public var hasOpenapi3: Bool {return _storage._openapi3 != nil}
/// Clears the value of `openapi3`. Subsequent reads from it will return its default value.
public mutating func clearOpenapi3() {_storage._openapi3 = nil}
/// Discovery API representation
public var discovery: Discovery_V1_Document {
get {return _storage._discovery ?? Discovery_V1_Document()}
set {_uniqueStorage()._discovery = newValue}
}
/// Returns true if `discovery` has been explicitly set.
public var hasDiscovery: Bool {return _storage._discovery != nil}
/// Clears the value of `discovery`. Subsequent reads from it will return its default value.
public mutating func clearDiscovery() {_storage._discovery = nil}
/// generated code surface representation
public var surface: Surface_V1_Model {
get {return _storage._surface ?? Surface_V1_Model()}
set {_uniqueStorage()._surface = newValue}
}
/// Returns true if `surface` has been explicitly set.
public var hasSurface: Bool {return _storage._surface != nil}
/// Clears the value of `surface`. Subsequent reads from it will return its default value.
public mutating func clearSurface() {_storage._surface = nil}
public var unknownFields = SwiftProtobuf.UnknownStorage()
public init() {}
/// Used by the decoding initializers in the SwiftProtobuf library, not generally
/// used directly. `init(serializedData:)`, `init(jsonUTF8Data:)`, and other decoding
/// initializers are defined in the SwiftProtobuf library. See the Message and
/// Message+*Additions` files.
public mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
_ = _uniqueStorage()
try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
while let fieldNumber = try decoder.nextFieldNumber() {
switch fieldNumber {
case 1: try decoder.decodeSingularStringField(value: &_storage._sourceName)
case 2: try decoder.decodeSingularStringField(value: &_storage._outputPath)
case 3: try decoder.decodeRepeatedMessageField(value: &_storage._parameters)
case 4: try decoder.decodeSingularMessageField(value: &_storage._compilerVersion)
case 5: try decoder.decodeSingularMessageField(value: &_storage._openapi2)
case 6: try decoder.decodeSingularMessageField(value: &_storage._openapi3)
case 7: try decoder.decodeSingularMessageField(value: &_storage._discovery)
case 8: try decoder.decodeSingularMessageField(value: &_storage._surface)
default: break
}
}
}
}
/// Used by the encoding methods of the SwiftProtobuf library, not generally
/// used directly. `Message.serializedData()`, `Message.jsonUTF8Data()`, and
/// other serializer methods are defined in the SwiftProtobuf library. See the
/// `Message` and `Message+*Additions` files.
public func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
try withExtendedLifetime(_storage) { (_storage: _StorageClass) in
if !_storage._sourceName.isEmpty {
try visitor.visitSingularStringField(value: _storage._sourceName, fieldNumber: 1)
}
if !_storage._outputPath.isEmpty {
try visitor.visitSingularStringField(value: _storage._outputPath, fieldNumber: 2)
}
if !_storage._parameters.isEmpty {
try visitor.visitRepeatedMessageField(value: _storage._parameters, fieldNumber: 3)
}
if let v = _storage._compilerVersion {
try visitor.visitSingularMessageField(value: v, fieldNumber: 4)
}
if let v = _storage._openapi2 {
try visitor.visitSingularMessageField(value: v, fieldNumber: 5)
}
if let v = _storage._openapi3 {
try visitor.visitSingularMessageField(value: v, fieldNumber: 6)
}
if let v = _storage._discovery {
try visitor.visitSingularMessageField(value: v, fieldNumber: 7)
}
if let v = _storage._surface {
try visitor.visitSingularMessageField(value: v, fieldNumber: 8)
}
}
try unknownFields.traverse(visitor: &visitor)
}
fileprivate var _storage = _StorageClass.defaultInstance
}
/// The plugin writes an encoded Response to stdout.
public struct Gnostic_Plugin_V1_Response: SwiftProtobuf.Message {
public static let protoMessageName: String = _protobuf_package + ".Response"
/// Error message. If non-empty, the plugin failed.
/// The plugin process should exit with status code zero
/// even if it reports an error in this way.
///
/// This should be used to indicate errors which prevent the plugin from
/// operating as intended. Errors which indicate a problem in openapic
/// itself -- such as the input Document being unparseable -- should be
/// reported by writing a message to stderr and exiting with a non-zero
/// status code.
public var errors: [String] = []
/// file output, each file will be written by openapic to an appropriate location.
public var files: [Gnostic_Plugin_V1_File] = []
public var unknownFields = SwiftProtobuf.UnknownStorage()
public init() {}
/// Used by the decoding initializers in the SwiftProtobuf library, not generally
/// used directly. `init(serializedData:)`, `init(jsonUTF8Data:)`, and other decoding
/// initializers are defined in the SwiftProtobuf library. See the Message and
/// Message+*Additions` files.
public mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
while let fieldNumber = try decoder.nextFieldNumber() {
switch fieldNumber {
case 1: try decoder.decodeRepeatedStringField(value: &self.errors)
case 2: try decoder.decodeRepeatedMessageField(value: &self.files)
default: break
}
}
}
/// Used by the encoding methods of the SwiftProtobuf library, not generally
/// used directly. `Message.serializedData()`, `Message.jsonUTF8Data()`, and
/// other serializer methods are defined in the SwiftProtobuf library. See the
/// `Message` and `Message+*Additions` files.
public func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
if !self.errors.isEmpty {
try visitor.visitRepeatedStringField(value: self.errors, fieldNumber: 1)
}
if !self.files.isEmpty {
try visitor.visitRepeatedMessageField(value: self.files, fieldNumber: 2)
}
try unknownFields.traverse(visitor: &visitor)
}
}
/// File describes a file generated by a plugin.
public struct Gnostic_Plugin_V1_File: SwiftProtobuf.Message {
public static let protoMessageName: String = _protobuf_package + ".File"
/// name of the file
public var name: String = String()
/// data to be written to the file
public var data: Data = SwiftProtobuf.Internal.emptyData
public var unknownFields = SwiftProtobuf.UnknownStorage()
public init() {}
/// Used by the decoding initializers in the SwiftProtobuf library, not generally
/// used directly. `init(serializedData:)`, `init(jsonUTF8Data:)`, and other decoding
/// initializers are defined in the SwiftProtobuf library. See the Message and
/// Message+*Additions` files.
public mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
while let fieldNumber = try decoder.nextFieldNumber() {
switch fieldNumber {
case 1: try decoder.decodeSingularStringField(value: &self.name)
case 2: try decoder.decodeSingularBytesField(value: &self.data)
default: break
}
}
}
/// Used by the encoding methods of the SwiftProtobuf library, not generally
/// used directly. `Message.serializedData()`, `Message.jsonUTF8Data()`, and
/// other serializer methods are defined in the SwiftProtobuf library. See the
/// `Message` and `Message+*Additions` files.
public func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
if !self.name.isEmpty {
try visitor.visitSingularStringField(value: self.name, fieldNumber: 1)
}
if !self.data.isEmpty {
try visitor.visitSingularBytesField(value: self.data, fieldNumber: 2)
}
try unknownFields.traverse(visitor: &visitor)
}
}
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "gnostic.plugin.v1"
extension Gnostic_Plugin_V1_Version: SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
1: .same(proto: "major"),
2: .same(proto: "minor"),
3: .same(proto: "patch"),
4: .same(proto: "suffix"),
]
public func _protobuf_generated_isEqualTo(other: Gnostic_Plugin_V1_Version) -> Bool {
if self.major != other.major {return false}
if self.minor != other.minor {return false}
if self.patch != other.patch {return false}
if self.suffix != other.suffix {return false}
if unknownFields != other.unknownFields {return false}
return true
}
}
extension Gnostic_Plugin_V1_Parameter: SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
1: .same(proto: "name"),
2: .same(proto: "value"),
]
public func _protobuf_generated_isEqualTo(other: Gnostic_Plugin_V1_Parameter) -> Bool {
if self.name != other.name {return false}
if self.value != other.value {return false}
if unknownFields != other.unknownFields {return false}
return true
}
}
extension Gnostic_Plugin_V1_Request: SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
1: .standard(proto: "source_name"),
2: .standard(proto: "output_path"),
3: .same(proto: "parameters"),
4: .standard(proto: "compiler_version"),
5: .same(proto: "openapi2"),
6: .same(proto: "openapi3"),
7: .same(proto: "discovery"),
8: .same(proto: "surface"),
]
fileprivate class _StorageClass {
var _sourceName: String = String()
var _outputPath: String = String()
var _parameters: [Gnostic_Plugin_V1_Parameter] = []
var _compilerVersion: Gnostic_Plugin_V1_Version? = nil
var _openapi2: Openapi_V2_Document? = nil
var _openapi3: Openapi_V3_Document? = nil
var _discovery: Discovery_V1_Document? = nil
var _surface: Surface_V1_Model? = nil
static let defaultInstance = _StorageClass()
private init() {}
init(copying source: _StorageClass) {
_sourceName = source._sourceName
_outputPath = source._outputPath
_parameters = source._parameters
_compilerVersion = source._compilerVersion
_openapi2 = source._openapi2
_openapi3 = source._openapi3
_discovery = source._discovery
_surface = source._surface
}
}
fileprivate mutating func _uniqueStorage() -> _StorageClass {
if !isKnownUniquelyReferenced(&_storage) {
_storage = _StorageClass(copying: _storage)
}
return _storage
}
public func _protobuf_generated_isEqualTo(other: Gnostic_Plugin_V1_Request) -> Bool {
if _storage !== other._storage {
let storagesAreEqual: Bool = withExtendedLifetime((_storage, other._storage)) { (_storage, other_storage) in
if _storage._sourceName != other_storage._sourceName {return false}
if _storage._outputPath != other_storage._outputPath {return false}
if _storage._parameters != other_storage._parameters {return false}
if _storage._compilerVersion != other_storage._compilerVersion {return false}
if _storage._openapi2 != other_storage._openapi2 {return false}
if _storage._openapi3 != other_storage._openapi3 {return false}
if _storage._discovery != other_storage._discovery {return false}
if _storage._surface != other_storage._surface {return false}
return true
}
if !storagesAreEqual {return false}
}
if unknownFields != other.unknownFields {return false}
return true
}
}
extension Gnostic_Plugin_V1_Response: SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
1: .same(proto: "errors"),
2: .same(proto: "files"),
]
public func _protobuf_generated_isEqualTo(other: Gnostic_Plugin_V1_Response) -> Bool {
if self.errors != other.errors {return false}
if self.files != other.files {return false}
if unknownFields != other.unknownFields {return false}
return true
}
}
extension Gnostic_Plugin_V1_File: SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
1: .same(proto: "name"),
2: .same(proto: "data"),
]
public func _protobuf_generated_isEqualTo(other: Gnostic_Plugin_V1_File) -> Bool {
if self.name != other.name {return false}
if self.data != other.data {return false}
if unknownFields != other.unknownFields {return false}
return true
}
}

View File

@ -1,579 +0,0 @@
// DO NOT EDIT.
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: github.com/googleapis/gnostic/surface/surface.proto
//
// For information on using the generated types, please see the documenation:
// https://github.com/apple/swift-protobuf/
// Copyright 2017 Google Inc. 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.
// Model an API surface for code generation.
import Foundation
import SwiftProtobuf
// If the compiler emits an error on this type, it is because this file
// was generated by a version of the `protoc` Swift plug-in that is
// incompatible with the version of SwiftProtobuf to which you are linking.
// Please ensure that your are building against the same version of the API
// that was used to generate this file.
fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck {
struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {}
typealias Version = _2
}
public enum Surface_V1_FieldKind: SwiftProtobuf.Enum {
public typealias RawValue = Int
case scalar // = 0
case map // = 1
case array // = 2
case reference // = 3
case UNRECOGNIZED(Int)
public init() {
self = .scalar
}
public init?(rawValue: Int) {
switch rawValue {
case 0: self = .scalar
case 1: self = .map
case 2: self = .array
case 3: self = .reference
default: self = .UNRECOGNIZED(rawValue)
}
}
public var rawValue: Int {
switch self {
case .scalar: return 0
case .map: return 1
case .array: return 2
case .reference: return 3
case .UNRECOGNIZED(let i): return i
}
}
}
public enum Surface_V1_TypeKind: SwiftProtobuf.Enum {
public typealias RawValue = Int
/// implement with named fields
case `struct` // = 0
/// implement with a map
case object // = 1
case UNRECOGNIZED(Int)
public init() {
self = .struct
}
public init?(rawValue: Int) {
switch rawValue {
case 0: self = .struct
case 1: self = .object
default: self = .UNRECOGNIZED(rawValue)
}
}
public var rawValue: Int {
switch self {
case .struct: return 0
case .object: return 1
case .UNRECOGNIZED(let i): return i
}
}
}
public enum Surface_V1_Position: SwiftProtobuf.Enum {
public typealias RawValue = Int
case body // = 0
case header // = 1
case formdata // = 2
case query // = 3
case path // = 4
case UNRECOGNIZED(Int)
public init() {
self = .body
}
public init?(rawValue: Int) {
switch rawValue {
case 0: self = .body
case 1: self = .header
case 2: self = .formdata
case 3: self = .query
case 4: self = .path
default: self = .UNRECOGNIZED(rawValue)
}
}
public var rawValue: Int {
switch self {
case .body: return 0
case .header: return 1
case .formdata: return 2
case .query: return 3
case .path: return 4
case .UNRECOGNIZED(let i): return i
}
}
}
/// Field is a field in a definition and can be associated with
/// a position in a request structure.
public struct Surface_V1_Field: SwiftProtobuf.Message {
public static let protoMessageName: String = _protobuf_package + ".Field"
/// the name as specified in the API description
public var name: String = String()
/// the specified content type of the field
public var type: String = String()
/// what kind of thing is this field? scalar, reference, array, map of strings to the specified type
public var kind: Surface_V1_FieldKind = .scalar
/// the specified format of the field
public var format: String = String()
/// "body", "header", "formdata", "query", or "path"
public var position: Surface_V1_Position = .body
/// the programming-language native type of the field
public var nativeType: String = String()
/// the name to use for a data structure field
public var fieldName: String = String()
/// the name to use for a function parameter
public var parameterName: String = String()
/// true if this field should be serialized (to JSON, etc)
public var serialize: Bool = false
public var unknownFields = SwiftProtobuf.UnknownStorage()
public init() {}
/// Used by the decoding initializers in the SwiftProtobuf library, not generally
/// used directly. `init(serializedData:)`, `init(jsonUTF8Data:)`, and other decoding
/// initializers are defined in the SwiftProtobuf library. See the Message and
/// Message+*Additions` files.
public mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
while let fieldNumber = try decoder.nextFieldNumber() {
switch fieldNumber {
case 1: try decoder.decodeSingularStringField(value: &self.name)
case 2: try decoder.decodeSingularStringField(value: &self.type)
case 3: try decoder.decodeSingularEnumField(value: &self.kind)
case 4: try decoder.decodeSingularStringField(value: &self.format)
case 5: try decoder.decodeSingularEnumField(value: &self.position)
case 6: try decoder.decodeSingularStringField(value: &self.nativeType)
case 7: try decoder.decodeSingularStringField(value: &self.fieldName)
case 8: try decoder.decodeSingularStringField(value: &self.parameterName)
case 9: try decoder.decodeSingularBoolField(value: &self.serialize)
default: break
}
}
}
/// Used by the encoding methods of the SwiftProtobuf library, not generally
/// used directly. `Message.serializedData()`, `Message.jsonUTF8Data()`, and
/// other serializer methods are defined in the SwiftProtobuf library. See the
/// `Message` and `Message+*Additions` files.
public func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
if !self.name.isEmpty {
try visitor.visitSingularStringField(value: self.name, fieldNumber: 1)
}
if !self.type.isEmpty {
try visitor.visitSingularStringField(value: self.type, fieldNumber: 2)
}
if self.kind != .scalar {
try visitor.visitSingularEnumField(value: self.kind, fieldNumber: 3)
}
if !self.format.isEmpty {
try visitor.visitSingularStringField(value: self.format, fieldNumber: 4)
}
if self.position != .body {
try visitor.visitSingularEnumField(value: self.position, fieldNumber: 5)
}
if !self.nativeType.isEmpty {
try visitor.visitSingularStringField(value: self.nativeType, fieldNumber: 6)
}
if !self.fieldName.isEmpty {
try visitor.visitSingularStringField(value: self.fieldName, fieldNumber: 7)
}
if !self.parameterName.isEmpty {
try visitor.visitSingularStringField(value: self.parameterName, fieldNumber: 8)
}
if self.serialize != false {
try visitor.visitSingularBoolField(value: self.serialize, fieldNumber: 9)
}
try unknownFields.traverse(visitor: &visitor)
}
}
/// Type typically corresponds to a definition, parameter, or response
/// in an API and is represented by a type in generated code.
public struct Surface_V1_Type: SwiftProtobuf.Message {
public static let protoMessageName: String = _protobuf_package + ".Type"
/// the name to use for the type
public var name: String = String()
/// a meta-description of the type (struct, map, etc)
public var kind: Surface_V1_TypeKind = .struct
/// a comment describing the type
public var description_p: String = String()
/// if the type is a map, this is its content type
public var contentType: String = String()
/// the fields of the type
public var fields: [Surface_V1_Field] = []
/// language-specific type name
public var typeName: String = String()
public var unknownFields = SwiftProtobuf.UnknownStorage()
public init() {}
/// Used by the decoding initializers in the SwiftProtobuf library, not generally
/// used directly. `init(serializedData:)`, `init(jsonUTF8Data:)`, and other decoding
/// initializers are defined in the SwiftProtobuf library. See the Message and
/// Message+*Additions` files.
public mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
while let fieldNumber = try decoder.nextFieldNumber() {
switch fieldNumber {
case 1: try decoder.decodeSingularStringField(value: &self.name)
case 2: try decoder.decodeSingularEnumField(value: &self.kind)
case 3: try decoder.decodeSingularStringField(value: &self.description_p)
case 4: try decoder.decodeSingularStringField(value: &self.contentType)
case 5: try decoder.decodeRepeatedMessageField(value: &self.fields)
case 6: try decoder.decodeSingularStringField(value: &self.typeName)
default: break
}
}
}
/// Used by the encoding methods of the SwiftProtobuf library, not generally
/// used directly. `Message.serializedData()`, `Message.jsonUTF8Data()`, and
/// other serializer methods are defined in the SwiftProtobuf library. See the
/// `Message` and `Message+*Additions` files.
public func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
if !self.name.isEmpty {
try visitor.visitSingularStringField(value: self.name, fieldNumber: 1)
}
if self.kind != .struct {
try visitor.visitSingularEnumField(value: self.kind, fieldNumber: 2)
}
if !self.description_p.isEmpty {
try visitor.visitSingularStringField(value: self.description_p, fieldNumber: 3)
}
if !self.contentType.isEmpty {
try visitor.visitSingularStringField(value: self.contentType, fieldNumber: 4)
}
if !self.fields.isEmpty {
try visitor.visitRepeatedMessageField(value: self.fields, fieldNumber: 5)
}
if !self.typeName.isEmpty {
try visitor.visitSingularStringField(value: self.typeName, fieldNumber: 6)
}
try unknownFields.traverse(visitor: &visitor)
}
}
/// Method is an operation of an API and typically has associated client and server code.
public struct Surface_V1_Method: SwiftProtobuf.Message {
public static let protoMessageName: String = _protobuf_package + ".Method"
/// Operation ID
public var operation: String = String()
/// HTTP path
public var path: String = String()
/// HTTP method name
public var method: String = String()
/// description of method
public var description_p: String = String()
/// Operation name, possibly generated from method and path
public var name: String = String()
/// name of the generated handler
public var handlerName: String = String()
/// name of the processing function in the service interface
public var processorName: String = String()
/// name of client
public var clientName: String = String()
/// parameters (input), with fields corresponding to input parameters
public var parametersTypeName: String = String()
/// responses (output), with fields corresponding to possible response values
public var responsesTypeName: String = String()
public var unknownFields = SwiftProtobuf.UnknownStorage()
public init() {}
/// Used by the decoding initializers in the SwiftProtobuf library, not generally
/// used directly. `init(serializedData:)`, `init(jsonUTF8Data:)`, and other decoding
/// initializers are defined in the SwiftProtobuf library. See the Message and
/// Message+*Additions` files.
public mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
while let fieldNumber = try decoder.nextFieldNumber() {
switch fieldNumber {
case 1: try decoder.decodeSingularStringField(value: &self.operation)
case 2: try decoder.decodeSingularStringField(value: &self.path)
case 3: try decoder.decodeSingularStringField(value: &self.method)
case 4: try decoder.decodeSingularStringField(value: &self.description_p)
case 5: try decoder.decodeSingularStringField(value: &self.name)
case 6: try decoder.decodeSingularStringField(value: &self.handlerName)
case 7: try decoder.decodeSingularStringField(value: &self.processorName)
case 8: try decoder.decodeSingularStringField(value: &self.clientName)
case 9: try decoder.decodeSingularStringField(value: &self.parametersTypeName)
case 10: try decoder.decodeSingularStringField(value: &self.responsesTypeName)
default: break
}
}
}
/// Used by the encoding methods of the SwiftProtobuf library, not generally
/// used directly. `Message.serializedData()`, `Message.jsonUTF8Data()`, and
/// other serializer methods are defined in the SwiftProtobuf library. See the
/// `Message` and `Message+*Additions` files.
public func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
if !self.operation.isEmpty {
try visitor.visitSingularStringField(value: self.operation, fieldNumber: 1)
}
if !self.path.isEmpty {
try visitor.visitSingularStringField(value: self.path, fieldNumber: 2)
}
if !self.method.isEmpty {
try visitor.visitSingularStringField(value: self.method, fieldNumber: 3)
}
if !self.description_p.isEmpty {
try visitor.visitSingularStringField(value: self.description_p, fieldNumber: 4)
}
if !self.name.isEmpty {
try visitor.visitSingularStringField(value: self.name, fieldNumber: 5)
}
if !self.handlerName.isEmpty {
try visitor.visitSingularStringField(value: self.handlerName, fieldNumber: 6)
}
if !self.processorName.isEmpty {
try visitor.visitSingularStringField(value: self.processorName, fieldNumber: 7)
}
if !self.clientName.isEmpty {
try visitor.visitSingularStringField(value: self.clientName, fieldNumber: 8)
}
if !self.parametersTypeName.isEmpty {
try visitor.visitSingularStringField(value: self.parametersTypeName, fieldNumber: 9)
}
if !self.responsesTypeName.isEmpty {
try visitor.visitSingularStringField(value: self.responsesTypeName, fieldNumber: 10)
}
try unknownFields.traverse(visitor: &visitor)
}
}
/// Model represents an API for code generation.
public struct Surface_V1_Model: SwiftProtobuf.Message {
public static let protoMessageName: String = _protobuf_package + ".Model"
/// a free-form title for the API
public var name: String = String()
/// the types used by the API
public var types: [Surface_V1_Type] = []
/// the methods (functions) of the API
public var methods: [Surface_V1_Method] = []
public var unknownFields = SwiftProtobuf.UnknownStorage()
public init() {}
/// Used by the decoding initializers in the SwiftProtobuf library, not generally
/// used directly. `init(serializedData:)`, `init(jsonUTF8Data:)`, and other decoding
/// initializers are defined in the SwiftProtobuf library. See the Message and
/// Message+*Additions` files.
public mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
while let fieldNumber = try decoder.nextFieldNumber() {
switch fieldNumber {
case 1: try decoder.decodeSingularStringField(value: &self.name)
case 2: try decoder.decodeRepeatedMessageField(value: &self.types)
case 3: try decoder.decodeRepeatedMessageField(value: &self.methods)
default: break
}
}
}
/// Used by the encoding methods of the SwiftProtobuf library, not generally
/// used directly. `Message.serializedData()`, `Message.jsonUTF8Data()`, and
/// other serializer methods are defined in the SwiftProtobuf library. See the
/// `Message` and `Message+*Additions` files.
public func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
if !self.name.isEmpty {
try visitor.visitSingularStringField(value: self.name, fieldNumber: 1)
}
if !self.types.isEmpty {
try visitor.visitRepeatedMessageField(value: self.types, fieldNumber: 2)
}
if !self.methods.isEmpty {
try visitor.visitRepeatedMessageField(value: self.methods, fieldNumber: 3)
}
try unknownFields.traverse(visitor: &visitor)
}
}
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "surface.v1"
extension Surface_V1_FieldKind: SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
0: .same(proto: "SCALAR"),
1: .same(proto: "MAP"),
2: .same(proto: "ARRAY"),
3: .same(proto: "REFERENCE"),
]
}
extension Surface_V1_TypeKind: SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
0: .same(proto: "STRUCT"),
1: .same(proto: "OBJECT"),
]
}
extension Surface_V1_Position: SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
0: .same(proto: "BODY"),
1: .same(proto: "HEADER"),
2: .same(proto: "FORMDATA"),
3: .same(proto: "QUERY"),
4: .same(proto: "PATH"),
]
}
extension Surface_V1_Field: SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
1: .same(proto: "name"),
2: .same(proto: "type"),
3: .same(proto: "kind"),
4: .same(proto: "format"),
5: .same(proto: "position"),
6: .same(proto: "nativeType"),
7: .same(proto: "fieldName"),
8: .same(proto: "parameterName"),
9: .same(proto: "serialize"),
]
public func _protobuf_generated_isEqualTo(other: Surface_V1_Field) -> Bool {
if self.name != other.name {return false}
if self.type != other.type {return false}
if self.kind != other.kind {return false}
if self.format != other.format {return false}
if self.position != other.position {return false}
if self.nativeType != other.nativeType {return false}
if self.fieldName != other.fieldName {return false}
if self.parameterName != other.parameterName {return false}
if self.serialize != other.serialize {return false}
if unknownFields != other.unknownFields {return false}
return true
}
}
extension Surface_V1_Type: SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
1: .same(proto: "name"),
2: .same(proto: "kind"),
3: .same(proto: "description"),
4: .same(proto: "contentType"),
5: .same(proto: "fields"),
6: .same(proto: "typeName"),
]
public func _protobuf_generated_isEqualTo(other: Surface_V1_Type) -> Bool {
if self.name != other.name {return false}
if self.kind != other.kind {return false}
if self.description_p != other.description_p {return false}
if self.contentType != other.contentType {return false}
if self.fields != other.fields {return false}
if self.typeName != other.typeName {return false}
if unknownFields != other.unknownFields {return false}
return true
}
}
extension Surface_V1_Method: SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
1: .same(proto: "operation"),
2: .same(proto: "path"),
3: .same(proto: "method"),
4: .same(proto: "description"),
5: .same(proto: "name"),
6: .same(proto: "handlerName"),
7: .same(proto: "processorName"),
8: .same(proto: "clientName"),
9: .same(proto: "parametersTypeName"),
10: .same(proto: "responsesTypeName"),
]
public func _protobuf_generated_isEqualTo(other: Surface_V1_Method) -> Bool {
if self.operation != other.operation {return false}
if self.path != other.path {return false}
if self.method != other.method {return false}
if self.description_p != other.description_p {return false}
if self.name != other.name {return false}
if self.handlerName != other.handlerName {return false}
if self.processorName != other.processorName {return false}
if self.clientName != other.clientName {return false}
if self.parametersTypeName != other.parametersTypeName {return false}
if self.responsesTypeName != other.responsesTypeName {return false}
if unknownFields != other.unknownFields {return false}
return true
}
}
extension Surface_V1_Model: SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
1: .same(proto: "name"),
2: .same(proto: "types"),
3: .same(proto: "methods"),
]
public func _protobuf_generated_isEqualTo(other: Surface_V1_Model) -> Bool {
if self.name != other.name {return false}
if self.types != other.types {return false}
if self.methods != other.methods {return false}
if unknownFields != other.unknownFields {return false}
return true
}
}

View File

@ -1,100 +0,0 @@
// Copyright 2017 Google Inc. 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.
import Foundation
// The I/O code below is derived from Apple's swift-protobuf project.
// https://github.com/apple/swift-protobuf
// BEGIN swift-protobuf derivation
#if os(Linux)
import Glibc
#else
import Darwin.C
#endif
enum PluginError: Error {
/// Raised for any errors reading the input
case readFailure
}
// Alias clib's write() so Stdout.write(bytes:) can call it.
private let _write = write
class Stdin {
static func readall() throws -> Data {
let fd: Int32 = 0
let buffSize = 32
var buff = [UInt8]()
while true {
var fragment = [UInt8](repeating: 0, count: buffSize)
let count = read(fd, &fragment, buffSize)
if count < 0 {
throw PluginError.readFailure
}
if count < buffSize {
buff += fragment[0..<count]
return Data(bytes: buff)
}
buff += fragment
}
}
}
class Stdout {
static func write(bytes: Data) {
bytes.withUnsafeBytes { (p: UnsafePointer<UInt8>) -> () in
_ = _write(1, p, bytes.count)
}
}
}
struct CodePrinter {
private(set) var content = ""
private var currentIndentDepth = 0
private var currentIndent = ""
private var atLineStart = true
mutating func print(_ text: String...) {
for t in text {
for c in t.characters {
if c == "\n" {
content.append(c)
atLineStart = true
} else {
if atLineStart {
content.append(currentIndent)
atLineStart = false
}
content.append(c)
}
}
}
}
mutating private func resetIndent() {
currentIndent = (0..<currentIndentDepth).map { Int -> String in return " " } .joined(separator:"")
}
mutating func indent() {
currentIndentDepth += 1
resetIndent()
}
mutating func outdent() {
currentIndentDepth -= 1
resetIndent()
}
}
// END swift-protobuf derivation

View File

@ -1,72 +0,0 @@
// Copyright 2017 Google Inc. 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.
import Foundation
import Gnostic
func printDocument(document:Openapi_V2_Document,
name:String) -> String {
var code = CodePrinter()
code.print("READING \(name)\n")
code.print("Swagger: \(document.swagger)\n")
code.print("Host: \(document.host)\n")
code.print("BasePath: \(document.basePath)\n")
if document.hasInfo {
code.print("Info:\n")
code.indent()
if document.info.title != "" {
code.print("Title: \(document.info.title)\n")
}
if document.info.description_p != "" {
code.print("Description: \(document.info.description_p)\n")
}
if document.info.version != "" {
code.print("Version: \(document.info.version)\n")
}
code.outdent()
}
code.print("Paths:\n")
code.indent()
for pair in document.paths.path {
let v = pair.value
if v.hasGet {
code.print("GET \(pair.name)\n")
}
if v.hasPost {
code.print("POST \(pair.name)\n")
}
}
code.outdent()
return code.content
}
func main() throws {
var response = Gnostic_Plugin_V1_Response()
let rawRequest = try Stdin.readall()
let request = try Gnostic_Plugin_V1_Request(serializedData: rawRequest)
if request.hasOpenapi2 {
let document = request.openapi2
let report = printDocument(document:document, name:request.sourceName)
if let reportData = report.data(using:.utf8) {
var file = Gnostic_Plugin_V1_File()
file.name = "report.txt"
file.data = reportData
response.files.append(file)
}
}
let serializedResponse = try response.serializedData()
Stdout.write(bytes: serializedResponse)
}
try main()