UNPKG

@tsed/schema

Version:
30 lines (29 loc) 917 B
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; } }