@sitecore/sc-contenthub-webclient-sdk
Version:
Sitecore Content Hub WebClient SDK.
77 lines (76 loc) • 3.64 kB
TypeScript
import { RelationRole } from "../../contracts/base";
import CultureInfo from "../../culture-info";
import { IEntityLoadConfiguration } from "./entity-load-configuration";
import { LoadOption } from "./load-options";
import { IRelationSpecification } from "./relation-specification";
/**
* An interface for a builder for instances of {@link IEntityLoadConfiguration}.
*/
export interface IEntityLoadConfigurationBuilder {
/**
* Indicates that entities should be loaded in the cultures specified by the load option.
* @param loadOption - The load option
*/
inCultures(loadOption: LoadOption): IEntityLoadConfigurationBuilder;
/**
* Indicates that entities should be loaded in the specified cultures.
* @param culture - The cultures
*/
inCultures(cultures: Array<CultureInfo>): IEntityLoadConfigurationBuilder;
/**
* Indicates that entities should be loaded in the specified culture.
* @param culture - The culture
*/
inCulture(culture: CultureInfo): IEntityLoadConfigurationBuilder;
/**
* Indicates that entities should be loaded with the properties specified by the load option.
* @param loadOption - The load option
*/
withProperties(loadOption: LoadOption): IEntityLoadConfigurationBuilder;
/**
* Indicates that entities should be loaded with the specified properties.
* @param properties - The properties
*/
withProperties(properties: Array<string>): IEntityLoadConfigurationBuilder;
/**
* Indicates that entities should be loaded with the specified property.
* @param property - The name of the property
*/
withProperty(property: string): IEntityLoadConfigurationBuilder;
/**
* Indicates that entities should be loaded with the relations specified by the load option.
* @param loadOption - The load option
*/
withRelations(loadOption: LoadOption): IEntityLoadConfigurationBuilder;
/**
* Indicates that entities should be loaded with the specified relations.
* @param relations - The relations
*/
withRelations(relations: Array<string>): IEntityLoadConfigurationBuilder;
/**
* Indicates that entities should be loaded with the specified relation specifications.
* @param specifications - The relation specifications
*/
withRelations(specifications: Array<IRelationSpecification>): IEntityLoadConfigurationBuilder;
/**
* Indicates that entities should be loaded with the specified relation in the specified role.
* @param relation - The name of the relation
* @param role - The role of the relation
*/
withRelation(relation: string, role?: RelationRole): IEntityLoadConfigurationBuilder;
/**
* Gets the resulting instance of {@link IEntityLoadConfiguration}.
*/
build(): IEntityLoadConfiguration;
}
export declare class EntityLoadConfigurationBuilder implements IEntityLoadConfigurationBuilder {
private readonly _entityLoadConfiguration;
constructor(entityLoadConfiguration?: IEntityLoadConfiguration);
inCultures(option: LoadOption | Array<CultureInfo>): IEntityLoadConfigurationBuilder;
inCulture(culture: CultureInfo): IEntityLoadConfigurationBuilder;
withProperties(option: LoadOption | Array<string>): IEntityLoadConfigurationBuilder;
withProperty(property: string): IEntityLoadConfigurationBuilder;
withRelations(option: LoadOption | Array<string | IRelationSpecification>): IEntityLoadConfigurationBuilder;
withRelation(relation: string, role?: RelationRole): IEntityLoadConfigurationBuilder;
build(): Readonly<IEntityLoadConfiguration>;
}