{"version":3,"sources":["adapter.js"],"names":["detect","validate","parse","name","mediaTypes","source","indexOf","identify","done","minim","requireBlueprintName","options","serialiser","err","parseResult","deserialise","generateSourceMap","exportSourcemap"],"mappings":";;;;;;QAYgBA,M,GAAAA,M;QAIAC,Q,GAAAA,Q;QAmBAC,K,GAAAA,K;;AAjChB;;;;AACA;;;;AACA;;;;;;AAEO,IAAMC,sBAAO,eAAb,C,CANP;;AAOO,IAAMC,kCAAa,CACxB,uBADwB,EAExB,gCAFwB,CAAnB;;AAKA,SAASJ,MAAT,CAAgBK,MAAhB,EAAwB;AAC7B,SAAOD,WAAWE,OAAX,CAAmB,sBAAYC,QAAZ,CAAqBF,MAArB,CAAnB,MAAqD,CAAC,CAA7D;AACD;;AAEM,SAASJ,QAAT,OAA2DO,IAA3D,EAAiE;AAAA,MAA7CC,KAA6C,QAA7CA,KAA6C;AAAA,MAAtCJ,MAAsC,QAAtCA,MAAsC;AAAA,MAA9BK,oBAA8B,QAA9BA,oBAA8B;;AACtE,MAAMC,UAAU;AACdD;AADc,GAAhB;;AAIA,MAAME,aAAa,mBAAqBH,KAArB,CAAnB;;AAEA,oBAAQR,QAAR,CAAiBI,MAAjB,EAAyBM,OAAzB,EAAkC,UAACE,GAAD,EAAMC,WAAN,EAAsB;AACtD,QAAIA,WAAJ,EAAiB;AACfN,WAAKK,GAAL,EAAUD,WAAWG,WAAX,CAAuBD,WAAvB,CAAV;AACD,KAFD,MAEO;AACLN,WAAKK,GAAL,EAAUC,WAAV;AACD;AACF,GAND;AAOD;;AAED;;;AAGO,SAASZ,KAAT,QAA2EM,IAA3E,EAAiF;AAAA,MAAhEC,KAAgE,SAAhEA,KAAgE;AAAA,MAAzDJ,MAAyD,SAAzDA,MAAyD;AAAA,MAAjDW,iBAAiD,SAAjDA,iBAAiD;AAAA,MAA9BN,oBAA8B,SAA9BA,oBAA8B;;AACtF,MAAMC,UAAU;AACdM,qBAAiB,CAAC,CAACD,iBADL;AAEdN;AAFc,GAAhB;;AAKA,MAAME,aAAa,mBAAqBH,KAArB,CAAnB;;AAEA,oBAAQP,KAAR,CAAcG,MAAd,EAAsBM,OAAtB,EAA+B,UAACE,GAAD,EAAMC,WAAN,EAAsB;AACnD,QAAIA,WAAJ,EAAiB;AACfN,WAAKK,GAAL,EAAUD,WAAWG,WAAX,CAAuBD,WAAvB,CAAV;AACD,KAFD,MAEO;AACLN,WAAKK,GAAL,EAAUC,WAAV;AACD;AACF,GAND;AAOD;;kBAEc,EAAEX,UAAF,EAAQC,sBAAR,EAAoBJ,cAApB,EAA4BC,kBAA5B,EAAsCC,YAAtC,E","file":"adapter.js","sourcesContent":["// API Blueprint parser for Fury.js\n\nimport deckardcain from 'deckardcain';\nimport drafter from 'drafter.js';\nimport JSON06Serialiser from 'minim/lib/serialisers/json-0.6';\n\nexport const name = 'api-blueprint';\nexport const mediaTypes = [\n  'text/vnd.apiblueprint',\n  'text/vnd.apiblueprint+markdown',\n];\n\nexport function detect(source) {\n  return mediaTypes.indexOf(deckardcain.identify(source)) !== -1;\n}\n\nexport function validate({ minim, source, requireBlueprintName }, done) {\n  const options = {\n    requireBlueprintName,\n  };\n\n  const serialiser = new JSON06Serialiser(minim);\n\n  drafter.validate(source, options, (err, parseResult) => {\n    if (parseResult) {\n      done(err, serialiser.deserialise(parseResult));\n    } else {\n      done(err, parseResult);\n    }\n  });\n}\n\n/*\n * Parse an API Blueprint into refract elements.\n */\nexport function parse({ minim, source, generateSourceMap, requireBlueprintName }, done) {\n  const options = {\n    exportSourcemap: !!generateSourceMap,\n    requireBlueprintName,\n  };\n\n  const serialiser = new JSON06Serialiser(minim);\n\n  drafter.parse(source, options, (err, parseResult) => {\n    if (parseResult) {\n      done(err, serialiser.deserialise(parseResult));\n    } else {\n      done(err, parseResult);\n    }\n  });\n}\n\nexport default { name, mediaTypes, detect, validate, parse };\n"]}