UNPKG

@samchon/openapi

Version:

OpenAPI definitions and converters for 'typia' and 'nestia'.

99 lines (95 loc) 3.33 kB
var OpenApiConstraintShifter; (function(OpenApiConstraintShifter) { OpenApiConstraintShifter.shiftArray = v => { const tags = []; if (v.minItems !== undefined) { tags.push(`@minItems ${v.minItems}`); delete v.minItems; } if (v.maxItems !== undefined) { tags.push(`@maxItems ${v.maxItems}`); delete v.maxItems; } if (v.uniqueItems !== undefined) { if (v.uniqueItems === true) tags.push(`@uniqueItems`); delete v.uniqueItems; } v.description = writeTagWithDescription({ description: v.description, tags }); return v; }; OpenApiConstraintShifter.shiftNumeric = v => { const tags = []; if (v.exclusiveMinimum === undefined && v.minimum !== undefined) { tags.push(`@minimum ${v.minimum}`); delete v.minimum; } if (v.exclusiveMaximum === undefined && v.maximum !== undefined) { tags.push(`@maximum ${v.maximum}`); delete v.maximum; } if (v.minimum !== undefined && v.exclusiveMinimum === true) { tags.push(`@exclusiveMinimum ${v.minimum}`); delete v.minimum; delete v.exclusiveMinimum; } if (v.maximum !== undefined && v.exclusiveMaximum === true) { tags.push(`@exclusiveMaximum ${v.maximum}`); delete v.maximum; delete v.exclusiveMaximum; } if (v.multipleOf !== undefined) { tags.push(`@multipleOf ${v.multipleOf}`); delete v.multipleOf; } v.description = writeTagWithDescription({ description: v.description, tags }); if (v.default !== undefined) { tags.push(`@default ${v.default}`); delete v.default; } return v; }; OpenApiConstraintShifter.shiftString = v => { const tags = []; if (v.minLength !== undefined) { tags.push(`@minLength ${v.minLength}`); delete v.minLength; } if (v.maxLength !== undefined) { tags.push(`@maxLength ${v.maxLength}`); delete v.maxLength; } if (v.format !== undefined) { tags.push(`@format ${v.format}`); delete v.format; } if (v.pattern !== undefined) { tags.push(`@pattern ${v.pattern}`); delete v.pattern; } if (v.contentMediaType !== undefined) { tags.push(`@contentMediaType ${v.contentMediaType}`); delete v.contentMediaType; } if (v.default !== undefined) { tags.push(`@default ${v.default}`); delete v.default; } v.description = writeTagWithDescription({ description: v.description, tags }); return v; }; })(OpenApiConstraintShifter || (OpenApiConstraintShifter = {})); const writeTagWithDescription = props => { if (props.tags.length === 0) return props.description; return [ ...props.description?.length ? [ props.description, "\n" ] : [], ...props.tags ].join("\n"); }; export { OpenApiConstraintShifter }; //# sourceMappingURL=OpenApiConstraintShifter.mjs.map