{"version":3,"sources":["../src/runtime.ts","../src/models/AsyncDoc.ts","../src/models/PrinceOptions.ts","../src/models/Doc.ts","../src/models/DocStatus.ts","../src/apis/DocApi.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * DocRaptor\n * A native client library for the DocRaptor HTML to PDF/XLS service.\n *\n * The version of the OpenAPI document: 2.0.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const BASE_PATH = \"https://docraptor.com\".replace(/\\/+$/, \"\");\n\nexport interface ConfigurationParameters {\n    basePath?: string; // override base path\n    fetchApi?: FetchAPI; // override for fetch implementation\n    middleware?: Middleware[]; // middleware to apply before/after fetch requests\n    queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings\n    username?: string; // parameter for basic security\n    password?: string; // parameter for basic security\n    apiKey?: string | ((name: string) => string); // parameter for apiKey security\n    accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string | Promise<string>); // parameter for oauth2 security\n    headers?: HTTPHeaders; //header params we want to use on every request\n    credentials?: RequestCredentials; //value for the credentials param we want to use on each request\n}\n\nexport class Configuration {\n    constructor(private configuration: ConfigurationParameters = {}) {}\n\n    set config(configuration: Configuration) {\n        this.configuration = configuration;\n    }\n\n    get basePath(): string {\n        return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH;\n    }\n\n    get fetchApi(): FetchAPI | undefined {\n        return this.configuration.fetchApi;\n    }\n\n    get middleware(): Middleware[] {\n        return this.configuration.middleware || [];\n    }\n\n    get queryParamsStringify(): (params: HTTPQuery) => string {\n        return this.configuration.queryParamsStringify || querystring;\n    }\n\n    get username(): string | undefined {\n        return this.configuration.username;\n    }\n\n    get password(): string | undefined {\n        return this.configuration.password;\n    }\n\n    get apiKey(): ((name: string) => string) | undefined {\n        const apiKey = this.configuration.apiKey;\n        if (apiKey) {\n            return typeof apiKey === 'function' ? apiKey : () => apiKey;\n        }\n        return undefined;\n    }\n\n    get accessToken(): ((name?: string, scopes?: string[]) => string | Promise<string>) | undefined {\n        const accessToken = this.configuration.accessToken;\n        if (accessToken) {\n            return typeof accessToken === 'function' ? accessToken : async () => accessToken;\n        }\n        return undefined;\n    }\n\n    get headers(): HTTPHeaders | undefined {\n        return this.configuration.headers;\n    }\n\n    get credentials(): RequestCredentials | undefined {\n        return this.configuration.credentials;\n    }\n}\n\nexport const DefaultConfig = new Configuration();\n\n/**\n * This is the base class for all generated API classes.\n */\nexport class BaseAPI {\n\n    private static readonly jsonRegex = new RegExp('^(:?application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(:?;.*)?$', 'i');\n    private middleware: Middleware[];\n\n    constructor(protected configuration = DefaultConfig) {\n        this.middleware = configuration.middleware;\n    }\n\n    withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {\n        const next = this.clone<T>();\n        next.middleware = next.middleware.concat(...middlewares);\n        return next;\n    }\n\n    withPreMiddleware<T extends BaseAPI>(this: T, ...preMiddlewares: Array<Middleware['pre']>) {\n        const middlewares = preMiddlewares.map((pre) => ({ pre }));\n        return this.withMiddleware<T>(...middlewares);\n    }\n\n    withPostMiddleware<T extends BaseAPI>(this: T, ...postMiddlewares: Array<Middleware['post']>) {\n        const middlewares = postMiddlewares.map((post) => ({ post }));\n        return this.withMiddleware<T>(...middlewares);\n    }\n\n    /**\n     * Check if the given MIME is a JSON MIME.\n     * JSON MIME examples:\n     *   application/json\n     *   application/json; charset=UTF8\n     *   APPLICATION/JSON\n     *   application/vnd.company+json\n     * @param mime - MIME (Multipurpose Internet Mail Extensions)\n     * @return True if the given MIME is JSON, false otherwise.\n     */\n    protected isJsonMime(mime: string | null | undefined): boolean {\n        if (!mime) {\n            return false;\n        }\n        return BaseAPI.jsonRegex.test(mime);\n    }\n\n    protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise<Response> {\n        const { url, init } = await this.createFetchParams(context, initOverrides);\n        const response = await this.fetchApi(url, init);\n        if (response && (response.status >= 200 && response.status < 300)) {\n            return response;\n        }\n        throw new ResponseError(response, 'Response returned an error code');\n    }\n\n    private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) {\n        let url = this.configuration.basePath + context.path;\n        if (context.query !== undefined && Object.keys(context.query).length !== 0) {\n            // only add the querystring to the URL if there are query parameters.\n            // this is done to avoid urls ending with a \"?\" character which buggy webservers\n            // do not handle correctly sometimes.\n            url += '?' + this.configuration.queryParamsStringify(context.query);\n        }\n\n        const headers = Object.assign({}, this.configuration.headers, context.headers);\n        Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {});\n\n        const initOverrideFn =\n            typeof initOverrides === \"function\"\n                ? initOverrides\n                : async () => initOverrides;\n\n        const initParams = {\n            method: context.method,\n            headers,\n            body: context.body,\n            credentials: this.configuration.credentials,\n        };\n\n        const overriddenInit: RequestInit = {\n            ...initParams,\n            ...(await initOverrideFn({\n                init: initParams,\n                context,\n            }))\n        };\n\n        let body: any;\n        if (isFormData(overriddenInit.body)\n            || (overriddenInit.body instanceof URLSearchParams)\n            || isBlob(overriddenInit.body)) {\n          body = overriddenInit.body;\n        } else if (this.isJsonMime(headers['Content-Type'])) {\n          body = JSON.stringify(overriddenInit.body);\n        } else {\n          body = overriddenInit.body;\n        }\n\n        const init: RequestInit = {\n            ...overriddenInit,\n            body\n        };\n\n        return { url, init };\n    }\n\n    private fetchApi = async (url: string, init: RequestInit) => {\n        let fetchParams = { url, init };\n        for (const middleware of this.middleware) {\n            if (middleware.pre) {\n                fetchParams = await middleware.pre({\n                    fetch: this.fetchApi,\n                    ...fetchParams,\n                }) || fetchParams;\n            }\n        }\n        let response: Response | undefined = undefined;\n        try {\n            response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);\n        } catch (e) {\n            for (const middleware of this.middleware) {\n                if (middleware.onError) {\n                    response = await middleware.onError({\n                        fetch: this.fetchApi,\n                        url: fetchParams.url,\n                        init: fetchParams.init,\n                        error: e,\n                        response: response ? response.clone() : undefined,\n                    }) || response;\n                }\n            }\n            if (response === undefined) {\n              if (e instanceof Error) {\n                throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response');\n              } else {\n                throw e;\n              }\n            }\n        }\n        for (const middleware of this.middleware) {\n            if (middleware.post) {\n                response = await middleware.post({\n                    fetch: this.fetchApi,\n                    url: fetchParams.url,\n                    init: fetchParams.init,\n                    response: response.clone(),\n                }) || response;\n            }\n        }\n        return response;\n    }\n\n    /**\n     * Create a shallow clone of `this` by constructing a new instance\n     * and then shallow cloning data members.\n     */\n    private clone<T extends BaseAPI>(this: T): T {\n        const constructor = this.constructor as any;\n        const next = new constructor(this.configuration);\n        next.middleware = this.middleware.slice();\n        return next;\n    }\n};\n\nfunction isBlob(value: any): value is Blob {\n    return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n\nfunction isFormData(value: any): value is FormData {\n    return typeof FormData !== \"undefined\" && value instanceof FormData;\n}\n\nexport class ResponseError extends Error {\n    override name: \"ResponseError\" = \"ResponseError\";\n    constructor(public response: Response, msg?: string) {\n        super(msg);\n    }\n}\n\nexport class FetchError extends Error {\n    override name: \"FetchError\" = \"FetchError\";\n    constructor(public cause: Error, msg?: string) {\n        super(msg);\n    }\n}\n\nexport class RequiredError extends Error {\n    override name: \"RequiredError\" = \"RequiredError\";\n    constructor(public field: string, msg?: string) {\n        super(msg);\n    }\n}\n\nexport const COLLECTION_FORMATS = {\n    csv: \",\",\n    ssv: \" \",\n    tsv: \"\\t\",\n    pipes: \"|\",\n};\n\nexport type FetchAPI = WindowOrWorkerGlobalScope['fetch'];\n\nexport type Json = any;\nexport type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD';\nexport type HTTPHeaders = { [key: string]: string };\nexport type HTTPQuery = { [key: string]: string | number | null | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery };\nexport type HTTPBody = Json | FormData | URLSearchParams;\nexport type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody };\nexport type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';\n\nexport type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise<RequestInit>\n\nexport interface FetchParams {\n    url: string;\n    init: RequestInit;\n}\n\nexport interface RequestOpts {\n    path: string;\n    method: HTTPMethod;\n    headers: HTTPHeaders;\n    query?: HTTPQuery;\n    body?: HTTPBody;\n}\n\nexport function exists(json: any, key: string) {\n    const value = json[key];\n    return value !== null && value !== undefined;\n}\n\nexport function querystring(params: HTTPQuery, prefix: string = ''): string {\n    return Object.keys(params)\n        .map(key => querystringSingleKey(key, params[key], prefix))\n        .filter(part => part.length > 0)\n        .join('&');\n}\n\nfunction querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery, keyPrefix: string = ''): string {\n    const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);\n    if (value instanceof Array) {\n        const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue)))\n            .join(`&${encodeURIComponent(fullKey)}=`);\n        return `${encodeURIComponent(fullKey)}=${multiValue}`;\n    }\n    if (value instanceof Set) {\n        const valueAsArray = Array.from(value);\n        return querystringSingleKey(key, valueAsArray, keyPrefix);\n    }\n    if (value instanceof Date) {\n        return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;\n    }\n    if (value instanceof Object) {\n        return querystring(value as HTTPQuery, fullKey);\n    }\n    return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;\n}\n\nexport function mapValues(data: any, fn: (item: any) => any) {\n  return Object.keys(data).reduce(\n    (acc, key) => ({ ...acc, [key]: fn(data[key]) }),\n    {}\n  );\n}\n\nexport function canConsumeForm(consumes: Consume[]): boolean {\n    for (const consume of consumes) {\n        if ('multipart/form-data' === consume.contentType) {\n            return true;\n        }\n    }\n    return false;\n}\n\nexport interface Consume {\n    contentType: string;\n}\n\nexport interface RequestContext {\n    fetch: FetchAPI;\n    url: string;\n    init: RequestInit;\n}\n\nexport interface ResponseContext {\n    fetch: FetchAPI;\n    url: string;\n    init: RequestInit;\n    response: Response;\n}\n\nexport interface ErrorContext {\n    fetch: FetchAPI;\n    url: string;\n    init: RequestInit;\n    error: unknown;\n    response?: Response;\n}\n\nexport interface Middleware {\n    pre?(context: RequestContext): Promise<FetchParams | void>;\n    post?(context: ResponseContext): Promise<Response | void>;\n    onError?(context: ErrorContext): Promise<Response | void>;\n}\n\nexport interface ApiResponse<T> {\n    raw: Response;\n    value(): Promise<T>;\n}\n\nexport interface ResponseTransformer<T> {\n    (json: any): T;\n}\n\nexport class JSONApiResponse<T> {\n    constructor(public raw: Response, private transformer: ResponseTransformer<T> = (jsonValue: any) => jsonValue) {}\n\n    async value(): Promise<T> {\n        return this.transformer(await this.raw.json());\n    }\n}\n\nexport class VoidApiResponse {\n    constructor(public raw: Response) {}\n\n    async value(): Promise<void> {\n        return undefined;\n    }\n}\n\nexport class BlobApiResponse {\n    constructor(public raw: Response) {}\n\n    async value(): Promise<Blob> {\n        return await this.raw.blob();\n    };\n}\n\nexport class TextApiResponse {\n    constructor(public raw: Response) {}\n\n    async value(): Promise<string> {\n        return await this.raw.text();\n    };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * DocRaptor\n * A native client library for the DocRaptor HTML to PDF/XLS service.\n *\n * The version of the OpenAPI document: 2.0.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface AsyncDoc\n */\nexport interface AsyncDoc {\n    /**\n     * The identifier used to get the status of the document using the status API.\n     * @type {string}\n     * @memberof AsyncDoc\n     */\n    statusId?: string;\n}\n\n/**\n * Check if a given object implements the AsyncDoc interface.\n */\nexport function instanceOfAsyncDoc(value: object): boolean {\n    let isInstance = true;\n\n    return isInstance;\n}\n\nexport function AsyncDocFromJSON(json: any): AsyncDoc {\n    return AsyncDocFromJSONTyped(json, false);\n}\n\nexport function AsyncDocFromJSONTyped(json: any, ignoreDiscriminator: boolean): AsyncDoc {\n    if ((json === undefined) || (json === null)) {\n        return json;\n    }\n    return {\n        \n        'statusId': !exists(json, 'status_id') ? undefined : json['status_id'],\n    };\n}\n\nexport function AsyncDocToJSON(value?: AsyncDoc | null): any {\n    if (value === undefined) {\n        return undefined;\n    }\n    if (value === null) {\n        return null;\n    }\n    return {\n        \n        'status_id': value.statusId,\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * DocRaptor\n * A native client library for the DocRaptor HTML to PDF/XLS service.\n *\n * The version of the OpenAPI document: 2.0.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface PrinceOptions\n */\nexport interface PrinceOptions {\n    /**\n     * Set the baseurl for assets.\n     * @type {string}\n     * @memberof PrinceOptions\n     */\n    baseurl?: string;\n    /**\n     * Disable XML inclusion.\n     * @type {boolean}\n     * @memberof PrinceOptions\n     */\n    noXinclude?: boolean;\n    /**\n     * Disable network access.\n     * @type {boolean}\n     * @memberof PrinceOptions\n     */\n    noNetwork?: boolean;\n    /**\n     * Disables parallel fetching of assets during PDF creation. Useful if your asset host has strict rate limiting.\n     * @type {boolean}\n     * @memberof PrinceOptions\n     */\n    noParallelDownloads?: boolean;\n    /**\n     * Set the user for HTTP authentication.\n     * @type {string}\n     * @memberof PrinceOptions\n     */\n    httpUser?: string;\n    /**\n     * Set the password for HTTP authentication.\n     * @type {string}\n     * @memberof PrinceOptions\n     */\n    httpPassword?: string;\n    /**\n     * Set the HTTP proxy server.\n     * @type {string}\n     * @memberof PrinceOptions\n     */\n    httpProxy?: string;\n    /**\n     * Set the HTTP request timeout.\n     * @type {number}\n     * @memberof PrinceOptions\n     */\n    httpTimeout?: number;\n    /**\n     * Disable SSL verification.\n     * @type {boolean}\n     * @memberof PrinceOptions\n     */\n    insecure?: boolean;\n    /**\n     * Specify the CSS media type. Defaults to \"print\" but you may want to use \"screen\" for web styles.\n     * @type {string}\n     * @memberof PrinceOptions\n     */\n    media?: string;\n    /**\n     * Ignore author stylesheets.\n     * @type {boolean}\n     * @memberof PrinceOptions\n     */\n    noAuthorStyle?: boolean;\n    /**\n     * Ignore default stylesheets.\n     * @type {boolean}\n     * @memberof PrinceOptions\n     */\n    noDefaultStyle?: boolean;\n    /**\n     * Disable font embedding in PDFs.\n     * @type {boolean}\n     * @memberof PrinceOptions\n     */\n    noEmbedFonts?: boolean;\n    /**\n     * Disable font subsetting in PDFs.\n     * @type {boolean}\n     * @memberof PrinceOptions\n     */\n    noSubsetFonts?: boolean;\n    /**\n     * Disable PDF compression.\n     * @type {boolean}\n     * @memberof PrinceOptions\n     */\n    noCompress?: boolean;\n    /**\n     * Encrypt PDF output.\n     * @type {boolean}\n     * @memberof PrinceOptions\n     */\n    encrypt?: boolean;\n    /**\n     * Set encryption key size.\n     * @type {number}\n     * @memberof PrinceOptions\n     */\n    keyBits?: number;\n    /**\n     * Set the PDF user password.\n     * @type {string}\n     * @memberof PrinceOptions\n     */\n    userPassword?: string;\n    /**\n     * Set the PDF owner password.\n     * @type {string}\n     * @memberof PrinceOptions\n     */\n    ownerPassword?: string;\n    /**\n     * Disallow printing of this PDF.\n     * @type {boolean}\n     * @memberof PrinceOptions\n     */\n    disallowPrint?: boolean;\n    /**\n     * Disallow copying of this PDF.\n     * @type {boolean}\n     * @memberof PrinceOptions\n     */\n    disallowCopy?: boolean;\n    /**\n     * Disallow annotation of this PDF.\n     * @type {boolean}\n     * @memberof PrinceOptions\n     */\n    disallowAnnotate?: boolean;\n    /**\n     * Disallow modification of this PDF.\n     * @type {boolean}\n     * @memberof PrinceOptions\n     */\n    disallowModify?: boolean;\n    /**\n     * Enable Prince debug mode.\n     * @type {boolean}\n     * @memberof PrinceOptions\n     */\n    debug?: boolean;\n    /**\n     * Specify the input format.\n     * @type {string}\n     * @memberof PrinceOptions\n     */\n    input?: PrinceOptionsInputEnum;\n    /**\n     * Deprecated, use the appropriate `pipeline` version. Specify a specific verison of PrinceXML to use.\n     * @type {string}\n     * @memberof PrinceOptions\n     */\n    version?: string;\n    /**\n     * Enable PrinceXML JavaScript. DocRaptor JavaScript parsing is also available elsewhere.\n     * @type {boolean}\n     * @memberof PrinceOptions\n     */\n    javascript?: boolean;\n    /**\n     * Set the DPI when rendering CSS. Defaults to 96 but can be set with Prince 9.0 and up.\n     * @type {number}\n     * @memberof PrinceOptions\n     */\n    cssDpi?: number;\n    /**\n     * In Prince 9.0 and up you can set the PDF profile.\n     * @type {string}\n     * @memberof PrinceOptions\n     */\n    profile?: string;\n    /**\n     * Specify the PDF title, part of the document's metadata.\n     * @type {string}\n     * @memberof PrinceOptions\n     */\n    pdfTitle?: string;\n}\n\n\n/**\n * @export\n */\nexport const PrinceOptionsInputEnum = {\n    Html: 'html',\n    Xml: 'xml',\n    Auto: 'auto'\n} as const;\nexport type PrinceOptionsInputEnum = typeof PrinceOptionsInputEnum[keyof typeof PrinceOptionsInputEnum];\n\n\n/**\n * Check if a given object implements the PrinceOptions interface.\n */\nexport function instanceOfPrinceOptions(value: object): boolean {\n    let isInstance = true;\n\n    return isInstance;\n}\n\nexport function PrinceOptionsFromJSON(json: any): PrinceOptions {\n    return PrinceOptionsFromJSONTyped(json, false);\n}\n\nexport function PrinceOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): PrinceOptions {\n    if ((json === undefined) || (json === null)) {\n        return json;\n    }\n    return {\n        \n        'baseurl': !exists(json, 'baseurl') ? undefined : json['baseurl'],\n        'noXinclude': !exists(json, 'no_xinclude') ? undefined : json['no_xinclude'],\n        'noNetwork': !exists(json, 'no_network') ? undefined : json['no_network'],\n        'noParallelDownloads': !exists(json, 'no_parallel_downloads') ? undefined : json['no_parallel_downloads'],\n        'httpUser': !exists(json, 'http_user') ? undefined : json['http_user'],\n        'httpPassword': !exists(json, 'http_password') ? undefined : json['http_password'],\n        'httpProxy': !exists(json, 'http_proxy') ? undefined : json['http_proxy'],\n        'httpTimeout': !exists(json, 'http_timeout') ? undefined : json['http_timeout'],\n        'insecure': !exists(json, 'insecure') ? undefined : json['insecure'],\n        'media': !exists(json, 'media') ? undefined : json['media'],\n        'noAuthorStyle': !exists(json, 'no_author_style') ? undefined : json['no_author_style'],\n        'noDefaultStyle': !exists(json, 'no_default_style') ? undefined : json['no_default_style'],\n        'noEmbedFonts': !exists(json, 'no_embed_fonts') ? undefined : json['no_embed_fonts'],\n        'noSubsetFonts': !exists(json, 'no_subset_fonts') ? undefined : json['no_subset_fonts'],\n        'noCompress': !exists(json, 'no_compress') ? undefined : json['no_compress'],\n        'encrypt': !exists(json, 'encrypt') ? undefined : json['encrypt'],\n        'keyBits': !exists(json, 'key_bits') ? undefined : json['key_bits'],\n        'userPassword': !exists(json, 'user_password') ? undefined : json['user_password'],\n        'ownerPassword': !exists(json, 'owner_password') ? undefined : json['owner_password'],\n        'disallowPrint': !exists(json, 'disallow_print') ? undefined : json['disallow_print'],\n        'disallowCopy': !exists(json, 'disallow_copy') ? undefined : json['disallow_copy'],\n        'disallowAnnotate': !exists(json, 'disallow_annotate') ? undefined : json['disallow_annotate'],\n        'disallowModify': !exists(json, 'disallow_modify') ? undefined : json['disallow_modify'],\n        'debug': !exists(json, 'debug') ? undefined : json['debug'],\n        'input': !exists(json, 'input') ? undefined : json['input'],\n        'version': !exists(json, 'version') ? undefined : json['version'],\n        'javascript': !exists(json, 'javascript') ? undefined : json['javascript'],\n        'cssDpi': !exists(json, 'css_dpi') ? undefined : json['css_dpi'],\n        'profile': !exists(json, 'profile') ? undefined : json['profile'],\n        'pdfTitle': !exists(json, 'pdf_title') ? undefined : json['pdf_title'],\n    };\n}\n\nexport function PrinceOptionsToJSON(value?: PrinceOptions | null): any {\n    if (value === undefined) {\n        return undefined;\n    }\n    if (value === null) {\n        return null;\n    }\n    return {\n        \n        'baseurl': value.baseurl,\n        'no_xinclude': value.noXinclude,\n        'no_network': value.noNetwork,\n        'no_parallel_downloads': value.noParallelDownloads,\n        'http_user': value.httpUser,\n        'http_password': value.httpPassword,\n        'http_proxy': value.httpProxy,\n        'http_timeout': value.httpTimeout,\n        'insecure': value.insecure,\n        'media': value.media,\n        'no_author_style': value.noAuthorStyle,\n        'no_default_style': value.noDefaultStyle,\n        'no_embed_fonts': value.noEmbedFonts,\n        'no_subset_fonts': value.noSubsetFonts,\n        'no_compress': value.noCompress,\n        'encrypt': value.encrypt,\n        'key_bits': value.keyBits,\n        'user_password': value.userPassword,\n        'owner_password': value.ownerPassword,\n        'disallow_print': value.disallowPrint,\n        'disallow_copy': value.disallowCopy,\n        'disallow_annotate': value.disallowAnnotate,\n        'disallow_modify': value.disallowModify,\n        'debug': value.debug,\n        'input': value.input,\n        'version': value.version,\n        'javascript': value.javascript,\n        'css_dpi': value.cssDpi,\n        'profile': value.profile,\n        'pdf_title': value.pdfTitle,\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * DocRaptor\n * A native client library for the DocRaptor HTML to PDF/XLS service.\n *\n * The version of the OpenAPI document: 2.0.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\nimport type { PrinceOptions } from './PrinceOptions';\nimport {\n    PrinceOptionsFromJSON,\n    PrinceOptionsFromJSONTyped,\n    PrinceOptionsToJSON,\n} from './PrinceOptions';\n\n/**\n * \n * @export\n * @interface Doc\n */\nexport interface Doc {\n    /**\n     * A name for identifying your document.\n     * @type {string}\n     * @memberof Doc\n     */\n    name: string;\n    /**\n     * The type of document being created.\n     * @type {string}\n     * @memberof Doc\n     */\n    documentType: DocDocumentTypeEnum;\n    /**\n     * The HTML data to be transformed into a document. You must supply content using document_content or document_url.\n     * \n     * @type {string}\n     * @memberof Doc\n     */\n    documentContent: string;\n    /**\n     * The URL to fetch the HTML data to be transformed into a document. You must supply content using document_content or document_url.\n     * \n     * @type {string}\n     * @memberof Doc\n     */\n    documentUrl?: string;\n    /**\n     * Enable test mode for this document. Test documents are not charged for but include a watermark.\n     * @type {boolean}\n     * @memberof Doc\n     */\n    test?: boolean;\n    /**\n     * Specify a specific verison of the DocRaptor Pipeline to use.\n     * @type {string}\n     * @memberof Doc\n     */\n    pipeline?: string;\n    /**\n     * Force strict HTML validation.\n     * @type {string}\n     * @memberof Doc\n     */\n    strict?: DocStrictEnum;\n    /**\n     * Failed loading of images/javascripts/stylesheets/etc. will not cause the rendering to stop.\n     * @type {boolean}\n     * @memberof Doc\n     */\n    ignoreResourceErrors?: boolean;\n    /**\n     * Prevent console.log from stopping document rendering during JavaScript execution.\n     * @type {boolean}\n     * @memberof Doc\n     */\n    ignoreConsoleMessages?: boolean;\n    /**\n     * A field for storing a small amount of metadata with this document.\n     * @type {string}\n     * @memberof Doc\n     */\n    tag?: string;\n    /**\n     * Request support help with this request if it succeeds.\n     * @type {boolean}\n     * @memberof Doc\n     */\n    help?: boolean;\n    /**\n     * Enable DocRaptor JavaScript parsing. PrinceXML JavaScript parsing is also available elsewhere.\n     * @type {boolean}\n     * @memberof Doc\n     */\n    javascript?: boolean;\n    /**\n     * Set HTTP referrer when generating this document.\n     * @type {string}\n     * @memberof Doc\n     */\n    referrer?: string;\n    /**\n     * A URL that will receive a POST request after successfully completing an asynchronous document. The POST data will include download_url and download_id similar to status API responses. WARNING: this only works on asynchronous documents.\n     * \n     * @type {string}\n     * @memberof Doc\n     */\n    callbackUrl?: string;\n    /**\n     * The number of times a hosted document can be downloaded.  If no limit is specified, the document will be available for an unlimited number of downloads.\n     * @type {number}\n     * @memberof Doc\n     */\n    hostedDownloadLimit?: number;\n    /**\n     * The date and time at which a hosted document will be removed and no longer available. Must be a properly formatted ISO 8601 datetime, like 1981-01-23T08:02:30-05:00.\n     * @type {string}\n     * @memberof Doc\n     */\n    hostedExpiresAt?: string;\n    /**\n     * \n     * @type {PrinceOptions}\n     * @memberof Doc\n     */\n    princeOptions?: PrinceOptions;\n}\n\n\n/**\n * @export\n */\nexport const DocDocumentTypeEnum = {\n    Pdf: 'pdf',\n    Xls: 'xls',\n    Xlsx: 'xlsx'\n} as const;\nexport type DocDocumentTypeEnum = typeof DocDocumentTypeEnum[keyof typeof DocDocumentTypeEnum];\n\n/**\n * @export\n */\nexport const DocStrictEnum = {\n    None: 'none',\n    Html: 'html'\n} as const;\nexport type DocStrictEnum = typeof DocStrictEnum[keyof typeof DocStrictEnum];\n\n\n/**\n * Check if a given object implements the Doc interface.\n */\nexport function instanceOfDoc(value: object): boolean {\n    let isInstance = true;\n    isInstance = isInstance && \"name\" in value;\n    isInstance = isInstance && \"documentType\" in value;\n    isInstance = isInstance && \"documentContent\" in value;\n\n    return isInstance;\n}\n\nexport function DocFromJSON(json: any): Doc {\n    return DocFromJSONTyped(json, false);\n}\n\nexport function DocFromJSONTyped(json: any, ignoreDiscriminator: boolean): Doc {\n    if ((json === undefined) || (json === null)) {\n        return json;\n    }\n    return {\n        \n        'name': json['name'],\n        'documentType': json['document_type'],\n        'documentContent': json['document_content'],\n        'documentUrl': !exists(json, 'document_url') ? undefined : json['document_url'],\n        'test': !exists(json, 'test') ? undefined : json['test'],\n        'pipeline': !exists(json, 'pipeline') ? undefined : json['pipeline'],\n        'strict': !exists(json, 'strict') ? undefined : json['strict'],\n        'ignoreResourceErrors': !exists(json, 'ignore_resource_errors') ? undefined : json['ignore_resource_errors'],\n        'ignoreConsoleMessages': !exists(json, 'ignore_console_messages') ? undefined : json['ignore_console_messages'],\n        'tag': !exists(json, 'tag') ? undefined : json['tag'],\n        'help': !exists(json, 'help') ? undefined : json['help'],\n        'javascript': !exists(json, 'javascript') ? undefined : json['javascript'],\n        'referrer': !exists(json, 'referrer') ? undefined : json['referrer'],\n        'callbackUrl': !exists(json, 'callback_url') ? undefined : json['callback_url'],\n        'hostedDownloadLimit': !exists(json, 'hosted_download_limit') ? undefined : json['hosted_download_limit'],\n        'hostedExpiresAt': !exists(json, 'hosted_expires_at') ? undefined : json['hosted_expires_at'],\n        'princeOptions': !exists(json, 'prince_options') ? undefined : PrinceOptionsFromJSON(json['prince_options']),\n    };\n}\n\nexport function DocToJSON(value?: Doc | null): any {\n    if (value === undefined) {\n        return undefined;\n    }\n    if (value === null) {\n        return null;\n    }\n    return {\n        \n        'name': value.name,\n        'document_type': value.documentType,\n        'document_content': value.documentContent,\n        'document_url': value.documentUrl,\n        'test': value.test,\n        'pipeline': value.pipeline,\n        'strict': value.strict,\n        'ignore_resource_errors': value.ignoreResourceErrors,\n        'ignore_console_messages': value.ignoreConsoleMessages,\n        'tag': value.tag,\n        'help': value.help,\n        'javascript': value.javascript,\n        'referrer': value.referrer,\n        'callback_url': value.callbackUrl,\n        'hosted_download_limit': value.hostedDownloadLimit,\n        'hosted_expires_at': value.hostedExpiresAt,\n        'prince_options': PrinceOptionsToJSON(value.princeOptions),\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * DocRaptor\n * A native client library for the DocRaptor HTML to PDF/XLS service.\n *\n * The version of the OpenAPI document: 2.0.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { exists, mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface DocStatus\n */\nexport interface DocStatus {\n    /**\n     * The present status of the document. Can be queued, working, completed, and failed.\n     * @type {string}\n     * @memberof DocStatus\n     */\n    status?: string;\n    /**\n     * The URL where the document can be retrieved. This URL may only be used a few times.\n     * @type {string}\n     * @memberof DocStatus\n     */\n    downloadUrl?: string;\n    /**\n     * The identifier for downloading the document with the download API.\n     * @type {string}\n     * @memberof DocStatus\n     */\n    downloadId?: string;\n    /**\n     * Additional information.\n     * @type {string}\n     * @memberof DocStatus\n     */\n    message?: string;\n    /**\n     * Number of PDF pages in document.\n     * @type {number}\n     * @memberof DocStatus\n     */\n    numberOfPages?: number;\n    /**\n     * Error information.\n     * @type {string}\n     * @memberof DocStatus\n     */\n    validationErrors?: string;\n}\n\n/**\n * Check if a given object implements the DocStatus interface.\n */\nexport function instanceOfDocStatus(value: object): boolean {\n    let isInstance = true;\n\n    return isInstance;\n}\n\nexport function DocStatusFromJSON(json: any): DocStatus {\n    return DocStatusFromJSONTyped(json, false);\n}\n\nexport function DocStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): DocStatus {\n    if ((json === undefined) || (json === null)) {\n        return json;\n    }\n    return {\n        \n        'status': !exists(json, 'status') ? undefined : json['status'],\n        'downloadUrl': !exists(json, 'download_url') ? undefined : json['download_url'],\n        'downloadId': !exists(json, 'download_id') ? undefined : json['download_id'],\n        'message': !exists(json, 'message') ? undefined : json['message'],\n        'numberOfPages': !exists(json, 'number_of_pages') ? undefined : json['number_of_pages'],\n        'validationErrors': !exists(json, 'validation_errors') ? undefined : json['validation_errors'],\n    };\n}\n\nexport function DocStatusToJSON(value?: DocStatus | null): any {\n    if (value === undefined) {\n        return undefined;\n    }\n    if (value === null) {\n        return null;\n    }\n    return {\n        \n        'status': value.status,\n        'download_url': value.downloadUrl,\n        'download_id': value.downloadId,\n        'message': value.message,\n        'number_of_pages': value.numberOfPages,\n        'validation_errors': value.validationErrors,\n    };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * DocRaptor\n * A native client library for the DocRaptor HTML to PDF/XLS service.\n *\n * The version of the OpenAPI document: 2.0.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n  AsyncDoc,\n  Doc,\n  DocStatus,\n} from '../models/index';\nimport {\n    AsyncDocFromJSON,\n    AsyncDocToJSON,\n    DocFromJSON,\n    DocToJSON,\n    DocStatusFromJSON,\n    DocStatusToJSON,\n} from '../models/index';\n\nexport interface CreateAsyncDocRequest {\n    doc: Doc;\n}\n\nexport interface CreateDocRequest {\n    doc: Doc;\n}\n\nexport interface CreateHostedAsyncDocRequest {\n    doc: Doc;\n}\n\nexport interface CreateHostedDocRequest {\n    doc: Doc;\n}\n\nexport interface ExpireRequest {\n    id: string;\n}\n\nexport interface GetAsyncDocRequest {\n    id: string;\n}\n\nexport interface GetAsyncDocStatusRequest {\n    id: string;\n}\n\n/**\n * \n */\nexport class DocApi extends runtime.BaseAPI {\n\n    /**\n     * Creates a document asynchronously. You must use a callback url or the returned status id and the status API to find out when it completes. Then use the download API to get the document. \n     */\n    async createAsyncDocRaw(requestParameters: CreateAsyncDocRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AsyncDoc>> {\n        if (requestParameters.doc === null || requestParameters.doc === undefined) {\n            throw new runtime.RequiredError('doc','Required parameter requestParameters.doc was null or undefined when calling createAsyncDoc.');\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) {\n            headerParameters[\"Authorization\"] = \"Basic \" + btoa(this.configuration.username + \":\" + this.configuration.password);\n        }\n        const response = await this.request({\n            path: `/async_docs`,\n            method: 'POST',\n            headers: headerParameters,\n            query: queryParameters,\n            body: DocToJSON(requestParameters.doc),\n        }, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => AsyncDocFromJSON(jsonValue));\n    }\n\n    /**\n     * Creates a document asynchronously. You must use a callback url or the returned status id and the status API to find out when it completes. Then use the download API to get the document. \n     */\n    async createAsyncDoc(requestParameters: CreateAsyncDocRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AsyncDoc> {\n        const response = await this.createAsyncDocRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates a document synchronously. \n     */\n    async createDocRaw(requestParameters: CreateDocRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {\n        if (requestParameters.doc === null || requestParameters.doc === undefined) {\n            throw new runtime.RequiredError('doc','Required parameter requestParameters.doc was null or undefined when calling createDoc.');\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) {\n            headerParameters[\"Authorization\"] = \"Basic \" + btoa(this.configuration.username + \":\" + this.configuration.password);\n        }\n        const response = await this.request({\n            path: `/docs`,\n            method: 'POST',\n            headers: headerParameters,\n            query: queryParameters,\n            body: DocToJSON(requestParameters.doc),\n        }, initOverrides);\n\n        return new runtime.BlobApiResponse(response);\n    }\n\n    /**\n     * Creates a document synchronously. \n     */\n    async createDoc(requestParameters: CreateDocRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Blob> {\n        const response = await this.createDocRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates a hosted document asynchronously. You must use a callback url or the returned status id and the status API to find out when it completes. Then use the download API to get the document. \n     */\n    async createHostedAsyncDocRaw(requestParameters: CreateHostedAsyncDocRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AsyncDoc>> {\n        if (requestParameters.doc === null || requestParameters.doc === undefined) {\n            throw new runtime.RequiredError('doc','Required parameter requestParameters.doc was null or undefined when calling createHostedAsyncDoc.');\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) {\n            headerParameters[\"Authorization\"] = \"Basic \" + btoa(this.configuration.username + \":\" + this.configuration.password);\n        }\n        const response = await this.request({\n            path: `/hosted_async_docs`,\n            method: 'POST',\n            headers: headerParameters,\n            query: queryParameters,\n            body: DocToJSON(requestParameters.doc),\n        }, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => AsyncDocFromJSON(jsonValue));\n    }\n\n    /**\n     * Creates a hosted document asynchronously. You must use a callback url or the returned status id and the status API to find out when it completes. Then use the download API to get the document. \n     */\n    async createHostedAsyncDoc(requestParameters: CreateHostedAsyncDocRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AsyncDoc> {\n        const response = await this.createHostedAsyncDocRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Creates a hosted document synchronously. \n     */\n    async createHostedDocRaw(requestParameters: CreateHostedDocRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DocStatus>> {\n        if (requestParameters.doc === null || requestParameters.doc === undefined) {\n            throw new runtime.RequiredError('doc','Required parameter requestParameters.doc was null or undefined when calling createHostedDoc.');\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        headerParameters['Content-Type'] = 'application/json';\n\n        if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) {\n            headerParameters[\"Authorization\"] = \"Basic \" + btoa(this.configuration.username + \":\" + this.configuration.password);\n        }\n        const response = await this.request({\n            path: `/hosted_docs`,\n            method: 'POST',\n            headers: headerParameters,\n            query: queryParameters,\n            body: DocToJSON(requestParameters.doc),\n        }, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => DocStatusFromJSON(jsonValue));\n    }\n\n    /**\n     * Creates a hosted document synchronously. \n     */\n    async createHostedDoc(requestParameters: CreateHostedDocRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DocStatus> {\n        const response = await this.createHostedDocRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Expires a previously created hosted doc. \n     */\n    async expireRaw(requestParameters: ExpireRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {\n        if (requestParameters.id === null || requestParameters.id === undefined) {\n            throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling expire.');\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) {\n            headerParameters[\"Authorization\"] = \"Basic \" + btoa(this.configuration.username + \":\" + this.configuration.password);\n        }\n        const response = await this.request({\n            path: `/expire/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n            method: 'PATCH',\n            headers: headerParameters,\n            query: queryParameters,\n        }, initOverrides);\n\n        return new runtime.VoidApiResponse(response);\n    }\n\n    /**\n     * Expires a previously created hosted doc. \n     */\n    async expire(requestParameters: ExpireRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {\n        await this.expireRaw(requestParameters, initOverrides);\n    }\n\n    /**\n     * Downloads a finished document. \n     */\n    async getAsyncDocRaw(requestParameters: GetAsyncDocRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {\n        if (requestParameters.id === null || requestParameters.id === undefined) {\n            throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getAsyncDoc.');\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) {\n            headerParameters[\"Authorization\"] = \"Basic \" + btoa(this.configuration.username + \":\" + this.configuration.password);\n        }\n        const response = await this.request({\n            path: `/download/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        }, initOverrides);\n\n        return new runtime.BlobApiResponse(response);\n    }\n\n    /**\n     * Downloads a finished document. \n     */\n    async getAsyncDoc(requestParameters: GetAsyncDocRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Blob> {\n        const response = await this.getAsyncDocRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n    /**\n     * Check on the status of an asynchronously created document. \n     */\n    async getAsyncDocStatusRaw(requestParameters: GetAsyncDocStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DocStatus>> {\n        if (requestParameters.id === null || requestParameters.id === undefined) {\n            throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getAsyncDocStatus.');\n        }\n\n        const queryParameters: any = {};\n\n        const headerParameters: runtime.HTTPHeaders = {};\n\n        if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) {\n            headerParameters[\"Authorization\"] = \"Basic \" + btoa(this.configuration.username + \":\" + this.configuration.password);\n        }\n        const response = await this.request({\n            path: `/status/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n            method: 'GET',\n            headers: headerParameters,\n            query: queryParameters,\n        }, initOverrides);\n\n        return new runtime.JSONApiResponse(response, (jsonValue) => DocStatusFromJSON(jsonValue));\n    }\n\n    /**\n     * Check on the status of an asynchronously created document. \n     */\n    async getAsyncDocStatus(requestParameters: GetAsyncDocStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DocStatus> {\n        const response = await this.getAsyncDocStatusRaw(requestParameters, initOverrides);\n        return await response.value();\n    }\n\n}\n"],"mappings":"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","names":[]}