UNPKG

@itwin/imodels-client-management

Version:

iModels API client wrapper for applications that manage iModels.

135 lines 4.85 kB
import { CollectionRequestParams, Dictionary, OrderBy } from "../base/types"; import { GetBriefcaseListUrlParams } from "./briefcase/BriefcaseOperationParams"; import { ChangesetIdOrIndex, GetChangesetListUrlParams } from "./changeset/ChangesetOperationParams"; import { GetChangesetExtendedDataListUrlParams } from "./changeset-extended-data/ChangesetExtendedDataOperationParams"; import { GetChangesetGroupListUrlParams } from "./changeset-group/ChangesetGroupOperationParams"; import { CheckpointParentEntityId } from "./checkpoint/CheckpointOperationParams"; import { GetIModelListUrlParams } from "./imodel/IModelOperationParams"; import { GetNamedVersionListUrlParams } from "./named-version/NamedVersionOperationParams"; import { DownloadThumbnailUrlParams } from "./OperationParamExports"; type SingleOrderByForAnyEntity = OrderBy<{ [key: string]: unknown; }, string>; type MultipleOrderByForAnyEntity = SingleOrderByForAnyEntity[]; type OrderByForAnyEntity = SingleOrderByForAnyEntity | MultipleOrderByForAnyEntity; type UrlParameterValue = string | number | OrderByForAnyEntity; export declare class IModelsApiUrlFormatter { protected readonly baseUrl: string; private readonly _regexIgnoreCaseOption; private readonly _groupNames; private readonly _numericRegex; private readonly _changesetUrlRegex; private readonly _checkpointUrlRegex; private readonly _namedVersionUrlRegex; private readonly _userUrlRegex; private readonly _iModelUrlRegex; constructor(baseUrl: string); getCreateIModelUrl(): string; getCloneIModelUrl(params: { iModelId: string; }): string; getForkIModelUrl(params: { iModelId: string; }): string; getSingleIModelUrl(params: { iModelId: string; }): string; getIModelListUrl(params: { urlParams: GetIModelListUrlParams; }): string; getSingleBriefcaseUrl(params: { iModelId: string; } & { briefcaseId: number; }): string; getBriefcaseListUrl(params: { iModelId: string; urlParams?: GetBriefcaseListUrlParams; }): string; getSingleChangesetUrl(params: { iModelId: string; } & ChangesetIdOrIndex): string; getChangesetListUrl(params: { iModelId: string; urlParams?: GetChangesetListUrlParams; }): string; getSingleChangesetExtendedDataUrl(params: { iModelId: string; } & ChangesetIdOrIndex): string; getChangesetExtendedDataListUrl(params: { iModelId: string; urlParams?: GetChangesetExtendedDataListUrlParams; }): string; getSingleChangesetGroupUrl(params: { iModelId: string; } & { changesetGroupId: string; }): string; getChangesetGroupListUrl(params: { iModelId: string; urlParams?: GetChangesetGroupListUrlParams; }): string; parseChangesetUrl(url: string): { iModelId: string; } & ChangesetIdOrIndex; getSingleNamedVersionUrl(params: { iModelId: string; } & { namedVersionId: string; }): string; getNamedVersionListUrl(params: { iModelId: string; urlParams?: GetNamedVersionListUrlParams; }): string; getCheckpointUrl(params: { iModelId: string; } & CheckpointParentEntityId): string; getThumbnailUrl(params: { iModelId: string; urlParams?: DownloadThumbnailUrlParams; }): string; getUserListUrl(params: { iModelId: string; urlParams?: CollectionRequestParams; }): string; getSingleUserUrl(params: { iModelId: string; } & { userId: string; }): string; getUserPermissionsUrl(params: { iModelId: string; }): string; getCreateIModelOperationDetailsUrl(params: { iModelId: string; }): string; parseCheckpointUrl(url: string): { iModelId: string; } & ChangesetIdOrIndex; parseNamedVersionUrl(url: string): { iModelId: string; namedVersionId: string; }; parseUserUrl(url: string): { iModelId: string; userId: string; }; parseIModelUrl(url: string): { iModelId: string; }; protected formQueryString(urlParameters: Dictionary<UrlParameterValue> | undefined): string; /** * API could return Changeset urls that either contain id or index since both are valid identifiers * so here we handle both scenarios. We assume if the value contains only digits and is shorter than 40 * symbols it is a numeric index, otherwise, it is a string id. */ private parseChangesetIdOrIndex; private shouldAppendToUrl; private appendToQueryString; private stringify; private isSingleOrderBy; private isMultipleOrderBy; private stringifyOrderByParameterValue; } export {}; //# sourceMappingURL=IModelsApiUrlFormatter.d.ts.map