{"version":3,"sources":["jsdelivr-header.js","/npm/lout@11.2.3/lib/index.js"],"names":[],"mappings":"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","file":"/npm/lout@11.2.3/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/lout@11.2.3/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nconst Path = require('path');\n\nconst Boom = require('@hapi/boom');\nconst Hoek = require('@hapi/hoek');\nconst Handlebars = require('handlebars');\nconst Joi = require('@hapi/joi');\n\n\nconst internals = {\n    defaults: {\n        endpoint: '/docs',\n        auth: false,\n        apiVersion: null,\n        basePath: Path.join(__dirname, '..', 'templates'),\n        cssPath: Path.join(__dirname, '..', 'public', 'css'),\n        helpersPath: Path.join(__dirname, '..', 'templates', 'helpers'),\n        partialsPath: Path.join(__dirname, '..', 'templates'),\n        indexTemplate: 'index',\n        routeTemplate: 'route',\n        methodsOrder: ['get', 'head', 'post', 'put', 'patch', 'delete', 'trace', 'options'],\n        filterRoutes: null\n    },\n    options: Joi.object({\n        engines: Joi.object(),\n        endpoint: Joi.string(),\n        apiVersion: Joi.string().allow(null),\n        basePath: Joi.string(),\n        cssPath: Joi.string().allow(null),\n        helpersPath: Joi.string(),\n        partialsPath: Joi.string(),\n        auth: Joi.object(),\n        indexTemplate: Joi.string(),\n        routeTemplate: Joi.string(),\n        filterRoutes: Joi.func()\n    })\n};\n\n\nexports.plugin = {\n    name: 'lout',\n    pkg: require('../package.json'),\n    multiple: true,\n    requirements: {\n        hapi: '>=17.0.0'\n    },\n\n    register: function (server, options) {\n\n        const validateOptions = internals.options.validate(options);\n        if (validateOptions.error) {\n            throw validateOptions.error;\n        }\n\n        const settings = Hoek.clone(internals.defaults);\n        Hoek.merge(settings, options);\n\n        if (settings.endpoint[0] !== '/') {\n            settings.endpoint = `/${settings.endpoint}`;\n        }\n\n        if (settings.endpoint.length > 1 && settings.endpoint[settings.endpoint.length - 1] === '/') {\n            settings.endpoint = settings.endpoint.slice(0, -1);\n        }\n\n        const cssBaseUrl = `${settings.endpoint === '/' ? '' : settings.endpoint}/css`;\n\n        server.dependency(['inert', 'vision'], () => {\n\n            server.views({\n                engines: settings.engines || {\n                    html: {\n                        module: Handlebars.create()\n                    }\n                },\n                path: settings.basePath,\n                partialsPath: settings.partialsPath,\n                helpersPath: settings.helpersPath,\n                runtimeOptions: {\n                    data: {\n                        cssBaseUrl: cssBaseUrl.replace(/(.*?)((\\/\\w+)?\\/css)/, '$2'),\n                        apiVersion: settings.apiVersion\n                    }\n                }\n            });\n\n            server.route({\n                method: 'GET',\n                path: settings.endpoint,\n                options: internals.docs(settings, server)\n            });\n\n            if (settings.cssPath) {\n                server.route({\n                    method: 'GET',\n                    path: `${cssBaseUrl}/{path*}`,\n                    options: {\n                        handler: {\n                            directory: {\n                                path: settings.cssPath,\n                                index: false,\n                                listing: false\n                            }\n                        },\n                        plugins: {\n                            lout: false\n                        },\n                        auth: settings.auth\n                    }\n                });\n            }\n        });\n    }\n};\n\n\ninternals.docs = function (settings, server) {\n\n    return {\n        auth: settings.auth,\n        validate: {\n            query: Joi.object({\n                path: Joi.string(),\n                server: Joi.string()\n            }).unknown()\n        },\n        handler(request, h) {\n\n            let routing = server.table();\n\n            routing = routing.filter((item) => {\n\n                if (request.query.path && item.path !== request.query.path) {\n\n                    return false;\n                }\n\n                return !item.settings.isInternal &&\n                    item.settings.plugins.lout !== false &&\n                    item.method !== 'options' &&\n                    (!settings.filterRoutes || settings.filterRoutes({\n                        method: item.method,\n                        path: item.path,\n                        settings: item.settings\n                    }));\n            }).sort((route1, route2) => {\n\n                if (route1.path > route2.path) {\n                    return 1;\n                }\n\n                if (route1.path < route2.path) {\n                    return -1;\n                }\n\n                return settings.methodsOrder.indexOf(route1.method) - settings.methodsOrder.indexOf(route2.method);\n            });\n\n            if (!routing.length) {\n                throw Boom.notFound();\n            }\n\n            if (request.query.path) {\n                return h.view(settings.routeTemplate, internals.getRoutesData(routing, server));\n            }\n\n            return h.view(settings.indexTemplate, internals.getRoutesData(routing, server));\n        },\n        plugins: {\n            lout: false\n        }\n    };\n};\n\n\ninternals.getRoutesData = function (routes, server) {\n\n    return routes.map((route) => ({\n        path: route.path,\n        method: route.method.toUpperCase(),\n        description: route.settings.description,\n        notes: internals.processNotes(route.settings.notes),\n        tags: route.settings.tags,\n        auth: internals.processAuth(route, server),\n        vhost: route.settings.vhost,\n        cors: route.settings.cors,\n        jsonp: route.settings.jsonp,\n        pathParams: internals.describe(route.settings.validate.params),\n        queryParams: internals.describe(route.settings.validate.query),\n        payloadParams: internals.describe(route.settings.validate.payload),\n        headersParams: internals.describe(route.settings.validate.headers),\n        responseParams: internals.describe(route.settings.response.schema),\n        statusSchema: internals.describeStatusSchema(route.settings.response.status)\n    }));\n};\n\n\ninternals.describe = function (params) {\n\n    if (params === null || typeof params !== 'object') {\n\n        return null;\n    }\n\n    const description = internals.getParamsData(Joi.compile(params).describe());\n    description.root = true;\n    return description;\n};\n\n\ninternals.describeStatusSchema = function (status) {\n\n    const codes = Object.keys(status || {});\n    if (!codes.length) {\n        return;\n    }\n\n    const result = {};\n    codes.forEach((code) => {\n\n        result[code] = internals.describe(status[code]);\n    });\n    return result;\n};\n\n\ninternals.getParamsData = function (param, name) {\n\n    // Detection of \"false\" as validation rule\n    if (!name && param.type === 'object' && param.children && Object.keys(param.children).length === 0) {\n\n        return {\n            isDenied: true\n        };\n    }\n\n    // Detection of conditional alternatives\n    if (param.is &&\n        param.ref) {\n\n        return {\n            condition: {\n                key: internals.formatReference(param.ref),\n                value: internals.getParamsData(param.is, param.is.type)\n            },\n            then: param.then && internals.getParamsData(param.then, param.then.type),\n            otherwise: param.otherwise && internals.getParamsData(param.otherwise, param.otherwise.type)\n        };\n    }\n\n    let type;\n    if (param.valids && param.valids.some(internals.isRef)) {\n        type = 'reference';\n    }\n    else {\n        type = param.type;\n    }\n\n    const data = {\n        name,\n        description: param.description,\n        notes: internals.processNotes(param.notes),\n        tags: param.tags,\n        meta: param.meta,\n        unit: param.unit,\n        type,\n        allowedValues: param.valids ? internals.getExistsValues(type, param.valids) : null,\n        disallowedValues: param.invalids ? internals.getExistsValues(type, param.invalids) : null,\n        examples: param.examples,\n        peers: param.dependencies && param.dependencies.map(internals.formatPeers),\n        target: type === 'reference' ? internals.getExistsValues(type, param.valids) : null,\n        flags: param.flags && {\n            allowUnknown: param.flags.allowUnknown,\n            default: Hoek.reach(param.flags.default, 'description', { default: param.flags.default }),  // Attempt to reach `description` for joi 11\n            encoding: param.flags.encoding, // binary specific\n            insensitive: param.flags.insensitive, // string specific\n            required: param.flags.presence === 'required',\n            forbidden: param.flags.presence === 'forbidden',\n            stripped: param.flags.strip,\n            allowOnly: param.flags.allowOnly\n        }\n    };\n\n    if (data.type === 'object') {\n        let children = [];\n\n        if (param.children) {\n            const childrenKeys = Object.keys(param.children);\n            children = children.concat(childrenKeys.map((key) => internals.getParamsData(param.children[key], key)));\n        }\n\n        if (param.patterns) {\n            children = children.concat(param.patterns.map((pattern) => internals.getParamsData(pattern.rule, pattern.regex)));\n        }\n\n        data.children = children;\n    }\n\n    if (data.type === 'array' && param.items) {\n\n        if (param.orderedItems) {\n            data.orderedItems = param.orderedItems.map((item) => internals.getParamsData(item));\n        }\n\n        data.items = [];\n        data.forbiddenItems = [];\n        param.items.forEach((item) => {\n\n            item = internals.getParamsData(item);\n            if (item.flags && item.flags.forbidden) {\n                data.forbiddenItems.push(item);\n            }\n            else {\n                data.items.push(item);\n            }\n        });\n    }\n\n    if (data.type === 'alternatives') {\n        data.alternatives = param.alternatives.map((alternative) => internals.getParamsData(alternative));\n    }\n    else  {\n        if (param.rules) {\n            data.rules = param.rules.map((rule) => ({\n                name: internals.capitalize(rule.name),\n                params: internals.processRuleArgument(rule)\n            }));\n        }\n        else {\n            data.rules = [];\n        }\n    }\n\n    return data;\n};\n\n\ninternals.getExistsValues = function (type, exists) {\n\n    const values = exists.filter((value) => {\n\n        if (typeof value === 'string' && value.length === 0) {\n            return false;\n        }\n\n        if (type === 'number' && Math.abs(value) === Infinity) {\n            return false;\n        }\n\n        return true;\n    }).map((value) => {\n\n        if (internals.isRef(value)) {\n\n            return internals.formatReference(value);\n        }\n\n        return JSON.stringify(value);\n    });\n\n    return values.length ? values : null;\n};\n\n\ninternals.capitalize = function (string) {\n\n    return string.charAt(0).toUpperCase() + string.slice(1);\n};\n\n\ninternals.formatPeers = function (condition) {\n\n    if (condition.key) {\n\n        return `Requires ${condition.peers.join(', ')} to ${condition.type === 'with' ? '' : 'not '}be present when ${condition.key} is.`;\n    }\n\n    return `Requires ${condition.peers.join(` ${condition.type} `)}.`;\n};\n\n\ninternals.isRef = function (ref) {\n\n    return typeof ref === 'string' && /^(ref|context):.+/.test(ref);\n};\n\n\ninternals.formatReference = function (ref) {\n\n    if (ref.startsWith('ref:')) {\n        return ref.substr(4);\n    }\n\n    return '$' + ref.substr(8);\n};\n\n\ninternals.processRuleArgument = function (rule) {\n\n    const arg = rule.arg;\n    if (rule.name === 'assert') {\n\n        return {\n            key: internals.formatReference(arg.ref),\n            value: internals.getParamsData(arg.schema)\n        };\n    }\n    else if (rule.name === 'regex' &&\n        arg.pattern) {\n\n        let pattern = arg.pattern;\n\n        if (arg.name) {\n            pattern += ` (${arg.name})`;\n        }\n\n        if (arg.invert) {\n            pattern += ' - inverted';\n        }\n\n        return pattern;\n    }\n    else if (internals.isRef(arg)) {\n        return {\n            ref: internals.formatReference(arg)\n        };\n    }\n\n    return arg || JSON.stringify(arg);\n};\n\n\ninternals.processNotes = function (notes) {\n\n    if (!notes) {\n        return;\n    }\n\n    if (!Array.isArray(notes)) {\n        return [notes];\n    }\n\n    return notes;\n};\n\n\ninternals.processAuth = function (route, server) {\n\n    const auth = server.auth.lookup(route);\n\n    return auth;\n};\n"]}