export function processDocument()

in eng/tools/typespec-migration-validation/src/document.ts [7:46]


export function processDocument(document: OpenAPI2Document): OpenAPI2Document {
  originalDocument = deepCopy(document);

  const newDocument: OpenAPI2Document = deepCopy(document);
  if (document.schemes) {
    delete newDocument.schemes;
  }
  if (document.host) {
    delete newDocument.host;
  }
  if (document.security) {
    delete newDocument.security;
  }
  if (document.securityDefinitions) {
    delete newDocument.securityDefinitions;
  }
  if (document.tags) {
    delete newDocument.tags;
  }

  for (const route in document.paths) {
    const path = document.paths[route] as OpenAPI2PathItem;
    const processedPath = processPath(path);
    newDocument.paths[route] = processedPath;
  }

  for (const definitionName in document.definitions) {
    const definition = document.definitions[definitionName] as OpenAPI2Schema;
    if (definition.enum) {
      delete newDocument.definitions![definitionName];
      continue;
    }
    const processedDefinition = processDefinition(definition);
    newDocument.definitions ??= {};
    newDocument.definitions[definitionName] = processedDefinition;
  }

  newDocument.parameters = {};
  return newDocument;
}