in packages/azure-openapi-validator/autorest/src/plugin-common.ts [5:37]
export function convertLintMsgToAutoRestMsg(message: LintResultMessage): Message {
// try to extract provider namespace and resource type
const path = message.jsonpath?.[1] === "paths" && message.jsonpath[2]
const pathComponents = typeof path === "string" && path.split("/")
const pathComponentsProviderIndex = pathComponents && pathComponents.indexOf("providers")
const pathComponentsTail =
pathComponentsProviderIndex && pathComponentsProviderIndex >= 0 && pathComponents.slice(pathComponentsProviderIndex + 1)
const pathComponentProviderNamespace = pathComponentsTail && pathComponentsTail[0]
const pathComponentResourceType = pathComponentsTail && pathComponentsTail[1]
const msg = {
Channel: message.type,
Text: message.message,
Key: [message.code],
Source: [
{
document: message?.sources?.[0] || "",
Position: {
path: message.jsonpath,
//...message.range?.start as Position
},
},
],
Details: {
jsonpath: message.jsonpath,
validationCategory: message.category,
providerNamespace: pathComponentProviderNamespace,
resourceType: pathComponentResourceType,
rpcGuidelineCode: message.rpcGuidelineCode,
range: message.range,
},
}
return msg
}