in src/plugins/parser.ts [129:184]
function parseAlicloudAPI(apiName: string, api: any, style = "RPC", meta: SimpleMeta): PontSpec.PontAPI | null {
if (!api) {
return null;
}
const { summary, description, consumes, deprecated, methods, path, parameters, responses, ext, ...rest } = api;
const newParameters = (parameters || []).map(parseParameter).filter((param) => {
if (style === "RPC") {
if (
["Action", "OwnerId", "ResourceOwnerAccount", "ResourceOwnerId", "OwnerAccount", "AccessKeyId"].includes(
param?.name,
)
) {
return false;
}
// if (param?.position === 'Host' && !hostEnable) {
// return false;
// }
if (["Domain", "System"].includes(param?.in)) {
return false;
}
return true;
}
return true;
});
const desc = parseDescription(description || summary, meta);
const apiLink = `https://api.aliyun.com/api/${meta.popcode}/${meta.version}/${apiName}`;
return {
consumes,
summary,
description: desc,
deprecated,
title: (api as any).title || summary,
name: apiName,
method: methods?.[0],
methods: methods,
path,
parameters: _.unionBy<PontSpec.Parameter>(newParameters, "name"),
responses: parseResponses(responses, meta),
externalDocs: {
description: I18N.plugins.parser.gotoDebug,
url: apiLink,
},
ext: {
summary,
methods,
...rest,
...ext,
},
} as PontSpec.PontAPI;
}