Files
simple-mail-cleaner/backend/node_modules/@fastify/swagger/lib/mode/dynamic.js
2026-01-22 15:49:12 +01:00

40 lines
904 B
JavaScript

'use strict'
const { addHook } = require('../util/add-hook')
const { resolveSwaggerFunction } = require('../util/resolve-swagger-function')
module.exports = function (fastify, opts, done) {
opts = Object.assign({}, {
exposeRoute: false,
hiddenTag: 'X-HIDDEN',
hideUntagged: false,
stripBasePath: true,
openapi: null,
swagger: {},
transform: null,
transformObject: null,
decorator: 'swagger',
refResolver: {
buildLocalReference (json, _baseUri, _fragment, i) {
if (!json.title && json.$id) {
json.title = json.$id
}
return `def-${i}`
}
},
convertConstToEnum: true
}, opts)
const { routes, Ref } = addHook(fastify, opts)
const cache = {
object: null,
string: null
}
const swagger = resolveSwaggerFunction(opts, cache, routes, Ref)
fastify.decorate(opts.decorator, swagger)
done()
}