@tsed/schema
Version:
JsonSchema module for Ts.ED Framework
30 lines (29 loc) • 917 B
JavaScript
import { toJsonMapCollection } from "../utils/toJsonMapCollection.js";
import { JsonMap } from "./JsonMap.js";
export class JsonRequestBody extends JsonMap {
constructor(obj = {}) {
super(obj);
this.$kind = "operationRequestBody";
this.content(obj.content || {});
}
description(description) {
this.set("description", description);
return this;
}
content(content) {
this.set("content", toJsonMapCollection(content));
return this;
}
addContent(mediaType, schema, examples) {
const content = this.get("content");
const mediaContent = new JsonMap();
mediaContent.set("schema", schema);
examples && mediaContent.set("examples", examples);
content.set(mediaType, mediaContent);
return this;
}
required(required) {
this.set("required", required);
return this;
}
}