block-obj-builder
Version:
Block object builder
20 lines (19 loc) • 886 B
TypeScript
import { Languages } from '../const/languages-enums';
import { DeepPartial } from '../helpers/helpers';
import { MediaPointer } from '../interfaces/media-interface';
import BlockItemObj from '../objs/block-item-obj';
import { default as ChoiceBuilder } from './choice/choice-builder';
export default class ItemBuilder {
private item;
addTitle(lang: Languages | string, text: string): this;
setTitle(polylang: any): this;
addSubtitle(lang: Languages | string, text: string): this;
setSubtitle(polylang: any): this;
image(media: MediaPointer): this;
build(): DeepPartial<BlockItemObj>;
pushChoice<T extends ChoiceBuilder>(cb: T): this;
unshiftChoice<T extends ChoiceBuilder>(cb: T): this;
setChoices<T extends ChoiceBuilder[]>(choices: T): this;
defaultChoice<T extends ChoiceBuilder>(cb: T): this;
hasChoice(cb: ChoiceBuilder): boolean;
}