{
  "version": 3,
  "sources": ["../../../../src/utils/openapi/commands/dereferenceCommand.ts"],
  "sourcesContent": ["import type { DereferenceResult, Queue, Task } from '@/types/index'\nimport type { DereferenceOptions } from '@/utils/dereference'\nimport { details } from '../actions/details'\nimport { files } from '../actions/files'\nimport { get } from '../actions/get'\nimport { toJson } from '../actions/toJson'\nimport { toYaml } from '../actions/toYaml'\nimport { queueTask } from '../utils/queueTask'\n\ndeclare global {\n  interface Commands {\n    dereference: {\n      task: {\n        name: 'dereference'\n        options?: DereferenceOptions\n      }\n      result: DereferenceResult\n    }\n  }\n}\n\n/**\n * Dereference the given OpenAPI document\n */\nexport function dereferenceCommand<T extends Task[]>(previousQueue: Queue<T>, options?: DereferenceOptions) {\n  const task: Task = {\n    name: 'dereference',\n    options: {\n      throwOnError: previousQueue.options?.throwOnError,\n      ...(options ?? {}),\n    },\n  }\n\n  const queue = queueTask<[...T, typeof task]>(previousQueue, task as Task)\n\n  return {\n    details: () => details(queue),\n    files: () => files(queue),\n    get: () => get(queue),\n    toJson: () => toJson(queue),\n    toYaml: () => toYaml(queue),\n  }\n}\n"],
  "mappings": "AAEA,SAAS,eAAe;AACxB,SAAS,aAAa;AACtB,SAAS,WAAW;AACpB,SAAS,cAAc;AACvB,SAAS,cAAc;AACvB,SAAS,iBAAiB;AAiBnB,SAAS,mBAAqC,eAAyB,SAA8B;AAC1G,QAAM,OAAa;AAAA,IACjB,MAAM;AAAA,IACN,SAAS;AAAA,MACP,cAAc,cAAc,SAAS;AAAA,MACrC,GAAI,WAAW,CAAC;AAAA,IAClB;AAAA,EACF;AAEA,QAAM,QAAQ,UAA+B,eAAe,IAAY;AAExE,SAAO;AAAA,IACL,SAAS,MAAM,QAAQ,KAAK;AAAA,IAC5B,OAAO,MAAM,MAAM,KAAK;AAAA,IACxB,KAAK,MAAM,IAAI,KAAK;AAAA,IACpB,QAAQ,MAAM,OAAO,KAAK;AAAA,IAC1B,QAAQ,MAAM,OAAO,KAAK;AAAA,EAC5B;AACF;",
  "names": []
}
