@itwin/clash-detection-client
Version:
Clash Detection client for the iTwin platform
43 lines • 2.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TemplateOperations = void 0;
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
const OperationUtils_1 = require("../OperationUtils");
const OperationsBase_1 = require("../../base/OperationsBase");
const EntityListIteratorImpl_1 = require("../../base/iterators/EntityListIteratorImpl");
class TemplateOperations extends OperationsBase_1.OperationsBase {
constructor(options) {
super(options);
}
/**
* Gets Suppression Rule Templates for a specific project. This method returns Suppression Rule Templates in their full representation. The returned
* iterator internally queries entities in pages. Wraps the
* {@link https://developer.bentley.com/apis/clash-detection/operations/get-suppression-rule-templates/ Get Suppression Rule Template}
* operation from Clash Detection API.
* @param {ParamsToGetTemplateList} params parameters for this operation. See {@link ParamsToGetTemplateList}.
* @returns {EntityListIterator<SuppressionRuleTemplate>} iterator for Template list. See {@link EntityListIterator},
* {@link SuppressionRuleTemplate}.
*/
getList(params) {
const entityCollectionAccessor = (response) => {
const templates = response.suppressionRuleTemplates;
return templates;
};
OperationUtils_1.OperationUtils.ensureAccessTokenProvided(params.accessToken, this._options.accessTokenCallback);
return new EntityListIteratorImpl_1.EntityListIteratorImpl(async () => {
var _a;
return this.getEntityCollectionPage({
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
accessToken: (_a = params.accessToken) !== null && _a !== void 0 ? _a : await this._options.accessTokenCallback(),
url: this._options.urlFormatter.getTemplateListUrl({ urlParams: params.urlParams }),
entityCollectionAccessor,
userMetadata: false,
});
});
}
}
exports.TemplateOperations = TemplateOperations;
//# sourceMappingURL=TemplateOperations.js.map