2
0

OpenAPIv3.go 270 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333
  1. // Copyright 2017 Google Inc. All Rights Reserved.
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. // THIS FILE IS AUTOMATICALLY GENERATED.
  15. package openapi_v3
  16. import (
  17. "fmt"
  18. "github.com/googleapis/gnostic/compiler"
  19. "gopkg.in/yaml.v2"
  20. "regexp"
  21. "strings"
  22. )
  23. // Version returns the package name (and OpenAPI version).
  24. func Version() string {
  25. return "openapi_v3"
  26. }
  27. // NewAdditionalPropertiesItem creates an object of type AdditionalPropertiesItem if possible, returning an error if not.
  28. func NewAdditionalPropertiesItem(in interface{}, context *compiler.Context) (*AdditionalPropertiesItem, error) {
  29. errors := make([]error, 0)
  30. x := &AdditionalPropertiesItem{}
  31. matched := false
  32. // SchemaOrReference schema_or_reference = 1;
  33. {
  34. m, ok := compiler.UnpackMap(in)
  35. if ok {
  36. // errors might be ok here, they mean we just don't have the right subtype
  37. t, matchingError := NewSchemaOrReference(m, compiler.NewContext("schemaOrReference", context))
  38. if matchingError == nil {
  39. x.Oneof = &AdditionalPropertiesItem_SchemaOrReference{SchemaOrReference: t}
  40. matched = true
  41. } else {
  42. errors = append(errors, matchingError)
  43. }
  44. }
  45. }
  46. // bool boolean = 2;
  47. boolValue, ok := in.(bool)
  48. if ok {
  49. x.Oneof = &AdditionalPropertiesItem_Boolean{Boolean: boolValue}
  50. }
  51. if matched {
  52. // since the oneof matched one of its possibilities, discard any matching errors
  53. errors = make([]error, 0)
  54. }
  55. return x, compiler.NewErrorGroupOrNil(errors)
  56. }
  57. // NewAny creates an object of type Any if possible, returning an error if not.
  58. func NewAny(in interface{}, context *compiler.Context) (*Any, error) {
  59. errors := make([]error, 0)
  60. x := &Any{}
  61. bytes, _ := yaml.Marshal(in)
  62. x.Yaml = string(bytes)
  63. return x, compiler.NewErrorGroupOrNil(errors)
  64. }
  65. // NewAnyOrExpression creates an object of type AnyOrExpression if possible, returning an error if not.
  66. func NewAnyOrExpression(in interface{}, context *compiler.Context) (*AnyOrExpression, error) {
  67. errors := make([]error, 0)
  68. x := &AnyOrExpression{}
  69. matched := false
  70. // Any any = 1;
  71. {
  72. m, ok := compiler.UnpackMap(in)
  73. if ok {
  74. // errors might be ok here, they mean we just don't have the right subtype
  75. t, matchingError := NewAny(m, compiler.NewContext("any", context))
  76. if matchingError == nil {
  77. x.Oneof = &AnyOrExpression_Any{Any: t}
  78. matched = true
  79. } else {
  80. errors = append(errors, matchingError)
  81. }
  82. }
  83. }
  84. // Expression expression = 2;
  85. {
  86. m, ok := compiler.UnpackMap(in)
  87. if ok {
  88. // errors might be ok here, they mean we just don't have the right subtype
  89. t, matchingError := NewExpression(m, compiler.NewContext("expression", context))
  90. if matchingError == nil {
  91. x.Oneof = &AnyOrExpression_Expression{Expression: t}
  92. matched = true
  93. } else {
  94. errors = append(errors, matchingError)
  95. }
  96. }
  97. }
  98. if matched {
  99. // since the oneof matched one of its possibilities, discard any matching errors
  100. errors = make([]error, 0)
  101. }
  102. return x, compiler.NewErrorGroupOrNil(errors)
  103. }
  104. // NewAnysOrExpressions creates an object of type AnysOrExpressions if possible, returning an error if not.
  105. func NewAnysOrExpressions(in interface{}, context *compiler.Context) (*AnysOrExpressions, error) {
  106. errors := make([]error, 0)
  107. x := &AnysOrExpressions{}
  108. m, ok := compiler.UnpackMap(in)
  109. if !ok {
  110. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  111. errors = append(errors, compiler.NewError(context, message))
  112. } else {
  113. // repeated NamedAnyOrExpression additional_properties = 1;
  114. // MAP: AnyOrExpression
  115. x.AdditionalProperties = make([]*NamedAnyOrExpression, 0)
  116. for _, item := range m {
  117. k, ok := compiler.StringValue(item.Key)
  118. if ok {
  119. v := item.Value
  120. pair := &NamedAnyOrExpression{}
  121. pair.Name = k
  122. var err error
  123. pair.Value, err = NewAnyOrExpression(v, compiler.NewContext(k, context))
  124. if err != nil {
  125. errors = append(errors, err)
  126. }
  127. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  128. }
  129. }
  130. }
  131. return x, compiler.NewErrorGroupOrNil(errors)
  132. }
  133. // NewCallback creates an object of type Callback if possible, returning an error if not.
  134. func NewCallback(in interface{}, context *compiler.Context) (*Callback, error) {
  135. errors := make([]error, 0)
  136. x := &Callback{}
  137. m, ok := compiler.UnpackMap(in)
  138. if !ok {
  139. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  140. errors = append(errors, compiler.NewError(context, message))
  141. } else {
  142. allowedKeys := []string{}
  143. allowedPatterns := []*regexp.Regexp{pattern0, pattern1}
  144. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  145. if len(invalidKeys) > 0 {
  146. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  147. errors = append(errors, compiler.NewError(context, message))
  148. }
  149. // repeated NamedPathItem path = 1;
  150. // MAP: PathItem ^
  151. x.Path = make([]*NamedPathItem, 0)
  152. for _, item := range m {
  153. k, ok := compiler.StringValue(item.Key)
  154. if ok {
  155. v := item.Value
  156. if true {
  157. pair := &NamedPathItem{}
  158. pair.Name = k
  159. var err error
  160. pair.Value, err = NewPathItem(v, compiler.NewContext(k, context))
  161. if err != nil {
  162. errors = append(errors, err)
  163. }
  164. x.Path = append(x.Path, pair)
  165. }
  166. }
  167. }
  168. // repeated NamedAny specification_extension = 2;
  169. // MAP: Any ^x-
  170. x.SpecificationExtension = make([]*NamedAny, 0)
  171. for _, item := range m {
  172. k, ok := compiler.StringValue(item.Key)
  173. if ok {
  174. v := item.Value
  175. if strings.HasPrefix(k, "x-") {
  176. pair := &NamedAny{}
  177. pair.Name = k
  178. result := &Any{}
  179. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  180. if handled {
  181. if err != nil {
  182. errors = append(errors, err)
  183. } else {
  184. bytes, _ := yaml.Marshal(v)
  185. result.Yaml = string(bytes)
  186. result.Value = resultFromExt
  187. pair.Value = result
  188. }
  189. } else {
  190. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  191. if err != nil {
  192. errors = append(errors, err)
  193. }
  194. }
  195. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  196. }
  197. }
  198. }
  199. }
  200. return x, compiler.NewErrorGroupOrNil(errors)
  201. }
  202. // NewCallbackOrReference creates an object of type CallbackOrReference if possible, returning an error if not.
  203. func NewCallbackOrReference(in interface{}, context *compiler.Context) (*CallbackOrReference, error) {
  204. errors := make([]error, 0)
  205. x := &CallbackOrReference{}
  206. matched := false
  207. // Callback callback = 1;
  208. {
  209. m, ok := compiler.UnpackMap(in)
  210. if ok {
  211. // errors might be ok here, they mean we just don't have the right subtype
  212. t, matchingError := NewCallback(m, compiler.NewContext("callback", context))
  213. if matchingError == nil {
  214. x.Oneof = &CallbackOrReference_Callback{Callback: t}
  215. matched = true
  216. } else {
  217. errors = append(errors, matchingError)
  218. }
  219. }
  220. }
  221. // Reference reference = 2;
  222. {
  223. m, ok := compiler.UnpackMap(in)
  224. if ok {
  225. // errors might be ok here, they mean we just don't have the right subtype
  226. t, matchingError := NewReference(m, compiler.NewContext("reference", context))
  227. if matchingError == nil {
  228. x.Oneof = &CallbackOrReference_Reference{Reference: t}
  229. matched = true
  230. } else {
  231. errors = append(errors, matchingError)
  232. }
  233. }
  234. }
  235. if matched {
  236. // since the oneof matched one of its possibilities, discard any matching errors
  237. errors = make([]error, 0)
  238. }
  239. return x, compiler.NewErrorGroupOrNil(errors)
  240. }
  241. // NewCallbacksOrReferences creates an object of type CallbacksOrReferences if possible, returning an error if not.
  242. func NewCallbacksOrReferences(in interface{}, context *compiler.Context) (*CallbacksOrReferences, error) {
  243. errors := make([]error, 0)
  244. x := &CallbacksOrReferences{}
  245. m, ok := compiler.UnpackMap(in)
  246. if !ok {
  247. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  248. errors = append(errors, compiler.NewError(context, message))
  249. } else {
  250. // repeated NamedCallbackOrReference additional_properties = 1;
  251. // MAP: CallbackOrReference
  252. x.AdditionalProperties = make([]*NamedCallbackOrReference, 0)
  253. for _, item := range m {
  254. k, ok := compiler.StringValue(item.Key)
  255. if ok {
  256. v := item.Value
  257. pair := &NamedCallbackOrReference{}
  258. pair.Name = k
  259. var err error
  260. pair.Value, err = NewCallbackOrReference(v, compiler.NewContext(k, context))
  261. if err != nil {
  262. errors = append(errors, err)
  263. }
  264. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  265. }
  266. }
  267. }
  268. return x, compiler.NewErrorGroupOrNil(errors)
  269. }
  270. // NewComponents creates an object of type Components if possible, returning an error if not.
  271. func NewComponents(in interface{}, context *compiler.Context) (*Components, error) {
  272. errors := make([]error, 0)
  273. x := &Components{}
  274. m, ok := compiler.UnpackMap(in)
  275. if !ok {
  276. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  277. errors = append(errors, compiler.NewError(context, message))
  278. } else {
  279. allowedKeys := []string{"callbacks", "examples", "headers", "links", "parameters", "requestBodies", "responses", "schemas", "securitySchemes"}
  280. allowedPatterns := []*regexp.Regexp{pattern1}
  281. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  282. if len(invalidKeys) > 0 {
  283. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  284. errors = append(errors, compiler.NewError(context, message))
  285. }
  286. // SchemasOrReferences schemas = 1;
  287. v1 := compiler.MapValueForKey(m, "schemas")
  288. if v1 != nil {
  289. var err error
  290. x.Schemas, err = NewSchemasOrReferences(v1, compiler.NewContext("schemas", context))
  291. if err != nil {
  292. errors = append(errors, err)
  293. }
  294. }
  295. // ResponsesOrReferences responses = 2;
  296. v2 := compiler.MapValueForKey(m, "responses")
  297. if v2 != nil {
  298. var err error
  299. x.Responses, err = NewResponsesOrReferences(v2, compiler.NewContext("responses", context))
  300. if err != nil {
  301. errors = append(errors, err)
  302. }
  303. }
  304. // ParametersOrReferences parameters = 3;
  305. v3 := compiler.MapValueForKey(m, "parameters")
  306. if v3 != nil {
  307. var err error
  308. x.Parameters, err = NewParametersOrReferences(v3, compiler.NewContext("parameters", context))
  309. if err != nil {
  310. errors = append(errors, err)
  311. }
  312. }
  313. // ExamplesOrReferences examples = 4;
  314. v4 := compiler.MapValueForKey(m, "examples")
  315. if v4 != nil {
  316. var err error
  317. x.Examples, err = NewExamplesOrReferences(v4, compiler.NewContext("examples", context))
  318. if err != nil {
  319. errors = append(errors, err)
  320. }
  321. }
  322. // RequestBodiesOrReferences request_bodies = 5;
  323. v5 := compiler.MapValueForKey(m, "requestBodies")
  324. if v5 != nil {
  325. var err error
  326. x.RequestBodies, err = NewRequestBodiesOrReferences(v5, compiler.NewContext("requestBodies", context))
  327. if err != nil {
  328. errors = append(errors, err)
  329. }
  330. }
  331. // HeadersOrReferences headers = 6;
  332. v6 := compiler.MapValueForKey(m, "headers")
  333. if v6 != nil {
  334. var err error
  335. x.Headers, err = NewHeadersOrReferences(v6, compiler.NewContext("headers", context))
  336. if err != nil {
  337. errors = append(errors, err)
  338. }
  339. }
  340. // SecuritySchemesOrReferences security_schemes = 7;
  341. v7 := compiler.MapValueForKey(m, "securitySchemes")
  342. if v7 != nil {
  343. var err error
  344. x.SecuritySchemes, err = NewSecuritySchemesOrReferences(v7, compiler.NewContext("securitySchemes", context))
  345. if err != nil {
  346. errors = append(errors, err)
  347. }
  348. }
  349. // LinksOrReferences links = 8;
  350. v8 := compiler.MapValueForKey(m, "links")
  351. if v8 != nil {
  352. var err error
  353. x.Links, err = NewLinksOrReferences(v8, compiler.NewContext("links", context))
  354. if err != nil {
  355. errors = append(errors, err)
  356. }
  357. }
  358. // CallbacksOrReferences callbacks = 9;
  359. v9 := compiler.MapValueForKey(m, "callbacks")
  360. if v9 != nil {
  361. var err error
  362. x.Callbacks, err = NewCallbacksOrReferences(v9, compiler.NewContext("callbacks", context))
  363. if err != nil {
  364. errors = append(errors, err)
  365. }
  366. }
  367. // repeated NamedAny specification_extension = 10;
  368. // MAP: Any ^x-
  369. x.SpecificationExtension = make([]*NamedAny, 0)
  370. for _, item := range m {
  371. k, ok := compiler.StringValue(item.Key)
  372. if ok {
  373. v := item.Value
  374. if strings.HasPrefix(k, "x-") {
  375. pair := &NamedAny{}
  376. pair.Name = k
  377. result := &Any{}
  378. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  379. if handled {
  380. if err != nil {
  381. errors = append(errors, err)
  382. } else {
  383. bytes, _ := yaml.Marshal(v)
  384. result.Yaml = string(bytes)
  385. result.Value = resultFromExt
  386. pair.Value = result
  387. }
  388. } else {
  389. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  390. if err != nil {
  391. errors = append(errors, err)
  392. }
  393. }
  394. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  395. }
  396. }
  397. }
  398. }
  399. return x, compiler.NewErrorGroupOrNil(errors)
  400. }
  401. // NewContact creates an object of type Contact if possible, returning an error if not.
  402. func NewContact(in interface{}, context *compiler.Context) (*Contact, error) {
  403. errors := make([]error, 0)
  404. x := &Contact{}
  405. m, ok := compiler.UnpackMap(in)
  406. if !ok {
  407. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  408. errors = append(errors, compiler.NewError(context, message))
  409. } else {
  410. allowedKeys := []string{"email", "name", "url"}
  411. allowedPatterns := []*regexp.Regexp{pattern1}
  412. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  413. if len(invalidKeys) > 0 {
  414. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  415. errors = append(errors, compiler.NewError(context, message))
  416. }
  417. // string name = 1;
  418. v1 := compiler.MapValueForKey(m, "name")
  419. if v1 != nil {
  420. x.Name, ok = v1.(string)
  421. if !ok {
  422. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  423. errors = append(errors, compiler.NewError(context, message))
  424. }
  425. }
  426. // string url = 2;
  427. v2 := compiler.MapValueForKey(m, "url")
  428. if v2 != nil {
  429. x.Url, ok = v2.(string)
  430. if !ok {
  431. message := fmt.Sprintf("has unexpected value for url: %+v (%T)", v2, v2)
  432. errors = append(errors, compiler.NewError(context, message))
  433. }
  434. }
  435. // string email = 3;
  436. v3 := compiler.MapValueForKey(m, "email")
  437. if v3 != nil {
  438. x.Email, ok = v3.(string)
  439. if !ok {
  440. message := fmt.Sprintf("has unexpected value for email: %+v (%T)", v3, v3)
  441. errors = append(errors, compiler.NewError(context, message))
  442. }
  443. }
  444. // repeated NamedAny specification_extension = 4;
  445. // MAP: Any ^x-
  446. x.SpecificationExtension = make([]*NamedAny, 0)
  447. for _, item := range m {
  448. k, ok := compiler.StringValue(item.Key)
  449. if ok {
  450. v := item.Value
  451. if strings.HasPrefix(k, "x-") {
  452. pair := &NamedAny{}
  453. pair.Name = k
  454. result := &Any{}
  455. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  456. if handled {
  457. if err != nil {
  458. errors = append(errors, err)
  459. } else {
  460. bytes, _ := yaml.Marshal(v)
  461. result.Yaml = string(bytes)
  462. result.Value = resultFromExt
  463. pair.Value = result
  464. }
  465. } else {
  466. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  467. if err != nil {
  468. errors = append(errors, err)
  469. }
  470. }
  471. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  472. }
  473. }
  474. }
  475. }
  476. return x, compiler.NewErrorGroupOrNil(errors)
  477. }
  478. // NewDefaultType creates an object of type DefaultType if possible, returning an error if not.
  479. func NewDefaultType(in interface{}, context *compiler.Context) (*DefaultType, error) {
  480. errors := make([]error, 0)
  481. x := &DefaultType{}
  482. matched := false
  483. switch in := in.(type) {
  484. case bool:
  485. x.Oneof = &DefaultType_Boolean{Boolean: in}
  486. matched = true
  487. case string:
  488. x.Oneof = &DefaultType_String_{String_: in}
  489. matched = true
  490. case int64:
  491. x.Oneof = &DefaultType_Number{Number: float64(in)}
  492. matched = true
  493. case int32:
  494. x.Oneof = &DefaultType_Number{Number: float64(in)}
  495. matched = true
  496. case int:
  497. x.Oneof = &DefaultType_Number{Number: float64(in)}
  498. matched = true
  499. case float64:
  500. x.Oneof = &DefaultType_Number{Number: in}
  501. matched = true
  502. case float32:
  503. x.Oneof = &DefaultType_Number{Number: float64(in)}
  504. matched = true
  505. }
  506. if matched {
  507. // since the oneof matched one of its possibilities, discard any matching errors
  508. errors = make([]error, 0)
  509. }
  510. return x, compiler.NewErrorGroupOrNil(errors)
  511. }
  512. // NewDiscriminator creates an object of type Discriminator if possible, returning an error if not.
  513. func NewDiscriminator(in interface{}, context *compiler.Context) (*Discriminator, error) {
  514. errors := make([]error, 0)
  515. x := &Discriminator{}
  516. m, ok := compiler.UnpackMap(in)
  517. if !ok {
  518. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  519. errors = append(errors, compiler.NewError(context, message))
  520. } else {
  521. requiredKeys := []string{"propertyName"}
  522. missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
  523. if len(missingKeys) > 0 {
  524. message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
  525. errors = append(errors, compiler.NewError(context, message))
  526. }
  527. allowedKeys := []string{"mapping", "propertyName"}
  528. var allowedPatterns []*regexp.Regexp
  529. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  530. if len(invalidKeys) > 0 {
  531. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  532. errors = append(errors, compiler.NewError(context, message))
  533. }
  534. // string property_name = 1;
  535. v1 := compiler.MapValueForKey(m, "propertyName")
  536. if v1 != nil {
  537. x.PropertyName, ok = v1.(string)
  538. if !ok {
  539. message := fmt.Sprintf("has unexpected value for propertyName: %+v (%T)", v1, v1)
  540. errors = append(errors, compiler.NewError(context, message))
  541. }
  542. }
  543. // Strings mapping = 2;
  544. v2 := compiler.MapValueForKey(m, "mapping")
  545. if v2 != nil {
  546. var err error
  547. x.Mapping, err = NewStrings(v2, compiler.NewContext("mapping", context))
  548. if err != nil {
  549. errors = append(errors, err)
  550. }
  551. }
  552. }
  553. return x, compiler.NewErrorGroupOrNil(errors)
  554. }
  555. // NewDocument creates an object of type Document if possible, returning an error if not.
  556. func NewDocument(in interface{}, context *compiler.Context) (*Document, error) {
  557. errors := make([]error, 0)
  558. x := &Document{}
  559. m, ok := compiler.UnpackMap(in)
  560. if !ok {
  561. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  562. errors = append(errors, compiler.NewError(context, message))
  563. } else {
  564. requiredKeys := []string{"info", "openapi", "paths"}
  565. missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
  566. if len(missingKeys) > 0 {
  567. message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
  568. errors = append(errors, compiler.NewError(context, message))
  569. }
  570. allowedKeys := []string{"components", "externalDocs", "info", "openapi", "paths", "security", "servers", "tags"}
  571. allowedPatterns := []*regexp.Regexp{pattern1}
  572. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  573. if len(invalidKeys) > 0 {
  574. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  575. errors = append(errors, compiler.NewError(context, message))
  576. }
  577. // string openapi = 1;
  578. v1 := compiler.MapValueForKey(m, "openapi")
  579. if v1 != nil {
  580. x.Openapi, ok = v1.(string)
  581. if !ok {
  582. message := fmt.Sprintf("has unexpected value for openapi: %+v (%T)", v1, v1)
  583. errors = append(errors, compiler.NewError(context, message))
  584. }
  585. }
  586. // Info info = 2;
  587. v2 := compiler.MapValueForKey(m, "info")
  588. if v2 != nil {
  589. var err error
  590. x.Info, err = NewInfo(v2, compiler.NewContext("info", context))
  591. if err != nil {
  592. errors = append(errors, err)
  593. }
  594. }
  595. // repeated Server servers = 3;
  596. v3 := compiler.MapValueForKey(m, "servers")
  597. if v3 != nil {
  598. // repeated Server
  599. x.Servers = make([]*Server, 0)
  600. a, ok := v3.([]interface{})
  601. if ok {
  602. for _, item := range a {
  603. y, err := NewServer(item, compiler.NewContext("servers", context))
  604. if err != nil {
  605. errors = append(errors, err)
  606. }
  607. x.Servers = append(x.Servers, y)
  608. }
  609. }
  610. }
  611. // Paths paths = 4;
  612. v4 := compiler.MapValueForKey(m, "paths")
  613. if v4 != nil {
  614. var err error
  615. x.Paths, err = NewPaths(v4, compiler.NewContext("paths", context))
  616. if err != nil {
  617. errors = append(errors, err)
  618. }
  619. }
  620. // Components components = 5;
  621. v5 := compiler.MapValueForKey(m, "components")
  622. if v5 != nil {
  623. var err error
  624. x.Components, err = NewComponents(v5, compiler.NewContext("components", context))
  625. if err != nil {
  626. errors = append(errors, err)
  627. }
  628. }
  629. // repeated SecurityRequirement security = 6;
  630. v6 := compiler.MapValueForKey(m, "security")
  631. if v6 != nil {
  632. // repeated SecurityRequirement
  633. x.Security = make([]*SecurityRequirement, 0)
  634. a, ok := v6.([]interface{})
  635. if ok {
  636. for _, item := range a {
  637. y, err := NewSecurityRequirement(item, compiler.NewContext("security", context))
  638. if err != nil {
  639. errors = append(errors, err)
  640. }
  641. x.Security = append(x.Security, y)
  642. }
  643. }
  644. }
  645. // repeated Tag tags = 7;
  646. v7 := compiler.MapValueForKey(m, "tags")
  647. if v7 != nil {
  648. // repeated Tag
  649. x.Tags = make([]*Tag, 0)
  650. a, ok := v7.([]interface{})
  651. if ok {
  652. for _, item := range a {
  653. y, err := NewTag(item, compiler.NewContext("tags", context))
  654. if err != nil {
  655. errors = append(errors, err)
  656. }
  657. x.Tags = append(x.Tags, y)
  658. }
  659. }
  660. }
  661. // ExternalDocs external_docs = 8;
  662. v8 := compiler.MapValueForKey(m, "externalDocs")
  663. if v8 != nil {
  664. var err error
  665. x.ExternalDocs, err = NewExternalDocs(v8, compiler.NewContext("externalDocs", context))
  666. if err != nil {
  667. errors = append(errors, err)
  668. }
  669. }
  670. // repeated NamedAny specification_extension = 9;
  671. // MAP: Any ^x-
  672. x.SpecificationExtension = make([]*NamedAny, 0)
  673. for _, item := range m {
  674. k, ok := compiler.StringValue(item.Key)
  675. if ok {
  676. v := item.Value
  677. if strings.HasPrefix(k, "x-") {
  678. pair := &NamedAny{}
  679. pair.Name = k
  680. result := &Any{}
  681. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  682. if handled {
  683. if err != nil {
  684. errors = append(errors, err)
  685. } else {
  686. bytes, _ := yaml.Marshal(v)
  687. result.Yaml = string(bytes)
  688. result.Value = resultFromExt
  689. pair.Value = result
  690. }
  691. } else {
  692. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  693. if err != nil {
  694. errors = append(errors, err)
  695. }
  696. }
  697. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  698. }
  699. }
  700. }
  701. }
  702. return x, compiler.NewErrorGroupOrNil(errors)
  703. }
  704. // NewEncoding creates an object of type Encoding if possible, returning an error if not.
  705. func NewEncoding(in interface{}, context *compiler.Context) (*Encoding, error) {
  706. errors := make([]error, 0)
  707. x := &Encoding{}
  708. m, ok := compiler.UnpackMap(in)
  709. if !ok {
  710. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  711. errors = append(errors, compiler.NewError(context, message))
  712. } else {
  713. allowedKeys := []string{"allowReserved", "contentType", "explode", "headers", "style"}
  714. allowedPatterns := []*regexp.Regexp{pattern1}
  715. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  716. if len(invalidKeys) > 0 {
  717. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  718. errors = append(errors, compiler.NewError(context, message))
  719. }
  720. // string content_type = 1;
  721. v1 := compiler.MapValueForKey(m, "contentType")
  722. if v1 != nil {
  723. x.ContentType, ok = v1.(string)
  724. if !ok {
  725. message := fmt.Sprintf("has unexpected value for contentType: %+v (%T)", v1, v1)
  726. errors = append(errors, compiler.NewError(context, message))
  727. }
  728. }
  729. // HeadersOrReferences headers = 2;
  730. v2 := compiler.MapValueForKey(m, "headers")
  731. if v2 != nil {
  732. var err error
  733. x.Headers, err = NewHeadersOrReferences(v2, compiler.NewContext("headers", context))
  734. if err != nil {
  735. errors = append(errors, err)
  736. }
  737. }
  738. // string style = 3;
  739. v3 := compiler.MapValueForKey(m, "style")
  740. if v3 != nil {
  741. x.Style, ok = v3.(string)
  742. if !ok {
  743. message := fmt.Sprintf("has unexpected value for style: %+v (%T)", v3, v3)
  744. errors = append(errors, compiler.NewError(context, message))
  745. }
  746. }
  747. // bool explode = 4;
  748. v4 := compiler.MapValueForKey(m, "explode")
  749. if v4 != nil {
  750. x.Explode, ok = v4.(bool)
  751. if !ok {
  752. message := fmt.Sprintf("has unexpected value for explode: %+v (%T)", v4, v4)
  753. errors = append(errors, compiler.NewError(context, message))
  754. }
  755. }
  756. // bool allow_reserved = 5;
  757. v5 := compiler.MapValueForKey(m, "allowReserved")
  758. if v5 != nil {
  759. x.AllowReserved, ok = v5.(bool)
  760. if !ok {
  761. message := fmt.Sprintf("has unexpected value for allowReserved: %+v (%T)", v5, v5)
  762. errors = append(errors, compiler.NewError(context, message))
  763. }
  764. }
  765. // repeated NamedAny specification_extension = 6;
  766. // MAP: Any ^x-
  767. x.SpecificationExtension = make([]*NamedAny, 0)
  768. for _, item := range m {
  769. k, ok := compiler.StringValue(item.Key)
  770. if ok {
  771. v := item.Value
  772. if strings.HasPrefix(k, "x-") {
  773. pair := &NamedAny{}
  774. pair.Name = k
  775. result := &Any{}
  776. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  777. if handled {
  778. if err != nil {
  779. errors = append(errors, err)
  780. } else {
  781. bytes, _ := yaml.Marshal(v)
  782. result.Yaml = string(bytes)
  783. result.Value = resultFromExt
  784. pair.Value = result
  785. }
  786. } else {
  787. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  788. if err != nil {
  789. errors = append(errors, err)
  790. }
  791. }
  792. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  793. }
  794. }
  795. }
  796. }
  797. return x, compiler.NewErrorGroupOrNil(errors)
  798. }
  799. // NewEncodings creates an object of type Encodings if possible, returning an error if not.
  800. func NewEncodings(in interface{}, context *compiler.Context) (*Encodings, error) {
  801. errors := make([]error, 0)
  802. x := &Encodings{}
  803. m, ok := compiler.UnpackMap(in)
  804. if !ok {
  805. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  806. errors = append(errors, compiler.NewError(context, message))
  807. } else {
  808. // repeated NamedEncoding additional_properties = 1;
  809. // MAP: Encoding
  810. x.AdditionalProperties = make([]*NamedEncoding, 0)
  811. for _, item := range m {
  812. k, ok := compiler.StringValue(item.Key)
  813. if ok {
  814. v := item.Value
  815. pair := &NamedEncoding{}
  816. pair.Name = k
  817. var err error
  818. pair.Value, err = NewEncoding(v, compiler.NewContext(k, context))
  819. if err != nil {
  820. errors = append(errors, err)
  821. }
  822. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  823. }
  824. }
  825. }
  826. return x, compiler.NewErrorGroupOrNil(errors)
  827. }
  828. // NewExample creates an object of type Example if possible, returning an error if not.
  829. func NewExample(in interface{}, context *compiler.Context) (*Example, error) {
  830. errors := make([]error, 0)
  831. x := &Example{}
  832. m, ok := compiler.UnpackMap(in)
  833. if !ok {
  834. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  835. errors = append(errors, compiler.NewError(context, message))
  836. } else {
  837. allowedKeys := []string{"description", "externalValue", "summary", "value"}
  838. allowedPatterns := []*regexp.Regexp{pattern1}
  839. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  840. if len(invalidKeys) > 0 {
  841. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  842. errors = append(errors, compiler.NewError(context, message))
  843. }
  844. // string summary = 1;
  845. v1 := compiler.MapValueForKey(m, "summary")
  846. if v1 != nil {
  847. x.Summary, ok = v1.(string)
  848. if !ok {
  849. message := fmt.Sprintf("has unexpected value for summary: %+v (%T)", v1, v1)
  850. errors = append(errors, compiler.NewError(context, message))
  851. }
  852. }
  853. // string description = 2;
  854. v2 := compiler.MapValueForKey(m, "description")
  855. if v2 != nil {
  856. x.Description, ok = v2.(string)
  857. if !ok {
  858. message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v2, v2)
  859. errors = append(errors, compiler.NewError(context, message))
  860. }
  861. }
  862. // Any value = 3;
  863. v3 := compiler.MapValueForKey(m, "value")
  864. if v3 != nil {
  865. var err error
  866. x.Value, err = NewAny(v3, compiler.NewContext("value", context))
  867. if err != nil {
  868. errors = append(errors, err)
  869. }
  870. }
  871. // string external_value = 4;
  872. v4 := compiler.MapValueForKey(m, "externalValue")
  873. if v4 != nil {
  874. x.ExternalValue, ok = v4.(string)
  875. if !ok {
  876. message := fmt.Sprintf("has unexpected value for externalValue: %+v (%T)", v4, v4)
  877. errors = append(errors, compiler.NewError(context, message))
  878. }
  879. }
  880. // repeated NamedAny specification_extension = 5;
  881. // MAP: Any ^x-
  882. x.SpecificationExtension = make([]*NamedAny, 0)
  883. for _, item := range m {
  884. k, ok := compiler.StringValue(item.Key)
  885. if ok {
  886. v := item.Value
  887. if strings.HasPrefix(k, "x-") {
  888. pair := &NamedAny{}
  889. pair.Name = k
  890. result := &Any{}
  891. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  892. if handled {
  893. if err != nil {
  894. errors = append(errors, err)
  895. } else {
  896. bytes, _ := yaml.Marshal(v)
  897. result.Yaml = string(bytes)
  898. result.Value = resultFromExt
  899. pair.Value = result
  900. }
  901. } else {
  902. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  903. if err != nil {
  904. errors = append(errors, err)
  905. }
  906. }
  907. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  908. }
  909. }
  910. }
  911. }
  912. return x, compiler.NewErrorGroupOrNil(errors)
  913. }
  914. // NewExampleOrReference creates an object of type ExampleOrReference if possible, returning an error if not.
  915. func NewExampleOrReference(in interface{}, context *compiler.Context) (*ExampleOrReference, error) {
  916. errors := make([]error, 0)
  917. x := &ExampleOrReference{}
  918. matched := false
  919. // Example example = 1;
  920. {
  921. m, ok := compiler.UnpackMap(in)
  922. if ok {
  923. // errors might be ok here, they mean we just don't have the right subtype
  924. t, matchingError := NewExample(m, compiler.NewContext("example", context))
  925. if matchingError == nil {
  926. x.Oneof = &ExampleOrReference_Example{Example: t}
  927. matched = true
  928. } else {
  929. errors = append(errors, matchingError)
  930. }
  931. }
  932. }
  933. // Reference reference = 2;
  934. {
  935. m, ok := compiler.UnpackMap(in)
  936. if ok {
  937. // errors might be ok here, they mean we just don't have the right subtype
  938. t, matchingError := NewReference(m, compiler.NewContext("reference", context))
  939. if matchingError == nil {
  940. x.Oneof = &ExampleOrReference_Reference{Reference: t}
  941. matched = true
  942. } else {
  943. errors = append(errors, matchingError)
  944. }
  945. }
  946. }
  947. if matched {
  948. // since the oneof matched one of its possibilities, discard any matching errors
  949. errors = make([]error, 0)
  950. }
  951. return x, compiler.NewErrorGroupOrNil(errors)
  952. }
  953. // NewExamples creates an object of type Examples if possible, returning an error if not.
  954. func NewExamples(in interface{}, context *compiler.Context) (*Examples, error) {
  955. errors := make([]error, 0)
  956. x := &Examples{}
  957. m, ok := compiler.UnpackMap(in)
  958. if !ok {
  959. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  960. errors = append(errors, compiler.NewError(context, message))
  961. } else {
  962. allowedKeys := []string{}
  963. var allowedPatterns []*regexp.Regexp
  964. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  965. if len(invalidKeys) > 0 {
  966. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  967. errors = append(errors, compiler.NewError(context, message))
  968. }
  969. }
  970. return x, compiler.NewErrorGroupOrNil(errors)
  971. }
  972. // NewExamplesOrReferences creates an object of type ExamplesOrReferences if possible, returning an error if not.
  973. func NewExamplesOrReferences(in interface{}, context *compiler.Context) (*ExamplesOrReferences, error) {
  974. errors := make([]error, 0)
  975. x := &ExamplesOrReferences{}
  976. m, ok := compiler.UnpackMap(in)
  977. if !ok {
  978. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  979. errors = append(errors, compiler.NewError(context, message))
  980. } else {
  981. // repeated NamedExampleOrReference additional_properties = 1;
  982. // MAP: ExampleOrReference
  983. x.AdditionalProperties = make([]*NamedExampleOrReference, 0)
  984. for _, item := range m {
  985. k, ok := compiler.StringValue(item.Key)
  986. if ok {
  987. v := item.Value
  988. pair := &NamedExampleOrReference{}
  989. pair.Name = k
  990. var err error
  991. pair.Value, err = NewExampleOrReference(v, compiler.NewContext(k, context))
  992. if err != nil {
  993. errors = append(errors, err)
  994. }
  995. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  996. }
  997. }
  998. }
  999. return x, compiler.NewErrorGroupOrNil(errors)
  1000. }
  1001. // NewExpression creates an object of type Expression if possible, returning an error if not.
  1002. func NewExpression(in interface{}, context *compiler.Context) (*Expression, error) {
  1003. errors := make([]error, 0)
  1004. x := &Expression{}
  1005. m, ok := compiler.UnpackMap(in)
  1006. if !ok {
  1007. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  1008. errors = append(errors, compiler.NewError(context, message))
  1009. } else {
  1010. // repeated NamedAny additional_properties = 1;
  1011. // MAP: Any
  1012. x.AdditionalProperties = make([]*NamedAny, 0)
  1013. for _, item := range m {
  1014. k, ok := compiler.StringValue(item.Key)
  1015. if ok {
  1016. v := item.Value
  1017. pair := &NamedAny{}
  1018. pair.Name = k
  1019. result := &Any{}
  1020. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  1021. if handled {
  1022. if err != nil {
  1023. errors = append(errors, err)
  1024. } else {
  1025. bytes, _ := yaml.Marshal(v)
  1026. result.Yaml = string(bytes)
  1027. result.Value = resultFromExt
  1028. pair.Value = result
  1029. }
  1030. } else {
  1031. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  1032. if err != nil {
  1033. errors = append(errors, err)
  1034. }
  1035. }
  1036. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  1037. }
  1038. }
  1039. }
  1040. return x, compiler.NewErrorGroupOrNil(errors)
  1041. }
  1042. // NewExternalDocs creates an object of type ExternalDocs if possible, returning an error if not.
  1043. func NewExternalDocs(in interface{}, context *compiler.Context) (*ExternalDocs, error) {
  1044. errors := make([]error, 0)
  1045. x := &ExternalDocs{}
  1046. m, ok := compiler.UnpackMap(in)
  1047. if !ok {
  1048. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  1049. errors = append(errors, compiler.NewError(context, message))
  1050. } else {
  1051. requiredKeys := []string{"url"}
  1052. missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
  1053. if len(missingKeys) > 0 {
  1054. message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
  1055. errors = append(errors, compiler.NewError(context, message))
  1056. }
  1057. allowedKeys := []string{"description", "url"}
  1058. allowedPatterns := []*regexp.Regexp{pattern1}
  1059. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  1060. if len(invalidKeys) > 0 {
  1061. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  1062. errors = append(errors, compiler.NewError(context, message))
  1063. }
  1064. // string description = 1;
  1065. v1 := compiler.MapValueForKey(m, "description")
  1066. if v1 != nil {
  1067. x.Description, ok = v1.(string)
  1068. if !ok {
  1069. message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v1, v1)
  1070. errors = append(errors, compiler.NewError(context, message))
  1071. }
  1072. }
  1073. // string url = 2;
  1074. v2 := compiler.MapValueForKey(m, "url")
  1075. if v2 != nil {
  1076. x.Url, ok = v2.(string)
  1077. if !ok {
  1078. message := fmt.Sprintf("has unexpected value for url: %+v (%T)", v2, v2)
  1079. errors = append(errors, compiler.NewError(context, message))
  1080. }
  1081. }
  1082. // repeated NamedAny specification_extension = 3;
  1083. // MAP: Any ^x-
  1084. x.SpecificationExtension = make([]*NamedAny, 0)
  1085. for _, item := range m {
  1086. k, ok := compiler.StringValue(item.Key)
  1087. if ok {
  1088. v := item.Value
  1089. if strings.HasPrefix(k, "x-") {
  1090. pair := &NamedAny{}
  1091. pair.Name = k
  1092. result := &Any{}
  1093. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  1094. if handled {
  1095. if err != nil {
  1096. errors = append(errors, err)
  1097. } else {
  1098. bytes, _ := yaml.Marshal(v)
  1099. result.Yaml = string(bytes)
  1100. result.Value = resultFromExt
  1101. pair.Value = result
  1102. }
  1103. } else {
  1104. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  1105. if err != nil {
  1106. errors = append(errors, err)
  1107. }
  1108. }
  1109. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  1110. }
  1111. }
  1112. }
  1113. }
  1114. return x, compiler.NewErrorGroupOrNil(errors)
  1115. }
  1116. // NewHeader creates an object of type Header if possible, returning an error if not.
  1117. func NewHeader(in interface{}, context *compiler.Context) (*Header, error) {
  1118. errors := make([]error, 0)
  1119. x := &Header{}
  1120. m, ok := compiler.UnpackMap(in)
  1121. if !ok {
  1122. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  1123. errors = append(errors, compiler.NewError(context, message))
  1124. } else {
  1125. allowedKeys := []string{"allowEmptyValue", "allowReserved", "content", "deprecated", "description", "example", "examples", "explode", "required", "schema", "style"}
  1126. allowedPatterns := []*regexp.Regexp{pattern1}
  1127. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  1128. if len(invalidKeys) > 0 {
  1129. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  1130. errors = append(errors, compiler.NewError(context, message))
  1131. }
  1132. // string description = 1;
  1133. v1 := compiler.MapValueForKey(m, "description")
  1134. if v1 != nil {
  1135. x.Description, ok = v1.(string)
  1136. if !ok {
  1137. message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v1, v1)
  1138. errors = append(errors, compiler.NewError(context, message))
  1139. }
  1140. }
  1141. // bool required = 2;
  1142. v2 := compiler.MapValueForKey(m, "required")
  1143. if v2 != nil {
  1144. x.Required, ok = v2.(bool)
  1145. if !ok {
  1146. message := fmt.Sprintf("has unexpected value for required: %+v (%T)", v2, v2)
  1147. errors = append(errors, compiler.NewError(context, message))
  1148. }
  1149. }
  1150. // bool deprecated = 3;
  1151. v3 := compiler.MapValueForKey(m, "deprecated")
  1152. if v3 != nil {
  1153. x.Deprecated, ok = v3.(bool)
  1154. if !ok {
  1155. message := fmt.Sprintf("has unexpected value for deprecated: %+v (%T)", v3, v3)
  1156. errors = append(errors, compiler.NewError(context, message))
  1157. }
  1158. }
  1159. // bool allow_empty_value = 4;
  1160. v4 := compiler.MapValueForKey(m, "allowEmptyValue")
  1161. if v4 != nil {
  1162. x.AllowEmptyValue, ok = v4.(bool)
  1163. if !ok {
  1164. message := fmt.Sprintf("has unexpected value for allowEmptyValue: %+v (%T)", v4, v4)
  1165. errors = append(errors, compiler.NewError(context, message))
  1166. }
  1167. }
  1168. // string style = 5;
  1169. v5 := compiler.MapValueForKey(m, "style")
  1170. if v5 != nil {
  1171. x.Style, ok = v5.(string)
  1172. if !ok {
  1173. message := fmt.Sprintf("has unexpected value for style: %+v (%T)", v5, v5)
  1174. errors = append(errors, compiler.NewError(context, message))
  1175. }
  1176. }
  1177. // bool explode = 6;
  1178. v6 := compiler.MapValueForKey(m, "explode")
  1179. if v6 != nil {
  1180. x.Explode, ok = v6.(bool)
  1181. if !ok {
  1182. message := fmt.Sprintf("has unexpected value for explode: %+v (%T)", v6, v6)
  1183. errors = append(errors, compiler.NewError(context, message))
  1184. }
  1185. }
  1186. // bool allow_reserved = 7;
  1187. v7 := compiler.MapValueForKey(m, "allowReserved")
  1188. if v7 != nil {
  1189. x.AllowReserved, ok = v7.(bool)
  1190. if !ok {
  1191. message := fmt.Sprintf("has unexpected value for allowReserved: %+v (%T)", v7, v7)
  1192. errors = append(errors, compiler.NewError(context, message))
  1193. }
  1194. }
  1195. // SchemaOrReference schema = 8;
  1196. v8 := compiler.MapValueForKey(m, "schema")
  1197. if v8 != nil {
  1198. var err error
  1199. x.Schema, err = NewSchemaOrReference(v8, compiler.NewContext("schema", context))
  1200. if err != nil {
  1201. errors = append(errors, err)
  1202. }
  1203. }
  1204. // Any example = 9;
  1205. v9 := compiler.MapValueForKey(m, "example")
  1206. if v9 != nil {
  1207. var err error
  1208. x.Example, err = NewAny(v9, compiler.NewContext("example", context))
  1209. if err != nil {
  1210. errors = append(errors, err)
  1211. }
  1212. }
  1213. // ExamplesOrReferences examples = 10;
  1214. v10 := compiler.MapValueForKey(m, "examples")
  1215. if v10 != nil {
  1216. var err error
  1217. x.Examples, err = NewExamplesOrReferences(v10, compiler.NewContext("examples", context))
  1218. if err != nil {
  1219. errors = append(errors, err)
  1220. }
  1221. }
  1222. // MediaTypes content = 11;
  1223. v11 := compiler.MapValueForKey(m, "content")
  1224. if v11 != nil {
  1225. var err error
  1226. x.Content, err = NewMediaTypes(v11, compiler.NewContext("content", context))
  1227. if err != nil {
  1228. errors = append(errors, err)
  1229. }
  1230. }
  1231. // repeated NamedAny specification_extension = 12;
  1232. // MAP: Any ^x-
  1233. x.SpecificationExtension = make([]*NamedAny, 0)
  1234. for _, item := range m {
  1235. k, ok := compiler.StringValue(item.Key)
  1236. if ok {
  1237. v := item.Value
  1238. if strings.HasPrefix(k, "x-") {
  1239. pair := &NamedAny{}
  1240. pair.Name = k
  1241. result := &Any{}
  1242. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  1243. if handled {
  1244. if err != nil {
  1245. errors = append(errors, err)
  1246. } else {
  1247. bytes, _ := yaml.Marshal(v)
  1248. result.Yaml = string(bytes)
  1249. result.Value = resultFromExt
  1250. pair.Value = result
  1251. }
  1252. } else {
  1253. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  1254. if err != nil {
  1255. errors = append(errors, err)
  1256. }
  1257. }
  1258. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  1259. }
  1260. }
  1261. }
  1262. }
  1263. return x, compiler.NewErrorGroupOrNil(errors)
  1264. }
  1265. // NewHeaderOrReference creates an object of type HeaderOrReference if possible, returning an error if not.
  1266. func NewHeaderOrReference(in interface{}, context *compiler.Context) (*HeaderOrReference, error) {
  1267. errors := make([]error, 0)
  1268. x := &HeaderOrReference{}
  1269. matched := false
  1270. // Header header = 1;
  1271. {
  1272. m, ok := compiler.UnpackMap(in)
  1273. if ok {
  1274. // errors might be ok here, they mean we just don't have the right subtype
  1275. t, matchingError := NewHeader(m, compiler.NewContext("header", context))
  1276. if matchingError == nil {
  1277. x.Oneof = &HeaderOrReference_Header{Header: t}
  1278. matched = true
  1279. } else {
  1280. errors = append(errors, matchingError)
  1281. }
  1282. }
  1283. }
  1284. // Reference reference = 2;
  1285. {
  1286. m, ok := compiler.UnpackMap(in)
  1287. if ok {
  1288. // errors might be ok here, they mean we just don't have the right subtype
  1289. t, matchingError := NewReference(m, compiler.NewContext("reference", context))
  1290. if matchingError == nil {
  1291. x.Oneof = &HeaderOrReference_Reference{Reference: t}
  1292. matched = true
  1293. } else {
  1294. errors = append(errors, matchingError)
  1295. }
  1296. }
  1297. }
  1298. if matched {
  1299. // since the oneof matched one of its possibilities, discard any matching errors
  1300. errors = make([]error, 0)
  1301. }
  1302. return x, compiler.NewErrorGroupOrNil(errors)
  1303. }
  1304. // NewHeadersOrReferences creates an object of type HeadersOrReferences if possible, returning an error if not.
  1305. func NewHeadersOrReferences(in interface{}, context *compiler.Context) (*HeadersOrReferences, error) {
  1306. errors := make([]error, 0)
  1307. x := &HeadersOrReferences{}
  1308. m, ok := compiler.UnpackMap(in)
  1309. if !ok {
  1310. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  1311. errors = append(errors, compiler.NewError(context, message))
  1312. } else {
  1313. // repeated NamedHeaderOrReference additional_properties = 1;
  1314. // MAP: HeaderOrReference
  1315. x.AdditionalProperties = make([]*NamedHeaderOrReference, 0)
  1316. for _, item := range m {
  1317. k, ok := compiler.StringValue(item.Key)
  1318. if ok {
  1319. v := item.Value
  1320. pair := &NamedHeaderOrReference{}
  1321. pair.Name = k
  1322. var err error
  1323. pair.Value, err = NewHeaderOrReference(v, compiler.NewContext(k, context))
  1324. if err != nil {
  1325. errors = append(errors, err)
  1326. }
  1327. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  1328. }
  1329. }
  1330. }
  1331. return x, compiler.NewErrorGroupOrNil(errors)
  1332. }
  1333. // NewInfo creates an object of type Info if possible, returning an error if not.
  1334. func NewInfo(in interface{}, context *compiler.Context) (*Info, error) {
  1335. errors := make([]error, 0)
  1336. x := &Info{}
  1337. m, ok := compiler.UnpackMap(in)
  1338. if !ok {
  1339. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  1340. errors = append(errors, compiler.NewError(context, message))
  1341. } else {
  1342. requiredKeys := []string{"title", "version"}
  1343. missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
  1344. if len(missingKeys) > 0 {
  1345. message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
  1346. errors = append(errors, compiler.NewError(context, message))
  1347. }
  1348. allowedKeys := []string{"contact", "description", "license", "termsOfService", "title", "version"}
  1349. allowedPatterns := []*regexp.Regexp{pattern1}
  1350. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  1351. if len(invalidKeys) > 0 {
  1352. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  1353. errors = append(errors, compiler.NewError(context, message))
  1354. }
  1355. // string title = 1;
  1356. v1 := compiler.MapValueForKey(m, "title")
  1357. if v1 != nil {
  1358. x.Title, ok = v1.(string)
  1359. if !ok {
  1360. message := fmt.Sprintf("has unexpected value for title: %+v (%T)", v1, v1)
  1361. errors = append(errors, compiler.NewError(context, message))
  1362. }
  1363. }
  1364. // string description = 2;
  1365. v2 := compiler.MapValueForKey(m, "description")
  1366. if v2 != nil {
  1367. x.Description, ok = v2.(string)
  1368. if !ok {
  1369. message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v2, v2)
  1370. errors = append(errors, compiler.NewError(context, message))
  1371. }
  1372. }
  1373. // string terms_of_service = 3;
  1374. v3 := compiler.MapValueForKey(m, "termsOfService")
  1375. if v3 != nil {
  1376. x.TermsOfService, ok = v3.(string)
  1377. if !ok {
  1378. message := fmt.Sprintf("has unexpected value for termsOfService: %+v (%T)", v3, v3)
  1379. errors = append(errors, compiler.NewError(context, message))
  1380. }
  1381. }
  1382. // Contact contact = 4;
  1383. v4 := compiler.MapValueForKey(m, "contact")
  1384. if v4 != nil {
  1385. var err error
  1386. x.Contact, err = NewContact(v4, compiler.NewContext("contact", context))
  1387. if err != nil {
  1388. errors = append(errors, err)
  1389. }
  1390. }
  1391. // License license = 5;
  1392. v5 := compiler.MapValueForKey(m, "license")
  1393. if v5 != nil {
  1394. var err error
  1395. x.License, err = NewLicense(v5, compiler.NewContext("license", context))
  1396. if err != nil {
  1397. errors = append(errors, err)
  1398. }
  1399. }
  1400. // string version = 6;
  1401. v6 := compiler.MapValueForKey(m, "version")
  1402. if v6 != nil {
  1403. x.Version, ok = v6.(string)
  1404. if !ok {
  1405. message := fmt.Sprintf("has unexpected value for version: %+v (%T)", v6, v6)
  1406. errors = append(errors, compiler.NewError(context, message))
  1407. }
  1408. }
  1409. // repeated NamedAny specification_extension = 7;
  1410. // MAP: Any ^x-
  1411. x.SpecificationExtension = make([]*NamedAny, 0)
  1412. for _, item := range m {
  1413. k, ok := compiler.StringValue(item.Key)
  1414. if ok {
  1415. v := item.Value
  1416. if strings.HasPrefix(k, "x-") {
  1417. pair := &NamedAny{}
  1418. pair.Name = k
  1419. result := &Any{}
  1420. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  1421. if handled {
  1422. if err != nil {
  1423. errors = append(errors, err)
  1424. } else {
  1425. bytes, _ := yaml.Marshal(v)
  1426. result.Yaml = string(bytes)
  1427. result.Value = resultFromExt
  1428. pair.Value = result
  1429. }
  1430. } else {
  1431. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  1432. if err != nil {
  1433. errors = append(errors, err)
  1434. }
  1435. }
  1436. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  1437. }
  1438. }
  1439. }
  1440. }
  1441. return x, compiler.NewErrorGroupOrNil(errors)
  1442. }
  1443. // NewItemsItem creates an object of type ItemsItem if possible, returning an error if not.
  1444. func NewItemsItem(in interface{}, context *compiler.Context) (*ItemsItem, error) {
  1445. errors := make([]error, 0)
  1446. x := &ItemsItem{}
  1447. m, ok := compiler.UnpackMap(in)
  1448. if !ok {
  1449. message := fmt.Sprintf("has unexpected value for item array: %+v (%T)", in, in)
  1450. errors = append(errors, compiler.NewError(context, message))
  1451. } else {
  1452. x.SchemaOrReference = make([]*SchemaOrReference, 0)
  1453. y, err := NewSchemaOrReference(m, compiler.NewContext("<array>", context))
  1454. if err != nil {
  1455. return nil, err
  1456. }
  1457. x.SchemaOrReference = append(x.SchemaOrReference, y)
  1458. }
  1459. return x, compiler.NewErrorGroupOrNil(errors)
  1460. }
  1461. // NewLicense creates an object of type License if possible, returning an error if not.
  1462. func NewLicense(in interface{}, context *compiler.Context) (*License, error) {
  1463. errors := make([]error, 0)
  1464. x := &License{}
  1465. m, ok := compiler.UnpackMap(in)
  1466. if !ok {
  1467. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  1468. errors = append(errors, compiler.NewError(context, message))
  1469. } else {
  1470. requiredKeys := []string{"name"}
  1471. missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
  1472. if len(missingKeys) > 0 {
  1473. message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
  1474. errors = append(errors, compiler.NewError(context, message))
  1475. }
  1476. allowedKeys := []string{"name", "url"}
  1477. allowedPatterns := []*regexp.Regexp{pattern1}
  1478. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  1479. if len(invalidKeys) > 0 {
  1480. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  1481. errors = append(errors, compiler.NewError(context, message))
  1482. }
  1483. // string name = 1;
  1484. v1 := compiler.MapValueForKey(m, "name")
  1485. if v1 != nil {
  1486. x.Name, ok = v1.(string)
  1487. if !ok {
  1488. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  1489. errors = append(errors, compiler.NewError(context, message))
  1490. }
  1491. }
  1492. // string url = 2;
  1493. v2 := compiler.MapValueForKey(m, "url")
  1494. if v2 != nil {
  1495. x.Url, ok = v2.(string)
  1496. if !ok {
  1497. message := fmt.Sprintf("has unexpected value for url: %+v (%T)", v2, v2)
  1498. errors = append(errors, compiler.NewError(context, message))
  1499. }
  1500. }
  1501. // repeated NamedAny specification_extension = 3;
  1502. // MAP: Any ^x-
  1503. x.SpecificationExtension = make([]*NamedAny, 0)
  1504. for _, item := range m {
  1505. k, ok := compiler.StringValue(item.Key)
  1506. if ok {
  1507. v := item.Value
  1508. if strings.HasPrefix(k, "x-") {
  1509. pair := &NamedAny{}
  1510. pair.Name = k
  1511. result := &Any{}
  1512. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  1513. if handled {
  1514. if err != nil {
  1515. errors = append(errors, err)
  1516. } else {
  1517. bytes, _ := yaml.Marshal(v)
  1518. result.Yaml = string(bytes)
  1519. result.Value = resultFromExt
  1520. pair.Value = result
  1521. }
  1522. } else {
  1523. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  1524. if err != nil {
  1525. errors = append(errors, err)
  1526. }
  1527. }
  1528. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  1529. }
  1530. }
  1531. }
  1532. }
  1533. return x, compiler.NewErrorGroupOrNil(errors)
  1534. }
  1535. // NewLink creates an object of type Link if possible, returning an error if not.
  1536. func NewLink(in interface{}, context *compiler.Context) (*Link, error) {
  1537. errors := make([]error, 0)
  1538. x := &Link{}
  1539. m, ok := compiler.UnpackMap(in)
  1540. if !ok {
  1541. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  1542. errors = append(errors, compiler.NewError(context, message))
  1543. } else {
  1544. allowedKeys := []string{"description", "operationId", "operationRef", "parameters", "requestBody", "server"}
  1545. allowedPatterns := []*regexp.Regexp{pattern1}
  1546. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  1547. if len(invalidKeys) > 0 {
  1548. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  1549. errors = append(errors, compiler.NewError(context, message))
  1550. }
  1551. // string operation_ref = 1;
  1552. v1 := compiler.MapValueForKey(m, "operationRef")
  1553. if v1 != nil {
  1554. x.OperationRef, ok = v1.(string)
  1555. if !ok {
  1556. message := fmt.Sprintf("has unexpected value for operationRef: %+v (%T)", v1, v1)
  1557. errors = append(errors, compiler.NewError(context, message))
  1558. }
  1559. }
  1560. // string operation_id = 2;
  1561. v2 := compiler.MapValueForKey(m, "operationId")
  1562. if v2 != nil {
  1563. x.OperationId, ok = v2.(string)
  1564. if !ok {
  1565. message := fmt.Sprintf("has unexpected value for operationId: %+v (%T)", v2, v2)
  1566. errors = append(errors, compiler.NewError(context, message))
  1567. }
  1568. }
  1569. // AnysOrExpressions parameters = 3;
  1570. v3 := compiler.MapValueForKey(m, "parameters")
  1571. if v3 != nil {
  1572. var err error
  1573. x.Parameters, err = NewAnysOrExpressions(v3, compiler.NewContext("parameters", context))
  1574. if err != nil {
  1575. errors = append(errors, err)
  1576. }
  1577. }
  1578. // AnyOrExpression request_body = 4;
  1579. v4 := compiler.MapValueForKey(m, "requestBody")
  1580. if v4 != nil {
  1581. var err error
  1582. x.RequestBody, err = NewAnyOrExpression(v4, compiler.NewContext("requestBody", context))
  1583. if err != nil {
  1584. errors = append(errors, err)
  1585. }
  1586. }
  1587. // string description = 5;
  1588. v5 := compiler.MapValueForKey(m, "description")
  1589. if v5 != nil {
  1590. x.Description, ok = v5.(string)
  1591. if !ok {
  1592. message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v5, v5)
  1593. errors = append(errors, compiler.NewError(context, message))
  1594. }
  1595. }
  1596. // Server server = 6;
  1597. v6 := compiler.MapValueForKey(m, "server")
  1598. if v6 != nil {
  1599. var err error
  1600. x.Server, err = NewServer(v6, compiler.NewContext("server", context))
  1601. if err != nil {
  1602. errors = append(errors, err)
  1603. }
  1604. }
  1605. // repeated NamedAny specification_extension = 7;
  1606. // MAP: Any ^x-
  1607. x.SpecificationExtension = make([]*NamedAny, 0)
  1608. for _, item := range m {
  1609. k, ok := compiler.StringValue(item.Key)
  1610. if ok {
  1611. v := item.Value
  1612. if strings.HasPrefix(k, "x-") {
  1613. pair := &NamedAny{}
  1614. pair.Name = k
  1615. result := &Any{}
  1616. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  1617. if handled {
  1618. if err != nil {
  1619. errors = append(errors, err)
  1620. } else {
  1621. bytes, _ := yaml.Marshal(v)
  1622. result.Yaml = string(bytes)
  1623. result.Value = resultFromExt
  1624. pair.Value = result
  1625. }
  1626. } else {
  1627. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  1628. if err != nil {
  1629. errors = append(errors, err)
  1630. }
  1631. }
  1632. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  1633. }
  1634. }
  1635. }
  1636. }
  1637. return x, compiler.NewErrorGroupOrNil(errors)
  1638. }
  1639. // NewLinkOrReference creates an object of type LinkOrReference if possible, returning an error if not.
  1640. func NewLinkOrReference(in interface{}, context *compiler.Context) (*LinkOrReference, error) {
  1641. errors := make([]error, 0)
  1642. x := &LinkOrReference{}
  1643. matched := false
  1644. // Link link = 1;
  1645. {
  1646. m, ok := compiler.UnpackMap(in)
  1647. if ok {
  1648. // errors might be ok here, they mean we just don't have the right subtype
  1649. t, matchingError := NewLink(m, compiler.NewContext("link", context))
  1650. if matchingError == nil {
  1651. x.Oneof = &LinkOrReference_Link{Link: t}
  1652. matched = true
  1653. } else {
  1654. errors = append(errors, matchingError)
  1655. }
  1656. }
  1657. }
  1658. // Reference reference = 2;
  1659. {
  1660. m, ok := compiler.UnpackMap(in)
  1661. if ok {
  1662. // errors might be ok here, they mean we just don't have the right subtype
  1663. t, matchingError := NewReference(m, compiler.NewContext("reference", context))
  1664. if matchingError == nil {
  1665. x.Oneof = &LinkOrReference_Reference{Reference: t}
  1666. matched = true
  1667. } else {
  1668. errors = append(errors, matchingError)
  1669. }
  1670. }
  1671. }
  1672. if matched {
  1673. // since the oneof matched one of its possibilities, discard any matching errors
  1674. errors = make([]error, 0)
  1675. }
  1676. return x, compiler.NewErrorGroupOrNil(errors)
  1677. }
  1678. // NewLinksOrReferences creates an object of type LinksOrReferences if possible, returning an error if not.
  1679. func NewLinksOrReferences(in interface{}, context *compiler.Context) (*LinksOrReferences, error) {
  1680. errors := make([]error, 0)
  1681. x := &LinksOrReferences{}
  1682. m, ok := compiler.UnpackMap(in)
  1683. if !ok {
  1684. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  1685. errors = append(errors, compiler.NewError(context, message))
  1686. } else {
  1687. // repeated NamedLinkOrReference additional_properties = 1;
  1688. // MAP: LinkOrReference
  1689. x.AdditionalProperties = make([]*NamedLinkOrReference, 0)
  1690. for _, item := range m {
  1691. k, ok := compiler.StringValue(item.Key)
  1692. if ok {
  1693. v := item.Value
  1694. pair := &NamedLinkOrReference{}
  1695. pair.Name = k
  1696. var err error
  1697. pair.Value, err = NewLinkOrReference(v, compiler.NewContext(k, context))
  1698. if err != nil {
  1699. errors = append(errors, err)
  1700. }
  1701. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  1702. }
  1703. }
  1704. }
  1705. return x, compiler.NewErrorGroupOrNil(errors)
  1706. }
  1707. // NewMediaType creates an object of type MediaType if possible, returning an error if not.
  1708. func NewMediaType(in interface{}, context *compiler.Context) (*MediaType, error) {
  1709. errors := make([]error, 0)
  1710. x := &MediaType{}
  1711. m, ok := compiler.UnpackMap(in)
  1712. if !ok {
  1713. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  1714. errors = append(errors, compiler.NewError(context, message))
  1715. } else {
  1716. allowedKeys := []string{"encoding", "example", "examples", "schema"}
  1717. allowedPatterns := []*regexp.Regexp{pattern1}
  1718. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  1719. if len(invalidKeys) > 0 {
  1720. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  1721. errors = append(errors, compiler.NewError(context, message))
  1722. }
  1723. // SchemaOrReference schema = 1;
  1724. v1 := compiler.MapValueForKey(m, "schema")
  1725. if v1 != nil {
  1726. var err error
  1727. x.Schema, err = NewSchemaOrReference(v1, compiler.NewContext("schema", context))
  1728. if err != nil {
  1729. errors = append(errors, err)
  1730. }
  1731. }
  1732. // Any example = 2;
  1733. v2 := compiler.MapValueForKey(m, "example")
  1734. if v2 != nil {
  1735. var err error
  1736. x.Example, err = NewAny(v2, compiler.NewContext("example", context))
  1737. if err != nil {
  1738. errors = append(errors, err)
  1739. }
  1740. }
  1741. // ExamplesOrReferences examples = 3;
  1742. v3 := compiler.MapValueForKey(m, "examples")
  1743. if v3 != nil {
  1744. var err error
  1745. x.Examples, err = NewExamplesOrReferences(v3, compiler.NewContext("examples", context))
  1746. if err != nil {
  1747. errors = append(errors, err)
  1748. }
  1749. }
  1750. // Encodings encoding = 4;
  1751. v4 := compiler.MapValueForKey(m, "encoding")
  1752. if v4 != nil {
  1753. var err error
  1754. x.Encoding, err = NewEncodings(v4, compiler.NewContext("encoding", context))
  1755. if err != nil {
  1756. errors = append(errors, err)
  1757. }
  1758. }
  1759. // repeated NamedAny specification_extension = 5;
  1760. // MAP: Any ^x-
  1761. x.SpecificationExtension = make([]*NamedAny, 0)
  1762. for _, item := range m {
  1763. k, ok := compiler.StringValue(item.Key)
  1764. if ok {
  1765. v := item.Value
  1766. if strings.HasPrefix(k, "x-") {
  1767. pair := &NamedAny{}
  1768. pair.Name = k
  1769. result := &Any{}
  1770. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  1771. if handled {
  1772. if err != nil {
  1773. errors = append(errors, err)
  1774. } else {
  1775. bytes, _ := yaml.Marshal(v)
  1776. result.Yaml = string(bytes)
  1777. result.Value = resultFromExt
  1778. pair.Value = result
  1779. }
  1780. } else {
  1781. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  1782. if err != nil {
  1783. errors = append(errors, err)
  1784. }
  1785. }
  1786. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  1787. }
  1788. }
  1789. }
  1790. }
  1791. return x, compiler.NewErrorGroupOrNil(errors)
  1792. }
  1793. // NewMediaTypes creates an object of type MediaTypes if possible, returning an error if not.
  1794. func NewMediaTypes(in interface{}, context *compiler.Context) (*MediaTypes, error) {
  1795. errors := make([]error, 0)
  1796. x := &MediaTypes{}
  1797. m, ok := compiler.UnpackMap(in)
  1798. if !ok {
  1799. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  1800. errors = append(errors, compiler.NewError(context, message))
  1801. } else {
  1802. // repeated NamedMediaType additional_properties = 1;
  1803. // MAP: MediaType
  1804. x.AdditionalProperties = make([]*NamedMediaType, 0)
  1805. for _, item := range m {
  1806. k, ok := compiler.StringValue(item.Key)
  1807. if ok {
  1808. v := item.Value
  1809. pair := &NamedMediaType{}
  1810. pair.Name = k
  1811. var err error
  1812. pair.Value, err = NewMediaType(v, compiler.NewContext(k, context))
  1813. if err != nil {
  1814. errors = append(errors, err)
  1815. }
  1816. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  1817. }
  1818. }
  1819. }
  1820. return x, compiler.NewErrorGroupOrNil(errors)
  1821. }
  1822. // NewNamedAny creates an object of type NamedAny if possible, returning an error if not.
  1823. func NewNamedAny(in interface{}, context *compiler.Context) (*NamedAny, error) {
  1824. errors := make([]error, 0)
  1825. x := &NamedAny{}
  1826. m, ok := compiler.UnpackMap(in)
  1827. if !ok {
  1828. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  1829. errors = append(errors, compiler.NewError(context, message))
  1830. } else {
  1831. allowedKeys := []string{"name", "value"}
  1832. var allowedPatterns []*regexp.Regexp
  1833. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  1834. if len(invalidKeys) > 0 {
  1835. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  1836. errors = append(errors, compiler.NewError(context, message))
  1837. }
  1838. // string name = 1;
  1839. v1 := compiler.MapValueForKey(m, "name")
  1840. if v1 != nil {
  1841. x.Name, ok = v1.(string)
  1842. if !ok {
  1843. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  1844. errors = append(errors, compiler.NewError(context, message))
  1845. }
  1846. }
  1847. // Any value = 2;
  1848. v2 := compiler.MapValueForKey(m, "value")
  1849. if v2 != nil {
  1850. var err error
  1851. x.Value, err = NewAny(v2, compiler.NewContext("value", context))
  1852. if err != nil {
  1853. errors = append(errors, err)
  1854. }
  1855. }
  1856. }
  1857. return x, compiler.NewErrorGroupOrNil(errors)
  1858. }
  1859. // NewNamedAnyOrExpression creates an object of type NamedAnyOrExpression if possible, returning an error if not.
  1860. func NewNamedAnyOrExpression(in interface{}, context *compiler.Context) (*NamedAnyOrExpression, error) {
  1861. errors := make([]error, 0)
  1862. x := &NamedAnyOrExpression{}
  1863. m, ok := compiler.UnpackMap(in)
  1864. if !ok {
  1865. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  1866. errors = append(errors, compiler.NewError(context, message))
  1867. } else {
  1868. allowedKeys := []string{"name", "value"}
  1869. var allowedPatterns []*regexp.Regexp
  1870. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  1871. if len(invalidKeys) > 0 {
  1872. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  1873. errors = append(errors, compiler.NewError(context, message))
  1874. }
  1875. // string name = 1;
  1876. v1 := compiler.MapValueForKey(m, "name")
  1877. if v1 != nil {
  1878. x.Name, ok = v1.(string)
  1879. if !ok {
  1880. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  1881. errors = append(errors, compiler.NewError(context, message))
  1882. }
  1883. }
  1884. // AnyOrExpression value = 2;
  1885. v2 := compiler.MapValueForKey(m, "value")
  1886. if v2 != nil {
  1887. var err error
  1888. x.Value, err = NewAnyOrExpression(v2, compiler.NewContext("value", context))
  1889. if err != nil {
  1890. errors = append(errors, err)
  1891. }
  1892. }
  1893. }
  1894. return x, compiler.NewErrorGroupOrNil(errors)
  1895. }
  1896. // NewNamedCallbackOrReference creates an object of type NamedCallbackOrReference if possible, returning an error if not.
  1897. func NewNamedCallbackOrReference(in interface{}, context *compiler.Context) (*NamedCallbackOrReference, error) {
  1898. errors := make([]error, 0)
  1899. x := &NamedCallbackOrReference{}
  1900. m, ok := compiler.UnpackMap(in)
  1901. if !ok {
  1902. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  1903. errors = append(errors, compiler.NewError(context, message))
  1904. } else {
  1905. allowedKeys := []string{"name", "value"}
  1906. var allowedPatterns []*regexp.Regexp
  1907. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  1908. if len(invalidKeys) > 0 {
  1909. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  1910. errors = append(errors, compiler.NewError(context, message))
  1911. }
  1912. // string name = 1;
  1913. v1 := compiler.MapValueForKey(m, "name")
  1914. if v1 != nil {
  1915. x.Name, ok = v1.(string)
  1916. if !ok {
  1917. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  1918. errors = append(errors, compiler.NewError(context, message))
  1919. }
  1920. }
  1921. // CallbackOrReference value = 2;
  1922. v2 := compiler.MapValueForKey(m, "value")
  1923. if v2 != nil {
  1924. var err error
  1925. x.Value, err = NewCallbackOrReference(v2, compiler.NewContext("value", context))
  1926. if err != nil {
  1927. errors = append(errors, err)
  1928. }
  1929. }
  1930. }
  1931. return x, compiler.NewErrorGroupOrNil(errors)
  1932. }
  1933. // NewNamedEncoding creates an object of type NamedEncoding if possible, returning an error if not.
  1934. func NewNamedEncoding(in interface{}, context *compiler.Context) (*NamedEncoding, error) {
  1935. errors := make([]error, 0)
  1936. x := &NamedEncoding{}
  1937. m, ok := compiler.UnpackMap(in)
  1938. if !ok {
  1939. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  1940. errors = append(errors, compiler.NewError(context, message))
  1941. } else {
  1942. allowedKeys := []string{"name", "value"}
  1943. var allowedPatterns []*regexp.Regexp
  1944. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  1945. if len(invalidKeys) > 0 {
  1946. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  1947. errors = append(errors, compiler.NewError(context, message))
  1948. }
  1949. // string name = 1;
  1950. v1 := compiler.MapValueForKey(m, "name")
  1951. if v1 != nil {
  1952. x.Name, ok = v1.(string)
  1953. if !ok {
  1954. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  1955. errors = append(errors, compiler.NewError(context, message))
  1956. }
  1957. }
  1958. // Encoding value = 2;
  1959. v2 := compiler.MapValueForKey(m, "value")
  1960. if v2 != nil {
  1961. var err error
  1962. x.Value, err = NewEncoding(v2, compiler.NewContext("value", context))
  1963. if err != nil {
  1964. errors = append(errors, err)
  1965. }
  1966. }
  1967. }
  1968. return x, compiler.NewErrorGroupOrNil(errors)
  1969. }
  1970. // NewNamedExampleOrReference creates an object of type NamedExampleOrReference if possible, returning an error if not.
  1971. func NewNamedExampleOrReference(in interface{}, context *compiler.Context) (*NamedExampleOrReference, error) {
  1972. errors := make([]error, 0)
  1973. x := &NamedExampleOrReference{}
  1974. m, ok := compiler.UnpackMap(in)
  1975. if !ok {
  1976. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  1977. errors = append(errors, compiler.NewError(context, message))
  1978. } else {
  1979. allowedKeys := []string{"name", "value"}
  1980. var allowedPatterns []*regexp.Regexp
  1981. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  1982. if len(invalidKeys) > 0 {
  1983. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  1984. errors = append(errors, compiler.NewError(context, message))
  1985. }
  1986. // string name = 1;
  1987. v1 := compiler.MapValueForKey(m, "name")
  1988. if v1 != nil {
  1989. x.Name, ok = v1.(string)
  1990. if !ok {
  1991. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  1992. errors = append(errors, compiler.NewError(context, message))
  1993. }
  1994. }
  1995. // ExampleOrReference value = 2;
  1996. v2 := compiler.MapValueForKey(m, "value")
  1997. if v2 != nil {
  1998. var err error
  1999. x.Value, err = NewExampleOrReference(v2, compiler.NewContext("value", context))
  2000. if err != nil {
  2001. errors = append(errors, err)
  2002. }
  2003. }
  2004. }
  2005. return x, compiler.NewErrorGroupOrNil(errors)
  2006. }
  2007. // NewNamedHeaderOrReference creates an object of type NamedHeaderOrReference if possible, returning an error if not.
  2008. func NewNamedHeaderOrReference(in interface{}, context *compiler.Context) (*NamedHeaderOrReference, error) {
  2009. errors := make([]error, 0)
  2010. x := &NamedHeaderOrReference{}
  2011. m, ok := compiler.UnpackMap(in)
  2012. if !ok {
  2013. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  2014. errors = append(errors, compiler.NewError(context, message))
  2015. } else {
  2016. allowedKeys := []string{"name", "value"}
  2017. var allowedPatterns []*regexp.Regexp
  2018. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  2019. if len(invalidKeys) > 0 {
  2020. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  2021. errors = append(errors, compiler.NewError(context, message))
  2022. }
  2023. // string name = 1;
  2024. v1 := compiler.MapValueForKey(m, "name")
  2025. if v1 != nil {
  2026. x.Name, ok = v1.(string)
  2027. if !ok {
  2028. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  2029. errors = append(errors, compiler.NewError(context, message))
  2030. }
  2031. }
  2032. // HeaderOrReference value = 2;
  2033. v2 := compiler.MapValueForKey(m, "value")
  2034. if v2 != nil {
  2035. var err error
  2036. x.Value, err = NewHeaderOrReference(v2, compiler.NewContext("value", context))
  2037. if err != nil {
  2038. errors = append(errors, err)
  2039. }
  2040. }
  2041. }
  2042. return x, compiler.NewErrorGroupOrNil(errors)
  2043. }
  2044. // NewNamedLinkOrReference creates an object of type NamedLinkOrReference if possible, returning an error if not.
  2045. func NewNamedLinkOrReference(in interface{}, context *compiler.Context) (*NamedLinkOrReference, error) {
  2046. errors := make([]error, 0)
  2047. x := &NamedLinkOrReference{}
  2048. m, ok := compiler.UnpackMap(in)
  2049. if !ok {
  2050. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  2051. errors = append(errors, compiler.NewError(context, message))
  2052. } else {
  2053. allowedKeys := []string{"name", "value"}
  2054. var allowedPatterns []*regexp.Regexp
  2055. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  2056. if len(invalidKeys) > 0 {
  2057. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  2058. errors = append(errors, compiler.NewError(context, message))
  2059. }
  2060. // string name = 1;
  2061. v1 := compiler.MapValueForKey(m, "name")
  2062. if v1 != nil {
  2063. x.Name, ok = v1.(string)
  2064. if !ok {
  2065. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  2066. errors = append(errors, compiler.NewError(context, message))
  2067. }
  2068. }
  2069. // LinkOrReference value = 2;
  2070. v2 := compiler.MapValueForKey(m, "value")
  2071. if v2 != nil {
  2072. var err error
  2073. x.Value, err = NewLinkOrReference(v2, compiler.NewContext("value", context))
  2074. if err != nil {
  2075. errors = append(errors, err)
  2076. }
  2077. }
  2078. }
  2079. return x, compiler.NewErrorGroupOrNil(errors)
  2080. }
  2081. // NewNamedMediaType creates an object of type NamedMediaType if possible, returning an error if not.
  2082. func NewNamedMediaType(in interface{}, context *compiler.Context) (*NamedMediaType, error) {
  2083. errors := make([]error, 0)
  2084. x := &NamedMediaType{}
  2085. m, ok := compiler.UnpackMap(in)
  2086. if !ok {
  2087. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  2088. errors = append(errors, compiler.NewError(context, message))
  2089. } else {
  2090. allowedKeys := []string{"name", "value"}
  2091. var allowedPatterns []*regexp.Regexp
  2092. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  2093. if len(invalidKeys) > 0 {
  2094. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  2095. errors = append(errors, compiler.NewError(context, message))
  2096. }
  2097. // string name = 1;
  2098. v1 := compiler.MapValueForKey(m, "name")
  2099. if v1 != nil {
  2100. x.Name, ok = v1.(string)
  2101. if !ok {
  2102. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  2103. errors = append(errors, compiler.NewError(context, message))
  2104. }
  2105. }
  2106. // MediaType value = 2;
  2107. v2 := compiler.MapValueForKey(m, "value")
  2108. if v2 != nil {
  2109. var err error
  2110. x.Value, err = NewMediaType(v2, compiler.NewContext("value", context))
  2111. if err != nil {
  2112. errors = append(errors, err)
  2113. }
  2114. }
  2115. }
  2116. return x, compiler.NewErrorGroupOrNil(errors)
  2117. }
  2118. // NewNamedParameterOrReference creates an object of type NamedParameterOrReference if possible, returning an error if not.
  2119. func NewNamedParameterOrReference(in interface{}, context *compiler.Context) (*NamedParameterOrReference, error) {
  2120. errors := make([]error, 0)
  2121. x := &NamedParameterOrReference{}
  2122. m, ok := compiler.UnpackMap(in)
  2123. if !ok {
  2124. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  2125. errors = append(errors, compiler.NewError(context, message))
  2126. } else {
  2127. allowedKeys := []string{"name", "value"}
  2128. var allowedPatterns []*regexp.Regexp
  2129. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  2130. if len(invalidKeys) > 0 {
  2131. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  2132. errors = append(errors, compiler.NewError(context, message))
  2133. }
  2134. // string name = 1;
  2135. v1 := compiler.MapValueForKey(m, "name")
  2136. if v1 != nil {
  2137. x.Name, ok = v1.(string)
  2138. if !ok {
  2139. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  2140. errors = append(errors, compiler.NewError(context, message))
  2141. }
  2142. }
  2143. // ParameterOrReference value = 2;
  2144. v2 := compiler.MapValueForKey(m, "value")
  2145. if v2 != nil {
  2146. var err error
  2147. x.Value, err = NewParameterOrReference(v2, compiler.NewContext("value", context))
  2148. if err != nil {
  2149. errors = append(errors, err)
  2150. }
  2151. }
  2152. }
  2153. return x, compiler.NewErrorGroupOrNil(errors)
  2154. }
  2155. // NewNamedPathItem creates an object of type NamedPathItem if possible, returning an error if not.
  2156. func NewNamedPathItem(in interface{}, context *compiler.Context) (*NamedPathItem, error) {
  2157. errors := make([]error, 0)
  2158. x := &NamedPathItem{}
  2159. m, ok := compiler.UnpackMap(in)
  2160. if !ok {
  2161. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  2162. errors = append(errors, compiler.NewError(context, message))
  2163. } else {
  2164. allowedKeys := []string{"name", "value"}
  2165. var allowedPatterns []*regexp.Regexp
  2166. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  2167. if len(invalidKeys) > 0 {
  2168. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  2169. errors = append(errors, compiler.NewError(context, message))
  2170. }
  2171. // string name = 1;
  2172. v1 := compiler.MapValueForKey(m, "name")
  2173. if v1 != nil {
  2174. x.Name, ok = v1.(string)
  2175. if !ok {
  2176. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  2177. errors = append(errors, compiler.NewError(context, message))
  2178. }
  2179. }
  2180. // PathItem value = 2;
  2181. v2 := compiler.MapValueForKey(m, "value")
  2182. if v2 != nil {
  2183. var err error
  2184. x.Value, err = NewPathItem(v2, compiler.NewContext("value", context))
  2185. if err != nil {
  2186. errors = append(errors, err)
  2187. }
  2188. }
  2189. }
  2190. return x, compiler.NewErrorGroupOrNil(errors)
  2191. }
  2192. // NewNamedRequestBodyOrReference creates an object of type NamedRequestBodyOrReference if possible, returning an error if not.
  2193. func NewNamedRequestBodyOrReference(in interface{}, context *compiler.Context) (*NamedRequestBodyOrReference, error) {
  2194. errors := make([]error, 0)
  2195. x := &NamedRequestBodyOrReference{}
  2196. m, ok := compiler.UnpackMap(in)
  2197. if !ok {
  2198. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  2199. errors = append(errors, compiler.NewError(context, message))
  2200. } else {
  2201. allowedKeys := []string{"name", "value"}
  2202. var allowedPatterns []*regexp.Regexp
  2203. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  2204. if len(invalidKeys) > 0 {
  2205. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  2206. errors = append(errors, compiler.NewError(context, message))
  2207. }
  2208. // string name = 1;
  2209. v1 := compiler.MapValueForKey(m, "name")
  2210. if v1 != nil {
  2211. x.Name, ok = v1.(string)
  2212. if !ok {
  2213. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  2214. errors = append(errors, compiler.NewError(context, message))
  2215. }
  2216. }
  2217. // RequestBodyOrReference value = 2;
  2218. v2 := compiler.MapValueForKey(m, "value")
  2219. if v2 != nil {
  2220. var err error
  2221. x.Value, err = NewRequestBodyOrReference(v2, compiler.NewContext("value", context))
  2222. if err != nil {
  2223. errors = append(errors, err)
  2224. }
  2225. }
  2226. }
  2227. return x, compiler.NewErrorGroupOrNil(errors)
  2228. }
  2229. // NewNamedResponseOrReference creates an object of type NamedResponseOrReference if possible, returning an error if not.
  2230. func NewNamedResponseOrReference(in interface{}, context *compiler.Context) (*NamedResponseOrReference, error) {
  2231. errors := make([]error, 0)
  2232. x := &NamedResponseOrReference{}
  2233. m, ok := compiler.UnpackMap(in)
  2234. if !ok {
  2235. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  2236. errors = append(errors, compiler.NewError(context, message))
  2237. } else {
  2238. allowedKeys := []string{"name", "value"}
  2239. var allowedPatterns []*regexp.Regexp
  2240. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  2241. if len(invalidKeys) > 0 {
  2242. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  2243. errors = append(errors, compiler.NewError(context, message))
  2244. }
  2245. // string name = 1;
  2246. v1 := compiler.MapValueForKey(m, "name")
  2247. if v1 != nil {
  2248. x.Name, ok = v1.(string)
  2249. if !ok {
  2250. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  2251. errors = append(errors, compiler.NewError(context, message))
  2252. }
  2253. }
  2254. // ResponseOrReference value = 2;
  2255. v2 := compiler.MapValueForKey(m, "value")
  2256. if v2 != nil {
  2257. var err error
  2258. x.Value, err = NewResponseOrReference(v2, compiler.NewContext("value", context))
  2259. if err != nil {
  2260. errors = append(errors, err)
  2261. }
  2262. }
  2263. }
  2264. return x, compiler.NewErrorGroupOrNil(errors)
  2265. }
  2266. // NewNamedSchemaOrReference creates an object of type NamedSchemaOrReference if possible, returning an error if not.
  2267. func NewNamedSchemaOrReference(in interface{}, context *compiler.Context) (*NamedSchemaOrReference, error) {
  2268. errors := make([]error, 0)
  2269. x := &NamedSchemaOrReference{}
  2270. m, ok := compiler.UnpackMap(in)
  2271. if !ok {
  2272. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  2273. errors = append(errors, compiler.NewError(context, message))
  2274. } else {
  2275. allowedKeys := []string{"name", "value"}
  2276. var allowedPatterns []*regexp.Regexp
  2277. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  2278. if len(invalidKeys) > 0 {
  2279. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  2280. errors = append(errors, compiler.NewError(context, message))
  2281. }
  2282. // string name = 1;
  2283. v1 := compiler.MapValueForKey(m, "name")
  2284. if v1 != nil {
  2285. x.Name, ok = v1.(string)
  2286. if !ok {
  2287. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  2288. errors = append(errors, compiler.NewError(context, message))
  2289. }
  2290. }
  2291. // SchemaOrReference value = 2;
  2292. v2 := compiler.MapValueForKey(m, "value")
  2293. if v2 != nil {
  2294. var err error
  2295. x.Value, err = NewSchemaOrReference(v2, compiler.NewContext("value", context))
  2296. if err != nil {
  2297. errors = append(errors, err)
  2298. }
  2299. }
  2300. }
  2301. return x, compiler.NewErrorGroupOrNil(errors)
  2302. }
  2303. // NewNamedSecuritySchemeOrReference creates an object of type NamedSecuritySchemeOrReference if possible, returning an error if not.
  2304. func NewNamedSecuritySchemeOrReference(in interface{}, context *compiler.Context) (*NamedSecuritySchemeOrReference, error) {
  2305. errors := make([]error, 0)
  2306. x := &NamedSecuritySchemeOrReference{}
  2307. m, ok := compiler.UnpackMap(in)
  2308. if !ok {
  2309. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  2310. errors = append(errors, compiler.NewError(context, message))
  2311. } else {
  2312. allowedKeys := []string{"name", "value"}
  2313. var allowedPatterns []*regexp.Regexp
  2314. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  2315. if len(invalidKeys) > 0 {
  2316. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  2317. errors = append(errors, compiler.NewError(context, message))
  2318. }
  2319. // string name = 1;
  2320. v1 := compiler.MapValueForKey(m, "name")
  2321. if v1 != nil {
  2322. x.Name, ok = v1.(string)
  2323. if !ok {
  2324. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  2325. errors = append(errors, compiler.NewError(context, message))
  2326. }
  2327. }
  2328. // SecuritySchemeOrReference value = 2;
  2329. v2 := compiler.MapValueForKey(m, "value")
  2330. if v2 != nil {
  2331. var err error
  2332. x.Value, err = NewSecuritySchemeOrReference(v2, compiler.NewContext("value", context))
  2333. if err != nil {
  2334. errors = append(errors, err)
  2335. }
  2336. }
  2337. }
  2338. return x, compiler.NewErrorGroupOrNil(errors)
  2339. }
  2340. // NewNamedServerVariable creates an object of type NamedServerVariable if possible, returning an error if not.
  2341. func NewNamedServerVariable(in interface{}, context *compiler.Context) (*NamedServerVariable, error) {
  2342. errors := make([]error, 0)
  2343. x := &NamedServerVariable{}
  2344. m, ok := compiler.UnpackMap(in)
  2345. if !ok {
  2346. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  2347. errors = append(errors, compiler.NewError(context, message))
  2348. } else {
  2349. allowedKeys := []string{"name", "value"}
  2350. var allowedPatterns []*regexp.Regexp
  2351. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  2352. if len(invalidKeys) > 0 {
  2353. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  2354. errors = append(errors, compiler.NewError(context, message))
  2355. }
  2356. // string name = 1;
  2357. v1 := compiler.MapValueForKey(m, "name")
  2358. if v1 != nil {
  2359. x.Name, ok = v1.(string)
  2360. if !ok {
  2361. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  2362. errors = append(errors, compiler.NewError(context, message))
  2363. }
  2364. }
  2365. // ServerVariable value = 2;
  2366. v2 := compiler.MapValueForKey(m, "value")
  2367. if v2 != nil {
  2368. var err error
  2369. x.Value, err = NewServerVariable(v2, compiler.NewContext("value", context))
  2370. if err != nil {
  2371. errors = append(errors, err)
  2372. }
  2373. }
  2374. }
  2375. return x, compiler.NewErrorGroupOrNil(errors)
  2376. }
  2377. // NewNamedString creates an object of type NamedString if possible, returning an error if not.
  2378. func NewNamedString(in interface{}, context *compiler.Context) (*NamedString, error) {
  2379. errors := make([]error, 0)
  2380. x := &NamedString{}
  2381. m, ok := compiler.UnpackMap(in)
  2382. if !ok {
  2383. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  2384. errors = append(errors, compiler.NewError(context, message))
  2385. } else {
  2386. allowedKeys := []string{"name", "value"}
  2387. var allowedPatterns []*regexp.Regexp
  2388. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  2389. if len(invalidKeys) > 0 {
  2390. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  2391. errors = append(errors, compiler.NewError(context, message))
  2392. }
  2393. // string name = 1;
  2394. v1 := compiler.MapValueForKey(m, "name")
  2395. if v1 != nil {
  2396. x.Name, ok = v1.(string)
  2397. if !ok {
  2398. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  2399. errors = append(errors, compiler.NewError(context, message))
  2400. }
  2401. }
  2402. // string value = 2;
  2403. v2 := compiler.MapValueForKey(m, "value")
  2404. if v2 != nil {
  2405. x.Value, ok = v2.(string)
  2406. if !ok {
  2407. message := fmt.Sprintf("has unexpected value for value: %+v (%T)", v2, v2)
  2408. errors = append(errors, compiler.NewError(context, message))
  2409. }
  2410. }
  2411. }
  2412. return x, compiler.NewErrorGroupOrNil(errors)
  2413. }
  2414. // NewOauthFlow creates an object of type OauthFlow if possible, returning an error if not.
  2415. func NewOauthFlow(in interface{}, context *compiler.Context) (*OauthFlow, error) {
  2416. errors := make([]error, 0)
  2417. x := &OauthFlow{}
  2418. m, ok := compiler.UnpackMap(in)
  2419. if !ok {
  2420. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  2421. errors = append(errors, compiler.NewError(context, message))
  2422. } else {
  2423. allowedKeys := []string{"authorizationUrl", "refreshUrl", "scopes", "tokenUrl"}
  2424. allowedPatterns := []*regexp.Regexp{pattern1}
  2425. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  2426. if len(invalidKeys) > 0 {
  2427. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  2428. errors = append(errors, compiler.NewError(context, message))
  2429. }
  2430. // string authorization_url = 1;
  2431. v1 := compiler.MapValueForKey(m, "authorizationUrl")
  2432. if v1 != nil {
  2433. x.AuthorizationUrl, ok = v1.(string)
  2434. if !ok {
  2435. message := fmt.Sprintf("has unexpected value for authorizationUrl: %+v (%T)", v1, v1)
  2436. errors = append(errors, compiler.NewError(context, message))
  2437. }
  2438. }
  2439. // string token_url = 2;
  2440. v2 := compiler.MapValueForKey(m, "tokenUrl")
  2441. if v2 != nil {
  2442. x.TokenUrl, ok = v2.(string)
  2443. if !ok {
  2444. message := fmt.Sprintf("has unexpected value for tokenUrl: %+v (%T)", v2, v2)
  2445. errors = append(errors, compiler.NewError(context, message))
  2446. }
  2447. }
  2448. // string refresh_url = 3;
  2449. v3 := compiler.MapValueForKey(m, "refreshUrl")
  2450. if v3 != nil {
  2451. x.RefreshUrl, ok = v3.(string)
  2452. if !ok {
  2453. message := fmt.Sprintf("has unexpected value for refreshUrl: %+v (%T)", v3, v3)
  2454. errors = append(errors, compiler.NewError(context, message))
  2455. }
  2456. }
  2457. // Strings scopes = 4;
  2458. v4 := compiler.MapValueForKey(m, "scopes")
  2459. if v4 != nil {
  2460. var err error
  2461. x.Scopes, err = NewStrings(v4, compiler.NewContext("scopes", context))
  2462. if err != nil {
  2463. errors = append(errors, err)
  2464. }
  2465. }
  2466. // repeated NamedAny specification_extension = 5;
  2467. // MAP: Any ^x-
  2468. x.SpecificationExtension = make([]*NamedAny, 0)
  2469. for _, item := range m {
  2470. k, ok := compiler.StringValue(item.Key)
  2471. if ok {
  2472. v := item.Value
  2473. if strings.HasPrefix(k, "x-") {
  2474. pair := &NamedAny{}
  2475. pair.Name = k
  2476. result := &Any{}
  2477. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  2478. if handled {
  2479. if err != nil {
  2480. errors = append(errors, err)
  2481. } else {
  2482. bytes, _ := yaml.Marshal(v)
  2483. result.Yaml = string(bytes)
  2484. result.Value = resultFromExt
  2485. pair.Value = result
  2486. }
  2487. } else {
  2488. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  2489. if err != nil {
  2490. errors = append(errors, err)
  2491. }
  2492. }
  2493. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  2494. }
  2495. }
  2496. }
  2497. }
  2498. return x, compiler.NewErrorGroupOrNil(errors)
  2499. }
  2500. // NewOauthFlows creates an object of type OauthFlows if possible, returning an error if not.
  2501. func NewOauthFlows(in interface{}, context *compiler.Context) (*OauthFlows, error) {
  2502. errors := make([]error, 0)
  2503. x := &OauthFlows{}
  2504. m, ok := compiler.UnpackMap(in)
  2505. if !ok {
  2506. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  2507. errors = append(errors, compiler.NewError(context, message))
  2508. } else {
  2509. allowedKeys := []string{"authorizationCode", "clientCredentials", "implicit", "password"}
  2510. allowedPatterns := []*regexp.Regexp{pattern1}
  2511. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  2512. if len(invalidKeys) > 0 {
  2513. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  2514. errors = append(errors, compiler.NewError(context, message))
  2515. }
  2516. // OauthFlow implicit = 1;
  2517. v1 := compiler.MapValueForKey(m, "implicit")
  2518. if v1 != nil {
  2519. var err error
  2520. x.Implicit, err = NewOauthFlow(v1, compiler.NewContext("implicit", context))
  2521. if err != nil {
  2522. errors = append(errors, err)
  2523. }
  2524. }
  2525. // OauthFlow password = 2;
  2526. v2 := compiler.MapValueForKey(m, "password")
  2527. if v2 != nil {
  2528. var err error
  2529. x.Password, err = NewOauthFlow(v2, compiler.NewContext("password", context))
  2530. if err != nil {
  2531. errors = append(errors, err)
  2532. }
  2533. }
  2534. // OauthFlow client_credentials = 3;
  2535. v3 := compiler.MapValueForKey(m, "clientCredentials")
  2536. if v3 != nil {
  2537. var err error
  2538. x.ClientCredentials, err = NewOauthFlow(v3, compiler.NewContext("clientCredentials", context))
  2539. if err != nil {
  2540. errors = append(errors, err)
  2541. }
  2542. }
  2543. // OauthFlow authorization_code = 4;
  2544. v4 := compiler.MapValueForKey(m, "authorizationCode")
  2545. if v4 != nil {
  2546. var err error
  2547. x.AuthorizationCode, err = NewOauthFlow(v4, compiler.NewContext("authorizationCode", context))
  2548. if err != nil {
  2549. errors = append(errors, err)
  2550. }
  2551. }
  2552. // repeated NamedAny specification_extension = 5;
  2553. // MAP: Any ^x-
  2554. x.SpecificationExtension = make([]*NamedAny, 0)
  2555. for _, item := range m {
  2556. k, ok := compiler.StringValue(item.Key)
  2557. if ok {
  2558. v := item.Value
  2559. if strings.HasPrefix(k, "x-") {
  2560. pair := &NamedAny{}
  2561. pair.Name = k
  2562. result := &Any{}
  2563. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  2564. if handled {
  2565. if err != nil {
  2566. errors = append(errors, err)
  2567. } else {
  2568. bytes, _ := yaml.Marshal(v)
  2569. result.Yaml = string(bytes)
  2570. result.Value = resultFromExt
  2571. pair.Value = result
  2572. }
  2573. } else {
  2574. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  2575. if err != nil {
  2576. errors = append(errors, err)
  2577. }
  2578. }
  2579. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  2580. }
  2581. }
  2582. }
  2583. }
  2584. return x, compiler.NewErrorGroupOrNil(errors)
  2585. }
  2586. // NewObject creates an object of type Object if possible, returning an error if not.
  2587. func NewObject(in interface{}, context *compiler.Context) (*Object, error) {
  2588. errors := make([]error, 0)
  2589. x := &Object{}
  2590. m, ok := compiler.UnpackMap(in)
  2591. if !ok {
  2592. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  2593. errors = append(errors, compiler.NewError(context, message))
  2594. } else {
  2595. // repeated NamedAny additional_properties = 1;
  2596. // MAP: Any
  2597. x.AdditionalProperties = make([]*NamedAny, 0)
  2598. for _, item := range m {
  2599. k, ok := compiler.StringValue(item.Key)
  2600. if ok {
  2601. v := item.Value
  2602. pair := &NamedAny{}
  2603. pair.Name = k
  2604. result := &Any{}
  2605. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  2606. if handled {
  2607. if err != nil {
  2608. errors = append(errors, err)
  2609. } else {
  2610. bytes, _ := yaml.Marshal(v)
  2611. result.Yaml = string(bytes)
  2612. result.Value = resultFromExt
  2613. pair.Value = result
  2614. }
  2615. } else {
  2616. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  2617. if err != nil {
  2618. errors = append(errors, err)
  2619. }
  2620. }
  2621. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  2622. }
  2623. }
  2624. }
  2625. return x, compiler.NewErrorGroupOrNil(errors)
  2626. }
  2627. // NewOperation creates an object of type Operation if possible, returning an error if not.
  2628. func NewOperation(in interface{}, context *compiler.Context) (*Operation, error) {
  2629. errors := make([]error, 0)
  2630. x := &Operation{}
  2631. m, ok := compiler.UnpackMap(in)
  2632. if !ok {
  2633. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  2634. errors = append(errors, compiler.NewError(context, message))
  2635. } else {
  2636. requiredKeys := []string{"responses"}
  2637. missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
  2638. if len(missingKeys) > 0 {
  2639. message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
  2640. errors = append(errors, compiler.NewError(context, message))
  2641. }
  2642. allowedKeys := []string{"callbacks", "deprecated", "description", "externalDocs", "operationId", "parameters", "requestBody", "responses", "security", "servers", "summary", "tags"}
  2643. allowedPatterns := []*regexp.Regexp{pattern1}
  2644. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  2645. if len(invalidKeys) > 0 {
  2646. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  2647. errors = append(errors, compiler.NewError(context, message))
  2648. }
  2649. // repeated string tags = 1;
  2650. v1 := compiler.MapValueForKey(m, "tags")
  2651. if v1 != nil {
  2652. v, ok := v1.([]interface{})
  2653. if ok {
  2654. x.Tags = compiler.ConvertInterfaceArrayToStringArray(v)
  2655. } else {
  2656. message := fmt.Sprintf("has unexpected value for tags: %+v (%T)", v1, v1)
  2657. errors = append(errors, compiler.NewError(context, message))
  2658. }
  2659. }
  2660. // string summary = 2;
  2661. v2 := compiler.MapValueForKey(m, "summary")
  2662. if v2 != nil {
  2663. x.Summary, ok = v2.(string)
  2664. if !ok {
  2665. message := fmt.Sprintf("has unexpected value for summary: %+v (%T)", v2, v2)
  2666. errors = append(errors, compiler.NewError(context, message))
  2667. }
  2668. }
  2669. // string description = 3;
  2670. v3 := compiler.MapValueForKey(m, "description")
  2671. if v3 != nil {
  2672. x.Description, ok = v3.(string)
  2673. if !ok {
  2674. message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v3, v3)
  2675. errors = append(errors, compiler.NewError(context, message))
  2676. }
  2677. }
  2678. // ExternalDocs external_docs = 4;
  2679. v4 := compiler.MapValueForKey(m, "externalDocs")
  2680. if v4 != nil {
  2681. var err error
  2682. x.ExternalDocs, err = NewExternalDocs(v4, compiler.NewContext("externalDocs", context))
  2683. if err != nil {
  2684. errors = append(errors, err)
  2685. }
  2686. }
  2687. // string operation_id = 5;
  2688. v5 := compiler.MapValueForKey(m, "operationId")
  2689. if v5 != nil {
  2690. x.OperationId, ok = v5.(string)
  2691. if !ok {
  2692. message := fmt.Sprintf("has unexpected value for operationId: %+v (%T)", v5, v5)
  2693. errors = append(errors, compiler.NewError(context, message))
  2694. }
  2695. }
  2696. // repeated ParameterOrReference parameters = 6;
  2697. v6 := compiler.MapValueForKey(m, "parameters")
  2698. if v6 != nil {
  2699. // repeated ParameterOrReference
  2700. x.Parameters = make([]*ParameterOrReference, 0)
  2701. a, ok := v6.([]interface{})
  2702. if ok {
  2703. for _, item := range a {
  2704. y, err := NewParameterOrReference(item, compiler.NewContext("parameters", context))
  2705. if err != nil {
  2706. errors = append(errors, err)
  2707. }
  2708. x.Parameters = append(x.Parameters, y)
  2709. }
  2710. }
  2711. }
  2712. // RequestBodyOrReference request_body = 7;
  2713. v7 := compiler.MapValueForKey(m, "requestBody")
  2714. if v7 != nil {
  2715. var err error
  2716. x.RequestBody, err = NewRequestBodyOrReference(v7, compiler.NewContext("requestBody", context))
  2717. if err != nil {
  2718. errors = append(errors, err)
  2719. }
  2720. }
  2721. // Responses responses = 8;
  2722. v8 := compiler.MapValueForKey(m, "responses")
  2723. if v8 != nil {
  2724. var err error
  2725. x.Responses, err = NewResponses(v8, compiler.NewContext("responses", context))
  2726. if err != nil {
  2727. errors = append(errors, err)
  2728. }
  2729. }
  2730. // CallbacksOrReferences callbacks = 9;
  2731. v9 := compiler.MapValueForKey(m, "callbacks")
  2732. if v9 != nil {
  2733. var err error
  2734. x.Callbacks, err = NewCallbacksOrReferences(v9, compiler.NewContext("callbacks", context))
  2735. if err != nil {
  2736. errors = append(errors, err)
  2737. }
  2738. }
  2739. // bool deprecated = 10;
  2740. v10 := compiler.MapValueForKey(m, "deprecated")
  2741. if v10 != nil {
  2742. x.Deprecated, ok = v10.(bool)
  2743. if !ok {
  2744. message := fmt.Sprintf("has unexpected value for deprecated: %+v (%T)", v10, v10)
  2745. errors = append(errors, compiler.NewError(context, message))
  2746. }
  2747. }
  2748. // repeated SecurityRequirement security = 11;
  2749. v11 := compiler.MapValueForKey(m, "security")
  2750. if v11 != nil {
  2751. // repeated SecurityRequirement
  2752. x.Security = make([]*SecurityRequirement, 0)
  2753. a, ok := v11.([]interface{})
  2754. if ok {
  2755. for _, item := range a {
  2756. y, err := NewSecurityRequirement(item, compiler.NewContext("security", context))
  2757. if err != nil {
  2758. errors = append(errors, err)
  2759. }
  2760. x.Security = append(x.Security, y)
  2761. }
  2762. }
  2763. }
  2764. // repeated Server servers = 12;
  2765. v12 := compiler.MapValueForKey(m, "servers")
  2766. if v12 != nil {
  2767. // repeated Server
  2768. x.Servers = make([]*Server, 0)
  2769. a, ok := v12.([]interface{})
  2770. if ok {
  2771. for _, item := range a {
  2772. y, err := NewServer(item, compiler.NewContext("servers", context))
  2773. if err != nil {
  2774. errors = append(errors, err)
  2775. }
  2776. x.Servers = append(x.Servers, y)
  2777. }
  2778. }
  2779. }
  2780. // repeated NamedAny specification_extension = 13;
  2781. // MAP: Any ^x-
  2782. x.SpecificationExtension = make([]*NamedAny, 0)
  2783. for _, item := range m {
  2784. k, ok := compiler.StringValue(item.Key)
  2785. if ok {
  2786. v := item.Value
  2787. if strings.HasPrefix(k, "x-") {
  2788. pair := &NamedAny{}
  2789. pair.Name = k
  2790. result := &Any{}
  2791. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  2792. if handled {
  2793. if err != nil {
  2794. errors = append(errors, err)
  2795. } else {
  2796. bytes, _ := yaml.Marshal(v)
  2797. result.Yaml = string(bytes)
  2798. result.Value = resultFromExt
  2799. pair.Value = result
  2800. }
  2801. } else {
  2802. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  2803. if err != nil {
  2804. errors = append(errors, err)
  2805. }
  2806. }
  2807. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  2808. }
  2809. }
  2810. }
  2811. }
  2812. return x, compiler.NewErrorGroupOrNil(errors)
  2813. }
  2814. // NewParameter creates an object of type Parameter if possible, returning an error if not.
  2815. func NewParameter(in interface{}, context *compiler.Context) (*Parameter, error) {
  2816. errors := make([]error, 0)
  2817. x := &Parameter{}
  2818. m, ok := compiler.UnpackMap(in)
  2819. if !ok {
  2820. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  2821. errors = append(errors, compiler.NewError(context, message))
  2822. } else {
  2823. requiredKeys := []string{"in", "name"}
  2824. missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
  2825. if len(missingKeys) > 0 {
  2826. message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
  2827. errors = append(errors, compiler.NewError(context, message))
  2828. }
  2829. allowedKeys := []string{"allowEmptyValue", "allowReserved", "content", "deprecated", "description", "example", "examples", "explode", "in", "name", "required", "schema", "style"}
  2830. allowedPatterns := []*regexp.Regexp{pattern1}
  2831. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  2832. if len(invalidKeys) > 0 {
  2833. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  2834. errors = append(errors, compiler.NewError(context, message))
  2835. }
  2836. // string name = 1;
  2837. v1 := compiler.MapValueForKey(m, "name")
  2838. if v1 != nil {
  2839. x.Name, ok = v1.(string)
  2840. if !ok {
  2841. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  2842. errors = append(errors, compiler.NewError(context, message))
  2843. }
  2844. }
  2845. // string in = 2;
  2846. v2 := compiler.MapValueForKey(m, "in")
  2847. if v2 != nil {
  2848. x.In, ok = v2.(string)
  2849. if !ok {
  2850. message := fmt.Sprintf("has unexpected value for in: %+v (%T)", v2, v2)
  2851. errors = append(errors, compiler.NewError(context, message))
  2852. }
  2853. }
  2854. // string description = 3;
  2855. v3 := compiler.MapValueForKey(m, "description")
  2856. if v3 != nil {
  2857. x.Description, ok = v3.(string)
  2858. if !ok {
  2859. message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v3, v3)
  2860. errors = append(errors, compiler.NewError(context, message))
  2861. }
  2862. }
  2863. // bool required = 4;
  2864. v4 := compiler.MapValueForKey(m, "required")
  2865. if v4 != nil {
  2866. x.Required, ok = v4.(bool)
  2867. if !ok {
  2868. message := fmt.Sprintf("has unexpected value for required: %+v (%T)", v4, v4)
  2869. errors = append(errors, compiler.NewError(context, message))
  2870. }
  2871. }
  2872. // bool deprecated = 5;
  2873. v5 := compiler.MapValueForKey(m, "deprecated")
  2874. if v5 != nil {
  2875. x.Deprecated, ok = v5.(bool)
  2876. if !ok {
  2877. message := fmt.Sprintf("has unexpected value for deprecated: %+v (%T)", v5, v5)
  2878. errors = append(errors, compiler.NewError(context, message))
  2879. }
  2880. }
  2881. // bool allow_empty_value = 6;
  2882. v6 := compiler.MapValueForKey(m, "allowEmptyValue")
  2883. if v6 != nil {
  2884. x.AllowEmptyValue, ok = v6.(bool)
  2885. if !ok {
  2886. message := fmt.Sprintf("has unexpected value for allowEmptyValue: %+v (%T)", v6, v6)
  2887. errors = append(errors, compiler.NewError(context, message))
  2888. }
  2889. }
  2890. // string style = 7;
  2891. v7 := compiler.MapValueForKey(m, "style")
  2892. if v7 != nil {
  2893. x.Style, ok = v7.(string)
  2894. if !ok {
  2895. message := fmt.Sprintf("has unexpected value for style: %+v (%T)", v7, v7)
  2896. errors = append(errors, compiler.NewError(context, message))
  2897. }
  2898. }
  2899. // bool explode = 8;
  2900. v8 := compiler.MapValueForKey(m, "explode")
  2901. if v8 != nil {
  2902. x.Explode, ok = v8.(bool)
  2903. if !ok {
  2904. message := fmt.Sprintf("has unexpected value for explode: %+v (%T)", v8, v8)
  2905. errors = append(errors, compiler.NewError(context, message))
  2906. }
  2907. }
  2908. // bool allow_reserved = 9;
  2909. v9 := compiler.MapValueForKey(m, "allowReserved")
  2910. if v9 != nil {
  2911. x.AllowReserved, ok = v9.(bool)
  2912. if !ok {
  2913. message := fmt.Sprintf("has unexpected value for allowReserved: %+v (%T)", v9, v9)
  2914. errors = append(errors, compiler.NewError(context, message))
  2915. }
  2916. }
  2917. // SchemaOrReference schema = 10;
  2918. v10 := compiler.MapValueForKey(m, "schema")
  2919. if v10 != nil {
  2920. var err error
  2921. x.Schema, err = NewSchemaOrReference(v10, compiler.NewContext("schema", context))
  2922. if err != nil {
  2923. errors = append(errors, err)
  2924. }
  2925. }
  2926. // Any example = 11;
  2927. v11 := compiler.MapValueForKey(m, "example")
  2928. if v11 != nil {
  2929. var err error
  2930. x.Example, err = NewAny(v11, compiler.NewContext("example", context))
  2931. if err != nil {
  2932. errors = append(errors, err)
  2933. }
  2934. }
  2935. // ExamplesOrReferences examples = 12;
  2936. v12 := compiler.MapValueForKey(m, "examples")
  2937. if v12 != nil {
  2938. var err error
  2939. x.Examples, err = NewExamplesOrReferences(v12, compiler.NewContext("examples", context))
  2940. if err != nil {
  2941. errors = append(errors, err)
  2942. }
  2943. }
  2944. // MediaTypes content = 13;
  2945. v13 := compiler.MapValueForKey(m, "content")
  2946. if v13 != nil {
  2947. var err error
  2948. x.Content, err = NewMediaTypes(v13, compiler.NewContext("content", context))
  2949. if err != nil {
  2950. errors = append(errors, err)
  2951. }
  2952. }
  2953. // repeated NamedAny specification_extension = 14;
  2954. // MAP: Any ^x-
  2955. x.SpecificationExtension = make([]*NamedAny, 0)
  2956. for _, item := range m {
  2957. k, ok := compiler.StringValue(item.Key)
  2958. if ok {
  2959. v := item.Value
  2960. if strings.HasPrefix(k, "x-") {
  2961. pair := &NamedAny{}
  2962. pair.Name = k
  2963. result := &Any{}
  2964. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  2965. if handled {
  2966. if err != nil {
  2967. errors = append(errors, err)
  2968. } else {
  2969. bytes, _ := yaml.Marshal(v)
  2970. result.Yaml = string(bytes)
  2971. result.Value = resultFromExt
  2972. pair.Value = result
  2973. }
  2974. } else {
  2975. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  2976. if err != nil {
  2977. errors = append(errors, err)
  2978. }
  2979. }
  2980. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  2981. }
  2982. }
  2983. }
  2984. }
  2985. return x, compiler.NewErrorGroupOrNil(errors)
  2986. }
  2987. // NewParameterOrReference creates an object of type ParameterOrReference if possible, returning an error if not.
  2988. func NewParameterOrReference(in interface{}, context *compiler.Context) (*ParameterOrReference, error) {
  2989. errors := make([]error, 0)
  2990. x := &ParameterOrReference{}
  2991. matched := false
  2992. // Parameter parameter = 1;
  2993. {
  2994. m, ok := compiler.UnpackMap(in)
  2995. if ok {
  2996. // errors might be ok here, they mean we just don't have the right subtype
  2997. t, matchingError := NewParameter(m, compiler.NewContext("parameter", context))
  2998. if matchingError == nil {
  2999. x.Oneof = &ParameterOrReference_Parameter{Parameter: t}
  3000. matched = true
  3001. } else {
  3002. errors = append(errors, matchingError)
  3003. }
  3004. }
  3005. }
  3006. // Reference reference = 2;
  3007. {
  3008. m, ok := compiler.UnpackMap(in)
  3009. if ok {
  3010. // errors might be ok here, they mean we just don't have the right subtype
  3011. t, matchingError := NewReference(m, compiler.NewContext("reference", context))
  3012. if matchingError == nil {
  3013. x.Oneof = &ParameterOrReference_Reference{Reference: t}
  3014. matched = true
  3015. } else {
  3016. errors = append(errors, matchingError)
  3017. }
  3018. }
  3019. }
  3020. if matched {
  3021. // since the oneof matched one of its possibilities, discard any matching errors
  3022. errors = make([]error, 0)
  3023. }
  3024. return x, compiler.NewErrorGroupOrNil(errors)
  3025. }
  3026. // NewParametersOrReferences creates an object of type ParametersOrReferences if possible, returning an error if not.
  3027. func NewParametersOrReferences(in interface{}, context *compiler.Context) (*ParametersOrReferences, error) {
  3028. errors := make([]error, 0)
  3029. x := &ParametersOrReferences{}
  3030. m, ok := compiler.UnpackMap(in)
  3031. if !ok {
  3032. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  3033. errors = append(errors, compiler.NewError(context, message))
  3034. } else {
  3035. // repeated NamedParameterOrReference additional_properties = 1;
  3036. // MAP: ParameterOrReference
  3037. x.AdditionalProperties = make([]*NamedParameterOrReference, 0)
  3038. for _, item := range m {
  3039. k, ok := compiler.StringValue(item.Key)
  3040. if ok {
  3041. v := item.Value
  3042. pair := &NamedParameterOrReference{}
  3043. pair.Name = k
  3044. var err error
  3045. pair.Value, err = NewParameterOrReference(v, compiler.NewContext(k, context))
  3046. if err != nil {
  3047. errors = append(errors, err)
  3048. }
  3049. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  3050. }
  3051. }
  3052. }
  3053. return x, compiler.NewErrorGroupOrNil(errors)
  3054. }
  3055. // NewPathItem creates an object of type PathItem if possible, returning an error if not.
  3056. func NewPathItem(in interface{}, context *compiler.Context) (*PathItem, error) {
  3057. errors := make([]error, 0)
  3058. x := &PathItem{}
  3059. m, ok := compiler.UnpackMap(in)
  3060. if !ok {
  3061. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  3062. errors = append(errors, compiler.NewError(context, message))
  3063. } else {
  3064. allowedKeys := []string{"$ref", "delete", "description", "get", "head", "options", "parameters", "patch", "post", "put", "servers", "summary", "trace"}
  3065. allowedPatterns := []*regexp.Regexp{pattern1}
  3066. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  3067. if len(invalidKeys) > 0 {
  3068. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  3069. errors = append(errors, compiler.NewError(context, message))
  3070. }
  3071. // string _ref = 1;
  3072. v1 := compiler.MapValueForKey(m, "$ref")
  3073. if v1 != nil {
  3074. x.XRef, ok = v1.(string)
  3075. if !ok {
  3076. message := fmt.Sprintf("has unexpected value for $ref: %+v (%T)", v1, v1)
  3077. errors = append(errors, compiler.NewError(context, message))
  3078. }
  3079. }
  3080. // string summary = 2;
  3081. v2 := compiler.MapValueForKey(m, "summary")
  3082. if v2 != nil {
  3083. x.Summary, ok = v2.(string)
  3084. if !ok {
  3085. message := fmt.Sprintf("has unexpected value for summary: %+v (%T)", v2, v2)
  3086. errors = append(errors, compiler.NewError(context, message))
  3087. }
  3088. }
  3089. // string description = 3;
  3090. v3 := compiler.MapValueForKey(m, "description")
  3091. if v3 != nil {
  3092. x.Description, ok = v3.(string)
  3093. if !ok {
  3094. message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v3, v3)
  3095. errors = append(errors, compiler.NewError(context, message))
  3096. }
  3097. }
  3098. // Operation get = 4;
  3099. v4 := compiler.MapValueForKey(m, "get")
  3100. if v4 != nil {
  3101. var err error
  3102. x.Get, err = NewOperation(v4, compiler.NewContext("get", context))
  3103. if err != nil {
  3104. errors = append(errors, err)
  3105. }
  3106. }
  3107. // Operation put = 5;
  3108. v5 := compiler.MapValueForKey(m, "put")
  3109. if v5 != nil {
  3110. var err error
  3111. x.Put, err = NewOperation(v5, compiler.NewContext("put", context))
  3112. if err != nil {
  3113. errors = append(errors, err)
  3114. }
  3115. }
  3116. // Operation post = 6;
  3117. v6 := compiler.MapValueForKey(m, "post")
  3118. if v6 != nil {
  3119. var err error
  3120. x.Post, err = NewOperation(v6, compiler.NewContext("post", context))
  3121. if err != nil {
  3122. errors = append(errors, err)
  3123. }
  3124. }
  3125. // Operation delete = 7;
  3126. v7 := compiler.MapValueForKey(m, "delete")
  3127. if v7 != nil {
  3128. var err error
  3129. x.Delete, err = NewOperation(v7, compiler.NewContext("delete", context))
  3130. if err != nil {
  3131. errors = append(errors, err)
  3132. }
  3133. }
  3134. // Operation options = 8;
  3135. v8 := compiler.MapValueForKey(m, "options")
  3136. if v8 != nil {
  3137. var err error
  3138. x.Options, err = NewOperation(v8, compiler.NewContext("options", context))
  3139. if err != nil {
  3140. errors = append(errors, err)
  3141. }
  3142. }
  3143. // Operation head = 9;
  3144. v9 := compiler.MapValueForKey(m, "head")
  3145. if v9 != nil {
  3146. var err error
  3147. x.Head, err = NewOperation(v9, compiler.NewContext("head", context))
  3148. if err != nil {
  3149. errors = append(errors, err)
  3150. }
  3151. }
  3152. // Operation patch = 10;
  3153. v10 := compiler.MapValueForKey(m, "patch")
  3154. if v10 != nil {
  3155. var err error
  3156. x.Patch, err = NewOperation(v10, compiler.NewContext("patch", context))
  3157. if err != nil {
  3158. errors = append(errors, err)
  3159. }
  3160. }
  3161. // Operation trace = 11;
  3162. v11 := compiler.MapValueForKey(m, "trace")
  3163. if v11 != nil {
  3164. var err error
  3165. x.Trace, err = NewOperation(v11, compiler.NewContext("trace", context))
  3166. if err != nil {
  3167. errors = append(errors, err)
  3168. }
  3169. }
  3170. // repeated Server servers = 12;
  3171. v12 := compiler.MapValueForKey(m, "servers")
  3172. if v12 != nil {
  3173. // repeated Server
  3174. x.Servers = make([]*Server, 0)
  3175. a, ok := v12.([]interface{})
  3176. if ok {
  3177. for _, item := range a {
  3178. y, err := NewServer(item, compiler.NewContext("servers", context))
  3179. if err != nil {
  3180. errors = append(errors, err)
  3181. }
  3182. x.Servers = append(x.Servers, y)
  3183. }
  3184. }
  3185. }
  3186. // repeated ParameterOrReference parameters = 13;
  3187. v13 := compiler.MapValueForKey(m, "parameters")
  3188. if v13 != nil {
  3189. // repeated ParameterOrReference
  3190. x.Parameters = make([]*ParameterOrReference, 0)
  3191. a, ok := v13.([]interface{})
  3192. if ok {
  3193. for _, item := range a {
  3194. y, err := NewParameterOrReference(item, compiler.NewContext("parameters", context))
  3195. if err != nil {
  3196. errors = append(errors, err)
  3197. }
  3198. x.Parameters = append(x.Parameters, y)
  3199. }
  3200. }
  3201. }
  3202. // repeated NamedAny specification_extension = 14;
  3203. // MAP: Any ^x-
  3204. x.SpecificationExtension = make([]*NamedAny, 0)
  3205. for _, item := range m {
  3206. k, ok := compiler.StringValue(item.Key)
  3207. if ok {
  3208. v := item.Value
  3209. if strings.HasPrefix(k, "x-") {
  3210. pair := &NamedAny{}
  3211. pair.Name = k
  3212. result := &Any{}
  3213. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  3214. if handled {
  3215. if err != nil {
  3216. errors = append(errors, err)
  3217. } else {
  3218. bytes, _ := yaml.Marshal(v)
  3219. result.Yaml = string(bytes)
  3220. result.Value = resultFromExt
  3221. pair.Value = result
  3222. }
  3223. } else {
  3224. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  3225. if err != nil {
  3226. errors = append(errors, err)
  3227. }
  3228. }
  3229. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  3230. }
  3231. }
  3232. }
  3233. }
  3234. return x, compiler.NewErrorGroupOrNil(errors)
  3235. }
  3236. // NewPaths creates an object of type Paths if possible, returning an error if not.
  3237. func NewPaths(in interface{}, context *compiler.Context) (*Paths, error) {
  3238. errors := make([]error, 0)
  3239. x := &Paths{}
  3240. m, ok := compiler.UnpackMap(in)
  3241. if !ok {
  3242. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  3243. errors = append(errors, compiler.NewError(context, message))
  3244. } else {
  3245. allowedKeys := []string{}
  3246. allowedPatterns := []*regexp.Regexp{pattern2, pattern1}
  3247. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  3248. if len(invalidKeys) > 0 {
  3249. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  3250. errors = append(errors, compiler.NewError(context, message))
  3251. }
  3252. // repeated NamedPathItem path = 1;
  3253. // MAP: PathItem ^/
  3254. x.Path = make([]*NamedPathItem, 0)
  3255. for _, item := range m {
  3256. k, ok := compiler.StringValue(item.Key)
  3257. if ok {
  3258. v := item.Value
  3259. if strings.HasPrefix(k, "/") {
  3260. pair := &NamedPathItem{}
  3261. pair.Name = k
  3262. var err error
  3263. pair.Value, err = NewPathItem(v, compiler.NewContext(k, context))
  3264. if err != nil {
  3265. errors = append(errors, err)
  3266. }
  3267. x.Path = append(x.Path, pair)
  3268. }
  3269. }
  3270. }
  3271. // repeated NamedAny specification_extension = 2;
  3272. // MAP: Any ^x-
  3273. x.SpecificationExtension = make([]*NamedAny, 0)
  3274. for _, item := range m {
  3275. k, ok := compiler.StringValue(item.Key)
  3276. if ok {
  3277. v := item.Value
  3278. if strings.HasPrefix(k, "x-") {
  3279. pair := &NamedAny{}
  3280. pair.Name = k
  3281. result := &Any{}
  3282. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  3283. if handled {
  3284. if err != nil {
  3285. errors = append(errors, err)
  3286. } else {
  3287. bytes, _ := yaml.Marshal(v)
  3288. result.Yaml = string(bytes)
  3289. result.Value = resultFromExt
  3290. pair.Value = result
  3291. }
  3292. } else {
  3293. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  3294. if err != nil {
  3295. errors = append(errors, err)
  3296. }
  3297. }
  3298. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  3299. }
  3300. }
  3301. }
  3302. }
  3303. return x, compiler.NewErrorGroupOrNil(errors)
  3304. }
  3305. // NewProperties creates an object of type Properties if possible, returning an error if not.
  3306. func NewProperties(in interface{}, context *compiler.Context) (*Properties, error) {
  3307. errors := make([]error, 0)
  3308. x := &Properties{}
  3309. m, ok := compiler.UnpackMap(in)
  3310. if !ok {
  3311. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  3312. errors = append(errors, compiler.NewError(context, message))
  3313. } else {
  3314. // repeated NamedSchemaOrReference additional_properties = 1;
  3315. // MAP: SchemaOrReference
  3316. x.AdditionalProperties = make([]*NamedSchemaOrReference, 0)
  3317. for _, item := range m {
  3318. k, ok := compiler.StringValue(item.Key)
  3319. if ok {
  3320. v := item.Value
  3321. pair := &NamedSchemaOrReference{}
  3322. pair.Name = k
  3323. var err error
  3324. pair.Value, err = NewSchemaOrReference(v, compiler.NewContext(k, context))
  3325. if err != nil {
  3326. errors = append(errors, err)
  3327. }
  3328. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  3329. }
  3330. }
  3331. }
  3332. return x, compiler.NewErrorGroupOrNil(errors)
  3333. }
  3334. // NewReference creates an object of type Reference if possible, returning an error if not.
  3335. func NewReference(in interface{}, context *compiler.Context) (*Reference, error) {
  3336. errors := make([]error, 0)
  3337. x := &Reference{}
  3338. m, ok := compiler.UnpackMap(in)
  3339. if !ok {
  3340. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  3341. errors = append(errors, compiler.NewError(context, message))
  3342. } else {
  3343. requiredKeys := []string{"$ref"}
  3344. missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
  3345. if len(missingKeys) > 0 {
  3346. message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
  3347. errors = append(errors, compiler.NewError(context, message))
  3348. }
  3349. allowedKeys := []string{"$ref"}
  3350. var allowedPatterns []*regexp.Regexp
  3351. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  3352. if len(invalidKeys) > 0 {
  3353. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  3354. errors = append(errors, compiler.NewError(context, message))
  3355. }
  3356. // string _ref = 1;
  3357. v1 := compiler.MapValueForKey(m, "$ref")
  3358. if v1 != nil {
  3359. x.XRef, ok = v1.(string)
  3360. if !ok {
  3361. message := fmt.Sprintf("has unexpected value for $ref: %+v (%T)", v1, v1)
  3362. errors = append(errors, compiler.NewError(context, message))
  3363. }
  3364. }
  3365. }
  3366. return x, compiler.NewErrorGroupOrNil(errors)
  3367. }
  3368. // NewRequestBodiesOrReferences creates an object of type RequestBodiesOrReferences if possible, returning an error if not.
  3369. func NewRequestBodiesOrReferences(in interface{}, context *compiler.Context) (*RequestBodiesOrReferences, error) {
  3370. errors := make([]error, 0)
  3371. x := &RequestBodiesOrReferences{}
  3372. m, ok := compiler.UnpackMap(in)
  3373. if !ok {
  3374. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  3375. errors = append(errors, compiler.NewError(context, message))
  3376. } else {
  3377. // repeated NamedRequestBodyOrReference additional_properties = 1;
  3378. // MAP: RequestBodyOrReference
  3379. x.AdditionalProperties = make([]*NamedRequestBodyOrReference, 0)
  3380. for _, item := range m {
  3381. k, ok := compiler.StringValue(item.Key)
  3382. if ok {
  3383. v := item.Value
  3384. pair := &NamedRequestBodyOrReference{}
  3385. pair.Name = k
  3386. var err error
  3387. pair.Value, err = NewRequestBodyOrReference(v, compiler.NewContext(k, context))
  3388. if err != nil {
  3389. errors = append(errors, err)
  3390. }
  3391. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  3392. }
  3393. }
  3394. }
  3395. return x, compiler.NewErrorGroupOrNil(errors)
  3396. }
  3397. // NewRequestBody creates an object of type RequestBody if possible, returning an error if not.
  3398. func NewRequestBody(in interface{}, context *compiler.Context) (*RequestBody, error) {
  3399. errors := make([]error, 0)
  3400. x := &RequestBody{}
  3401. m, ok := compiler.UnpackMap(in)
  3402. if !ok {
  3403. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  3404. errors = append(errors, compiler.NewError(context, message))
  3405. } else {
  3406. requiredKeys := []string{"content"}
  3407. missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
  3408. if len(missingKeys) > 0 {
  3409. message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
  3410. errors = append(errors, compiler.NewError(context, message))
  3411. }
  3412. allowedKeys := []string{"content", "description", "required"}
  3413. allowedPatterns := []*regexp.Regexp{pattern1}
  3414. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  3415. if len(invalidKeys) > 0 {
  3416. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  3417. errors = append(errors, compiler.NewError(context, message))
  3418. }
  3419. // string description = 1;
  3420. v1 := compiler.MapValueForKey(m, "description")
  3421. if v1 != nil {
  3422. x.Description, ok = v1.(string)
  3423. if !ok {
  3424. message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v1, v1)
  3425. errors = append(errors, compiler.NewError(context, message))
  3426. }
  3427. }
  3428. // MediaTypes content = 2;
  3429. v2 := compiler.MapValueForKey(m, "content")
  3430. if v2 != nil {
  3431. var err error
  3432. x.Content, err = NewMediaTypes(v2, compiler.NewContext("content", context))
  3433. if err != nil {
  3434. errors = append(errors, err)
  3435. }
  3436. }
  3437. // bool required = 3;
  3438. v3 := compiler.MapValueForKey(m, "required")
  3439. if v3 != nil {
  3440. x.Required, ok = v3.(bool)
  3441. if !ok {
  3442. message := fmt.Sprintf("has unexpected value for required: %+v (%T)", v3, v3)
  3443. errors = append(errors, compiler.NewError(context, message))
  3444. }
  3445. }
  3446. // repeated NamedAny specification_extension = 4;
  3447. // MAP: Any ^x-
  3448. x.SpecificationExtension = make([]*NamedAny, 0)
  3449. for _, item := range m {
  3450. k, ok := compiler.StringValue(item.Key)
  3451. if ok {
  3452. v := item.Value
  3453. if strings.HasPrefix(k, "x-") {
  3454. pair := &NamedAny{}
  3455. pair.Name = k
  3456. result := &Any{}
  3457. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  3458. if handled {
  3459. if err != nil {
  3460. errors = append(errors, err)
  3461. } else {
  3462. bytes, _ := yaml.Marshal(v)
  3463. result.Yaml = string(bytes)
  3464. result.Value = resultFromExt
  3465. pair.Value = result
  3466. }
  3467. } else {
  3468. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  3469. if err != nil {
  3470. errors = append(errors, err)
  3471. }
  3472. }
  3473. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  3474. }
  3475. }
  3476. }
  3477. }
  3478. return x, compiler.NewErrorGroupOrNil(errors)
  3479. }
  3480. // NewRequestBodyOrReference creates an object of type RequestBodyOrReference if possible, returning an error if not.
  3481. func NewRequestBodyOrReference(in interface{}, context *compiler.Context) (*RequestBodyOrReference, error) {
  3482. errors := make([]error, 0)
  3483. x := &RequestBodyOrReference{}
  3484. matched := false
  3485. // RequestBody request_body = 1;
  3486. {
  3487. m, ok := compiler.UnpackMap(in)
  3488. if ok {
  3489. // errors might be ok here, they mean we just don't have the right subtype
  3490. t, matchingError := NewRequestBody(m, compiler.NewContext("requestBody", context))
  3491. if matchingError == nil {
  3492. x.Oneof = &RequestBodyOrReference_RequestBody{RequestBody: t}
  3493. matched = true
  3494. } else {
  3495. errors = append(errors, matchingError)
  3496. }
  3497. }
  3498. }
  3499. // Reference reference = 2;
  3500. {
  3501. m, ok := compiler.UnpackMap(in)
  3502. if ok {
  3503. // errors might be ok here, they mean we just don't have the right subtype
  3504. t, matchingError := NewReference(m, compiler.NewContext("reference", context))
  3505. if matchingError == nil {
  3506. x.Oneof = &RequestBodyOrReference_Reference{Reference: t}
  3507. matched = true
  3508. } else {
  3509. errors = append(errors, matchingError)
  3510. }
  3511. }
  3512. }
  3513. if matched {
  3514. // since the oneof matched one of its possibilities, discard any matching errors
  3515. errors = make([]error, 0)
  3516. }
  3517. return x, compiler.NewErrorGroupOrNil(errors)
  3518. }
  3519. // NewResponse creates an object of type Response if possible, returning an error if not.
  3520. func NewResponse(in interface{}, context *compiler.Context) (*Response, error) {
  3521. errors := make([]error, 0)
  3522. x := &Response{}
  3523. m, ok := compiler.UnpackMap(in)
  3524. if !ok {
  3525. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  3526. errors = append(errors, compiler.NewError(context, message))
  3527. } else {
  3528. requiredKeys := []string{"description"}
  3529. missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
  3530. if len(missingKeys) > 0 {
  3531. message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
  3532. errors = append(errors, compiler.NewError(context, message))
  3533. }
  3534. allowedKeys := []string{"content", "description", "headers", "links"}
  3535. allowedPatterns := []*regexp.Regexp{pattern1}
  3536. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  3537. if len(invalidKeys) > 0 {
  3538. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  3539. errors = append(errors, compiler.NewError(context, message))
  3540. }
  3541. // string description = 1;
  3542. v1 := compiler.MapValueForKey(m, "description")
  3543. if v1 != nil {
  3544. x.Description, ok = v1.(string)
  3545. if !ok {
  3546. message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v1, v1)
  3547. errors = append(errors, compiler.NewError(context, message))
  3548. }
  3549. }
  3550. // HeadersOrReferences headers = 2;
  3551. v2 := compiler.MapValueForKey(m, "headers")
  3552. if v2 != nil {
  3553. var err error
  3554. x.Headers, err = NewHeadersOrReferences(v2, compiler.NewContext("headers", context))
  3555. if err != nil {
  3556. errors = append(errors, err)
  3557. }
  3558. }
  3559. // MediaTypes content = 3;
  3560. v3 := compiler.MapValueForKey(m, "content")
  3561. if v3 != nil {
  3562. var err error
  3563. x.Content, err = NewMediaTypes(v3, compiler.NewContext("content", context))
  3564. if err != nil {
  3565. errors = append(errors, err)
  3566. }
  3567. }
  3568. // LinksOrReferences links = 4;
  3569. v4 := compiler.MapValueForKey(m, "links")
  3570. if v4 != nil {
  3571. var err error
  3572. x.Links, err = NewLinksOrReferences(v4, compiler.NewContext("links", context))
  3573. if err != nil {
  3574. errors = append(errors, err)
  3575. }
  3576. }
  3577. // repeated NamedAny specification_extension = 5;
  3578. // MAP: Any ^x-
  3579. x.SpecificationExtension = make([]*NamedAny, 0)
  3580. for _, item := range m {
  3581. k, ok := compiler.StringValue(item.Key)
  3582. if ok {
  3583. v := item.Value
  3584. if strings.HasPrefix(k, "x-") {
  3585. pair := &NamedAny{}
  3586. pair.Name = k
  3587. result := &Any{}
  3588. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  3589. if handled {
  3590. if err != nil {
  3591. errors = append(errors, err)
  3592. } else {
  3593. bytes, _ := yaml.Marshal(v)
  3594. result.Yaml = string(bytes)
  3595. result.Value = resultFromExt
  3596. pair.Value = result
  3597. }
  3598. } else {
  3599. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  3600. if err != nil {
  3601. errors = append(errors, err)
  3602. }
  3603. }
  3604. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  3605. }
  3606. }
  3607. }
  3608. }
  3609. return x, compiler.NewErrorGroupOrNil(errors)
  3610. }
  3611. // NewResponseOrReference creates an object of type ResponseOrReference if possible, returning an error if not.
  3612. func NewResponseOrReference(in interface{}, context *compiler.Context) (*ResponseOrReference, error) {
  3613. errors := make([]error, 0)
  3614. x := &ResponseOrReference{}
  3615. matched := false
  3616. // Response response = 1;
  3617. {
  3618. m, ok := compiler.UnpackMap(in)
  3619. if ok {
  3620. // errors might be ok here, they mean we just don't have the right subtype
  3621. t, matchingError := NewResponse(m, compiler.NewContext("response", context))
  3622. if matchingError == nil {
  3623. x.Oneof = &ResponseOrReference_Response{Response: t}
  3624. matched = true
  3625. } else {
  3626. errors = append(errors, matchingError)
  3627. }
  3628. }
  3629. }
  3630. // Reference reference = 2;
  3631. {
  3632. m, ok := compiler.UnpackMap(in)
  3633. if ok {
  3634. // errors might be ok here, they mean we just don't have the right subtype
  3635. t, matchingError := NewReference(m, compiler.NewContext("reference", context))
  3636. if matchingError == nil {
  3637. x.Oneof = &ResponseOrReference_Reference{Reference: t}
  3638. matched = true
  3639. } else {
  3640. errors = append(errors, matchingError)
  3641. }
  3642. }
  3643. }
  3644. if matched {
  3645. // since the oneof matched one of its possibilities, discard any matching errors
  3646. errors = make([]error, 0)
  3647. }
  3648. return x, compiler.NewErrorGroupOrNil(errors)
  3649. }
  3650. // NewResponses creates an object of type Responses if possible, returning an error if not.
  3651. func NewResponses(in interface{}, context *compiler.Context) (*Responses, error) {
  3652. errors := make([]error, 0)
  3653. x := &Responses{}
  3654. m, ok := compiler.UnpackMap(in)
  3655. if !ok {
  3656. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  3657. errors = append(errors, compiler.NewError(context, message))
  3658. } else {
  3659. allowedKeys := []string{"default"}
  3660. allowedPatterns := []*regexp.Regexp{pattern3, pattern1}
  3661. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  3662. if len(invalidKeys) > 0 {
  3663. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  3664. errors = append(errors, compiler.NewError(context, message))
  3665. }
  3666. // ResponseOrReference default = 1;
  3667. v1 := compiler.MapValueForKey(m, "default")
  3668. if v1 != nil {
  3669. var err error
  3670. x.Default, err = NewResponseOrReference(v1, compiler.NewContext("default", context))
  3671. if err != nil {
  3672. errors = append(errors, err)
  3673. }
  3674. }
  3675. // repeated NamedResponseOrReference response_or_reference = 2;
  3676. // MAP: ResponseOrReference ^([0-9X]{3})$
  3677. x.ResponseOrReference = make([]*NamedResponseOrReference, 0)
  3678. for _, item := range m {
  3679. k, ok := compiler.StringValue(item.Key)
  3680. if ok {
  3681. v := item.Value
  3682. if pattern3.MatchString(k) {
  3683. pair := &NamedResponseOrReference{}
  3684. pair.Name = k
  3685. var err error
  3686. pair.Value, err = NewResponseOrReference(v, compiler.NewContext(k, context))
  3687. if err != nil {
  3688. errors = append(errors, err)
  3689. }
  3690. x.ResponseOrReference = append(x.ResponseOrReference, pair)
  3691. }
  3692. }
  3693. }
  3694. // repeated NamedAny specification_extension = 3;
  3695. // MAP: Any ^x-
  3696. x.SpecificationExtension = make([]*NamedAny, 0)
  3697. for _, item := range m {
  3698. k, ok := compiler.StringValue(item.Key)
  3699. if ok {
  3700. v := item.Value
  3701. if strings.HasPrefix(k, "x-") {
  3702. pair := &NamedAny{}
  3703. pair.Name = k
  3704. result := &Any{}
  3705. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  3706. if handled {
  3707. if err != nil {
  3708. errors = append(errors, err)
  3709. } else {
  3710. bytes, _ := yaml.Marshal(v)
  3711. result.Yaml = string(bytes)
  3712. result.Value = resultFromExt
  3713. pair.Value = result
  3714. }
  3715. } else {
  3716. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  3717. if err != nil {
  3718. errors = append(errors, err)
  3719. }
  3720. }
  3721. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  3722. }
  3723. }
  3724. }
  3725. }
  3726. return x, compiler.NewErrorGroupOrNil(errors)
  3727. }
  3728. // NewResponsesOrReferences creates an object of type ResponsesOrReferences if possible, returning an error if not.
  3729. func NewResponsesOrReferences(in interface{}, context *compiler.Context) (*ResponsesOrReferences, error) {
  3730. errors := make([]error, 0)
  3731. x := &ResponsesOrReferences{}
  3732. m, ok := compiler.UnpackMap(in)
  3733. if !ok {
  3734. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  3735. errors = append(errors, compiler.NewError(context, message))
  3736. } else {
  3737. // repeated NamedResponseOrReference additional_properties = 1;
  3738. // MAP: ResponseOrReference
  3739. x.AdditionalProperties = make([]*NamedResponseOrReference, 0)
  3740. for _, item := range m {
  3741. k, ok := compiler.StringValue(item.Key)
  3742. if ok {
  3743. v := item.Value
  3744. pair := &NamedResponseOrReference{}
  3745. pair.Name = k
  3746. var err error
  3747. pair.Value, err = NewResponseOrReference(v, compiler.NewContext(k, context))
  3748. if err != nil {
  3749. errors = append(errors, err)
  3750. }
  3751. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  3752. }
  3753. }
  3754. }
  3755. return x, compiler.NewErrorGroupOrNil(errors)
  3756. }
  3757. // NewSchema creates an object of type Schema if possible, returning an error if not.
  3758. func NewSchema(in interface{}, context *compiler.Context) (*Schema, error) {
  3759. errors := make([]error, 0)
  3760. x := &Schema{}
  3761. m, ok := compiler.UnpackMap(in)
  3762. if !ok {
  3763. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  3764. errors = append(errors, compiler.NewError(context, message))
  3765. } else {
  3766. 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"}
  3767. allowedPatterns := []*regexp.Regexp{pattern1}
  3768. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  3769. if len(invalidKeys) > 0 {
  3770. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  3771. errors = append(errors, compiler.NewError(context, message))
  3772. }
  3773. // bool nullable = 1;
  3774. v1 := compiler.MapValueForKey(m, "nullable")
  3775. if v1 != nil {
  3776. x.Nullable, ok = v1.(bool)
  3777. if !ok {
  3778. message := fmt.Sprintf("has unexpected value for nullable: %+v (%T)", v1, v1)
  3779. errors = append(errors, compiler.NewError(context, message))
  3780. }
  3781. }
  3782. // Discriminator discriminator = 2;
  3783. v2 := compiler.MapValueForKey(m, "discriminator")
  3784. if v2 != nil {
  3785. var err error
  3786. x.Discriminator, err = NewDiscriminator(v2, compiler.NewContext("discriminator", context))
  3787. if err != nil {
  3788. errors = append(errors, err)
  3789. }
  3790. }
  3791. // bool read_only = 3;
  3792. v3 := compiler.MapValueForKey(m, "readOnly")
  3793. if v3 != nil {
  3794. x.ReadOnly, ok = v3.(bool)
  3795. if !ok {
  3796. message := fmt.Sprintf("has unexpected value for readOnly: %+v (%T)", v3, v3)
  3797. errors = append(errors, compiler.NewError(context, message))
  3798. }
  3799. }
  3800. // bool write_only = 4;
  3801. v4 := compiler.MapValueForKey(m, "writeOnly")
  3802. if v4 != nil {
  3803. x.WriteOnly, ok = v4.(bool)
  3804. if !ok {
  3805. message := fmt.Sprintf("has unexpected value for writeOnly: %+v (%T)", v4, v4)
  3806. errors = append(errors, compiler.NewError(context, message))
  3807. }
  3808. }
  3809. // Xml xml = 5;
  3810. v5 := compiler.MapValueForKey(m, "xml")
  3811. if v5 != nil {
  3812. var err error
  3813. x.Xml, err = NewXml(v5, compiler.NewContext("xml", context))
  3814. if err != nil {
  3815. errors = append(errors, err)
  3816. }
  3817. }
  3818. // ExternalDocs external_docs = 6;
  3819. v6 := compiler.MapValueForKey(m, "externalDocs")
  3820. if v6 != nil {
  3821. var err error
  3822. x.ExternalDocs, err = NewExternalDocs(v6, compiler.NewContext("externalDocs", context))
  3823. if err != nil {
  3824. errors = append(errors, err)
  3825. }
  3826. }
  3827. // Any example = 7;
  3828. v7 := compiler.MapValueForKey(m, "example")
  3829. if v7 != nil {
  3830. var err error
  3831. x.Example, err = NewAny(v7, compiler.NewContext("example", context))
  3832. if err != nil {
  3833. errors = append(errors, err)
  3834. }
  3835. }
  3836. // bool deprecated = 8;
  3837. v8 := compiler.MapValueForKey(m, "deprecated")
  3838. if v8 != nil {
  3839. x.Deprecated, ok = v8.(bool)
  3840. if !ok {
  3841. message := fmt.Sprintf("has unexpected value for deprecated: %+v (%T)", v8, v8)
  3842. errors = append(errors, compiler.NewError(context, message))
  3843. }
  3844. }
  3845. // string title = 9;
  3846. v9 := compiler.MapValueForKey(m, "title")
  3847. if v9 != nil {
  3848. x.Title, ok = v9.(string)
  3849. if !ok {
  3850. message := fmt.Sprintf("has unexpected value for title: %+v (%T)", v9, v9)
  3851. errors = append(errors, compiler.NewError(context, message))
  3852. }
  3853. }
  3854. // float multiple_of = 10;
  3855. v10 := compiler.MapValueForKey(m, "multipleOf")
  3856. if v10 != nil {
  3857. switch v10 := v10.(type) {
  3858. case float64:
  3859. x.MultipleOf = v10
  3860. case float32:
  3861. x.MultipleOf = float64(v10)
  3862. case uint64:
  3863. x.MultipleOf = float64(v10)
  3864. case uint32:
  3865. x.MultipleOf = float64(v10)
  3866. case int64:
  3867. x.MultipleOf = float64(v10)
  3868. case int32:
  3869. x.MultipleOf = float64(v10)
  3870. case int:
  3871. x.MultipleOf = float64(v10)
  3872. default:
  3873. message := fmt.Sprintf("has unexpected value for multipleOf: %+v (%T)", v10, v10)
  3874. errors = append(errors, compiler.NewError(context, message))
  3875. }
  3876. }
  3877. // float maximum = 11;
  3878. v11 := compiler.MapValueForKey(m, "maximum")
  3879. if v11 != nil {
  3880. switch v11 := v11.(type) {
  3881. case float64:
  3882. x.Maximum = v11
  3883. case float32:
  3884. x.Maximum = float64(v11)
  3885. case uint64:
  3886. x.Maximum = float64(v11)
  3887. case uint32:
  3888. x.Maximum = float64(v11)
  3889. case int64:
  3890. x.Maximum = float64(v11)
  3891. case int32:
  3892. x.Maximum = float64(v11)
  3893. case int:
  3894. x.Maximum = float64(v11)
  3895. default:
  3896. message := fmt.Sprintf("has unexpected value for maximum: %+v (%T)", v11, v11)
  3897. errors = append(errors, compiler.NewError(context, message))
  3898. }
  3899. }
  3900. // bool exclusive_maximum = 12;
  3901. v12 := compiler.MapValueForKey(m, "exclusiveMaximum")
  3902. if v12 != nil {
  3903. x.ExclusiveMaximum, ok = v12.(bool)
  3904. if !ok {
  3905. message := fmt.Sprintf("has unexpected value for exclusiveMaximum: %+v (%T)", v12, v12)
  3906. errors = append(errors, compiler.NewError(context, message))
  3907. }
  3908. }
  3909. // float minimum = 13;
  3910. v13 := compiler.MapValueForKey(m, "minimum")
  3911. if v13 != nil {
  3912. switch v13 := v13.(type) {
  3913. case float64:
  3914. x.Minimum = v13
  3915. case float32:
  3916. x.Minimum = float64(v13)
  3917. case uint64:
  3918. x.Minimum = float64(v13)
  3919. case uint32:
  3920. x.Minimum = float64(v13)
  3921. case int64:
  3922. x.Minimum = float64(v13)
  3923. case int32:
  3924. x.Minimum = float64(v13)
  3925. case int:
  3926. x.Minimum = float64(v13)
  3927. default:
  3928. message := fmt.Sprintf("has unexpected value for minimum: %+v (%T)", v13, v13)
  3929. errors = append(errors, compiler.NewError(context, message))
  3930. }
  3931. }
  3932. // bool exclusive_minimum = 14;
  3933. v14 := compiler.MapValueForKey(m, "exclusiveMinimum")
  3934. if v14 != nil {
  3935. x.ExclusiveMinimum, ok = v14.(bool)
  3936. if !ok {
  3937. message := fmt.Sprintf("has unexpected value for exclusiveMinimum: %+v (%T)", v14, v14)
  3938. errors = append(errors, compiler.NewError(context, message))
  3939. }
  3940. }
  3941. // int64 max_length = 15;
  3942. v15 := compiler.MapValueForKey(m, "maxLength")
  3943. if v15 != nil {
  3944. t, ok := v15.(int)
  3945. if ok {
  3946. x.MaxLength = int64(t)
  3947. } else {
  3948. message := fmt.Sprintf("has unexpected value for maxLength: %+v (%T)", v15, v15)
  3949. errors = append(errors, compiler.NewError(context, message))
  3950. }
  3951. }
  3952. // int64 min_length = 16;
  3953. v16 := compiler.MapValueForKey(m, "minLength")
  3954. if v16 != nil {
  3955. t, ok := v16.(int)
  3956. if ok {
  3957. x.MinLength = int64(t)
  3958. } else {
  3959. message := fmt.Sprintf("has unexpected value for minLength: %+v (%T)", v16, v16)
  3960. errors = append(errors, compiler.NewError(context, message))
  3961. }
  3962. }
  3963. // string pattern = 17;
  3964. v17 := compiler.MapValueForKey(m, "pattern")
  3965. if v17 != nil {
  3966. x.Pattern, ok = v17.(string)
  3967. if !ok {
  3968. message := fmt.Sprintf("has unexpected value for pattern: %+v (%T)", v17, v17)
  3969. errors = append(errors, compiler.NewError(context, message))
  3970. }
  3971. }
  3972. // int64 max_items = 18;
  3973. v18 := compiler.MapValueForKey(m, "maxItems")
  3974. if v18 != nil {
  3975. t, ok := v18.(int)
  3976. if ok {
  3977. x.MaxItems = int64(t)
  3978. } else {
  3979. message := fmt.Sprintf("has unexpected value for maxItems: %+v (%T)", v18, v18)
  3980. errors = append(errors, compiler.NewError(context, message))
  3981. }
  3982. }
  3983. // int64 min_items = 19;
  3984. v19 := compiler.MapValueForKey(m, "minItems")
  3985. if v19 != nil {
  3986. t, ok := v19.(int)
  3987. if ok {
  3988. x.MinItems = int64(t)
  3989. } else {
  3990. message := fmt.Sprintf("has unexpected value for minItems: %+v (%T)", v19, v19)
  3991. errors = append(errors, compiler.NewError(context, message))
  3992. }
  3993. }
  3994. // bool unique_items = 20;
  3995. v20 := compiler.MapValueForKey(m, "uniqueItems")
  3996. if v20 != nil {
  3997. x.UniqueItems, ok = v20.(bool)
  3998. if !ok {
  3999. message := fmt.Sprintf("has unexpected value for uniqueItems: %+v (%T)", v20, v20)
  4000. errors = append(errors, compiler.NewError(context, message))
  4001. }
  4002. }
  4003. // int64 max_properties = 21;
  4004. v21 := compiler.MapValueForKey(m, "maxProperties")
  4005. if v21 != nil {
  4006. t, ok := v21.(int)
  4007. if ok {
  4008. x.MaxProperties = int64(t)
  4009. } else {
  4010. message := fmt.Sprintf("has unexpected value for maxProperties: %+v (%T)", v21, v21)
  4011. errors = append(errors, compiler.NewError(context, message))
  4012. }
  4013. }
  4014. // int64 min_properties = 22;
  4015. v22 := compiler.MapValueForKey(m, "minProperties")
  4016. if v22 != nil {
  4017. t, ok := v22.(int)
  4018. if ok {
  4019. x.MinProperties = int64(t)
  4020. } else {
  4021. message := fmt.Sprintf("has unexpected value for minProperties: %+v (%T)", v22, v22)
  4022. errors = append(errors, compiler.NewError(context, message))
  4023. }
  4024. }
  4025. // repeated string required = 23;
  4026. v23 := compiler.MapValueForKey(m, "required")
  4027. if v23 != nil {
  4028. v, ok := v23.([]interface{})
  4029. if ok {
  4030. x.Required = compiler.ConvertInterfaceArrayToStringArray(v)
  4031. } else {
  4032. message := fmt.Sprintf("has unexpected value for required: %+v (%T)", v23, v23)
  4033. errors = append(errors, compiler.NewError(context, message))
  4034. }
  4035. }
  4036. // repeated Any enum = 24;
  4037. v24 := compiler.MapValueForKey(m, "enum")
  4038. if v24 != nil {
  4039. // repeated Any
  4040. x.Enum = make([]*Any, 0)
  4041. a, ok := v24.([]interface{})
  4042. if ok {
  4043. for _, item := range a {
  4044. y, err := NewAny(item, compiler.NewContext("enum", context))
  4045. if err != nil {
  4046. errors = append(errors, err)
  4047. }
  4048. x.Enum = append(x.Enum, y)
  4049. }
  4050. }
  4051. }
  4052. // string type = 25;
  4053. v25 := compiler.MapValueForKey(m, "type")
  4054. if v25 != nil {
  4055. x.Type, ok = v25.(string)
  4056. if !ok {
  4057. message := fmt.Sprintf("has unexpected value for type: %+v (%T)", v25, v25)
  4058. errors = append(errors, compiler.NewError(context, message))
  4059. }
  4060. }
  4061. // repeated SchemaOrReference all_of = 26;
  4062. v26 := compiler.MapValueForKey(m, "allOf")
  4063. if v26 != nil {
  4064. // repeated SchemaOrReference
  4065. x.AllOf = make([]*SchemaOrReference, 0)
  4066. a, ok := v26.([]interface{})
  4067. if ok {
  4068. for _, item := range a {
  4069. y, err := NewSchemaOrReference(item, compiler.NewContext("allOf", context))
  4070. if err != nil {
  4071. errors = append(errors, err)
  4072. }
  4073. x.AllOf = append(x.AllOf, y)
  4074. }
  4075. }
  4076. }
  4077. // repeated SchemaOrReference one_of = 27;
  4078. v27 := compiler.MapValueForKey(m, "oneOf")
  4079. if v27 != nil {
  4080. // repeated SchemaOrReference
  4081. x.OneOf = make([]*SchemaOrReference, 0)
  4082. a, ok := v27.([]interface{})
  4083. if ok {
  4084. for _, item := range a {
  4085. y, err := NewSchemaOrReference(item, compiler.NewContext("oneOf", context))
  4086. if err != nil {
  4087. errors = append(errors, err)
  4088. }
  4089. x.OneOf = append(x.OneOf, y)
  4090. }
  4091. }
  4092. }
  4093. // repeated SchemaOrReference any_of = 28;
  4094. v28 := compiler.MapValueForKey(m, "anyOf")
  4095. if v28 != nil {
  4096. // repeated SchemaOrReference
  4097. x.AnyOf = make([]*SchemaOrReference, 0)
  4098. a, ok := v28.([]interface{})
  4099. if ok {
  4100. for _, item := range a {
  4101. y, err := NewSchemaOrReference(item, compiler.NewContext("anyOf", context))
  4102. if err != nil {
  4103. errors = append(errors, err)
  4104. }
  4105. x.AnyOf = append(x.AnyOf, y)
  4106. }
  4107. }
  4108. }
  4109. // Schema not = 29;
  4110. v29 := compiler.MapValueForKey(m, "not")
  4111. if v29 != nil {
  4112. var err error
  4113. x.Not, err = NewSchema(v29, compiler.NewContext("not", context))
  4114. if err != nil {
  4115. errors = append(errors, err)
  4116. }
  4117. }
  4118. // ItemsItem items = 30;
  4119. v30 := compiler.MapValueForKey(m, "items")
  4120. if v30 != nil {
  4121. var err error
  4122. x.Items, err = NewItemsItem(v30, compiler.NewContext("items", context))
  4123. if err != nil {
  4124. errors = append(errors, err)
  4125. }
  4126. }
  4127. // Properties properties = 31;
  4128. v31 := compiler.MapValueForKey(m, "properties")
  4129. if v31 != nil {
  4130. var err error
  4131. x.Properties, err = NewProperties(v31, compiler.NewContext("properties", context))
  4132. if err != nil {
  4133. errors = append(errors, err)
  4134. }
  4135. }
  4136. // AdditionalPropertiesItem additional_properties = 32;
  4137. v32 := compiler.MapValueForKey(m, "additionalProperties")
  4138. if v32 != nil {
  4139. var err error
  4140. x.AdditionalProperties, err = NewAdditionalPropertiesItem(v32, compiler.NewContext("additionalProperties", context))
  4141. if err != nil {
  4142. errors = append(errors, err)
  4143. }
  4144. }
  4145. // DefaultType default = 33;
  4146. v33 := compiler.MapValueForKey(m, "default")
  4147. if v33 != nil {
  4148. var err error
  4149. x.Default, err = NewDefaultType(v33, compiler.NewContext("default", context))
  4150. if err != nil {
  4151. errors = append(errors, err)
  4152. }
  4153. }
  4154. // string description = 34;
  4155. v34 := compiler.MapValueForKey(m, "description")
  4156. if v34 != nil {
  4157. x.Description, ok = v34.(string)
  4158. if !ok {
  4159. message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v34, v34)
  4160. errors = append(errors, compiler.NewError(context, message))
  4161. }
  4162. }
  4163. // string format = 35;
  4164. v35 := compiler.MapValueForKey(m, "format")
  4165. if v35 != nil {
  4166. x.Format, ok = v35.(string)
  4167. if !ok {
  4168. message := fmt.Sprintf("has unexpected value for format: %+v (%T)", v35, v35)
  4169. errors = append(errors, compiler.NewError(context, message))
  4170. }
  4171. }
  4172. // repeated NamedAny specification_extension = 36;
  4173. // MAP: Any ^x-
  4174. x.SpecificationExtension = make([]*NamedAny, 0)
  4175. for _, item := range m {
  4176. k, ok := compiler.StringValue(item.Key)
  4177. if ok {
  4178. v := item.Value
  4179. if strings.HasPrefix(k, "x-") {
  4180. pair := &NamedAny{}
  4181. pair.Name = k
  4182. result := &Any{}
  4183. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  4184. if handled {
  4185. if err != nil {
  4186. errors = append(errors, err)
  4187. } else {
  4188. bytes, _ := yaml.Marshal(v)
  4189. result.Yaml = string(bytes)
  4190. result.Value = resultFromExt
  4191. pair.Value = result
  4192. }
  4193. } else {
  4194. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  4195. if err != nil {
  4196. errors = append(errors, err)
  4197. }
  4198. }
  4199. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  4200. }
  4201. }
  4202. }
  4203. }
  4204. return x, compiler.NewErrorGroupOrNil(errors)
  4205. }
  4206. // NewSchemaOrReference creates an object of type SchemaOrReference if possible, returning an error if not.
  4207. func NewSchemaOrReference(in interface{}, context *compiler.Context) (*SchemaOrReference, error) {
  4208. errors := make([]error, 0)
  4209. x := &SchemaOrReference{}
  4210. matched := false
  4211. // Schema schema = 1;
  4212. {
  4213. m, ok := compiler.UnpackMap(in)
  4214. if ok {
  4215. // errors might be ok here, they mean we just don't have the right subtype
  4216. t, matchingError := NewSchema(m, compiler.NewContext("schema", context))
  4217. if matchingError == nil {
  4218. x.Oneof = &SchemaOrReference_Schema{Schema: t}
  4219. matched = true
  4220. } else {
  4221. errors = append(errors, matchingError)
  4222. }
  4223. }
  4224. }
  4225. // Reference reference = 2;
  4226. {
  4227. m, ok := compiler.UnpackMap(in)
  4228. if ok {
  4229. // errors might be ok here, they mean we just don't have the right subtype
  4230. t, matchingError := NewReference(m, compiler.NewContext("reference", context))
  4231. if matchingError == nil {
  4232. x.Oneof = &SchemaOrReference_Reference{Reference: t}
  4233. matched = true
  4234. } else {
  4235. errors = append(errors, matchingError)
  4236. }
  4237. }
  4238. }
  4239. if matched {
  4240. // since the oneof matched one of its possibilities, discard any matching errors
  4241. errors = make([]error, 0)
  4242. }
  4243. return x, compiler.NewErrorGroupOrNil(errors)
  4244. }
  4245. // NewSchemasOrReferences creates an object of type SchemasOrReferences if possible, returning an error if not.
  4246. func NewSchemasOrReferences(in interface{}, context *compiler.Context) (*SchemasOrReferences, error) {
  4247. errors := make([]error, 0)
  4248. x := &SchemasOrReferences{}
  4249. m, ok := compiler.UnpackMap(in)
  4250. if !ok {
  4251. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  4252. errors = append(errors, compiler.NewError(context, message))
  4253. } else {
  4254. // repeated NamedSchemaOrReference additional_properties = 1;
  4255. // MAP: SchemaOrReference
  4256. x.AdditionalProperties = make([]*NamedSchemaOrReference, 0)
  4257. for _, item := range m {
  4258. k, ok := compiler.StringValue(item.Key)
  4259. if ok {
  4260. v := item.Value
  4261. pair := &NamedSchemaOrReference{}
  4262. pair.Name = k
  4263. var err error
  4264. pair.Value, err = NewSchemaOrReference(v, compiler.NewContext(k, context))
  4265. if err != nil {
  4266. errors = append(errors, err)
  4267. }
  4268. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  4269. }
  4270. }
  4271. }
  4272. return x, compiler.NewErrorGroupOrNil(errors)
  4273. }
  4274. // NewSecurityRequirement creates an object of type SecurityRequirement if possible, returning an error if not.
  4275. func NewSecurityRequirement(in interface{}, context *compiler.Context) (*SecurityRequirement, error) {
  4276. errors := make([]error, 0)
  4277. x := &SecurityRequirement{}
  4278. m, ok := compiler.UnpackMap(in)
  4279. if !ok {
  4280. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  4281. errors = append(errors, compiler.NewError(context, message))
  4282. } else {
  4283. allowedKeys := []string{}
  4284. allowedPatterns := []*regexp.Regexp{pattern4}
  4285. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  4286. if len(invalidKeys) > 0 {
  4287. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  4288. errors = append(errors, compiler.NewError(context, message))
  4289. }
  4290. }
  4291. return x, compiler.NewErrorGroupOrNil(errors)
  4292. }
  4293. // NewSecurityScheme creates an object of type SecurityScheme if possible, returning an error if not.
  4294. func NewSecurityScheme(in interface{}, context *compiler.Context) (*SecurityScheme, error) {
  4295. errors := make([]error, 0)
  4296. x := &SecurityScheme{}
  4297. m, ok := compiler.UnpackMap(in)
  4298. if !ok {
  4299. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  4300. errors = append(errors, compiler.NewError(context, message))
  4301. } else {
  4302. requiredKeys := []string{"type"}
  4303. missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
  4304. if len(missingKeys) > 0 {
  4305. message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
  4306. errors = append(errors, compiler.NewError(context, message))
  4307. }
  4308. allowedKeys := []string{"bearerFormat", "description", "flows", "in", "name", "openIdConnectUrl", "scheme", "type"}
  4309. allowedPatterns := []*regexp.Regexp{pattern1}
  4310. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  4311. if len(invalidKeys) > 0 {
  4312. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  4313. errors = append(errors, compiler.NewError(context, message))
  4314. }
  4315. // string type = 1;
  4316. v1 := compiler.MapValueForKey(m, "type")
  4317. if v1 != nil {
  4318. x.Type, ok = v1.(string)
  4319. if !ok {
  4320. message := fmt.Sprintf("has unexpected value for type: %+v (%T)", v1, v1)
  4321. errors = append(errors, compiler.NewError(context, message))
  4322. }
  4323. }
  4324. // string description = 2;
  4325. v2 := compiler.MapValueForKey(m, "description")
  4326. if v2 != nil {
  4327. x.Description, ok = v2.(string)
  4328. if !ok {
  4329. message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v2, v2)
  4330. errors = append(errors, compiler.NewError(context, message))
  4331. }
  4332. }
  4333. // string name = 3;
  4334. v3 := compiler.MapValueForKey(m, "name")
  4335. if v3 != nil {
  4336. x.Name, ok = v3.(string)
  4337. if !ok {
  4338. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v3, v3)
  4339. errors = append(errors, compiler.NewError(context, message))
  4340. }
  4341. }
  4342. // string in = 4;
  4343. v4 := compiler.MapValueForKey(m, "in")
  4344. if v4 != nil {
  4345. x.In, ok = v4.(string)
  4346. if !ok {
  4347. message := fmt.Sprintf("has unexpected value for in: %+v (%T)", v4, v4)
  4348. errors = append(errors, compiler.NewError(context, message))
  4349. }
  4350. }
  4351. // string scheme = 5;
  4352. v5 := compiler.MapValueForKey(m, "scheme")
  4353. if v5 != nil {
  4354. x.Scheme, ok = v5.(string)
  4355. if !ok {
  4356. message := fmt.Sprintf("has unexpected value for scheme: %+v (%T)", v5, v5)
  4357. errors = append(errors, compiler.NewError(context, message))
  4358. }
  4359. }
  4360. // string bearer_format = 6;
  4361. v6 := compiler.MapValueForKey(m, "bearerFormat")
  4362. if v6 != nil {
  4363. x.BearerFormat, ok = v6.(string)
  4364. if !ok {
  4365. message := fmt.Sprintf("has unexpected value for bearerFormat: %+v (%T)", v6, v6)
  4366. errors = append(errors, compiler.NewError(context, message))
  4367. }
  4368. }
  4369. // OauthFlows flows = 7;
  4370. v7 := compiler.MapValueForKey(m, "flows")
  4371. if v7 != nil {
  4372. var err error
  4373. x.Flows, err = NewOauthFlows(v7, compiler.NewContext("flows", context))
  4374. if err != nil {
  4375. errors = append(errors, err)
  4376. }
  4377. }
  4378. // string open_id_connect_url = 8;
  4379. v8 := compiler.MapValueForKey(m, "openIdConnectUrl")
  4380. if v8 != nil {
  4381. x.OpenIdConnectUrl, ok = v8.(string)
  4382. if !ok {
  4383. message := fmt.Sprintf("has unexpected value for openIdConnectUrl: %+v (%T)", v8, v8)
  4384. errors = append(errors, compiler.NewError(context, message))
  4385. }
  4386. }
  4387. // repeated NamedAny specification_extension = 9;
  4388. // MAP: Any ^x-
  4389. x.SpecificationExtension = make([]*NamedAny, 0)
  4390. for _, item := range m {
  4391. k, ok := compiler.StringValue(item.Key)
  4392. if ok {
  4393. v := item.Value
  4394. if strings.HasPrefix(k, "x-") {
  4395. pair := &NamedAny{}
  4396. pair.Name = k
  4397. result := &Any{}
  4398. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  4399. if handled {
  4400. if err != nil {
  4401. errors = append(errors, err)
  4402. } else {
  4403. bytes, _ := yaml.Marshal(v)
  4404. result.Yaml = string(bytes)
  4405. result.Value = resultFromExt
  4406. pair.Value = result
  4407. }
  4408. } else {
  4409. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  4410. if err != nil {
  4411. errors = append(errors, err)
  4412. }
  4413. }
  4414. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  4415. }
  4416. }
  4417. }
  4418. }
  4419. return x, compiler.NewErrorGroupOrNil(errors)
  4420. }
  4421. // NewSecuritySchemeOrReference creates an object of type SecuritySchemeOrReference if possible, returning an error if not.
  4422. func NewSecuritySchemeOrReference(in interface{}, context *compiler.Context) (*SecuritySchemeOrReference, error) {
  4423. errors := make([]error, 0)
  4424. x := &SecuritySchemeOrReference{}
  4425. matched := false
  4426. // SecurityScheme security_scheme = 1;
  4427. {
  4428. m, ok := compiler.UnpackMap(in)
  4429. if ok {
  4430. // errors might be ok here, they mean we just don't have the right subtype
  4431. t, matchingError := NewSecurityScheme(m, compiler.NewContext("securityScheme", context))
  4432. if matchingError == nil {
  4433. x.Oneof = &SecuritySchemeOrReference_SecurityScheme{SecurityScheme: t}
  4434. matched = true
  4435. } else {
  4436. errors = append(errors, matchingError)
  4437. }
  4438. }
  4439. }
  4440. // Reference reference = 2;
  4441. {
  4442. m, ok := compiler.UnpackMap(in)
  4443. if ok {
  4444. // errors might be ok here, they mean we just don't have the right subtype
  4445. t, matchingError := NewReference(m, compiler.NewContext("reference", context))
  4446. if matchingError == nil {
  4447. x.Oneof = &SecuritySchemeOrReference_Reference{Reference: t}
  4448. matched = true
  4449. } else {
  4450. errors = append(errors, matchingError)
  4451. }
  4452. }
  4453. }
  4454. if matched {
  4455. // since the oneof matched one of its possibilities, discard any matching errors
  4456. errors = make([]error, 0)
  4457. }
  4458. return x, compiler.NewErrorGroupOrNil(errors)
  4459. }
  4460. // NewSecuritySchemesOrReferences creates an object of type SecuritySchemesOrReferences if possible, returning an error if not.
  4461. func NewSecuritySchemesOrReferences(in interface{}, context *compiler.Context) (*SecuritySchemesOrReferences, error) {
  4462. errors := make([]error, 0)
  4463. x := &SecuritySchemesOrReferences{}
  4464. m, ok := compiler.UnpackMap(in)
  4465. if !ok {
  4466. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  4467. errors = append(errors, compiler.NewError(context, message))
  4468. } else {
  4469. // repeated NamedSecuritySchemeOrReference additional_properties = 1;
  4470. // MAP: SecuritySchemeOrReference
  4471. x.AdditionalProperties = make([]*NamedSecuritySchemeOrReference, 0)
  4472. for _, item := range m {
  4473. k, ok := compiler.StringValue(item.Key)
  4474. if ok {
  4475. v := item.Value
  4476. pair := &NamedSecuritySchemeOrReference{}
  4477. pair.Name = k
  4478. var err error
  4479. pair.Value, err = NewSecuritySchemeOrReference(v, compiler.NewContext(k, context))
  4480. if err != nil {
  4481. errors = append(errors, err)
  4482. }
  4483. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  4484. }
  4485. }
  4486. }
  4487. return x, compiler.NewErrorGroupOrNil(errors)
  4488. }
  4489. // NewServer creates an object of type Server if possible, returning an error if not.
  4490. func NewServer(in interface{}, context *compiler.Context) (*Server, error) {
  4491. errors := make([]error, 0)
  4492. x := &Server{}
  4493. m, ok := compiler.UnpackMap(in)
  4494. if !ok {
  4495. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  4496. errors = append(errors, compiler.NewError(context, message))
  4497. } else {
  4498. requiredKeys := []string{"url"}
  4499. missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
  4500. if len(missingKeys) > 0 {
  4501. message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
  4502. errors = append(errors, compiler.NewError(context, message))
  4503. }
  4504. allowedKeys := []string{"description", "url", "variables"}
  4505. allowedPatterns := []*regexp.Regexp{pattern1}
  4506. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  4507. if len(invalidKeys) > 0 {
  4508. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  4509. errors = append(errors, compiler.NewError(context, message))
  4510. }
  4511. // string url = 1;
  4512. v1 := compiler.MapValueForKey(m, "url")
  4513. if v1 != nil {
  4514. x.Url, ok = v1.(string)
  4515. if !ok {
  4516. message := fmt.Sprintf("has unexpected value for url: %+v (%T)", v1, v1)
  4517. errors = append(errors, compiler.NewError(context, message))
  4518. }
  4519. }
  4520. // string description = 2;
  4521. v2 := compiler.MapValueForKey(m, "description")
  4522. if v2 != nil {
  4523. x.Description, ok = v2.(string)
  4524. if !ok {
  4525. message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v2, v2)
  4526. errors = append(errors, compiler.NewError(context, message))
  4527. }
  4528. }
  4529. // ServerVariables variables = 3;
  4530. v3 := compiler.MapValueForKey(m, "variables")
  4531. if v3 != nil {
  4532. var err error
  4533. x.Variables, err = NewServerVariables(v3, compiler.NewContext("variables", context))
  4534. if err != nil {
  4535. errors = append(errors, err)
  4536. }
  4537. }
  4538. // repeated NamedAny specification_extension = 4;
  4539. // MAP: Any ^x-
  4540. x.SpecificationExtension = make([]*NamedAny, 0)
  4541. for _, item := range m {
  4542. k, ok := compiler.StringValue(item.Key)
  4543. if ok {
  4544. v := item.Value
  4545. if strings.HasPrefix(k, "x-") {
  4546. pair := &NamedAny{}
  4547. pair.Name = k
  4548. result := &Any{}
  4549. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  4550. if handled {
  4551. if err != nil {
  4552. errors = append(errors, err)
  4553. } else {
  4554. bytes, _ := yaml.Marshal(v)
  4555. result.Yaml = string(bytes)
  4556. result.Value = resultFromExt
  4557. pair.Value = result
  4558. }
  4559. } else {
  4560. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  4561. if err != nil {
  4562. errors = append(errors, err)
  4563. }
  4564. }
  4565. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  4566. }
  4567. }
  4568. }
  4569. }
  4570. return x, compiler.NewErrorGroupOrNil(errors)
  4571. }
  4572. // NewServerVariable creates an object of type ServerVariable if possible, returning an error if not.
  4573. func NewServerVariable(in interface{}, context *compiler.Context) (*ServerVariable, error) {
  4574. errors := make([]error, 0)
  4575. x := &ServerVariable{}
  4576. m, ok := compiler.UnpackMap(in)
  4577. if !ok {
  4578. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  4579. errors = append(errors, compiler.NewError(context, message))
  4580. } else {
  4581. requiredKeys := []string{"default"}
  4582. missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
  4583. if len(missingKeys) > 0 {
  4584. message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
  4585. errors = append(errors, compiler.NewError(context, message))
  4586. }
  4587. allowedKeys := []string{"default", "description", "enum"}
  4588. allowedPatterns := []*regexp.Regexp{pattern1}
  4589. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  4590. if len(invalidKeys) > 0 {
  4591. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  4592. errors = append(errors, compiler.NewError(context, message))
  4593. }
  4594. // repeated string enum = 1;
  4595. v1 := compiler.MapValueForKey(m, "enum")
  4596. if v1 != nil {
  4597. v, ok := v1.([]interface{})
  4598. if ok {
  4599. x.Enum = compiler.ConvertInterfaceArrayToStringArray(v)
  4600. } else {
  4601. message := fmt.Sprintf("has unexpected value for enum: %+v (%T)", v1, v1)
  4602. errors = append(errors, compiler.NewError(context, message))
  4603. }
  4604. }
  4605. // string default = 2;
  4606. v2 := compiler.MapValueForKey(m, "default")
  4607. if v2 != nil {
  4608. x.Default, ok = v2.(string)
  4609. if !ok {
  4610. message := fmt.Sprintf("has unexpected value for default: %+v (%T)", v2, v2)
  4611. errors = append(errors, compiler.NewError(context, message))
  4612. }
  4613. }
  4614. // string description = 3;
  4615. v3 := compiler.MapValueForKey(m, "description")
  4616. if v3 != nil {
  4617. x.Description, ok = v3.(string)
  4618. if !ok {
  4619. message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v3, v3)
  4620. errors = append(errors, compiler.NewError(context, message))
  4621. }
  4622. }
  4623. // repeated NamedAny specification_extension = 4;
  4624. // MAP: Any ^x-
  4625. x.SpecificationExtension = make([]*NamedAny, 0)
  4626. for _, item := range m {
  4627. k, ok := compiler.StringValue(item.Key)
  4628. if ok {
  4629. v := item.Value
  4630. if strings.HasPrefix(k, "x-") {
  4631. pair := &NamedAny{}
  4632. pair.Name = k
  4633. result := &Any{}
  4634. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  4635. if handled {
  4636. if err != nil {
  4637. errors = append(errors, err)
  4638. } else {
  4639. bytes, _ := yaml.Marshal(v)
  4640. result.Yaml = string(bytes)
  4641. result.Value = resultFromExt
  4642. pair.Value = result
  4643. }
  4644. } else {
  4645. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  4646. if err != nil {
  4647. errors = append(errors, err)
  4648. }
  4649. }
  4650. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  4651. }
  4652. }
  4653. }
  4654. }
  4655. return x, compiler.NewErrorGroupOrNil(errors)
  4656. }
  4657. // NewServerVariables creates an object of type ServerVariables if possible, returning an error if not.
  4658. func NewServerVariables(in interface{}, context *compiler.Context) (*ServerVariables, error) {
  4659. errors := make([]error, 0)
  4660. x := &ServerVariables{}
  4661. m, ok := compiler.UnpackMap(in)
  4662. if !ok {
  4663. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  4664. errors = append(errors, compiler.NewError(context, message))
  4665. } else {
  4666. // repeated NamedServerVariable additional_properties = 1;
  4667. // MAP: ServerVariable
  4668. x.AdditionalProperties = make([]*NamedServerVariable, 0)
  4669. for _, item := range m {
  4670. k, ok := compiler.StringValue(item.Key)
  4671. if ok {
  4672. v := item.Value
  4673. pair := &NamedServerVariable{}
  4674. pair.Name = k
  4675. var err error
  4676. pair.Value, err = NewServerVariable(v, compiler.NewContext(k, context))
  4677. if err != nil {
  4678. errors = append(errors, err)
  4679. }
  4680. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  4681. }
  4682. }
  4683. }
  4684. return x, compiler.NewErrorGroupOrNil(errors)
  4685. }
  4686. // NewSpecificationExtension creates an object of type SpecificationExtension if possible, returning an error if not.
  4687. func NewSpecificationExtension(in interface{}, context *compiler.Context) (*SpecificationExtension, error) {
  4688. errors := make([]error, 0)
  4689. x := &SpecificationExtension{}
  4690. matched := false
  4691. switch in := in.(type) {
  4692. case bool:
  4693. x.Oneof = &SpecificationExtension_Boolean{Boolean: in}
  4694. matched = true
  4695. case string:
  4696. x.Oneof = &SpecificationExtension_String_{String_: in}
  4697. matched = true
  4698. case int64:
  4699. x.Oneof = &SpecificationExtension_Number{Number: float64(in)}
  4700. matched = true
  4701. case int32:
  4702. x.Oneof = &SpecificationExtension_Number{Number: float64(in)}
  4703. matched = true
  4704. case int:
  4705. x.Oneof = &SpecificationExtension_Number{Number: float64(in)}
  4706. matched = true
  4707. case float64:
  4708. x.Oneof = &SpecificationExtension_Number{Number: in}
  4709. matched = true
  4710. case float32:
  4711. x.Oneof = &SpecificationExtension_Number{Number: float64(in)}
  4712. matched = true
  4713. }
  4714. if matched {
  4715. // since the oneof matched one of its possibilities, discard any matching errors
  4716. errors = make([]error, 0)
  4717. }
  4718. return x, compiler.NewErrorGroupOrNil(errors)
  4719. }
  4720. // NewStringArray creates an object of type StringArray if possible, returning an error if not.
  4721. func NewStringArray(in interface{}, context *compiler.Context) (*StringArray, error) {
  4722. errors := make([]error, 0)
  4723. x := &StringArray{}
  4724. a, ok := in.([]interface{})
  4725. if !ok {
  4726. message := fmt.Sprintf("has unexpected value for StringArray: %+v (%T)", in, in)
  4727. errors = append(errors, compiler.NewError(context, message))
  4728. } else {
  4729. x.Value = make([]string, 0)
  4730. for _, s := range a {
  4731. x.Value = append(x.Value, s.(string))
  4732. }
  4733. }
  4734. return x, compiler.NewErrorGroupOrNil(errors)
  4735. }
  4736. // NewStrings creates an object of type Strings if possible, returning an error if not.
  4737. func NewStrings(in interface{}, context *compiler.Context) (*Strings, error) {
  4738. errors := make([]error, 0)
  4739. x := &Strings{}
  4740. m, ok := compiler.UnpackMap(in)
  4741. if !ok {
  4742. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  4743. errors = append(errors, compiler.NewError(context, message))
  4744. } else {
  4745. // repeated NamedString additional_properties = 1;
  4746. // MAP: string
  4747. x.AdditionalProperties = make([]*NamedString, 0)
  4748. for _, item := range m {
  4749. k, ok := compiler.StringValue(item.Key)
  4750. if ok {
  4751. v := item.Value
  4752. pair := &NamedString{}
  4753. pair.Name = k
  4754. pair.Value = v.(string)
  4755. x.AdditionalProperties = append(x.AdditionalProperties, pair)
  4756. }
  4757. }
  4758. }
  4759. return x, compiler.NewErrorGroupOrNil(errors)
  4760. }
  4761. // NewTag creates an object of type Tag if possible, returning an error if not.
  4762. func NewTag(in interface{}, context *compiler.Context) (*Tag, error) {
  4763. errors := make([]error, 0)
  4764. x := &Tag{}
  4765. m, ok := compiler.UnpackMap(in)
  4766. if !ok {
  4767. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  4768. errors = append(errors, compiler.NewError(context, message))
  4769. } else {
  4770. requiredKeys := []string{"name"}
  4771. missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
  4772. if len(missingKeys) > 0 {
  4773. message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
  4774. errors = append(errors, compiler.NewError(context, message))
  4775. }
  4776. allowedKeys := []string{"description", "externalDocs", "name"}
  4777. allowedPatterns := []*regexp.Regexp{pattern1}
  4778. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  4779. if len(invalidKeys) > 0 {
  4780. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  4781. errors = append(errors, compiler.NewError(context, message))
  4782. }
  4783. // string name = 1;
  4784. v1 := compiler.MapValueForKey(m, "name")
  4785. if v1 != nil {
  4786. x.Name, ok = v1.(string)
  4787. if !ok {
  4788. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  4789. errors = append(errors, compiler.NewError(context, message))
  4790. }
  4791. }
  4792. // string description = 2;
  4793. v2 := compiler.MapValueForKey(m, "description")
  4794. if v2 != nil {
  4795. x.Description, ok = v2.(string)
  4796. if !ok {
  4797. message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v2, v2)
  4798. errors = append(errors, compiler.NewError(context, message))
  4799. }
  4800. }
  4801. // ExternalDocs external_docs = 3;
  4802. v3 := compiler.MapValueForKey(m, "externalDocs")
  4803. if v3 != nil {
  4804. var err error
  4805. x.ExternalDocs, err = NewExternalDocs(v3, compiler.NewContext("externalDocs", context))
  4806. if err != nil {
  4807. errors = append(errors, err)
  4808. }
  4809. }
  4810. // repeated NamedAny specification_extension = 4;
  4811. // MAP: Any ^x-
  4812. x.SpecificationExtension = make([]*NamedAny, 0)
  4813. for _, item := range m {
  4814. k, ok := compiler.StringValue(item.Key)
  4815. if ok {
  4816. v := item.Value
  4817. if strings.HasPrefix(k, "x-") {
  4818. pair := &NamedAny{}
  4819. pair.Name = k
  4820. result := &Any{}
  4821. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  4822. if handled {
  4823. if err != nil {
  4824. errors = append(errors, err)
  4825. } else {
  4826. bytes, _ := yaml.Marshal(v)
  4827. result.Yaml = string(bytes)
  4828. result.Value = resultFromExt
  4829. pair.Value = result
  4830. }
  4831. } else {
  4832. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  4833. if err != nil {
  4834. errors = append(errors, err)
  4835. }
  4836. }
  4837. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  4838. }
  4839. }
  4840. }
  4841. }
  4842. return x, compiler.NewErrorGroupOrNil(errors)
  4843. }
  4844. // NewXml creates an object of type Xml if possible, returning an error if not.
  4845. func NewXml(in interface{}, context *compiler.Context) (*Xml, error) {
  4846. errors := make([]error, 0)
  4847. x := &Xml{}
  4848. m, ok := compiler.UnpackMap(in)
  4849. if !ok {
  4850. message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
  4851. errors = append(errors, compiler.NewError(context, message))
  4852. } else {
  4853. allowedKeys := []string{"attribute", "name", "namespace", "prefix", "wrapped"}
  4854. allowedPatterns := []*regexp.Regexp{pattern1}
  4855. invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
  4856. if len(invalidKeys) > 0 {
  4857. message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
  4858. errors = append(errors, compiler.NewError(context, message))
  4859. }
  4860. // string name = 1;
  4861. v1 := compiler.MapValueForKey(m, "name")
  4862. if v1 != nil {
  4863. x.Name, ok = v1.(string)
  4864. if !ok {
  4865. message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
  4866. errors = append(errors, compiler.NewError(context, message))
  4867. }
  4868. }
  4869. // string namespace = 2;
  4870. v2 := compiler.MapValueForKey(m, "namespace")
  4871. if v2 != nil {
  4872. x.Namespace, ok = v2.(string)
  4873. if !ok {
  4874. message := fmt.Sprintf("has unexpected value for namespace: %+v (%T)", v2, v2)
  4875. errors = append(errors, compiler.NewError(context, message))
  4876. }
  4877. }
  4878. // string prefix = 3;
  4879. v3 := compiler.MapValueForKey(m, "prefix")
  4880. if v3 != nil {
  4881. x.Prefix, ok = v3.(string)
  4882. if !ok {
  4883. message := fmt.Sprintf("has unexpected value for prefix: %+v (%T)", v3, v3)
  4884. errors = append(errors, compiler.NewError(context, message))
  4885. }
  4886. }
  4887. // bool attribute = 4;
  4888. v4 := compiler.MapValueForKey(m, "attribute")
  4889. if v4 != nil {
  4890. x.Attribute, ok = v4.(bool)
  4891. if !ok {
  4892. message := fmt.Sprintf("has unexpected value for attribute: %+v (%T)", v4, v4)
  4893. errors = append(errors, compiler.NewError(context, message))
  4894. }
  4895. }
  4896. // bool wrapped = 5;
  4897. v5 := compiler.MapValueForKey(m, "wrapped")
  4898. if v5 != nil {
  4899. x.Wrapped, ok = v5.(bool)
  4900. if !ok {
  4901. message := fmt.Sprintf("has unexpected value for wrapped: %+v (%T)", v5, v5)
  4902. errors = append(errors, compiler.NewError(context, message))
  4903. }
  4904. }
  4905. // repeated NamedAny specification_extension = 6;
  4906. // MAP: Any ^x-
  4907. x.SpecificationExtension = make([]*NamedAny, 0)
  4908. for _, item := range m {
  4909. k, ok := compiler.StringValue(item.Key)
  4910. if ok {
  4911. v := item.Value
  4912. if strings.HasPrefix(k, "x-") {
  4913. pair := &NamedAny{}
  4914. pair.Name = k
  4915. result := &Any{}
  4916. handled, resultFromExt, err := compiler.HandleExtension(context, v, k)
  4917. if handled {
  4918. if err != nil {
  4919. errors = append(errors, err)
  4920. } else {
  4921. bytes, _ := yaml.Marshal(v)
  4922. result.Yaml = string(bytes)
  4923. result.Value = resultFromExt
  4924. pair.Value = result
  4925. }
  4926. } else {
  4927. pair.Value, err = NewAny(v, compiler.NewContext(k, context))
  4928. if err != nil {
  4929. errors = append(errors, err)
  4930. }
  4931. }
  4932. x.SpecificationExtension = append(x.SpecificationExtension, pair)
  4933. }
  4934. }
  4935. }
  4936. }
  4937. return x, compiler.NewErrorGroupOrNil(errors)
  4938. }
  4939. // ResolveReferences resolves references found inside AdditionalPropertiesItem objects.
  4940. func (m *AdditionalPropertiesItem) ResolveReferences(root string) (interface{}, error) {
  4941. errors := make([]error, 0)
  4942. {
  4943. p, ok := m.Oneof.(*AdditionalPropertiesItem_SchemaOrReference)
  4944. if ok {
  4945. _, err := p.SchemaOrReference.ResolveReferences(root)
  4946. if err != nil {
  4947. return nil, err
  4948. }
  4949. }
  4950. }
  4951. return nil, compiler.NewErrorGroupOrNil(errors)
  4952. }
  4953. // ResolveReferences resolves references found inside Any objects.
  4954. func (m *Any) ResolveReferences(root string) (interface{}, error) {
  4955. errors := make([]error, 0)
  4956. return nil, compiler.NewErrorGroupOrNil(errors)
  4957. }
  4958. // ResolveReferences resolves references found inside AnyOrExpression objects.
  4959. func (m *AnyOrExpression) ResolveReferences(root string) (interface{}, error) {
  4960. errors := make([]error, 0)
  4961. {
  4962. p, ok := m.Oneof.(*AnyOrExpression_Any)
  4963. if ok {
  4964. _, err := p.Any.ResolveReferences(root)
  4965. if err != nil {
  4966. return nil, err
  4967. }
  4968. }
  4969. }
  4970. {
  4971. p, ok := m.Oneof.(*AnyOrExpression_Expression)
  4972. if ok {
  4973. _, err := p.Expression.ResolveReferences(root)
  4974. if err != nil {
  4975. return nil, err
  4976. }
  4977. }
  4978. }
  4979. return nil, compiler.NewErrorGroupOrNil(errors)
  4980. }
  4981. // ResolveReferences resolves references found inside AnysOrExpressions objects.
  4982. func (m *AnysOrExpressions) ResolveReferences(root string) (interface{}, error) {
  4983. errors := make([]error, 0)
  4984. for _, item := range m.AdditionalProperties {
  4985. if item != nil {
  4986. _, err := item.ResolveReferences(root)
  4987. if err != nil {
  4988. errors = append(errors, err)
  4989. }
  4990. }
  4991. }
  4992. return nil, compiler.NewErrorGroupOrNil(errors)
  4993. }
  4994. // ResolveReferences resolves references found inside Callback objects.
  4995. func (m *Callback) ResolveReferences(root string) (interface{}, error) {
  4996. errors := make([]error, 0)
  4997. for _, item := range m.Path {
  4998. if item != nil {
  4999. _, err := item.ResolveReferences(root)
  5000. if err != nil {
  5001. errors = append(errors, err)
  5002. }
  5003. }
  5004. }
  5005. for _, item := range m.SpecificationExtension {
  5006. if item != nil {
  5007. _, err := item.ResolveReferences(root)
  5008. if err != nil {
  5009. errors = append(errors, err)
  5010. }
  5011. }
  5012. }
  5013. return nil, compiler.NewErrorGroupOrNil(errors)
  5014. }
  5015. // ResolveReferences resolves references found inside CallbackOrReference objects.
  5016. func (m *CallbackOrReference) ResolveReferences(root string) (interface{}, error) {
  5017. errors := make([]error, 0)
  5018. {
  5019. p, ok := m.Oneof.(*CallbackOrReference_Callback)
  5020. if ok {
  5021. _, err := p.Callback.ResolveReferences(root)
  5022. if err != nil {
  5023. return nil, err
  5024. }
  5025. }
  5026. }
  5027. {
  5028. p, ok := m.Oneof.(*CallbackOrReference_Reference)
  5029. if ok {
  5030. _, err := p.Reference.ResolveReferences(root)
  5031. if err != nil {
  5032. return nil, err
  5033. }
  5034. }
  5035. }
  5036. return nil, compiler.NewErrorGroupOrNil(errors)
  5037. }
  5038. // ResolveReferences resolves references found inside CallbacksOrReferences objects.
  5039. func (m *CallbacksOrReferences) ResolveReferences(root string) (interface{}, error) {
  5040. errors := make([]error, 0)
  5041. for _, item := range m.AdditionalProperties {
  5042. if item != nil {
  5043. _, err := item.ResolveReferences(root)
  5044. if err != nil {
  5045. errors = append(errors, err)
  5046. }
  5047. }
  5048. }
  5049. return nil, compiler.NewErrorGroupOrNil(errors)
  5050. }
  5051. // ResolveReferences resolves references found inside Components objects.
  5052. func (m *Components) ResolveReferences(root string) (interface{}, error) {
  5053. errors := make([]error, 0)
  5054. if m.Schemas != nil {
  5055. _, err := m.Schemas.ResolveReferences(root)
  5056. if err != nil {
  5057. errors = append(errors, err)
  5058. }
  5059. }
  5060. if m.Responses != nil {
  5061. _, err := m.Responses.ResolveReferences(root)
  5062. if err != nil {
  5063. errors = append(errors, err)
  5064. }
  5065. }
  5066. if m.Parameters != nil {
  5067. _, err := m.Parameters.ResolveReferences(root)
  5068. if err != nil {
  5069. errors = append(errors, err)
  5070. }
  5071. }
  5072. if m.Examples != nil {
  5073. _, err := m.Examples.ResolveReferences(root)
  5074. if err != nil {
  5075. errors = append(errors, err)
  5076. }
  5077. }
  5078. if m.RequestBodies != nil {
  5079. _, err := m.RequestBodies.ResolveReferences(root)
  5080. if err != nil {
  5081. errors = append(errors, err)
  5082. }
  5083. }
  5084. if m.Headers != nil {
  5085. _, err := m.Headers.ResolveReferences(root)
  5086. if err != nil {
  5087. errors = append(errors, err)
  5088. }
  5089. }
  5090. if m.SecuritySchemes != nil {
  5091. _, err := m.SecuritySchemes.ResolveReferences(root)
  5092. if err != nil {
  5093. errors = append(errors, err)
  5094. }
  5095. }
  5096. if m.Links != nil {
  5097. _, err := m.Links.ResolveReferences(root)
  5098. if err != nil {
  5099. errors = append(errors, err)
  5100. }
  5101. }
  5102. if m.Callbacks != nil {
  5103. _, err := m.Callbacks.ResolveReferences(root)
  5104. if err != nil {
  5105. errors = append(errors, err)
  5106. }
  5107. }
  5108. for _, item := range m.SpecificationExtension {
  5109. if item != nil {
  5110. _, err := item.ResolveReferences(root)
  5111. if err != nil {
  5112. errors = append(errors, err)
  5113. }
  5114. }
  5115. }
  5116. return nil, compiler.NewErrorGroupOrNil(errors)
  5117. }
  5118. // ResolveReferences resolves references found inside Contact objects.
  5119. func (m *Contact) ResolveReferences(root string) (interface{}, error) {
  5120. errors := make([]error, 0)
  5121. for _, item := range m.SpecificationExtension {
  5122. if item != nil {
  5123. _, err := item.ResolveReferences(root)
  5124. if err != nil {
  5125. errors = append(errors, err)
  5126. }
  5127. }
  5128. }
  5129. return nil, compiler.NewErrorGroupOrNil(errors)
  5130. }
  5131. // ResolveReferences resolves references found inside DefaultType objects.
  5132. func (m *DefaultType) ResolveReferences(root string) (interface{}, error) {
  5133. errors := make([]error, 0)
  5134. return nil, compiler.NewErrorGroupOrNil(errors)
  5135. }
  5136. // ResolveReferences resolves references found inside Discriminator objects.
  5137. func (m *Discriminator) ResolveReferences(root string) (interface{}, error) {
  5138. errors := make([]error, 0)
  5139. if m.Mapping != nil {
  5140. _, err := m.Mapping.ResolveReferences(root)
  5141. if err != nil {
  5142. errors = append(errors, err)
  5143. }
  5144. }
  5145. return nil, compiler.NewErrorGroupOrNil(errors)
  5146. }
  5147. // ResolveReferences resolves references found inside Document objects.
  5148. func (m *Document) ResolveReferences(root string) (interface{}, error) {
  5149. errors := make([]error, 0)
  5150. if m.Info != nil {
  5151. _, err := m.Info.ResolveReferences(root)
  5152. if err != nil {
  5153. errors = append(errors, err)
  5154. }
  5155. }
  5156. for _, item := range m.Servers {
  5157. if item != nil {
  5158. _, err := item.ResolveReferences(root)
  5159. if err != nil {
  5160. errors = append(errors, err)
  5161. }
  5162. }
  5163. }
  5164. if m.Paths != nil {
  5165. _, err := m.Paths.ResolveReferences(root)
  5166. if err != nil {
  5167. errors = append(errors, err)
  5168. }
  5169. }
  5170. if m.Components != nil {
  5171. _, err := m.Components.ResolveReferences(root)
  5172. if err != nil {
  5173. errors = append(errors, err)
  5174. }
  5175. }
  5176. for _, item := range m.Security {
  5177. if item != nil {
  5178. _, err := item.ResolveReferences(root)
  5179. if err != nil {
  5180. errors = append(errors, err)
  5181. }
  5182. }
  5183. }
  5184. for _, item := range m.Tags {
  5185. if item != nil {
  5186. _, err := item.ResolveReferences(root)
  5187. if err != nil {
  5188. errors = append(errors, err)
  5189. }
  5190. }
  5191. }
  5192. if m.ExternalDocs != nil {
  5193. _, err := m.ExternalDocs.ResolveReferences(root)
  5194. if err != nil {
  5195. errors = append(errors, err)
  5196. }
  5197. }
  5198. for _, item := range m.SpecificationExtension {
  5199. if item != nil {
  5200. _, err := item.ResolveReferences(root)
  5201. if err != nil {
  5202. errors = append(errors, err)
  5203. }
  5204. }
  5205. }
  5206. return nil, compiler.NewErrorGroupOrNil(errors)
  5207. }
  5208. // ResolveReferences resolves references found inside Encoding objects.
  5209. func (m *Encoding) ResolveReferences(root string) (interface{}, error) {
  5210. errors := make([]error, 0)
  5211. if m.Headers != nil {
  5212. _, err := m.Headers.ResolveReferences(root)
  5213. if err != nil {
  5214. errors = append(errors, err)
  5215. }
  5216. }
  5217. for _, item := range m.SpecificationExtension {
  5218. if item != nil {
  5219. _, err := item.ResolveReferences(root)
  5220. if err != nil {
  5221. errors = append(errors, err)
  5222. }
  5223. }
  5224. }
  5225. return nil, compiler.NewErrorGroupOrNil(errors)
  5226. }
  5227. // ResolveReferences resolves references found inside Encodings objects.
  5228. func (m *Encodings) ResolveReferences(root string) (interface{}, error) {
  5229. errors := make([]error, 0)
  5230. for _, item := range m.AdditionalProperties {
  5231. if item != nil {
  5232. _, err := item.ResolveReferences(root)
  5233. if err != nil {
  5234. errors = append(errors, err)
  5235. }
  5236. }
  5237. }
  5238. return nil, compiler.NewErrorGroupOrNil(errors)
  5239. }
  5240. // ResolveReferences resolves references found inside Example objects.
  5241. func (m *Example) ResolveReferences(root string) (interface{}, error) {
  5242. errors := make([]error, 0)
  5243. if m.Value != nil {
  5244. _, err := m.Value.ResolveReferences(root)
  5245. if err != nil {
  5246. errors = append(errors, err)
  5247. }
  5248. }
  5249. for _, item := range m.SpecificationExtension {
  5250. if item != nil {
  5251. _, err := item.ResolveReferences(root)
  5252. if err != nil {
  5253. errors = append(errors, err)
  5254. }
  5255. }
  5256. }
  5257. return nil, compiler.NewErrorGroupOrNil(errors)
  5258. }
  5259. // ResolveReferences resolves references found inside ExampleOrReference objects.
  5260. func (m *ExampleOrReference) ResolveReferences(root string) (interface{}, error) {
  5261. errors := make([]error, 0)
  5262. {
  5263. p, ok := m.Oneof.(*ExampleOrReference_Example)
  5264. if ok {
  5265. _, err := p.Example.ResolveReferences(root)
  5266. if err != nil {
  5267. return nil, err
  5268. }
  5269. }
  5270. }
  5271. {
  5272. p, ok := m.Oneof.(*ExampleOrReference_Reference)
  5273. if ok {
  5274. _, err := p.Reference.ResolveReferences(root)
  5275. if err != nil {
  5276. return nil, err
  5277. }
  5278. }
  5279. }
  5280. return nil, compiler.NewErrorGroupOrNil(errors)
  5281. }
  5282. // ResolveReferences resolves references found inside Examples objects.
  5283. func (m *Examples) ResolveReferences(root string) (interface{}, error) {
  5284. errors := make([]error, 0)
  5285. return nil, compiler.NewErrorGroupOrNil(errors)
  5286. }
  5287. // ResolveReferences resolves references found inside ExamplesOrReferences objects.
  5288. func (m *ExamplesOrReferences) ResolveReferences(root string) (interface{}, error) {
  5289. errors := make([]error, 0)
  5290. for _, item := range m.AdditionalProperties {
  5291. if item != nil {
  5292. _, err := item.ResolveReferences(root)
  5293. if err != nil {
  5294. errors = append(errors, err)
  5295. }
  5296. }
  5297. }
  5298. return nil, compiler.NewErrorGroupOrNil(errors)
  5299. }
  5300. // ResolveReferences resolves references found inside Expression objects.
  5301. func (m *Expression) ResolveReferences(root string) (interface{}, error) {
  5302. errors := make([]error, 0)
  5303. for _, item := range m.AdditionalProperties {
  5304. if item != nil {
  5305. _, err := item.ResolveReferences(root)
  5306. if err != nil {
  5307. errors = append(errors, err)
  5308. }
  5309. }
  5310. }
  5311. return nil, compiler.NewErrorGroupOrNil(errors)
  5312. }
  5313. // ResolveReferences resolves references found inside ExternalDocs objects.
  5314. func (m *ExternalDocs) ResolveReferences(root string) (interface{}, error) {
  5315. errors := make([]error, 0)
  5316. for _, item := range m.SpecificationExtension {
  5317. if item != nil {
  5318. _, err := item.ResolveReferences(root)
  5319. if err != nil {
  5320. errors = append(errors, err)
  5321. }
  5322. }
  5323. }
  5324. return nil, compiler.NewErrorGroupOrNil(errors)
  5325. }
  5326. // ResolveReferences resolves references found inside Header objects.
  5327. func (m *Header) ResolveReferences(root string) (interface{}, error) {
  5328. errors := make([]error, 0)
  5329. if m.Schema != nil {
  5330. _, err := m.Schema.ResolveReferences(root)
  5331. if err != nil {
  5332. errors = append(errors, err)
  5333. }
  5334. }
  5335. if m.Example != nil {
  5336. _, err := m.Example.ResolveReferences(root)
  5337. if err != nil {
  5338. errors = append(errors, err)
  5339. }
  5340. }
  5341. if m.Examples != nil {
  5342. _, err := m.Examples.ResolveReferences(root)
  5343. if err != nil {
  5344. errors = append(errors, err)
  5345. }
  5346. }
  5347. if m.Content != nil {
  5348. _, err := m.Content.ResolveReferences(root)
  5349. if err != nil {
  5350. errors = append(errors, err)
  5351. }
  5352. }
  5353. for _, item := range m.SpecificationExtension {
  5354. if item != nil {
  5355. _, err := item.ResolveReferences(root)
  5356. if err != nil {
  5357. errors = append(errors, err)
  5358. }
  5359. }
  5360. }
  5361. return nil, compiler.NewErrorGroupOrNil(errors)
  5362. }
  5363. // ResolveReferences resolves references found inside HeaderOrReference objects.
  5364. func (m *HeaderOrReference) ResolveReferences(root string) (interface{}, error) {
  5365. errors := make([]error, 0)
  5366. {
  5367. p, ok := m.Oneof.(*HeaderOrReference_Header)
  5368. if ok {
  5369. _, err := p.Header.ResolveReferences(root)
  5370. if err != nil {
  5371. return nil, err
  5372. }
  5373. }
  5374. }
  5375. {
  5376. p, ok := m.Oneof.(*HeaderOrReference_Reference)
  5377. if ok {
  5378. _, err := p.Reference.ResolveReferences(root)
  5379. if err != nil {
  5380. return nil, err
  5381. }
  5382. }
  5383. }
  5384. return nil, compiler.NewErrorGroupOrNil(errors)
  5385. }
  5386. // ResolveReferences resolves references found inside HeadersOrReferences objects.
  5387. func (m *HeadersOrReferences) ResolveReferences(root string) (interface{}, error) {
  5388. errors := make([]error, 0)
  5389. for _, item := range m.AdditionalProperties {
  5390. if item != nil {
  5391. _, err := item.ResolveReferences(root)
  5392. if err != nil {
  5393. errors = append(errors, err)
  5394. }
  5395. }
  5396. }
  5397. return nil, compiler.NewErrorGroupOrNil(errors)
  5398. }
  5399. // ResolveReferences resolves references found inside Info objects.
  5400. func (m *Info) ResolveReferences(root string) (interface{}, error) {
  5401. errors := make([]error, 0)
  5402. if m.Contact != nil {
  5403. _, err := m.Contact.ResolveReferences(root)
  5404. if err != nil {
  5405. errors = append(errors, err)
  5406. }
  5407. }
  5408. if m.License != nil {
  5409. _, err := m.License.ResolveReferences(root)
  5410. if err != nil {
  5411. errors = append(errors, err)
  5412. }
  5413. }
  5414. for _, item := range m.SpecificationExtension {
  5415. if item != nil {
  5416. _, err := item.ResolveReferences(root)
  5417. if err != nil {
  5418. errors = append(errors, err)
  5419. }
  5420. }
  5421. }
  5422. return nil, compiler.NewErrorGroupOrNil(errors)
  5423. }
  5424. // ResolveReferences resolves references found inside ItemsItem objects.
  5425. func (m *ItemsItem) ResolveReferences(root string) (interface{}, error) {
  5426. errors := make([]error, 0)
  5427. for _, item := range m.SchemaOrReference {
  5428. if item != nil {
  5429. _, err := item.ResolveReferences(root)
  5430. if err != nil {
  5431. errors = append(errors, err)
  5432. }
  5433. }
  5434. }
  5435. return nil, compiler.NewErrorGroupOrNil(errors)
  5436. }
  5437. // ResolveReferences resolves references found inside License objects.
  5438. func (m *License) ResolveReferences(root string) (interface{}, error) {
  5439. errors := make([]error, 0)
  5440. for _, item := range m.SpecificationExtension {
  5441. if item != nil {
  5442. _, err := item.ResolveReferences(root)
  5443. if err != nil {
  5444. errors = append(errors, err)
  5445. }
  5446. }
  5447. }
  5448. return nil, compiler.NewErrorGroupOrNil(errors)
  5449. }
  5450. // ResolveReferences resolves references found inside Link objects.
  5451. func (m *Link) ResolveReferences(root string) (interface{}, error) {
  5452. errors := make([]error, 0)
  5453. if m.Parameters != nil {
  5454. _, err := m.Parameters.ResolveReferences(root)
  5455. if err != nil {
  5456. errors = append(errors, err)
  5457. }
  5458. }
  5459. if m.RequestBody != nil {
  5460. _, err := m.RequestBody.ResolveReferences(root)
  5461. if err != nil {
  5462. errors = append(errors, err)
  5463. }
  5464. }
  5465. if m.Server != nil {
  5466. _, err := m.Server.ResolveReferences(root)
  5467. if err != nil {
  5468. errors = append(errors, err)
  5469. }
  5470. }
  5471. for _, item := range m.SpecificationExtension {
  5472. if item != nil {
  5473. _, err := item.ResolveReferences(root)
  5474. if err != nil {
  5475. errors = append(errors, err)
  5476. }
  5477. }
  5478. }
  5479. return nil, compiler.NewErrorGroupOrNil(errors)
  5480. }
  5481. // ResolveReferences resolves references found inside LinkOrReference objects.
  5482. func (m *LinkOrReference) ResolveReferences(root string) (interface{}, error) {
  5483. errors := make([]error, 0)
  5484. {
  5485. p, ok := m.Oneof.(*LinkOrReference_Link)
  5486. if ok {
  5487. _, err := p.Link.ResolveReferences(root)
  5488. if err != nil {
  5489. return nil, err
  5490. }
  5491. }
  5492. }
  5493. {
  5494. p, ok := m.Oneof.(*LinkOrReference_Reference)
  5495. if ok {
  5496. _, err := p.Reference.ResolveReferences(root)
  5497. if err != nil {
  5498. return nil, err
  5499. }
  5500. }
  5501. }
  5502. return nil, compiler.NewErrorGroupOrNil(errors)
  5503. }
  5504. // ResolveReferences resolves references found inside LinksOrReferences objects.
  5505. func (m *LinksOrReferences) ResolveReferences(root string) (interface{}, error) {
  5506. errors := make([]error, 0)
  5507. for _, item := range m.AdditionalProperties {
  5508. if item != nil {
  5509. _, err := item.ResolveReferences(root)
  5510. if err != nil {
  5511. errors = append(errors, err)
  5512. }
  5513. }
  5514. }
  5515. return nil, compiler.NewErrorGroupOrNil(errors)
  5516. }
  5517. // ResolveReferences resolves references found inside MediaType objects.
  5518. func (m *MediaType) ResolveReferences(root string) (interface{}, error) {
  5519. errors := make([]error, 0)
  5520. if m.Schema != nil {
  5521. _, err := m.Schema.ResolveReferences(root)
  5522. if err != nil {
  5523. errors = append(errors, err)
  5524. }
  5525. }
  5526. if m.Example != nil {
  5527. _, err := m.Example.ResolveReferences(root)
  5528. if err != nil {
  5529. errors = append(errors, err)
  5530. }
  5531. }
  5532. if m.Examples != nil {
  5533. _, err := m.Examples.ResolveReferences(root)
  5534. if err != nil {
  5535. errors = append(errors, err)
  5536. }
  5537. }
  5538. if m.Encoding != nil {
  5539. _, err := m.Encoding.ResolveReferences(root)
  5540. if err != nil {
  5541. errors = append(errors, err)
  5542. }
  5543. }
  5544. for _, item := range m.SpecificationExtension {
  5545. if item != nil {
  5546. _, err := item.ResolveReferences(root)
  5547. if err != nil {
  5548. errors = append(errors, err)
  5549. }
  5550. }
  5551. }
  5552. return nil, compiler.NewErrorGroupOrNil(errors)
  5553. }
  5554. // ResolveReferences resolves references found inside MediaTypes objects.
  5555. func (m *MediaTypes) ResolveReferences(root string) (interface{}, error) {
  5556. errors := make([]error, 0)
  5557. for _, item := range m.AdditionalProperties {
  5558. if item != nil {
  5559. _, err := item.ResolveReferences(root)
  5560. if err != nil {
  5561. errors = append(errors, err)
  5562. }
  5563. }
  5564. }
  5565. return nil, compiler.NewErrorGroupOrNil(errors)
  5566. }
  5567. // ResolveReferences resolves references found inside NamedAny objects.
  5568. func (m *NamedAny) ResolveReferences(root string) (interface{}, error) {
  5569. errors := make([]error, 0)
  5570. if m.Value != nil {
  5571. _, err := m.Value.ResolveReferences(root)
  5572. if err != nil {
  5573. errors = append(errors, err)
  5574. }
  5575. }
  5576. return nil, compiler.NewErrorGroupOrNil(errors)
  5577. }
  5578. // ResolveReferences resolves references found inside NamedAnyOrExpression objects.
  5579. func (m *NamedAnyOrExpression) ResolveReferences(root string) (interface{}, error) {
  5580. errors := make([]error, 0)
  5581. if m.Value != nil {
  5582. _, err := m.Value.ResolveReferences(root)
  5583. if err != nil {
  5584. errors = append(errors, err)
  5585. }
  5586. }
  5587. return nil, compiler.NewErrorGroupOrNil(errors)
  5588. }
  5589. // ResolveReferences resolves references found inside NamedCallbackOrReference objects.
  5590. func (m *NamedCallbackOrReference) ResolveReferences(root string) (interface{}, error) {
  5591. errors := make([]error, 0)
  5592. if m.Value != nil {
  5593. _, err := m.Value.ResolveReferences(root)
  5594. if err != nil {
  5595. errors = append(errors, err)
  5596. }
  5597. }
  5598. return nil, compiler.NewErrorGroupOrNil(errors)
  5599. }
  5600. // ResolveReferences resolves references found inside NamedEncoding objects.
  5601. func (m *NamedEncoding) ResolveReferences(root string) (interface{}, error) {
  5602. errors := make([]error, 0)
  5603. if m.Value != nil {
  5604. _, err := m.Value.ResolveReferences(root)
  5605. if err != nil {
  5606. errors = append(errors, err)
  5607. }
  5608. }
  5609. return nil, compiler.NewErrorGroupOrNil(errors)
  5610. }
  5611. // ResolveReferences resolves references found inside NamedExampleOrReference objects.
  5612. func (m *NamedExampleOrReference) ResolveReferences(root string) (interface{}, error) {
  5613. errors := make([]error, 0)
  5614. if m.Value != nil {
  5615. _, err := m.Value.ResolveReferences(root)
  5616. if err != nil {
  5617. errors = append(errors, err)
  5618. }
  5619. }
  5620. return nil, compiler.NewErrorGroupOrNil(errors)
  5621. }
  5622. // ResolveReferences resolves references found inside NamedHeaderOrReference objects.
  5623. func (m *NamedHeaderOrReference) ResolveReferences(root string) (interface{}, error) {
  5624. errors := make([]error, 0)
  5625. if m.Value != nil {
  5626. _, err := m.Value.ResolveReferences(root)
  5627. if err != nil {
  5628. errors = append(errors, err)
  5629. }
  5630. }
  5631. return nil, compiler.NewErrorGroupOrNil(errors)
  5632. }
  5633. // ResolveReferences resolves references found inside NamedLinkOrReference objects.
  5634. func (m *NamedLinkOrReference) ResolveReferences(root string) (interface{}, error) {
  5635. errors := make([]error, 0)
  5636. if m.Value != nil {
  5637. _, err := m.Value.ResolveReferences(root)
  5638. if err != nil {
  5639. errors = append(errors, err)
  5640. }
  5641. }
  5642. return nil, compiler.NewErrorGroupOrNil(errors)
  5643. }
  5644. // ResolveReferences resolves references found inside NamedMediaType objects.
  5645. func (m *NamedMediaType) ResolveReferences(root string) (interface{}, error) {
  5646. errors := make([]error, 0)
  5647. if m.Value != nil {
  5648. _, err := m.Value.ResolveReferences(root)
  5649. if err != nil {
  5650. errors = append(errors, err)
  5651. }
  5652. }
  5653. return nil, compiler.NewErrorGroupOrNil(errors)
  5654. }
  5655. // ResolveReferences resolves references found inside NamedParameterOrReference objects.
  5656. func (m *NamedParameterOrReference) ResolveReferences(root string) (interface{}, error) {
  5657. errors := make([]error, 0)
  5658. if m.Value != nil {
  5659. _, err := m.Value.ResolveReferences(root)
  5660. if err != nil {
  5661. errors = append(errors, err)
  5662. }
  5663. }
  5664. return nil, compiler.NewErrorGroupOrNil(errors)
  5665. }
  5666. // ResolveReferences resolves references found inside NamedPathItem objects.
  5667. func (m *NamedPathItem) ResolveReferences(root string) (interface{}, error) {
  5668. errors := make([]error, 0)
  5669. if m.Value != nil {
  5670. _, err := m.Value.ResolveReferences(root)
  5671. if err != nil {
  5672. errors = append(errors, err)
  5673. }
  5674. }
  5675. return nil, compiler.NewErrorGroupOrNil(errors)
  5676. }
  5677. // ResolveReferences resolves references found inside NamedRequestBodyOrReference objects.
  5678. func (m *NamedRequestBodyOrReference) ResolveReferences(root string) (interface{}, error) {
  5679. errors := make([]error, 0)
  5680. if m.Value != nil {
  5681. _, err := m.Value.ResolveReferences(root)
  5682. if err != nil {
  5683. errors = append(errors, err)
  5684. }
  5685. }
  5686. return nil, compiler.NewErrorGroupOrNil(errors)
  5687. }
  5688. // ResolveReferences resolves references found inside NamedResponseOrReference objects.
  5689. func (m *NamedResponseOrReference) ResolveReferences(root string) (interface{}, error) {
  5690. errors := make([]error, 0)
  5691. if m.Value != nil {
  5692. _, err := m.Value.ResolveReferences(root)
  5693. if err != nil {
  5694. errors = append(errors, err)
  5695. }
  5696. }
  5697. return nil, compiler.NewErrorGroupOrNil(errors)
  5698. }
  5699. // ResolveReferences resolves references found inside NamedSchemaOrReference objects.
  5700. func (m *NamedSchemaOrReference) ResolveReferences(root string) (interface{}, error) {
  5701. errors := make([]error, 0)
  5702. if m.Value != nil {
  5703. _, err := m.Value.ResolveReferences(root)
  5704. if err != nil {
  5705. errors = append(errors, err)
  5706. }
  5707. }
  5708. return nil, compiler.NewErrorGroupOrNil(errors)
  5709. }
  5710. // ResolveReferences resolves references found inside NamedSecuritySchemeOrReference objects.
  5711. func (m *NamedSecuritySchemeOrReference) ResolveReferences(root string) (interface{}, error) {
  5712. errors := make([]error, 0)
  5713. if m.Value != nil {
  5714. _, err := m.Value.ResolveReferences(root)
  5715. if err != nil {
  5716. errors = append(errors, err)
  5717. }
  5718. }
  5719. return nil, compiler.NewErrorGroupOrNil(errors)
  5720. }
  5721. // ResolveReferences resolves references found inside NamedServerVariable objects.
  5722. func (m *NamedServerVariable) ResolveReferences(root string) (interface{}, error) {
  5723. errors := make([]error, 0)
  5724. if m.Value != nil {
  5725. _, err := m.Value.ResolveReferences(root)
  5726. if err != nil {
  5727. errors = append(errors, err)
  5728. }
  5729. }
  5730. return nil, compiler.NewErrorGroupOrNil(errors)
  5731. }
  5732. // ResolveReferences resolves references found inside NamedString objects.
  5733. func (m *NamedString) ResolveReferences(root string) (interface{}, error) {
  5734. errors := make([]error, 0)
  5735. return nil, compiler.NewErrorGroupOrNil(errors)
  5736. }
  5737. // ResolveReferences resolves references found inside OauthFlow objects.
  5738. func (m *OauthFlow) ResolveReferences(root string) (interface{}, error) {
  5739. errors := make([]error, 0)
  5740. if m.Scopes != nil {
  5741. _, err := m.Scopes.ResolveReferences(root)
  5742. if err != nil {
  5743. errors = append(errors, err)
  5744. }
  5745. }
  5746. for _, item := range m.SpecificationExtension {
  5747. if item != nil {
  5748. _, err := item.ResolveReferences(root)
  5749. if err != nil {
  5750. errors = append(errors, err)
  5751. }
  5752. }
  5753. }
  5754. return nil, compiler.NewErrorGroupOrNil(errors)
  5755. }
  5756. // ResolveReferences resolves references found inside OauthFlows objects.
  5757. func (m *OauthFlows) ResolveReferences(root string) (interface{}, error) {
  5758. errors := make([]error, 0)
  5759. if m.Implicit != nil {
  5760. _, err := m.Implicit.ResolveReferences(root)
  5761. if err != nil {
  5762. errors = append(errors, err)
  5763. }
  5764. }
  5765. if m.Password != nil {
  5766. _, err := m.Password.ResolveReferences(root)
  5767. if err != nil {
  5768. errors = append(errors, err)
  5769. }
  5770. }
  5771. if m.ClientCredentials != nil {
  5772. _, err := m.ClientCredentials.ResolveReferences(root)
  5773. if err != nil {
  5774. errors = append(errors, err)
  5775. }
  5776. }
  5777. if m.AuthorizationCode != nil {
  5778. _, err := m.AuthorizationCode.ResolveReferences(root)
  5779. if err != nil {
  5780. errors = append(errors, err)
  5781. }
  5782. }
  5783. for _, item := range m.SpecificationExtension {
  5784. if item != nil {
  5785. _, err := item.ResolveReferences(root)
  5786. if err != nil {
  5787. errors = append(errors, err)
  5788. }
  5789. }
  5790. }
  5791. return nil, compiler.NewErrorGroupOrNil(errors)
  5792. }
  5793. // ResolveReferences resolves references found inside Object objects.
  5794. func (m *Object) ResolveReferences(root string) (interface{}, error) {
  5795. errors := make([]error, 0)
  5796. for _, item := range m.AdditionalProperties {
  5797. if item != nil {
  5798. _, err := item.ResolveReferences(root)
  5799. if err != nil {
  5800. errors = append(errors, err)
  5801. }
  5802. }
  5803. }
  5804. return nil, compiler.NewErrorGroupOrNil(errors)
  5805. }
  5806. // ResolveReferences resolves references found inside Operation objects.
  5807. func (m *Operation) ResolveReferences(root string) (interface{}, error) {
  5808. errors := make([]error, 0)
  5809. if m.ExternalDocs != nil {
  5810. _, err := m.ExternalDocs.ResolveReferences(root)
  5811. if err != nil {
  5812. errors = append(errors, err)
  5813. }
  5814. }
  5815. for _, item := range m.Parameters {
  5816. if item != nil {
  5817. _, err := item.ResolveReferences(root)
  5818. if err != nil {
  5819. errors = append(errors, err)
  5820. }
  5821. }
  5822. }
  5823. if m.RequestBody != nil {
  5824. _, err := m.RequestBody.ResolveReferences(root)
  5825. if err != nil {
  5826. errors = append(errors, err)
  5827. }
  5828. }
  5829. if m.Responses != nil {
  5830. _, err := m.Responses.ResolveReferences(root)
  5831. if err != nil {
  5832. errors = append(errors, err)
  5833. }
  5834. }
  5835. if m.Callbacks != nil {
  5836. _, err := m.Callbacks.ResolveReferences(root)
  5837. if err != nil {
  5838. errors = append(errors, err)
  5839. }
  5840. }
  5841. for _, item := range m.Security {
  5842. if item != nil {
  5843. _, err := item.ResolveReferences(root)
  5844. if err != nil {
  5845. errors = append(errors, err)
  5846. }
  5847. }
  5848. }
  5849. for _, item := range m.Servers {
  5850. if item != nil {
  5851. _, err := item.ResolveReferences(root)
  5852. if err != nil {
  5853. errors = append(errors, err)
  5854. }
  5855. }
  5856. }
  5857. for _, item := range m.SpecificationExtension {
  5858. if item != nil {
  5859. _, err := item.ResolveReferences(root)
  5860. if err != nil {
  5861. errors = append(errors, err)
  5862. }
  5863. }
  5864. }
  5865. return nil, compiler.NewErrorGroupOrNil(errors)
  5866. }
  5867. // ResolveReferences resolves references found inside Parameter objects.
  5868. func (m *Parameter) ResolveReferences(root string) (interface{}, error) {
  5869. errors := make([]error, 0)
  5870. if m.Schema != nil {
  5871. _, err := m.Schema.ResolveReferences(root)
  5872. if err != nil {
  5873. errors = append(errors, err)
  5874. }
  5875. }
  5876. if m.Example != nil {
  5877. _, err := m.Example.ResolveReferences(root)
  5878. if err != nil {
  5879. errors = append(errors, err)
  5880. }
  5881. }
  5882. if m.Examples != nil {
  5883. _, err := m.Examples.ResolveReferences(root)
  5884. if err != nil {
  5885. errors = append(errors, err)
  5886. }
  5887. }
  5888. if m.Content != nil {
  5889. _, err := m.Content.ResolveReferences(root)
  5890. if err != nil {
  5891. errors = append(errors, err)
  5892. }
  5893. }
  5894. for _, item := range m.SpecificationExtension {
  5895. if item != nil {
  5896. _, err := item.ResolveReferences(root)
  5897. if err != nil {
  5898. errors = append(errors, err)
  5899. }
  5900. }
  5901. }
  5902. return nil, compiler.NewErrorGroupOrNil(errors)
  5903. }
  5904. // ResolveReferences resolves references found inside ParameterOrReference objects.
  5905. func (m *ParameterOrReference) ResolveReferences(root string) (interface{}, error) {
  5906. errors := make([]error, 0)
  5907. {
  5908. p, ok := m.Oneof.(*ParameterOrReference_Parameter)
  5909. if ok {
  5910. _, err := p.Parameter.ResolveReferences(root)
  5911. if err != nil {
  5912. return nil, err
  5913. }
  5914. }
  5915. }
  5916. {
  5917. p, ok := m.Oneof.(*ParameterOrReference_Reference)
  5918. if ok {
  5919. _, err := p.Reference.ResolveReferences(root)
  5920. if err != nil {
  5921. return nil, err
  5922. }
  5923. }
  5924. }
  5925. return nil, compiler.NewErrorGroupOrNil(errors)
  5926. }
  5927. // ResolveReferences resolves references found inside ParametersOrReferences objects.
  5928. func (m *ParametersOrReferences) ResolveReferences(root string) (interface{}, error) {
  5929. errors := make([]error, 0)
  5930. for _, item := range m.AdditionalProperties {
  5931. if item != nil {
  5932. _, err := item.ResolveReferences(root)
  5933. if err != nil {
  5934. errors = append(errors, err)
  5935. }
  5936. }
  5937. }
  5938. return nil, compiler.NewErrorGroupOrNil(errors)
  5939. }
  5940. // ResolveReferences resolves references found inside PathItem objects.
  5941. func (m *PathItem) ResolveReferences(root string) (interface{}, error) {
  5942. errors := make([]error, 0)
  5943. if m.XRef != "" {
  5944. info, err := compiler.ReadInfoForRef(root, m.XRef)
  5945. if err != nil {
  5946. return nil, err
  5947. }
  5948. if info != nil {
  5949. replacement, err := NewPathItem(info, nil)
  5950. if err == nil {
  5951. *m = *replacement
  5952. return m.ResolveReferences(root)
  5953. }
  5954. }
  5955. return info, nil
  5956. }
  5957. if m.Get != nil {
  5958. _, err := m.Get.ResolveReferences(root)
  5959. if err != nil {
  5960. errors = append(errors, err)
  5961. }
  5962. }
  5963. if m.Put != nil {
  5964. _, err := m.Put.ResolveReferences(root)
  5965. if err != nil {
  5966. errors = append(errors, err)
  5967. }
  5968. }
  5969. if m.Post != nil {
  5970. _, err := m.Post.ResolveReferences(root)
  5971. if err != nil {
  5972. errors = append(errors, err)
  5973. }
  5974. }
  5975. if m.Delete != nil {
  5976. _, err := m.Delete.ResolveReferences(root)
  5977. if err != nil {
  5978. errors = append(errors, err)
  5979. }
  5980. }
  5981. if m.Options != nil {
  5982. _, err := m.Options.ResolveReferences(root)
  5983. if err != nil {
  5984. errors = append(errors, err)
  5985. }
  5986. }
  5987. if m.Head != nil {
  5988. _, err := m.Head.ResolveReferences(root)
  5989. if err != nil {
  5990. errors = append(errors, err)
  5991. }
  5992. }
  5993. if m.Patch != nil {
  5994. _, err := m.Patch.ResolveReferences(root)
  5995. if err != nil {
  5996. errors = append(errors, err)
  5997. }
  5998. }
  5999. if m.Trace != nil {
  6000. _, err := m.Trace.ResolveReferences(root)
  6001. if err != nil {
  6002. errors = append(errors, err)
  6003. }
  6004. }
  6005. for _, item := range m.Servers {
  6006. if item != nil {
  6007. _, err := item.ResolveReferences(root)
  6008. if err != nil {
  6009. errors = append(errors, err)
  6010. }
  6011. }
  6012. }
  6013. for _, item := range m.Parameters {
  6014. if item != nil {
  6015. _, err := item.ResolveReferences(root)
  6016. if err != nil {
  6017. errors = append(errors, err)
  6018. }
  6019. }
  6020. }
  6021. for _, item := range m.SpecificationExtension {
  6022. if item != nil {
  6023. _, err := item.ResolveReferences(root)
  6024. if err != nil {
  6025. errors = append(errors, err)
  6026. }
  6027. }
  6028. }
  6029. return nil, compiler.NewErrorGroupOrNil(errors)
  6030. }
  6031. // ResolveReferences resolves references found inside Paths objects.
  6032. func (m *Paths) ResolveReferences(root string) (interface{}, error) {
  6033. errors := make([]error, 0)
  6034. for _, item := range m.Path {
  6035. if item != nil {
  6036. _, err := item.ResolveReferences(root)
  6037. if err != nil {
  6038. errors = append(errors, err)
  6039. }
  6040. }
  6041. }
  6042. for _, item := range m.SpecificationExtension {
  6043. if item != nil {
  6044. _, err := item.ResolveReferences(root)
  6045. if err != nil {
  6046. errors = append(errors, err)
  6047. }
  6048. }
  6049. }
  6050. return nil, compiler.NewErrorGroupOrNil(errors)
  6051. }
  6052. // ResolveReferences resolves references found inside Properties objects.
  6053. func (m *Properties) ResolveReferences(root string) (interface{}, error) {
  6054. errors := make([]error, 0)
  6055. for _, item := range m.AdditionalProperties {
  6056. if item != nil {
  6057. _, err := item.ResolveReferences(root)
  6058. if err != nil {
  6059. errors = append(errors, err)
  6060. }
  6061. }
  6062. }
  6063. return nil, compiler.NewErrorGroupOrNil(errors)
  6064. }
  6065. // ResolveReferences resolves references found inside Reference objects.
  6066. func (m *Reference) ResolveReferences(root string) (interface{}, error) {
  6067. errors := make([]error, 0)
  6068. if m.XRef != "" {
  6069. info, err := compiler.ReadInfoForRef(root, m.XRef)
  6070. if err != nil {
  6071. return nil, err
  6072. }
  6073. return info, nil
  6074. }
  6075. return nil, compiler.NewErrorGroupOrNil(errors)
  6076. }
  6077. // ResolveReferences resolves references found inside RequestBodiesOrReferences objects.
  6078. func (m *RequestBodiesOrReferences) ResolveReferences(root string) (interface{}, error) {
  6079. errors := make([]error, 0)
  6080. for _, item := range m.AdditionalProperties {
  6081. if item != nil {
  6082. _, err := item.ResolveReferences(root)
  6083. if err != nil {
  6084. errors = append(errors, err)
  6085. }
  6086. }
  6087. }
  6088. return nil, compiler.NewErrorGroupOrNil(errors)
  6089. }
  6090. // ResolveReferences resolves references found inside RequestBody objects.
  6091. func (m *RequestBody) ResolveReferences(root string) (interface{}, error) {
  6092. errors := make([]error, 0)
  6093. if m.Content != nil {
  6094. _, err := m.Content.ResolveReferences(root)
  6095. if err != nil {
  6096. errors = append(errors, err)
  6097. }
  6098. }
  6099. for _, item := range m.SpecificationExtension {
  6100. if item != nil {
  6101. _, err := item.ResolveReferences(root)
  6102. if err != nil {
  6103. errors = append(errors, err)
  6104. }
  6105. }
  6106. }
  6107. return nil, compiler.NewErrorGroupOrNil(errors)
  6108. }
  6109. // ResolveReferences resolves references found inside RequestBodyOrReference objects.
  6110. func (m *RequestBodyOrReference) ResolveReferences(root string) (interface{}, error) {
  6111. errors := make([]error, 0)
  6112. {
  6113. p, ok := m.Oneof.(*RequestBodyOrReference_RequestBody)
  6114. if ok {
  6115. _, err := p.RequestBody.ResolveReferences(root)
  6116. if err != nil {
  6117. return nil, err
  6118. }
  6119. }
  6120. }
  6121. {
  6122. p, ok := m.Oneof.(*RequestBodyOrReference_Reference)
  6123. if ok {
  6124. _, err := p.Reference.ResolveReferences(root)
  6125. if err != nil {
  6126. return nil, err
  6127. }
  6128. }
  6129. }
  6130. return nil, compiler.NewErrorGroupOrNil(errors)
  6131. }
  6132. // ResolveReferences resolves references found inside Response objects.
  6133. func (m *Response) ResolveReferences(root string) (interface{}, error) {
  6134. errors := make([]error, 0)
  6135. if m.Headers != nil {
  6136. _, err := m.Headers.ResolveReferences(root)
  6137. if err != nil {
  6138. errors = append(errors, err)
  6139. }
  6140. }
  6141. if m.Content != nil {
  6142. _, err := m.Content.ResolveReferences(root)
  6143. if err != nil {
  6144. errors = append(errors, err)
  6145. }
  6146. }
  6147. if m.Links != nil {
  6148. _, err := m.Links.ResolveReferences(root)
  6149. if err != nil {
  6150. errors = append(errors, err)
  6151. }
  6152. }
  6153. for _, item := range m.SpecificationExtension {
  6154. if item != nil {
  6155. _, err := item.ResolveReferences(root)
  6156. if err != nil {
  6157. errors = append(errors, err)
  6158. }
  6159. }
  6160. }
  6161. return nil, compiler.NewErrorGroupOrNil(errors)
  6162. }
  6163. // ResolveReferences resolves references found inside ResponseOrReference objects.
  6164. func (m *ResponseOrReference) ResolveReferences(root string) (interface{}, error) {
  6165. errors := make([]error, 0)
  6166. {
  6167. p, ok := m.Oneof.(*ResponseOrReference_Response)
  6168. if ok {
  6169. _, err := p.Response.ResolveReferences(root)
  6170. if err != nil {
  6171. return nil, err
  6172. }
  6173. }
  6174. }
  6175. {
  6176. p, ok := m.Oneof.(*ResponseOrReference_Reference)
  6177. if ok {
  6178. _, err := p.Reference.ResolveReferences(root)
  6179. if err != nil {
  6180. return nil, err
  6181. }
  6182. }
  6183. }
  6184. return nil, compiler.NewErrorGroupOrNil(errors)
  6185. }
  6186. // ResolveReferences resolves references found inside Responses objects.
  6187. func (m *Responses) ResolveReferences(root string) (interface{}, error) {
  6188. errors := make([]error, 0)
  6189. if m.Default != nil {
  6190. _, err := m.Default.ResolveReferences(root)
  6191. if err != nil {
  6192. errors = append(errors, err)
  6193. }
  6194. }
  6195. for _, item := range m.ResponseOrReference {
  6196. if item != nil {
  6197. _, err := item.ResolveReferences(root)
  6198. if err != nil {
  6199. errors = append(errors, err)
  6200. }
  6201. }
  6202. }
  6203. for _, item := range m.SpecificationExtension {
  6204. if item != nil {
  6205. _, err := item.ResolveReferences(root)
  6206. if err != nil {
  6207. errors = append(errors, err)
  6208. }
  6209. }
  6210. }
  6211. return nil, compiler.NewErrorGroupOrNil(errors)
  6212. }
  6213. // ResolveReferences resolves references found inside ResponsesOrReferences objects.
  6214. func (m *ResponsesOrReferences) ResolveReferences(root string) (interface{}, error) {
  6215. errors := make([]error, 0)
  6216. for _, item := range m.AdditionalProperties {
  6217. if item != nil {
  6218. _, err := item.ResolveReferences(root)
  6219. if err != nil {
  6220. errors = append(errors, err)
  6221. }
  6222. }
  6223. }
  6224. return nil, compiler.NewErrorGroupOrNil(errors)
  6225. }
  6226. // ResolveReferences resolves references found inside Schema objects.
  6227. func (m *Schema) ResolveReferences(root string) (interface{}, error) {
  6228. errors := make([]error, 0)
  6229. if m.Discriminator != nil {
  6230. _, err := m.Discriminator.ResolveReferences(root)
  6231. if err != nil {
  6232. errors = append(errors, err)
  6233. }
  6234. }
  6235. if m.Xml != nil {
  6236. _, err := m.Xml.ResolveReferences(root)
  6237. if err != nil {
  6238. errors = append(errors, err)
  6239. }
  6240. }
  6241. if m.ExternalDocs != nil {
  6242. _, err := m.ExternalDocs.ResolveReferences(root)
  6243. if err != nil {
  6244. errors = append(errors, err)
  6245. }
  6246. }
  6247. if m.Example != nil {
  6248. _, err := m.Example.ResolveReferences(root)
  6249. if err != nil {
  6250. errors = append(errors, err)
  6251. }
  6252. }
  6253. for _, item := range m.Enum {
  6254. if item != nil {
  6255. _, err := item.ResolveReferences(root)
  6256. if err != nil {
  6257. errors = append(errors, err)
  6258. }
  6259. }
  6260. }
  6261. for _, item := range m.AllOf {
  6262. if item != nil {
  6263. _, err := item.ResolveReferences(root)
  6264. if err != nil {
  6265. errors = append(errors, err)
  6266. }
  6267. }
  6268. }
  6269. for _, item := range m.OneOf {
  6270. if item != nil {
  6271. _, err := item.ResolveReferences(root)
  6272. if err != nil {
  6273. errors = append(errors, err)
  6274. }
  6275. }
  6276. }
  6277. for _, item := range m.AnyOf {
  6278. if item != nil {
  6279. _, err := item.ResolveReferences(root)
  6280. if err != nil {
  6281. errors = append(errors, err)
  6282. }
  6283. }
  6284. }
  6285. if m.Not != nil {
  6286. _, err := m.Not.ResolveReferences(root)
  6287. if err != nil {
  6288. errors = append(errors, err)
  6289. }
  6290. }
  6291. if m.Items != nil {
  6292. _, err := m.Items.ResolveReferences(root)
  6293. if err != nil {
  6294. errors = append(errors, err)
  6295. }
  6296. }
  6297. if m.Properties != nil {
  6298. _, err := m.Properties.ResolveReferences(root)
  6299. if err != nil {
  6300. errors = append(errors, err)
  6301. }
  6302. }
  6303. if m.AdditionalProperties != nil {
  6304. _, err := m.AdditionalProperties.ResolveReferences(root)
  6305. if err != nil {
  6306. errors = append(errors, err)
  6307. }
  6308. }
  6309. if m.Default != nil {
  6310. _, err := m.Default.ResolveReferences(root)
  6311. if err != nil {
  6312. errors = append(errors, err)
  6313. }
  6314. }
  6315. for _, item := range m.SpecificationExtension {
  6316. if item != nil {
  6317. _, err := item.ResolveReferences(root)
  6318. if err != nil {
  6319. errors = append(errors, err)
  6320. }
  6321. }
  6322. }
  6323. return nil, compiler.NewErrorGroupOrNil(errors)
  6324. }
  6325. // ResolveReferences resolves references found inside SchemaOrReference objects.
  6326. func (m *SchemaOrReference) ResolveReferences(root string) (interface{}, error) {
  6327. errors := make([]error, 0)
  6328. {
  6329. p, ok := m.Oneof.(*SchemaOrReference_Schema)
  6330. if ok {
  6331. _, err := p.Schema.ResolveReferences(root)
  6332. if err != nil {
  6333. return nil, err
  6334. }
  6335. }
  6336. }
  6337. {
  6338. p, ok := m.Oneof.(*SchemaOrReference_Reference)
  6339. if ok {
  6340. _, err := p.Reference.ResolveReferences(root)
  6341. if err != nil {
  6342. return nil, err
  6343. }
  6344. }
  6345. }
  6346. return nil, compiler.NewErrorGroupOrNil(errors)
  6347. }
  6348. // ResolveReferences resolves references found inside SchemasOrReferences objects.
  6349. func (m *SchemasOrReferences) ResolveReferences(root string) (interface{}, error) {
  6350. errors := make([]error, 0)
  6351. for _, item := range m.AdditionalProperties {
  6352. if item != nil {
  6353. _, err := item.ResolveReferences(root)
  6354. if err != nil {
  6355. errors = append(errors, err)
  6356. }
  6357. }
  6358. }
  6359. return nil, compiler.NewErrorGroupOrNil(errors)
  6360. }
  6361. // ResolveReferences resolves references found inside SecurityRequirement objects.
  6362. func (m *SecurityRequirement) ResolveReferences(root string) (interface{}, error) {
  6363. errors := make([]error, 0)
  6364. return nil, compiler.NewErrorGroupOrNil(errors)
  6365. }
  6366. // ResolveReferences resolves references found inside SecurityScheme objects.
  6367. func (m *SecurityScheme) ResolveReferences(root string) (interface{}, error) {
  6368. errors := make([]error, 0)
  6369. if m.Flows != nil {
  6370. _, err := m.Flows.ResolveReferences(root)
  6371. if err != nil {
  6372. errors = append(errors, err)
  6373. }
  6374. }
  6375. for _, item := range m.SpecificationExtension {
  6376. if item != nil {
  6377. _, err := item.ResolveReferences(root)
  6378. if err != nil {
  6379. errors = append(errors, err)
  6380. }
  6381. }
  6382. }
  6383. return nil, compiler.NewErrorGroupOrNil(errors)
  6384. }
  6385. // ResolveReferences resolves references found inside SecuritySchemeOrReference objects.
  6386. func (m *SecuritySchemeOrReference) ResolveReferences(root string) (interface{}, error) {
  6387. errors := make([]error, 0)
  6388. {
  6389. p, ok := m.Oneof.(*SecuritySchemeOrReference_SecurityScheme)
  6390. if ok {
  6391. _, err := p.SecurityScheme.ResolveReferences(root)
  6392. if err != nil {
  6393. return nil, err
  6394. }
  6395. }
  6396. }
  6397. {
  6398. p, ok := m.Oneof.(*SecuritySchemeOrReference_Reference)
  6399. if ok {
  6400. _, err := p.Reference.ResolveReferences(root)
  6401. if err != nil {
  6402. return nil, err
  6403. }
  6404. }
  6405. }
  6406. return nil, compiler.NewErrorGroupOrNil(errors)
  6407. }
  6408. // ResolveReferences resolves references found inside SecuritySchemesOrReferences objects.
  6409. func (m *SecuritySchemesOrReferences) ResolveReferences(root string) (interface{}, error) {
  6410. errors := make([]error, 0)
  6411. for _, item := range m.AdditionalProperties {
  6412. if item != nil {
  6413. _, err := item.ResolveReferences(root)
  6414. if err != nil {
  6415. errors = append(errors, err)
  6416. }
  6417. }
  6418. }
  6419. return nil, compiler.NewErrorGroupOrNil(errors)
  6420. }
  6421. // ResolveReferences resolves references found inside Server objects.
  6422. func (m *Server) ResolveReferences(root string) (interface{}, error) {
  6423. errors := make([]error, 0)
  6424. if m.Variables != nil {
  6425. _, err := m.Variables.ResolveReferences(root)
  6426. if err != nil {
  6427. errors = append(errors, err)
  6428. }
  6429. }
  6430. for _, item := range m.SpecificationExtension {
  6431. if item != nil {
  6432. _, err := item.ResolveReferences(root)
  6433. if err != nil {
  6434. errors = append(errors, err)
  6435. }
  6436. }
  6437. }
  6438. return nil, compiler.NewErrorGroupOrNil(errors)
  6439. }
  6440. // ResolveReferences resolves references found inside ServerVariable objects.
  6441. func (m *ServerVariable) ResolveReferences(root string) (interface{}, error) {
  6442. errors := make([]error, 0)
  6443. for _, item := range m.SpecificationExtension {
  6444. if item != nil {
  6445. _, err := item.ResolveReferences(root)
  6446. if err != nil {
  6447. errors = append(errors, err)
  6448. }
  6449. }
  6450. }
  6451. return nil, compiler.NewErrorGroupOrNil(errors)
  6452. }
  6453. // ResolveReferences resolves references found inside ServerVariables objects.
  6454. func (m *ServerVariables) ResolveReferences(root string) (interface{}, error) {
  6455. errors := make([]error, 0)
  6456. for _, item := range m.AdditionalProperties {
  6457. if item != nil {
  6458. _, err := item.ResolveReferences(root)
  6459. if err != nil {
  6460. errors = append(errors, err)
  6461. }
  6462. }
  6463. }
  6464. return nil, compiler.NewErrorGroupOrNil(errors)
  6465. }
  6466. // ResolveReferences resolves references found inside SpecificationExtension objects.
  6467. func (m *SpecificationExtension) ResolveReferences(root string) (interface{}, error) {
  6468. errors := make([]error, 0)
  6469. return nil, compiler.NewErrorGroupOrNil(errors)
  6470. }
  6471. // ResolveReferences resolves references found inside StringArray objects.
  6472. func (m *StringArray) ResolveReferences(root string) (interface{}, error) {
  6473. errors := make([]error, 0)
  6474. return nil, compiler.NewErrorGroupOrNil(errors)
  6475. }
  6476. // ResolveReferences resolves references found inside Strings objects.
  6477. func (m *Strings) ResolveReferences(root string) (interface{}, error) {
  6478. errors := make([]error, 0)
  6479. for _, item := range m.AdditionalProperties {
  6480. if item != nil {
  6481. _, err := item.ResolveReferences(root)
  6482. if err != nil {
  6483. errors = append(errors, err)
  6484. }
  6485. }
  6486. }
  6487. return nil, compiler.NewErrorGroupOrNil(errors)
  6488. }
  6489. // ResolveReferences resolves references found inside Tag objects.
  6490. func (m *Tag) ResolveReferences(root string) (interface{}, error) {
  6491. errors := make([]error, 0)
  6492. if m.ExternalDocs != nil {
  6493. _, err := m.ExternalDocs.ResolveReferences(root)
  6494. if err != nil {
  6495. errors = append(errors, err)
  6496. }
  6497. }
  6498. for _, item := range m.SpecificationExtension {
  6499. if item != nil {
  6500. _, err := item.ResolveReferences(root)
  6501. if err != nil {
  6502. errors = append(errors, err)
  6503. }
  6504. }
  6505. }
  6506. return nil, compiler.NewErrorGroupOrNil(errors)
  6507. }
  6508. // ResolveReferences resolves references found inside Xml objects.
  6509. func (m *Xml) ResolveReferences(root string) (interface{}, error) {
  6510. errors := make([]error, 0)
  6511. for _, item := range m.SpecificationExtension {
  6512. if item != nil {
  6513. _, err := item.ResolveReferences(root)
  6514. if err != nil {
  6515. errors = append(errors, err)
  6516. }
  6517. }
  6518. }
  6519. return nil, compiler.NewErrorGroupOrNil(errors)
  6520. }
  6521. // ToRawInfo returns a description of AdditionalPropertiesItem suitable for JSON or YAML export.
  6522. func (m *AdditionalPropertiesItem) ToRawInfo() interface{} {
  6523. // ONE OF WRAPPER
  6524. // AdditionalPropertiesItem
  6525. // {Name:schemaOrReference Type:SchemaOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6526. v0 := m.GetSchemaOrReference()
  6527. if v0 != nil {
  6528. return v0.ToRawInfo()
  6529. }
  6530. // {Name:boolean Type:bool StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6531. if v1, ok := m.GetOneof().(*AdditionalPropertiesItem_Boolean); ok {
  6532. return v1.Boolean
  6533. }
  6534. return nil
  6535. }
  6536. // ToRawInfo returns a description of Any suitable for JSON or YAML export.
  6537. func (m *Any) ToRawInfo() interface{} {
  6538. var err error
  6539. var info1 []yaml.MapSlice
  6540. err = yaml.Unmarshal([]byte(m.Yaml), &info1)
  6541. if err == nil {
  6542. return info1
  6543. }
  6544. var info2 yaml.MapSlice
  6545. err = yaml.Unmarshal([]byte(m.Yaml), &info2)
  6546. if err == nil {
  6547. return info2
  6548. }
  6549. var info3 interface{}
  6550. err = yaml.Unmarshal([]byte(m.Yaml), &info3)
  6551. if err == nil {
  6552. return info3
  6553. }
  6554. return nil
  6555. }
  6556. // ToRawInfo returns a description of AnyOrExpression suitable for JSON or YAML export.
  6557. func (m *AnyOrExpression) ToRawInfo() interface{} {
  6558. // ONE OF WRAPPER
  6559. // AnyOrExpression
  6560. // {Name:any Type:Any StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6561. v0 := m.GetAny()
  6562. if v0 != nil {
  6563. return v0.ToRawInfo()
  6564. }
  6565. // {Name:expression Type:Expression StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6566. v1 := m.GetExpression()
  6567. if v1 != nil {
  6568. return v1.ToRawInfo()
  6569. }
  6570. return nil
  6571. }
  6572. // ToRawInfo returns a description of AnysOrExpressions suitable for JSON or YAML export.
  6573. func (m *AnysOrExpressions) ToRawInfo() interface{} {
  6574. info := yaml.MapSlice{}
  6575. if m.AdditionalProperties != nil {
  6576. for _, item := range m.AdditionalProperties {
  6577. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  6578. }
  6579. }
  6580. // &{Name:additionalProperties Type:NamedAnyOrExpression StringEnumValues:[] MapType:AnyOrExpression Repeated:true Pattern: Implicit:true Description:}
  6581. return info
  6582. }
  6583. // ToRawInfo returns a description of Callback suitable for JSON or YAML export.
  6584. func (m *Callback) ToRawInfo() interface{} {
  6585. info := yaml.MapSlice{}
  6586. if m.Path != nil {
  6587. for _, item := range m.Path {
  6588. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  6589. }
  6590. }
  6591. // &{Name:Path Type:NamedPathItem StringEnumValues:[] MapType:PathItem Repeated:true Pattern:^ Implicit:true Description:}
  6592. if m.SpecificationExtension != nil {
  6593. for _, item := range m.SpecificationExtension {
  6594. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  6595. }
  6596. }
  6597. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  6598. return info
  6599. }
  6600. // ToRawInfo returns a description of CallbackOrReference suitable for JSON or YAML export.
  6601. func (m *CallbackOrReference) ToRawInfo() interface{} {
  6602. // ONE OF WRAPPER
  6603. // CallbackOrReference
  6604. // {Name:callback Type:Callback StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6605. v0 := m.GetCallback()
  6606. if v0 != nil {
  6607. return v0.ToRawInfo()
  6608. }
  6609. // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6610. v1 := m.GetReference()
  6611. if v1 != nil {
  6612. return v1.ToRawInfo()
  6613. }
  6614. return nil
  6615. }
  6616. // ToRawInfo returns a description of CallbacksOrReferences suitable for JSON or YAML export.
  6617. func (m *CallbacksOrReferences) ToRawInfo() interface{} {
  6618. info := yaml.MapSlice{}
  6619. if m.AdditionalProperties != nil {
  6620. for _, item := range m.AdditionalProperties {
  6621. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  6622. }
  6623. }
  6624. // &{Name:additionalProperties Type:NamedCallbackOrReference StringEnumValues:[] MapType:CallbackOrReference Repeated:true Pattern: Implicit:true Description:}
  6625. return info
  6626. }
  6627. // ToRawInfo returns a description of Components suitable for JSON or YAML export.
  6628. func (m *Components) ToRawInfo() interface{} {
  6629. info := yaml.MapSlice{}
  6630. if m.Schemas != nil {
  6631. info = append(info, yaml.MapItem{"schemas", m.Schemas.ToRawInfo()})
  6632. }
  6633. // &{Name:schemas Type:SchemasOrReferences StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6634. if m.Responses != nil {
  6635. info = append(info, yaml.MapItem{"responses", m.Responses.ToRawInfo()})
  6636. }
  6637. // &{Name:responses Type:ResponsesOrReferences StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6638. if m.Parameters != nil {
  6639. info = append(info, yaml.MapItem{"parameters", m.Parameters.ToRawInfo()})
  6640. }
  6641. // &{Name:parameters Type:ParametersOrReferences StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6642. if m.Examples != nil {
  6643. info = append(info, yaml.MapItem{"examples", m.Examples.ToRawInfo()})
  6644. }
  6645. // &{Name:examples Type:ExamplesOrReferences StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6646. if m.RequestBodies != nil {
  6647. info = append(info, yaml.MapItem{"requestBodies", m.RequestBodies.ToRawInfo()})
  6648. }
  6649. // &{Name:requestBodies Type:RequestBodiesOrReferences StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6650. if m.Headers != nil {
  6651. info = append(info, yaml.MapItem{"headers", m.Headers.ToRawInfo()})
  6652. }
  6653. // &{Name:headers Type:HeadersOrReferences StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6654. if m.SecuritySchemes != nil {
  6655. info = append(info, yaml.MapItem{"securitySchemes", m.SecuritySchemes.ToRawInfo()})
  6656. }
  6657. // &{Name:securitySchemes Type:SecuritySchemesOrReferences StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6658. if m.Links != nil {
  6659. info = append(info, yaml.MapItem{"links", m.Links.ToRawInfo()})
  6660. }
  6661. // &{Name:links Type:LinksOrReferences StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6662. if m.Callbacks != nil {
  6663. info = append(info, yaml.MapItem{"callbacks", m.Callbacks.ToRawInfo()})
  6664. }
  6665. // &{Name:callbacks Type:CallbacksOrReferences StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6666. if m.SpecificationExtension != nil {
  6667. for _, item := range m.SpecificationExtension {
  6668. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  6669. }
  6670. }
  6671. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  6672. return info
  6673. }
  6674. // ToRawInfo returns a description of Contact suitable for JSON or YAML export.
  6675. func (m *Contact) ToRawInfo() interface{} {
  6676. info := yaml.MapSlice{}
  6677. if m.Name != "" {
  6678. info = append(info, yaml.MapItem{"name", m.Name})
  6679. }
  6680. if m.Url != "" {
  6681. info = append(info, yaml.MapItem{"url", m.Url})
  6682. }
  6683. if m.Email != "" {
  6684. info = append(info, yaml.MapItem{"email", m.Email})
  6685. }
  6686. if m.SpecificationExtension != nil {
  6687. for _, item := range m.SpecificationExtension {
  6688. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  6689. }
  6690. }
  6691. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  6692. return info
  6693. }
  6694. // ToRawInfo returns a description of DefaultType suitable for JSON or YAML export.
  6695. func (m *DefaultType) ToRawInfo() interface{} {
  6696. // ONE OF WRAPPER
  6697. // DefaultType
  6698. // {Name:number Type:float StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6699. if v0, ok := m.GetOneof().(*DefaultType_Number); ok {
  6700. return v0.Number
  6701. }
  6702. // {Name:boolean Type:bool StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6703. if v1, ok := m.GetOneof().(*DefaultType_Boolean); ok {
  6704. return v1.Boolean
  6705. }
  6706. // {Name:string Type:string StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6707. if v2, ok := m.GetOneof().(*DefaultType_String_); ok {
  6708. return v2.String_
  6709. }
  6710. return nil
  6711. }
  6712. // ToRawInfo returns a description of Discriminator suitable for JSON or YAML export.
  6713. func (m *Discriminator) ToRawInfo() interface{} {
  6714. info := yaml.MapSlice{}
  6715. if m.PropertyName != "" {
  6716. info = append(info, yaml.MapItem{"propertyName", m.PropertyName})
  6717. }
  6718. if m.Mapping != nil {
  6719. info = append(info, yaml.MapItem{"mapping", m.Mapping.ToRawInfo()})
  6720. }
  6721. // &{Name:mapping Type:Strings StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6722. return info
  6723. }
  6724. // ToRawInfo returns a description of Document suitable for JSON or YAML export.
  6725. func (m *Document) ToRawInfo() interface{} {
  6726. info := yaml.MapSlice{}
  6727. if m.Openapi != "" {
  6728. info = append(info, yaml.MapItem{"openapi", m.Openapi})
  6729. }
  6730. if m.Info != nil {
  6731. info = append(info, yaml.MapItem{"info", m.Info.ToRawInfo()})
  6732. }
  6733. // &{Name:info Type:Info StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6734. if len(m.Servers) != 0 {
  6735. items := make([]interface{}, 0)
  6736. for _, item := range m.Servers {
  6737. items = append(items, item.ToRawInfo())
  6738. }
  6739. info = append(info, yaml.MapItem{"servers", items})
  6740. }
  6741. // &{Name:servers Type:Server StringEnumValues:[] MapType: Repeated:true Pattern: Implicit:false Description:}
  6742. if m.Paths != nil {
  6743. info = append(info, yaml.MapItem{"paths", m.Paths.ToRawInfo()})
  6744. }
  6745. // &{Name:paths Type:Paths StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6746. if m.Components != nil {
  6747. info = append(info, yaml.MapItem{"components", m.Components.ToRawInfo()})
  6748. }
  6749. // &{Name:components Type:Components StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6750. if len(m.Security) != 0 {
  6751. items := make([]interface{}, 0)
  6752. for _, item := range m.Security {
  6753. items = append(items, item.ToRawInfo())
  6754. }
  6755. info = append(info, yaml.MapItem{"security", items})
  6756. }
  6757. // &{Name:security Type:SecurityRequirement StringEnumValues:[] MapType: Repeated:true Pattern: Implicit:false Description:}
  6758. if len(m.Tags) != 0 {
  6759. items := make([]interface{}, 0)
  6760. for _, item := range m.Tags {
  6761. items = append(items, item.ToRawInfo())
  6762. }
  6763. info = append(info, yaml.MapItem{"tags", items})
  6764. }
  6765. // &{Name:tags Type:Tag StringEnumValues:[] MapType: Repeated:true Pattern: Implicit:false Description:}
  6766. if m.ExternalDocs != nil {
  6767. info = append(info, yaml.MapItem{"externalDocs", m.ExternalDocs.ToRawInfo()})
  6768. }
  6769. // &{Name:externalDocs Type:ExternalDocs StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6770. if m.SpecificationExtension != nil {
  6771. for _, item := range m.SpecificationExtension {
  6772. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  6773. }
  6774. }
  6775. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  6776. return info
  6777. }
  6778. // ToRawInfo returns a description of Encoding suitable for JSON or YAML export.
  6779. func (m *Encoding) ToRawInfo() interface{} {
  6780. info := yaml.MapSlice{}
  6781. if m.ContentType != "" {
  6782. info = append(info, yaml.MapItem{"contentType", m.ContentType})
  6783. }
  6784. if m.Headers != nil {
  6785. info = append(info, yaml.MapItem{"headers", m.Headers.ToRawInfo()})
  6786. }
  6787. // &{Name:headers Type:HeadersOrReferences StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6788. if m.Style != "" {
  6789. info = append(info, yaml.MapItem{"style", m.Style})
  6790. }
  6791. if m.Explode != false {
  6792. info = append(info, yaml.MapItem{"explode", m.Explode})
  6793. }
  6794. if m.AllowReserved != false {
  6795. info = append(info, yaml.MapItem{"allowReserved", m.AllowReserved})
  6796. }
  6797. if m.SpecificationExtension != nil {
  6798. for _, item := range m.SpecificationExtension {
  6799. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  6800. }
  6801. }
  6802. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  6803. return info
  6804. }
  6805. // ToRawInfo returns a description of Encodings suitable for JSON or YAML export.
  6806. func (m *Encodings) ToRawInfo() interface{} {
  6807. info := yaml.MapSlice{}
  6808. if m.AdditionalProperties != nil {
  6809. for _, item := range m.AdditionalProperties {
  6810. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  6811. }
  6812. }
  6813. // &{Name:additionalProperties Type:NamedEncoding StringEnumValues:[] MapType:Encoding Repeated:true Pattern: Implicit:true Description:}
  6814. return info
  6815. }
  6816. // ToRawInfo returns a description of Example suitable for JSON or YAML export.
  6817. func (m *Example) ToRawInfo() interface{} {
  6818. info := yaml.MapSlice{}
  6819. if m.Summary != "" {
  6820. info = append(info, yaml.MapItem{"summary", m.Summary})
  6821. }
  6822. if m.Description != "" {
  6823. info = append(info, yaml.MapItem{"description", m.Description})
  6824. }
  6825. // &{Name:value Type:Any StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6826. if m.ExternalValue != "" {
  6827. info = append(info, yaml.MapItem{"externalValue", m.ExternalValue})
  6828. }
  6829. if m.SpecificationExtension != nil {
  6830. for _, item := range m.SpecificationExtension {
  6831. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  6832. }
  6833. }
  6834. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  6835. return info
  6836. }
  6837. // ToRawInfo returns a description of ExampleOrReference suitable for JSON or YAML export.
  6838. func (m *ExampleOrReference) ToRawInfo() interface{} {
  6839. // ONE OF WRAPPER
  6840. // ExampleOrReference
  6841. // {Name:example Type:Example StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6842. v0 := m.GetExample()
  6843. if v0 != nil {
  6844. return v0.ToRawInfo()
  6845. }
  6846. // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6847. v1 := m.GetReference()
  6848. if v1 != nil {
  6849. return v1.ToRawInfo()
  6850. }
  6851. return nil
  6852. }
  6853. // ToRawInfo returns a description of Examples suitable for JSON or YAML export.
  6854. func (m *Examples) ToRawInfo() interface{} {
  6855. info := yaml.MapSlice{}
  6856. return info
  6857. }
  6858. // ToRawInfo returns a description of ExamplesOrReferences suitable for JSON or YAML export.
  6859. func (m *ExamplesOrReferences) ToRawInfo() interface{} {
  6860. info := yaml.MapSlice{}
  6861. if m.AdditionalProperties != nil {
  6862. for _, item := range m.AdditionalProperties {
  6863. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  6864. }
  6865. }
  6866. // &{Name:additionalProperties Type:NamedExampleOrReference StringEnumValues:[] MapType:ExampleOrReference Repeated:true Pattern: Implicit:true Description:}
  6867. return info
  6868. }
  6869. // ToRawInfo returns a description of Expression suitable for JSON or YAML export.
  6870. func (m *Expression) ToRawInfo() interface{} {
  6871. info := yaml.MapSlice{}
  6872. if m.AdditionalProperties != nil {
  6873. for _, item := range m.AdditionalProperties {
  6874. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  6875. }
  6876. }
  6877. // &{Name:additionalProperties Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern: Implicit:true Description:}
  6878. return info
  6879. }
  6880. // ToRawInfo returns a description of ExternalDocs suitable for JSON or YAML export.
  6881. func (m *ExternalDocs) ToRawInfo() interface{} {
  6882. info := yaml.MapSlice{}
  6883. if m.Description != "" {
  6884. info = append(info, yaml.MapItem{"description", m.Description})
  6885. }
  6886. if m.Url != "" {
  6887. info = append(info, yaml.MapItem{"url", m.Url})
  6888. }
  6889. if m.SpecificationExtension != nil {
  6890. for _, item := range m.SpecificationExtension {
  6891. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  6892. }
  6893. }
  6894. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  6895. return info
  6896. }
  6897. // ToRawInfo returns a description of Header suitable for JSON or YAML export.
  6898. func (m *Header) ToRawInfo() interface{} {
  6899. info := yaml.MapSlice{}
  6900. if m.Description != "" {
  6901. info = append(info, yaml.MapItem{"description", m.Description})
  6902. }
  6903. if m.Required != false {
  6904. info = append(info, yaml.MapItem{"required", m.Required})
  6905. }
  6906. if m.Deprecated != false {
  6907. info = append(info, yaml.MapItem{"deprecated", m.Deprecated})
  6908. }
  6909. if m.AllowEmptyValue != false {
  6910. info = append(info, yaml.MapItem{"allowEmptyValue", m.AllowEmptyValue})
  6911. }
  6912. if m.Style != "" {
  6913. info = append(info, yaml.MapItem{"style", m.Style})
  6914. }
  6915. if m.Explode != false {
  6916. info = append(info, yaml.MapItem{"explode", m.Explode})
  6917. }
  6918. if m.AllowReserved != false {
  6919. info = append(info, yaml.MapItem{"allowReserved", m.AllowReserved})
  6920. }
  6921. if m.Schema != nil {
  6922. info = append(info, yaml.MapItem{"schema", m.Schema.ToRawInfo()})
  6923. }
  6924. // &{Name:schema Type:SchemaOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6925. if m.Example != nil {
  6926. info = append(info, yaml.MapItem{"example", m.Example.ToRawInfo()})
  6927. }
  6928. // &{Name:example Type:Any StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6929. if m.Examples != nil {
  6930. info = append(info, yaml.MapItem{"examples", m.Examples.ToRawInfo()})
  6931. }
  6932. // &{Name:examples Type:ExamplesOrReferences StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6933. if m.Content != nil {
  6934. info = append(info, yaml.MapItem{"content", m.Content.ToRawInfo()})
  6935. }
  6936. // &{Name:content Type:MediaTypes StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6937. if m.SpecificationExtension != nil {
  6938. for _, item := range m.SpecificationExtension {
  6939. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  6940. }
  6941. }
  6942. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  6943. return info
  6944. }
  6945. // ToRawInfo returns a description of HeaderOrReference suitable for JSON or YAML export.
  6946. func (m *HeaderOrReference) ToRawInfo() interface{} {
  6947. // ONE OF WRAPPER
  6948. // HeaderOrReference
  6949. // {Name:header Type:Header StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6950. v0 := m.GetHeader()
  6951. if v0 != nil {
  6952. return v0.ToRawInfo()
  6953. }
  6954. // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6955. v1 := m.GetReference()
  6956. if v1 != nil {
  6957. return v1.ToRawInfo()
  6958. }
  6959. return nil
  6960. }
  6961. // ToRawInfo returns a description of HeadersOrReferences suitable for JSON or YAML export.
  6962. func (m *HeadersOrReferences) ToRawInfo() interface{} {
  6963. info := yaml.MapSlice{}
  6964. if m.AdditionalProperties != nil {
  6965. for _, item := range m.AdditionalProperties {
  6966. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  6967. }
  6968. }
  6969. // &{Name:additionalProperties Type:NamedHeaderOrReference StringEnumValues:[] MapType:HeaderOrReference Repeated:true Pattern: Implicit:true Description:}
  6970. return info
  6971. }
  6972. // ToRawInfo returns a description of Info suitable for JSON or YAML export.
  6973. func (m *Info) ToRawInfo() interface{} {
  6974. info := yaml.MapSlice{}
  6975. if m.Title != "" {
  6976. info = append(info, yaml.MapItem{"title", m.Title})
  6977. }
  6978. if m.Description != "" {
  6979. info = append(info, yaml.MapItem{"description", m.Description})
  6980. }
  6981. if m.TermsOfService != "" {
  6982. info = append(info, yaml.MapItem{"termsOfService", m.TermsOfService})
  6983. }
  6984. if m.Contact != nil {
  6985. info = append(info, yaml.MapItem{"contact", m.Contact.ToRawInfo()})
  6986. }
  6987. // &{Name:contact Type:Contact StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6988. if m.License != nil {
  6989. info = append(info, yaml.MapItem{"license", m.License.ToRawInfo()})
  6990. }
  6991. // &{Name:license Type:License StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  6992. if m.Version != "" {
  6993. info = append(info, yaml.MapItem{"version", m.Version})
  6994. }
  6995. if m.SpecificationExtension != nil {
  6996. for _, item := range m.SpecificationExtension {
  6997. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  6998. }
  6999. }
  7000. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7001. return info
  7002. }
  7003. // ToRawInfo returns a description of ItemsItem suitable for JSON or YAML export.
  7004. func (m *ItemsItem) ToRawInfo() interface{} {
  7005. info := yaml.MapSlice{}
  7006. if len(m.SchemaOrReference) != 0 {
  7007. items := make([]interface{}, 0)
  7008. for _, item := range m.SchemaOrReference {
  7009. items = append(items, item.ToRawInfo())
  7010. }
  7011. info = append(info, yaml.MapItem{"schemaOrReference", items})
  7012. }
  7013. // &{Name:schemaOrReference Type:SchemaOrReference StringEnumValues:[] MapType: Repeated:true Pattern: Implicit:false Description:}
  7014. return info
  7015. }
  7016. // ToRawInfo returns a description of License suitable for JSON or YAML export.
  7017. func (m *License) ToRawInfo() interface{} {
  7018. info := yaml.MapSlice{}
  7019. if m.Name != "" {
  7020. info = append(info, yaml.MapItem{"name", m.Name})
  7021. }
  7022. if m.Url != "" {
  7023. info = append(info, yaml.MapItem{"url", m.Url})
  7024. }
  7025. if m.SpecificationExtension != nil {
  7026. for _, item := range m.SpecificationExtension {
  7027. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7028. }
  7029. }
  7030. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7031. return info
  7032. }
  7033. // ToRawInfo returns a description of Link suitable for JSON or YAML export.
  7034. func (m *Link) ToRawInfo() interface{} {
  7035. info := yaml.MapSlice{}
  7036. if m.OperationRef != "" {
  7037. info = append(info, yaml.MapItem{"operationRef", m.OperationRef})
  7038. }
  7039. if m.OperationId != "" {
  7040. info = append(info, yaml.MapItem{"operationId", m.OperationId})
  7041. }
  7042. if m.Parameters != nil {
  7043. info = append(info, yaml.MapItem{"parameters", m.Parameters.ToRawInfo()})
  7044. }
  7045. // &{Name:parameters Type:AnysOrExpressions StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7046. if m.RequestBody != nil {
  7047. info = append(info, yaml.MapItem{"requestBody", m.RequestBody.ToRawInfo()})
  7048. }
  7049. // &{Name:requestBody Type:AnyOrExpression StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7050. if m.Description != "" {
  7051. info = append(info, yaml.MapItem{"description", m.Description})
  7052. }
  7053. if m.Server != nil {
  7054. info = append(info, yaml.MapItem{"server", m.Server.ToRawInfo()})
  7055. }
  7056. // &{Name:server Type:Server StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7057. if m.SpecificationExtension != nil {
  7058. for _, item := range m.SpecificationExtension {
  7059. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7060. }
  7061. }
  7062. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7063. return info
  7064. }
  7065. // ToRawInfo returns a description of LinkOrReference suitable for JSON or YAML export.
  7066. func (m *LinkOrReference) ToRawInfo() interface{} {
  7067. // ONE OF WRAPPER
  7068. // LinkOrReference
  7069. // {Name:link Type:Link StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7070. v0 := m.GetLink()
  7071. if v0 != nil {
  7072. return v0.ToRawInfo()
  7073. }
  7074. // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7075. v1 := m.GetReference()
  7076. if v1 != nil {
  7077. return v1.ToRawInfo()
  7078. }
  7079. return nil
  7080. }
  7081. // ToRawInfo returns a description of LinksOrReferences suitable for JSON or YAML export.
  7082. func (m *LinksOrReferences) ToRawInfo() interface{} {
  7083. info := yaml.MapSlice{}
  7084. if m.AdditionalProperties != nil {
  7085. for _, item := range m.AdditionalProperties {
  7086. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7087. }
  7088. }
  7089. // &{Name:additionalProperties Type:NamedLinkOrReference StringEnumValues:[] MapType:LinkOrReference Repeated:true Pattern: Implicit:true Description:}
  7090. return info
  7091. }
  7092. // ToRawInfo returns a description of MediaType suitable for JSON or YAML export.
  7093. func (m *MediaType) ToRawInfo() interface{} {
  7094. info := yaml.MapSlice{}
  7095. if m.Schema != nil {
  7096. info = append(info, yaml.MapItem{"schema", m.Schema.ToRawInfo()})
  7097. }
  7098. // &{Name:schema Type:SchemaOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7099. if m.Example != nil {
  7100. info = append(info, yaml.MapItem{"example", m.Example.ToRawInfo()})
  7101. }
  7102. // &{Name:example Type:Any StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7103. if m.Examples != nil {
  7104. info = append(info, yaml.MapItem{"examples", m.Examples.ToRawInfo()})
  7105. }
  7106. // &{Name:examples Type:ExamplesOrReferences StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7107. if m.Encoding != nil {
  7108. info = append(info, yaml.MapItem{"encoding", m.Encoding.ToRawInfo()})
  7109. }
  7110. // &{Name:encoding Type:Encodings StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7111. if m.SpecificationExtension != nil {
  7112. for _, item := range m.SpecificationExtension {
  7113. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7114. }
  7115. }
  7116. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7117. return info
  7118. }
  7119. // ToRawInfo returns a description of MediaTypes suitable for JSON or YAML export.
  7120. func (m *MediaTypes) ToRawInfo() interface{} {
  7121. info := yaml.MapSlice{}
  7122. if m.AdditionalProperties != nil {
  7123. for _, item := range m.AdditionalProperties {
  7124. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7125. }
  7126. }
  7127. // &{Name:additionalProperties Type:NamedMediaType StringEnumValues:[] MapType:MediaType Repeated:true Pattern: Implicit:true Description:}
  7128. return info
  7129. }
  7130. // ToRawInfo returns a description of NamedAny suitable for JSON or YAML export.
  7131. func (m *NamedAny) ToRawInfo() interface{} {
  7132. info := yaml.MapSlice{}
  7133. if m.Name != "" {
  7134. info = append(info, yaml.MapItem{"name", m.Name})
  7135. }
  7136. // &{Name:value Type:Any StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
  7137. return info
  7138. }
  7139. // ToRawInfo returns a description of NamedAnyOrExpression suitable for JSON or YAML export.
  7140. func (m *NamedAnyOrExpression) ToRawInfo() interface{} {
  7141. info := yaml.MapSlice{}
  7142. if m.Name != "" {
  7143. info = append(info, yaml.MapItem{"name", m.Name})
  7144. }
  7145. // &{Name:value Type:AnyOrExpression StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
  7146. return info
  7147. }
  7148. // ToRawInfo returns a description of NamedCallbackOrReference suitable for JSON or YAML export.
  7149. func (m *NamedCallbackOrReference) ToRawInfo() interface{} {
  7150. info := yaml.MapSlice{}
  7151. if m.Name != "" {
  7152. info = append(info, yaml.MapItem{"name", m.Name})
  7153. }
  7154. // &{Name:value Type:CallbackOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
  7155. return info
  7156. }
  7157. // ToRawInfo returns a description of NamedEncoding suitable for JSON or YAML export.
  7158. func (m *NamedEncoding) ToRawInfo() interface{} {
  7159. info := yaml.MapSlice{}
  7160. if m.Name != "" {
  7161. info = append(info, yaml.MapItem{"name", m.Name})
  7162. }
  7163. // &{Name:value Type:Encoding StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
  7164. return info
  7165. }
  7166. // ToRawInfo returns a description of NamedExampleOrReference suitable for JSON or YAML export.
  7167. func (m *NamedExampleOrReference) ToRawInfo() interface{} {
  7168. info := yaml.MapSlice{}
  7169. if m.Name != "" {
  7170. info = append(info, yaml.MapItem{"name", m.Name})
  7171. }
  7172. // &{Name:value Type:ExampleOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
  7173. return info
  7174. }
  7175. // ToRawInfo returns a description of NamedHeaderOrReference suitable for JSON or YAML export.
  7176. func (m *NamedHeaderOrReference) ToRawInfo() interface{} {
  7177. info := yaml.MapSlice{}
  7178. if m.Name != "" {
  7179. info = append(info, yaml.MapItem{"name", m.Name})
  7180. }
  7181. // &{Name:value Type:HeaderOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
  7182. return info
  7183. }
  7184. // ToRawInfo returns a description of NamedLinkOrReference suitable for JSON or YAML export.
  7185. func (m *NamedLinkOrReference) ToRawInfo() interface{} {
  7186. info := yaml.MapSlice{}
  7187. if m.Name != "" {
  7188. info = append(info, yaml.MapItem{"name", m.Name})
  7189. }
  7190. // &{Name:value Type:LinkOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
  7191. return info
  7192. }
  7193. // ToRawInfo returns a description of NamedMediaType suitable for JSON or YAML export.
  7194. func (m *NamedMediaType) ToRawInfo() interface{} {
  7195. info := yaml.MapSlice{}
  7196. if m.Name != "" {
  7197. info = append(info, yaml.MapItem{"name", m.Name})
  7198. }
  7199. // &{Name:value Type:MediaType StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
  7200. return info
  7201. }
  7202. // ToRawInfo returns a description of NamedParameterOrReference suitable for JSON or YAML export.
  7203. func (m *NamedParameterOrReference) ToRawInfo() interface{} {
  7204. info := yaml.MapSlice{}
  7205. if m.Name != "" {
  7206. info = append(info, yaml.MapItem{"name", m.Name})
  7207. }
  7208. // &{Name:value Type:ParameterOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
  7209. return info
  7210. }
  7211. // ToRawInfo returns a description of NamedPathItem suitable for JSON or YAML export.
  7212. func (m *NamedPathItem) ToRawInfo() interface{} {
  7213. info := yaml.MapSlice{}
  7214. if m.Name != "" {
  7215. info = append(info, yaml.MapItem{"name", m.Name})
  7216. }
  7217. // &{Name:value Type:PathItem StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
  7218. return info
  7219. }
  7220. // ToRawInfo returns a description of NamedRequestBodyOrReference suitable for JSON or YAML export.
  7221. func (m *NamedRequestBodyOrReference) ToRawInfo() interface{} {
  7222. info := yaml.MapSlice{}
  7223. if m.Name != "" {
  7224. info = append(info, yaml.MapItem{"name", m.Name})
  7225. }
  7226. // &{Name:value Type:RequestBodyOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
  7227. return info
  7228. }
  7229. // ToRawInfo returns a description of NamedResponseOrReference suitable for JSON or YAML export.
  7230. func (m *NamedResponseOrReference) ToRawInfo() interface{} {
  7231. info := yaml.MapSlice{}
  7232. if m.Name != "" {
  7233. info = append(info, yaml.MapItem{"name", m.Name})
  7234. }
  7235. // &{Name:value Type:ResponseOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
  7236. return info
  7237. }
  7238. // ToRawInfo returns a description of NamedSchemaOrReference suitable for JSON or YAML export.
  7239. func (m *NamedSchemaOrReference) ToRawInfo() interface{} {
  7240. info := yaml.MapSlice{}
  7241. if m.Name != "" {
  7242. info = append(info, yaml.MapItem{"name", m.Name})
  7243. }
  7244. // &{Name:value Type:SchemaOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
  7245. return info
  7246. }
  7247. // ToRawInfo returns a description of NamedSecuritySchemeOrReference suitable for JSON or YAML export.
  7248. func (m *NamedSecuritySchemeOrReference) ToRawInfo() interface{} {
  7249. info := yaml.MapSlice{}
  7250. if m.Name != "" {
  7251. info = append(info, yaml.MapItem{"name", m.Name})
  7252. }
  7253. // &{Name:value Type:SecuritySchemeOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
  7254. return info
  7255. }
  7256. // ToRawInfo returns a description of NamedServerVariable suitable for JSON or YAML export.
  7257. func (m *NamedServerVariable) ToRawInfo() interface{} {
  7258. info := yaml.MapSlice{}
  7259. if m.Name != "" {
  7260. info = append(info, yaml.MapItem{"name", m.Name})
  7261. }
  7262. // &{Name:value Type:ServerVariable StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
  7263. return info
  7264. }
  7265. // ToRawInfo returns a description of NamedString suitable for JSON or YAML export.
  7266. func (m *NamedString) ToRawInfo() interface{} {
  7267. info := yaml.MapSlice{}
  7268. if m.Name != "" {
  7269. info = append(info, yaml.MapItem{"name", m.Name})
  7270. }
  7271. if m.Value != "" {
  7272. info = append(info, yaml.MapItem{"value", m.Value})
  7273. }
  7274. return info
  7275. }
  7276. // ToRawInfo returns a description of OauthFlow suitable for JSON or YAML export.
  7277. func (m *OauthFlow) ToRawInfo() interface{} {
  7278. info := yaml.MapSlice{}
  7279. if m.AuthorizationUrl != "" {
  7280. info = append(info, yaml.MapItem{"authorizationUrl", m.AuthorizationUrl})
  7281. }
  7282. if m.TokenUrl != "" {
  7283. info = append(info, yaml.MapItem{"tokenUrl", m.TokenUrl})
  7284. }
  7285. if m.RefreshUrl != "" {
  7286. info = append(info, yaml.MapItem{"refreshUrl", m.RefreshUrl})
  7287. }
  7288. if m.Scopes != nil {
  7289. info = append(info, yaml.MapItem{"scopes", m.Scopes.ToRawInfo()})
  7290. }
  7291. // &{Name:scopes Type:Strings StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7292. if m.SpecificationExtension != nil {
  7293. for _, item := range m.SpecificationExtension {
  7294. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7295. }
  7296. }
  7297. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7298. return info
  7299. }
  7300. // ToRawInfo returns a description of OauthFlows suitable for JSON or YAML export.
  7301. func (m *OauthFlows) ToRawInfo() interface{} {
  7302. info := yaml.MapSlice{}
  7303. if m.Implicit != nil {
  7304. info = append(info, yaml.MapItem{"implicit", m.Implicit.ToRawInfo()})
  7305. }
  7306. // &{Name:implicit Type:OauthFlow StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7307. if m.Password != nil {
  7308. info = append(info, yaml.MapItem{"password", m.Password.ToRawInfo()})
  7309. }
  7310. // &{Name:password Type:OauthFlow StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7311. if m.ClientCredentials != nil {
  7312. info = append(info, yaml.MapItem{"clientCredentials", m.ClientCredentials.ToRawInfo()})
  7313. }
  7314. // &{Name:clientCredentials Type:OauthFlow StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7315. if m.AuthorizationCode != nil {
  7316. info = append(info, yaml.MapItem{"authorizationCode", m.AuthorizationCode.ToRawInfo()})
  7317. }
  7318. // &{Name:authorizationCode Type:OauthFlow StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7319. if m.SpecificationExtension != nil {
  7320. for _, item := range m.SpecificationExtension {
  7321. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7322. }
  7323. }
  7324. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7325. return info
  7326. }
  7327. // ToRawInfo returns a description of Object suitable for JSON or YAML export.
  7328. func (m *Object) ToRawInfo() interface{} {
  7329. info := yaml.MapSlice{}
  7330. if m.AdditionalProperties != nil {
  7331. for _, item := range m.AdditionalProperties {
  7332. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7333. }
  7334. }
  7335. // &{Name:additionalProperties Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern: Implicit:true Description:}
  7336. return info
  7337. }
  7338. // ToRawInfo returns a description of Operation suitable for JSON or YAML export.
  7339. func (m *Operation) ToRawInfo() interface{} {
  7340. info := yaml.MapSlice{}
  7341. if len(m.Tags) != 0 {
  7342. info = append(info, yaml.MapItem{"tags", m.Tags})
  7343. }
  7344. if m.Summary != "" {
  7345. info = append(info, yaml.MapItem{"summary", m.Summary})
  7346. }
  7347. if m.Description != "" {
  7348. info = append(info, yaml.MapItem{"description", m.Description})
  7349. }
  7350. if m.ExternalDocs != nil {
  7351. info = append(info, yaml.MapItem{"externalDocs", m.ExternalDocs.ToRawInfo()})
  7352. }
  7353. // &{Name:externalDocs Type:ExternalDocs StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7354. if m.OperationId != "" {
  7355. info = append(info, yaml.MapItem{"operationId", m.OperationId})
  7356. }
  7357. if len(m.Parameters) != 0 {
  7358. items := make([]interface{}, 0)
  7359. for _, item := range m.Parameters {
  7360. items = append(items, item.ToRawInfo())
  7361. }
  7362. info = append(info, yaml.MapItem{"parameters", items})
  7363. }
  7364. // &{Name:parameters Type:ParameterOrReference StringEnumValues:[] MapType: Repeated:true Pattern: Implicit:false Description:}
  7365. if m.RequestBody != nil {
  7366. info = append(info, yaml.MapItem{"requestBody", m.RequestBody.ToRawInfo()})
  7367. }
  7368. // &{Name:requestBody Type:RequestBodyOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7369. if m.Responses != nil {
  7370. info = append(info, yaml.MapItem{"responses", m.Responses.ToRawInfo()})
  7371. }
  7372. // &{Name:responses Type:Responses StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7373. if m.Callbacks != nil {
  7374. info = append(info, yaml.MapItem{"callbacks", m.Callbacks.ToRawInfo()})
  7375. }
  7376. // &{Name:callbacks Type:CallbacksOrReferences StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7377. if m.Deprecated != false {
  7378. info = append(info, yaml.MapItem{"deprecated", m.Deprecated})
  7379. }
  7380. if len(m.Security) != 0 {
  7381. items := make([]interface{}, 0)
  7382. for _, item := range m.Security {
  7383. items = append(items, item.ToRawInfo())
  7384. }
  7385. info = append(info, yaml.MapItem{"security", items})
  7386. }
  7387. // &{Name:security Type:SecurityRequirement StringEnumValues:[] MapType: Repeated:true Pattern: Implicit:false Description:}
  7388. if len(m.Servers) != 0 {
  7389. items := make([]interface{}, 0)
  7390. for _, item := range m.Servers {
  7391. items = append(items, item.ToRawInfo())
  7392. }
  7393. info = append(info, yaml.MapItem{"servers", items})
  7394. }
  7395. // &{Name:servers Type:Server StringEnumValues:[] MapType: Repeated:true Pattern: Implicit:false Description:}
  7396. if m.SpecificationExtension != nil {
  7397. for _, item := range m.SpecificationExtension {
  7398. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7399. }
  7400. }
  7401. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7402. return info
  7403. }
  7404. // ToRawInfo returns a description of Parameter suitable for JSON or YAML export.
  7405. func (m *Parameter) ToRawInfo() interface{} {
  7406. info := yaml.MapSlice{}
  7407. if m.Name != "" {
  7408. info = append(info, yaml.MapItem{"name", m.Name})
  7409. }
  7410. if m.In != "" {
  7411. info = append(info, yaml.MapItem{"in", m.In})
  7412. }
  7413. if m.Description != "" {
  7414. info = append(info, yaml.MapItem{"description", m.Description})
  7415. }
  7416. if m.Required != false {
  7417. info = append(info, yaml.MapItem{"required", m.Required})
  7418. }
  7419. if m.Deprecated != false {
  7420. info = append(info, yaml.MapItem{"deprecated", m.Deprecated})
  7421. }
  7422. if m.AllowEmptyValue != false {
  7423. info = append(info, yaml.MapItem{"allowEmptyValue", m.AllowEmptyValue})
  7424. }
  7425. if m.Style != "" {
  7426. info = append(info, yaml.MapItem{"style", m.Style})
  7427. }
  7428. if m.Explode != false {
  7429. info = append(info, yaml.MapItem{"explode", m.Explode})
  7430. }
  7431. if m.AllowReserved != false {
  7432. info = append(info, yaml.MapItem{"allowReserved", m.AllowReserved})
  7433. }
  7434. if m.Schema != nil {
  7435. info = append(info, yaml.MapItem{"schema", m.Schema.ToRawInfo()})
  7436. }
  7437. // &{Name:schema Type:SchemaOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7438. if m.Example != nil {
  7439. info = append(info, yaml.MapItem{"example", m.Example.ToRawInfo()})
  7440. }
  7441. // &{Name:example Type:Any StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7442. if m.Examples != nil {
  7443. info = append(info, yaml.MapItem{"examples", m.Examples.ToRawInfo()})
  7444. }
  7445. // &{Name:examples Type:ExamplesOrReferences StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7446. if m.Content != nil {
  7447. info = append(info, yaml.MapItem{"content", m.Content.ToRawInfo()})
  7448. }
  7449. // &{Name:content Type:MediaTypes StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7450. if m.SpecificationExtension != nil {
  7451. for _, item := range m.SpecificationExtension {
  7452. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7453. }
  7454. }
  7455. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7456. return info
  7457. }
  7458. // ToRawInfo returns a description of ParameterOrReference suitable for JSON or YAML export.
  7459. func (m *ParameterOrReference) ToRawInfo() interface{} {
  7460. // ONE OF WRAPPER
  7461. // ParameterOrReference
  7462. // {Name:parameter Type:Parameter StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7463. v0 := m.GetParameter()
  7464. if v0 != nil {
  7465. return v0.ToRawInfo()
  7466. }
  7467. // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7468. v1 := m.GetReference()
  7469. if v1 != nil {
  7470. return v1.ToRawInfo()
  7471. }
  7472. return nil
  7473. }
  7474. // ToRawInfo returns a description of ParametersOrReferences suitable for JSON or YAML export.
  7475. func (m *ParametersOrReferences) ToRawInfo() interface{} {
  7476. info := yaml.MapSlice{}
  7477. if m.AdditionalProperties != nil {
  7478. for _, item := range m.AdditionalProperties {
  7479. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7480. }
  7481. }
  7482. // &{Name:additionalProperties Type:NamedParameterOrReference StringEnumValues:[] MapType:ParameterOrReference Repeated:true Pattern: Implicit:true Description:}
  7483. return info
  7484. }
  7485. // ToRawInfo returns a description of PathItem suitable for JSON or YAML export.
  7486. func (m *PathItem) ToRawInfo() interface{} {
  7487. info := yaml.MapSlice{}
  7488. if m.XRef != "" {
  7489. info = append(info, yaml.MapItem{"$ref", m.XRef})
  7490. }
  7491. if m.Summary != "" {
  7492. info = append(info, yaml.MapItem{"summary", m.Summary})
  7493. }
  7494. if m.Description != "" {
  7495. info = append(info, yaml.MapItem{"description", m.Description})
  7496. }
  7497. if m.Get != nil {
  7498. info = append(info, yaml.MapItem{"get", m.Get.ToRawInfo()})
  7499. }
  7500. // &{Name:get Type:Operation StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7501. if m.Put != nil {
  7502. info = append(info, yaml.MapItem{"put", m.Put.ToRawInfo()})
  7503. }
  7504. // &{Name:put Type:Operation StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7505. if m.Post != nil {
  7506. info = append(info, yaml.MapItem{"post", m.Post.ToRawInfo()})
  7507. }
  7508. // &{Name:post Type:Operation StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7509. if m.Delete != nil {
  7510. info = append(info, yaml.MapItem{"delete", m.Delete.ToRawInfo()})
  7511. }
  7512. // &{Name:delete Type:Operation StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7513. if m.Options != nil {
  7514. info = append(info, yaml.MapItem{"options", m.Options.ToRawInfo()})
  7515. }
  7516. // &{Name:options Type:Operation StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7517. if m.Head != nil {
  7518. info = append(info, yaml.MapItem{"head", m.Head.ToRawInfo()})
  7519. }
  7520. // &{Name:head Type:Operation StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7521. if m.Patch != nil {
  7522. info = append(info, yaml.MapItem{"patch", m.Patch.ToRawInfo()})
  7523. }
  7524. // &{Name:patch Type:Operation StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7525. if m.Trace != nil {
  7526. info = append(info, yaml.MapItem{"trace", m.Trace.ToRawInfo()})
  7527. }
  7528. // &{Name:trace Type:Operation StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7529. if len(m.Servers) != 0 {
  7530. items := make([]interface{}, 0)
  7531. for _, item := range m.Servers {
  7532. items = append(items, item.ToRawInfo())
  7533. }
  7534. info = append(info, yaml.MapItem{"servers", items})
  7535. }
  7536. // &{Name:servers Type:Server StringEnumValues:[] MapType: Repeated:true Pattern: Implicit:false Description:}
  7537. if len(m.Parameters) != 0 {
  7538. items := make([]interface{}, 0)
  7539. for _, item := range m.Parameters {
  7540. items = append(items, item.ToRawInfo())
  7541. }
  7542. info = append(info, yaml.MapItem{"parameters", items})
  7543. }
  7544. // &{Name:parameters Type:ParameterOrReference StringEnumValues:[] MapType: Repeated:true Pattern: Implicit:false Description:}
  7545. if m.SpecificationExtension != nil {
  7546. for _, item := range m.SpecificationExtension {
  7547. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7548. }
  7549. }
  7550. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7551. return info
  7552. }
  7553. // ToRawInfo returns a description of Paths suitable for JSON or YAML export.
  7554. func (m *Paths) ToRawInfo() interface{} {
  7555. info := yaml.MapSlice{}
  7556. if m.Path != nil {
  7557. for _, item := range m.Path {
  7558. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7559. }
  7560. }
  7561. // &{Name:Path Type:NamedPathItem StringEnumValues:[] MapType:PathItem Repeated:true Pattern:^/ Implicit:true Description:}
  7562. if m.SpecificationExtension != nil {
  7563. for _, item := range m.SpecificationExtension {
  7564. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7565. }
  7566. }
  7567. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7568. return info
  7569. }
  7570. // ToRawInfo returns a description of Properties suitable for JSON or YAML export.
  7571. func (m *Properties) ToRawInfo() interface{} {
  7572. info := yaml.MapSlice{}
  7573. if m.AdditionalProperties != nil {
  7574. for _, item := range m.AdditionalProperties {
  7575. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7576. }
  7577. }
  7578. // &{Name:additionalProperties Type:NamedSchemaOrReference StringEnumValues:[] MapType:SchemaOrReference Repeated:true Pattern: Implicit:true Description:}
  7579. return info
  7580. }
  7581. // ToRawInfo returns a description of Reference suitable for JSON or YAML export.
  7582. func (m *Reference) ToRawInfo() interface{} {
  7583. info := yaml.MapSlice{}
  7584. if m.XRef != "" {
  7585. info = append(info, yaml.MapItem{"$ref", m.XRef})
  7586. }
  7587. return info
  7588. }
  7589. // ToRawInfo returns a description of RequestBodiesOrReferences suitable for JSON or YAML export.
  7590. func (m *RequestBodiesOrReferences) ToRawInfo() interface{} {
  7591. info := yaml.MapSlice{}
  7592. if m.AdditionalProperties != nil {
  7593. for _, item := range m.AdditionalProperties {
  7594. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7595. }
  7596. }
  7597. // &{Name:additionalProperties Type:NamedRequestBodyOrReference StringEnumValues:[] MapType:RequestBodyOrReference Repeated:true Pattern: Implicit:true Description:}
  7598. return info
  7599. }
  7600. // ToRawInfo returns a description of RequestBody suitable for JSON or YAML export.
  7601. func (m *RequestBody) ToRawInfo() interface{} {
  7602. info := yaml.MapSlice{}
  7603. if m.Description != "" {
  7604. info = append(info, yaml.MapItem{"description", m.Description})
  7605. }
  7606. if m.Content != nil {
  7607. info = append(info, yaml.MapItem{"content", m.Content.ToRawInfo()})
  7608. }
  7609. // &{Name:content Type:MediaTypes StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7610. if m.Required != false {
  7611. info = append(info, yaml.MapItem{"required", m.Required})
  7612. }
  7613. if m.SpecificationExtension != nil {
  7614. for _, item := range m.SpecificationExtension {
  7615. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7616. }
  7617. }
  7618. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7619. return info
  7620. }
  7621. // ToRawInfo returns a description of RequestBodyOrReference suitable for JSON or YAML export.
  7622. func (m *RequestBodyOrReference) ToRawInfo() interface{} {
  7623. // ONE OF WRAPPER
  7624. // RequestBodyOrReference
  7625. // {Name:requestBody Type:RequestBody StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7626. v0 := m.GetRequestBody()
  7627. if v0 != nil {
  7628. return v0.ToRawInfo()
  7629. }
  7630. // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7631. v1 := m.GetReference()
  7632. if v1 != nil {
  7633. return v1.ToRawInfo()
  7634. }
  7635. return nil
  7636. }
  7637. // ToRawInfo returns a description of Response suitable for JSON or YAML export.
  7638. func (m *Response) ToRawInfo() interface{} {
  7639. info := yaml.MapSlice{}
  7640. if m.Description != "" {
  7641. info = append(info, yaml.MapItem{"description", m.Description})
  7642. }
  7643. if m.Headers != nil {
  7644. info = append(info, yaml.MapItem{"headers", m.Headers.ToRawInfo()})
  7645. }
  7646. // &{Name:headers Type:HeadersOrReferences StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7647. if m.Content != nil {
  7648. info = append(info, yaml.MapItem{"content", m.Content.ToRawInfo()})
  7649. }
  7650. // &{Name:content Type:MediaTypes StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7651. if m.Links != nil {
  7652. info = append(info, yaml.MapItem{"links", m.Links.ToRawInfo()})
  7653. }
  7654. // &{Name:links Type:LinksOrReferences StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7655. if m.SpecificationExtension != nil {
  7656. for _, item := range m.SpecificationExtension {
  7657. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7658. }
  7659. }
  7660. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7661. return info
  7662. }
  7663. // ToRawInfo returns a description of ResponseOrReference suitable for JSON or YAML export.
  7664. func (m *ResponseOrReference) ToRawInfo() interface{} {
  7665. // ONE OF WRAPPER
  7666. // ResponseOrReference
  7667. // {Name:response Type:Response StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7668. v0 := m.GetResponse()
  7669. if v0 != nil {
  7670. return v0.ToRawInfo()
  7671. }
  7672. // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7673. v1 := m.GetReference()
  7674. if v1 != nil {
  7675. return v1.ToRawInfo()
  7676. }
  7677. return nil
  7678. }
  7679. // ToRawInfo returns a description of Responses suitable for JSON or YAML export.
  7680. func (m *Responses) ToRawInfo() interface{} {
  7681. info := yaml.MapSlice{}
  7682. if m.Default != nil {
  7683. info = append(info, yaml.MapItem{"default", m.Default.ToRawInfo()})
  7684. }
  7685. // &{Name:default Type:ResponseOrReference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7686. if m.ResponseOrReference != nil {
  7687. for _, item := range m.ResponseOrReference {
  7688. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7689. }
  7690. }
  7691. // &{Name:ResponseOrReference Type:NamedResponseOrReference StringEnumValues:[] MapType:ResponseOrReference Repeated:true Pattern:^([0-9X]{3})$ Implicit:true Description:}
  7692. if m.SpecificationExtension != nil {
  7693. for _, item := range m.SpecificationExtension {
  7694. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7695. }
  7696. }
  7697. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7698. return info
  7699. }
  7700. // ToRawInfo returns a description of ResponsesOrReferences suitable for JSON or YAML export.
  7701. func (m *ResponsesOrReferences) ToRawInfo() interface{} {
  7702. info := yaml.MapSlice{}
  7703. if m.AdditionalProperties != nil {
  7704. for _, item := range m.AdditionalProperties {
  7705. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7706. }
  7707. }
  7708. // &{Name:additionalProperties Type:NamedResponseOrReference StringEnumValues:[] MapType:ResponseOrReference Repeated:true Pattern: Implicit:true Description:}
  7709. return info
  7710. }
  7711. // ToRawInfo returns a description of Schema suitable for JSON or YAML export.
  7712. func (m *Schema) ToRawInfo() interface{} {
  7713. info := yaml.MapSlice{}
  7714. if m.Nullable != false {
  7715. info = append(info, yaml.MapItem{"nullable", m.Nullable})
  7716. }
  7717. if m.Discriminator != nil {
  7718. info = append(info, yaml.MapItem{"discriminator", m.Discriminator.ToRawInfo()})
  7719. }
  7720. // &{Name:discriminator Type:Discriminator StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7721. if m.ReadOnly != false {
  7722. info = append(info, yaml.MapItem{"readOnly", m.ReadOnly})
  7723. }
  7724. if m.WriteOnly != false {
  7725. info = append(info, yaml.MapItem{"writeOnly", m.WriteOnly})
  7726. }
  7727. if m.Xml != nil {
  7728. info = append(info, yaml.MapItem{"xml", m.Xml.ToRawInfo()})
  7729. }
  7730. // &{Name:xml Type:Xml StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7731. if m.ExternalDocs != nil {
  7732. info = append(info, yaml.MapItem{"externalDocs", m.ExternalDocs.ToRawInfo()})
  7733. }
  7734. // &{Name:externalDocs Type:ExternalDocs StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7735. if m.Example != nil {
  7736. info = append(info, yaml.MapItem{"example", m.Example.ToRawInfo()})
  7737. }
  7738. // &{Name:example Type:Any StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7739. if m.Deprecated != false {
  7740. info = append(info, yaml.MapItem{"deprecated", m.Deprecated})
  7741. }
  7742. if m.Title != "" {
  7743. info = append(info, yaml.MapItem{"title", m.Title})
  7744. }
  7745. if m.MultipleOf != 0.0 {
  7746. info = append(info, yaml.MapItem{"multipleOf", m.MultipleOf})
  7747. }
  7748. if m.Maximum != 0.0 {
  7749. info = append(info, yaml.MapItem{"maximum", m.Maximum})
  7750. }
  7751. if m.ExclusiveMaximum != false {
  7752. info = append(info, yaml.MapItem{"exclusiveMaximum", m.ExclusiveMaximum})
  7753. }
  7754. if m.Minimum != 0.0 {
  7755. info = append(info, yaml.MapItem{"minimum", m.Minimum})
  7756. }
  7757. if m.ExclusiveMinimum != false {
  7758. info = append(info, yaml.MapItem{"exclusiveMinimum", m.ExclusiveMinimum})
  7759. }
  7760. if m.MaxLength != 0 {
  7761. info = append(info, yaml.MapItem{"maxLength", m.MaxLength})
  7762. }
  7763. if m.MinLength != 0 {
  7764. info = append(info, yaml.MapItem{"minLength", m.MinLength})
  7765. }
  7766. if m.Pattern != "" {
  7767. info = append(info, yaml.MapItem{"pattern", m.Pattern})
  7768. }
  7769. if m.MaxItems != 0 {
  7770. info = append(info, yaml.MapItem{"maxItems", m.MaxItems})
  7771. }
  7772. if m.MinItems != 0 {
  7773. info = append(info, yaml.MapItem{"minItems", m.MinItems})
  7774. }
  7775. if m.UniqueItems != false {
  7776. info = append(info, yaml.MapItem{"uniqueItems", m.UniqueItems})
  7777. }
  7778. if m.MaxProperties != 0 {
  7779. info = append(info, yaml.MapItem{"maxProperties", m.MaxProperties})
  7780. }
  7781. if m.MinProperties != 0 {
  7782. info = append(info, yaml.MapItem{"minProperties", m.MinProperties})
  7783. }
  7784. if len(m.Required) != 0 {
  7785. info = append(info, yaml.MapItem{"required", m.Required})
  7786. }
  7787. if len(m.Enum) != 0 {
  7788. items := make([]interface{}, 0)
  7789. for _, item := range m.Enum {
  7790. items = append(items, item.ToRawInfo())
  7791. }
  7792. info = append(info, yaml.MapItem{"enum", items})
  7793. }
  7794. // &{Name:enum Type:Any StringEnumValues:[] MapType: Repeated:true Pattern: Implicit:false Description:}
  7795. if m.Type != "" {
  7796. info = append(info, yaml.MapItem{"type", m.Type})
  7797. }
  7798. if len(m.AllOf) != 0 {
  7799. items := make([]interface{}, 0)
  7800. for _, item := range m.AllOf {
  7801. items = append(items, item.ToRawInfo())
  7802. }
  7803. info = append(info, yaml.MapItem{"allOf", items})
  7804. }
  7805. // &{Name:allOf Type:SchemaOrReference StringEnumValues:[] MapType: Repeated:true Pattern: Implicit:false Description:}
  7806. if len(m.OneOf) != 0 {
  7807. items := make([]interface{}, 0)
  7808. for _, item := range m.OneOf {
  7809. items = append(items, item.ToRawInfo())
  7810. }
  7811. info = append(info, yaml.MapItem{"oneOf", items})
  7812. }
  7813. // &{Name:oneOf Type:SchemaOrReference StringEnumValues:[] MapType: Repeated:true Pattern: Implicit:false Description:}
  7814. if len(m.AnyOf) != 0 {
  7815. items := make([]interface{}, 0)
  7816. for _, item := range m.AnyOf {
  7817. items = append(items, item.ToRawInfo())
  7818. }
  7819. info = append(info, yaml.MapItem{"anyOf", items})
  7820. }
  7821. // &{Name:anyOf Type:SchemaOrReference StringEnumValues:[] MapType: Repeated:true Pattern: Implicit:false Description:}
  7822. if m.Not != nil {
  7823. info = append(info, yaml.MapItem{"not", m.Not.ToRawInfo()})
  7824. }
  7825. // &{Name:not Type:Schema StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7826. if m.Items != nil {
  7827. items := make([]interface{}, 0)
  7828. for _, item := range m.Items.SchemaOrReference {
  7829. items = append(items, item.ToRawInfo())
  7830. }
  7831. info = append(info, yaml.MapItem{"items", items[0]})
  7832. }
  7833. // &{Name:items Type:ItemsItem StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7834. if m.Properties != nil {
  7835. info = append(info, yaml.MapItem{"properties", m.Properties.ToRawInfo()})
  7836. }
  7837. // &{Name:properties Type:Properties StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7838. if m.AdditionalProperties != nil {
  7839. info = append(info, yaml.MapItem{"additionalProperties", m.AdditionalProperties.ToRawInfo()})
  7840. }
  7841. // &{Name:additionalProperties Type:AdditionalPropertiesItem StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7842. if m.Default != nil {
  7843. info = append(info, yaml.MapItem{"default", m.Default.ToRawInfo()})
  7844. }
  7845. // &{Name:default Type:DefaultType StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7846. if m.Description != "" {
  7847. info = append(info, yaml.MapItem{"description", m.Description})
  7848. }
  7849. if m.Format != "" {
  7850. info = append(info, yaml.MapItem{"format", m.Format})
  7851. }
  7852. if m.SpecificationExtension != nil {
  7853. for _, item := range m.SpecificationExtension {
  7854. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7855. }
  7856. }
  7857. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7858. return info
  7859. }
  7860. // ToRawInfo returns a description of SchemaOrReference suitable for JSON or YAML export.
  7861. func (m *SchemaOrReference) ToRawInfo() interface{} {
  7862. // ONE OF WRAPPER
  7863. // SchemaOrReference
  7864. // {Name:schema Type:Schema StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7865. v0 := m.GetSchema()
  7866. if v0 != nil {
  7867. return v0.ToRawInfo()
  7868. }
  7869. // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7870. v1 := m.GetReference()
  7871. if v1 != nil {
  7872. return v1.ToRawInfo()
  7873. }
  7874. return nil
  7875. }
  7876. // ToRawInfo returns a description of SchemasOrReferences suitable for JSON or YAML export.
  7877. func (m *SchemasOrReferences) ToRawInfo() interface{} {
  7878. info := yaml.MapSlice{}
  7879. if m.AdditionalProperties != nil {
  7880. for _, item := range m.AdditionalProperties {
  7881. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7882. }
  7883. }
  7884. // &{Name:additionalProperties Type:NamedSchemaOrReference StringEnumValues:[] MapType:SchemaOrReference Repeated:true Pattern: Implicit:true Description:}
  7885. return info
  7886. }
  7887. // ToRawInfo returns a description of SecurityRequirement suitable for JSON or YAML export.
  7888. func (m *SecurityRequirement) ToRawInfo() interface{} {
  7889. info := yaml.MapSlice{}
  7890. return info
  7891. }
  7892. // ToRawInfo returns a description of SecurityScheme suitable for JSON or YAML export.
  7893. func (m *SecurityScheme) ToRawInfo() interface{} {
  7894. info := yaml.MapSlice{}
  7895. if m.Type != "" {
  7896. info = append(info, yaml.MapItem{"type", m.Type})
  7897. }
  7898. if m.Description != "" {
  7899. info = append(info, yaml.MapItem{"description", m.Description})
  7900. }
  7901. if m.Name != "" {
  7902. info = append(info, yaml.MapItem{"name", m.Name})
  7903. }
  7904. if m.In != "" {
  7905. info = append(info, yaml.MapItem{"in", m.In})
  7906. }
  7907. if m.Scheme != "" {
  7908. info = append(info, yaml.MapItem{"scheme", m.Scheme})
  7909. }
  7910. if m.BearerFormat != "" {
  7911. info = append(info, yaml.MapItem{"bearerFormat", m.BearerFormat})
  7912. }
  7913. if m.Flows != nil {
  7914. info = append(info, yaml.MapItem{"flows", m.Flows.ToRawInfo()})
  7915. }
  7916. // &{Name:flows Type:OauthFlows StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7917. if m.OpenIdConnectUrl != "" {
  7918. info = append(info, yaml.MapItem{"openIdConnectUrl", m.OpenIdConnectUrl})
  7919. }
  7920. if m.SpecificationExtension != nil {
  7921. for _, item := range m.SpecificationExtension {
  7922. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7923. }
  7924. }
  7925. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7926. return info
  7927. }
  7928. // ToRawInfo returns a description of SecuritySchemeOrReference suitable for JSON or YAML export.
  7929. func (m *SecuritySchemeOrReference) ToRawInfo() interface{} {
  7930. // ONE OF WRAPPER
  7931. // SecuritySchemeOrReference
  7932. // {Name:securityScheme Type:SecurityScheme StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7933. v0 := m.GetSecurityScheme()
  7934. if v0 != nil {
  7935. return v0.ToRawInfo()
  7936. }
  7937. // {Name:reference Type:Reference StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7938. v1 := m.GetReference()
  7939. if v1 != nil {
  7940. return v1.ToRawInfo()
  7941. }
  7942. return nil
  7943. }
  7944. // ToRawInfo returns a description of SecuritySchemesOrReferences suitable for JSON or YAML export.
  7945. func (m *SecuritySchemesOrReferences) ToRawInfo() interface{} {
  7946. info := yaml.MapSlice{}
  7947. if m.AdditionalProperties != nil {
  7948. for _, item := range m.AdditionalProperties {
  7949. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7950. }
  7951. }
  7952. // &{Name:additionalProperties Type:NamedSecuritySchemeOrReference StringEnumValues:[] MapType:SecuritySchemeOrReference Repeated:true Pattern: Implicit:true Description:}
  7953. return info
  7954. }
  7955. // ToRawInfo returns a description of Server suitable for JSON or YAML export.
  7956. func (m *Server) ToRawInfo() interface{} {
  7957. info := yaml.MapSlice{}
  7958. if m.Url != "" {
  7959. info = append(info, yaml.MapItem{"url", m.Url})
  7960. }
  7961. if m.Description != "" {
  7962. info = append(info, yaml.MapItem{"description", m.Description})
  7963. }
  7964. if m.Variables != nil {
  7965. info = append(info, yaml.MapItem{"variables", m.Variables.ToRawInfo()})
  7966. }
  7967. // &{Name:variables Type:ServerVariables StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  7968. if m.SpecificationExtension != nil {
  7969. for _, item := range m.SpecificationExtension {
  7970. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7971. }
  7972. }
  7973. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7974. return info
  7975. }
  7976. // ToRawInfo returns a description of ServerVariable suitable for JSON or YAML export.
  7977. func (m *ServerVariable) ToRawInfo() interface{} {
  7978. info := yaml.MapSlice{}
  7979. if len(m.Enum) != 0 {
  7980. info = append(info, yaml.MapItem{"enum", m.Enum})
  7981. }
  7982. if m.Default != "" {
  7983. info = append(info, yaml.MapItem{"default", m.Default})
  7984. }
  7985. if m.Description != "" {
  7986. info = append(info, yaml.MapItem{"description", m.Description})
  7987. }
  7988. if m.SpecificationExtension != nil {
  7989. for _, item := range m.SpecificationExtension {
  7990. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  7991. }
  7992. }
  7993. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  7994. return info
  7995. }
  7996. // ToRawInfo returns a description of ServerVariables suitable for JSON or YAML export.
  7997. func (m *ServerVariables) ToRawInfo() interface{} {
  7998. info := yaml.MapSlice{}
  7999. if m.AdditionalProperties != nil {
  8000. for _, item := range m.AdditionalProperties {
  8001. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  8002. }
  8003. }
  8004. // &{Name:additionalProperties Type:NamedServerVariable StringEnumValues:[] MapType:ServerVariable Repeated:true Pattern: Implicit:true Description:}
  8005. return info
  8006. }
  8007. // ToRawInfo returns a description of SpecificationExtension suitable for JSON or YAML export.
  8008. func (m *SpecificationExtension) ToRawInfo() interface{} {
  8009. // ONE OF WRAPPER
  8010. // SpecificationExtension
  8011. // {Name:number Type:float StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  8012. if v0, ok := m.GetOneof().(*SpecificationExtension_Number); ok {
  8013. return v0.Number
  8014. }
  8015. // {Name:boolean Type:bool StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  8016. if v1, ok := m.GetOneof().(*SpecificationExtension_Boolean); ok {
  8017. return v1.Boolean
  8018. }
  8019. // {Name:string Type:string StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  8020. if v2, ok := m.GetOneof().(*SpecificationExtension_String_); ok {
  8021. return v2.String_
  8022. }
  8023. return nil
  8024. }
  8025. // ToRawInfo returns a description of StringArray suitable for JSON or YAML export.
  8026. func (m *StringArray) ToRawInfo() interface{} {
  8027. return m.Value
  8028. }
  8029. // ToRawInfo returns a description of Strings suitable for JSON or YAML export.
  8030. func (m *Strings) ToRawInfo() interface{} {
  8031. info := yaml.MapSlice{}
  8032. // &{Name:additionalProperties Type:NamedString StringEnumValues:[] MapType:string Repeated:true Pattern: Implicit:true Description:}
  8033. return info
  8034. }
  8035. // ToRawInfo returns a description of Tag suitable for JSON or YAML export.
  8036. func (m *Tag) ToRawInfo() interface{} {
  8037. info := yaml.MapSlice{}
  8038. if m.Name != "" {
  8039. info = append(info, yaml.MapItem{"name", m.Name})
  8040. }
  8041. if m.Description != "" {
  8042. info = append(info, yaml.MapItem{"description", m.Description})
  8043. }
  8044. if m.ExternalDocs != nil {
  8045. info = append(info, yaml.MapItem{"externalDocs", m.ExternalDocs.ToRawInfo()})
  8046. }
  8047. // &{Name:externalDocs Type:ExternalDocs StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
  8048. if m.SpecificationExtension != nil {
  8049. for _, item := range m.SpecificationExtension {
  8050. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  8051. }
  8052. }
  8053. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  8054. return info
  8055. }
  8056. // ToRawInfo returns a description of Xml suitable for JSON or YAML export.
  8057. func (m *Xml) ToRawInfo() interface{} {
  8058. info := yaml.MapSlice{}
  8059. if m.Name != "" {
  8060. info = append(info, yaml.MapItem{"name", m.Name})
  8061. }
  8062. if m.Namespace != "" {
  8063. info = append(info, yaml.MapItem{"namespace", m.Namespace})
  8064. }
  8065. if m.Prefix != "" {
  8066. info = append(info, yaml.MapItem{"prefix", m.Prefix})
  8067. }
  8068. if m.Attribute != false {
  8069. info = append(info, yaml.MapItem{"attribute", m.Attribute})
  8070. }
  8071. if m.Wrapped != false {
  8072. info = append(info, yaml.MapItem{"wrapped", m.Wrapped})
  8073. }
  8074. if m.SpecificationExtension != nil {
  8075. for _, item := range m.SpecificationExtension {
  8076. info = append(info, yaml.MapItem{item.Name, item.Value.ToRawInfo()})
  8077. }
  8078. }
  8079. // &{Name:SpecificationExtension Type:NamedAny StringEnumValues:[] MapType:Any Repeated:true Pattern:^x- Implicit:true Description:}
  8080. return info
  8081. }
  8082. var (
  8083. pattern0 = regexp.MustCompile("^")
  8084. pattern1 = regexp.MustCompile("^x-")
  8085. pattern2 = regexp.MustCompile("^/")
  8086. pattern3 = regexp.MustCompile("^([0-9X]{3})$")
  8087. pattern4 = regexp.MustCompile("^[a-zA-Z0-9\\.\\-_]+$")
  8088. )