12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633 |
- // Copyright 2020 Google LLC. All Rights Reserved.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- // THIS FILE IS AUTOMATICALLY GENERATED.
- package openapi_v3
- import (
- "fmt"
- "regexp"
- "strings"
- "gopkg.in/yaml.v3"
- "github.com/google/gnostic-models/compiler"
- )
- // Version returns the package name (and OpenAPI version).
- func Version() string {
- return "openapi_v3"
- }
- // NewAdditionalPropertiesItem creates an object of type AdditionalPropertiesItem if possible, returning an error if not.
- func NewAdditionalPropertiesItem(in *yaml.Node, context *compiler.Context) (*AdditionalPropertiesItem, error) {
- errors := make([]error, 0)
- x := &AdditionalPropertiesItem{}
- matched := false
- // SchemaOrReference schema_or_reference = 1;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewSchemaOrReference(m, compiler.NewContext("schemaOrReference", m, context))
- if matchingError == nil {
- x.Oneof = &AdditionalPropertiesItem_SchemaOrReference{SchemaOrReference: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- // bool boolean = 2;
- boolValue, ok := compiler.BoolForScalarNode(in)
- if ok {
- x.Oneof = &AdditionalPropertiesItem_Boolean{Boolean: boolValue}
- matched = true
- }
- if matched {
- // since the oneof matched one of its possibilities, discard any matching errors
- errors = make([]error, 0)
- } else {
- message := fmt.Sprintf("contains an invalid AdditionalPropertiesItem")
- err := compiler.NewError(context, message)
- errors = []error{err}
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewAny creates an object of type Any if possible, returning an error if not.
- func NewAny(in *yaml.Node, context *compiler.Context) (*Any, error) {
- errors := make([]error, 0)
- x := &Any{}
- bytes := compiler.Marshal(in)
- x.Yaml = string(bytes)
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewAnyOrExpression creates an object of type AnyOrExpression if possible, returning an error if not.
- func NewAnyOrExpression(in *yaml.Node, context *compiler.Context) (*AnyOrExpression, error) {
- errors := make([]error, 0)
- x := &AnyOrExpression{}
- matched := false
- // Any any = 1;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewAny(m, compiler.NewContext("any", m, context))
- if matchingError == nil {
- x.Oneof = &AnyOrExpression_Any{Any: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- // Expression expression = 2;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewExpression(m, compiler.NewContext("expression", m, context))
- if matchingError == nil {
- x.Oneof = &AnyOrExpression_Expression{Expression: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- if matched {
- // since the oneof matched one of its possibilities, discard any matching errors
- errors = make([]error, 0)
- } else {
- message := fmt.Sprintf("contains an invalid AnyOrExpression")
- err := compiler.NewError(context, message)
- errors = []error{err}
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewCallback creates an object of type Callback if possible, returning an error if not.
- func NewCallback(in *yaml.Node, context *compiler.Context) (*Callback, error) {
- errors := make([]error, 0)
- x := &Callback{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{}
- allowedPatterns := []*regexp.Regexp{pattern0, pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // repeated NamedPathItem path = 1;
- // MAP: PathItem ^
- x.Path = make([]*NamedPathItem, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if true {
- pair := &NamedPathItem{}
- pair.Name = k
- var err error
- pair.Value, err = NewPathItem(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.Path = append(x.Path, pair)
- }
- }
- }
- // repeated NamedAny specification_extension = 2;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewCallbackOrReference creates an object of type CallbackOrReference if possible, returning an error if not.
- func NewCallbackOrReference(in *yaml.Node, context *compiler.Context) (*CallbackOrReference, error) {
- errors := make([]error, 0)
- x := &CallbackOrReference{}
- matched := false
- // Callback callback = 1;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewCallback(m, compiler.NewContext("callback", m, context))
- if matchingError == nil {
- x.Oneof = &CallbackOrReference_Callback{Callback: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- // Reference reference = 2;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
- if matchingError == nil {
- x.Oneof = &CallbackOrReference_Reference{Reference: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- if matched {
- // since the oneof matched one of its possibilities, discard any matching errors
- errors = make([]error, 0)
- } else {
- message := fmt.Sprintf("contains an invalid CallbackOrReference")
- err := compiler.NewError(context, message)
- errors = []error{err}
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewCallbacksOrReferences creates an object of type CallbacksOrReferences if possible, returning an error if not.
- func NewCallbacksOrReferences(in *yaml.Node, context *compiler.Context) (*CallbacksOrReferences, error) {
- errors := make([]error, 0)
- x := &CallbacksOrReferences{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedCallbackOrReference additional_properties = 1;
- // MAP: CallbackOrReference
- x.AdditionalProperties = make([]*NamedCallbackOrReference, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedCallbackOrReference{}
- pair.Name = k
- var err error
- pair.Value, err = NewCallbackOrReference(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewComponents creates an object of type Components if possible, returning an error if not.
- func NewComponents(in *yaml.Node, context *compiler.Context) (*Components, error) {
- errors := make([]error, 0)
- x := &Components{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"callbacks", "examples", "headers", "links", "parameters", "requestBodies", "responses", "schemas", "securitySchemes"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // SchemasOrReferences schemas = 1;
- v1 := compiler.MapValueForKey(m, "schemas")
- if v1 != nil {
- var err error
- x.Schemas, err = NewSchemasOrReferences(v1, compiler.NewContext("schemas", v1, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // ResponsesOrReferences responses = 2;
- v2 := compiler.MapValueForKey(m, "responses")
- if v2 != nil {
- var err error
- x.Responses, err = NewResponsesOrReferences(v2, compiler.NewContext("responses", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // ParametersOrReferences parameters = 3;
- v3 := compiler.MapValueForKey(m, "parameters")
- if v3 != nil {
- var err error
- x.Parameters, err = NewParametersOrReferences(v3, compiler.NewContext("parameters", v3, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // ExamplesOrReferences examples = 4;
- v4 := compiler.MapValueForKey(m, "examples")
- if v4 != nil {
- var err error
- x.Examples, err = NewExamplesOrReferences(v4, compiler.NewContext("examples", v4, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // RequestBodiesOrReferences request_bodies = 5;
- v5 := compiler.MapValueForKey(m, "requestBodies")
- if v5 != nil {
- var err error
- x.RequestBodies, err = NewRequestBodiesOrReferences(v5, compiler.NewContext("requestBodies", v5, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // HeadersOrReferences headers = 6;
- v6 := compiler.MapValueForKey(m, "headers")
- if v6 != nil {
- var err error
- x.Headers, err = NewHeadersOrReferences(v6, compiler.NewContext("headers", v6, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // SecuritySchemesOrReferences security_schemes = 7;
- v7 := compiler.MapValueForKey(m, "securitySchemes")
- if v7 != nil {
- var err error
- x.SecuritySchemes, err = NewSecuritySchemesOrReferences(v7, compiler.NewContext("securitySchemes", v7, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // LinksOrReferences links = 8;
- v8 := compiler.MapValueForKey(m, "links")
- if v8 != nil {
- var err error
- x.Links, err = NewLinksOrReferences(v8, compiler.NewContext("links", v8, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // CallbacksOrReferences callbacks = 9;
- v9 := compiler.MapValueForKey(m, "callbacks")
- if v9 != nil {
- var err error
- x.Callbacks, err = NewCallbacksOrReferences(v9, compiler.NewContext("callbacks", v9, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // repeated NamedAny specification_extension = 10;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewContact creates an object of type Contact if possible, returning an error if not.
- func NewContact(in *yaml.Node, context *compiler.Context) (*Contact, error) {
- errors := make([]error, 0)
- x := &Contact{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"email", "name", "url"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string url = 2;
- v2 := compiler.MapValueForKey(m, "url")
- if v2 != nil {
- x.Url, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for url: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string email = 3;
- v3 := compiler.MapValueForKey(m, "email")
- if v3 != nil {
- x.Email, ok = compiler.StringForScalarNode(v3)
- if !ok {
- message := fmt.Sprintf("has unexpected value for email: %s", compiler.Display(v3))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // repeated NamedAny specification_extension = 4;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewDefaultType creates an object of type DefaultType if possible, returning an error if not.
- func NewDefaultType(in *yaml.Node, context *compiler.Context) (*DefaultType, error) {
- errors := make([]error, 0)
- x := &DefaultType{}
- matched := false
- switch in.Tag {
- case "!!bool":
- var v bool
- v, matched = compiler.BoolForScalarNode(in)
- x.Oneof = &DefaultType_Boolean{Boolean: v}
- case "!!str":
- var v string
- v, matched = compiler.StringForScalarNode(in)
- x.Oneof = &DefaultType_String_{String_: v}
- case "!!float":
- var v float64
- v, matched = compiler.FloatForScalarNode(in)
- x.Oneof = &DefaultType_Number{Number: v}
- case "!!int":
- var v int64
- v, matched = compiler.IntForScalarNode(in)
- x.Oneof = &DefaultType_Number{Number: float64(v)}
- }
- if matched {
- // since the oneof matched one of its possibilities, discard any matching errors
- errors = make([]error, 0)
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewDiscriminator creates an object of type Discriminator if possible, returning an error if not.
- func NewDiscriminator(in *yaml.Node, context *compiler.Context) (*Discriminator, error) {
- errors := make([]error, 0)
- x := &Discriminator{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- requiredKeys := []string{"propertyName"}
- missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
- if len(missingKeys) > 0 {
- message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- allowedKeys := []string{"mapping", "propertyName"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string property_name = 1;
- v1 := compiler.MapValueForKey(m, "propertyName")
- if v1 != nil {
- x.PropertyName, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for propertyName: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // Strings mapping = 2;
- v2 := compiler.MapValueForKey(m, "mapping")
- if v2 != nil {
- var err error
- x.Mapping, err = NewStrings(v2, compiler.NewContext("mapping", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // repeated NamedAny specification_extension = 3;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewDocument creates an object of type Document if possible, returning an error if not.
- func NewDocument(in *yaml.Node, context *compiler.Context) (*Document, error) {
- errors := make([]error, 0)
- x := &Document{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- requiredKeys := []string{"info", "openapi", "paths"}
- missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
- if len(missingKeys) > 0 {
- message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- allowedKeys := []string{"components", "externalDocs", "info", "openapi", "paths", "security", "servers", "tags"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string openapi = 1;
- v1 := compiler.MapValueForKey(m, "openapi")
- if v1 != nil {
- x.Openapi, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for openapi: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // Info info = 2;
- v2 := compiler.MapValueForKey(m, "info")
- if v2 != nil {
- var err error
- x.Info, err = NewInfo(v2, compiler.NewContext("info", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // repeated Server servers = 3;
- v3 := compiler.MapValueForKey(m, "servers")
- if v3 != nil {
- // repeated Server
- x.Servers = make([]*Server, 0)
- a, ok := compiler.SequenceNodeForNode(v3)
- if ok {
- for _, item := range a.Content {
- y, err := NewServer(item, compiler.NewContext("servers", item, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.Servers = append(x.Servers, y)
- }
- }
- }
- // Paths paths = 4;
- v4 := compiler.MapValueForKey(m, "paths")
- if v4 != nil {
- var err error
- x.Paths, err = NewPaths(v4, compiler.NewContext("paths", v4, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // Components components = 5;
- v5 := compiler.MapValueForKey(m, "components")
- if v5 != nil {
- var err error
- x.Components, err = NewComponents(v5, compiler.NewContext("components", v5, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // repeated SecurityRequirement security = 6;
- v6 := compiler.MapValueForKey(m, "security")
- if v6 != nil {
- // repeated SecurityRequirement
- x.Security = make([]*SecurityRequirement, 0)
- a, ok := compiler.SequenceNodeForNode(v6)
- if ok {
- for _, item := range a.Content {
- y, err := NewSecurityRequirement(item, compiler.NewContext("security", item, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.Security = append(x.Security, y)
- }
- }
- }
- // repeated Tag tags = 7;
- v7 := compiler.MapValueForKey(m, "tags")
- if v7 != nil {
- // repeated Tag
- x.Tags = make([]*Tag, 0)
- a, ok := compiler.SequenceNodeForNode(v7)
- if ok {
- for _, item := range a.Content {
- y, err := NewTag(item, compiler.NewContext("tags", item, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.Tags = append(x.Tags, y)
- }
- }
- }
- // ExternalDocs external_docs = 8;
- v8 := compiler.MapValueForKey(m, "externalDocs")
- if v8 != nil {
- var err error
- x.ExternalDocs, err = NewExternalDocs(v8, compiler.NewContext("externalDocs", v8, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // repeated NamedAny specification_extension = 9;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewEncoding creates an object of type Encoding if possible, returning an error if not.
- func NewEncoding(in *yaml.Node, context *compiler.Context) (*Encoding, error) {
- errors := make([]error, 0)
- x := &Encoding{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"allowReserved", "contentType", "explode", "headers", "style"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string content_type = 1;
- v1 := compiler.MapValueForKey(m, "contentType")
- if v1 != nil {
- x.ContentType, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for contentType: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // HeadersOrReferences headers = 2;
- v2 := compiler.MapValueForKey(m, "headers")
- if v2 != nil {
- var err error
- x.Headers, err = NewHeadersOrReferences(v2, compiler.NewContext("headers", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // string style = 3;
- v3 := compiler.MapValueForKey(m, "style")
- if v3 != nil {
- x.Style, ok = compiler.StringForScalarNode(v3)
- if !ok {
- message := fmt.Sprintf("has unexpected value for style: %s", compiler.Display(v3))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool explode = 4;
- v4 := compiler.MapValueForKey(m, "explode")
- if v4 != nil {
- x.Explode, ok = compiler.BoolForScalarNode(v4)
- if !ok {
- message := fmt.Sprintf("has unexpected value for explode: %s", compiler.Display(v4))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool allow_reserved = 5;
- v5 := compiler.MapValueForKey(m, "allowReserved")
- if v5 != nil {
- x.AllowReserved, ok = compiler.BoolForScalarNode(v5)
- if !ok {
- message := fmt.Sprintf("has unexpected value for allowReserved: %s", compiler.Display(v5))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // repeated NamedAny specification_extension = 6;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewEncodings creates an object of type Encodings if possible, returning an error if not.
- func NewEncodings(in *yaml.Node, context *compiler.Context) (*Encodings, error) {
- errors := make([]error, 0)
- x := &Encodings{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedEncoding additional_properties = 1;
- // MAP: Encoding
- x.AdditionalProperties = make([]*NamedEncoding, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedEncoding{}
- pair.Name = k
- var err error
- pair.Value, err = NewEncoding(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewExample creates an object of type Example if possible, returning an error if not.
- func NewExample(in *yaml.Node, context *compiler.Context) (*Example, error) {
- errors := make([]error, 0)
- x := &Example{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"description", "externalValue", "summary", "value"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string summary = 1;
- v1 := compiler.MapValueForKey(m, "summary")
- if v1 != nil {
- x.Summary, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for summary: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string description = 2;
- v2 := compiler.MapValueForKey(m, "description")
- if v2 != nil {
- x.Description, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // Any value = 3;
- v3 := compiler.MapValueForKey(m, "value")
- if v3 != nil {
- var err error
- x.Value, err = NewAny(v3, compiler.NewContext("value", v3, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // string external_value = 4;
- v4 := compiler.MapValueForKey(m, "externalValue")
- if v4 != nil {
- x.ExternalValue, ok = compiler.StringForScalarNode(v4)
- if !ok {
- message := fmt.Sprintf("has unexpected value for externalValue: %s", compiler.Display(v4))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // repeated NamedAny specification_extension = 5;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewExampleOrReference creates an object of type ExampleOrReference if possible, returning an error if not.
- func NewExampleOrReference(in *yaml.Node, context *compiler.Context) (*ExampleOrReference, error) {
- errors := make([]error, 0)
- x := &ExampleOrReference{}
- matched := false
- // Example example = 1;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewExample(m, compiler.NewContext("example", m, context))
- if matchingError == nil {
- x.Oneof = &ExampleOrReference_Example{Example: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- // Reference reference = 2;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
- if matchingError == nil {
- x.Oneof = &ExampleOrReference_Reference{Reference: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- if matched {
- // since the oneof matched one of its possibilities, discard any matching errors
- errors = make([]error, 0)
- } else {
- message := fmt.Sprintf("contains an invalid ExampleOrReference")
- err := compiler.NewError(context, message)
- errors = []error{err}
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewExamplesOrReferences creates an object of type ExamplesOrReferences if possible, returning an error if not.
- func NewExamplesOrReferences(in *yaml.Node, context *compiler.Context) (*ExamplesOrReferences, error) {
- errors := make([]error, 0)
- x := &ExamplesOrReferences{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedExampleOrReference additional_properties = 1;
- // MAP: ExampleOrReference
- x.AdditionalProperties = make([]*NamedExampleOrReference, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedExampleOrReference{}
- pair.Name = k
- var err error
- pair.Value, err = NewExampleOrReference(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewExpression creates an object of type Expression if possible, returning an error if not.
- func NewExpression(in *yaml.Node, context *compiler.Context) (*Expression, error) {
- errors := make([]error, 0)
- x := &Expression{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedAny additional_properties = 1;
- // MAP: Any
- x.AdditionalProperties = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewExternalDocs creates an object of type ExternalDocs if possible, returning an error if not.
- func NewExternalDocs(in *yaml.Node, context *compiler.Context) (*ExternalDocs, error) {
- errors := make([]error, 0)
- x := &ExternalDocs{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- requiredKeys := []string{"url"}
- missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
- if len(missingKeys) > 0 {
- message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- allowedKeys := []string{"description", "url"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string description = 1;
- v1 := compiler.MapValueForKey(m, "description")
- if v1 != nil {
- x.Description, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string url = 2;
- v2 := compiler.MapValueForKey(m, "url")
- if v2 != nil {
- x.Url, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for url: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // repeated NamedAny specification_extension = 3;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewHeader creates an object of type Header if possible, returning an error if not.
- func NewHeader(in *yaml.Node, context *compiler.Context) (*Header, error) {
- errors := make([]error, 0)
- x := &Header{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"allowEmptyValue", "allowReserved", "content", "deprecated", "description", "example", "examples", "explode", "required", "schema", "style"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string description = 1;
- v1 := compiler.MapValueForKey(m, "description")
- if v1 != nil {
- x.Description, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool required = 2;
- v2 := compiler.MapValueForKey(m, "required")
- if v2 != nil {
- x.Required, ok = compiler.BoolForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for required: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool deprecated = 3;
- v3 := compiler.MapValueForKey(m, "deprecated")
- if v3 != nil {
- x.Deprecated, ok = compiler.BoolForScalarNode(v3)
- if !ok {
- message := fmt.Sprintf("has unexpected value for deprecated: %s", compiler.Display(v3))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool allow_empty_value = 4;
- v4 := compiler.MapValueForKey(m, "allowEmptyValue")
- if v4 != nil {
- x.AllowEmptyValue, ok = compiler.BoolForScalarNode(v4)
- if !ok {
- message := fmt.Sprintf("has unexpected value for allowEmptyValue: %s", compiler.Display(v4))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string style = 5;
- v5 := compiler.MapValueForKey(m, "style")
- if v5 != nil {
- x.Style, ok = compiler.StringForScalarNode(v5)
- if !ok {
- message := fmt.Sprintf("has unexpected value for style: %s", compiler.Display(v5))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool explode = 6;
- v6 := compiler.MapValueForKey(m, "explode")
- if v6 != nil {
- x.Explode, ok = compiler.BoolForScalarNode(v6)
- if !ok {
- message := fmt.Sprintf("has unexpected value for explode: %s", compiler.Display(v6))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool allow_reserved = 7;
- v7 := compiler.MapValueForKey(m, "allowReserved")
- if v7 != nil {
- x.AllowReserved, ok = compiler.BoolForScalarNode(v7)
- if !ok {
- message := fmt.Sprintf("has unexpected value for allowReserved: %s", compiler.Display(v7))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // SchemaOrReference schema = 8;
- v8 := compiler.MapValueForKey(m, "schema")
- if v8 != nil {
- var err error
- x.Schema, err = NewSchemaOrReference(v8, compiler.NewContext("schema", v8, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // Any example = 9;
- v9 := compiler.MapValueForKey(m, "example")
- if v9 != nil {
- var err error
- x.Example, err = NewAny(v9, compiler.NewContext("example", v9, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // ExamplesOrReferences examples = 10;
- v10 := compiler.MapValueForKey(m, "examples")
- if v10 != nil {
- var err error
- x.Examples, err = NewExamplesOrReferences(v10, compiler.NewContext("examples", v10, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // MediaTypes content = 11;
- v11 := compiler.MapValueForKey(m, "content")
- if v11 != nil {
- var err error
- x.Content, err = NewMediaTypes(v11, compiler.NewContext("content", v11, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // repeated NamedAny specification_extension = 12;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewHeaderOrReference creates an object of type HeaderOrReference if possible, returning an error if not.
- func NewHeaderOrReference(in *yaml.Node, context *compiler.Context) (*HeaderOrReference, error) {
- errors := make([]error, 0)
- x := &HeaderOrReference{}
- matched := false
- // Header header = 1;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewHeader(m, compiler.NewContext("header", m, context))
- if matchingError == nil {
- x.Oneof = &HeaderOrReference_Header{Header: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- // Reference reference = 2;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
- if matchingError == nil {
- x.Oneof = &HeaderOrReference_Reference{Reference: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- if matched {
- // since the oneof matched one of its possibilities, discard any matching errors
- errors = make([]error, 0)
- } else {
- message := fmt.Sprintf("contains an invalid HeaderOrReference")
- err := compiler.NewError(context, message)
- errors = []error{err}
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewHeadersOrReferences creates an object of type HeadersOrReferences if possible, returning an error if not.
- func NewHeadersOrReferences(in *yaml.Node, context *compiler.Context) (*HeadersOrReferences, error) {
- errors := make([]error, 0)
- x := &HeadersOrReferences{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedHeaderOrReference additional_properties = 1;
- // MAP: HeaderOrReference
- x.AdditionalProperties = make([]*NamedHeaderOrReference, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedHeaderOrReference{}
- pair.Name = k
- var err error
- pair.Value, err = NewHeaderOrReference(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewInfo creates an object of type Info if possible, returning an error if not.
- func NewInfo(in *yaml.Node, context *compiler.Context) (*Info, error) {
- errors := make([]error, 0)
- x := &Info{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- requiredKeys := []string{"title", "version"}
- missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
- if len(missingKeys) > 0 {
- message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- allowedKeys := []string{"contact", "description", "license", "summary", "termsOfService", "title", "version"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string title = 1;
- v1 := compiler.MapValueForKey(m, "title")
- if v1 != nil {
- x.Title, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for title: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string description = 2;
- v2 := compiler.MapValueForKey(m, "description")
- if v2 != nil {
- x.Description, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string terms_of_service = 3;
- v3 := compiler.MapValueForKey(m, "termsOfService")
- if v3 != nil {
- x.TermsOfService, ok = compiler.StringForScalarNode(v3)
- if !ok {
- message := fmt.Sprintf("has unexpected value for termsOfService: %s", compiler.Display(v3))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // Contact contact = 4;
- v4 := compiler.MapValueForKey(m, "contact")
- if v4 != nil {
- var err error
- x.Contact, err = NewContact(v4, compiler.NewContext("contact", v4, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // License license = 5;
- v5 := compiler.MapValueForKey(m, "license")
- if v5 != nil {
- var err error
- x.License, err = NewLicense(v5, compiler.NewContext("license", v5, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // string version = 6;
- v6 := compiler.MapValueForKey(m, "version")
- if v6 != nil {
- x.Version, ok = compiler.StringForScalarNode(v6)
- if !ok {
- message := fmt.Sprintf("has unexpected value for version: %s", compiler.Display(v6))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string summary = 7;
- v7 := compiler.MapValueForKey(m, "summary")
- if v7 != nil {
- x.Summary, ok = compiler.StringForScalarNode(v7)
- if !ok {
- message := fmt.Sprintf("has unexpected value for summary: %s", compiler.Display(v7))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // repeated NamedAny specification_extension = 8;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewItemsItem creates an object of type ItemsItem if possible, returning an error if not.
- func NewItemsItem(in *yaml.Node, context *compiler.Context) (*ItemsItem, error) {
- errors := make([]error, 0)
- x := &ItemsItem{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value for item array: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- x.SchemaOrReference = make([]*SchemaOrReference, 0)
- y, err := NewSchemaOrReference(m, compiler.NewContext("<array>", m, context))
- if err != nil {
- return nil, err
- }
- x.SchemaOrReference = append(x.SchemaOrReference, y)
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewLicense creates an object of type License if possible, returning an error if not.
- func NewLicense(in *yaml.Node, context *compiler.Context) (*License, error) {
- errors := make([]error, 0)
- x := &License{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- requiredKeys := []string{"name"}
- missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
- if len(missingKeys) > 0 {
- message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- allowedKeys := []string{"name", "url"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string url = 2;
- v2 := compiler.MapValueForKey(m, "url")
- if v2 != nil {
- x.Url, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for url: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // repeated NamedAny specification_extension = 3;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewLink creates an object of type Link if possible, returning an error if not.
- func NewLink(in *yaml.Node, context *compiler.Context) (*Link, error) {
- errors := make([]error, 0)
- x := &Link{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"description", "operationId", "operationRef", "parameters", "requestBody", "server"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string operation_ref = 1;
- v1 := compiler.MapValueForKey(m, "operationRef")
- if v1 != nil {
- x.OperationRef, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for operationRef: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string operation_id = 2;
- v2 := compiler.MapValueForKey(m, "operationId")
- if v2 != nil {
- x.OperationId, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for operationId: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // AnyOrExpression parameters = 3;
- v3 := compiler.MapValueForKey(m, "parameters")
- if v3 != nil {
- var err error
- x.Parameters, err = NewAnyOrExpression(v3, compiler.NewContext("parameters", v3, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // AnyOrExpression request_body = 4;
- v4 := compiler.MapValueForKey(m, "requestBody")
- if v4 != nil {
- var err error
- x.RequestBody, err = NewAnyOrExpression(v4, compiler.NewContext("requestBody", v4, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // string description = 5;
- v5 := compiler.MapValueForKey(m, "description")
- if v5 != nil {
- x.Description, ok = compiler.StringForScalarNode(v5)
- if !ok {
- message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v5))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // Server server = 6;
- v6 := compiler.MapValueForKey(m, "server")
- if v6 != nil {
- var err error
- x.Server, err = NewServer(v6, compiler.NewContext("server", v6, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // repeated NamedAny specification_extension = 7;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewLinkOrReference creates an object of type LinkOrReference if possible, returning an error if not.
- func NewLinkOrReference(in *yaml.Node, context *compiler.Context) (*LinkOrReference, error) {
- errors := make([]error, 0)
- x := &LinkOrReference{}
- matched := false
- // Link link = 1;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewLink(m, compiler.NewContext("link", m, context))
- if matchingError == nil {
- x.Oneof = &LinkOrReference_Link{Link: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- // Reference reference = 2;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
- if matchingError == nil {
- x.Oneof = &LinkOrReference_Reference{Reference: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- if matched {
- // since the oneof matched one of its possibilities, discard any matching errors
- errors = make([]error, 0)
- } else {
- message := fmt.Sprintf("contains an invalid LinkOrReference")
- err := compiler.NewError(context, message)
- errors = []error{err}
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewLinksOrReferences creates an object of type LinksOrReferences if possible, returning an error if not.
- func NewLinksOrReferences(in *yaml.Node, context *compiler.Context) (*LinksOrReferences, error) {
- errors := make([]error, 0)
- x := &LinksOrReferences{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedLinkOrReference additional_properties = 1;
- // MAP: LinkOrReference
- x.AdditionalProperties = make([]*NamedLinkOrReference, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedLinkOrReference{}
- pair.Name = k
- var err error
- pair.Value, err = NewLinkOrReference(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewMediaType creates an object of type MediaType if possible, returning an error if not.
- func NewMediaType(in *yaml.Node, context *compiler.Context) (*MediaType, error) {
- errors := make([]error, 0)
- x := &MediaType{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"encoding", "example", "examples", "schema"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // SchemaOrReference schema = 1;
- v1 := compiler.MapValueForKey(m, "schema")
- if v1 != nil {
- var err error
- x.Schema, err = NewSchemaOrReference(v1, compiler.NewContext("schema", v1, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // Any example = 2;
- v2 := compiler.MapValueForKey(m, "example")
- if v2 != nil {
- var err error
- x.Example, err = NewAny(v2, compiler.NewContext("example", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // ExamplesOrReferences examples = 3;
- v3 := compiler.MapValueForKey(m, "examples")
- if v3 != nil {
- var err error
- x.Examples, err = NewExamplesOrReferences(v3, compiler.NewContext("examples", v3, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // Encodings encoding = 4;
- v4 := compiler.MapValueForKey(m, "encoding")
- if v4 != nil {
- var err error
- x.Encoding, err = NewEncodings(v4, compiler.NewContext("encoding", v4, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // repeated NamedAny specification_extension = 5;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewMediaTypes creates an object of type MediaTypes if possible, returning an error if not.
- func NewMediaTypes(in *yaml.Node, context *compiler.Context) (*MediaTypes, error) {
- errors := make([]error, 0)
- x := &MediaTypes{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedMediaType additional_properties = 1;
- // MAP: MediaType
- x.AdditionalProperties = make([]*NamedMediaType, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedMediaType{}
- pair.Name = k
- var err error
- pair.Value, err = NewMediaType(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewNamedAny creates an object of type NamedAny if possible, returning an error if not.
- func NewNamedAny(in *yaml.Node, context *compiler.Context) (*NamedAny, error) {
- errors := make([]error, 0)
- x := &NamedAny{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"name", "value"}
- var allowedPatterns []*regexp.Regexp
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // Any value = 2;
- v2 := compiler.MapValueForKey(m, "value")
- if v2 != nil {
- var err error
- x.Value, err = NewAny(v2, compiler.NewContext("value", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewNamedCallbackOrReference creates an object of type NamedCallbackOrReference if possible, returning an error if not.
- func NewNamedCallbackOrReference(in *yaml.Node, context *compiler.Context) (*NamedCallbackOrReference, error) {
- errors := make([]error, 0)
- x := &NamedCallbackOrReference{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"name", "value"}
- var allowedPatterns []*regexp.Regexp
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // CallbackOrReference value = 2;
- v2 := compiler.MapValueForKey(m, "value")
- if v2 != nil {
- var err error
- x.Value, err = NewCallbackOrReference(v2, compiler.NewContext("value", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewNamedEncoding creates an object of type NamedEncoding if possible, returning an error if not.
- func NewNamedEncoding(in *yaml.Node, context *compiler.Context) (*NamedEncoding, error) {
- errors := make([]error, 0)
- x := &NamedEncoding{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"name", "value"}
- var allowedPatterns []*regexp.Regexp
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // Encoding value = 2;
- v2 := compiler.MapValueForKey(m, "value")
- if v2 != nil {
- var err error
- x.Value, err = NewEncoding(v2, compiler.NewContext("value", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewNamedExampleOrReference creates an object of type NamedExampleOrReference if possible, returning an error if not.
- func NewNamedExampleOrReference(in *yaml.Node, context *compiler.Context) (*NamedExampleOrReference, error) {
- errors := make([]error, 0)
- x := &NamedExampleOrReference{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"name", "value"}
- var allowedPatterns []*regexp.Regexp
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // ExampleOrReference value = 2;
- v2 := compiler.MapValueForKey(m, "value")
- if v2 != nil {
- var err error
- x.Value, err = NewExampleOrReference(v2, compiler.NewContext("value", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewNamedHeaderOrReference creates an object of type NamedHeaderOrReference if possible, returning an error if not.
- func NewNamedHeaderOrReference(in *yaml.Node, context *compiler.Context) (*NamedHeaderOrReference, error) {
- errors := make([]error, 0)
- x := &NamedHeaderOrReference{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"name", "value"}
- var allowedPatterns []*regexp.Regexp
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // HeaderOrReference value = 2;
- v2 := compiler.MapValueForKey(m, "value")
- if v2 != nil {
- var err error
- x.Value, err = NewHeaderOrReference(v2, compiler.NewContext("value", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewNamedLinkOrReference creates an object of type NamedLinkOrReference if possible, returning an error if not.
- func NewNamedLinkOrReference(in *yaml.Node, context *compiler.Context) (*NamedLinkOrReference, error) {
- errors := make([]error, 0)
- x := &NamedLinkOrReference{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"name", "value"}
- var allowedPatterns []*regexp.Regexp
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // LinkOrReference value = 2;
- v2 := compiler.MapValueForKey(m, "value")
- if v2 != nil {
- var err error
- x.Value, err = NewLinkOrReference(v2, compiler.NewContext("value", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewNamedMediaType creates an object of type NamedMediaType if possible, returning an error if not.
- func NewNamedMediaType(in *yaml.Node, context *compiler.Context) (*NamedMediaType, error) {
- errors := make([]error, 0)
- x := &NamedMediaType{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"name", "value"}
- var allowedPatterns []*regexp.Regexp
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // MediaType value = 2;
- v2 := compiler.MapValueForKey(m, "value")
- if v2 != nil {
- var err error
- x.Value, err = NewMediaType(v2, compiler.NewContext("value", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewNamedParameterOrReference creates an object of type NamedParameterOrReference if possible, returning an error if not.
- func NewNamedParameterOrReference(in *yaml.Node, context *compiler.Context) (*NamedParameterOrReference, error) {
- errors := make([]error, 0)
- x := &NamedParameterOrReference{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"name", "value"}
- var allowedPatterns []*regexp.Regexp
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // ParameterOrReference value = 2;
- v2 := compiler.MapValueForKey(m, "value")
- if v2 != nil {
- var err error
- x.Value, err = NewParameterOrReference(v2, compiler.NewContext("value", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewNamedPathItem creates an object of type NamedPathItem if possible, returning an error if not.
- func NewNamedPathItem(in *yaml.Node, context *compiler.Context) (*NamedPathItem, error) {
- errors := make([]error, 0)
- x := &NamedPathItem{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"name", "value"}
- var allowedPatterns []*regexp.Regexp
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // PathItem value = 2;
- v2 := compiler.MapValueForKey(m, "value")
- if v2 != nil {
- var err error
- x.Value, err = NewPathItem(v2, compiler.NewContext("value", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewNamedRequestBodyOrReference creates an object of type NamedRequestBodyOrReference if possible, returning an error if not.
- func NewNamedRequestBodyOrReference(in *yaml.Node, context *compiler.Context) (*NamedRequestBodyOrReference, error) {
- errors := make([]error, 0)
- x := &NamedRequestBodyOrReference{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"name", "value"}
- var allowedPatterns []*regexp.Regexp
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // RequestBodyOrReference value = 2;
- v2 := compiler.MapValueForKey(m, "value")
- if v2 != nil {
- var err error
- x.Value, err = NewRequestBodyOrReference(v2, compiler.NewContext("value", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewNamedResponseOrReference creates an object of type NamedResponseOrReference if possible, returning an error if not.
- func NewNamedResponseOrReference(in *yaml.Node, context *compiler.Context) (*NamedResponseOrReference, error) {
- errors := make([]error, 0)
- x := &NamedResponseOrReference{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"name", "value"}
- var allowedPatterns []*regexp.Regexp
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // ResponseOrReference value = 2;
- v2 := compiler.MapValueForKey(m, "value")
- if v2 != nil {
- var err error
- x.Value, err = NewResponseOrReference(v2, compiler.NewContext("value", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewNamedSchemaOrReference creates an object of type NamedSchemaOrReference if possible, returning an error if not.
- func NewNamedSchemaOrReference(in *yaml.Node, context *compiler.Context) (*NamedSchemaOrReference, error) {
- errors := make([]error, 0)
- x := &NamedSchemaOrReference{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"name", "value"}
- var allowedPatterns []*regexp.Regexp
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // SchemaOrReference value = 2;
- v2 := compiler.MapValueForKey(m, "value")
- if v2 != nil {
- var err error
- x.Value, err = NewSchemaOrReference(v2, compiler.NewContext("value", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewNamedSecuritySchemeOrReference creates an object of type NamedSecuritySchemeOrReference if possible, returning an error if not.
- func NewNamedSecuritySchemeOrReference(in *yaml.Node, context *compiler.Context) (*NamedSecuritySchemeOrReference, error) {
- errors := make([]error, 0)
- x := &NamedSecuritySchemeOrReference{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"name", "value"}
- var allowedPatterns []*regexp.Regexp
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // SecuritySchemeOrReference value = 2;
- v2 := compiler.MapValueForKey(m, "value")
- if v2 != nil {
- var err error
- x.Value, err = NewSecuritySchemeOrReference(v2, compiler.NewContext("value", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewNamedServerVariable creates an object of type NamedServerVariable if possible, returning an error if not.
- func NewNamedServerVariable(in *yaml.Node, context *compiler.Context) (*NamedServerVariable, error) {
- errors := make([]error, 0)
- x := &NamedServerVariable{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"name", "value"}
- var allowedPatterns []*regexp.Regexp
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // ServerVariable value = 2;
- v2 := compiler.MapValueForKey(m, "value")
- if v2 != nil {
- var err error
- x.Value, err = NewServerVariable(v2, compiler.NewContext("value", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewNamedString creates an object of type NamedString if possible, returning an error if not.
- func NewNamedString(in *yaml.Node, context *compiler.Context) (*NamedString, error) {
- errors := make([]error, 0)
- x := &NamedString{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"name", "value"}
- var allowedPatterns []*regexp.Regexp
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string value = 2;
- v2 := compiler.MapValueForKey(m, "value")
- if v2 != nil {
- x.Value, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for value: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewNamedStringArray creates an object of type NamedStringArray if possible, returning an error if not.
- func NewNamedStringArray(in *yaml.Node, context *compiler.Context) (*NamedStringArray, error) {
- errors := make([]error, 0)
- x := &NamedStringArray{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"name", "value"}
- var allowedPatterns []*regexp.Regexp
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // StringArray value = 2;
- v2 := compiler.MapValueForKey(m, "value")
- if v2 != nil {
- var err error
- x.Value, err = NewStringArray(v2, compiler.NewContext("value", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewOauthFlow creates an object of type OauthFlow if possible, returning an error if not.
- func NewOauthFlow(in *yaml.Node, context *compiler.Context) (*OauthFlow, error) {
- errors := make([]error, 0)
- x := &OauthFlow{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"authorizationUrl", "refreshUrl", "scopes", "tokenUrl"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string authorization_url = 1;
- v1 := compiler.MapValueForKey(m, "authorizationUrl")
- if v1 != nil {
- x.AuthorizationUrl, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for authorizationUrl: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string token_url = 2;
- v2 := compiler.MapValueForKey(m, "tokenUrl")
- if v2 != nil {
- x.TokenUrl, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for tokenUrl: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string refresh_url = 3;
- v3 := compiler.MapValueForKey(m, "refreshUrl")
- if v3 != nil {
- x.RefreshUrl, ok = compiler.StringForScalarNode(v3)
- if !ok {
- message := fmt.Sprintf("has unexpected value for refreshUrl: %s", compiler.Display(v3))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // Strings scopes = 4;
- v4 := compiler.MapValueForKey(m, "scopes")
- if v4 != nil {
- var err error
- x.Scopes, err = NewStrings(v4, compiler.NewContext("scopes", v4, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // repeated NamedAny specification_extension = 5;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewOauthFlows creates an object of type OauthFlows if possible, returning an error if not.
- func NewOauthFlows(in *yaml.Node, context *compiler.Context) (*OauthFlows, error) {
- errors := make([]error, 0)
- x := &OauthFlows{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"authorizationCode", "clientCredentials", "implicit", "password"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // OauthFlow implicit = 1;
- v1 := compiler.MapValueForKey(m, "implicit")
- if v1 != nil {
- var err error
- x.Implicit, err = NewOauthFlow(v1, compiler.NewContext("implicit", v1, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // OauthFlow password = 2;
- v2 := compiler.MapValueForKey(m, "password")
- if v2 != nil {
- var err error
- x.Password, err = NewOauthFlow(v2, compiler.NewContext("password", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // OauthFlow client_credentials = 3;
- v3 := compiler.MapValueForKey(m, "clientCredentials")
- if v3 != nil {
- var err error
- x.ClientCredentials, err = NewOauthFlow(v3, compiler.NewContext("clientCredentials", v3, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // OauthFlow authorization_code = 4;
- v4 := compiler.MapValueForKey(m, "authorizationCode")
- if v4 != nil {
- var err error
- x.AuthorizationCode, err = NewOauthFlow(v4, compiler.NewContext("authorizationCode", v4, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // repeated NamedAny specification_extension = 5;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewObject creates an object of type Object if possible, returning an error if not.
- func NewObject(in *yaml.Node, context *compiler.Context) (*Object, error) {
- errors := make([]error, 0)
- x := &Object{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedAny additional_properties = 1;
- // MAP: Any
- x.AdditionalProperties = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewOperation creates an object of type Operation if possible, returning an error if not.
- func NewOperation(in *yaml.Node, context *compiler.Context) (*Operation, error) {
- errors := make([]error, 0)
- x := &Operation{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- requiredKeys := []string{"responses"}
- missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
- if len(missingKeys) > 0 {
- message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- allowedKeys := []string{"callbacks", "deprecated", "description", "externalDocs", "operationId", "parameters", "requestBody", "responses", "security", "servers", "summary", "tags"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // repeated string tags = 1;
- v1 := compiler.MapValueForKey(m, "tags")
- if v1 != nil {
- v, ok := compiler.SequenceNodeForNode(v1)
- if ok {
- x.Tags = compiler.StringArrayForSequenceNode(v)
- } else {
- message := fmt.Sprintf("has unexpected value for tags: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string summary = 2;
- v2 := compiler.MapValueForKey(m, "summary")
- if v2 != nil {
- x.Summary, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for summary: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string description = 3;
- v3 := compiler.MapValueForKey(m, "description")
- if v3 != nil {
- x.Description, ok = compiler.StringForScalarNode(v3)
- if !ok {
- message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v3))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // ExternalDocs external_docs = 4;
- v4 := compiler.MapValueForKey(m, "externalDocs")
- if v4 != nil {
- var err error
- x.ExternalDocs, err = NewExternalDocs(v4, compiler.NewContext("externalDocs", v4, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // string operation_id = 5;
- v5 := compiler.MapValueForKey(m, "operationId")
- if v5 != nil {
- x.OperationId, ok = compiler.StringForScalarNode(v5)
- if !ok {
- message := fmt.Sprintf("has unexpected value for operationId: %s", compiler.Display(v5))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // repeated ParameterOrReference parameters = 6;
- v6 := compiler.MapValueForKey(m, "parameters")
- if v6 != nil {
- // repeated ParameterOrReference
- x.Parameters = make([]*ParameterOrReference, 0)
- a, ok := compiler.SequenceNodeForNode(v6)
- if ok {
- for _, item := range a.Content {
- y, err := NewParameterOrReference(item, compiler.NewContext("parameters", item, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.Parameters = append(x.Parameters, y)
- }
- }
- }
- // RequestBodyOrReference request_body = 7;
- v7 := compiler.MapValueForKey(m, "requestBody")
- if v7 != nil {
- var err error
- x.RequestBody, err = NewRequestBodyOrReference(v7, compiler.NewContext("requestBody", v7, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // Responses responses = 8;
- v8 := compiler.MapValueForKey(m, "responses")
- if v8 != nil {
- var err error
- x.Responses, err = NewResponses(v8, compiler.NewContext("responses", v8, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // CallbacksOrReferences callbacks = 9;
- v9 := compiler.MapValueForKey(m, "callbacks")
- if v9 != nil {
- var err error
- x.Callbacks, err = NewCallbacksOrReferences(v9, compiler.NewContext("callbacks", v9, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // bool deprecated = 10;
- v10 := compiler.MapValueForKey(m, "deprecated")
- if v10 != nil {
- x.Deprecated, ok = compiler.BoolForScalarNode(v10)
- if !ok {
- message := fmt.Sprintf("has unexpected value for deprecated: %s", compiler.Display(v10))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // repeated SecurityRequirement security = 11;
- v11 := compiler.MapValueForKey(m, "security")
- if v11 != nil {
- // repeated SecurityRequirement
- x.Security = make([]*SecurityRequirement, 0)
- a, ok := compiler.SequenceNodeForNode(v11)
- if ok {
- for _, item := range a.Content {
- y, err := NewSecurityRequirement(item, compiler.NewContext("security", item, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.Security = append(x.Security, y)
- }
- }
- }
- // repeated Server servers = 12;
- v12 := compiler.MapValueForKey(m, "servers")
- if v12 != nil {
- // repeated Server
- x.Servers = make([]*Server, 0)
- a, ok := compiler.SequenceNodeForNode(v12)
- if ok {
- for _, item := range a.Content {
- y, err := NewServer(item, compiler.NewContext("servers", item, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.Servers = append(x.Servers, y)
- }
- }
- }
- // repeated NamedAny specification_extension = 13;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewParameter creates an object of type Parameter if possible, returning an error if not.
- func NewParameter(in *yaml.Node, context *compiler.Context) (*Parameter, error) {
- errors := make([]error, 0)
- x := &Parameter{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- requiredKeys := []string{"in", "name"}
- missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
- if len(missingKeys) > 0 {
- message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- allowedKeys := []string{"allowEmptyValue", "allowReserved", "content", "deprecated", "description", "example", "examples", "explode", "in", "name", "required", "schema", "style"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string in = 2;
- v2 := compiler.MapValueForKey(m, "in")
- if v2 != nil {
- x.In, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for in: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string description = 3;
- v3 := compiler.MapValueForKey(m, "description")
- if v3 != nil {
- x.Description, ok = compiler.StringForScalarNode(v3)
- if !ok {
- message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v3))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool required = 4;
- v4 := compiler.MapValueForKey(m, "required")
- if v4 != nil {
- x.Required, ok = compiler.BoolForScalarNode(v4)
- if !ok {
- message := fmt.Sprintf("has unexpected value for required: %s", compiler.Display(v4))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool deprecated = 5;
- v5 := compiler.MapValueForKey(m, "deprecated")
- if v5 != nil {
- x.Deprecated, ok = compiler.BoolForScalarNode(v5)
- if !ok {
- message := fmt.Sprintf("has unexpected value for deprecated: %s", compiler.Display(v5))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool allow_empty_value = 6;
- v6 := compiler.MapValueForKey(m, "allowEmptyValue")
- if v6 != nil {
- x.AllowEmptyValue, ok = compiler.BoolForScalarNode(v6)
- if !ok {
- message := fmt.Sprintf("has unexpected value for allowEmptyValue: %s", compiler.Display(v6))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string style = 7;
- v7 := compiler.MapValueForKey(m, "style")
- if v7 != nil {
- x.Style, ok = compiler.StringForScalarNode(v7)
- if !ok {
- message := fmt.Sprintf("has unexpected value for style: %s", compiler.Display(v7))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool explode = 8;
- v8 := compiler.MapValueForKey(m, "explode")
- if v8 != nil {
- x.Explode, ok = compiler.BoolForScalarNode(v8)
- if !ok {
- message := fmt.Sprintf("has unexpected value for explode: %s", compiler.Display(v8))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool allow_reserved = 9;
- v9 := compiler.MapValueForKey(m, "allowReserved")
- if v9 != nil {
- x.AllowReserved, ok = compiler.BoolForScalarNode(v9)
- if !ok {
- message := fmt.Sprintf("has unexpected value for allowReserved: %s", compiler.Display(v9))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // SchemaOrReference schema = 10;
- v10 := compiler.MapValueForKey(m, "schema")
- if v10 != nil {
- var err error
- x.Schema, err = NewSchemaOrReference(v10, compiler.NewContext("schema", v10, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // Any example = 11;
- v11 := compiler.MapValueForKey(m, "example")
- if v11 != nil {
- var err error
- x.Example, err = NewAny(v11, compiler.NewContext("example", v11, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // ExamplesOrReferences examples = 12;
- v12 := compiler.MapValueForKey(m, "examples")
- if v12 != nil {
- var err error
- x.Examples, err = NewExamplesOrReferences(v12, compiler.NewContext("examples", v12, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // MediaTypes content = 13;
- v13 := compiler.MapValueForKey(m, "content")
- if v13 != nil {
- var err error
- x.Content, err = NewMediaTypes(v13, compiler.NewContext("content", v13, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // repeated NamedAny specification_extension = 14;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewParameterOrReference creates an object of type ParameterOrReference if possible, returning an error if not.
- func NewParameterOrReference(in *yaml.Node, context *compiler.Context) (*ParameterOrReference, error) {
- errors := make([]error, 0)
- x := &ParameterOrReference{}
- matched := false
- // Parameter parameter = 1;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewParameter(m, compiler.NewContext("parameter", m, context))
- if matchingError == nil {
- x.Oneof = &ParameterOrReference_Parameter{Parameter: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- // Reference reference = 2;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
- if matchingError == nil {
- x.Oneof = &ParameterOrReference_Reference{Reference: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- if matched {
- // since the oneof matched one of its possibilities, discard any matching errors
- errors = make([]error, 0)
- } else {
- message := fmt.Sprintf("contains an invalid ParameterOrReference")
- err := compiler.NewError(context, message)
- errors = []error{err}
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewParametersOrReferences creates an object of type ParametersOrReferences if possible, returning an error if not.
- func NewParametersOrReferences(in *yaml.Node, context *compiler.Context) (*ParametersOrReferences, error) {
- errors := make([]error, 0)
- x := &ParametersOrReferences{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedParameterOrReference additional_properties = 1;
- // MAP: ParameterOrReference
- x.AdditionalProperties = make([]*NamedParameterOrReference, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedParameterOrReference{}
- pair.Name = k
- var err error
- pair.Value, err = NewParameterOrReference(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewPathItem creates an object of type PathItem if possible, returning an error if not.
- func NewPathItem(in *yaml.Node, context *compiler.Context) (*PathItem, error) {
- errors := make([]error, 0)
- x := &PathItem{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"$ref", "delete", "description", "get", "head", "options", "parameters", "patch", "post", "put", "servers", "summary", "trace"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string _ref = 1;
- v1 := compiler.MapValueForKey(m, "$ref")
- if v1 != nil {
- x.XRef, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for $ref: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string summary = 2;
- v2 := compiler.MapValueForKey(m, "summary")
- if v2 != nil {
- x.Summary, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for summary: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string description = 3;
- v3 := compiler.MapValueForKey(m, "description")
- if v3 != nil {
- x.Description, ok = compiler.StringForScalarNode(v3)
- if !ok {
- message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v3))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // Operation get = 4;
- v4 := compiler.MapValueForKey(m, "get")
- if v4 != nil {
- var err error
- x.Get, err = NewOperation(v4, compiler.NewContext("get", v4, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // Operation put = 5;
- v5 := compiler.MapValueForKey(m, "put")
- if v5 != nil {
- var err error
- x.Put, err = NewOperation(v5, compiler.NewContext("put", v5, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // Operation post = 6;
- v6 := compiler.MapValueForKey(m, "post")
- if v6 != nil {
- var err error
- x.Post, err = NewOperation(v6, compiler.NewContext("post", v6, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // Operation delete = 7;
- v7 := compiler.MapValueForKey(m, "delete")
- if v7 != nil {
- var err error
- x.Delete, err = NewOperation(v7, compiler.NewContext("delete", v7, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // Operation options = 8;
- v8 := compiler.MapValueForKey(m, "options")
- if v8 != nil {
- var err error
- x.Options, err = NewOperation(v8, compiler.NewContext("options", v8, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // Operation head = 9;
- v9 := compiler.MapValueForKey(m, "head")
- if v9 != nil {
- var err error
- x.Head, err = NewOperation(v9, compiler.NewContext("head", v9, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // Operation patch = 10;
- v10 := compiler.MapValueForKey(m, "patch")
- if v10 != nil {
- var err error
- x.Patch, err = NewOperation(v10, compiler.NewContext("patch", v10, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // Operation trace = 11;
- v11 := compiler.MapValueForKey(m, "trace")
- if v11 != nil {
- var err error
- x.Trace, err = NewOperation(v11, compiler.NewContext("trace", v11, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // repeated Server servers = 12;
- v12 := compiler.MapValueForKey(m, "servers")
- if v12 != nil {
- // repeated Server
- x.Servers = make([]*Server, 0)
- a, ok := compiler.SequenceNodeForNode(v12)
- if ok {
- for _, item := range a.Content {
- y, err := NewServer(item, compiler.NewContext("servers", item, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.Servers = append(x.Servers, y)
- }
- }
- }
- // repeated ParameterOrReference parameters = 13;
- v13 := compiler.MapValueForKey(m, "parameters")
- if v13 != nil {
- // repeated ParameterOrReference
- x.Parameters = make([]*ParameterOrReference, 0)
- a, ok := compiler.SequenceNodeForNode(v13)
- if ok {
- for _, item := range a.Content {
- y, err := NewParameterOrReference(item, compiler.NewContext("parameters", item, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.Parameters = append(x.Parameters, y)
- }
- }
- }
- // repeated NamedAny specification_extension = 14;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewPaths creates an object of type Paths if possible, returning an error if not.
- func NewPaths(in *yaml.Node, context *compiler.Context) (*Paths, error) {
- errors := make([]error, 0)
- x := &Paths{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{}
- allowedPatterns := []*regexp.Regexp{pattern2, pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // repeated NamedPathItem path = 1;
- // MAP: PathItem ^/
- x.Path = make([]*NamedPathItem, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "/") {
- pair := &NamedPathItem{}
- pair.Name = k
- var err error
- pair.Value, err = NewPathItem(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.Path = append(x.Path, pair)
- }
- }
- }
- // repeated NamedAny specification_extension = 2;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewProperties creates an object of type Properties if possible, returning an error if not.
- func NewProperties(in *yaml.Node, context *compiler.Context) (*Properties, error) {
- errors := make([]error, 0)
- x := &Properties{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedSchemaOrReference additional_properties = 1;
- // MAP: SchemaOrReference
- x.AdditionalProperties = make([]*NamedSchemaOrReference, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedSchemaOrReference{}
- pair.Name = k
- var err error
- pair.Value, err = NewSchemaOrReference(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewReference creates an object of type Reference if possible, returning an error if not.
- func NewReference(in *yaml.Node, context *compiler.Context) (*Reference, error) {
- errors := make([]error, 0)
- x := &Reference{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- requiredKeys := []string{"$ref"}
- missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
- if len(missingKeys) > 0 {
- message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string _ref = 1;
- v1 := compiler.MapValueForKey(m, "$ref")
- if v1 != nil {
- x.XRef, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for $ref: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string summary = 2;
- v2 := compiler.MapValueForKey(m, "summary")
- if v2 != nil {
- x.Summary, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for summary: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string description = 3;
- v3 := compiler.MapValueForKey(m, "description")
- if v3 != nil {
- x.Description, ok = compiler.StringForScalarNode(v3)
- if !ok {
- message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v3))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewRequestBodiesOrReferences creates an object of type RequestBodiesOrReferences if possible, returning an error if not.
- func NewRequestBodiesOrReferences(in *yaml.Node, context *compiler.Context) (*RequestBodiesOrReferences, error) {
- errors := make([]error, 0)
- x := &RequestBodiesOrReferences{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedRequestBodyOrReference additional_properties = 1;
- // MAP: RequestBodyOrReference
- x.AdditionalProperties = make([]*NamedRequestBodyOrReference, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedRequestBodyOrReference{}
- pair.Name = k
- var err error
- pair.Value, err = NewRequestBodyOrReference(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewRequestBody creates an object of type RequestBody if possible, returning an error if not.
- func NewRequestBody(in *yaml.Node, context *compiler.Context) (*RequestBody, error) {
- errors := make([]error, 0)
- x := &RequestBody{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- requiredKeys := []string{"content"}
- missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
- if len(missingKeys) > 0 {
- message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- allowedKeys := []string{"content", "description", "required"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string description = 1;
- v1 := compiler.MapValueForKey(m, "description")
- if v1 != nil {
- x.Description, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // MediaTypes content = 2;
- v2 := compiler.MapValueForKey(m, "content")
- if v2 != nil {
- var err error
- x.Content, err = NewMediaTypes(v2, compiler.NewContext("content", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // bool required = 3;
- v3 := compiler.MapValueForKey(m, "required")
- if v3 != nil {
- x.Required, ok = compiler.BoolForScalarNode(v3)
- if !ok {
- message := fmt.Sprintf("has unexpected value for required: %s", compiler.Display(v3))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // repeated NamedAny specification_extension = 4;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewRequestBodyOrReference creates an object of type RequestBodyOrReference if possible, returning an error if not.
- func NewRequestBodyOrReference(in *yaml.Node, context *compiler.Context) (*RequestBodyOrReference, error) {
- errors := make([]error, 0)
- x := &RequestBodyOrReference{}
- matched := false
- // RequestBody request_body = 1;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewRequestBody(m, compiler.NewContext("requestBody", m, context))
- if matchingError == nil {
- x.Oneof = &RequestBodyOrReference_RequestBody{RequestBody: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- // Reference reference = 2;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
- if matchingError == nil {
- x.Oneof = &RequestBodyOrReference_Reference{Reference: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- if matched {
- // since the oneof matched one of its possibilities, discard any matching errors
- errors = make([]error, 0)
- } else {
- message := fmt.Sprintf("contains an invalid RequestBodyOrReference")
- err := compiler.NewError(context, message)
- errors = []error{err}
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewResponse creates an object of type Response if possible, returning an error if not.
- func NewResponse(in *yaml.Node, context *compiler.Context) (*Response, error) {
- errors := make([]error, 0)
- x := &Response{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- requiredKeys := []string{"description"}
- missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
- if len(missingKeys) > 0 {
- message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- allowedKeys := []string{"content", "description", "headers", "links"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string description = 1;
- v1 := compiler.MapValueForKey(m, "description")
- if v1 != nil {
- x.Description, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // HeadersOrReferences headers = 2;
- v2 := compiler.MapValueForKey(m, "headers")
- if v2 != nil {
- var err error
- x.Headers, err = NewHeadersOrReferences(v2, compiler.NewContext("headers", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // MediaTypes content = 3;
- v3 := compiler.MapValueForKey(m, "content")
- if v3 != nil {
- var err error
- x.Content, err = NewMediaTypes(v3, compiler.NewContext("content", v3, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // LinksOrReferences links = 4;
- v4 := compiler.MapValueForKey(m, "links")
- if v4 != nil {
- var err error
- x.Links, err = NewLinksOrReferences(v4, compiler.NewContext("links", v4, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // repeated NamedAny specification_extension = 5;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewResponseOrReference creates an object of type ResponseOrReference if possible, returning an error if not.
- func NewResponseOrReference(in *yaml.Node, context *compiler.Context) (*ResponseOrReference, error) {
- errors := make([]error, 0)
- x := &ResponseOrReference{}
- matched := false
- // Response response = 1;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewResponse(m, compiler.NewContext("response", m, context))
- if matchingError == nil {
- x.Oneof = &ResponseOrReference_Response{Response: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- // Reference reference = 2;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
- if matchingError == nil {
- x.Oneof = &ResponseOrReference_Reference{Reference: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- if matched {
- // since the oneof matched one of its possibilities, discard any matching errors
- errors = make([]error, 0)
- } else {
- message := fmt.Sprintf("contains an invalid ResponseOrReference")
- err := compiler.NewError(context, message)
- errors = []error{err}
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewResponses creates an object of type Responses if possible, returning an error if not.
- func NewResponses(in *yaml.Node, context *compiler.Context) (*Responses, error) {
- errors := make([]error, 0)
- x := &Responses{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"default"}
- allowedPatterns := []*regexp.Regexp{pattern3, pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // ResponseOrReference default = 1;
- v1 := compiler.MapValueForKey(m, "default")
- if v1 != nil {
- var err error
- x.Default, err = NewResponseOrReference(v1, compiler.NewContext("default", v1, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // repeated NamedResponseOrReference response_or_reference = 2;
- // MAP: ResponseOrReference ^([0-9X]{3})$
- x.ResponseOrReference = make([]*NamedResponseOrReference, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if pattern3.MatchString(k) {
- pair := &NamedResponseOrReference{}
- pair.Name = k
- var err error
- pair.Value, err = NewResponseOrReference(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.ResponseOrReference = append(x.ResponseOrReference, pair)
- }
- }
- }
- // repeated NamedAny specification_extension = 3;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewResponsesOrReferences creates an object of type ResponsesOrReferences if possible, returning an error if not.
- func NewResponsesOrReferences(in *yaml.Node, context *compiler.Context) (*ResponsesOrReferences, error) {
- errors := make([]error, 0)
- x := &ResponsesOrReferences{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedResponseOrReference additional_properties = 1;
- // MAP: ResponseOrReference
- x.AdditionalProperties = make([]*NamedResponseOrReference, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedResponseOrReference{}
- pair.Name = k
- var err error
- pair.Value, err = NewResponseOrReference(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewSchema creates an object of type Schema if possible, returning an error if not.
- func NewSchema(in *yaml.Node, context *compiler.Context) (*Schema, error) {
- errors := make([]error, 0)
- x := &Schema{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"additionalProperties", "allOf", "anyOf", "default", "deprecated", "description", "discriminator", "enum", "example", "exclusiveMaximum", "exclusiveMinimum", "externalDocs", "format", "items", "maxItems", "maxLength", "maxProperties", "maximum", "minItems", "minLength", "minProperties", "minimum", "multipleOf", "not", "nullable", "oneOf", "pattern", "properties", "readOnly", "required", "title", "type", "uniqueItems", "writeOnly", "xml"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // bool nullable = 1;
- v1 := compiler.MapValueForKey(m, "nullable")
- if v1 != nil {
- x.Nullable, ok = compiler.BoolForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for nullable: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // Discriminator discriminator = 2;
- v2 := compiler.MapValueForKey(m, "discriminator")
- if v2 != nil {
- var err error
- x.Discriminator, err = NewDiscriminator(v2, compiler.NewContext("discriminator", v2, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // bool read_only = 3;
- v3 := compiler.MapValueForKey(m, "readOnly")
- if v3 != nil {
- x.ReadOnly, ok = compiler.BoolForScalarNode(v3)
- if !ok {
- message := fmt.Sprintf("has unexpected value for readOnly: %s", compiler.Display(v3))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool write_only = 4;
- v4 := compiler.MapValueForKey(m, "writeOnly")
- if v4 != nil {
- x.WriteOnly, ok = compiler.BoolForScalarNode(v4)
- if !ok {
- message := fmt.Sprintf("has unexpected value for writeOnly: %s", compiler.Display(v4))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // Xml xml = 5;
- v5 := compiler.MapValueForKey(m, "xml")
- if v5 != nil {
- var err error
- x.Xml, err = NewXml(v5, compiler.NewContext("xml", v5, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // ExternalDocs external_docs = 6;
- v6 := compiler.MapValueForKey(m, "externalDocs")
- if v6 != nil {
- var err error
- x.ExternalDocs, err = NewExternalDocs(v6, compiler.NewContext("externalDocs", v6, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // Any example = 7;
- v7 := compiler.MapValueForKey(m, "example")
- if v7 != nil {
- var err error
- x.Example, err = NewAny(v7, compiler.NewContext("example", v7, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // bool deprecated = 8;
- v8 := compiler.MapValueForKey(m, "deprecated")
- if v8 != nil {
- x.Deprecated, ok = compiler.BoolForScalarNode(v8)
- if !ok {
- message := fmt.Sprintf("has unexpected value for deprecated: %s", compiler.Display(v8))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string title = 9;
- v9 := compiler.MapValueForKey(m, "title")
- if v9 != nil {
- x.Title, ok = compiler.StringForScalarNode(v9)
- if !ok {
- message := fmt.Sprintf("has unexpected value for title: %s", compiler.Display(v9))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // float multiple_of = 10;
- v10 := compiler.MapValueForKey(m, "multipleOf")
- if v10 != nil {
- v, ok := compiler.FloatForScalarNode(v10)
- if ok {
- x.MultipleOf = v
- } else {
- message := fmt.Sprintf("has unexpected value for multipleOf: %s", compiler.Display(v10))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // float maximum = 11;
- v11 := compiler.MapValueForKey(m, "maximum")
- if v11 != nil {
- v, ok := compiler.FloatForScalarNode(v11)
- if ok {
- x.Maximum = v
- } else {
- message := fmt.Sprintf("has unexpected value for maximum: %s", compiler.Display(v11))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool exclusive_maximum = 12;
- v12 := compiler.MapValueForKey(m, "exclusiveMaximum")
- if v12 != nil {
- x.ExclusiveMaximum, ok = compiler.BoolForScalarNode(v12)
- if !ok {
- message := fmt.Sprintf("has unexpected value for exclusiveMaximum: %s", compiler.Display(v12))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // float minimum = 13;
- v13 := compiler.MapValueForKey(m, "minimum")
- if v13 != nil {
- v, ok := compiler.FloatForScalarNode(v13)
- if ok {
- x.Minimum = v
- } else {
- message := fmt.Sprintf("has unexpected value for minimum: %s", compiler.Display(v13))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool exclusive_minimum = 14;
- v14 := compiler.MapValueForKey(m, "exclusiveMinimum")
- if v14 != nil {
- x.ExclusiveMinimum, ok = compiler.BoolForScalarNode(v14)
- if !ok {
- message := fmt.Sprintf("has unexpected value for exclusiveMinimum: %s", compiler.Display(v14))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // int64 max_length = 15;
- v15 := compiler.MapValueForKey(m, "maxLength")
- if v15 != nil {
- t, ok := compiler.IntForScalarNode(v15)
- if ok {
- x.MaxLength = int64(t)
- } else {
- message := fmt.Sprintf("has unexpected value for maxLength: %s", compiler.Display(v15))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // int64 min_length = 16;
- v16 := compiler.MapValueForKey(m, "minLength")
- if v16 != nil {
- t, ok := compiler.IntForScalarNode(v16)
- if ok {
- x.MinLength = int64(t)
- } else {
- message := fmt.Sprintf("has unexpected value for minLength: %s", compiler.Display(v16))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string pattern = 17;
- v17 := compiler.MapValueForKey(m, "pattern")
- if v17 != nil {
- x.Pattern, ok = compiler.StringForScalarNode(v17)
- if !ok {
- message := fmt.Sprintf("has unexpected value for pattern: %s", compiler.Display(v17))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // int64 max_items = 18;
- v18 := compiler.MapValueForKey(m, "maxItems")
- if v18 != nil {
- t, ok := compiler.IntForScalarNode(v18)
- if ok {
- x.MaxItems = int64(t)
- } else {
- message := fmt.Sprintf("has unexpected value for maxItems: %s", compiler.Display(v18))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // int64 min_items = 19;
- v19 := compiler.MapValueForKey(m, "minItems")
- if v19 != nil {
- t, ok := compiler.IntForScalarNode(v19)
- if ok {
- x.MinItems = int64(t)
- } else {
- message := fmt.Sprintf("has unexpected value for minItems: %s", compiler.Display(v19))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool unique_items = 20;
- v20 := compiler.MapValueForKey(m, "uniqueItems")
- if v20 != nil {
- x.UniqueItems, ok = compiler.BoolForScalarNode(v20)
- if !ok {
- message := fmt.Sprintf("has unexpected value for uniqueItems: %s", compiler.Display(v20))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // int64 max_properties = 21;
- v21 := compiler.MapValueForKey(m, "maxProperties")
- if v21 != nil {
- t, ok := compiler.IntForScalarNode(v21)
- if ok {
- x.MaxProperties = int64(t)
- } else {
- message := fmt.Sprintf("has unexpected value for maxProperties: %s", compiler.Display(v21))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // int64 min_properties = 22;
- v22 := compiler.MapValueForKey(m, "minProperties")
- if v22 != nil {
- t, ok := compiler.IntForScalarNode(v22)
- if ok {
- x.MinProperties = int64(t)
- } else {
- message := fmt.Sprintf("has unexpected value for minProperties: %s", compiler.Display(v22))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // repeated string required = 23;
- v23 := compiler.MapValueForKey(m, "required")
- if v23 != nil {
- v, ok := compiler.SequenceNodeForNode(v23)
- if ok {
- x.Required = compiler.StringArrayForSequenceNode(v)
- } else {
- message := fmt.Sprintf("has unexpected value for required: %s", compiler.Display(v23))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // repeated Any enum = 24;
- v24 := compiler.MapValueForKey(m, "enum")
- if v24 != nil {
- // repeated Any
- x.Enum = make([]*Any, 0)
- a, ok := compiler.SequenceNodeForNode(v24)
- if ok {
- for _, item := range a.Content {
- y, err := NewAny(item, compiler.NewContext("enum", item, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.Enum = append(x.Enum, y)
- }
- }
- }
- // string type = 25;
- v25 := compiler.MapValueForKey(m, "type")
- if v25 != nil {
- x.Type, ok = compiler.StringForScalarNode(v25)
- if !ok {
- message := fmt.Sprintf("has unexpected value for type: %s", compiler.Display(v25))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // repeated SchemaOrReference all_of = 26;
- v26 := compiler.MapValueForKey(m, "allOf")
- if v26 != nil {
- // repeated SchemaOrReference
- x.AllOf = make([]*SchemaOrReference, 0)
- a, ok := compiler.SequenceNodeForNode(v26)
- if ok {
- for _, item := range a.Content {
- y, err := NewSchemaOrReference(item, compiler.NewContext("allOf", item, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.AllOf = append(x.AllOf, y)
- }
- }
- }
- // repeated SchemaOrReference one_of = 27;
- v27 := compiler.MapValueForKey(m, "oneOf")
- if v27 != nil {
- // repeated SchemaOrReference
- x.OneOf = make([]*SchemaOrReference, 0)
- a, ok := compiler.SequenceNodeForNode(v27)
- if ok {
- for _, item := range a.Content {
- y, err := NewSchemaOrReference(item, compiler.NewContext("oneOf", item, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.OneOf = append(x.OneOf, y)
- }
- }
- }
- // repeated SchemaOrReference any_of = 28;
- v28 := compiler.MapValueForKey(m, "anyOf")
- if v28 != nil {
- // repeated SchemaOrReference
- x.AnyOf = make([]*SchemaOrReference, 0)
- a, ok := compiler.SequenceNodeForNode(v28)
- if ok {
- for _, item := range a.Content {
- y, err := NewSchemaOrReference(item, compiler.NewContext("anyOf", item, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.AnyOf = append(x.AnyOf, y)
- }
- }
- }
- // Schema not = 29;
- v29 := compiler.MapValueForKey(m, "not")
- if v29 != nil {
- var err error
- x.Not, err = NewSchema(v29, compiler.NewContext("not", v29, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // ItemsItem items = 30;
- v30 := compiler.MapValueForKey(m, "items")
- if v30 != nil {
- var err error
- x.Items, err = NewItemsItem(v30, compiler.NewContext("items", v30, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // Properties properties = 31;
- v31 := compiler.MapValueForKey(m, "properties")
- if v31 != nil {
- var err error
- x.Properties, err = NewProperties(v31, compiler.NewContext("properties", v31, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // AdditionalPropertiesItem additional_properties = 32;
- v32 := compiler.MapValueForKey(m, "additionalProperties")
- if v32 != nil {
- var err error
- x.AdditionalProperties, err = NewAdditionalPropertiesItem(v32, compiler.NewContext("additionalProperties", v32, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // DefaultType default = 33;
- v33 := compiler.MapValueForKey(m, "default")
- if v33 != nil {
- var err error
- x.Default, err = NewDefaultType(v33, compiler.NewContext("default", v33, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // string description = 34;
- v34 := compiler.MapValueForKey(m, "description")
- if v34 != nil {
- x.Description, ok = compiler.StringForScalarNode(v34)
- if !ok {
- message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v34))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string format = 35;
- v35 := compiler.MapValueForKey(m, "format")
- if v35 != nil {
- x.Format, ok = compiler.StringForScalarNode(v35)
- if !ok {
- message := fmt.Sprintf("has unexpected value for format: %s", compiler.Display(v35))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // repeated NamedAny specification_extension = 36;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewSchemaOrReference creates an object of type SchemaOrReference if possible, returning an error if not.
- func NewSchemaOrReference(in *yaml.Node, context *compiler.Context) (*SchemaOrReference, error) {
- errors := make([]error, 0)
- x := &SchemaOrReference{}
- matched := false
- // Schema schema = 1;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewSchema(m, compiler.NewContext("schema", m, context))
- if matchingError == nil {
- x.Oneof = &SchemaOrReference_Schema{Schema: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- // Reference reference = 2;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
- if matchingError == nil {
- x.Oneof = &SchemaOrReference_Reference{Reference: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- if matched {
- // since the oneof matched one of its possibilities, discard any matching errors
- errors = make([]error, 0)
- } else {
- message := fmt.Sprintf("contains an invalid SchemaOrReference")
- err := compiler.NewError(context, message)
- errors = []error{err}
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewSchemasOrReferences creates an object of type SchemasOrReferences if possible, returning an error if not.
- func NewSchemasOrReferences(in *yaml.Node, context *compiler.Context) (*SchemasOrReferences, error) {
- errors := make([]error, 0)
- x := &SchemasOrReferences{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedSchemaOrReference additional_properties = 1;
- // MAP: SchemaOrReference
- x.AdditionalProperties = make([]*NamedSchemaOrReference, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedSchemaOrReference{}
- pair.Name = k
- var err error
- pair.Value, err = NewSchemaOrReference(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewSecurityRequirement creates an object of type SecurityRequirement if possible, returning an error if not.
- func NewSecurityRequirement(in *yaml.Node, context *compiler.Context) (*SecurityRequirement, error) {
- errors := make([]error, 0)
- x := &SecurityRequirement{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedStringArray additional_properties = 1;
- // MAP: StringArray
- x.AdditionalProperties = make([]*NamedStringArray, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedStringArray{}
- pair.Name = k
- var err error
- pair.Value, err = NewStringArray(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewSecurityScheme creates an object of type SecurityScheme if possible, returning an error if not.
- func NewSecurityScheme(in *yaml.Node, context *compiler.Context) (*SecurityScheme, error) {
- errors := make([]error, 0)
- x := &SecurityScheme{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- requiredKeys := []string{"type"}
- missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
- if len(missingKeys) > 0 {
- message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- allowedKeys := []string{"bearerFormat", "description", "flows", "in", "name", "openIdConnectUrl", "scheme", "type"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string type = 1;
- v1 := compiler.MapValueForKey(m, "type")
- if v1 != nil {
- x.Type, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for type: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string description = 2;
- v2 := compiler.MapValueForKey(m, "description")
- if v2 != nil {
- x.Description, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string name = 3;
- v3 := compiler.MapValueForKey(m, "name")
- if v3 != nil {
- x.Name, ok = compiler.StringForScalarNode(v3)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v3))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string in = 4;
- v4 := compiler.MapValueForKey(m, "in")
- if v4 != nil {
- x.In, ok = compiler.StringForScalarNode(v4)
- if !ok {
- message := fmt.Sprintf("has unexpected value for in: %s", compiler.Display(v4))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string scheme = 5;
- v5 := compiler.MapValueForKey(m, "scheme")
- if v5 != nil {
- x.Scheme, ok = compiler.StringForScalarNode(v5)
- if !ok {
- message := fmt.Sprintf("has unexpected value for scheme: %s", compiler.Display(v5))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string bearer_format = 6;
- v6 := compiler.MapValueForKey(m, "bearerFormat")
- if v6 != nil {
- x.BearerFormat, ok = compiler.StringForScalarNode(v6)
- if !ok {
- message := fmt.Sprintf("has unexpected value for bearerFormat: %s", compiler.Display(v6))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // OauthFlows flows = 7;
- v7 := compiler.MapValueForKey(m, "flows")
- if v7 != nil {
- var err error
- x.Flows, err = NewOauthFlows(v7, compiler.NewContext("flows", v7, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // string open_id_connect_url = 8;
- v8 := compiler.MapValueForKey(m, "openIdConnectUrl")
- if v8 != nil {
- x.OpenIdConnectUrl, ok = compiler.StringForScalarNode(v8)
- if !ok {
- message := fmt.Sprintf("has unexpected value for openIdConnectUrl: %s", compiler.Display(v8))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // repeated NamedAny specification_extension = 9;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewSecuritySchemeOrReference creates an object of type SecuritySchemeOrReference if possible, returning an error if not.
- func NewSecuritySchemeOrReference(in *yaml.Node, context *compiler.Context) (*SecuritySchemeOrReference, error) {
- errors := make([]error, 0)
- x := &SecuritySchemeOrReference{}
- matched := false
- // SecurityScheme security_scheme = 1;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewSecurityScheme(m, compiler.NewContext("securityScheme", m, context))
- if matchingError == nil {
- x.Oneof = &SecuritySchemeOrReference_SecurityScheme{SecurityScheme: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- // Reference reference = 2;
- {
- m, ok := compiler.UnpackMap(in)
- if ok {
- // errors might be ok here, they mean we just don't have the right subtype
- t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
- if matchingError == nil {
- x.Oneof = &SecuritySchemeOrReference_Reference{Reference: t}
- matched = true
- } else {
- errors = append(errors, matchingError)
- }
- }
- }
- if matched {
- // since the oneof matched one of its possibilities, discard any matching errors
- errors = make([]error, 0)
- } else {
- message := fmt.Sprintf("contains an invalid SecuritySchemeOrReference")
- err := compiler.NewError(context, message)
- errors = []error{err}
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewSecuritySchemesOrReferences creates an object of type SecuritySchemesOrReferences if possible, returning an error if not.
- func NewSecuritySchemesOrReferences(in *yaml.Node, context *compiler.Context) (*SecuritySchemesOrReferences, error) {
- errors := make([]error, 0)
- x := &SecuritySchemesOrReferences{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedSecuritySchemeOrReference additional_properties = 1;
- // MAP: SecuritySchemeOrReference
- x.AdditionalProperties = make([]*NamedSecuritySchemeOrReference, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedSecuritySchemeOrReference{}
- pair.Name = k
- var err error
- pair.Value, err = NewSecuritySchemeOrReference(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewServer creates an object of type Server if possible, returning an error if not.
- func NewServer(in *yaml.Node, context *compiler.Context) (*Server, error) {
- errors := make([]error, 0)
- x := &Server{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- requiredKeys := []string{"url"}
- missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
- if len(missingKeys) > 0 {
- message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- allowedKeys := []string{"description", "url", "variables"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string url = 1;
- v1 := compiler.MapValueForKey(m, "url")
- if v1 != nil {
- x.Url, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for url: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string description = 2;
- v2 := compiler.MapValueForKey(m, "description")
- if v2 != nil {
- x.Description, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // ServerVariables variables = 3;
- v3 := compiler.MapValueForKey(m, "variables")
- if v3 != nil {
- var err error
- x.Variables, err = NewServerVariables(v3, compiler.NewContext("variables", v3, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // repeated NamedAny specification_extension = 4;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewServerVariable creates an object of type ServerVariable if possible, returning an error if not.
- func NewServerVariable(in *yaml.Node, context *compiler.Context) (*ServerVariable, error) {
- errors := make([]error, 0)
- x := &ServerVariable{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- requiredKeys := []string{"default"}
- missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
- if len(missingKeys) > 0 {
- message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- allowedKeys := []string{"default", "description", "enum"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // repeated string enum = 1;
- v1 := compiler.MapValueForKey(m, "enum")
- if v1 != nil {
- v, ok := compiler.SequenceNodeForNode(v1)
- if ok {
- x.Enum = compiler.StringArrayForSequenceNode(v)
- } else {
- message := fmt.Sprintf("has unexpected value for enum: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string default = 2;
- v2 := compiler.MapValueForKey(m, "default")
- if v2 != nil {
- x.Default, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for default: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string description = 3;
- v3 := compiler.MapValueForKey(m, "description")
- if v3 != nil {
- x.Description, ok = compiler.StringForScalarNode(v3)
- if !ok {
- message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v3))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // repeated NamedAny specification_extension = 4;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewServerVariables creates an object of type ServerVariables if possible, returning an error if not.
- func NewServerVariables(in *yaml.Node, context *compiler.Context) (*ServerVariables, error) {
- errors := make([]error, 0)
- x := &ServerVariables{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedServerVariable additional_properties = 1;
- // MAP: ServerVariable
- x.AdditionalProperties = make([]*NamedServerVariable, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedServerVariable{}
- pair.Name = k
- var err error
- pair.Value, err = NewServerVariable(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewSpecificationExtension creates an object of type SpecificationExtension if possible, returning an error if not.
- func NewSpecificationExtension(in *yaml.Node, context *compiler.Context) (*SpecificationExtension, error) {
- errors := make([]error, 0)
- x := &SpecificationExtension{}
- matched := false
- switch in.Tag {
- case "!!bool":
- var v bool
- v, matched = compiler.BoolForScalarNode(in)
- x.Oneof = &SpecificationExtension_Boolean{Boolean: v}
- case "!!str":
- var v string
- v, matched = compiler.StringForScalarNode(in)
- x.Oneof = &SpecificationExtension_String_{String_: v}
- case "!!float":
- var v float64
- v, matched = compiler.FloatForScalarNode(in)
- x.Oneof = &SpecificationExtension_Number{Number: v}
- case "!!int":
- var v int64
- v, matched = compiler.IntForScalarNode(in)
- x.Oneof = &SpecificationExtension_Number{Number: float64(v)}
- }
- if matched {
- // since the oneof matched one of its possibilities, discard any matching errors
- errors = make([]error, 0)
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewStringArray creates an object of type StringArray if possible, returning an error if not.
- func NewStringArray(in *yaml.Node, context *compiler.Context) (*StringArray, error) {
- errors := make([]error, 0)
- x := &StringArray{}
- x.Value = make([]string, 0)
- for _, node := range in.Content {
- s, _ := compiler.StringForScalarNode(node)
- x.Value = append(x.Value, s)
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewStrings creates an object of type Strings if possible, returning an error if not.
- func NewStrings(in *yaml.Node, context *compiler.Context) (*Strings, error) {
- errors := make([]error, 0)
- x := &Strings{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- // repeated NamedString additional_properties = 1;
- // MAP: string
- x.AdditionalProperties = make([]*NamedString, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- pair := &NamedString{}
- pair.Name = k
- pair.Value, _ = compiler.StringForScalarNode(v)
- x.AdditionalProperties = append(x.AdditionalProperties, pair)
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewTag creates an object of type Tag if possible, returning an error if not.
- func NewTag(in *yaml.Node, context *compiler.Context) (*Tag, error) {
- errors := make([]error, 0)
- x := &Tag{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- requiredKeys := []string{"name"}
- missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
- if len(missingKeys) > 0 {
- message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- allowedKeys := []string{"description", "externalDocs", "name"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string description = 2;
- v2 := compiler.MapValueForKey(m, "description")
- if v2 != nil {
- x.Description, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // ExternalDocs external_docs = 3;
- v3 := compiler.MapValueForKey(m, "externalDocs")
- if v3 != nil {
- var err error
- x.ExternalDocs, err = NewExternalDocs(v3, compiler.NewContext("externalDocs", v3, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- // repeated NamedAny specification_extension = 4;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // NewXml creates an object of type Xml if possible, returning an error if not.
- func NewXml(in *yaml.Node, context *compiler.Context) (*Xml, error) {
- errors := make([]error, 0)
- x := &Xml{}
- m, ok := compiler.UnpackMap(in)
- if !ok {
- message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
- errors = append(errors, compiler.NewError(context, message))
- } else {
- allowedKeys := []string{"attribute", "name", "namespace", "prefix", "wrapped"}
- allowedPatterns := []*regexp.Regexp{pattern1}
- invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
- if len(invalidKeys) > 0 {
- message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
- errors = append(errors, compiler.NewError(context, message))
- }
- // string name = 1;
- v1 := compiler.MapValueForKey(m, "name")
- if v1 != nil {
- x.Name, ok = compiler.StringForScalarNode(v1)
- if !ok {
- message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string namespace = 2;
- v2 := compiler.MapValueForKey(m, "namespace")
- if v2 != nil {
- x.Namespace, ok = compiler.StringForScalarNode(v2)
- if !ok {
- message := fmt.Sprintf("has unexpected value for namespace: %s", compiler.Display(v2))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // string prefix = 3;
- v3 := compiler.MapValueForKey(m, "prefix")
- if v3 != nil {
- x.Prefix, ok = compiler.StringForScalarNode(v3)
- if !ok {
- message := fmt.Sprintf("has unexpected value for prefix: %s", compiler.Display(v3))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool attribute = 4;
- v4 := compiler.MapValueForKey(m, "attribute")
- if v4 != nil {
- x.Attribute, ok = compiler.BoolForScalarNode(v4)
- if !ok {
- message := fmt.Sprintf("has unexpected value for attribute: %s", compiler.Display(v4))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // bool wrapped = 5;
- v5 := compiler.MapValueForKey(m, "wrapped")
- if v5 != nil {
- x.Wrapped, ok = compiler.BoolForScalarNode(v5)
- if !ok {
- message := fmt.Sprintf("has unexpected value for wrapped: %s", compiler.Display(v5))
- errors = append(errors, compiler.NewError(context, message))
- }
- }
- // repeated NamedAny specification_extension = 6;
- // MAP: Any ^x-
- x.SpecificationExtension = make([]*NamedAny, 0)
- for i := 0; i < len(m.Content); i += 2 {
- k, ok := compiler.StringForScalarNode(m.Content[i])
- if ok {
- v := m.Content[i+1]
- if strings.HasPrefix(k, "x-") {
- pair := &NamedAny{}
- pair.Name = k
- result := &Any{}
- handled, resultFromExt, err := compiler.CallExtension(context, v, k)
- if handled {
- if err != nil {
- errors = append(errors, err)
- } else {
- bytes := compiler.Marshal(v)
- result.Yaml = string(bytes)
- result.Value = resultFromExt
- pair.Value = result
- }
- } else {
- pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
- if err != nil {
- errors = append(errors, err)
- }
- }
- x.SpecificationExtension = append(x.SpecificationExtension, pair)
- }
- }
- }
- }
- return x, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside AdditionalPropertiesItem objects.
- func (m *AdditionalPropertiesItem) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- {
- p, ok := m.Oneof.(*AdditionalPropertiesItem_SchemaOrReference)
- if ok {
- _, err := p.SchemaOrReference.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Any objects.
- func (m *Any) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside AnyOrExpression objects.
- func (m *AnyOrExpression) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- {
- p, ok := m.Oneof.(*AnyOrExpression_Any)
- if ok {
- _, err := p.Any.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- {
- p, ok := m.Oneof.(*AnyOrExpression_Expression)
- if ok {
- _, err := p.Expression.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Callback objects.
- func (m *Callback) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.Path {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside CallbackOrReference objects.
- func (m *CallbackOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- {
- p, ok := m.Oneof.(*CallbackOrReference_Callback)
- if ok {
- _, err := p.Callback.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- {
- p, ok := m.Oneof.(*CallbackOrReference_Reference)
- if ok {
- _, err := p.Reference.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside CallbacksOrReferences objects.
- func (m *CallbacksOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Components objects.
- func (m *Components) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Schemas != nil {
- _, err := m.Schemas.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Responses != nil {
- _, err := m.Responses.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Parameters != nil {
- _, err := m.Parameters.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Examples != nil {
- _, err := m.Examples.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.RequestBodies != nil {
- _, err := m.RequestBodies.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Headers != nil {
- _, err := m.Headers.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.SecuritySchemes != nil {
- _, err := m.SecuritySchemes.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Links != nil {
- _, err := m.Links.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Callbacks != nil {
- _, err := m.Callbacks.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Contact objects.
- func (m *Contact) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside DefaultType objects.
- func (m *DefaultType) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Discriminator objects.
- func (m *Discriminator) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Mapping != nil {
- _, err := m.Mapping.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Document objects.
- func (m *Document) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Info != nil {
- _, err := m.Info.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.Servers {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- if m.Paths != nil {
- _, err := m.Paths.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Components != nil {
- _, err := m.Components.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.Security {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- for _, item := range m.Tags {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- if m.ExternalDocs != nil {
- _, err := m.ExternalDocs.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Encoding objects.
- func (m *Encoding) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Headers != nil {
- _, err := m.Headers.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Encodings objects.
- func (m *Encodings) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Example objects.
- func (m *Example) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Value != nil {
- _, err := m.Value.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside ExampleOrReference objects.
- func (m *ExampleOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- {
- p, ok := m.Oneof.(*ExampleOrReference_Example)
- if ok {
- _, err := p.Example.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- {
- p, ok := m.Oneof.(*ExampleOrReference_Reference)
- if ok {
- _, err := p.Reference.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside ExamplesOrReferences objects.
- func (m *ExamplesOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Expression objects.
- func (m *Expression) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside ExternalDocs objects.
- func (m *ExternalDocs) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Header objects.
- func (m *Header) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Schema != nil {
- _, err := m.Schema.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Example != nil {
- _, err := m.Example.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Examples != nil {
- _, err := m.Examples.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Content != nil {
- _, err := m.Content.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside HeaderOrReference objects.
- func (m *HeaderOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- {
- p, ok := m.Oneof.(*HeaderOrReference_Header)
- if ok {
- _, err := p.Header.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- {
- p, ok := m.Oneof.(*HeaderOrReference_Reference)
- if ok {
- _, err := p.Reference.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside HeadersOrReferences objects.
- func (m *HeadersOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Info objects.
- func (m *Info) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Contact != nil {
- _, err := m.Contact.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.License != nil {
- _, err := m.License.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside ItemsItem objects.
- func (m *ItemsItem) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.SchemaOrReference {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside License objects.
- func (m *License) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Link objects.
- func (m *Link) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Parameters != nil {
- _, err := m.Parameters.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.RequestBody != nil {
- _, err := m.RequestBody.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Server != nil {
- _, err := m.Server.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside LinkOrReference objects.
- func (m *LinkOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- {
- p, ok := m.Oneof.(*LinkOrReference_Link)
- if ok {
- _, err := p.Link.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- {
- p, ok := m.Oneof.(*LinkOrReference_Reference)
- if ok {
- _, err := p.Reference.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside LinksOrReferences objects.
- func (m *LinksOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside MediaType objects.
- func (m *MediaType) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Schema != nil {
- _, err := m.Schema.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Example != nil {
- _, err := m.Example.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Examples != nil {
- _, err := m.Examples.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Encoding != nil {
- _, err := m.Encoding.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside MediaTypes objects.
- func (m *MediaTypes) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside NamedAny objects.
- func (m *NamedAny) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Value != nil {
- _, err := m.Value.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside NamedCallbackOrReference objects.
- func (m *NamedCallbackOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Value != nil {
- _, err := m.Value.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside NamedEncoding objects.
- func (m *NamedEncoding) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Value != nil {
- _, err := m.Value.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside NamedExampleOrReference objects.
- func (m *NamedExampleOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Value != nil {
- _, err := m.Value.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside NamedHeaderOrReference objects.
- func (m *NamedHeaderOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Value != nil {
- _, err := m.Value.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside NamedLinkOrReference objects.
- func (m *NamedLinkOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Value != nil {
- _, err := m.Value.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside NamedMediaType objects.
- func (m *NamedMediaType) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Value != nil {
- _, err := m.Value.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside NamedParameterOrReference objects.
- func (m *NamedParameterOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Value != nil {
- _, err := m.Value.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside NamedPathItem objects.
- func (m *NamedPathItem) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Value != nil {
- _, err := m.Value.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside NamedRequestBodyOrReference objects.
- func (m *NamedRequestBodyOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Value != nil {
- _, err := m.Value.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside NamedResponseOrReference objects.
- func (m *NamedResponseOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Value != nil {
- _, err := m.Value.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside NamedSchemaOrReference objects.
- func (m *NamedSchemaOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Value != nil {
- _, err := m.Value.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside NamedSecuritySchemeOrReference objects.
- func (m *NamedSecuritySchemeOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Value != nil {
- _, err := m.Value.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside NamedServerVariable objects.
- func (m *NamedServerVariable) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Value != nil {
- _, err := m.Value.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside NamedString objects.
- func (m *NamedString) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside NamedStringArray objects.
- func (m *NamedStringArray) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Value != nil {
- _, err := m.Value.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside OauthFlow objects.
- func (m *OauthFlow) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Scopes != nil {
- _, err := m.Scopes.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside OauthFlows objects.
- func (m *OauthFlows) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Implicit != nil {
- _, err := m.Implicit.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Password != nil {
- _, err := m.Password.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.ClientCredentials != nil {
- _, err := m.ClientCredentials.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.AuthorizationCode != nil {
- _, err := m.AuthorizationCode.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Object objects.
- func (m *Object) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Operation objects.
- func (m *Operation) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.ExternalDocs != nil {
- _, err := m.ExternalDocs.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.Parameters {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- if m.RequestBody != nil {
- _, err := m.RequestBody.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Responses != nil {
- _, err := m.Responses.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Callbacks != nil {
- _, err := m.Callbacks.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.Security {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- for _, item := range m.Servers {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Parameter objects.
- func (m *Parameter) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Schema != nil {
- _, err := m.Schema.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Example != nil {
- _, err := m.Example.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Examples != nil {
- _, err := m.Examples.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Content != nil {
- _, err := m.Content.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside ParameterOrReference objects.
- func (m *ParameterOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- {
- p, ok := m.Oneof.(*ParameterOrReference_Parameter)
- if ok {
- _, err := p.Parameter.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- {
- p, ok := m.Oneof.(*ParameterOrReference_Reference)
- if ok {
- _, err := p.Reference.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside ParametersOrReferences objects.
- func (m *ParametersOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside PathItem objects.
- func (m *PathItem) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.XRef != "" {
- info, err := compiler.ReadInfoForRef(root, m.XRef)
- if err != nil {
- return nil, err
- }
- if info != nil {
- replacement, err := NewPathItem(info, nil)
- if err == nil {
- *m = *replacement
- return m.ResolveReferences(root)
- }
- }
- return info, nil
- }
- if m.Get != nil {
- _, err := m.Get.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Put != nil {
- _, err := m.Put.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Post != nil {
- _, err := m.Post.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Delete != nil {
- _, err := m.Delete.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Options != nil {
- _, err := m.Options.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Head != nil {
- _, err := m.Head.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Patch != nil {
- _, err := m.Patch.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Trace != nil {
- _, err := m.Trace.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.Servers {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- for _, item := range m.Parameters {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Paths objects.
- func (m *Paths) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.Path {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Properties objects.
- func (m *Properties) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Reference objects.
- func (m *Reference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.XRef != "" {
- info, err := compiler.ReadInfoForRef(root, m.XRef)
- if err != nil {
- return nil, err
- }
- if info != nil {
- replacement, err := NewReference(info, nil)
- if err == nil {
- *m = *replacement
- return m.ResolveReferences(root)
- }
- }
- return info, nil
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside RequestBodiesOrReferences objects.
- func (m *RequestBodiesOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside RequestBody objects.
- func (m *RequestBody) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Content != nil {
- _, err := m.Content.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside RequestBodyOrReference objects.
- func (m *RequestBodyOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- {
- p, ok := m.Oneof.(*RequestBodyOrReference_RequestBody)
- if ok {
- _, err := p.RequestBody.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- {
- p, ok := m.Oneof.(*RequestBodyOrReference_Reference)
- if ok {
- _, err := p.Reference.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Response objects.
- func (m *Response) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Headers != nil {
- _, err := m.Headers.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Content != nil {
- _, err := m.Content.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Links != nil {
- _, err := m.Links.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside ResponseOrReference objects.
- func (m *ResponseOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- {
- p, ok := m.Oneof.(*ResponseOrReference_Response)
- if ok {
- _, err := p.Response.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- {
- p, ok := m.Oneof.(*ResponseOrReference_Reference)
- if ok {
- _, err := p.Reference.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Responses objects.
- func (m *Responses) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Default != nil {
- _, err := m.Default.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.ResponseOrReference {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside ResponsesOrReferences objects.
- func (m *ResponsesOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Schema objects.
- func (m *Schema) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Discriminator != nil {
- _, err := m.Discriminator.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Xml != nil {
- _, err := m.Xml.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.ExternalDocs != nil {
- _, err := m.ExternalDocs.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Example != nil {
- _, err := m.Example.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.Enum {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- for _, item := range m.AllOf {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- for _, item := range m.OneOf {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- for _, item := range m.AnyOf {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- if m.Not != nil {
- _, err := m.Not.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Items != nil {
- _, err := m.Items.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Properties != nil {
- _, err := m.Properties.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.AdditionalProperties != nil {
- _, err := m.AdditionalProperties.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- if m.Default != nil {
- _, err := m.Default.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside SchemaOrReference objects.
- func (m *SchemaOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- {
- p, ok := m.Oneof.(*SchemaOrReference_Schema)
- if ok {
- _, err := p.Schema.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- {
- p, ok := m.Oneof.(*SchemaOrReference_Reference)
- if ok {
- _, err := p.Reference.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside SchemasOrReferences objects.
- func (m *SchemasOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside SecurityRequirement objects.
- func (m *SecurityRequirement) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside SecurityScheme objects.
- func (m *SecurityScheme) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Flows != nil {
- _, err := m.Flows.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside SecuritySchemeOrReference objects.
- func (m *SecuritySchemeOrReference) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- {
- p, ok := m.Oneof.(*SecuritySchemeOrReference_SecurityScheme)
- if ok {
- _, err := p.SecurityScheme.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- {
- p, ok := m.Oneof.(*SecuritySchemeOrReference_Reference)
- if ok {
- _, err := p.Reference.ResolveReferences(root)
- if err != nil {
- return nil, err
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside SecuritySchemesOrReferences objects.
- func (m *SecuritySchemesOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Server objects.
- func (m *Server) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.Variables != nil {
- _, err := m.Variables.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside ServerVariable objects.
- func (m *ServerVariable) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside ServerVariables objects.
- func (m *ServerVariables) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside SpecificationExtension objects.
- func (m *SpecificationExtension) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside StringArray objects.
- func (m *StringArray) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Strings objects.
- func (m *Strings) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.AdditionalProperties {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Tag objects.
- func (m *Tag) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- if m.ExternalDocs != nil {
- _, err := m.ExternalDocs.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ResolveReferences resolves references found inside Xml objects.
- func (m *Xml) ResolveReferences(root string) (*yaml.Node, error) {
- errors := make([]error, 0)
- for _, item := range m.SpecificationExtension {
- if item != nil {
- _, err := item.ResolveReferences(root)
- if err != nil {
- errors = append(errors, err)
- }
- }
- }
- return nil, compiler.NewErrorGroupOrNil(errors)
- }
- // ToRawInfo returns a description of AdditionalPropertiesItem suitable for JSON or YAML export.
- func (m *AdditionalPropertiesItem) ToRawInfo() *yaml.Node {
- // ONE OF WRAPPER
- // AdditionalPropertiesItem
- // {Name:schemaOrReference Type:SchemaOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v0 := m.GetSchemaOrReference()
- if v0 != nil {
- return v0.ToRawInfo()
- }
- // {Name:boolean Type:bool StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- if v1, ok := m.GetOneof().(*AdditionalPropertiesItem_Boolean); ok {
- return compiler.NewScalarNodeForBool(v1.Boolean)
- }
- return compiler.NewNullNode()
- }
- // ToRawInfo returns a description of Any suitable for JSON or YAML export.
- func (m *Any) ToRawInfo() *yaml.Node {
- var err error
- var node yaml.Node
- err = yaml.Unmarshal([]byte(m.Yaml), &node)
- if err == nil {
- if node.Kind == yaml.DocumentNode {
- return node.Content[0]
- }
- return &node
- }
- return compiler.NewNullNode()
- }
- // ToRawInfo returns a description of AnyOrExpression suitable for JSON or YAML export.
- func (m *AnyOrExpression) ToRawInfo() *yaml.Node {
- // ONE OF WRAPPER
- // AnyOrExpression
- // {Name:any Type:Any StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v0 := m.GetAny()
- if v0 != nil {
- return v0.ToRawInfo()
- }
- // {Name:expression Type:Expression StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v1 := m.GetExpression()
- if v1 != nil {
- return v1.ToRawInfo()
- }
- return compiler.NewNullNode()
- }
- // ToRawInfo returns a description of Callback suitable for JSON or YAML export.
- func (m *Callback) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Path != nil {
- for _, item := range m.Path {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of CallbackOrReference suitable for JSON or YAML export.
- func (m *CallbackOrReference) ToRawInfo() *yaml.Node {
- // ONE OF WRAPPER
- // CallbackOrReference
- // {Name:callback Type:Callback StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v0 := m.GetCallback()
- if v0 != nil {
- return v0.ToRawInfo()
- }
- // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v1 := m.GetReference()
- if v1 != nil {
- return v1.ToRawInfo()
- }
- return compiler.NewNullNode()
- }
- // ToRawInfo returns a description of CallbacksOrReferences suitable for JSON or YAML export.
- func (m *CallbacksOrReferences) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AdditionalProperties != nil {
- for _, item := range m.AdditionalProperties {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Components suitable for JSON or YAML export.
- func (m *Components) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Schemas != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("schemas"))
- info.Content = append(info.Content, m.Schemas.ToRawInfo())
- }
- if m.Responses != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("responses"))
- info.Content = append(info.Content, m.Responses.ToRawInfo())
- }
- if m.Parameters != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("parameters"))
- info.Content = append(info.Content, m.Parameters.ToRawInfo())
- }
- if m.Examples != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("examples"))
- info.Content = append(info.Content, m.Examples.ToRawInfo())
- }
- if m.RequestBodies != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("requestBodies"))
- info.Content = append(info.Content, m.RequestBodies.ToRawInfo())
- }
- if m.Headers != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("headers"))
- info.Content = append(info.Content, m.Headers.ToRawInfo())
- }
- if m.SecuritySchemes != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("securitySchemes"))
- info.Content = append(info.Content, m.SecuritySchemes.ToRawInfo())
- }
- if m.Links != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("links"))
- info.Content = append(info.Content, m.Links.ToRawInfo())
- }
- if m.Callbacks != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("callbacks"))
- info.Content = append(info.Content, m.Callbacks.ToRawInfo())
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Contact suitable for JSON or YAML export.
- func (m *Contact) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- if m.Url != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("url"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Url))
- }
- if m.Email != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("email"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Email))
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of DefaultType suitable for JSON or YAML export.
- func (m *DefaultType) ToRawInfo() *yaml.Node {
- // ONE OF WRAPPER
- // DefaultType
- // {Name:number Type:float StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- if v0, ok := m.GetOneof().(*DefaultType_Number); ok {
- return compiler.NewScalarNodeForFloat(v0.Number)
- }
- // {Name:boolean Type:bool StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- if v1, ok := m.GetOneof().(*DefaultType_Boolean); ok {
- return compiler.NewScalarNodeForBool(v1.Boolean)
- }
- // {Name:string Type:string StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- if v2, ok := m.GetOneof().(*DefaultType_String_); ok {
- return compiler.NewScalarNodeForString(v2.String_)
- }
- return compiler.NewNullNode()
- }
- // ToRawInfo returns a description of Discriminator suitable for JSON or YAML export.
- func (m *Discriminator) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("propertyName"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.PropertyName))
- if m.Mapping != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("mapping"))
- info.Content = append(info.Content, m.Mapping.ToRawInfo())
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Document suitable for JSON or YAML export.
- func (m *Document) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("openapi"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Openapi))
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("info"))
- info.Content = append(info.Content, m.Info.ToRawInfo())
- if len(m.Servers) != 0 {
- items := compiler.NewSequenceNode()
- for _, item := range m.Servers {
- items.Content = append(items.Content, item.ToRawInfo())
- }
- info.Content = append(info.Content, compiler.NewScalarNodeForString("servers"))
- info.Content = append(info.Content, items)
- }
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("paths"))
- info.Content = append(info.Content, m.Paths.ToRawInfo())
- if m.Components != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("components"))
- info.Content = append(info.Content, m.Components.ToRawInfo())
- }
- if len(m.Security) != 0 {
- items := compiler.NewSequenceNode()
- for _, item := range m.Security {
- items.Content = append(items.Content, item.ToRawInfo())
- }
- info.Content = append(info.Content, compiler.NewScalarNodeForString("security"))
- info.Content = append(info.Content, items)
- }
- if len(m.Tags) != 0 {
- items := compiler.NewSequenceNode()
- for _, item := range m.Tags {
- items.Content = append(items.Content, item.ToRawInfo())
- }
- info.Content = append(info.Content, compiler.NewScalarNodeForString("tags"))
- info.Content = append(info.Content, items)
- }
- if m.ExternalDocs != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("externalDocs"))
- info.Content = append(info.Content, m.ExternalDocs.ToRawInfo())
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Encoding suitable for JSON or YAML export.
- func (m *Encoding) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.ContentType != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("contentType"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.ContentType))
- }
- if m.Headers != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("headers"))
- info.Content = append(info.Content, m.Headers.ToRawInfo())
- }
- if m.Style != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("style"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Style))
- }
- if m.Explode != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("explode"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Explode))
- }
- if m.AllowReserved != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("allowReserved"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.AllowReserved))
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Encodings suitable for JSON or YAML export.
- func (m *Encodings) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AdditionalProperties != nil {
- for _, item := range m.AdditionalProperties {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Example suitable for JSON or YAML export.
- func (m *Example) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Summary != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("summary"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Summary))
- }
- if m.Description != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
- }
- if m.Value != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("value"))
- info.Content = append(info.Content, m.Value.ToRawInfo())
- }
- if m.ExternalValue != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("externalValue"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.ExternalValue))
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of ExampleOrReference suitable for JSON or YAML export.
- func (m *ExampleOrReference) ToRawInfo() *yaml.Node {
- // ONE OF WRAPPER
- // ExampleOrReference
- // {Name:example Type:Example StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v0 := m.GetExample()
- if v0 != nil {
- return v0.ToRawInfo()
- }
- // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v1 := m.GetReference()
- if v1 != nil {
- return v1.ToRawInfo()
- }
- return compiler.NewNullNode()
- }
- // ToRawInfo returns a description of ExamplesOrReferences suitable for JSON or YAML export.
- func (m *ExamplesOrReferences) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AdditionalProperties != nil {
- for _, item := range m.AdditionalProperties {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Expression suitable for JSON or YAML export.
- func (m *Expression) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AdditionalProperties != nil {
- for _, item := range m.AdditionalProperties {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of ExternalDocs suitable for JSON or YAML export.
- func (m *ExternalDocs) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Description != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
- }
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("url"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Url))
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Header suitable for JSON or YAML export.
- func (m *Header) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Description != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
- }
- if m.Required != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("required"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Required))
- }
- if m.Deprecated != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("deprecated"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Deprecated))
- }
- if m.AllowEmptyValue != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("allowEmptyValue"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.AllowEmptyValue))
- }
- if m.Style != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("style"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Style))
- }
- if m.Explode != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("explode"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Explode))
- }
- if m.AllowReserved != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("allowReserved"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.AllowReserved))
- }
- if m.Schema != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("schema"))
- info.Content = append(info.Content, m.Schema.ToRawInfo())
- }
- if m.Example != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("example"))
- info.Content = append(info.Content, m.Example.ToRawInfo())
- }
- if m.Examples != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("examples"))
- info.Content = append(info.Content, m.Examples.ToRawInfo())
- }
- if m.Content != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("content"))
- info.Content = append(info.Content, m.Content.ToRawInfo())
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of HeaderOrReference suitable for JSON or YAML export.
- func (m *HeaderOrReference) ToRawInfo() *yaml.Node {
- // ONE OF WRAPPER
- // HeaderOrReference
- // {Name:header Type:Header StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v0 := m.GetHeader()
- if v0 != nil {
- return v0.ToRawInfo()
- }
- // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v1 := m.GetReference()
- if v1 != nil {
- return v1.ToRawInfo()
- }
- return compiler.NewNullNode()
- }
- // ToRawInfo returns a description of HeadersOrReferences suitable for JSON or YAML export.
- func (m *HeadersOrReferences) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AdditionalProperties != nil {
- for _, item := range m.AdditionalProperties {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Info suitable for JSON or YAML export.
- func (m *Info) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("title"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Title))
- if m.Description != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
- }
- if m.TermsOfService != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("termsOfService"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.TermsOfService))
- }
- if m.Contact != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("contact"))
- info.Content = append(info.Content, m.Contact.ToRawInfo())
- }
- if m.License != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("license"))
- info.Content = append(info.Content, m.License.ToRawInfo())
- }
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("version"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Version))
- if m.Summary != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("summary"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Summary))
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of ItemsItem suitable for JSON or YAML export.
- func (m *ItemsItem) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if len(m.SchemaOrReference) != 0 {
- items := compiler.NewSequenceNode()
- for _, item := range m.SchemaOrReference {
- items.Content = append(items.Content, item.ToRawInfo())
- }
- info.Content = append(info.Content, compiler.NewScalarNodeForString("schemaOrReference"))
- info.Content = append(info.Content, items)
- }
- return info
- }
- // ToRawInfo returns a description of License suitable for JSON or YAML export.
- func (m *License) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- if m.Url != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("url"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Url))
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Link suitable for JSON or YAML export.
- func (m *Link) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.OperationRef != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("operationRef"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.OperationRef))
- }
- if m.OperationId != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("operationId"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.OperationId))
- }
- if m.Parameters != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("parameters"))
- info.Content = append(info.Content, m.Parameters.ToRawInfo())
- }
- if m.RequestBody != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("requestBody"))
- info.Content = append(info.Content, m.RequestBody.ToRawInfo())
- }
- if m.Description != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
- }
- if m.Server != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("server"))
- info.Content = append(info.Content, m.Server.ToRawInfo())
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of LinkOrReference suitable for JSON or YAML export.
- func (m *LinkOrReference) ToRawInfo() *yaml.Node {
- // ONE OF WRAPPER
- // LinkOrReference
- // {Name:link Type:Link StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v0 := m.GetLink()
- if v0 != nil {
- return v0.ToRawInfo()
- }
- // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v1 := m.GetReference()
- if v1 != nil {
- return v1.ToRawInfo()
- }
- return compiler.NewNullNode()
- }
- // ToRawInfo returns a description of LinksOrReferences suitable for JSON or YAML export.
- func (m *LinksOrReferences) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AdditionalProperties != nil {
- for _, item := range m.AdditionalProperties {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of MediaType suitable for JSON or YAML export.
- func (m *MediaType) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Schema != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("schema"))
- info.Content = append(info.Content, m.Schema.ToRawInfo())
- }
- if m.Example != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("example"))
- info.Content = append(info.Content, m.Example.ToRawInfo())
- }
- if m.Examples != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("examples"))
- info.Content = append(info.Content, m.Examples.ToRawInfo())
- }
- if m.Encoding != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("encoding"))
- info.Content = append(info.Content, m.Encoding.ToRawInfo())
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of MediaTypes suitable for JSON or YAML export.
- func (m *MediaTypes) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AdditionalProperties != nil {
- for _, item := range m.AdditionalProperties {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of NamedAny suitable for JSON or YAML export.
- func (m *NamedAny) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- if m.Value != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("value"))
- info.Content = append(info.Content, m.Value.ToRawInfo())
- }
- return info
- }
- // ToRawInfo returns a description of NamedCallbackOrReference suitable for JSON or YAML export.
- func (m *NamedCallbackOrReference) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- // &{Name:value Type:CallbackOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
- return info
- }
- // ToRawInfo returns a description of NamedEncoding suitable for JSON or YAML export.
- func (m *NamedEncoding) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- // &{Name:value Type:Encoding StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
- return info
- }
- // ToRawInfo returns a description of NamedExampleOrReference suitable for JSON or YAML export.
- func (m *NamedExampleOrReference) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- // &{Name:value Type:ExampleOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
- return info
- }
- // ToRawInfo returns a description of NamedHeaderOrReference suitable for JSON or YAML export.
- func (m *NamedHeaderOrReference) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- // &{Name:value Type:HeaderOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
- return info
- }
- // ToRawInfo returns a description of NamedLinkOrReference suitable for JSON or YAML export.
- func (m *NamedLinkOrReference) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- // &{Name:value Type:LinkOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
- return info
- }
- // ToRawInfo returns a description of NamedMediaType suitable for JSON or YAML export.
- func (m *NamedMediaType) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- // &{Name:value Type:MediaType StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
- return info
- }
- // ToRawInfo returns a description of NamedParameterOrReference suitable for JSON or YAML export.
- func (m *NamedParameterOrReference) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- // &{Name:value Type:ParameterOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
- return info
- }
- // ToRawInfo returns a description of NamedPathItem suitable for JSON or YAML export.
- func (m *NamedPathItem) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- // &{Name:value Type:PathItem StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
- return info
- }
- // ToRawInfo returns a description of NamedRequestBodyOrReference suitable for JSON or YAML export.
- func (m *NamedRequestBodyOrReference) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- // &{Name:value Type:RequestBodyOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
- return info
- }
- // ToRawInfo returns a description of NamedResponseOrReference suitable for JSON or YAML export.
- func (m *NamedResponseOrReference) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- // &{Name:value Type:ResponseOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
- return info
- }
- // ToRawInfo returns a description of NamedSchemaOrReference suitable for JSON or YAML export.
- func (m *NamedSchemaOrReference) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- // &{Name:value Type:SchemaOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
- return info
- }
- // ToRawInfo returns a description of NamedSecuritySchemeOrReference suitable for JSON or YAML export.
- func (m *NamedSecuritySchemeOrReference) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- // &{Name:value Type:SecuritySchemeOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
- return info
- }
- // ToRawInfo returns a description of NamedServerVariable suitable for JSON or YAML export.
- func (m *NamedServerVariable) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- // &{Name:value Type:ServerVariable StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
- return info
- }
- // ToRawInfo returns a description of NamedString suitable for JSON or YAML export.
- func (m *NamedString) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- if m.Value != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("value"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Value))
- }
- return info
- }
- // ToRawInfo returns a description of NamedStringArray suitable for JSON or YAML export.
- func (m *NamedStringArray) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- // &{Name:value Type:StringArray StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
- return info
- }
- // ToRawInfo returns a description of OauthFlow suitable for JSON or YAML export.
- func (m *OauthFlow) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AuthorizationUrl != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("authorizationUrl"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.AuthorizationUrl))
- }
- if m.TokenUrl != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("tokenUrl"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.TokenUrl))
- }
- if m.RefreshUrl != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("refreshUrl"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.RefreshUrl))
- }
- if m.Scopes != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("scopes"))
- info.Content = append(info.Content, m.Scopes.ToRawInfo())
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of OauthFlows suitable for JSON or YAML export.
- func (m *OauthFlows) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Implicit != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("implicit"))
- info.Content = append(info.Content, m.Implicit.ToRawInfo())
- }
- if m.Password != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("password"))
- info.Content = append(info.Content, m.Password.ToRawInfo())
- }
- if m.ClientCredentials != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("clientCredentials"))
- info.Content = append(info.Content, m.ClientCredentials.ToRawInfo())
- }
- if m.AuthorizationCode != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("authorizationCode"))
- info.Content = append(info.Content, m.AuthorizationCode.ToRawInfo())
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Object suitable for JSON or YAML export.
- func (m *Object) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AdditionalProperties != nil {
- for _, item := range m.AdditionalProperties {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Operation suitable for JSON or YAML export.
- func (m *Operation) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if len(m.Tags) != 0 {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("tags"))
- info.Content = append(info.Content, compiler.NewSequenceNodeForStringArray(m.Tags))
- }
- if m.Summary != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("summary"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Summary))
- }
- if m.Description != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
- }
- if m.ExternalDocs != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("externalDocs"))
- info.Content = append(info.Content, m.ExternalDocs.ToRawInfo())
- }
- if m.OperationId != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("operationId"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.OperationId))
- }
- if len(m.Parameters) != 0 {
- items := compiler.NewSequenceNode()
- for _, item := range m.Parameters {
- items.Content = append(items.Content, item.ToRawInfo())
- }
- info.Content = append(info.Content, compiler.NewScalarNodeForString("parameters"))
- info.Content = append(info.Content, items)
- }
- if m.RequestBody != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("requestBody"))
- info.Content = append(info.Content, m.RequestBody.ToRawInfo())
- }
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("responses"))
- info.Content = append(info.Content, m.Responses.ToRawInfo())
- if m.Callbacks != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("callbacks"))
- info.Content = append(info.Content, m.Callbacks.ToRawInfo())
- }
- if m.Deprecated != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("deprecated"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Deprecated))
- }
- if len(m.Security) != 0 {
- items := compiler.NewSequenceNode()
- for _, item := range m.Security {
- items.Content = append(items.Content, item.ToRawInfo())
- }
- info.Content = append(info.Content, compiler.NewScalarNodeForString("security"))
- info.Content = append(info.Content, items)
- }
- if len(m.Servers) != 0 {
- items := compiler.NewSequenceNode()
- for _, item := range m.Servers {
- items.Content = append(items.Content, item.ToRawInfo())
- }
- info.Content = append(info.Content, compiler.NewScalarNodeForString("servers"))
- info.Content = append(info.Content, items)
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Parameter suitable for JSON or YAML export.
- func (m *Parameter) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("in"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.In))
- if m.Description != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
- }
- if m.Required != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("required"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Required))
- }
- if m.Deprecated != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("deprecated"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Deprecated))
- }
- if m.AllowEmptyValue != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("allowEmptyValue"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.AllowEmptyValue))
- }
- if m.Style != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("style"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Style))
- }
- if m.Explode != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("explode"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Explode))
- }
- if m.AllowReserved != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("allowReserved"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.AllowReserved))
- }
- if m.Schema != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("schema"))
- info.Content = append(info.Content, m.Schema.ToRawInfo())
- }
- if m.Example != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("example"))
- info.Content = append(info.Content, m.Example.ToRawInfo())
- }
- if m.Examples != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("examples"))
- info.Content = append(info.Content, m.Examples.ToRawInfo())
- }
- if m.Content != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("content"))
- info.Content = append(info.Content, m.Content.ToRawInfo())
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of ParameterOrReference suitable for JSON or YAML export.
- func (m *ParameterOrReference) ToRawInfo() *yaml.Node {
- // ONE OF WRAPPER
- // ParameterOrReference
- // {Name:parameter Type:Parameter StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v0 := m.GetParameter()
- if v0 != nil {
- return v0.ToRawInfo()
- }
- // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v1 := m.GetReference()
- if v1 != nil {
- return v1.ToRawInfo()
- }
- return compiler.NewNullNode()
- }
- // ToRawInfo returns a description of ParametersOrReferences suitable for JSON or YAML export.
- func (m *ParametersOrReferences) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AdditionalProperties != nil {
- for _, item := range m.AdditionalProperties {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of PathItem suitable for JSON or YAML export.
- func (m *PathItem) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.XRef != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("$ref"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.XRef))
- }
- if m.Summary != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("summary"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Summary))
- }
- if m.Description != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
- }
- if m.Get != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("get"))
- info.Content = append(info.Content, m.Get.ToRawInfo())
- }
- if m.Put != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("put"))
- info.Content = append(info.Content, m.Put.ToRawInfo())
- }
- if m.Post != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("post"))
- info.Content = append(info.Content, m.Post.ToRawInfo())
- }
- if m.Delete != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("delete"))
- info.Content = append(info.Content, m.Delete.ToRawInfo())
- }
- if m.Options != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("options"))
- info.Content = append(info.Content, m.Options.ToRawInfo())
- }
- if m.Head != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("head"))
- info.Content = append(info.Content, m.Head.ToRawInfo())
- }
- if m.Patch != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("patch"))
- info.Content = append(info.Content, m.Patch.ToRawInfo())
- }
- if m.Trace != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("trace"))
- info.Content = append(info.Content, m.Trace.ToRawInfo())
- }
- if len(m.Servers) != 0 {
- items := compiler.NewSequenceNode()
- for _, item := range m.Servers {
- items.Content = append(items.Content, item.ToRawInfo())
- }
- info.Content = append(info.Content, compiler.NewScalarNodeForString("servers"))
- info.Content = append(info.Content, items)
- }
- if len(m.Parameters) != 0 {
- items := compiler.NewSequenceNode()
- for _, item := range m.Parameters {
- items.Content = append(items.Content, item.ToRawInfo())
- }
- info.Content = append(info.Content, compiler.NewScalarNodeForString("parameters"))
- info.Content = append(info.Content, items)
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Paths suitable for JSON or YAML export.
- func (m *Paths) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Path != nil {
- for _, item := range m.Path {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Properties suitable for JSON or YAML export.
- func (m *Properties) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AdditionalProperties != nil {
- for _, item := range m.AdditionalProperties {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Reference suitable for JSON or YAML export.
- func (m *Reference) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("$ref"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.XRef))
- if m.Summary != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("summary"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Summary))
- }
- if m.Description != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
- }
- return info
- }
- // ToRawInfo returns a description of RequestBodiesOrReferences suitable for JSON or YAML export.
- func (m *RequestBodiesOrReferences) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AdditionalProperties != nil {
- for _, item := range m.AdditionalProperties {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of RequestBody suitable for JSON or YAML export.
- func (m *RequestBody) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Description != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
- }
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("content"))
- info.Content = append(info.Content, m.Content.ToRawInfo())
- if m.Required != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("required"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Required))
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of RequestBodyOrReference suitable for JSON or YAML export.
- func (m *RequestBodyOrReference) ToRawInfo() *yaml.Node {
- // ONE OF WRAPPER
- // RequestBodyOrReference
- // {Name:requestBody Type:RequestBody StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v0 := m.GetRequestBody()
- if v0 != nil {
- return v0.ToRawInfo()
- }
- // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v1 := m.GetReference()
- if v1 != nil {
- return v1.ToRawInfo()
- }
- return compiler.NewNullNode()
- }
- // ToRawInfo returns a description of Response suitable for JSON or YAML export.
- func (m *Response) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
- if m.Headers != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("headers"))
- info.Content = append(info.Content, m.Headers.ToRawInfo())
- }
- if m.Content != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("content"))
- info.Content = append(info.Content, m.Content.ToRawInfo())
- }
- if m.Links != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("links"))
- info.Content = append(info.Content, m.Links.ToRawInfo())
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of ResponseOrReference suitable for JSON or YAML export.
- func (m *ResponseOrReference) ToRawInfo() *yaml.Node {
- // ONE OF WRAPPER
- // ResponseOrReference
- // {Name:response Type:Response StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v0 := m.GetResponse()
- if v0 != nil {
- return v0.ToRawInfo()
- }
- // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v1 := m.GetReference()
- if v1 != nil {
- return v1.ToRawInfo()
- }
- return compiler.NewNullNode()
- }
- // ToRawInfo returns a description of Responses suitable for JSON or YAML export.
- func (m *Responses) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Default != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("default"))
- info.Content = append(info.Content, m.Default.ToRawInfo())
- }
- if m.ResponseOrReference != nil {
- for _, item := range m.ResponseOrReference {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of ResponsesOrReferences suitable for JSON or YAML export.
- func (m *ResponsesOrReferences) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AdditionalProperties != nil {
- for _, item := range m.AdditionalProperties {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Schema suitable for JSON or YAML export.
- func (m *Schema) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Nullable != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("nullable"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Nullable))
- }
- if m.Discriminator != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("discriminator"))
- info.Content = append(info.Content, m.Discriminator.ToRawInfo())
- }
- if m.ReadOnly != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("readOnly"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.ReadOnly))
- }
- if m.WriteOnly != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("writeOnly"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.WriteOnly))
- }
- if m.Xml != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("xml"))
- info.Content = append(info.Content, m.Xml.ToRawInfo())
- }
- if m.ExternalDocs != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("externalDocs"))
- info.Content = append(info.Content, m.ExternalDocs.ToRawInfo())
- }
- if m.Example != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("example"))
- info.Content = append(info.Content, m.Example.ToRawInfo())
- }
- if m.Deprecated != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("deprecated"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Deprecated))
- }
- if m.Title != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("title"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Title))
- }
- if m.MultipleOf != 0.0 {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("multipleOf"))
- info.Content = append(info.Content, compiler.NewScalarNodeForFloat(m.MultipleOf))
- }
- if m.Maximum != 0.0 {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("maximum"))
- info.Content = append(info.Content, compiler.NewScalarNodeForFloat(m.Maximum))
- }
- if m.ExclusiveMaximum != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("exclusiveMaximum"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.ExclusiveMaximum))
- }
- if m.Minimum != 0.0 {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("minimum"))
- info.Content = append(info.Content, compiler.NewScalarNodeForFloat(m.Minimum))
- }
- if m.ExclusiveMinimum != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("exclusiveMinimum"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.ExclusiveMinimum))
- }
- if m.MaxLength != 0 {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("maxLength"))
- info.Content = append(info.Content, compiler.NewScalarNodeForInt(m.MaxLength))
- }
- if m.MinLength != 0 {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("minLength"))
- info.Content = append(info.Content, compiler.NewScalarNodeForInt(m.MinLength))
- }
- if m.Pattern != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("pattern"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Pattern))
- }
- if m.MaxItems != 0 {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("maxItems"))
- info.Content = append(info.Content, compiler.NewScalarNodeForInt(m.MaxItems))
- }
- if m.MinItems != 0 {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("minItems"))
- info.Content = append(info.Content, compiler.NewScalarNodeForInt(m.MinItems))
- }
- if m.UniqueItems != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("uniqueItems"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.UniqueItems))
- }
- if m.MaxProperties != 0 {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("maxProperties"))
- info.Content = append(info.Content, compiler.NewScalarNodeForInt(m.MaxProperties))
- }
- if m.MinProperties != 0 {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("minProperties"))
- info.Content = append(info.Content, compiler.NewScalarNodeForInt(m.MinProperties))
- }
- if len(m.Required) != 0 {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("required"))
- info.Content = append(info.Content, compiler.NewSequenceNodeForStringArray(m.Required))
- }
- if len(m.Enum) != 0 {
- items := compiler.NewSequenceNode()
- for _, item := range m.Enum {
- items.Content = append(items.Content, item.ToRawInfo())
- }
- info.Content = append(info.Content, compiler.NewScalarNodeForString("enum"))
- info.Content = append(info.Content, items)
- }
- if m.Type != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("type"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Type))
- }
- if len(m.AllOf) != 0 {
- items := compiler.NewSequenceNode()
- for _, item := range m.AllOf {
- items.Content = append(items.Content, item.ToRawInfo())
- }
- info.Content = append(info.Content, compiler.NewScalarNodeForString("allOf"))
- info.Content = append(info.Content, items)
- }
- if len(m.OneOf) != 0 {
- items := compiler.NewSequenceNode()
- for _, item := range m.OneOf {
- items.Content = append(items.Content, item.ToRawInfo())
- }
- info.Content = append(info.Content, compiler.NewScalarNodeForString("oneOf"))
- info.Content = append(info.Content, items)
- }
- if len(m.AnyOf) != 0 {
- items := compiler.NewSequenceNode()
- for _, item := range m.AnyOf {
- items.Content = append(items.Content, item.ToRawInfo())
- }
- info.Content = append(info.Content, compiler.NewScalarNodeForString("anyOf"))
- info.Content = append(info.Content, items)
- }
- if m.Not != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("not"))
- info.Content = append(info.Content, m.Not.ToRawInfo())
- }
- if m.Items != nil {
- items := compiler.NewSequenceNode()
- for _, item := range m.Items.SchemaOrReference {
- items.Content = append(items.Content, item.ToRawInfo())
- }
- if len(items.Content) == 1 {
- items = items.Content[0]
- }
- info.Content = append(info.Content, compiler.NewScalarNodeForString("items"))
- info.Content = append(info.Content, items)
- }
- if m.Properties != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("properties"))
- info.Content = append(info.Content, m.Properties.ToRawInfo())
- }
- if m.AdditionalProperties != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("additionalProperties"))
- info.Content = append(info.Content, m.AdditionalProperties.ToRawInfo())
- }
- if m.Default != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("default"))
- info.Content = append(info.Content, m.Default.ToRawInfo())
- }
- if m.Description != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
- }
- if m.Format != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("format"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Format))
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of SchemaOrReference suitable for JSON or YAML export.
- func (m *SchemaOrReference) ToRawInfo() *yaml.Node {
- // ONE OF WRAPPER
- // SchemaOrReference
- // {Name:schema Type:Schema StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v0 := m.GetSchema()
- if v0 != nil {
- return v0.ToRawInfo()
- }
- // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v1 := m.GetReference()
- if v1 != nil {
- return v1.ToRawInfo()
- }
- return compiler.NewNullNode()
- }
- // ToRawInfo returns a description of SchemasOrReferences suitable for JSON or YAML export.
- func (m *SchemasOrReferences) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AdditionalProperties != nil {
- for _, item := range m.AdditionalProperties {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of SecurityRequirement suitable for JSON or YAML export.
- func (m *SecurityRequirement) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AdditionalProperties != nil {
- for _, item := range m.AdditionalProperties {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of SecurityScheme suitable for JSON or YAML export.
- func (m *SecurityScheme) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("type"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Type))
- if m.Description != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- if m.In != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("in"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.In))
- }
- if m.Scheme != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("scheme"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Scheme))
- }
- if m.BearerFormat != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("bearerFormat"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.BearerFormat))
- }
- if m.Flows != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("flows"))
- info.Content = append(info.Content, m.Flows.ToRawInfo())
- }
- if m.OpenIdConnectUrl != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("openIdConnectUrl"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.OpenIdConnectUrl))
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of SecuritySchemeOrReference suitable for JSON or YAML export.
- func (m *SecuritySchemeOrReference) ToRawInfo() *yaml.Node {
- // ONE OF WRAPPER
- // SecuritySchemeOrReference
- // {Name:securityScheme Type:SecurityScheme StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v0 := m.GetSecurityScheme()
- if v0 != nil {
- return v0.ToRawInfo()
- }
- // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- v1 := m.GetReference()
- if v1 != nil {
- return v1.ToRawInfo()
- }
- return compiler.NewNullNode()
- }
- // ToRawInfo returns a description of SecuritySchemesOrReferences suitable for JSON or YAML export.
- func (m *SecuritySchemesOrReferences) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AdditionalProperties != nil {
- for _, item := range m.AdditionalProperties {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Server suitable for JSON or YAML export.
- func (m *Server) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("url"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Url))
- if m.Description != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
- }
- if m.Variables != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("variables"))
- info.Content = append(info.Content, m.Variables.ToRawInfo())
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of ServerVariable suitable for JSON or YAML export.
- func (m *ServerVariable) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if len(m.Enum) != 0 {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("enum"))
- info.Content = append(info.Content, compiler.NewSequenceNodeForStringArray(m.Enum))
- }
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("default"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Default))
- if m.Description != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of ServerVariables suitable for JSON or YAML export.
- func (m *ServerVariables) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.AdditionalProperties != nil {
- for _, item := range m.AdditionalProperties {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of SpecificationExtension suitable for JSON or YAML export.
- func (m *SpecificationExtension) ToRawInfo() *yaml.Node {
- // ONE OF WRAPPER
- // SpecificationExtension
- // {Name:number Type:float StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- if v0, ok := m.GetOneof().(*SpecificationExtension_Number); ok {
- return compiler.NewScalarNodeForFloat(v0.Number)
- }
- // {Name:boolean Type:bool StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- if v1, ok := m.GetOneof().(*SpecificationExtension_Boolean); ok {
- return compiler.NewScalarNodeForBool(v1.Boolean)
- }
- // {Name:string Type:string StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
- if v2, ok := m.GetOneof().(*SpecificationExtension_String_); ok {
- return compiler.NewScalarNodeForString(v2.String_)
- }
- return compiler.NewNullNode()
- }
- // ToRawInfo returns a description of StringArray suitable for JSON or YAML export.
- func (m *StringArray) ToRawInfo() *yaml.Node {
- return compiler.NewSequenceNodeForStringArray(m.Value)
- }
- // ToRawInfo returns a description of Strings suitable for JSON or YAML export.
- func (m *Strings) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- // &{Name:additionalProperties Type:NamedString StringEnumValues:[] MapType:string Repeated:true Pattern: Implicit:true Description:}
- return info
- }
- // ToRawInfo returns a description of Tag suitable for JSON or YAML export.
- func (m *Tag) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- // always include this required field.
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- if m.Description != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
- }
- if m.ExternalDocs != nil {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("externalDocs"))
- info.Content = append(info.Content, m.ExternalDocs.ToRawInfo())
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- // ToRawInfo returns a description of Xml suitable for JSON or YAML export.
- func (m *Xml) ToRawInfo() *yaml.Node {
- info := compiler.NewMappingNode()
- if m == nil {
- return info
- }
- if m.Name != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
- }
- if m.Namespace != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("namespace"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Namespace))
- }
- if m.Prefix != "" {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("prefix"))
- info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Prefix))
- }
- if m.Attribute != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("attribute"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Attribute))
- }
- if m.Wrapped != false {
- info.Content = append(info.Content, compiler.NewScalarNodeForString("wrapped"))
- info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Wrapped))
- }
- if m.SpecificationExtension != nil {
- for _, item := range m.SpecificationExtension {
- info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
- info.Content = append(info.Content, item.Value.ToRawInfo())
- }
- }
- return info
- }
- var (
- pattern0 = regexp.MustCompile("^")
- pattern1 = regexp.MustCompile("^x-")
- pattern2 = regexp.MustCompile("^/")
- pattern3 = regexp.MustCompile("^([0-9X]{3})$")
- )
|