MetadataTranslator.swift 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * Copyright 2024, gRPC Authors All rights reserved.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. struct MetadataTranslator {
  17. init() {}
  18. func translate(
  19. accessModifier: AccessModifier,
  20. services: [ServiceDescriptor],
  21. client: Bool,
  22. server: Bool
  23. ) -> [CodeBlock] {
  24. return services.flatMap { service in
  25. self.translate(
  26. accessModifier: accessModifier,
  27. service: service,
  28. client: client,
  29. server: server
  30. )
  31. }
  32. }
  33. private func translate(
  34. accessModifier: AccessModifier,
  35. service: ServiceDescriptor,
  36. client: Bool,
  37. server: Bool
  38. ) -> [CodeBlock] {
  39. .serviceMetadata(
  40. accessModifier: accessModifier,
  41. service: service,
  42. client: client,
  43. server: server
  44. )
  45. }
  46. }