UNPKG

@umbraco/json-models-builders

Version:
57 lines 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DocumentBlueprintsBuilder = void 0; const documentBlueprintsValueBuilder_1 = require("./documentBlueprintsValueBuilder"); const documentBlueprintsVariantBuilder_1 = require("./documentBlueprintsVariantBuilder"); 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() { if (!this.id) { const crypto = require('crypto'); this.id = crypto.randomUUID(); } 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