Skip to content

Commit 723a33a

Browse files
committed
faster extension docs?
1 parent 7b1ff5e commit 723a33a

File tree

1 file changed

+34
-12
lines changed

1 file changed

+34
-12
lines changed

shared/api/utils/shared_doc_util.js

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -828,27 +828,49 @@ export default class SharedDocUtil extends SharedUtil
828828
exDirs = await fs.promises.readdir(collectionPath);
829829
}
830830
catch (e) {}
831+
let allOpNames = [];
831832
exDirs.forEach((extensionName) =>
832833
{
833-
if (!publicOnly)
834+
if (this._opsUtil.isOpNameValid(extensionName))
834835
{
835-
const extensionOps = this._opsUtil.getCollectionOpNames(extensionName);
836-
if (extensionOps.length > 0)
836+
if (!publicOnly)
837837
{
838-
const extDocs = this.getExtensionDoc(extensionName, filterOldVersions, filterDeprecated);
839-
if (extDocs) extensions.push(extDocs);
838+
839+
const extDocs = this.getExtensionDoc(extensionName);
840+
if (extDocs && extDocs.ops.length > 0)
841+
{
842+
extensions.push(extDocs);
843+
allOpNames = allOpNames.concat(extDocs.ops);
844+
}
840845
}
841-
}
842-
else if (this._opsUtil.isExtension(extensionName) && this._opsUtil.getCollectionVisibility(extensionName) === this._opsUtil.VISIBILITY_PUBLIC)
843-
{
844-
const extensionOps = this._opsUtil.getCollectionOpNames(extensionName);
845-
if (extensionOps.length > 0)
846+
else if (this._opsUtil.isExtension(extensionName) && this._opsUtil.getCollectionVisibility(extensionName) === this._opsUtil.VISIBILITY_PUBLIC)
846847
{
847-
const extDocs = this.getExtensionDoc(extensionName, filterOldVersions, filterDeprecated);
848-
if (extDocs) extensions.push(extDocs);
848+
849+
const extDocs = this.getExtensionDoc(extensionName);
850+
if (extDocs && extDocs.ops.length > 0)
851+
{
852+
extensions.push(extDocs);
853+
allOpNames = allOpNames.concat(extDocs.ops);
854+
}
849855
}
850856
}
851857
});
858+
859+
if (filterOldVersions || filterDeprecated)
860+
{
861+
let opDocs = this._docsUtil.getOpDocsForCollections(allOpNames);
862+
opDocs = this._opsUtil.addVersionInfoToOps(opDocs);
863+
if (filterDeprecated) allOpNames = allOpNames.filter((opName) => { return !this._opsUtil.isDeprecated(opName); });
864+
if (filterOldVersions) allOpNames = allOpNames.filter((opName) =>
865+
{
866+
return !this._opsUtil.isOpOldVersion(opName, opDocs);
867+
});
868+
869+
extensions.forEach((extension) =>
870+
{
871+
extension.ops = extension.ops.filter((opName) => { return allOpNames.includes(opName); });
872+
});
873+
}
852874
}
853875

854876
return extensions;

0 commit comments

Comments
 (0)