UNPKG

@sitecore/sc-contenthub-webclient-sdk

Version:

Sitecore Content Hub WebClient SDK.

77 lines (76 loc) 3.64 kB
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>; }