@umbraco/json-models-builders
Version:
Builders and models for Umbraco Sites
55 lines • 1.97 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DocumentBlueprintsBuilder = void 0;
const documentBlueprintsValueBuilder_1 = require("./documentBlueprintsValueBuilder");
const documentBlueprintsVariantBuilder_1 = require("./documentBlueprintsVariantBuilder");
const BuilderUtils_1 = require("../../helpers/BuilderUtils");
class DocumentBlueprintsBuilder {
documentBlueprintsValueBuilder;
documentBlueprintsVariantBuilder;
id;
parentId;
documentTypeId;
constructor() {
this.documentBlueprintsValueBuilder = [];
this.documentBlueprintsVariantBuilder = [];
}
addValue() {
const builder = new documentBlueprintsValueBuilder_1.DocumentBlueprintsValueBuilder(this);
this.documentBlueprintsValueBuilder.push(builder);
return builder;
}
addVariant() {
const builder = new documentBlueprintsVariantBuilder_1.DocumentBlueprintsVariantBuilder(this);
this.documentBlueprintsVariantBuilder.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.documentBlueprintsValueBuilder.map((builder) => {
return builder.build();
}),
variants: this.documentBlueprintsVariantBuilder.map((builder) => {
return builder.build();
}),
id: this.id,
parent: this.parentId ? { id: this.parentId } : null,
documentType: { id: this.documentTypeId },
};
}
}
exports.DocumentBlueprintsBuilder = DocumentBlueprintsBuilder;
//# sourceMappingURL=documentBlueprintsBuilder.js.map