@umbraco/json-models-builders
Version:
Builders and models for Umbraco Sites
49 lines • 1.47 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MediaBuilder = void 0;
const mediaValueBuilder_1 = require("./mediaValueBuilder");
const mediaVariantBuilder_1 = require("./mediaVariantBuilder");
class MediaBuilder {
mediaValueBuilder;
mediaVariantBuilders;
id;
parentId;
mediaTypeId;
constructor() {
this.mediaValueBuilder = [];
this.mediaVariantBuilders = [];
}
addValue() {
const builder = new mediaValueBuilder_1.MediaValueBuilder(this);
this.mediaValueBuilder.push(builder);
return builder;
}
addVariant() {
const builder = new mediaVariantBuilder_1.MediaVariantBuilder(this);
this.mediaVariantBuilders.push(builder);
return builder;
}
withId(id) {
this.id = id;
return this;
}
withParentId(parentId) {
this.parentId = parentId;
return this;
}
withMediaTypeId(mediaTypeId) {
this.mediaTypeId = mediaTypeId;
return this;
}
build() {
return {
values: this.mediaValueBuilder.map(builder => builder.build()),
variants: this.mediaVariantBuilders.map(builder => builder.build()),
id: this.id || null,
parent: this.parentId ? { id: this.parentId } : null,
mediaType: { id: this.mediaTypeId }
};
}
}
exports.MediaBuilder = MediaBuilder;
//# sourceMappingURL=mediaBuilder.js.map