{"version":3,"sources":["jsdelivr-header.js","/npm/@apidevtools/json-schema-ref-parser@15.1.3/dist/lib/index.js"],"names":[],"mappings":"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","file":"/npm/@apidevtools/json-schema-ref-parser@15.1.3/dist/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@apidevtools/json-schema-ref-parser@15.1.3/dist/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","import $Refs from \"./refs.js\";\nimport _parse from \"./parse.js\";\nimport normalizeArgs from \"./normalize-args.js\";\nimport resolveExternal from \"./resolve-external.js\";\nimport _bundle from \"./bundle.js\";\nimport _dereference from \"./dereference.js\";\nimport * as url from \"./util/url.js\";\nimport { JSONParserError, InvalidPointerError, MissingPointerError, ResolverError, ParserError, UnmatchedParserError, UnmatchedResolverError, isHandledError, JSONParserErrorGroup, } from \"./util/errors.js\";\nimport maybe from \"./util/maybe.js\";\nimport { getJsonSchemaRefParserDefaultOptions } from \"./options.js\";\nimport { isUnsafeUrl } from \"./util/url.js\";\n/**\n * This class parses a JSON schema, builds a map of its JSON references and their resolved values,\n * and provides methods for traversing, manipulating, and dereferencing those references.\n *\n * @class\n */\nexport class $RefParser {\n    /**\n     * The parsed (and possibly dereferenced) JSON schema object\n     *\n     * @type {object}\n     * @readonly\n     */\n    schema = null;\n    /**\n     * The resolved JSON references\n     *\n     * @type {$Refs}\n     * @readonly\n     */\n    $refs = new $Refs();\n    async parse() {\n        const args = normalizeArgs(arguments);\n        let promise;\n        if (!args.path && !args.schema) {\n            const err = new Error(`Expected a file path, URL, or object. Got ${args.path || args.schema}`);\n            return maybe(args.callback, Promise.reject(err));\n        }\n        // Reset everything\n        this.schema = null;\n        this.$refs = new $Refs();\n        // If the path is a filesystem path, then convert it to a URL.\n        // NOTE: According to the JSON Reference spec, these should already be URLs,\n        // but, in practice, many people use local filesystem paths instead.\n        // So we're being generous here and doing the conversion automatically.\n        // This is not intended to be a 100% bulletproof solution.\n        // If it doesn't work for your use-case, then use a URL instead.\n        let pathType = \"http\";\n        if (url.isFileSystemPath(args.path)) {\n            args.path = url.fromFileSystemPath(args.path);\n            pathType = \"file\";\n        }\n        else if (!args.path && args.schema && \"$id\" in args.schema && args.schema.$id) {\n            // when schema id has defined an URL should use that hostname to request the references,\n            // instead of using the current page URL\n            const params = url.parse(args.schema.$id);\n            const port = params.port ?? (params.protocol === \"https:\" ? 443 : 80);\n            args.path = `${params.protocol}//${params.hostname}:${port}`;\n        }\n        // Resolve the absolute path of the schema\n        args.path = url.resolve(url.cwd(), args.path);\n        if (args.schema && typeof args.schema === \"object\") {\n            // A schema object was passed-in.\n            // So immediately add a new $Ref with the schema object as its value\n            const $ref = this.$refs._add(args.path);\n            $ref.value = args.schema;\n            $ref.pathType = pathType;\n            promise = Promise.resolve(args.schema);\n        }\n        else {\n            // Parse the schema file/url\n            promise = _parse(args.path, this.$refs, args.options);\n        }\n        try {\n            const result = await promise;\n            if (result !== null && typeof result === \"object\" && !Buffer.isBuffer(result)) {\n                this.schema = result;\n                return maybe(args.callback, Promise.resolve(this.schema));\n            }\n            else if (args.options.continueOnError) {\n                this.schema = null; // it's already set to null at line 79, but let's set it again for the sake of readability\n                return maybe(args.callback, Promise.resolve(this.schema));\n            }\n            else {\n                throw new SyntaxError(`\"${this.$refs._root$Ref.path || result}\" is not a valid JSON Schema`);\n            }\n        }\n        catch (err) {\n            if (!args.options.continueOnError || !isHandledError(err)) {\n                return maybe(args.callback, Promise.reject(err));\n            }\n            if (this.$refs._$refs[url.stripHash(args.path)]) {\n                this.$refs._$refs[url.stripHash(args.path)].addError(err);\n            }\n            return maybe(args.callback, Promise.resolve(null));\n        }\n    }\n    static parse() {\n        const parser = new $RefParser();\n        return parser.parse.apply(parser, arguments);\n    }\n    async resolve() {\n        const args = normalizeArgs(arguments);\n        try {\n            await this.parse(args.path, args.schema, args.options);\n            await resolveExternal(this, args.options);\n            finalize(this);\n            return maybe(args.callback, Promise.resolve(this.$refs));\n        }\n        catch (err) {\n            return maybe(args.callback, Promise.reject(err));\n        }\n    }\n    static resolve() {\n        const instance = new $RefParser();\n        return instance.resolve.apply(instance, arguments);\n    }\n    static bundle() {\n        const instance = new $RefParser();\n        return instance.bundle.apply(instance, arguments);\n    }\n    async bundle() {\n        const args = normalizeArgs(arguments);\n        try {\n            await this.resolve(args.path, args.schema, args.options);\n            _bundle(this, args.options);\n            finalize(this);\n            return maybe(args.callback, Promise.resolve(this.schema));\n        }\n        catch (err) {\n            return maybe(args.callback, Promise.reject(err));\n        }\n    }\n    static dereference() {\n        const instance = new $RefParser();\n        return instance.dereference.apply(instance, arguments);\n    }\n    async dereference() {\n        const args = normalizeArgs(arguments);\n        try {\n            await this.resolve(args.path, args.schema, args.options);\n            _dereference(this, args.options);\n            finalize(this);\n            return maybe(args.callback, Promise.resolve(this.schema));\n        }\n        catch (err) {\n            return maybe(args.callback, Promise.reject(err));\n        }\n    }\n}\nexport default $RefParser;\nfunction finalize(parser) {\n    const errors = JSONParserErrorGroup.getParserErrors(parser);\n    if (errors.length > 0) {\n        throw new JSONParserErrorGroup(parser);\n    }\n}\nexport const parse = $RefParser.parse;\nexport const resolve = $RefParser.resolve;\nexport const bundle = $RefParser.bundle;\nexport const dereference = $RefParser.dereference;\nexport { UnmatchedResolverError, JSONParserError, InvalidPointerError, MissingPointerError, ResolverError, ParserError, UnmatchedParserError, isHandledError, JSONParserErrorGroup, _dereference as dereferenceInternal, normalizeArgs as jsonSchemaParserNormalizeArgs, getJsonSchemaRefParserDefaultOptions, $Refs, isUnsafeUrl, };\n"]}