{"version":3,"file":"utils.cjs","names":[],"sources":["../../src/utils.ts"],"sourcesContent":["import type { OpenAPIV2, OpenAPIV3, OpenAPIV3_1 } from 'openapi-types'\n\ntype SwaggerObject = {\n  swaggerObject: Partial<OpenAPIV2.Document>\n}\n\ntype OpenAPIObject = {\n  openapiObject: Partial<OpenAPIV3.Document | OpenAPIV3_1.Document>\n}\n\nexport const assertIsOpenAPIObject: (\n  obj: SwaggerObject | OpenAPIObject,\n) => asserts obj is OpenAPIObject = (obj) => {\n  if ('swaggerObject' in obj) {\n    throw new Error('This package currently does not support component references for Swagger 2.0')\n  }\n}\n\nexport type JSONSchemaTarget = 'draft-2020-12' | 'openapi-3.0'\n\nexport const getReferenceUri = (input: string): string => {\n  const id = input.replace(/^#\\/(?:\\$defs|definitions|components\\/schemas)\\//, '')\n\n  if (id === '') {\n    throw new Error(\n      'Unable to build a component reference for an unnamed schema. ' +\n        'Recursive or self-referential schemas used inline must be registered with an `id` so they can be referenced as components.',\n    )\n  }\n\n  return `#/components/schemas/${id}`\n}\n\nexport const getJSONSchemaTarget = (version = '3.0.0'): JSONSchemaTarget => {\n  if (version.startsWith('3.0')) {\n    return 'openapi-3.0'\n  }\n\n  return 'draft-2020-12'\n}\n"],"mappings":";AAUA,IAAa,yBAEwB,QAAQ;CAC3C,IAAI,mBAAmB,KACrB,MAAM,IAAI,MAAM,8EAA8E;AAElG;AAIA,IAAa,mBAAmB,UAA0B;CACxD,MAAM,KAAK,MAAM,QAAQ,oDAAoD,EAAE;CAE/E,IAAI,OAAO,IACT,MAAM,IAAI,MACR,yLAEF;CAGF,OAAO,wBAAwB;AACjC;AAEA,IAAa,uBAAuB,UAAU,YAA8B;CAC1E,IAAI,QAAQ,WAAW,KAAK,GAC1B,OAAO;CAGT,OAAO;AACT"}