in tools/code/common/WorkspaceApiSpecification.cs [194:207]
await TryParse(file,
getFileContents: async file => await file.ReadAsBinaryData(cancellationToken),
serviceDirectory,
cancellationToken);
public static new async ValueTask<Option<JsonWorkspaceOpenApiSpecificationFile>> TryParse(FileInfo? file, Func<FileInfo, ValueTask<BinaryData>> getFileContents, ManagementServiceDirectory serviceDirectory, CancellationToken cancellationToken) =>
file is not null && file.Name == Name
? await WorkspaceApiDirectory.TryParse(file.Directory, serviceDirectory)
.BindTask(async parent => from version in await OpenApiVersion.TryParse(await getFileContents(file), cancellationToken)
select new JsonWorkspaceOpenApiSpecificationFile
{
Parent = parent,
Version = version
})