UNPKG

@umbraco/json-models-builders

Version:
55 lines 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ElementBuilder = void 0; const elementValueBuilder_1 = require("./elementValueBuilder"); const elementVariantBuilder_1 = require("./elementVariantBuilder"); const BuilderUtils_1 = require("../../helpers/BuilderUtils"); class ElementBuilder { elementValueBuilder; elementVariantBuilder; id; parentId; documentTypeId; constructor() { this.elementValueBuilder = []; this.elementVariantBuilder = []; } addValue() { const builder = new elementValueBuilder_1.ElementValueBuilder(this); this.elementValueBuilder.push(builder); return builder; } addVariant() { const builder = new elementVariantBuilder_1.ElementVariantBuilder(this); this.elementVariantBuilder.push(builder); return builder; } withId(id) { this.id = id; return this; } withParentId(parentId) { this.parentId = parentId; return this; } withDocumentTypeId(documentTypeId) { this.documentTypeId = documentTypeId; return this; } build() { this.id = (0, BuilderUtils_1.ensureIdExists)(this.id); return { values: this.elementValueBuilder.map((builder) => { return builder.build(); }), variants: this.elementVariantBuilder.map((builder) => { return builder.build(); }), id: this.id, parent: this.parentId ? { id: this.parentId } : null, documentType: { id: this.documentTypeId } }; } } exports.ElementBuilder = ElementBuilder; //# sourceMappingURL=elementBuilder.js.map