lib/transform/noAdditionalPropertiesTransformer.ts (19 lines of code) (raw):

import { allOfTransformer } from "./allOfTransformer"; import { GlobalTransformer, TransformerType } from "./transformer"; export const noAdditionalPropertiesTransformer: GlobalTransformer = { type: TransformerType.Global, after: [allOfTransformer], transform({ objSchemas, baseSchemas }) { for (const sch of objSchemas) { if ( sch.additionalProperties === undefined && sch.discriminator === undefined && !baseSchemas.has(sch) && sch.properties && Object.keys(sch.properties).length > 0 ) { sch.additionalProperties = false; } } }, };