{"version":3,"sources":["jsdelivr-header.js","/npm/sync-fetch@0.6.0/bundle.js"],"names":[],"mappings":"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","file":"/npm/sync-fetch@0.6.0/bundle.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/sync-fetch@0.6.0/bundle.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","require=(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({\"sync-fetch\":[function(require,module,exports){\n/* eslint-env browser */\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\n\nfunction syncFetch (...args) {\n  const request = new syncFetch.Request(...args)\n\n  const xhr = new XMLHttpRequest()\n  xhr.withCredentials = request.credentials === 'include'\n  xhr.timeout = request[INTERNALS].timeout\n\n  // Request\n  xhr.open(request.method, request.url, false)\n\n  let useBinaryEncoding = false\n  try {\n    // Only allowed in Worker scope, not available in older browsers\n    // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseType#Synchronous_XHR_restrictions\n    xhr.responseType = 'arraybuffer'\n  } catch (e) {\n    // Not in Worker scope; instead, attempt this alternative method\n    // https://web.archive.org/web/20071103070418/http://mgran.blogspot.com/2006/08/downloading-binary-streams-with.html\n    xhr.overrideMimeType('text/plain; charset=x-user-defined')\n    useBinaryEncoding = true\n  }\n\n  for (const header of request.headers) {\n    xhr.setRequestHeader(...header)\n  }\n\n  xhr.send(request[INTERNALS].body || null)\n\n  // Response\n  let headers = xhr.getAllResponseHeaders()\n  headers = headers && headers.split('\\r\\n').filter(Boolean).map(header => header.split(': ', 2))\n\n  let body = xhr.response\n  if (useBinaryEncoding) {\n    const buffer = new Uint8Array(body.length)\n    for (let i = 0; i < body.length; i++) {\n      buffer[i] = body.charCodeAt(i) & 0xff\n    }\n    body = buffer\n  }\n\n  const response = new syncFetch.Response(body, {\n    headers,\n    status: xhr.status,\n    statusText: xhr.statusText\n  })\n\n  response[INTERNALS].url = xhr.responseURL\n  response[INTERNALS].redirected = xhr.responseURL !== request.url\n\n  return response\n}\n\nconst INTERNALS = Symbol('SyncFetch Internals')\nconst REQ_UNSUPPORTED = ['mode', 'cache', 'redirect', 'referrer', 'integrity']\nconst HTTP_STATUS = {\n  100: 'Continue',\n  101: 'Switching Protocols',\n  200: 'OK',\n  201: 'Created',\n  202: 'Accepted',\n  203: 'Non-Authoritative Information',\n  204: 'No Content',\n  205: 'Reset Content',\n  206: 'Partial Content',\n  300: 'Multiple Choices',\n  301: 'Moved Permanently',\n  302: 'Found',\n  303: 'See Other',\n  304: 'Not Modified',\n  305: 'Use Proxy',\n  307: 'Temporary Redirect',\n  400: 'Bad Request',\n  401: 'Unauthorized',\n  402: 'Payment Required',\n  403: 'Forbidden',\n  404: 'Not Found',\n  405: 'Method Not Allowed',\n  406: 'Not Acceptable',\n  407: 'Proxy Authentication Required',\n  408: 'Request Timeout',\n  409: 'Conflict',\n  410: 'Gone',\n  411: 'Length Required',\n  412: 'Precondition Failed',\n  413: 'Payload Too Large',\n  414: 'URI Too Long',\n  415: 'Unsupported Media Type',\n  416: 'Range Not Satisfiable',\n  417: 'Expectation Failed',\n  426: 'Upgrade Required',\n  500: 'Internal Server Error',\n  501: 'Not Implemented',\n  502: 'Bad Gateway',\n  503: 'Service Unavailable',\n  504: 'Gateway Timeout',\n  505: 'HTTP Version Not Supported'\n}\n\nclass SyncRequest {\n  constructor (resource, init = {}) {\n    for (const option of REQ_UNSUPPORTED) {\n      if (option in init) {\n        throw new TypeError(`option ${option} not supported`)\n      }\n    }\n\n    if (init.credentials === 'same-origin') {\n      throw new TypeError('option credentials with value \\'same-origin\\' not supported')\n    }\n\n    this[INTERNALS] = {\n      method: init.method || 'GET',\n      headers: new syncFetch.Headers(init.headers),\n      body: parseBody(init.body),\n      credentials: init.credentials || 'omit',\n\n      // Non-spec\n      timeout: init.timeout || 0\n    }\n\n    if (typeof resource === 'string') {\n      this[INTERNALS].url = resource\n    } else if (resource instanceof SyncRequest) {\n      this[INTERNALS].url = resource.url\n      if (!init.method) {\n        this[INTERNALS].method = resource.method\n      }\n      if (!init.headers) {\n        this[INTERNALS].headers = resource.headers\n      }\n      if (!init.body) {\n        this[INTERNALS].body = resource[INTERNALS].body\n      }\n      if (!init.credentials) {\n        this[INTERNALS].credentials = resource.credentials\n      }\n    } else {\n      throw new TypeError('Request input should be a URL string or a Request object')\n    }\n  }\n\n  get cache () {\n    return 'default'\n  }\n\n  get credentials () {\n    return this[INTERNALS].credentials\n  }\n\n  get destination () {\n    return ''\n  }\n\n  get headers () {\n    return this[INTERNALS].headers\n  }\n\n  get integrity () {\n    return ''\n  }\n\n  get method () {\n    return this[INTERNALS].method\n  }\n\n  get mode () {\n    return 'cors'\n  }\n\n  get priority () {\n    return 'auto'\n  }\n\n  get redirect () {\n    return 'follow'\n  }\n\n  get referrer () {\n    return 'about:client'\n  }\n\n  get referrerPolicy () {\n    return ''\n  }\n\n  get url () {\n    return this[INTERNALS].url\n  }\n\n  clone () {\n    checkBody(this)\n    return new SyncRequest(this.url, this[INTERNALS])\n  }\n}\n\nclass SyncResponse {\n  constructor (body, init = {}) {\n    this[INTERNALS] = {\n      body: parseBody(body),\n      bodyUsed: false,\n\n      headers: new syncFetch.Headers(init.headers),\n      status: init.status,\n      statusText: init.statusText\n    }\n  }\n\n  get headers () {\n    return this[INTERNALS].headers\n  }\n\n  get ok () {\n    const status = this[INTERNALS].status\n    return status >= 200 && status < 300\n  }\n\n  get redirected () {\n    return this[INTERNALS].redirected\n  }\n\n  get status () {\n    return this[INTERNALS].status\n  }\n\n  get statusText () {\n    return this[INTERNALS].statusText\n  }\n\n  get url () {\n    return this[INTERNALS].url\n  }\n\n  clone () {\n    return this.redirect(this[INTERNALS].url, this[INTERNALS].status)\n  }\n\n  redirect (url, status) {\n    checkBody(this)\n\n    const response = new SyncResponse(this[INTERNALS].body, {\n      headers: this[INTERNALS].headers,\n      status: status || this[INTERNALS].status,\n      statusText: HTTP_STATUS[status] || this[INTERNALS].statusText\n    })\n\n    response[INTERNALS].url = url || this[INTERNALS].url\n    response[INTERNALS].redirected = this[INTERNALS].redirected\n\n    return response\n  }\n}\n\nclass Body {\n  constructor (body) {\n    this[INTERNALS] = {\n      body: parseBody(body),\n      bodyUsed: false\n    }\n  }\n\n  get bodyUsed () {\n    return this[INTERNALS].bodyUsed\n  }\n\n  static mixin (prototype) {\n    for (const name of Object.getOwnPropertyNames(Body.prototype)) {\n      if (name === 'constructor') { continue }\n      const desc = Object.getOwnPropertyDescriptor(Body.prototype, name)\n      Object.defineProperty(prototype, name, { ...desc, enumerable: true })\n    }\n  }\n\n  arrayBuffer () {\n    const buffer = consumeBody(this)\n    return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength)\n  }\n\n  blob () {\n    const type = this.headers && this.headers.get('content-type')\n    return new Blob([consumeBody(this)], type && { type })\n  }\n\n  text () {\n    return textDecoder.decode(consumeBody(this))\n  }\n\n  json () {\n    try {\n      return JSON.parse(this.text())\n    } catch (err) {\n      throw new TypeError(`invalid json response body at ${this.url} reason: ${err.message}`, 'invalid-json')\n    }\n  }\n}\n\nfunction checkBody (body) {\n  if (body.bodyUsed) {\n    throw new TypeError(`body used already for: ${body.url}`)\n  }\n}\n\nfunction consumeBody (body) {\n  checkBody(body)\n  body[INTERNALS].bodyUsed = true\n  return body[INTERNALS].body || new Uint8Array()\n}\n\nfunction parseBody (body) {\n  if (typeof body === 'string') {\n    return textEncoder.encode(body)\n  } else if (body) {\n    return body\n  } else {\n    return null\n  }\n}\n\nBody.mixin(SyncRequest.prototype)\nBody.mixin(SyncResponse.prototype)\n\nclass Headers {\n  constructor (headers) {\n    if (headers instanceof syncFetch.Headers) {\n      this[INTERNALS] = { ...headers[INTERNALS] }\n    } else {\n      this[INTERNALS] = {}\n\n      if (Array.isArray(headers)) {\n        for (const [name, value] of headers) {\n          this.append(name, value)\n        }\n      } else if (typeof headers === 'object') {\n        for (const name in headers) {\n          this.set(name, headers[name])\n        }\n      }\n    }\n  }\n\n  // modification\n  append (name, value) {\n    name = name.toLowerCase()\n    if (!this[INTERNALS][name]) {\n      this[INTERNALS][name] = []\n    }\n    this[INTERNALS][name].push(value)\n  }\n\n  delete (name) {\n    delete this[INTERNALS][name.toLowerCase()]\n  }\n\n  set (name, value) {\n    this[INTERNALS][name.toLowerCase()] = [value]\n  }\n\n  // access\n  entries () {\n    const pairs = []\n    for (const name in this[INTERNALS]) {\n      for (const value of this[INTERNALS][name]) {\n        pairs.push([name, value])\n      }\n    }\n    return pairs\n  }\n\n  get (name) {\n    name = name.toLowerCase()\n    return name in this[INTERNALS] ? this[INTERNALS][name].join(', ') : null\n  }\n\n  keys () {\n    return Object.keys(this[INTERNALS])\n  }\n\n  has (name) {\n    return name.toLowerCase() in this[INTERNALS]\n  }\n\n  values () {\n    const values = []\n    for (const name in this[INTERNALS]) {\n      for (const value of this[INTERNALS][name]) {\n        values.push(value)\n      }\n    }\n    return values\n  }\n\n  * [Symbol.iterator] () {\n    for (const name in this[INTERNALS]) {\n      for (const value of this[INTERNALS][name]) {\n        yield [name, value]\n      }\n    }\n  }\n}\n\nsyncFetch.Headers = Headers\nsyncFetch.Request = SyncRequest\nsyncFetch.Response = SyncResponse\nmodule.exports = syncFetch\n\n},{}]},{},[]);\n"]}