(
fn?: Function,
schema: SchemaObject = {},
)
| 15 | * @param schema - The schema object provided in an parameter object |
| 16 | */ |
| 17 | export function resolveSchema( |
| 18 | fn?: Function, |
| 19 | schema: SchemaObject = {}, |
| 20 | ): SchemaObject { |
| 21 | let resolvedSchema: SchemaObject = {}; |
| 22 | |
| 23 | if (typeof fn === 'function') { |
| 24 | if (fn === String) { |
| 25 | resolvedSchema = {type: 'string'}; |
| 26 | } else if (fn === Number) { |
| 27 | resolvedSchema = {type: 'number'}; |
| 28 | } else if (fn === Boolean) { |
| 29 | resolvedSchema = {type: 'boolean'}; |
| 30 | } else if (fn === Date) { |
| 31 | resolvedSchema = {type: 'string', format: 'date-time'}; |
| 32 | } else if (fn === Object) { |
| 33 | resolvedSchema = {type: 'object'}; |
| 34 | } else if (fn === Array) { |
| 35 | resolvedSchema = {type: 'array'}; |
| 36 | } else { |
| 37 | resolvedSchema = {$ref: `#/components/schemas/${fn.name}`}; |
| 38 | } |
| 39 | } |
| 40 | |
| 41 | return Object.assign(schema, resolvedSchema); |
| 42 | } |
no outgoing calls
no test coverage detected