12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417 |
- module.exports =
- /******/ (function(modules, runtime) { // webpackBootstrap
- /******/ "use strict";
- /******/ // The module cache
- /******/ var installedModules = {};
- /******/
- /******/ // The require function
- /******/ function __webpack_require__(moduleId) {
- /******/
- /******/ // Check if module is in cache
- /******/ if(installedModules[moduleId]) {
- /******/ return installedModules[moduleId].exports;
- /******/ }
- /******/ // Create a new module (and put it into the cache)
- /******/ var module = installedModules[moduleId] = {
- /******/ i: moduleId,
- /******/ l: false,
- /******/ exports: {}
- /******/ };
- /******/
- /******/ // Execute the module function
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
- /******/
- /******/ // Flag the module as loaded
- /******/ module.l = true;
- /******/
- /******/ // Return the exports of the module
- /******/ return module.exports;
- /******/ }
- /******/
- /******/
- /******/ __webpack_require__.ab = __dirname + "/";
- /******/
- /******/ // the startup function
- /******/ function startup() {
- /******/ // Load entry module and return exports
- /******/ return __webpack_require__(198);
- /******/ };
- /******/
- /******/ // run startup
- /******/ return startup();
- /******/ })
- /************************************************************************/
- /******/ ({
- /***/ 0:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- const { requestLog } = __webpack_require__(916);
- const {
- restEndpointMethods
- } = __webpack_require__(842);
- const Core = __webpack_require__(529);
- const CORE_PLUGINS = [
- __webpack_require__(190),
- __webpack_require__(19), // deprecated: remove in v17
- requestLog,
- __webpack_require__(148),
- restEndpointMethods,
- __webpack_require__(430),
- __webpack_require__(850) // deprecated: remove in v17
- ];
- const OctokitRest = Core.plugin(CORE_PLUGINS);
- function DeprecatedOctokit(options) {
- const warn =
- options && options.log && options.log.warn
- ? options.log.warn
- : console.warn;
- warn(
- '[@octokit/rest] `const Octokit = require("@octokit/rest")` is deprecated. Use `const { Octokit } = require("@octokit/rest")` instead'
- );
- return new OctokitRest(options);
- }
- const Octokit = Object.assign(DeprecatedOctokit, {
- Octokit: OctokitRest
- });
- Object.keys(OctokitRest).forEach(key => {
- /* istanbul ignore else */
- if (OctokitRest.hasOwnProperty(key)) {
- Octokit[key] = OctokitRest[key];
- }
- });
- module.exports = Octokit;
- /***/ }),
- /***/ 2:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- "use strict";
- const os = __webpack_require__(87);
- const macosRelease = __webpack_require__(118);
- const winRelease = __webpack_require__(49);
- const osName = (platform, release) => {
- if (!platform && release) {
- throw new Error('You can\'t specify a `release` without specifying `platform`');
- }
- platform = platform || os.platform();
- let id;
- if (platform === 'darwin') {
- if (!release && os.platform() === 'darwin') {
- release = os.release();
- }
- const prefix = release ? (Number(release.split('.')[0]) > 15 ? 'macOS' : 'OS X') : 'macOS';
- id = release ? macosRelease(release).name : '';
- return prefix + (id ? ' ' + id : '');
- }
- if (platform === 'linux') {
- if (!release && os.platform() === 'linux') {
- release = os.release();
- }
- id = release ? release.replace(/^(\d+\.\d+).*/, '$1') : '';
- return 'Linux' + (id ? ' ' + id : '');
- }
- if (platform === 'win32') {
- if (!release && os.platform() === 'win32') {
- release = os.release();
- }
- id = release ? winRelease(release) : '';
- return 'Windows' + (id ? ' ' + id : '');
- }
- return platform;
- };
- module.exports = osName;
- /***/ }),
- /***/ 9:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- var once = __webpack_require__(969);
- var noop = function() {};
- var isRequest = function(stream) {
- return stream.setHeader && typeof stream.abort === 'function';
- };
- var isChildProcess = function(stream) {
- return stream.stdio && Array.isArray(stream.stdio) && stream.stdio.length === 3
- };
- var eos = function(stream, opts, callback) {
- if (typeof opts === 'function') return eos(stream, null, opts);
- if (!opts) opts = {};
- callback = once(callback || noop);
- var ws = stream._writableState;
- var rs = stream._readableState;
- var readable = opts.readable || (opts.readable !== false && stream.readable);
- var writable = opts.writable || (opts.writable !== false && stream.writable);
- var cancelled = false;
- var onlegacyfinish = function() {
- if (!stream.writable) onfinish();
- };
- var onfinish = function() {
- writable = false;
- if (!readable) callback.call(stream);
- };
- var onend = function() {
- readable = false;
- if (!writable) callback.call(stream);
- };
- var onexit = function(exitCode) {
- callback.call(stream, exitCode ? new Error('exited with error code: ' + exitCode) : null);
- };
- var onerror = function(err) {
- callback.call(stream, err);
- };
- var onclose = function() {
- process.nextTick(onclosenexttick);
- };
- var onclosenexttick = function() {
- if (cancelled) return;
- if (readable && !(rs && (rs.ended && !rs.destroyed))) return callback.call(stream, new Error('premature close'));
- if (writable && !(ws && (ws.ended && !ws.destroyed))) return callback.call(stream, new Error('premature close'));
- };
- var onrequest = function() {
- stream.req.on('finish', onfinish);
- };
- if (isRequest(stream)) {
- stream.on('complete', onfinish);
- stream.on('abort', onclose);
- if (stream.req) onrequest();
- else stream.on('request', onrequest);
- } else if (writable && !ws) { // legacy streams
- stream.on('end', onlegacyfinish);
- stream.on('close', onlegacyfinish);
- }
- if (isChildProcess(stream)) stream.on('exit', onexit);
- stream.on('end', onend);
- stream.on('finish', onfinish);
- if (opts.error !== false) stream.on('error', onerror);
- stream.on('close', onclose);
- return function() {
- cancelled = true;
- stream.removeListener('complete', onfinish);
- stream.removeListener('abort', onclose);
- stream.removeListener('request', onrequest);
- if (stream.req) stream.req.removeListener('finish', onfinish);
- stream.removeListener('end', onlegacyfinish);
- stream.removeListener('close', onlegacyfinish);
- stream.removeListener('finish', onfinish);
- stream.removeListener('exit', onexit);
- stream.removeListener('end', onend);
- stream.removeListener('error', onerror);
- stream.removeListener('close', onclose);
- };
- };
- module.exports = eos;
- /***/ }),
- /***/ 11:
- /***/ (function(module) {
- // Returns a wrapper function that returns a wrapped callback
- // The wrapper function should do some stuff, and return a
- // presumably different callback function.
- // This makes sure that own properties are retained, so that
- // decorations and such are not lost along the way.
- module.exports = wrappy
- function wrappy (fn, cb) {
- if (fn && cb) return wrappy(fn)(cb)
- if (typeof fn !== 'function')
- throw new TypeError('need wrapper function')
- Object.keys(fn).forEach(function (k) {
- wrapper[k] = fn[k]
- })
- return wrapper
- function wrapper() {
- var args = new Array(arguments.length)
- for (var i = 0; i < args.length; i++) {
- args[i] = arguments[i]
- }
- var ret = fn.apply(this, args)
- var cb = args[args.length-1]
- if (typeof ret === 'function' && ret !== cb) {
- Object.keys(cb).forEach(function (k) {
- ret[k] = cb[k]
- })
- }
- return ret
- }
- }
- /***/ }),
- /***/ 16:
- /***/ (function(module) {
- module.exports = require("tls");
- /***/ }),
- /***/ 18:
- /***/ (function(module) {
- module.exports = eval("require")("encoding");
- /***/ }),
- /***/ 19:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = authenticationPlugin;
- const { Deprecation } = __webpack_require__(692);
- const once = __webpack_require__(969);
- const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation));
- const authenticate = __webpack_require__(674);
- const beforeRequest = __webpack_require__(471);
- const requestError = __webpack_require__(349);
- function authenticationPlugin(octokit, options) {
- if (options.auth) {
- octokit.authenticate = () => {
- deprecateAuthenticate(
- octokit.log,
- new Deprecation(
- '[@octokit/rest] octokit.authenticate() is deprecated and has no effect when "auth" option is set on Octokit constructor'
- )
- );
- };
- return;
- }
- const state = {
- octokit,
- auth: false
- };
- octokit.authenticate = authenticate.bind(null, state);
- octokit.hook.before("request", beforeRequest.bind(null, state));
- octokit.hook.error("request", requestError.bind(null, state));
- }
- /***/ }),
- /***/ 20:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- "use strict";
- const cp = __webpack_require__(129);
- const parse = __webpack_require__(568);
- const enoent = __webpack_require__(881);
- function spawn(command, args, options) {
- // Parse the arguments
- const parsed = parse(command, args, options);
- // Spawn the child process
- const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
- // Hook into child process "exit" event to emit an error if the command
- // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16
- enoent.hookChildProcess(spawned, parsed);
- return spawned;
- }
- function spawnSync(command, args, options) {
- // Parse the arguments
- const parsed = parse(command, args, options);
- // Spawn the child process
- const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);
- // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16
- result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);
- return result;
- }
- module.exports = spawn;
- module.exports.spawn = spawn;
- module.exports.sync = spawnSync;
- module.exports._parse = parse;
- module.exports._enoent = enoent;
- /***/ }),
- /***/ 39:
- /***/ (function(module) {
- "use strict";
- module.exports = opts => {
- opts = opts || {};
- const env = opts.env || process.env;
- const platform = opts.platform || process.platform;
- if (platform !== 'win32') {
- return 'PATH';
- }
- return Object.keys(env).find(x => x.toUpperCase() === 'PATH') || 'Path';
- };
- /***/ }),
- /***/ 47:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = factory;
- const Octokit = __webpack_require__(402);
- const registerPlugin = __webpack_require__(855);
- function factory(plugins) {
- const Api = Octokit.bind(null, plugins || []);
- Api.plugin = registerPlugin.bind(null, plugins || []);
- return Api;
- }
- /***/ }),
- /***/ 49:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- "use strict";
- const os = __webpack_require__(87);
- const execa = __webpack_require__(955);
- // Reference: https://www.gaijin.at/en/lstwinver.php
- const names = new Map([
- ['10.0', '10'],
- ['6.3', '8.1'],
- ['6.2', '8'],
- ['6.1', '7'],
- ['6.0', 'Vista'],
- ['5.2', 'Server 2003'],
- ['5.1', 'XP'],
- ['5.0', '2000'],
- ['4.9', 'ME'],
- ['4.1', '98'],
- ['4.0', '95']
- ]);
- const windowsRelease = release => {
- const version = /\d+\.\d/.exec(release || os.release());
- if (release && !version) {
- throw new Error('`release` argument doesn\'t match `n.n`');
- }
- const ver = (version || [])[0];
- // Server 2008, 2012, 2016, and 2019 versions are ambiguous with desktop versions and must be detected at runtime.
- // If `release` is omitted or we're on a Windows system, and the version number is an ambiguous version
- // then use `wmic` to get the OS caption: https://msdn.microsoft.com/en-us/library/aa394531(v=vs.85).aspx
- // If `wmic` is obsoloete (later versions of Windows 10), use PowerShell instead.
- // If the resulting caption contains the year 2008, 2012, 2016 or 2019, it is a server version, so return a server OS name.
- if ((!release || release === os.release()) && ['6.1', '6.2', '6.3', '10.0'].includes(ver)) {
- let stdout;
- try {
- stdout = execa.sync('powershell', ['(Get-CimInstance -ClassName Win32_OperatingSystem).caption']).stdout || '';
- } catch (_) {
- stdout = execa.sync('wmic', ['os', 'get', 'Caption']).stdout || '';
- }
- const year = (stdout.match(/2008|2012|2016|2019/) || [])[0];
- if (year) {
- return `Server ${year}`;
- }
- }
- return names.get(ver);
- };
- module.exports = windowsRelease;
- /***/ }),
- /***/ 87:
- /***/ (function(module) {
- module.exports = require("os");
- /***/ }),
- /***/ 118:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- "use strict";
- const os = __webpack_require__(87);
- const nameMap = new Map([
- [19, 'Catalina'],
- [18, 'Mojave'],
- [17, 'High Sierra'],
- [16, 'Sierra'],
- [15, 'El Capitan'],
- [14, 'Yosemite'],
- [13, 'Mavericks'],
- [12, 'Mountain Lion'],
- [11, 'Lion'],
- [10, 'Snow Leopard'],
- [9, 'Leopard'],
- [8, 'Tiger'],
- [7, 'Panther'],
- [6, 'Jaguar'],
- [5, 'Puma']
- ]);
- const macosRelease = release => {
- release = Number((release || os.release()).split('.')[0]);
- return {
- name: nameMap.get(release),
- version: '10.' + (release - 4)
- };
- };
- module.exports = macosRelease;
- // TODO: remove this in the next major version
- module.exports.default = macosRelease;
- /***/ }),
- /***/ 126:
- /***/ (function(module) {
- /**
- * lodash (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */
- /** Used as the size to enable large array optimizations. */
- var LARGE_ARRAY_SIZE = 200;
- /** Used to stand-in for `undefined` hash values. */
- var HASH_UNDEFINED = '__lodash_hash_undefined__';
- /** Used as references for various `Number` constants. */
- var INFINITY = 1 / 0;
- /** `Object#toString` result references. */
- var funcTag = '[object Function]',
- genTag = '[object GeneratorFunction]';
- /**
- * Used to match `RegExp`
- * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
- */
- var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
- /** Used to detect host constructors (Safari). */
- var reIsHostCtor = /^\[object .+?Constructor\]$/;
- /** Detect free variable `global` from Node.js. */
- var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
- /** Detect free variable `self`. */
- var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
- /** Used as a reference to the global object. */
- var root = freeGlobal || freeSelf || Function('return this')();
- /**
- * A specialized version of `_.includes` for arrays without support for
- * specifying an index to search from.
- *
- * @private
- * @param {Array} [array] The array to inspect.
- * @param {*} target The value to search for.
- * @returns {boolean} Returns `true` if `target` is found, else `false`.
- */
- function arrayIncludes(array, value) {
- var length = array ? array.length : 0;
- return !!length && baseIndexOf(array, value, 0) > -1;
- }
- /**
- * This function is like `arrayIncludes` except that it accepts a comparator.
- *
- * @private
- * @param {Array} [array] The array to inspect.
- * @param {*} target The value to search for.
- * @param {Function} comparator The comparator invoked per element.
- * @returns {boolean} Returns `true` if `target` is found, else `false`.
- */
- function arrayIncludesWith(array, value, comparator) {
- var index = -1,
- length = array ? array.length : 0;
- while (++index < length) {
- if (comparator(value, array[index])) {
- return true;
- }
- }
- return false;
- }
- /**
- * The base implementation of `_.findIndex` and `_.findLastIndex` without
- * support for iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {Function} predicate The function invoked per iteration.
- * @param {number} fromIndex The index to search from.
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function baseFindIndex(array, predicate, fromIndex, fromRight) {
- var length = array.length,
- index = fromIndex + (fromRight ? 1 : -1);
- while ((fromRight ? index-- : ++index < length)) {
- if (predicate(array[index], index, array)) {
- return index;
- }
- }
- return -1;
- }
- /**
- * The base implementation of `_.indexOf` without `fromIndex` bounds checks.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @param {number} fromIndex The index to search from.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function baseIndexOf(array, value, fromIndex) {
- if (value !== value) {
- return baseFindIndex(array, baseIsNaN, fromIndex);
- }
- var index = fromIndex - 1,
- length = array.length;
- while (++index < length) {
- if (array[index] === value) {
- return index;
- }
- }
- return -1;
- }
- /**
- * The base implementation of `_.isNaN` without support for number objects.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
- */
- function baseIsNaN(value) {
- return value !== value;
- }
- /**
- * Checks if a cache value for `key` exists.
- *
- * @private
- * @param {Object} cache The cache to query.
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function cacheHas(cache, key) {
- return cache.has(key);
- }
- /**
- * Gets the value at `key` of `object`.
- *
- * @private
- * @param {Object} [object] The object to query.
- * @param {string} key The key of the property to get.
- * @returns {*} Returns the property value.
- */
- function getValue(object, key) {
- return object == null ? undefined : object[key];
- }
- /**
- * Checks if `value` is a host object in IE < 9.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a host object, else `false`.
- */
- function isHostObject(value) {
- // Many host objects are `Object` objects that can coerce to strings
- // despite having improperly defined `toString` methods.
- var result = false;
- if (value != null && typeof value.toString != 'function') {
- try {
- result = !!(value + '');
- } catch (e) {}
- }
- return result;
- }
- /**
- * Converts `set` to an array of its values.
- *
- * @private
- * @param {Object} set The set to convert.
- * @returns {Array} Returns the values.
- */
- function setToArray(set) {
- var index = -1,
- result = Array(set.size);
- set.forEach(function(value) {
- result[++index] = value;
- });
- return result;
- }
- /** Used for built-in method references. */
- var arrayProto = Array.prototype,
- funcProto = Function.prototype,
- objectProto = Object.prototype;
- /** Used to detect overreaching core-js shims. */
- var coreJsData = root['__core-js_shared__'];
- /** Used to detect methods masquerading as native. */
- var maskSrcKey = (function() {
- var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
- return uid ? ('Symbol(src)_1.' + uid) : '';
- }());
- /** Used to resolve the decompiled source of functions. */
- var funcToString = funcProto.toString;
- /** Used to check objects for own properties. */
- var hasOwnProperty = objectProto.hasOwnProperty;
- /**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
- * of values.
- */
- var objectToString = objectProto.toString;
- /** Used to detect if a method is native. */
- var reIsNative = RegExp('^' +
- funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
- .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
- );
- /** Built-in value references. */
- var splice = arrayProto.splice;
- /* Built-in method references that are verified to be native. */
- var Map = getNative(root, 'Map'),
- Set = getNative(root, 'Set'),
- nativeCreate = getNative(Object, 'create');
- /**
- * Creates a hash object.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function Hash(entries) {
- var index = -1,
- length = entries ? entries.length : 0;
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
- /**
- * Removes all key-value entries from the hash.
- *
- * @private
- * @name clear
- * @memberOf Hash
- */
- function hashClear() {
- this.__data__ = nativeCreate ? nativeCreate(null) : {};
- }
- /**
- * Removes `key` and its value from the hash.
- *
- * @private
- * @name delete
- * @memberOf Hash
- * @param {Object} hash The hash to modify.
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function hashDelete(key) {
- return this.has(key) && delete this.__data__[key];
- }
- /**
- * Gets the hash value for `key`.
- *
- * @private
- * @name get
- * @memberOf Hash
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function hashGet(key) {
- var data = this.__data__;
- if (nativeCreate) {
- var result = data[key];
- return result === HASH_UNDEFINED ? undefined : result;
- }
- return hasOwnProperty.call(data, key) ? data[key] : undefined;
- }
- /**
- * Checks if a hash value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf Hash
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function hashHas(key) {
- var data = this.__data__;
- return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);
- }
- /**
- * Sets the hash `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf Hash
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the hash instance.
- */
- function hashSet(key, value) {
- var data = this.__data__;
- data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
- return this;
- }
- // Add methods to `Hash`.
- Hash.prototype.clear = hashClear;
- Hash.prototype['delete'] = hashDelete;
- Hash.prototype.get = hashGet;
- Hash.prototype.has = hashHas;
- Hash.prototype.set = hashSet;
- /**
- * Creates an list cache object.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function ListCache(entries) {
- var index = -1,
- length = entries ? entries.length : 0;
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
- /**
- * Removes all key-value entries from the list cache.
- *
- * @private
- * @name clear
- * @memberOf ListCache
- */
- function listCacheClear() {
- this.__data__ = [];
- }
- /**
- * Removes `key` and its value from the list cache.
- *
- * @private
- * @name delete
- * @memberOf ListCache
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function listCacheDelete(key) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
- if (index < 0) {
- return false;
- }
- var lastIndex = data.length - 1;
- if (index == lastIndex) {
- data.pop();
- } else {
- splice.call(data, index, 1);
- }
- return true;
- }
- /**
- * Gets the list cache value for `key`.
- *
- * @private
- * @name get
- * @memberOf ListCache
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function listCacheGet(key) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
- return index < 0 ? undefined : data[index][1];
- }
- /**
- * Checks if a list cache value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf ListCache
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function listCacheHas(key) {
- return assocIndexOf(this.__data__, key) > -1;
- }
- /**
- * Sets the list cache `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf ListCache
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the list cache instance.
- */
- function listCacheSet(key, value) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
- if (index < 0) {
- data.push([key, value]);
- } else {
- data[index][1] = value;
- }
- return this;
- }
- // Add methods to `ListCache`.
- ListCache.prototype.clear = listCacheClear;
- ListCache.prototype['delete'] = listCacheDelete;
- ListCache.prototype.get = listCacheGet;
- ListCache.prototype.has = listCacheHas;
- ListCache.prototype.set = listCacheSet;
- /**
- * Creates a map cache object to store key-value pairs.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function MapCache(entries) {
- var index = -1,
- length = entries ? entries.length : 0;
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
- /**
- * Removes all key-value entries from the map.
- *
- * @private
- * @name clear
- * @memberOf MapCache
- */
- function mapCacheClear() {
- this.__data__ = {
- 'hash': new Hash,
- 'map': new (Map || ListCache),
- 'string': new Hash
- };
- }
- /**
- * Removes `key` and its value from the map.
- *
- * @private
- * @name delete
- * @memberOf MapCache
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function mapCacheDelete(key) {
- return getMapData(this, key)['delete'](key);
- }
- /**
- * Gets the map value for `key`.
- *
- * @private
- * @name get
- * @memberOf MapCache
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function mapCacheGet(key) {
- return getMapData(this, key).get(key);
- }
- /**
- * Checks if a map value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf MapCache
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function mapCacheHas(key) {
- return getMapData(this, key).has(key);
- }
- /**
- * Sets the map `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf MapCache
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the map cache instance.
- */
- function mapCacheSet(key, value) {
- getMapData(this, key).set(key, value);
- return this;
- }
- // Add methods to `MapCache`.
- MapCache.prototype.clear = mapCacheClear;
- MapCache.prototype['delete'] = mapCacheDelete;
- MapCache.prototype.get = mapCacheGet;
- MapCache.prototype.has = mapCacheHas;
- MapCache.prototype.set = mapCacheSet;
- /**
- *
- * Creates an array cache object to store unique values.
- *
- * @private
- * @constructor
- * @param {Array} [values] The values to cache.
- */
- function SetCache(values) {
- var index = -1,
- length = values ? values.length : 0;
- this.__data__ = new MapCache;
- while (++index < length) {
- this.add(values[index]);
- }
- }
- /**
- * Adds `value` to the array cache.
- *
- * @private
- * @name add
- * @memberOf SetCache
- * @alias push
- * @param {*} value The value to cache.
- * @returns {Object} Returns the cache instance.
- */
- function setCacheAdd(value) {
- this.__data__.set(value, HASH_UNDEFINED);
- return this;
- }
- /**
- * Checks if `value` is in the array cache.
- *
- * @private
- * @name has
- * @memberOf SetCache
- * @param {*} value The value to search for.
- * @returns {number} Returns `true` if `value` is found, else `false`.
- */
- function setCacheHas(value) {
- return this.__data__.has(value);
- }
- // Add methods to `SetCache`.
- SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
- SetCache.prototype.has = setCacheHas;
- /**
- * Gets the index at which the `key` is found in `array` of key-value pairs.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} key The key to search for.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function assocIndexOf(array, key) {
- var length = array.length;
- while (length--) {
- if (eq(array[length][0], key)) {
- return length;
- }
- }
- return -1;
- }
- /**
- * The base implementation of `_.isNative` without bad shim checks.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a native function,
- * else `false`.
- */
- function baseIsNative(value) {
- if (!isObject(value) || isMasked(value)) {
- return false;
- }
- var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;
- return pattern.test(toSource(value));
- }
- /**
- * The base implementation of `_.uniqBy` without support for iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new duplicate free array.
- */
- function baseUniq(array, iteratee, comparator) {
- var index = -1,
- includes = arrayIncludes,
- length = array.length,
- isCommon = true,
- result = [],
- seen = result;
- if (comparator) {
- isCommon = false;
- includes = arrayIncludesWith;
- }
- else if (length >= LARGE_ARRAY_SIZE) {
- var set = iteratee ? null : createSet(array);
- if (set) {
- return setToArray(set);
- }
- isCommon = false;
- includes = cacheHas;
- seen = new SetCache;
- }
- else {
- seen = iteratee ? [] : result;
- }
- outer:
- while (++index < length) {
- var value = array[index],
- computed = iteratee ? iteratee(value) : value;
- value = (comparator || value !== 0) ? value : 0;
- if (isCommon && computed === computed) {
- var seenIndex = seen.length;
- while (seenIndex--) {
- if (seen[seenIndex] === computed) {
- continue outer;
- }
- }
- if (iteratee) {
- seen.push(computed);
- }
- result.push(value);
- }
- else if (!includes(seen, computed, comparator)) {
- if (seen !== result) {
- seen.push(computed);
- }
- result.push(value);
- }
- }
- return result;
- }
- /**
- * Creates a set object of `values`.
- *
- * @private
- * @param {Array} values The values to add to the set.
- * @returns {Object} Returns the new set.
- */
- var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {
- return new Set(values);
- };
- /**
- * Gets the data for `map`.
- *
- * @private
- * @param {Object} map The map to query.
- * @param {string} key The reference key.
- * @returns {*} Returns the map data.
- */
- function getMapData(map, key) {
- var data = map.__data__;
- return isKeyable(key)
- ? data[typeof key == 'string' ? 'string' : 'hash']
- : data.map;
- }
- /**
- * Gets the native function at `key` of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {string} key The key of the method to get.
- * @returns {*} Returns the function if it's native, else `undefined`.
- */
- function getNative(object, key) {
- var value = getValue(object, key);
- return baseIsNative(value) ? value : undefined;
- }
- /**
- * Checks if `value` is suitable for use as unique object key.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
- */
- function isKeyable(value) {
- var type = typeof value;
- return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
- ? (value !== '__proto__')
- : (value === null);
- }
- /**
- * Checks if `func` has its source masked.
- *
- * @private
- * @param {Function} func The function to check.
- * @returns {boolean} Returns `true` if `func` is masked, else `false`.
- */
- function isMasked(func) {
- return !!maskSrcKey && (maskSrcKey in func);
- }
- /**
- * Converts `func` to its source code.
- *
- * @private
- * @param {Function} func The function to process.
- * @returns {string} Returns the source code.
- */
- function toSource(func) {
- if (func != null) {
- try {
- return funcToString.call(func);
- } catch (e) {}
- try {
- return (func + '');
- } catch (e) {}
- }
- return '';
- }
- /**
- * Creates a duplicate-free version of an array, using
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons, in which only the first occurrence of each
- * element is kept.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @returns {Array} Returns the new duplicate free array.
- * @example
- *
- * _.uniq([2, 1, 2]);
- * // => [2, 1]
- */
- function uniq(array) {
- return (array && array.length)
- ? baseUniq(array)
- : [];
- }
- /**
- * Performs a
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * comparison between two values to determine if they are equivalent.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- * @example
- *
- * var object = { 'a': 1 };
- * var other = { 'a': 1 };
- *
- * _.eq(object, object);
- * // => true
- *
- * _.eq(object, other);
- * // => false
- *
- * _.eq('a', 'a');
- * // => true
- *
- * _.eq('a', Object('a'));
- * // => false
- *
- * _.eq(NaN, NaN);
- * // => true
- */
- function eq(value, other) {
- return value === other || (value !== value && other !== other);
- }
- /**
- * Checks if `value` is classified as a `Function` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a function, else `false`.
- * @example
- *
- * _.isFunction(_);
- * // => true
- *
- * _.isFunction(/abc/);
- * // => false
- */
- function isFunction(value) {
- // The use of `Object#toString` avoids issues with the `typeof` operator
- // in Safari 8-9 which returns 'object' for typed array and other constructors.
- var tag = isObject(value) ? objectToString.call(value) : '';
- return tag == funcTag || tag == genTag;
- }
- /**
- * Checks if `value` is the
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
- * @example
- *
- * _.isObject({});
- * // => true
- *
- * _.isObject([1, 2, 3]);
- * // => true
- *
- * _.isObject(_.noop);
- * // => true
- *
- * _.isObject(null);
- * // => false
- */
- function isObject(value) {
- var type = typeof value;
- return !!value && (type == 'object' || type == 'function');
- }
- /**
- * This method returns `undefined`.
- *
- * @static
- * @memberOf _
- * @since 2.3.0
- * @category Util
- * @example
- *
- * _.times(2, _.noop);
- * // => [undefined, undefined]
- */
- function noop() {
- // No operation performed.
- }
- module.exports = uniq;
- /***/ }),
- /***/ 129:
- /***/ (function(module) {
- module.exports = require("child_process");
- /***/ }),
- /***/ 141:
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
- "use strict";
- var net = __webpack_require__(631);
- var tls = __webpack_require__(16);
- var http = __webpack_require__(605);
- var https = __webpack_require__(211);
- var events = __webpack_require__(614);
- var assert = __webpack_require__(357);
- var util = __webpack_require__(669);
- exports.httpOverHttp = httpOverHttp;
- exports.httpsOverHttp = httpsOverHttp;
- exports.httpOverHttps = httpOverHttps;
- exports.httpsOverHttps = httpsOverHttps;
- function httpOverHttp(options) {
- var agent = new TunnelingAgent(options);
- agent.request = http.request;
- return agent;
- }
- function httpsOverHttp(options) {
- var agent = new TunnelingAgent(options);
- agent.request = http.request;
- agent.createSocket = createSecureSocket;
- agent.defaultPort = 443;
- return agent;
- }
- function httpOverHttps(options) {
- var agent = new TunnelingAgent(options);
- agent.request = https.request;
- return agent;
- }
- function httpsOverHttps(options) {
- var agent = new TunnelingAgent(options);
- agent.request = https.request;
- agent.createSocket = createSecureSocket;
- agent.defaultPort = 443;
- return agent;
- }
- function TunnelingAgent(options) {
- var self = this;
- self.options = options || {};
- self.proxyOptions = self.options.proxy || {};
- self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;
- self.requests = [];
- self.sockets = [];
- self.on('free', function onFree(socket, host, port, localAddress) {
- var options = toOptions(host, port, localAddress);
- for (var i = 0, len = self.requests.length; i < len; ++i) {
- var pending = self.requests[i];
- if (pending.host === options.host && pending.port === options.port) {
- // Detect the request to connect same origin server,
- // reuse the connection.
- self.requests.splice(i, 1);
- pending.request.onSocket(socket);
- return;
- }
- }
- socket.destroy();
- self.removeSocket(socket);
- });
- }
- util.inherits(TunnelingAgent, events.EventEmitter);
- TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {
- var self = this;
- var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));
- if (self.sockets.length >= this.maxSockets) {
- // We are over limit so we'll add it to the queue.
- self.requests.push(options);
- return;
- }
- // If we are under maxSockets create a new one.
- self.createSocket(options, function(socket) {
- socket.on('free', onFree);
- socket.on('close', onCloseOrRemove);
- socket.on('agentRemove', onCloseOrRemove);
- req.onSocket(socket);
- function onFree() {
- self.emit('free', socket, options);
- }
- function onCloseOrRemove(err) {
- self.removeSocket(socket);
- socket.removeListener('free', onFree);
- socket.removeListener('close', onCloseOrRemove);
- socket.removeListener('agentRemove', onCloseOrRemove);
- }
- });
- };
- TunnelingAgent.prototype.createSocket = function createSocket(options, cb) {
- var self = this;
- var placeholder = {};
- self.sockets.push(placeholder);
- var connectOptions = mergeOptions({}, self.proxyOptions, {
- method: 'CONNECT',
- path: options.host + ':' + options.port,
- agent: false,
- headers: {
- host: options.host + ':' + options.port
- }
- });
- if (options.localAddress) {
- connectOptions.localAddress = options.localAddress;
- }
- if (connectOptions.proxyAuth) {
- connectOptions.headers = connectOptions.headers || {};
- connectOptions.headers['Proxy-Authorization'] = 'Basic ' +
- new Buffer(connectOptions.proxyAuth).toString('base64');
- }
- debug('making CONNECT request');
- var connectReq = self.request(connectOptions);
- connectReq.useChunkedEncodingByDefault = false; // for v0.6
- connectReq.once('response', onResponse); // for v0.6
- connectReq.once('upgrade', onUpgrade); // for v0.6
- connectReq.once('connect', onConnect); // for v0.7 or later
- connectReq.once('error', onError);
- connectReq.end();
- function onResponse(res) {
- // Very hacky. This is necessary to avoid http-parser leaks.
- res.upgrade = true;
- }
- function onUpgrade(res, socket, head) {
- // Hacky.
- process.nextTick(function() {
- onConnect(res, socket, head);
- });
- }
- function onConnect(res, socket, head) {
- connectReq.removeAllListeners();
- socket.removeAllListeners();
- if (res.statusCode !== 200) {
- debug('tunneling socket could not be established, statusCode=%d',
- res.statusCode);
- socket.destroy();
- var error = new Error('tunneling socket could not be established, ' +
- 'statusCode=' + res.statusCode);
- error.code = 'ECONNRESET';
- options.request.emit('error', error);
- self.removeSocket(placeholder);
- return;
- }
- if (head.length > 0) {
- debug('got illegal response body from proxy');
- socket.destroy();
- var error = new Error('got illegal response body from proxy');
- error.code = 'ECONNRESET';
- options.request.emit('error', error);
- self.removeSocket(placeholder);
- return;
- }
- debug('tunneling connection has established');
- self.sockets[self.sockets.indexOf(placeholder)] = socket;
- return cb(socket);
- }
- function onError(cause) {
- connectReq.removeAllListeners();
- debug('tunneling socket could not be established, cause=%s\n',
- cause.message, cause.stack);
- var error = new Error('tunneling socket could not be established, ' +
- 'cause=' + cause.message);
- error.code = 'ECONNRESET';
- options.request.emit('error', error);
- self.removeSocket(placeholder);
- }
- };
- TunnelingAgent.prototype.removeSocket = function removeSocket(socket) {
- var pos = this.sockets.indexOf(socket)
- if (pos === -1) {
- return;
- }
- this.sockets.splice(pos, 1);
- var pending = this.requests.shift();
- if (pending) {
- // If we have pending requests and a socket gets closed a new one
- // needs to be created to take over in the pool for the one that closed.
- this.createSocket(pending, function(socket) {
- pending.request.onSocket(socket);
- });
- }
- };
- function createSecureSocket(options, cb) {
- var self = this;
- TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {
- var hostHeader = options.request.getHeader('host');
- var tlsOptions = mergeOptions({}, self.options, {
- socket: socket,
- servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host
- });
- // 0 is dummy port for v0.6
- var secureSocket = tls.connect(0, tlsOptions);
- self.sockets[self.sockets.indexOf(socket)] = secureSocket;
- cb(secureSocket);
- });
- }
- function toOptions(host, port, localAddress) {
- if (typeof host === 'string') { // since v0.10
- return {
- host: host,
- port: port,
- localAddress: localAddress
- };
- }
- return host; // for v0.11 or later
- }
- function mergeOptions(target) {
- for (var i = 1, len = arguments.length; i < len; ++i) {
- var overrides = arguments[i];
- if (typeof overrides === 'object') {
- var keys = Object.keys(overrides);
- for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {
- var k = keys[j];
- if (overrides[k] !== undefined) {
- target[k] = overrides[k];
- }
- }
- }
- }
- return target;
- }
- var debug;
- if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) {
- debug = function() {
- var args = Array.prototype.slice.call(arguments);
- if (typeof args[0] === 'string') {
- args[0] = 'TUNNEL: ' + args[0];
- } else {
- args.unshift('TUNNEL:');
- }
- console.error.apply(console, args);
- }
- } else {
- debug = function() {};
- }
- exports.debug = debug; // for test
- /***/ }),
- /***/ 143:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = withAuthorizationPrefix;
- const atob = __webpack_require__(368);
- const REGEX_IS_BASIC_AUTH = /^[\w-]+:/;
- function withAuthorizationPrefix(authorization) {
- if (/^(basic|bearer|token) /i.test(authorization)) {
- return authorization;
- }
- try {
- if (REGEX_IS_BASIC_AUTH.test(atob(authorization))) {
- return `basic ${authorization}`;
- }
- } catch (error) {}
- if (authorization.split(/\./).length === 3) {
- return `bearer ${authorization}`;
- }
- return `token ${authorization}`;
- }
- /***/ }),
- /***/ 145:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- "use strict";
- const pump = __webpack_require__(453);
- const bufferStream = __webpack_require__(966);
- class MaxBufferError extends Error {
- constructor() {
- super('maxBuffer exceeded');
- this.name = 'MaxBufferError';
- }
- }
- function getStream(inputStream, options) {
- if (!inputStream) {
- return Promise.reject(new Error('Expected a stream'));
- }
- options = Object.assign({maxBuffer: Infinity}, options);
- const {maxBuffer} = options;
- let stream;
- return new Promise((resolve, reject) => {
- const rejectPromise = error => {
- if (error) { // A null check
- error.bufferedData = stream.getBufferedValue();
- }
- reject(error);
- };
- stream = pump(inputStream, bufferStream(options), error => {
- if (error) {
- rejectPromise(error);
- return;
- }
- resolve();
- });
- stream.on('data', () => {
- if (stream.getBufferedLength() > maxBuffer) {
- rejectPromise(new MaxBufferError());
- }
- });
- }).then(() => stream.getBufferedValue());
- }
- module.exports = getStream;
- module.exports.buffer = (stream, options) => getStream(stream, Object.assign({}, options, {encoding: 'buffer'}));
- module.exports.array = (stream, options) => getStream(stream, Object.assign({}, options, {array: true}));
- module.exports.MaxBufferError = MaxBufferError;
- /***/ }),
- /***/ 148:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = paginatePlugin;
- const { paginateRest } = __webpack_require__(299);
- function paginatePlugin(octokit) {
- Object.assign(octokit, paginateRest(octokit));
- }
- /***/ }),
- /***/ 168:
- /***/ (function(module) {
- "use strict";
- const alias = ['stdin', 'stdout', 'stderr'];
- const hasAlias = opts => alias.some(x => Boolean(opts[x]));
- module.exports = opts => {
- if (!opts) {
- return null;
- }
- if (opts.stdio && hasAlias(opts)) {
- throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${alias.map(x => `\`${x}\``).join(', ')}`);
- }
- if (typeof opts.stdio === 'string') {
- return opts.stdio;
- }
- const stdio = opts.stdio || [];
- if (!Array.isArray(stdio)) {
- throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof stdio}\``);
- }
- const result = [];
- const len = Math.max(stdio.length, alias.length);
- for (let i = 0; i < len; i++) {
- let value = null;
- if (stdio[i] !== undefined) {
- value = stdio[i];
- } else if (opts[alias[i]] !== undefined) {
- value = opts[alias[i]];
- }
- result[i] = value;
- }
- return result;
- };
- /***/ }),
- /***/ 190:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = authenticationPlugin;
- const { createTokenAuth } = __webpack_require__(813);
- const { Deprecation } = __webpack_require__(692);
- const once = __webpack_require__(969);
- const beforeRequest = __webpack_require__(863);
- const requestError = __webpack_require__(293);
- const validate = __webpack_require__(954);
- const withAuthorizationPrefix = __webpack_require__(143);
- const deprecateAuthBasic = once((log, deprecation) => log.warn(deprecation));
- const deprecateAuthObject = once((log, deprecation) => log.warn(deprecation));
- function authenticationPlugin(octokit, options) {
- // If `options.authStrategy` is set then use it and pass in `options.auth`
- if (options.authStrategy) {
- const auth = options.authStrategy(options.auth);
- octokit.hook.wrap("request", auth.hook);
- octokit.auth = auth;
- return;
- }
- // If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance
- // is unauthenticated. The `octokit.auth()` method is a no-op and no request hook is registred.
- if (!options.auth) {
- octokit.auth = () =>
- Promise.resolve({
- type: "unauthenticated"
- });
- return;
- }
- const isBasicAuthString =
- typeof options.auth === "string" &&
- /^basic/.test(withAuthorizationPrefix(options.auth));
- // If only `options.auth` is set to a string, use the default token authentication strategy.
- if (typeof options.auth === "string" && !isBasicAuthString) {
- const auth = createTokenAuth(options.auth);
- octokit.hook.wrap("request", auth.hook);
- octokit.auth = auth;
- return;
- }
- // Otherwise log a deprecation message
- const [deprecationMethod, deprecationMessapge] = isBasicAuthString
- ? [
- deprecateAuthBasic,
- 'Setting the "new Octokit({ auth })" option to a Basic Auth string is deprecated. Use https://github.com/octokit/auth-basic.js instead. See (https://octokit.github.io/rest.js/#authentication)'
- ]
- : [
- deprecateAuthObject,
- 'Setting the "new Octokit({ auth })" option to an object without also setting the "authStrategy" option is deprecated and will be removed in v17. See (https://octokit.github.io/rest.js/#authentication)'
- ];
- deprecationMethod(
- octokit.log,
- new Deprecation("[@octokit/rest] " + deprecationMessapge)
- );
- octokit.auth = () =>
- Promise.resolve({
- type: "deprecated",
- message: deprecationMessapge
- });
- validate(options.auth);
- const state = {
- octokit,
- auth: options.auth
- };
- octokit.hook.before("request", beforeRequest.bind(null, state));
- octokit.hook.error("request", requestError.bind(null, state));
- }
- /***/ }),
- /***/ 197:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = isexe
- isexe.sync = sync
- var fs = __webpack_require__(747)
- function isexe (path, options, cb) {
- fs.stat(path, function (er, stat) {
- cb(er, er ? false : checkStat(stat, options))
- })
- }
- function sync (path, options) {
- return checkStat(fs.statSync(path), options)
- }
- function checkStat (stat, options) {
- return stat.isFile() && checkMode(stat, options)
- }
- function checkMode (stat, options) {
- var mod = stat.mode
- var uid = stat.uid
- var gid = stat.gid
- var myUid = options.uid !== undefined ?
- options.uid : process.getuid && process.getuid()
- var myGid = options.gid !== undefined ?
- options.gid : process.getgid && process.getgid()
- var u = parseInt('100', 8)
- var g = parseInt('010', 8)
- var o = parseInt('001', 8)
- var ug = u | g
- var ret = (mod & o) ||
- (mod & g) && gid === myGid ||
- (mod & u) && uid === myUid ||
- (mod & ug) && myUid === 0
- return ret
- }
- /***/ }),
- /***/ 198:
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
- "use strict";
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
- var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
- result["default"] = mod;
- return result;
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- const core = __importStar(__webpack_require__(470));
- const github = __importStar(__webpack_require__(469));
- class ChangedFiles {
- constructor() {
- this.updated = [];
- this.created = [];
- this.deleted = [];
- }
- count() {
- return this.updated.length + this.created.length + this.deleted.length;
- }
- }
- function getChangedFiles(client, prNumber, fileCount) {
- return __awaiter(this, void 0, void 0, function* () {
- const changedFiles = new ChangedFiles();
- const fetchPerPage = 100;
- for (let pageIndex = 0; pageIndex * fetchPerPage < fileCount; pageIndex++) {
- const listFilesResponse = yield client.pulls.listFiles({
- owner: github.context.repo.owner,
- repo: github.context.repo.repo,
- pull_number: prNumber,
- page: pageIndex,
- per_page: fetchPerPage,
- });
- const pattern = core.getInput("pattern");
- const re = new RegExp(pattern.length ? pattern : ".*");
- listFilesResponse.data
- .filter(f => re.test(f.filename))
- .forEach(f => {
- if (f.status === "added") {
- changedFiles.created.push(f.filename);
- }
- else if (f.status === "removed") {
- changedFiles.deleted.push(f.filename);
- }
- else if (f.status === "modified") {
- changedFiles.updated.push(f.filename);
- }
- else if (f.status === "renamed") {
- changedFiles.created.push(f.filename);
- if (re.test(f["previous_filename"])) {
- changedFiles.deleted.push(f["previous_filename"]);
- }
- }
- });
- }
- return changedFiles;
- });
- }
- function fetchPr(client) {
- return __awaiter(this, void 0, void 0, function* () {
- const prNumberInput = core.getInput("pr-number");
- // If user provides pull request number, we fetch and return that particular pull request
- if (prNumberInput) {
- const { data: pr } = yield client.pulls.get({
- owner: github.context.repo.owner,
- repo: github.context.repo.repo,
- pull_number: parseInt(prNumberInput, 10),
- });
- return pr;
- }
- // Otherwise, we infer the pull request based on the the event's context
- return github.context.payload.pull_request;
- });
- }
- function run() {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- const token = core.getInput("repo-token", { required: true });
- const client = new github.GitHub(token);
- const pr = yield fetchPr(client);
- if (!pr) {
- core.setFailed(`Could not get pull request from context, exiting`);
- return;
- }
- const changedFiles = yield getChangedFiles(client, pr.number, pr.changed_files);
- core.debug(`Found ${changedFiles.count} changed files for pr #${pr.number}`);
- core.setOutput("files_created", changedFiles.created.join("\n"));
- core.setOutput("files_updated", changedFiles.updated.join("\n"));
- core.setOutput("files_deleted", changedFiles.deleted.join("\n"));
- }
- catch (error) {
- core.setFailed(error.message);
- }
- });
- }
- run();
- /***/ }),
- /***/ 211:
- /***/ (function(module) {
- module.exports = require("https");
- /***/ }),
- /***/ 215:
- /***/ (function(module) {
- module.exports = {"_from":"@octokit/rest@^16.43.1","_id":"@octokit/rest@16.43.1","_inBundle":false,"_integrity":"sha512-gfFKwRT/wFxq5qlNjnW2dh+qh74XgTQ2B179UX5K1HYCluioWj8Ndbgqw2PVqa1NnVJkGHp2ovMpVn/DImlmkw==","_location":"/@octokit/rest","_phantomChildren":{"deprecation":"2.3.1","once":"1.4.0","os-name":"3.1.0"},"_requested":{"type":"range","registry":true,"raw":"@octokit/rest@^16.43.1","name":"@octokit/rest","escapedName":"@octokit%2frest","scope":"@octokit","rawSpec":"^16.43.1","saveSpec":null,"fetchSpec":"^16.43.1"},"_requiredBy":["/@actions/github"],"_resolved":"https://registry.npmjs.org/@octokit/rest/-/rest-16.43.1.tgz","_shasum":"3b11e7d1b1ac2bbeeb23b08a17df0b20947eda6b","_spec":"@octokit/rest@^16.43.1","_where":"E:\\PreMiD\\changed-files\\node_modules\\@actions\\github","author":{"name":"Gregor Martynus","url":"https://github.com/gr2m"},"bugs":{"url":"https://github.com/octokit/rest.js/issues"},"bundleDependencies":false,"bundlesize":[{"path":"./dist/octokit-rest.min.js.gz","maxSize":"33 kB"}],"contributors":[{"name":"Mike de Boer","email":"info@mikedeboer.nl"},{"name":"Fabian Jakobs","email":"fabian@c9.io"},{"name":"Joe Gallo","email":"joe@brassafrax.com"},{"name":"Gregor Martynus","url":"https://github.com/gr2m"}],"dependencies":{"@octokit/auth-token":"^2.4.0","@octokit/plugin-paginate-rest":"^1.1.1","@octokit/plugin-request-log":"^1.0.0","@octokit/plugin-rest-endpoint-methods":"2.4.0","@octokit/request":"^5.2.0","@octokit/request-error":"^1.0.2","atob-lite":"^2.0.0","before-after-hook":"^2.0.0","btoa-lite":"^1.0.0","deprecation":"^2.0.0","lodash.get":"^4.4.2","lodash.set":"^4.3.2","lodash.uniq":"^4.5.0","octokit-pagination-methods":"^1.1.0","once":"^1.4.0","universal-user-agent":"^4.0.0"},"deprecated":false,"description":"GitHub REST API client for Node.js","devDependencies":{"@gimenete/type-writer":"^0.1.3","@octokit/auth":"^1.1.1","@octokit/fixtures-server":"^5.0.6","@octokit/graphql":"^4.2.0","@types/node":"^13.1.0","bundlesize":"^0.18.0","chai":"^4.1.2","compression-webpack-plugin":"^3.1.0","cypress":"^3.0.0","glob":"^7.1.2","http-proxy-agent":"^4.0.0","lodash.camelcase":"^4.3.0","lodash.merge":"^4.6.1","lodash.upperfirst":"^4.3.1","lolex":"^5.1.2","mkdirp":"^1.0.0","mocha":"^7.0.1","mustache":"^4.0.0","nock":"^11.3.3","npm-run-all":"^4.1.2","nyc":"^15.0.0","prettier":"^1.14.2","proxy":"^1.0.0","semantic-release":"^17.0.0","sinon":"^8.0.0","sinon-chai":"^3.0.0","sort-keys":"^4.0.0","string-to-arraybuffer":"^1.0.0","string-to-jsdoc-comment":"^1.0.0","typescript":"^3.3.1","webpack":"^4.0.0","webpack-bundle-analyzer":"^3.0.0","webpack-cli":"^3.0.0"},"files":["index.js","index.d.ts","lib","plugins"],"homepage":"https://github.com/octokit/rest.js#readme","keywords":["octokit","github","rest","api-client"],"license":"MIT","name":"@octokit/rest","nyc":{"ignore":["test"]},"publishConfig":{"access":"public"},"release":{"publish":["@semantic-release/npm",{"path":"@semantic-release/github","assets":["dist/*","!dist/*.map.gz"]}]},"repository":{"type":"git","url":"git+https://github.com/octokit/rest.js.git"},"scripts":{"build":"npm-run-all build:*","build:browser":"npm-run-all build:browser:*","build:browser:development":"webpack --mode development --entry . --output-library=Octokit --output=./dist/octokit-rest.js --profile --json > dist/bundle-stats.json","build:browser:production":"webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=Octokit --output-path=./dist --output-filename=octokit-rest.min.js --devtool source-map","build:ts":"npm run -s update-endpoints:typescript","coverage":"nyc report --reporter=html && open coverage/index.html","generate-bundle-report":"webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html","lint":"prettier --check '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","lint:fix":"prettier --write '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","postvalidate:ts":"tsc --noEmit --target es6 test/typescript-validate.ts","prebuild:browser":"mkdirp dist/","pretest":"npm run -s lint","prevalidate:ts":"npm run -s build:ts","start-fixtures-server":"octokit-fixtures-server","test":"nyc mocha test/mocha-node-setup.js \"test/*/**/*-test.js\"","test:browser":"cypress run --browser chrome","update-endpoints":"npm-run-all update-endpoints:*","update-endpoints:fetch-json":"node scripts/update-endpoints/fetch-json","update-endpoints:typescript":"node scripts/update-endpoints/typescript","validate:ts":"tsc --target es6 --noImplicitAny index.d.ts"},"types":"index.d.ts","version":"16.43.1"};
- /***/ }),
- /***/ 260:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- // Note: since nyc uses this module to output coverage, any lines
- // that are in the direct sync flow of nyc's outputCoverage are
- // ignored, since we can never get coverage for them.
- var assert = __webpack_require__(357)
- var signals = __webpack_require__(654)
- var isWin = /^win/i.test(process.platform)
- var EE = __webpack_require__(614)
- /* istanbul ignore if */
- if (typeof EE !== 'function') {
- EE = EE.EventEmitter
- }
- var emitter
- if (process.__signal_exit_emitter__) {
- emitter = process.__signal_exit_emitter__
- } else {
- emitter = process.__signal_exit_emitter__ = new EE()
- emitter.count = 0
- emitter.emitted = {}
- }
- // Because this emitter is a global, we have to check to see if a
- // previous version of this library failed to enable infinite listeners.
- // I know what you're about to say. But literally everything about
- // signal-exit is a compromise with evil. Get used to it.
- if (!emitter.infinite) {
- emitter.setMaxListeners(Infinity)
- emitter.infinite = true
- }
- module.exports = function (cb, opts) {
- assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler')
- if (loaded === false) {
- load()
- }
- var ev = 'exit'
- if (opts && opts.alwaysLast) {
- ev = 'afterexit'
- }
- var remove = function () {
- emitter.removeListener(ev, cb)
- if (emitter.listeners('exit').length === 0 &&
- emitter.listeners('afterexit').length === 0) {
- unload()
- }
- }
- emitter.on(ev, cb)
- return remove
- }
- module.exports.unload = unload
- function unload () {
- if (!loaded) {
- return
- }
- loaded = false
- signals.forEach(function (sig) {
- try {
- process.removeListener(sig, sigListeners[sig])
- } catch (er) {}
- })
- process.emit = originalProcessEmit
- process.reallyExit = originalProcessReallyExit
- emitter.count -= 1
- }
- function emit (event, code, signal) {
- if (emitter.emitted[event]) {
- return
- }
- emitter.emitted[event] = true
- emitter.emit(event, code, signal)
- }
- // { <signal>: <listener fn>, ... }
- var sigListeners = {}
- signals.forEach(function (sig) {
- sigListeners[sig] = function listener () {
- // If there are no other listeners, an exit is coming!
- // Simplest way: remove us and then re-send the signal.
- // We know that this will kill the process, so we can
- // safely emit now.
- var listeners = process.listeners(sig)
- if (listeners.length === emitter.count) {
- unload()
- emit('exit', null, sig)
- /* istanbul ignore next */
- emit('afterexit', null, sig)
- /* istanbul ignore next */
- if (isWin && sig === 'SIGHUP') {
- // "SIGHUP" throws an `ENOSYS` error on Windows,
- // so use a supported signal instead
- sig = 'SIGINT'
- }
- process.kill(process.pid, sig)
- }
- }
- })
- module.exports.signals = function () {
- return signals
- }
- module.exports.load = load
- var loaded = false
- function load () {
- if (loaded) {
- return
- }
- loaded = true
- // This is the number of onSignalExit's that are in play.
- // It's important so that we can count the correct number of
- // listeners on signals, and don't wait for the other one to
- // handle it instead of us.
- emitter.count += 1
- signals = signals.filter(function (sig) {
- try {
- process.on(sig, sigListeners[sig])
- return true
- } catch (er) {
- return false
- }
- })
- process.emit = processEmit
- process.reallyExit = processReallyExit
- }
- var originalProcessReallyExit = process.reallyExit
- function processReallyExit (code) {
- process.exitCode = code || 0
- emit('exit', process.exitCode, null)
- /* istanbul ignore next */
- emit('afterexit', process.exitCode, null)
- /* istanbul ignore next */
- originalProcessReallyExit.call(process, process.exitCode)
- }
- var originalProcessEmit = process.emit
- function processEmit (ev, arg) {
- if (ev === 'exit') {
- if (arg !== undefined) {
- process.exitCode = arg
- }
- var ret = originalProcessEmit.apply(this, arguments)
- emit('exit', process.exitCode, null)
- /* istanbul ignore next */
- emit('afterexit', process.exitCode, null)
- return ret
- } else {
- return originalProcessEmit.apply(this, arguments)
- }
- }
- /***/ }),
- /***/ 262:
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- const fs_1 = __webpack_require__(747);
- const os_1 = __webpack_require__(87);
- class Context {
- /**
- * Hydrate the context from the environment
- */
- constructor() {
- this.payload = {};
- if (process.env.GITHUB_EVENT_PATH) {
- if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) {
- this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' }));
- }
- else {
- const path = process.env.GITHUB_EVENT_PATH;
- process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`);
- }
- }
- this.eventName = process.env.GITHUB_EVENT_NAME;
- this.sha = process.env.GITHUB_SHA;
- this.ref = process.env.GITHUB_REF;
- this.workflow = process.env.GITHUB_WORKFLOW;
- this.action = process.env.GITHUB_ACTION;
- this.actor = process.env.GITHUB_ACTOR;
- }
- get issue() {
- const payload = this.payload;
- return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
- }
- get repo() {
- if (process.env.GITHUB_REPOSITORY) {
- const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/');
- return { owner, repo };
- }
- if (this.payload.repository) {
- return {
- owner: this.payload.repository.owner.login,
- repo: this.payload.repository.name
- };
- }
- throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
- }
- }
- exports.Context = Context;
- //# sourceMappingURL=context.js.map
- /***/ }),
- /***/ 265:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = getPage
- const deprecate = __webpack_require__(370)
- const getPageLinks = __webpack_require__(577)
- const HttpError = __webpack_require__(297)
- function getPage (octokit, link, which, headers) {
- deprecate(`octokit.get${which.charAt(0).toUpperCase() + which.slice(1)}Page() – You can use octokit.paginate or async iterators instead: https://github.com/octokit/rest.js#pagination.`)
- const url = getPageLinks(link)[which]
- if (!url) {
- const urlError = new HttpError(`No ${which} page found`, 404)
- return Promise.reject(urlError)
- }
- const requestOptions = {
- url,
- headers: applyAcceptHeader(link, headers)
- }
- const promise = octokit.request(requestOptions)
- return promise
- }
- function applyAcceptHeader (res, headers) {
- const previous = res.headers && res.headers['x-github-media-type']
- if (!previous || (headers && headers.accept)) {
- return headers
- }
- headers = headers || {}
- headers.accept = 'application/vnd.' + previous
- .replace('; param=', '.')
- .replace('; format=', '+')
- return headers
- }
- /***/ }),
- /***/ 280:
- /***/ (function(module, exports) {
- exports = module.exports = SemVer
- var debug
- /* istanbul ignore next */
- if (typeof process === 'object' &&
- process.env &&
- process.env.NODE_DEBUG &&
- /\bsemver\b/i.test(process.env.NODE_DEBUG)) {
- debug = function () {
- var args = Array.prototype.slice.call(arguments, 0)
- args.unshift('SEMVER')
- console.log.apply(console, args)
- }
- } else {
- debug = function () {}
- }
- // Note: this is the semver.org version of the spec that it implements
- // Not necessarily the package version of this code.
- exports.SEMVER_SPEC_VERSION = '2.0.0'
- var MAX_LENGTH = 256
- var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
- /* istanbul ignore next */ 9007199254740991
- // Max safe segment length for coercion.
- var MAX_SAFE_COMPONENT_LENGTH = 16
- // The actual regexps go on exports.re
- var re = exports.re = []
- var src = exports.src = []
- var R = 0
- // The following Regular Expressions can be used for tokenizing,
- // validating, and parsing SemVer version strings.
- // ## Numeric Identifier
- // A single `0`, or a non-zero digit followed by zero or more digits.
- var NUMERICIDENTIFIER = R++
- src[NUMERICIDENTIFIER] = '0|[1-9]\\d*'
- var NUMERICIDENTIFIERLOOSE = R++
- src[NUMERICIDENTIFIERLOOSE] = '[0-9]+'
- // ## Non-numeric Identifier
- // Zero or more digits, followed by a letter or hyphen, and then zero or
- // more letters, digits, or hyphens.
- var NONNUMERICIDENTIFIER = R++
- src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'
- // ## Main Version
- // Three dot-separated numeric identifiers.
- var MAINVERSION = R++
- src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' +
- '(' + src[NUMERICIDENTIFIER] + ')\\.' +
- '(' + src[NUMERICIDENTIFIER] + ')'
- var MAINVERSIONLOOSE = R++
- src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
- '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
- '(' + src[NUMERICIDENTIFIERLOOSE] + ')'
- // ## Pre-release Version Identifier
- // A numeric identifier, or a non-numeric identifier.
- var PRERELEASEIDENTIFIER = R++
- src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +
- '|' + src[NONNUMERICIDENTIFIER] + ')'
- var PRERELEASEIDENTIFIERLOOSE = R++
- src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +
- '|' + src[NONNUMERICIDENTIFIER] + ')'
- // ## Pre-release Version
- // Hyphen, followed by one or more dot-separated pre-release version
- // identifiers.
- var PRERELEASE = R++
- src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +
- '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))'
- var PRERELEASELOOSE = R++
- src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +
- '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'
- // ## Build Metadata Identifier
- // Any combination of digits, letters, or hyphens.
- var BUILDIDENTIFIER = R++
- src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'
- // ## Build Metadata
- // Plus sign, followed by one or more period-separated build metadata
- // identifiers.
- var BUILD = R++
- src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] +
- '(?:\\.' + src[BUILDIDENTIFIER] + ')*))'
- // ## Full Version String
- // A main version, followed optionally by a pre-release version and
- // build metadata.
- // Note that the only major, minor, patch, and pre-release sections of
- // the version string are capturing groups. The build metadata is not a
- // capturing group, because it should not ever be used in version
- // comparison.
- var FULL = R++
- var FULLPLAIN = 'v?' + src[MAINVERSION] +
- src[PRERELEASE] + '?' +
- src[BUILD] + '?'
- src[FULL] = '^' + FULLPLAIN + '$'
- // like full, but allows v1.2.3 and =1.2.3, which people do sometimes.
- // also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty
- // common in the npm registry.
- var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] +
- src[PRERELEASELOOSE] + '?' +
- src[BUILD] + '?'
- var LOOSE = R++
- src[LOOSE] = '^' + LOOSEPLAIN + '$'
- var GTLT = R++
- src[GTLT] = '((?:<|>)?=?)'
- // Something like "2.*" or "1.2.x".
- // Note that "x.x" is a valid xRange identifer, meaning "any version"
- // Only the first item is strictly required.
- var XRANGEIDENTIFIERLOOSE = R++
- src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'
- var XRANGEIDENTIFIER = R++
- src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*'
- var XRANGEPLAIN = R++
- src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' +
- '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
- '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
- '(?:' + src[PRERELEASE] + ')?' +
- src[BUILD] + '?' +
- ')?)?'
- var XRANGEPLAINLOOSE = R++
- src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
- '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
- '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
- '(?:' + src[PRERELEASELOOSE] + ')?' +
- src[BUILD] + '?' +
- ')?)?'
- var XRANGE = R++
- src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$'
- var XRANGELOOSE = R++
- src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$'
- // Coercion.
- // Extract anything that could conceivably be a part of a valid semver
- var COERCE = R++
- src[COERCE] = '(?:^|[^\\d])' +
- '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +
- '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
- '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
- '(?:$|[^\\d])'
- // Tilde ranges.
- // Meaning is "reasonably at or greater than"
- var LONETILDE = R++
- src[LONETILDE] = '(?:~>?)'
- var TILDETRIM = R++
- src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+'
- re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g')
- var tildeTrimReplace = '$1~'
- var TILDE = R++
- src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'
- var TILDELOOSE = R++
- src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'
- // Caret ranges.
- // Meaning is "at least and backwards compatible with"
- var LONECARET = R++
- src[LONECARET] = '(?:\\^)'
- var CARETTRIM = R++
- src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+'
- re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g')
- var caretTrimReplace = '$1^'
- var CARET = R++
- src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'
- var CARETLOOSE = R++
- src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'
- // A simple gt/lt/eq thing, or just "" to indicate "any version"
- var COMPARATORLOOSE = R++
- src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$'
- var COMPARATOR = R++
- src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$'
- // An expression to strip any whitespace between the gtlt and the thing
- // it modifies, so that `> 1.2.3` ==> `>1.2.3`
- var COMPARATORTRIM = R++
- src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] +
- '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'
- // this one has to use the /g flag
- re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g')
- var comparatorTrimReplace = '$1$2$3'
- // Something like `1.2.3 - 1.2.4`
- // Note that these all use the loose form, because they'll be
- // checked against either the strict or loose comparator form
- // later.
- var HYPHENRANGE = R++
- src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' +
- '\\s+-\\s+' +
- '(' + src[XRANGEPLAIN] + ')' +
- '\\s*$'
- var HYPHENRANGELOOSE = R++
- src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' +
- '\\s+-\\s+' +
- '(' + src[XRANGEPLAINLOOSE] + ')' +
- '\\s*$'
- // Star ranges basically just allow anything at all.
- var STAR = R++
- src[STAR] = '(<|>)?=?\\s*\\*'
- // Compile to actual regexp objects.
- // All are flag-free, unless they were created above with a flag.
- for (var i = 0; i < R; i++) {
- debug(i, src[i])
- if (!re[i]) {
- re[i] = new RegExp(src[i])
- }
- }
- exports.parse = parse
- function parse (version, options) {
- if (!options || typeof options !== 'object') {
- options = {
- loose: !!options,
- includePrerelease: false
- }
- }
- if (version instanceof SemVer) {
- return version
- }
- if (typeof version !== 'string') {
- return null
- }
- if (version.length > MAX_LENGTH) {
- return null
- }
- var r = options.loose ? re[LOOSE] : re[FULL]
- if (!r.test(version)) {
- return null
- }
- try {
- return new SemVer(version, options)
- } catch (er) {
- return null
- }
- }
- exports.valid = valid
- function valid (version, options) {
- var v = parse(version, options)
- return v ? v.version : null
- }
- exports.clean = clean
- function clean (version, options) {
- var s = parse(version.trim().replace(/^[=v]+/, ''), options)
- return s ? s.version : null
- }
- exports.SemVer = SemVer
- function SemVer (version, options) {
- if (!options || typeof options !== 'object') {
- options = {
- loose: !!options,
- includePrerelease: false
- }
- }
- if (version instanceof SemVer) {
- if (version.loose === options.loose) {
- return version
- } else {
- version = version.version
- }
- } else if (typeof version !== 'string') {
- throw new TypeError('Invalid Version: ' + version)
- }
- if (version.length > MAX_LENGTH) {
- throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')
- }
- if (!(this instanceof SemVer)) {
- return new SemVer(version, options)
- }
- debug('SemVer', version, options)
- this.options = options
- this.loose = !!options.loose
- var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL])
- if (!m) {
- throw new TypeError('Invalid Version: ' + version)
- }
- this.raw = version
- // these are actually numbers
- this.major = +m[1]
- this.minor = +m[2]
- this.patch = +m[3]
- if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
- throw new TypeError('Invalid major version')
- }
- if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
- throw new TypeError('Invalid minor version')
- }
- if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
- throw new TypeError('Invalid patch version')
- }
- // numberify any prerelease numeric ids
- if (!m[4]) {
- this.prerelease = []
- } else {
- this.prerelease = m[4].split('.').map(function (id) {
- if (/^[0-9]+$/.test(id)) {
- var num = +id
- if (num >= 0 && num < MAX_SAFE_INTEGER) {
- return num
- }
- }
- return id
- })
- }
- this.build = m[5] ? m[5].split('.') : []
- this.format()
- }
- SemVer.prototype.format = function () {
- this.version = this.major + '.' + this.minor + '.' + this.patch
- if (this.prerelease.length) {
- this.version += '-' + this.prerelease.join('.')
- }
- return this.version
- }
- SemVer.prototype.toString = function () {
- return this.version
- }
- SemVer.prototype.compare = function (other) {
- debug('SemVer.compare', this.version, this.options, other)
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options)
- }
- return this.compareMain(other) || this.comparePre(other)
- }
- SemVer.prototype.compareMain = function (other) {
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options)
- }
- return compareIdentifiers(this.major, other.major) ||
- compareIdentifiers(this.minor, other.minor) ||
- compareIdentifiers(this.patch, other.patch)
- }
- SemVer.prototype.comparePre = function (other) {
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options)
- }
- // NOT having a prerelease is > having one
- if (this.prerelease.length && !other.prerelease.length) {
- return -1
- } else if (!this.prerelease.length && other.prerelease.length) {
- return 1
- } else if (!this.prerelease.length && !other.prerelease.length) {
- return 0
- }
- var i = 0
- do {
- var a = this.prerelease[i]
- var b = other.prerelease[i]
- debug('prerelease compare', i, a, b)
- if (a === undefined && b === undefined) {
- return 0
- } else if (b === undefined) {
- return 1
- } else if (a === undefined) {
- return -1
- } else if (a === b) {
- continue
- } else {
- return compareIdentifiers(a, b)
- }
- } while (++i)
- }
- // preminor will bump the version up to the next minor release, and immediately
- // down to pre-release. premajor and prepatch work the same way.
- SemVer.prototype.inc = function (release, identifier) {
- switch (release) {
- case 'premajor':
- this.prerelease.length = 0
- this.patch = 0
- this.minor = 0
- this.major++
- this.inc('pre', identifier)
- break
- case 'preminor':
- this.prerelease.length = 0
- this.patch = 0
- this.minor++
- this.inc('pre', identifier)
- break
- case 'prepatch':
- // If this is already a prerelease, it will bump to the next version
- // drop any prereleases that might already exist, since they are not
- // relevant at this point.
- this.prerelease.length = 0
- this.inc('patch', identifier)
- this.inc('pre', identifier)
- break
- // If the input is a non-prerelease version, this acts the same as
- // prepatch.
- case 'prerelease':
- if (this.prerelease.length === 0) {
- this.inc('patch', identifier)
- }
- this.inc('pre', identifier)
- break
- case 'major':
- // If this is a pre-major version, bump up to the same major version.
- // Otherwise increment major.
- // 1.0.0-5 bumps to 1.0.0
- // 1.1.0 bumps to 2.0.0
- if (this.minor !== 0 ||
- this.patch !== 0 ||
- this.prerelease.length === 0) {
- this.major++
- }
- this.minor = 0
- this.patch = 0
- this.prerelease = []
- break
- case 'minor':
- // If this is a pre-minor version, bump up to the same minor version.
- // Otherwise increment minor.
- // 1.2.0-5 bumps to 1.2.0
- // 1.2.1 bumps to 1.3.0
- if (this.patch !== 0 || this.prerelease.length === 0) {
- this.minor++
- }
- this.patch = 0
- this.prerelease = []
- break
- case 'patch':
- // If this is not a pre-release version, it will increment the patch.
- // If it is a pre-release it will bump up to the same patch version.
- // 1.2.0-5 patches to 1.2.0
- // 1.2.0 patches to 1.2.1
- if (this.prerelease.length === 0) {
- this.patch++
- }
- this.prerelease = []
- break
- // This probably shouldn't be used publicly.
- // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction.
- case 'pre':
- if (this.prerelease.length === 0) {
- this.prerelease = [0]
- } else {
- var i = this.prerelease.length
- while (--i >= 0) {
- if (typeof this.prerelease[i] === 'number') {
- this.prerelease[i]++
- i = -2
- }
- }
- if (i === -1) {
- // didn't increment anything
- this.prerelease.push(0)
- }
- }
- if (identifier) {
- // 1.2.0-beta.1 bumps to 1.2.0-beta.2,
- // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0
- if (this.prerelease[0] === identifier) {
- if (isNaN(this.prerelease[1])) {
- this.prerelease = [identifier, 0]
- }
- } else {
- this.prerelease = [identifier, 0]
- }
- }
- break
- default:
- throw new Error('invalid increment argument: ' + release)
- }
- this.format()
- this.raw = this.version
- return this
- }
- exports.inc = inc
- function inc (version, release, loose, identifier) {
- if (typeof (loose) === 'string') {
- identifier = loose
- loose = undefined
- }
- try {
- return new SemVer(version, loose).inc(release, identifier).version
- } catch (er) {
- return null
- }
- }
- exports.diff = diff
- function diff (version1, version2) {
- if (eq(version1, version2)) {
- return null
- } else {
- var v1 = parse(version1)
- var v2 = parse(version2)
- var prefix = ''
- if (v1.prerelease.length || v2.prerelease.length) {
- prefix = 'pre'
- var defaultResult = 'prerelease'
- }
- for (var key in v1) {
- if (key === 'major' || key === 'minor' || key === 'patch') {
- if (v1[key] !== v2[key]) {
- return prefix + key
- }
- }
- }
- return defaultResult // may be undefined
- }
- }
- exports.compareIdentifiers = compareIdentifiers
- var numeric = /^[0-9]+$/
- function compareIdentifiers (a, b) {
- var anum = numeric.test(a)
- var bnum = numeric.test(b)
- if (anum && bnum) {
- a = +a
- b = +b
- }
- return a === b ? 0
- : (anum && !bnum) ? -1
- : (bnum && !anum) ? 1
- : a < b ? -1
- : 1
- }
- exports.rcompareIdentifiers = rcompareIdentifiers
- function rcompareIdentifiers (a, b) {
- return compareIdentifiers(b, a)
- }
- exports.major = major
- function major (a, loose) {
- return new SemVer(a, loose).major
- }
- exports.minor = minor
- function minor (a, loose) {
- return new SemVer(a, loose).minor
- }
- exports.patch = patch
- function patch (a, loose) {
- return new SemVer(a, loose).patch
- }
- exports.compare = compare
- function compare (a, b, loose) {
- return new SemVer(a, loose).compare(new SemVer(b, loose))
- }
- exports.compareLoose = compareLoose
- function compareLoose (a, b) {
- return compare(a, b, true)
- }
- exports.rcompare = rcompare
- function rcompare (a, b, loose) {
- return compare(b, a, loose)
- }
- exports.sort = sort
- function sort (list, loose) {
- return list.sort(function (a, b) {
- return exports.compare(a, b, loose)
- })
- }
- exports.rsort = rsort
- function rsort (list, loose) {
- return list.sort(function (a, b) {
- return exports.rcompare(a, b, loose)
- })
- }
- exports.gt = gt
- function gt (a, b, loose) {
- return compare(a, b, loose) > 0
- }
- exports.lt = lt
- function lt (a, b, loose) {
- return compare(a, b, loose) < 0
- }
- exports.eq = eq
- function eq (a, b, loose) {
- return compare(a, b, loose) === 0
- }
- exports.neq = neq
- function neq (a, b, loose) {
- return compare(a, b, loose) !== 0
- }
- exports.gte = gte
- function gte (a, b, loose) {
- return compare(a, b, loose) >= 0
- }
- exports.lte = lte
- function lte (a, b, loose) {
- return compare(a, b, loose) <= 0
- }
- exports.cmp = cmp
- function cmp (a, op, b, loose) {
- switch (op) {
- case '===':
- if (typeof a === 'object')
- a = a.version
- if (typeof b === 'object')
- b = b.version
- return a === b
- case '!==':
- if (typeof a === 'object')
- a = a.version
- if (typeof b === 'object')
- b = b.version
- return a !== b
- case '':
- case '=':
- case '==':
- return eq(a, b, loose)
- case '!=':
- return neq(a, b, loose)
- case '>':
- return gt(a, b, loose)
- case '>=':
- return gte(a, b, loose)
- case '<':
- return lt(a, b, loose)
- case '<=':
- return lte(a, b, loose)
- default:
- throw new TypeError('Invalid operator: ' + op)
- }
- }
- exports.Comparator = Comparator
- function Comparator (comp, options) {
- if (!options || typeof options !== 'object') {
- options = {
- loose: !!options,
- includePrerelease: false
- }
- }
- if (comp instanceof Comparator) {
- if (comp.loose === !!options.loose) {
- return comp
- } else {
- comp = comp.value
- }
- }
- if (!(this instanceof Comparator)) {
- return new Comparator(comp, options)
- }
- debug('comparator', comp, options)
- this.options = options
- this.loose = !!options.loose
- this.parse(comp)
- if (this.semver === ANY) {
- this.value = ''
- } else {
- this.value = this.operator + this.semver.version
- }
- debug('comp', this)
- }
- var ANY = {}
- Comparator.prototype.parse = function (comp) {
- var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]
- var m = comp.match(r)
- if (!m) {
- throw new TypeError('Invalid comparator: ' + comp)
- }
- this.operator = m[1]
- if (this.operator === '=') {
- this.operator = ''
- }
- // if it literally is just '>' or '' then allow anything.
- if (!m[2]) {
- this.semver = ANY
- } else {
- this.semver = new SemVer(m[2], this.options.loose)
- }
- }
- Comparator.prototype.toString = function () {
- return this.value
- }
- Comparator.prototype.test = function (version) {
- debug('Comparator.test', version, this.options.loose)
- if (this.semver === ANY) {
- return true
- }
- if (typeof version === 'string') {
- version = new SemVer(version, this.options)
- }
- return cmp(version, this.operator, this.semver, this.options)
- }
- Comparator.prototype.intersects = function (comp, options) {
- if (!(comp instanceof Comparator)) {
- throw new TypeError('a Comparator is required')
- }
- if (!options || typeof options !== 'object') {
- options = {
- loose: !!options,
- includePrerelease: false
- }
- }
- var rangeTmp
- if (this.operator === '') {
- rangeTmp = new Range(comp.value, options)
- return satisfies(this.value, rangeTmp, options)
- } else if (comp.operator === '') {
- rangeTmp = new Range(this.value, options)
- return satisfies(comp.semver, rangeTmp, options)
- }
- var sameDirectionIncreasing =
- (this.operator === '>=' || this.operator === '>') &&
- (comp.operator === '>=' || comp.operator === '>')
- var sameDirectionDecreasing =
- (this.operator === '<=' || this.operator === '<') &&
- (comp.operator === '<=' || comp.operator === '<')
- var sameSemVer = this.semver.version === comp.semver.version
- var differentDirectionsInclusive =
- (this.operator === '>=' || this.operator === '<=') &&
- (comp.operator === '>=' || comp.operator === '<=')
- var oppositeDirectionsLessThan =
- cmp(this.semver, '<', comp.semver, options) &&
- ((this.operator === '>=' || this.operator === '>') &&
- (comp.operator === '<=' || comp.operator === '<'))
- var oppositeDirectionsGreaterThan =
- cmp(this.semver, '>', comp.semver, options) &&
- ((this.operator === '<=' || this.operator === '<') &&
- (comp.operator === '>=' || comp.operator === '>'))
- return sameDirectionIncreasing || sameDirectionDecreasing ||
- (sameSemVer && differentDirectionsInclusive) ||
- oppositeDirectionsLessThan || oppositeDirectionsGreaterThan
- }
- exports.Range = Range
- function Range (range, options) {
- if (!options || typeof options !== 'object') {
- options = {
- loose: !!options,
- includePrerelease: false
- }
- }
- if (range instanceof Range) {
- if (range.loose === !!options.loose &&
- range.includePrerelease === !!options.includePrerelease) {
- return range
- } else {
- return new Range(range.raw, options)
- }
- }
- if (range instanceof Comparator) {
- return new Range(range.value, options)
- }
- if (!(this instanceof Range)) {
- return new Range(range, options)
- }
- this.options = options
- this.loose = !!options.loose
- this.includePrerelease = !!options.includePrerelease
- // First, split based on boolean or ||
- this.raw = range
- this.set = range.split(/\s*\|\|\s*/).map(function (range) {
- return this.parseRange(range.trim())
- }, this).filter(function (c) {
- // throw out any that are not relevant for whatever reason
- return c.length
- })
- if (!this.set.length) {
- throw new TypeError('Invalid SemVer Range: ' + range)
- }
- this.format()
- }
- Range.prototype.format = function () {
- this.range = this.set.map(function (comps) {
- return comps.join(' ').trim()
- }).join('||').trim()
- return this.range
- }
- Range.prototype.toString = function () {
- return this.range
- }
- Range.prototype.parseRange = function (range) {
- var loose = this.options.loose
- range = range.trim()
- // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
- var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]
- range = range.replace(hr, hyphenReplace)
- debug('hyphen replace', range)
- // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
- range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace)
- debug('comparator trim', range, re[COMPARATORTRIM])
- // `~ 1.2.3` => `~1.2.3`
- range = range.replace(re[TILDETRIM], tildeTrimReplace)
- // `^ 1.2.3` => `^1.2.3`
- range = range.replace(re[CARETTRIM], caretTrimReplace)
- // normalize spaces
- range = range.split(/\s+/).join(' ')
- // At this point, the range is completely trimmed and
- // ready to be split into comparators.
- var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]
- var set = range.split(' ').map(function (comp) {
- return parseComparator(comp, this.options)
- }, this).join(' ').split(/\s+/)
- if (this.options.loose) {
- // in loose mode, throw out any that are not valid comparators
- set = set.filter(function (comp) {
- return !!comp.match(compRe)
- })
- }
- set = set.map(function (comp) {
- return new Comparator(comp, this.options)
- }, this)
- return set
- }
- Range.prototype.intersects = function (range, options) {
- if (!(range instanceof Range)) {
- throw new TypeError('a Range is required')
- }
- return this.set.some(function (thisComparators) {
- return thisComparators.every(function (thisComparator) {
- return range.set.some(function (rangeComparators) {
- return rangeComparators.every(function (rangeComparator) {
- return thisComparator.intersects(rangeComparator, options)
- })
- })
- })
- })
- }
- // Mostly just for testing and legacy API reasons
- exports.toComparators = toComparators
- function toComparators (range, options) {
- return new Range(range, options).set.map(function (comp) {
- return comp.map(function (c) {
- return c.value
- }).join(' ').trim().split(' ')
- })
- }
- // comprised of xranges, tildes, stars, and gtlt's at this point.
- // already replaced the hyphen ranges
- // turn into a set of JUST comparators.
- function parseComparator (comp, options) {
- debug('comp', comp, options)
- comp = replaceCarets(comp, options)
- debug('caret', comp)
- comp = replaceTildes(comp, options)
- debug('tildes', comp)
- comp = replaceXRanges(comp, options)
- debug('xrange', comp)
- comp = replaceStars(comp, options)
- debug('stars', comp)
- return comp
- }
- function isX (id) {
- return !id || id.toLowerCase() === 'x' || id === '*'
- }
- // ~, ~> --> * (any, kinda silly)
- // ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0
- // ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0
- // ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0
- // ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0
- // ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0
- function replaceTildes (comp, options) {
- return comp.trim().split(/\s+/).map(function (comp) {
- return replaceTilde(comp, options)
- }).join(' ')
- }
- function replaceTilde (comp, options) {
- var r = options.loose ? re[TILDELOOSE] : re[TILDE]
- return comp.replace(r, function (_, M, m, p, pr) {
- debug('tilde', comp, _, M, m, p, pr)
- var ret
- if (isX(M)) {
- ret = ''
- } else if (isX(m)) {
- ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'
- } else if (isX(p)) {
- // ~1.2 == >=1.2.0 <1.3.0
- ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'
- } else if (pr) {
- debug('replaceTilde pr', pr)
- ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
- ' <' + M + '.' + (+m + 1) + '.0'
- } else {
- // ~1.2.3 == >=1.2.3 <1.3.0
- ret = '>=' + M + '.' + m + '.' + p +
- ' <' + M + '.' + (+m + 1) + '.0'
- }
- debug('tilde return', ret)
- return ret
- })
- }
- // ^ --> * (any, kinda silly)
- // ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0
- // ^2.0, ^2.0.x --> >=2.0.0 <3.0.0
- // ^1.2, ^1.2.x --> >=1.2.0 <2.0.0
- // ^1.2.3 --> >=1.2.3 <2.0.0
- // ^1.2.0 --> >=1.2.0 <2.0.0
- function replaceCarets (comp, options) {
- return comp.trim().split(/\s+/).map(function (comp) {
- return replaceCaret(comp, options)
- }).join(' ')
- }
- function replaceCaret (comp, options) {
- debug('caret', comp, options)
- var r = options.loose ? re[CARETLOOSE] : re[CARET]
- return comp.replace(r, function (_, M, m, p, pr) {
- debug('caret', comp, _, M, m, p, pr)
- var ret
- if (isX(M)) {
- ret = ''
- } else if (isX(m)) {
- ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'
- } else if (isX(p)) {
- if (M === '0') {
- ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'
- } else {
- ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'
- }
- } else if (pr) {
- debug('replaceCaret pr', pr)
- if (M === '0') {
- if (m === '0') {
- ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
- ' <' + M + '.' + m + '.' + (+p + 1)
- } else {
- ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
- ' <' + M + '.' + (+m + 1) + '.0'
- }
- } else {
- ret = '>=' + M + '.' + m + '.' + p + '-' + pr +
- ' <' + (+M + 1) + '.0.0'
- }
- } else {
- debug('no pr')
- if (M === '0') {
- if (m === '0') {
- ret = '>=' + M + '.' + m + '.' + p +
- ' <' + M + '.' + m + '.' + (+p + 1)
- } else {
- ret = '>=' + M + '.' + m + '.' + p +
- ' <' + M + '.' + (+m + 1) + '.0'
- }
- } else {
- ret = '>=' + M + '.' + m + '.' + p +
- ' <' + (+M + 1) + '.0.0'
- }
- }
- debug('caret return', ret)
- return ret
- })
- }
- function replaceXRanges (comp, options) {
- debug('replaceXRanges', comp, options)
- return comp.split(/\s+/).map(function (comp) {
- return replaceXRange(comp, options)
- }).join(' ')
- }
- function replaceXRange (comp, options) {
- comp = comp.trim()
- var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]
- return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
- debug('xRange', comp, ret, gtlt, M, m, p, pr)
- var xM = isX(M)
- var xm = xM || isX(m)
- var xp = xm || isX(p)
- var anyX = xp
- if (gtlt === '=' && anyX) {
- gtlt = ''
- }
- if (xM) {
- if (gtlt === '>' || gtlt === '<') {
- // nothing is allowed
- ret = '<0.0.0'
- } else {
- // nothing is forbidden
- ret = '*'
- }
- } else if (gtlt && anyX) {
- // we know patch is an x, because we have any x at all.
- // replace X with 0
- if (xm) {
- m = 0
- }
- p = 0
- if (gtlt === '>') {
- // >1 => >=2.0.0
- // >1.2 => >=1.3.0
- // >1.2.3 => >= 1.2.4
- gtlt = '>='
- if (xm) {
- M = +M + 1
- m = 0
- p = 0
- } else {
- m = +m + 1
- p = 0
- }
- } else if (gtlt === '<=') {
- // <=0.7.x is actually <0.8.0, since any 0.7.x should
- // pass. Similarly, <=7.x is actually <8.0.0, etc.
- gtlt = '<'
- if (xm) {
- M = +M + 1
- } else {
- m = +m + 1
- }
- }
- ret = gtlt + M + '.' + m + '.' + p
- } else if (xm) {
- ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'
- } else if (xp) {
- ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'
- }
- debug('xRange return', ret)
- return ret
- })
- }
- // Because * is AND-ed with everything else in the comparator,
- // and '' means "any version", just remove the *s entirely.
- function replaceStars (comp, options) {
- debug('replaceStars', comp, options)
- // Looseness is ignored here. star is always as loose as it gets!
- return comp.trim().replace(re[STAR], '')
- }
- // This function is passed to string.replace(re[HYPHENRANGE])
- // M, m, patch, prerelease, build
- // 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
- // 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do
- // 1.2 - 3.4 => >=1.2.0 <3.5.0
- function hyphenReplace ($0,
- from, fM, fm, fp, fpr, fb,
- to, tM, tm, tp, tpr, tb) {
- if (isX(fM)) {
- from = ''
- } else if (isX(fm)) {
- from = '>=' + fM + '.0.0'
- } else if (isX(fp)) {
- from = '>=' + fM + '.' + fm + '.0'
- } else {
- from = '>=' + from
- }
- if (isX(tM)) {
- to = ''
- } else if (isX(tm)) {
- to = '<' + (+tM + 1) + '.0.0'
- } else if (isX(tp)) {
- to = '<' + tM + '.' + (+tm + 1) + '.0'
- } else if (tpr) {
- to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr
- } else {
- to = '<=' + to
- }
- return (from + ' ' + to).trim()
- }
- // if ANY of the sets match ALL of its comparators, then pass
- Range.prototype.test = function (version) {
- if (!version) {
- return false
- }
- if (typeof version === 'string') {
- version = new SemVer(version, this.options)
- }
- for (var i = 0; i < this.set.length; i++) {
- if (testSet(this.set[i], version, this.options)) {
- return true
- }
- }
- return false
- }
- function testSet (set, version, options) {
- for (var i = 0; i < set.length; i++) {
- if (!set[i].test(version)) {
- return false
- }
- }
- if (version.prerelease.length && !options.includePrerelease) {
- // Find the set of versions that are allowed to have prereleases
- // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0
- // That should allow `1.2.3-pr.2` to pass.
- // However, `1.2.4-alpha.notready` should NOT be allowed,
- // even though it's within the range set by the comparators.
- for (i = 0; i < set.length; i++) {
- debug(set[i].semver)
- if (set[i].semver === ANY) {
- continue
- }
- if (set[i].semver.prerelease.length > 0) {
- var allowed = set[i].semver
- if (allowed.major === version.major &&
- allowed.minor === version.minor &&
- allowed.patch === version.patch) {
- return true
- }
- }
- }
- // Version has a -pre, but it's not one of the ones we like.
- return false
- }
- return true
- }
- exports.satisfies = satisfies
- function satisfies (version, range, options) {
- try {
- range = new Range(range, options)
- } catch (er) {
- return false
- }
- return range.test(version)
- }
- exports.maxSatisfying = maxSatisfying
- function maxSatisfying (versions, range, options) {
- var max = null
- var maxSV = null
- try {
- var rangeObj = new Range(range, options)
- } catch (er) {
- return null
- }
- versions.forEach(function (v) {
- if (rangeObj.test(v)) {
- // satisfies(v, range, options)
- if (!max || maxSV.compare(v) === -1) {
- // compare(max, v, true)
- max = v
- maxSV = new SemVer(max, options)
- }
- }
- })
- return max
- }
- exports.minSatisfying = minSatisfying
- function minSatisfying (versions, range, options) {
- var min = null
- var minSV = null
- try {
- var rangeObj = new Range(range, options)
- } catch (er) {
- return null
- }
- versions.forEach(function (v) {
- if (rangeObj.test(v)) {
- // satisfies(v, range, options)
- if (!min || minSV.compare(v) === 1) {
- // compare(min, v, true)
- min = v
- minSV = new SemVer(min, options)
- }
- }
- })
- return min
- }
- exports.minVersion = minVersion
- function minVersion (range, loose) {
- range = new Range(range, loose)
- var minver = new SemVer('0.0.0')
- if (range.test(minver)) {
- return minver
- }
- minver = new SemVer('0.0.0-0')
- if (range.test(minver)) {
- return minver
- }
- minver = null
- for (var i = 0; i < range.set.length; ++i) {
- var comparators = range.set[i]
- comparators.forEach(function (comparator) {
- // Clone to avoid manipulating the comparator's semver object.
- var compver = new SemVer(comparator.semver.version)
- switch (comparator.operator) {
- case '>':
- if (compver.prerelease.length === 0) {
- compver.patch++
- } else {
- compver.prerelease.push(0)
- }
- compver.raw = compver.format()
- /* fallthrough */
- case '':
- case '>=':
- if (!minver || gt(minver, compver)) {
- minver = compver
- }
- break
- case '<':
- case '<=':
- /* Ignore maximum versions */
- break
- /* istanbul ignore next */
- default:
- throw new Error('Unexpected operation: ' + comparator.operator)
- }
- })
- }
- if (minver && range.test(minver)) {
- return minver
- }
- return null
- }
- exports.validRange = validRange
- function validRange (range, options) {
- try {
- // Return '*' instead of '' so that truthiness works.
- // This will throw if it's invalid anyway
- return new Range(range, options).range || '*'
- } catch (er) {
- return null
- }
- }
- // Determine if version is less than all the versions possible in the range
- exports.ltr = ltr
- function ltr (version, range, options) {
- return outside(version, range, '<', options)
- }
- // Determine if version is greater than all the versions possible in the range.
- exports.gtr = gtr
- function gtr (version, range, options) {
- return outside(version, range, '>', options)
- }
- exports.outside = outside
- function outside (version, range, hilo, options) {
- version = new SemVer(version, options)
- range = new Range(range, options)
- var gtfn, ltefn, ltfn, comp, ecomp
- switch (hilo) {
- case '>':
- gtfn = gt
- ltefn = lte
- ltfn = lt
- comp = '>'
- ecomp = '>='
- break
- case '<':
- gtfn = lt
- ltefn = gte
- ltfn = gt
- comp = '<'
- ecomp = '<='
- break
- default:
- throw new TypeError('Must provide a hilo val of "<" or ">"')
- }
- // If it satisifes the range it is not outside
- if (satisfies(version, range, options)) {
- return false
- }
- // From now on, variable terms are as if we're in "gtr" mode.
- // but note that everything is flipped for the "ltr" function.
- for (var i = 0; i < range.set.length; ++i) {
- var comparators = range.set[i]
- var high = null
- var low = null
- comparators.forEach(function (comparator) {
- if (comparator.semver === ANY) {
- comparator = new Comparator('>=0.0.0')
- }
- high = high || comparator
- low = low || comparator
- if (gtfn(comparator.semver, high.semver, options)) {
- high = comparator
- } else if (ltfn(comparator.semver, low.semver, options)) {
- low = comparator
- }
- })
- // If the edge version comparator has a operator then our version
- // isn't outside it
- if (high.operator === comp || high.operator === ecomp) {
- return false
- }
- // If the lowest version comparator has an operator and our version
- // is less than it then it isn't higher than the range
- if ((!low.operator || low.operator === comp) &&
- ltefn(version, low.semver)) {
- return false
- } else if (low.operator === ecomp && ltfn(version, low.semver)) {
- return false
- }
- }
- return true
- }
- exports.prerelease = prerelease
- function prerelease (version, options) {
- var parsed = parse(version, options)
- return (parsed && parsed.prerelease.length) ? parsed.prerelease : null
- }
- exports.intersects = intersects
- function intersects (r1, r2, options) {
- r1 = new Range(r1, options)
- r2 = new Range(r2, options)
- return r1.intersects(r2)
- }
- exports.coerce = coerce
- function coerce (version) {
- if (version instanceof SemVer) {
- return version
- }
- if (typeof version !== 'string') {
- return null
- }
- var match = version.match(re[COERCE])
- if (match == null) {
- return null
- }
- return parse(match[1] +
- '.' + (match[2] || '0') +
- '.' + (match[3] || '0'))
- }
- /***/ }),
- /***/ 293:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = authenticationRequestError;
- const { RequestError } = __webpack_require__(497);
- function authenticationRequestError(state, error, options) {
- if (!error.headers) throw error;
- const otpRequired = /required/.test(error.headers["x-github-otp"] || "");
- // handle "2FA required" error only
- if (error.status !== 401 || !otpRequired) {
- throw error;
- }
- if (
- error.status === 401 &&
- otpRequired &&
- error.request &&
- error.request.headers["x-github-otp"]
- ) {
- if (state.otp) {
- delete state.otp; // no longer valid, request again
- } else {
- throw new RequestError(
- "Invalid one-time password for two-factor authentication",
- 401,
- {
- headers: error.headers,
- request: options
- }
- );
- }
- }
- if (typeof state.auth.on2fa !== "function") {
- throw new RequestError(
- "2FA required, but options.on2fa is not a function. See https://github.com/octokit/rest.js#authentication",
- 401,
- {
- headers: error.headers,
- request: options
- }
- );
- }
- return Promise.resolve()
- .then(() => {
- return state.auth.on2fa();
- })
- .then(oneTimePassword => {
- const newOptions = Object.assign(options, {
- headers: Object.assign(options.headers, {
- "x-github-otp": oneTimePassword
- })
- });
- return state.octokit.request(newOptions).then(response => {
- // If OTP still valid, then persist it for following requests
- state.otp = oneTimePassword;
- return response;
- });
- });
- }
- /***/ }),
- /***/ 294:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = parseOptions;
- const { Deprecation } = __webpack_require__(692);
- const { getUserAgent } = __webpack_require__(619);
- const once = __webpack_require__(969);
- const pkg = __webpack_require__(215);
- const deprecateOptionsTimeout = once((log, deprecation) =>
- log.warn(deprecation)
- );
- const deprecateOptionsAgent = once((log, deprecation) => log.warn(deprecation));
- const deprecateOptionsHeaders = once((log, deprecation) =>
- log.warn(deprecation)
- );
- function parseOptions(options, log, hook) {
- if (options.headers) {
- options.headers = Object.keys(options.headers).reduce((newObj, key) => {
- newObj[key.toLowerCase()] = options.headers[key];
- return newObj;
- }, {});
- }
- const clientDefaults = {
- headers: options.headers || {},
- request: options.request || {},
- mediaType: {
- previews: [],
- format: ""
- }
- };
- if (options.baseUrl) {
- clientDefaults.baseUrl = options.baseUrl;
- }
- if (options.userAgent) {
- clientDefaults.headers["user-agent"] = options.userAgent;
- }
- if (options.previews) {
- clientDefaults.mediaType.previews = options.previews;
- }
- if (options.timeZone) {
- clientDefaults.headers["time-zone"] = options.timeZone;
- }
- if (options.timeout) {
- deprecateOptionsTimeout(
- log,
- new Deprecation(
- "[@octokit/rest] new Octokit({timeout}) is deprecated. Use {request: {timeout}} instead. See https://github.com/octokit/request.js#request"
- )
- );
- clientDefaults.request.timeout = options.timeout;
- }
- if (options.agent) {
- deprecateOptionsAgent(
- log,
- new Deprecation(
- "[@octokit/rest] new Octokit({agent}) is deprecated. Use {request: {agent}} instead. See https://github.com/octokit/request.js#request"
- )
- );
- clientDefaults.request.agent = options.agent;
- }
- if (options.headers) {
- deprecateOptionsHeaders(
- log,
- new Deprecation(
- "[@octokit/rest] new Octokit({headers}) is deprecated. Use {userAgent, previews} instead. See https://github.com/octokit/request.js#request"
- )
- );
- }
- const userAgentOption = clientDefaults.headers["user-agent"];
- const defaultUserAgent = `octokit.js/${pkg.version} ${getUserAgent()}`;
- clientDefaults.headers["user-agent"] = [userAgentOption, defaultUserAgent]
- .filter(Boolean)
- .join(" ");
- clientDefaults.request.hook = hook.bind(null, "request");
- return clientDefaults;
- }
- /***/ }),
- /***/ 297:
- /***/ (function(module) {
- module.exports = class HttpError extends Error {
- constructor (message, code, headers) {
- super(message)
- // Maintains proper stack trace (only available on V8)
- /* istanbul ignore next */
- if (Error.captureStackTrace) {
- Error.captureStackTrace(this, this.constructor)
- }
- this.name = 'HttpError'
- this.code = code
- this.headers = headers
- }
- }
- /***/ }),
- /***/ 299:
- /***/ (function(__unusedmodule, exports) {
- "use strict";
- Object.defineProperty(exports, '__esModule', { value: true });
- const VERSION = "1.1.2";
- /**
- * Some “list” response that can be paginated have a different response structure
- *
- * They have a `total_count` key in the response (search also has `incomplete_results`,
- * /installation/repositories also has `repository_selection`), as well as a key with
- * the list of the items which name varies from endpoint to endpoint:
- *
- * - https://developer.github.com/v3/search/#example (key `items`)
- * - https://developer.github.com/v3/checks/runs/#response-3 (key: `check_runs`)
- * - https://developer.github.com/v3/checks/suites/#response-1 (key: `check_suites`)
- * - https://developer.github.com/v3/apps/installations/#list-repositories (key: `repositories`)
- * - https://developer.github.com/v3/apps/installations/#list-installations-for-a-user (key `installations`)
- *
- * Octokit normalizes these responses so that paginated results are always returned following
- * the same structure. One challenge is that if the list response has only one page, no Link
- * header is provided, so this header alone is not sufficient to check wether a response is
- * paginated or not. For the exceptions with the namespace, a fallback check for the route
- * paths has to be added in order to normalize the response. We cannot check for the total_count
- * property because it also exists in the response of Get the combined status for a specific ref.
- */
- const REGEX = [/^\/search\//, /^\/repos\/[^/]+\/[^/]+\/commits\/[^/]+\/(check-runs|check-suites)([^/]|$)/, /^\/installation\/repositories([^/]|$)/, /^\/user\/installations([^/]|$)/, /^\/repos\/[^/]+\/[^/]+\/actions\/secrets([^/]|$)/, /^\/repos\/[^/]+\/[^/]+\/actions\/workflows(\/[^/]+\/runs)?([^/]|$)/, /^\/repos\/[^/]+\/[^/]+\/actions\/runs(\/[^/]+\/(artifacts|jobs))?([^/]|$)/];
- function normalizePaginatedListResponse(octokit, url, response) {
- const path = url.replace(octokit.request.endpoint.DEFAULTS.baseUrl, "");
- const responseNeedsNormalization = REGEX.find(regex => regex.test(path));
- if (!responseNeedsNormalization) return; // keep the additional properties intact as there is currently no other way
- // to retrieve the same information.
- const incompleteResults = response.data.incomplete_results;
- const repositorySelection = response.data.repository_selection;
- const totalCount = response.data.total_count;
- delete response.data.incomplete_results;
- delete response.data.repository_selection;
- delete response.data.total_count;
- const namespaceKey = Object.keys(response.data)[0];
- const data = response.data[namespaceKey];
- response.data = data;
- if (typeof incompleteResults !== "undefined") {
- response.data.incomplete_results = incompleteResults;
- }
- if (typeof repositorySelection !== "undefined") {
- response.data.repository_selection = repositorySelection;
- }
- response.data.total_count = totalCount;
- Object.defineProperty(response.data, namespaceKey, {
- get() {
- octokit.log.warn(`[@octokit/paginate-rest] "response.data.${namespaceKey}" is deprecated for "GET ${path}". Get the results directly from "response.data"`);
- return Array.from(data);
- }
- });
- }
- function iterator(octokit, route, parameters) {
- const options = octokit.request.endpoint(route, parameters);
- const method = options.method;
- const headers = options.headers;
- let url = options.url;
- return {
- [Symbol.asyncIterator]: () => ({
- next() {
- if (!url) {
- return Promise.resolve({
- done: true
- });
- }
- return octokit.request({
- method,
- url,
- headers
- }).then(response => {
- normalizePaginatedListResponse(octokit, url, response); // `response.headers.link` format:
- // '<https://api.github.com/users/aseemk/followers?page=2>; rel="next", <https://api.github.com/users/aseemk/followers?page=2>; rel="last"'
- // sets `url` to undefined if "next" URL is not present or `link` header is not set
- url = ((response.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1];
- return {
- value: response
- };
- });
- }
- })
- };
- }
- function paginate(octokit, route, parameters, mapFn) {
- if (typeof parameters === "function") {
- mapFn = parameters;
- parameters = undefined;
- }
- return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);
- }
- function gather(octokit, results, iterator, mapFn) {
- return iterator.next().then(result => {
- if (result.done) {
- return results;
- }
- let earlyExit = false;
- function done() {
- earlyExit = true;
- }
- results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);
- if (earlyExit) {
- return results;
- }
- return gather(octokit, results, iterator, mapFn);
- });
- }
- /**
- * @param octokit Octokit instance
- * @param options Options passed to Octokit constructor
- */
- function paginateRest(octokit) {
- return {
- paginate: Object.assign(paginate.bind(null, octokit), {
- iterator: iterator.bind(null, octokit)
- })
- };
- }
- paginateRest.VERSION = VERSION;
- exports.paginateRest = paginateRest;
- //# sourceMappingURL=index.js.map
- /***/ }),
- /***/ 323:
- /***/ (function(module) {
- "use strict";
- var isStream = module.exports = function (stream) {
- return stream !== null && typeof stream === 'object' && typeof stream.pipe === 'function';
- };
- isStream.writable = function (stream) {
- return isStream(stream) && stream.writable !== false && typeof stream._write === 'function' && typeof stream._writableState === 'object';
- };
- isStream.readable = function (stream) {
- return isStream(stream) && stream.readable !== false && typeof stream._read === 'function' && typeof stream._readableState === 'object';
- };
- isStream.duplex = function (stream) {
- return isStream.writable(stream) && isStream.readable(stream);
- };
- isStream.transform = function (stream) {
- return isStream.duplex(stream) && typeof stream._transform === 'function' && typeof stream._transformState === 'object';
- };
- /***/ }),
- /***/ 336:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = hasLastPage
- const deprecate = __webpack_require__(370)
- const getPageLinks = __webpack_require__(577)
- function hasLastPage (link) {
- deprecate(`octokit.hasLastPage() – You can use octokit.paginate or async iterators instead: https://github.com/octokit/rest.js#pagination.`)
- return getPageLinks(link).last
- }
- /***/ }),
- /***/ 348:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- "use strict";
- module.exports = validate;
- const { RequestError } = __webpack_require__(497);
- const get = __webpack_require__(854);
- const set = __webpack_require__(883);
- function validate(octokit, options) {
- if (!options.request.validate) {
- return;
- }
- const { validate: params } = options.request;
- Object.keys(params).forEach(parameterName => {
- const parameter = get(params, parameterName);
- const expectedType = parameter.type;
- let parentParameterName;
- let parentValue;
- let parentParamIsPresent = true;
- let parentParameterIsArray = false;
- if (/\./.test(parameterName)) {
- parentParameterName = parameterName.replace(/\.[^.]+$/, "");
- parentParameterIsArray = parentParameterName.slice(-2) === "[]";
- if (parentParameterIsArray) {
- parentParameterName = parentParameterName.slice(0, -2);
- }
- parentValue = get(options, parentParameterName);
- parentParamIsPresent =
- parentParameterName === "headers" ||
- (typeof parentValue === "object" && parentValue !== null);
- }
- const values = parentParameterIsArray
- ? (get(options, parentParameterName) || []).map(
- value => value[parameterName.split(/\./).pop()]
- )
- : [get(options, parameterName)];
- values.forEach((value, i) => {
- const valueIsPresent = typeof value !== "undefined";
- const valueIsNull = value === null;
- const currentParameterName = parentParameterIsArray
- ? parameterName.replace(/\[\]/, `[${i}]`)
- : parameterName;
- if (!parameter.required && !valueIsPresent) {
- return;
- }
- // if the parent parameter is of type object but allows null
- // then the child parameters can be ignored
- if (!parentParamIsPresent) {
- return;
- }
- if (parameter.allowNull && valueIsNull) {
- return;
- }
- if (!parameter.allowNull && valueIsNull) {
- throw new RequestError(
- `'${currentParameterName}' cannot be null`,
- 400,
- {
- request: options
- }
- );
- }
- if (parameter.required && !valueIsPresent) {
- throw new RequestError(
- `Empty value for parameter '${currentParameterName}': ${JSON.stringify(
- value
- )}`,
- 400,
- {
- request: options
- }
- );
- }
- // parse to integer before checking for enum
- // so that string "1" will match enum with number 1
- if (expectedType === "integer") {
- const unparsedValue = value;
- value = parseInt(value, 10);
- if (isNaN(value)) {
- throw new RequestError(
- `Invalid value for parameter '${currentParameterName}': ${JSON.stringify(
- unparsedValue
- )} is NaN`,
- 400,
- {
- request: options
- }
- );
- }
- }
- if (parameter.enum && parameter.enum.indexOf(String(value)) === -1) {
- throw new RequestError(
- `Invalid value for parameter '${currentParameterName}': ${JSON.stringify(
- value
- )}`,
- 400,
- {
- request: options
- }
- );
- }
- if (parameter.validation) {
- const regex = new RegExp(parameter.validation);
- if (!regex.test(value)) {
- throw new RequestError(
- `Invalid value for parameter '${currentParameterName}': ${JSON.stringify(
- value
- )}`,
- 400,
- {
- request: options
- }
- );
- }
- }
- if (expectedType === "object" && typeof value === "string") {
- try {
- value = JSON.parse(value);
- } catch (exception) {
- throw new RequestError(
- `JSON parse error of value for parameter '${currentParameterName}': ${JSON.stringify(
- value
- )}`,
- 400,
- {
- request: options
- }
- );
- }
- }
- set(options, parameter.mapTo || currentParameterName, value);
- });
- });
- return options;
- }
- /***/ }),
- /***/ 349:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = authenticationRequestError;
- const { RequestError } = __webpack_require__(497);
- function authenticationRequestError(state, error, options) {
- /* istanbul ignore next */
- if (!error.headers) throw error;
- const otpRequired = /required/.test(error.headers["x-github-otp"] || "");
- // handle "2FA required" error only
- if (error.status !== 401 || !otpRequired) {
- throw error;
- }
- if (
- error.status === 401 &&
- otpRequired &&
- error.request &&
- error.request.headers["x-github-otp"]
- ) {
- throw new RequestError(
- "Invalid one-time password for two-factor authentication",
- 401,
- {
- headers: error.headers,
- request: options
- }
- );
- }
- if (typeof state.auth.on2fa !== "function") {
- throw new RequestError(
- "2FA required, but options.on2fa is not a function. See https://github.com/octokit/rest.js#authentication",
- 401,
- {
- headers: error.headers,
- request: options
- }
- );
- }
- return Promise.resolve()
- .then(() => {
- return state.auth.on2fa();
- })
- .then(oneTimePassword => {
- const newOptions = Object.assign(options, {
- headers: Object.assign(
- { "x-github-otp": oneTimePassword },
- options.headers
- )
- });
- return state.octokit.request(newOptions);
- });
- }
- /***/ }),
- /***/ 357:
- /***/ (function(module) {
- module.exports = require("assert");
- /***/ }),
- /***/ 363:
- /***/ (function(module) {
- module.exports = register
- function register (state, name, method, options) {
- if (typeof method !== 'function') {
- throw new Error('method for before hook must be a function')
- }
- if (!options) {
- options = {}
- }
- if (Array.isArray(name)) {
- return name.reverse().reduce(function (callback, name) {
- return register.bind(null, state, name, callback, options)
- }, method)()
- }
- return Promise.resolve()
- .then(function () {
- if (!state.registry[name]) {
- return method(options)
- }
- return (state.registry[name]).reduce(function (method, registered) {
- return registered.hook.bind(null, method, options)
- }, method)()
- })
- }
- /***/ }),
- /***/ 368:
- /***/ (function(module) {
- module.exports = function atob(str) {
- return Buffer.from(str, 'base64').toString('binary')
- }
- /***/ }),
- /***/ 370:
- /***/ (function(module) {
- module.exports = deprecate
- const loggedMessages = {}
- function deprecate (message) {
- if (loggedMessages[message]) {
- return
- }
- console.warn(`DEPRECATED (@octokit/rest): ${message}`)
- loggedMessages[message] = 1
- }
- /***/ }),
- /***/ 385:
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, '__esModule', { value: true });
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
- var isPlainObject = _interopDefault(__webpack_require__(696));
- var universalUserAgent = __webpack_require__(796);
- function lowercaseKeys(object) {
- if (!object) {
- return {};
- }
- return Object.keys(object).reduce((newObj, key) => {
- newObj[key.toLowerCase()] = object[key];
- return newObj;
- }, {});
- }
- function mergeDeep(defaults, options) {
- const result = Object.assign({}, defaults);
- Object.keys(options).forEach(key => {
- if (isPlainObject(options[key])) {
- if (!(key in defaults)) Object.assign(result, {
- [key]: options[key]
- });else result[key] = mergeDeep(defaults[key], options[key]);
- } else {
- Object.assign(result, {
- [key]: options[key]
- });
- }
- });
- return result;
- }
- function merge(defaults, route, options) {
- if (typeof route === "string") {
- let [method, url] = route.split(" ");
- options = Object.assign(url ? {
- method,
- url
- } : {
- url: method
- }, options);
- } else {
- options = Object.assign({}, route);
- } // lowercase header names before merging with defaults to avoid duplicates
- options.headers = lowercaseKeys(options.headers);
- const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten
- if (defaults && defaults.mediaType.previews.length) {
- mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);
- }
- mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, ""));
- return mergedOptions;
- }
- function addQueryParameters(url, parameters) {
- const separator = /\?/.test(url) ? "&" : "?";
- const names = Object.keys(parameters);
- if (names.length === 0) {
- return url;
- }
- return url + separator + names.map(name => {
- if (name === "q") {
- return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
- }
- return `${name}=${encodeURIComponent(parameters[name])}`;
- }).join("&");
- }
- const urlVariableRegex = /\{[^}]+\}/g;
- function removeNonChars(variableName) {
- return variableName.replace(/^\W+|\W+$/g, "").split(/,/);
- }
- function extractUrlVariableNames(url) {
- const matches = url.match(urlVariableRegex);
- if (!matches) {
- return [];
- }
- return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);
- }
- function omit(object, keysToOmit) {
- return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => {
- obj[key] = object[key];
- return obj;
- }, {});
- }
- // Based on https://github.com/bramstein/url-template, licensed under BSD
- // TODO: create separate package.
- //
- // Copyright (c) 2012-2014, Bram Stein
- // All rights reserved.
- // Redistribution and use in source and binary forms, with or without
- // modification, are permitted provided that the following conditions
- // are met:
- // 1. Redistributions of source code must retain the above copyright
- // notice, this list of conditions and the following disclaimer.
- // 2. Redistributions in binary form must reproduce the above copyright
- // notice, this list of conditions and the following disclaimer in the
- // documentation and/or other materials provided with the distribution.
- // 3. The name of the author may not be used to endorse or promote products
- // derived from this software without specific prior written permission.
- // THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
- // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- // EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- /* istanbul ignore file */
- function encodeReserved(str) {
- return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) {
- if (!/%[0-9A-Fa-f]/.test(part)) {
- part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
- }
- return part;
- }).join("");
- }
- function encodeUnreserved(str) {
- return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {
- return "%" + c.charCodeAt(0).toString(16).toUpperCase();
- });
- }
- function encodeValue(operator, value, key) {
- value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
- if (key) {
- return encodeUnreserved(key) + "=" + value;
- } else {
- return value;
- }
- }
- function isDefined(value) {
- return value !== undefined && value !== null;
- }
- function isKeyOperator(operator) {
- return operator === ";" || operator === "&" || operator === "?";
- }
- function getValues(context, operator, key, modifier) {
- var value = context[key],
- result = [];
- if (isDefined(value) && value !== "") {
- if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
- value = value.toString();
- if (modifier && modifier !== "*") {
- value = value.substring(0, parseInt(modifier, 10));
- }
- result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : ""));
- } else {
- if (modifier === "*") {
- if (Array.isArray(value)) {
- value.filter(isDefined).forEach(function (value) {
- result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : ""));
- });
- } else {
- Object.keys(value).forEach(function (k) {
- if (isDefined(value[k])) {
- result.push(encodeValue(operator, value[k], k));
- }
- });
- }
- } else {
- const tmp = [];
- if (Array.isArray(value)) {
- value.filter(isDefined).forEach(function (value) {
- tmp.push(encodeValue(operator, value));
- });
- } else {
- Object.keys(value).forEach(function (k) {
- if (isDefined(value[k])) {
- tmp.push(encodeUnreserved(k));
- tmp.push(encodeValue(operator, value[k].toString()));
- }
- });
- }
- if (isKeyOperator(operator)) {
- result.push(encodeUnreserved(key) + "=" + tmp.join(","));
- } else if (tmp.length !== 0) {
- result.push(tmp.join(","));
- }
- }
- }
- } else {
- if (operator === ";") {
- if (isDefined(value)) {
- result.push(encodeUnreserved(key));
- }
- } else if (value === "" && (operator === "&" || operator === "?")) {
- result.push(encodeUnreserved(key) + "=");
- } else if (value === "") {
- result.push("");
- }
- }
- return result;
- }
- function parseUrl(template) {
- return {
- expand: expand.bind(null, template)
- };
- }
- function expand(template, context) {
- var operators = ["+", "#", ".", "/", ";", "?", "&"];
- return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) {
- if (expression) {
- let operator = "";
- const values = [];
- if (operators.indexOf(expression.charAt(0)) !== -1) {
- operator = expression.charAt(0);
- expression = expression.substr(1);
- }
- expression.split(/,/g).forEach(function (variable) {
- var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
- values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));
- });
- if (operator && operator !== "+") {
- var separator = ",";
- if (operator === "?") {
- separator = "&";
- } else if (operator !== "#") {
- separator = operator;
- }
- return (values.length !== 0 ? operator : "") + values.join(separator);
- } else {
- return values.join(",");
- }
- } else {
- return encodeReserved(literal);
- }
- });
- }
- function parse(options) {
- // https://fetch.spec.whatwg.org/#methods
- let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible
- let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{+$1}");
- let headers = Object.assign({}, options.headers);
- let body;
- let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later
- const urlVariableNames = extractUrlVariableNames(url);
- url = parseUrl(url).expand(parameters);
- if (!/^http/.test(url)) {
- url = options.baseUrl + url;
- }
- const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl");
- const remainingParameters = omit(parameters, omittedParameters);
- const isBinaryRequset = /application\/octet-stream/i.test(headers.accept);
- if (!isBinaryRequset) {
- if (options.mediaType.format) {
- // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw
- headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(",");
- }
- if (options.mediaType.previews.length) {
- const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || [];
- headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => {
- const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
- return `application/vnd.github.${preview}-preview${format}`;
- }).join(",");
- }
- } // for GET/HEAD requests, set URL query parameters from remaining parameters
- // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters
- if (["GET", "HEAD"].includes(method)) {
- url = addQueryParameters(url, remainingParameters);
- } else {
- if ("data" in remainingParameters) {
- body = remainingParameters.data;
- } else {
- if (Object.keys(remainingParameters).length) {
- body = remainingParameters;
- } else {
- headers["content-length"] = 0;
- }
- }
- } // default content-type for JSON if body is set
- if (!headers["content-type"] && typeof body !== "undefined") {
- headers["content-type"] = "application/json; charset=utf-8";
- } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.
- // fetch does not allow to set `content-length` header, but we can set body to an empty string
- if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
- body = "";
- } // Only return body/request keys if present
- return Object.assign({
- method,
- url,
- headers
- }, typeof body !== "undefined" ? {
- body
- } : null, options.request ? {
- request: options.request
- } : null);
- }
- function endpointWithDefaults(defaults, route, options) {
- return parse(merge(defaults, route, options));
- }
- function withDefaults(oldDefaults, newDefaults) {
- const DEFAULTS = merge(oldDefaults, newDefaults);
- const endpoint = endpointWithDefaults.bind(null, DEFAULTS);
- return Object.assign(endpoint, {
- DEFAULTS,
- defaults: withDefaults.bind(null, DEFAULTS),
- merge: merge.bind(null, DEFAULTS),
- parse
- });
- }
- const VERSION = "6.0.2";
- const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url.
- // So we use RequestParameters and add method as additional required property.
- const DEFAULTS = {
- method: "GET",
- baseUrl: "https://api.github.com",
- headers: {
- accept: "application/vnd.github.v3+json",
- "user-agent": userAgent
- },
- mediaType: {
- format: "",
- previews: []
- }
- };
- const endpoint = withDefaults(null, DEFAULTS);
- exports.endpoint = endpoint;
- //# sourceMappingURL=index.js.map
- /***/ }),
- /***/ 389:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- "use strict";
- const fs = __webpack_require__(747);
- const shebangCommand = __webpack_require__(866);
- function readShebang(command) {
- // Read the first 150 bytes from the file
- const size = 150;
- let buffer;
- if (Buffer.alloc) {
- // Node.js v4.5+ / v5.10+
- buffer = Buffer.alloc(size);
- } else {
- // Old Node.js API
- buffer = new Buffer(size);
- buffer.fill(0); // zero-fill
- }
- let fd;
- try {
- fd = fs.openSync(command, 'r');
- fs.readSync(fd, buffer, 0, size, 0);
- fs.closeSync(fd);
- } catch (e) { /* Empty */ }
- // Attempt to extract shebang (null is returned if not a shebang)
- return shebangCommand(buffer.toString());
- }
- module.exports = readShebang;
- /***/ }),
- /***/ 402:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = Octokit;
- const { request } = __webpack_require__(753);
- const Hook = __webpack_require__(523);
- const parseClientOptions = __webpack_require__(294);
- function Octokit(plugins, options) {
- options = options || {};
- const hook = new Hook.Collection();
- const log = Object.assign(
- {
- debug: () => {},
- info: () => {},
- warn: console.warn,
- error: console.error
- },
- options && options.log
- );
- const api = {
- hook,
- log,
- request: request.defaults(parseClientOptions(options, log, hook))
- };
- plugins.forEach(pluginFunction => pluginFunction(api, options));
- return api;
- }
- /***/ }),
- /***/ 413:
- /***/ (function(module) {
- module.exports = require("stream");
- /***/ }),
- /***/ 427:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- "use strict";
- // Older verions of Node.js might not have `util.getSystemErrorName()`.
- // In that case, fall back to a deprecated internal.
- const util = __webpack_require__(669);
- let uv;
- if (typeof util.getSystemErrorName === 'function') {
- module.exports = util.getSystemErrorName;
- } else {
- try {
- uv = process.binding('uv');
- if (typeof uv.errname !== 'function') {
- throw new TypeError('uv.errname is not a function');
- }
- } catch (err) {
- console.error('execa/lib/errname: unable to establish process.binding(\'uv\')', err);
- uv = null;
- }
- module.exports = code => errname(uv, code);
- }
- // Used for testing the fallback behavior
- module.exports.__test__ = errname;
- function errname(uv, code) {
- if (uv) {
- return uv.errname(code);
- }
- if (!(code < 0)) {
- throw new Error('err >= 0');
- }
- return `Unknown system error ${code}`;
- }
- /***/ }),
- /***/ 430:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = octokitValidate;
- const validate = __webpack_require__(348);
- function octokitValidate(octokit) {
- octokit.hook.before("request", validate.bind(null, octokit));
- }
- /***/ }),
- /***/ 431:
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
- "use strict";
- var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
- result["default"] = mod;
- return result;
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- const os = __importStar(__webpack_require__(87));
- /**
- * Commands
- *
- * Command Format:
- * ::name key=value,key=value::message
- *
- * Examples:
- * ::warning::This is the message
- * ::set-env name=MY_VAR::some value
- */
- function issueCommand(command, properties, message) {
- const cmd = new Command(command, properties, message);
- process.stdout.write(cmd.toString() + os.EOL);
- }
- exports.issueCommand = issueCommand;
- function issue(name, message = '') {
- issueCommand(name, {}, message);
- }
- exports.issue = issue;
- const CMD_STRING = '::';
- class Command {
- constructor(command, properties, message) {
- if (!command) {
- command = 'missing.command';
- }
- this.command = command;
- this.properties = properties;
- this.message = message;
- }
- toString() {
- let cmdStr = CMD_STRING + this.command;
- if (this.properties && Object.keys(this.properties).length > 0) {
- cmdStr += ' ';
- let first = true;
- for (const key in this.properties) {
- if (this.properties.hasOwnProperty(key)) {
- const val = this.properties[key];
- if (val) {
- if (first) {
- first = false;
- }
- else {
- cmdStr += ',';
- }
- cmdStr += `${key}=${escapeProperty(val)}`;
- }
- }
- }
- }
- cmdStr += `${CMD_STRING}${escapeData(this.message)}`;
- return cmdStr;
- }
- }
- function escapeData(s) {
- return (s || '')
- .replace(/%/g, '%25')
- .replace(/\r/g, '%0D')
- .replace(/\n/g, '%0A');
- }
- function escapeProperty(s) {
- return (s || '')
- .replace(/%/g, '%25')
- .replace(/\r/g, '%0D')
- .replace(/\n/g, '%0A')
- .replace(/:/g, '%3A')
- .replace(/,/g, '%2C');
- }
- //# sourceMappingURL=command.js.map
- /***/ }),
- /***/ 453:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- var once = __webpack_require__(969)
- var eos = __webpack_require__(9)
- var fs = __webpack_require__(747) // we only need fs to get the ReadStream and WriteStream prototypes
- var noop = function () {}
- var ancient = /^v?\.0/.test(process.version)
- var isFn = function (fn) {
- return typeof fn === 'function'
- }
- var isFS = function (stream) {
- if (!ancient) return false // newer node version do not need to care about fs is a special way
- if (!fs) return false // browser
- return (stream instanceof (fs.ReadStream || noop) || stream instanceof (fs.WriteStream || noop)) && isFn(stream.close)
- }
- var isRequest = function (stream) {
- return stream.setHeader && isFn(stream.abort)
- }
- var destroyer = function (stream, reading, writing, callback) {
- callback = once(callback)
- var closed = false
- stream.on('close', function () {
- closed = true
- })
- eos(stream, {readable: reading, writable: writing}, function (err) {
- if (err) return callback(err)
- closed = true
- callback()
- })
- var destroyed = false
- return function (err) {
- if (closed) return
- if (destroyed) return
- destroyed = true
- if (isFS(stream)) return stream.close(noop) // use close for fs streams to avoid fd leaks
- if (isRequest(stream)) return stream.abort() // request.destroy just do .end - .abort is what we want
- if (isFn(stream.destroy)) return stream.destroy()
- callback(err || new Error('stream was destroyed'))
- }
- }
- var call = function (fn) {
- fn()
- }
- var pipe = function (from, to) {
- return from.pipe(to)
- }
- var pump = function () {
- var streams = Array.prototype.slice.call(arguments)
- var callback = isFn(streams[streams.length - 1] || noop) && streams.pop() || noop
- if (Array.isArray(streams[0])) streams = streams[0]
- if (streams.length < 2) throw new Error('pump requires two streams per minimum')
- var error
- var destroys = streams.map(function (stream, i) {
- var reading = i < streams.length - 1
- var writing = i > 0
- return destroyer(stream, reading, writing, function (err) {
- if (!error) error = err
- if (err) destroys.forEach(call)
- if (reading) return
- destroys.forEach(call)
- callback(error)
- })
- })
- return streams.reduce(pipe)
- }
- module.exports = pump
- /***/ }),
- /***/ 454:
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, '__esModule', { value: true });
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
- var Stream = _interopDefault(__webpack_require__(413));
- var http = _interopDefault(__webpack_require__(605));
- var Url = _interopDefault(__webpack_require__(835));
- var https = _interopDefault(__webpack_require__(211));
- var zlib = _interopDefault(__webpack_require__(761));
- // Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js
- // fix for "Readable" isn't a named export issue
- const Readable = Stream.Readable;
- const BUFFER = Symbol('buffer');
- const TYPE = Symbol('type');
- class Blob {
- constructor() {
- this[TYPE] = '';
- const blobParts = arguments[0];
- const options = arguments[1];
- const buffers = [];
- let size = 0;
- if (blobParts) {
- const a = blobParts;
- const length = Number(a.length);
- for (let i = 0; i < length; i++) {
- const element = a[i];
- let buffer;
- if (element instanceof Buffer) {
- buffer = element;
- } else if (ArrayBuffer.isView(element)) {
- buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);
- } else if (element instanceof ArrayBuffer) {
- buffer = Buffer.from(element);
- } else if (element instanceof Blob) {
- buffer = element[BUFFER];
- } else {
- buffer = Buffer.from(typeof element === 'string' ? element : String(element));
- }
- size += buffer.length;
- buffers.push(buffer);
- }
- }
- this[BUFFER] = Buffer.concat(buffers);
- let type = options && options.type !== undefined && String(options.type).toLowerCase();
- if (type && !/[^\u0020-\u007E]/.test(type)) {
- this[TYPE] = type;
- }
- }
- get size() {
- return this[BUFFER].length;
- }
- get type() {
- return this[TYPE];
- }
- text() {
- return Promise.resolve(this[BUFFER].toString());
- }
- arrayBuffer() {
- const buf = this[BUFFER];
- const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
- return Promise.resolve(ab);
- }
- stream() {
- const readable = new Readable();
- readable._read = function () {};
- readable.push(this[BUFFER]);
- readable.push(null);
- return readable;
- }
- toString() {
- return '[object Blob]';
- }
- slice() {
- const size = this.size;
- const start = arguments[0];
- const end = arguments[1];
- let relativeStart, relativeEnd;
- if (start === undefined) {
- relativeStart = 0;
- } else if (start < 0) {
- relativeStart = Math.max(size + start, 0);
- } else {
- relativeStart = Math.min(start, size);
- }
- if (end === undefined) {
- relativeEnd = size;
- } else if (end < 0) {
- relativeEnd = Math.max(size + end, 0);
- } else {
- relativeEnd = Math.min(end, size);
- }
- const span = Math.max(relativeEnd - relativeStart, 0);
- const buffer = this[BUFFER];
- const slicedBuffer = buffer.slice(relativeStart, relativeStart + span);
- const blob = new Blob([], { type: arguments[2] });
- blob[BUFFER] = slicedBuffer;
- return blob;
- }
- }
- Object.defineProperties(Blob.prototype, {
- size: { enumerable: true },
- type: { enumerable: true },
- slice: { enumerable: true }
- });
- Object.defineProperty(Blob.prototype, Symbol.toStringTag, {
- value: 'Blob',
- writable: false,
- enumerable: false,
- configurable: true
- });
- /**
- * fetch-error.js
- *
- * FetchError interface for operational errors
- */
- /**
- * Create FetchError instance
- *
- * @param String message Error message for human
- * @param String type Error type for machine
- * @param String systemError For Node.js system error
- * @return FetchError
- */
- function FetchError(message, type, systemError) {
- Error.call(this, message);
- this.message = message;
- this.type = type;
- // when err.type is `system`, err.code contains system error code
- if (systemError) {
- this.code = this.errno = systemError.code;
- }
- // hide custom error implementation details from end-users
- Error.captureStackTrace(this, this.constructor);
- }
- FetchError.prototype = Object.create(Error.prototype);
- FetchError.prototype.constructor = FetchError;
- FetchError.prototype.name = 'FetchError';
- let convert;
- try {
- convert = __webpack_require__(18).convert;
- } catch (e) {}
- const INTERNALS = Symbol('Body internals');
- // fix an issue where "PassThrough" isn't a named export for node <10
- const PassThrough = Stream.PassThrough;
- /**
- * Body mixin
- *
- * Ref: https://fetch.spec.whatwg.org/#body
- *
- * @param Stream body Readable stream
- * @param Object opts Response options
- * @return Void
- */
- function Body(body) {
- var _this = this;
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$size = _ref.size;
- let size = _ref$size === undefined ? 0 : _ref$size;
- var _ref$timeout = _ref.timeout;
- let timeout = _ref$timeout === undefined ? 0 : _ref$timeout;
- if (body == null) {
- // body is undefined or null
- body = null;
- } else if (isURLSearchParams(body)) {
- // body is a URLSearchParams
- body = Buffer.from(body.toString());
- } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {
- // body is ArrayBuffer
- body = Buffer.from(body);
- } else if (ArrayBuffer.isView(body)) {
- // body is ArrayBufferView
- body = Buffer.from(body.buffer, body.byteOffset, body.byteLength);
- } else if (body instanceof Stream) ; else {
- // none of the above
- // coerce to string then buffer
- body = Buffer.from(String(body));
- }
- this[INTERNALS] = {
- body,
- disturbed: false,
- error: null
- };
- this.size = size;
- this.timeout = timeout;
- if (body instanceof Stream) {
- body.on('error', function (err) {
- const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);
- _this[INTERNALS].error = error;
- });
- }
- }
- Body.prototype = {
- get body() {
- return this[INTERNALS].body;
- },
- get bodyUsed() {
- return this[INTERNALS].disturbed;
- },
- /**
- * Decode response as ArrayBuffer
- *
- * @return Promise
- */
- arrayBuffer() {
- return consumeBody.call(this).then(function (buf) {
- return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
- });
- },
- /**
- * Return raw response as Blob
- *
- * @return Promise
- */
- blob() {
- let ct = this.headers && this.headers.get('content-type') || '';
- return consumeBody.call(this).then(function (buf) {
- return Object.assign(
- // Prevent copying
- new Blob([], {
- type: ct.toLowerCase()
- }), {
- [BUFFER]: buf
- });
- });
- },
- /**
- * Decode response as json
- *
- * @return Promise
- */
- json() {
- var _this2 = this;
- return consumeBody.call(this).then(function (buffer) {
- try {
- return JSON.parse(buffer.toString());
- } catch (err) {
- return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));
- }
- });
- },
- /**
- * Decode response as text
- *
- * @return Promise
- */
- text() {
- return consumeBody.call(this).then(function (buffer) {
- return buffer.toString();
- });
- },
- /**
- * Decode response as buffer (non-spec api)
- *
- * @return Promise
- */
- buffer() {
- return consumeBody.call(this);
- },
- /**
- * Decode response as text, while automatically detecting the encoding and
- * trying to decode to UTF-8 (non-spec api)
- *
- * @return Promise
- */
- textConverted() {
- var _this3 = this;
- return consumeBody.call(this).then(function (buffer) {
- return convertBody(buffer, _this3.headers);
- });
- }
- };
- // In browsers, all properties are enumerable.
- Object.defineProperties(Body.prototype, {
- body: { enumerable: true },
- bodyUsed: { enumerable: true },
- arrayBuffer: { enumerable: true },
- blob: { enumerable: true },
- json: { enumerable: true },
- text: { enumerable: true }
- });
- Body.mixIn = function (proto) {
- for (const name of Object.getOwnPropertyNames(Body.prototype)) {
- // istanbul ignore else: future proof
- if (!(name in proto)) {
- const desc = Object.getOwnPropertyDescriptor(Body.prototype, name);
- Object.defineProperty(proto, name, desc);
- }
- }
- };
- /**
- * Consume and convert an entire Body to a Buffer.
- *
- * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body
- *
- * @return Promise
- */
- function consumeBody() {
- var _this4 = this;
- if (this[INTERNALS].disturbed) {
- return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));
- }
- this[INTERNALS].disturbed = true;
- if (this[INTERNALS].error) {
- return Body.Promise.reject(this[INTERNALS].error);
- }
- let body = this.body;
- // body is null
- if (body === null) {
- return Body.Promise.resolve(Buffer.alloc(0));
- }
- // body is blob
- if (isBlob(body)) {
- body = body.stream();
- }
- // body is buffer
- if (Buffer.isBuffer(body)) {
- return Body.Promise.resolve(body);
- }
- // istanbul ignore if: should never happen
- if (!(body instanceof Stream)) {
- return Body.Promise.resolve(Buffer.alloc(0));
- }
- // body is stream
- // get ready to actually consume the body
- let accum = [];
- let accumBytes = 0;
- let abort = false;
- return new Body.Promise(function (resolve, reject) {
- let resTimeout;
- // allow timeout on slow response body
- if (_this4.timeout) {
- resTimeout = setTimeout(function () {
- abort = true;
- reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));
- }, _this4.timeout);
- }
- // handle stream errors
- body.on('error', function (err) {
- if (err.name === 'AbortError') {
- // if the request was aborted, reject with this Error
- abort = true;
- reject(err);
- } else {
- // other errors, such as incorrect content-encoding
- reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));
- }
- });
- body.on('data', function (chunk) {
- if (abort || chunk === null) {
- return;
- }
- if (_this4.size && accumBytes + chunk.length > _this4.size) {
- abort = true;
- reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));
- return;
- }
- accumBytes += chunk.length;
- accum.push(chunk);
- });
- body.on('end', function () {
- if (abort) {
- return;
- }
- clearTimeout(resTimeout);
- try {
- resolve(Buffer.concat(accum, accumBytes));
- } catch (err) {
- // handle streams that have accumulated too much data (issue #414)
- reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));
- }
- });
- });
- }
- /**
- * Detect buffer encoding and convert to target encoding
- * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding
- *
- * @param Buffer buffer Incoming buffer
- * @param String encoding Target encoding
- * @return String
- */
- function convertBody(buffer, headers) {
- if (typeof convert !== 'function') {
- throw new Error('The package `encoding` must be installed to use the textConverted() function');
- }
- const ct = headers.get('content-type');
- let charset = 'utf-8';
- let res, str;
- // header
- if (ct) {
- res = /charset=([^;]*)/i.exec(ct);
- }
- // no charset in content type, peek at response body for at most 1024 bytes
- str = buffer.slice(0, 1024).toString();
- // html5
- if (!res && str) {
- res = /<meta.+?charset=(['"])(.+?)\1/i.exec(str);
- }
- // html4
- if (!res && str) {
- res = /<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(str);
- if (res) {
- res = /charset=(.*)/i.exec(res.pop());
- }
- }
- // xml
- if (!res && str) {
- res = /<\?xml.+?encoding=(['"])(.+?)\1/i.exec(str);
- }
- // found charset
- if (res) {
- charset = res.pop();
- // prevent decode issues when sites use incorrect encoding
- // ref: https://hsivonen.fi/encoding-menu/
- if (charset === 'gb2312' || charset === 'gbk') {
- charset = 'gb18030';
- }
- }
- // turn raw buffers into a single utf-8 buffer
- return convert(buffer, 'UTF-8', charset).toString();
- }
- /**
- * Detect a URLSearchParams object
- * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143
- *
- * @param Object obj Object to detect by type or brand
- * @return String
- */
- function isURLSearchParams(obj) {
- // Duck-typing as a necessary condition.
- if (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') {
- return false;
- }
- // Brand-checking and more duck-typing as optional condition.
- return obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function';
- }
- /**
- * Check if `obj` is a W3C `Blob` object (which `File` inherits from)
- * @param {*} obj
- * @return {boolean}
- */
- function isBlob(obj) {
- return typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]);
- }
- /**
- * Clone body given Res/Req instance
- *
- * @param Mixed instance Response or Request instance
- * @return Mixed
- */
- function clone(instance) {
- let p1, p2;
- let body = instance.body;
- // don't allow cloning a used body
- if (instance.bodyUsed) {
- throw new Error('cannot clone body after it is used');
- }
- // check that body is a stream and not form-data object
- // note: we can't clone the form-data object without having it as a dependency
- if (body instanceof Stream && typeof body.getBoundary !== 'function') {
- // tee instance body
- p1 = new PassThrough();
- p2 = new PassThrough();
- body.pipe(p1);
- body.pipe(p2);
- // set instance body to teed body and return the other teed body
- instance[INTERNALS].body = p1;
- body = p2;
- }
- return body;
- }
- /**
- * Performs the operation "extract a `Content-Type` value from |object|" as
- * specified in the specification:
- * https://fetch.spec.whatwg.org/#concept-bodyinit-extract
- *
- * This function assumes that instance.body is present.
- *
- * @param Mixed instance Any options.body input
- */
- function extractContentType(body) {
- if (body === null) {
- // body is null
- return null;
- } else if (typeof body === 'string') {
- // body is string
- return 'text/plain;charset=UTF-8';
- } else if (isURLSearchParams(body)) {
- // body is a URLSearchParams
- return 'application/x-www-form-urlencoded;charset=UTF-8';
- } else if (isBlob(body)) {
- // body is blob
- return body.type || null;
- } else if (Buffer.isBuffer(body)) {
- // body is buffer
- return null;
- } else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {
- // body is ArrayBuffer
- return null;
- } else if (ArrayBuffer.isView(body)) {
- // body is ArrayBufferView
- return null;
- } else if (typeof body.getBoundary === 'function') {
- // detect form data input from form-data module
- return `multipart/form-data;boundary=${body.getBoundary()}`;
- } else if (body instanceof Stream) {
- // body is stream
- // can't really do much about this
- return null;
- } else {
- // Body constructor defaults other things to string
- return 'text/plain;charset=UTF-8';
- }
- }
- /**
- * The Fetch Standard treats this as if "total bytes" is a property on the body.
- * For us, we have to explicitly get it with a function.
- *
- * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes
- *
- * @param Body instance Instance of Body
- * @return Number? Number of bytes, or null if not possible
- */
- function getTotalBytes(instance) {
- const body = instance.body;
- if (body === null) {
- // body is null
- return 0;
- } else if (isBlob(body)) {
- return body.size;
- } else if (Buffer.isBuffer(body)) {
- // body is buffer
- return body.length;
- } else if (body && typeof body.getLengthSync === 'function') {
- // detect form data input from form-data module
- if (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x
- body.hasKnownLength && body.hasKnownLength()) {
- // 2.x
- return body.getLengthSync();
- }
- return null;
- } else {
- // body is stream
- return null;
- }
- }
- /**
- * Write a Body to a Node.js WritableStream (e.g. http.Request) object.
- *
- * @param Body instance Instance of Body
- * @return Void
- */
- function writeToStream(dest, instance) {
- const body = instance.body;
- if (body === null) {
- // body is null
- dest.end();
- } else if (isBlob(body)) {
- body.stream().pipe(dest);
- } else if (Buffer.isBuffer(body)) {
- // body is buffer
- dest.write(body);
- dest.end();
- } else {
- // body is stream
- body.pipe(dest);
- }
- }
- // expose Promise
- Body.Promise = global.Promise;
- /**
- * headers.js
- *
- * Headers class offers convenient helpers
- */
- const invalidTokenRegex = /[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/;
- const invalidHeaderCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
- function validateName(name) {
- name = `${name}`;
- if (invalidTokenRegex.test(name) || name === '') {
- throw new TypeError(`${name} is not a legal HTTP header name`);
- }
- }
- function validateValue(value) {
- value = `${value}`;
- if (invalidHeaderCharRegex.test(value)) {
- throw new TypeError(`${value} is not a legal HTTP header value`);
- }
- }
- /**
- * Find the key in the map object given a header name.
- *
- * Returns undefined if not found.
- *
- * @param String name Header name
- * @return String|Undefined
- */
- function find(map, name) {
- name = name.toLowerCase();
- for (const key in map) {
- if (key.toLowerCase() === name) {
- return key;
- }
- }
- return undefined;
- }
- const MAP = Symbol('map');
- class Headers {
- /**
- * Headers class
- *
- * @param Object headers Response headers
- * @return Void
- */
- constructor() {
- let init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;
- this[MAP] = Object.create(null);
- if (init instanceof Headers) {
- const rawHeaders = init.raw();
- const headerNames = Object.keys(rawHeaders);
- for (const headerName of headerNames) {
- for (const value of rawHeaders[headerName]) {
- this.append(headerName, value);
- }
- }
- return;
- }
- // We don't worry about converting prop to ByteString here as append()
- // will handle it.
- if (init == null) ; else if (typeof init === 'object') {
- const method = init[Symbol.iterator];
- if (method != null) {
- if (typeof method !== 'function') {
- throw new TypeError('Header pairs must be iterable');
- }
- // sequence<sequence<ByteString>>
- // Note: per spec we have to first exhaust the lists then process them
- const pairs = [];
- for (const pair of init) {
- if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {
- throw new TypeError('Each header pair must be iterable');
- }
- pairs.push(Array.from(pair));
- }
- for (const pair of pairs) {
- if (pair.length !== 2) {
- throw new TypeError('Each header pair must be a name/value tuple');
- }
- this.append(pair[0], pair[1]);
- }
- } else {
- // record<ByteString, ByteString>
- for (const key of Object.keys(init)) {
- const value = init[key];
- this.append(key, value);
- }
- }
- } else {
- throw new TypeError('Provided initializer must be an object');
- }
- }
- /**
- * Return combined header value given name
- *
- * @param String name Header name
- * @return Mixed
- */
- get(name) {
- name = `${name}`;
- validateName(name);
- const key = find(this[MAP], name);
- if (key === undefined) {
- return null;
- }
- return this[MAP][key].join(', ');
- }
- /**
- * Iterate over all headers
- *
- * @param Function callback Executed for each item with parameters (value, name, thisArg)
- * @param Boolean thisArg `this` context for callback function
- * @return Void
- */
- forEach(callback) {
- let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
- let pairs = getHeaders(this);
- let i = 0;
- while (i < pairs.length) {
- var _pairs$i = pairs[i];
- const name = _pairs$i[0],
- value = _pairs$i[1];
- callback.call(thisArg, value, name, this);
- pairs = getHeaders(this);
- i++;
- }
- }
- /**
- * Overwrite header values given name
- *
- * @param String name Header name
- * @param String value Header value
- * @return Void
- */
- set(name, value) {
- name = `${name}`;
- value = `${value}`;
- validateName(name);
- validateValue(value);
- const key = find(this[MAP], name);
- this[MAP][key !== undefined ? key : name] = [value];
- }
- /**
- * Append a value onto existing header
- *
- * @param String name Header name
- * @param String value Header value
- * @return Void
- */
- append(name, value) {
- name = `${name}`;
- value = `${value}`;
- validateName(name);
- validateValue(value);
- const key = find(this[MAP], name);
- if (key !== undefined) {
- this[MAP][key].push(value);
- } else {
- this[MAP][name] = [value];
- }
- }
- /**
- * Check for header name existence
- *
- * @param String name Header name
- * @return Boolean
- */
- has(name) {
- name = `${name}`;
- validateName(name);
- return find(this[MAP], name) !== undefined;
- }
- /**
- * Delete all header values given name
- *
- * @param String name Header name
- * @return Void
- */
- delete(name) {
- name = `${name}`;
- validateName(name);
- const key = find(this[MAP], name);
- if (key !== undefined) {
- delete this[MAP][key];
- }
- }
- /**
- * Return raw headers (non-spec api)
- *
- * @return Object
- */
- raw() {
- return this[MAP];
- }
- /**
- * Get an iterator on keys.
- *
- * @return Iterator
- */
- keys() {
- return createHeadersIterator(this, 'key');
- }
- /**
- * Get an iterator on values.
- *
- * @return Iterator
- */
- values() {
- return createHeadersIterator(this, 'value');
- }
- /**
- * Get an iterator on entries.
- *
- * This is the default iterator of the Headers object.
- *
- * @return Iterator
- */
- [Symbol.iterator]() {
- return createHeadersIterator(this, 'key+value');
- }
- }
- Headers.prototype.entries = Headers.prototype[Symbol.iterator];
- Object.defineProperty(Headers.prototype, Symbol.toStringTag, {
- value: 'Headers',
- writable: false,
- enumerable: false,
- configurable: true
- });
- Object.defineProperties(Headers.prototype, {
- get: { enumerable: true },
- forEach: { enumerable: true },
- set: { enumerable: true },
- append: { enumerable: true },
- has: { enumerable: true },
- delete: { enumerable: true },
- keys: { enumerable: true },
- values: { enumerable: true },
- entries: { enumerable: true }
- });
- function getHeaders(headers) {
- let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';
- const keys = Object.keys(headers[MAP]).sort();
- return keys.map(kind === 'key' ? function (k) {
- return k.toLowerCase();
- } : kind === 'value' ? function (k) {
- return headers[MAP][k].join(', ');
- } : function (k) {
- return [k.toLowerCase(), headers[MAP][k].join(', ')];
- });
- }
- const INTERNAL = Symbol('internal');
- function createHeadersIterator(target, kind) {
- const iterator = Object.create(HeadersIteratorPrototype);
- iterator[INTERNAL] = {
- target,
- kind,
- index: 0
- };
- return iterator;
- }
- const HeadersIteratorPrototype = Object.setPrototypeOf({
- next() {
- // istanbul ignore if
- if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {
- throw new TypeError('Value of `this` is not a HeadersIterator');
- }
- var _INTERNAL = this[INTERNAL];
- const target = _INTERNAL.target,
- kind = _INTERNAL.kind,
- index = _INTERNAL.index;
- const values = getHeaders(target, kind);
- const len = values.length;
- if (index >= len) {
- return {
- value: undefined,
- done: true
- };
- }
- this[INTERNAL].index = index + 1;
- return {
- value: values[index],
- done: false
- };
- }
- }, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));
- Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {
- value: 'HeadersIterator',
- writable: false,
- enumerable: false,
- configurable: true
- });
- /**
- * Export the Headers object in a form that Node.js can consume.
- *
- * @param Headers headers
- * @return Object
- */
- function exportNodeCompatibleHeaders(headers) {
- const obj = Object.assign({ __proto__: null }, headers[MAP]);
- // http.request() only supports string as Host header. This hack makes
- // specifying custom Host header possible.
- const hostHeaderKey = find(headers[MAP], 'Host');
- if (hostHeaderKey !== undefined) {
- obj[hostHeaderKey] = obj[hostHeaderKey][0];
- }
- return obj;
- }
- /**
- * Create a Headers object from an object of headers, ignoring those that do
- * not conform to HTTP grammar productions.
- *
- * @param Object obj Object of headers
- * @return Headers
- */
- function createHeadersLenient(obj) {
- const headers = new Headers();
- for (const name of Object.keys(obj)) {
- if (invalidTokenRegex.test(name)) {
- continue;
- }
- if (Array.isArray(obj[name])) {
- for (const val of obj[name]) {
- if (invalidHeaderCharRegex.test(val)) {
- continue;
- }
- if (headers[MAP][name] === undefined) {
- headers[MAP][name] = [val];
- } else {
- headers[MAP][name].push(val);
- }
- }
- } else if (!invalidHeaderCharRegex.test(obj[name])) {
- headers[MAP][name] = [obj[name]];
- }
- }
- return headers;
- }
- const INTERNALS$1 = Symbol('Response internals');
- // fix an issue where "STATUS_CODES" aren't a named export for node <10
- const STATUS_CODES = http.STATUS_CODES;
- /**
- * Response class
- *
- * @param Stream body Readable stream
- * @param Object opts Response options
- * @return Void
- */
- class Response {
- constructor() {
- let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
- let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- Body.call(this, body, opts);
- const status = opts.status || 200;
- const headers = new Headers(opts.headers);
- if (body != null && !headers.has('Content-Type')) {
- const contentType = extractContentType(body);
- if (contentType) {
- headers.append('Content-Type', contentType);
- }
- }
- this[INTERNALS$1] = {
- url: opts.url,
- status,
- statusText: opts.statusText || STATUS_CODES[status],
- headers,
- counter: opts.counter
- };
- }
- get url() {
- return this[INTERNALS$1].url || '';
- }
- get status() {
- return this[INTERNALS$1].status;
- }
- /**
- * Convenience property representing if the request ended normally
- */
- get ok() {
- return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;
- }
- get redirected() {
- return this[INTERNALS$1].counter > 0;
- }
- get statusText() {
- return this[INTERNALS$1].statusText;
- }
- get headers() {
- return this[INTERNALS$1].headers;
- }
- /**
- * Clone this response
- *
- * @return Response
- */
- clone() {
- return new Response(clone(this), {
- url: this.url,
- status: this.status,
- statusText: this.statusText,
- headers: this.headers,
- ok: this.ok,
- redirected: this.redirected
- });
- }
- }
- Body.mixIn(Response.prototype);
- Object.defineProperties(Response.prototype, {
- url: { enumerable: true },
- status: { enumerable: true },
- ok: { enumerable: true },
- redirected: { enumerable: true },
- statusText: { enumerable: true },
- headers: { enumerable: true },
- clone: { enumerable: true }
- });
- Object.defineProperty(Response.prototype, Symbol.toStringTag, {
- value: 'Response',
- writable: false,
- enumerable: false,
- configurable: true
- });
- const INTERNALS$2 = Symbol('Request internals');
- // fix an issue where "format", "parse" aren't a named export for node <10
- const parse_url = Url.parse;
- const format_url = Url.format;
- const streamDestructionSupported = 'destroy' in Stream.Readable.prototype;
- /**
- * Check if a value is an instance of Request.
- *
- * @param Mixed input
- * @return Boolean
- */
- function isRequest(input) {
- return typeof input === 'object' && typeof input[INTERNALS$2] === 'object';
- }
- function isAbortSignal(signal) {
- const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);
- return !!(proto && proto.constructor.name === 'AbortSignal');
- }
- /**
- * Request class
- *
- * @param Mixed input Url or Request instance
- * @param Object init Custom options
- * @return Void
- */
- class Request {
- constructor(input) {
- let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- let parsedURL;
- // normalize input
- if (!isRequest(input)) {
- if (input && input.href) {
- // in order to support Node.js' Url objects; though WHATWG's URL objects
- // will fall into this branch also (since their `toString()` will return
- // `href` property anyway)
- parsedURL = parse_url(input.href);
- } else {
- // coerce input to a string before attempting to parse
- parsedURL = parse_url(`${input}`);
- }
- input = {};
- } else {
- parsedURL = parse_url(input.url);
- }
- let method = init.method || input.method || 'GET';
- method = method.toUpperCase();
- if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {
- throw new TypeError('Request with GET/HEAD method cannot have body');
- }
- let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;
- Body.call(this, inputBody, {
- timeout: init.timeout || input.timeout || 0,
- size: init.size || input.size || 0
- });
- const headers = new Headers(init.headers || input.headers || {});
- if (inputBody != null && !headers.has('Content-Type')) {
- const contentType = extractContentType(inputBody);
- if (contentType) {
- headers.append('Content-Type', contentType);
- }
- }
- let signal = isRequest(input) ? input.signal : null;
- if ('signal' in init) signal = init.signal;
- if (signal != null && !isAbortSignal(signal)) {
- throw new TypeError('Expected signal to be an instanceof AbortSignal');
- }
- this[INTERNALS$2] = {
- method,
- redirect: init.redirect || input.redirect || 'follow',
- headers,
- parsedURL,
- signal
- };
- // node-fetch-only options
- this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;
- this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;
- this.counter = init.counter || input.counter || 0;
- this.agent = init.agent || input.agent;
- }
- get method() {
- return this[INTERNALS$2].method;
- }
- get url() {
- return format_url(this[INTERNALS$2].parsedURL);
- }
- get headers() {
- return this[INTERNALS$2].headers;
- }
- get redirect() {
- return this[INTERNALS$2].redirect;
- }
- get signal() {
- return this[INTERNALS$2].signal;
- }
- /**
- * Clone this request
- *
- * @return Request
- */
- clone() {
- return new Request(this);
- }
- }
- Body.mixIn(Request.prototype);
- Object.defineProperty(Request.prototype, Symbol.toStringTag, {
- value: 'Request',
- writable: false,
- enumerable: false,
- configurable: true
- });
- Object.defineProperties(Request.prototype, {
- method: { enumerable: true },
- url: { enumerable: true },
- headers: { enumerable: true },
- redirect: { enumerable: true },
- clone: { enumerable: true },
- signal: { enumerable: true }
- });
- /**
- * Convert a Request to Node.js http request options.
- *
- * @param Request A Request instance
- * @return Object The options object to be passed to http.request
- */
- function getNodeRequestOptions(request) {
- const parsedURL = request[INTERNALS$2].parsedURL;
- const headers = new Headers(request[INTERNALS$2].headers);
- // fetch step 1.3
- if (!headers.has('Accept')) {
- headers.set('Accept', '*/*');
- }
- // Basic fetch
- if (!parsedURL.protocol || !parsedURL.hostname) {
- throw new TypeError('Only absolute URLs are supported');
- }
- if (!/^https?:$/.test(parsedURL.protocol)) {
- throw new TypeError('Only HTTP(S) protocols are supported');
- }
- if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {
- throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');
- }
- // HTTP-network-or-cache fetch steps 2.4-2.7
- let contentLengthValue = null;
- if (request.body == null && /^(POST|PUT)$/i.test(request.method)) {
- contentLengthValue = '0';
- }
- if (request.body != null) {
- const totalBytes = getTotalBytes(request);
- if (typeof totalBytes === 'number') {
- contentLengthValue = String(totalBytes);
- }
- }
- if (contentLengthValue) {
- headers.set('Content-Length', contentLengthValue);
- }
- // HTTP-network-or-cache fetch step 2.11
- if (!headers.has('User-Agent')) {
- headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');
- }
- // HTTP-network-or-cache fetch step 2.15
- if (request.compress && !headers.has('Accept-Encoding')) {
- headers.set('Accept-Encoding', 'gzip,deflate');
- }
- let agent = request.agent;
- if (typeof agent === 'function') {
- agent = agent(parsedURL);
- }
- if (!headers.has('Connection') && !agent) {
- headers.set('Connection', 'close');
- }
- // HTTP-network fetch step 4.2
- // chunked encoding is handled by Node.js
- return Object.assign({}, parsedURL, {
- method: request.method,
- headers: exportNodeCompatibleHeaders(headers),
- agent
- });
- }
- /**
- * abort-error.js
- *
- * AbortError interface for cancelled requests
- */
- /**
- * Create AbortError instance
- *
- * @param String message Error message for human
- * @return AbortError
- */
- function AbortError(message) {
- Error.call(this, message);
- this.type = 'aborted';
- this.message = message;
- // hide custom error implementation details from end-users
- Error.captureStackTrace(this, this.constructor);
- }
- AbortError.prototype = Object.create(Error.prototype);
- AbortError.prototype.constructor = AbortError;
- AbortError.prototype.name = 'AbortError';
- // fix an issue where "PassThrough", "resolve" aren't a named export for node <10
- const PassThrough$1 = Stream.PassThrough;
- const resolve_url = Url.resolve;
- /**
- * Fetch function
- *
- * @param Mixed url Absolute url or Request instance
- * @param Object opts Fetch options
- * @return Promise
- */
- function fetch(url, opts) {
- // allow custom promise
- if (!fetch.Promise) {
- throw new Error('native promise missing, set fetch.Promise to your favorite alternative');
- }
- Body.Promise = fetch.Promise;
- // wrap http.request into fetch
- return new fetch.Promise(function (resolve, reject) {
- // build request object
- const request = new Request(url, opts);
- const options = getNodeRequestOptions(request);
- const send = (options.protocol === 'https:' ? https : http).request;
- const signal = request.signal;
- let response = null;
- const abort = function abort() {
- let error = new AbortError('The user aborted a request.');
- reject(error);
- if (request.body && request.body instanceof Stream.Readable) {
- request.body.destroy(error);
- }
- if (!response || !response.body) return;
- response.body.emit('error', error);
- };
- if (signal && signal.aborted) {
- abort();
- return;
- }
- const abortAndFinalize = function abortAndFinalize() {
- abort();
- finalize();
- };
- // send request
- const req = send(options);
- let reqTimeout;
- if (signal) {
- signal.addEventListener('abort', abortAndFinalize);
- }
- function finalize() {
- req.abort();
- if (signal) signal.removeEventListener('abort', abortAndFinalize);
- clearTimeout(reqTimeout);
- }
- if (request.timeout) {
- req.once('socket', function (socket) {
- reqTimeout = setTimeout(function () {
- reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));
- finalize();
- }, request.timeout);
- });
- }
- req.on('error', function (err) {
- reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));
- finalize();
- });
- req.on('response', function (res) {
- clearTimeout(reqTimeout);
- const headers = createHeadersLenient(res.headers);
- // HTTP fetch step 5
- if (fetch.isRedirect(res.statusCode)) {
- // HTTP fetch step 5.2
- const location = headers.get('Location');
- // HTTP fetch step 5.3
- const locationURL = location === null ? null : resolve_url(request.url, location);
- // HTTP fetch step 5.5
- switch (request.redirect) {
- case 'error':
- reject(new FetchError(`redirect mode is set to error: ${request.url}`, 'no-redirect'));
- finalize();
- return;
- case 'manual':
- // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.
- if (locationURL !== null) {
- // handle corrupted header
- try {
- headers.set('Location', locationURL);
- } catch (err) {
- // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request
- reject(err);
- }
- }
- break;
- case 'follow':
- // HTTP-redirect fetch step 2
- if (locationURL === null) {
- break;
- }
- // HTTP-redirect fetch step 5
- if (request.counter >= request.follow) {
- reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));
- finalize();
- return;
- }
- // HTTP-redirect fetch step 6 (counter increment)
- // Create a new Request object.
- const requestOpts = {
- headers: new Headers(request.headers),
- follow: request.follow,
- counter: request.counter + 1,
- agent: request.agent,
- compress: request.compress,
- method: request.method,
- body: request.body,
- signal: request.signal,
- timeout: request.timeout
- };
- // HTTP-redirect fetch step 9
- if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {
- reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));
- finalize();
- return;
- }
- // HTTP-redirect fetch step 11
- if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {
- requestOpts.method = 'GET';
- requestOpts.body = undefined;
- requestOpts.headers.delete('content-length');
- }
- // HTTP-redirect fetch step 15
- resolve(fetch(new Request(locationURL, requestOpts)));
- finalize();
- return;
- }
- }
- // prepare response
- res.once('end', function () {
- if (signal) signal.removeEventListener('abort', abortAndFinalize);
- });
- let body = res.pipe(new PassThrough$1());
- const response_options = {
- url: request.url,
- status: res.statusCode,
- statusText: res.statusMessage,
- headers: headers,
- size: request.size,
- timeout: request.timeout,
- counter: request.counter
- };
- // HTTP-network fetch step 12.1.1.3
- const codings = headers.get('Content-Encoding');
- // HTTP-network fetch step 12.1.1.4: handle content codings
- // in following scenarios we ignore compression support
- // 1. compression support is disabled
- // 2. HEAD request
- // 3. no Content-Encoding header
- // 4. no content response (204)
- // 5. content not modified response (304)
- if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {
- response = new Response(body, response_options);
- resolve(response);
- return;
- }
- // For Node v6+
- // Be less strict when decoding compressed responses, since sometimes
- // servers send slightly invalid responses that are still accepted
- // by common browsers.
- // Always using Z_SYNC_FLUSH is what cURL does.
- const zlibOptions = {
- flush: zlib.Z_SYNC_FLUSH,
- finishFlush: zlib.Z_SYNC_FLUSH
- };
- // for gzip
- if (codings == 'gzip' || codings == 'x-gzip') {
- body = body.pipe(zlib.createGunzip(zlibOptions));
- response = new Response(body, response_options);
- resolve(response);
- return;
- }
- // for deflate
- if (codings == 'deflate' || codings == 'x-deflate') {
- // handle the infamous raw deflate response from old servers
- // a hack for old IIS and Apache servers
- const raw = res.pipe(new PassThrough$1());
- raw.once('data', function (chunk) {
- // see http://stackoverflow.com/questions/37519828
- if ((chunk[0] & 0x0F) === 0x08) {
- body = body.pipe(zlib.createInflate());
- } else {
- body = body.pipe(zlib.createInflateRaw());
- }
- response = new Response(body, response_options);
- resolve(response);
- });
- return;
- }
- // for br
- if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {
- body = body.pipe(zlib.createBrotliDecompress());
- response = new Response(body, response_options);
- resolve(response);
- return;
- }
- // otherwise, use response as-is
- response = new Response(body, response_options);
- resolve(response);
- });
- writeToStream(req, request);
- });
- }
- /**
- * Redirect code matching
- *
- * @param Number code Status code
- * @return Boolean
- */
- fetch.isRedirect = function (code) {
- return code === 301 || code === 302 || code === 303 || code === 307 || code === 308;
- };
- // expose Promise
- fetch.Promise = global.Promise;
- module.exports = exports = fetch;
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.default = exports;
- exports.Headers = Headers;
- exports.Request = Request;
- exports.Response = Response;
- exports.FetchError = FetchError;
- /***/ }),
- /***/ 462:
- /***/ (function(module) {
- "use strict";
- // See http://www.robvanderwoude.com/escapechars.php
- const metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g;
- function escapeCommand(arg) {
- // Escape meta chars
- arg = arg.replace(metaCharsRegExp, '^$1');
- return arg;
- }
- function escapeArgument(arg, doubleEscapeMetaChars) {
- // Convert to string
- arg = `${arg}`;
- // Algorithm below is based on https://qntm.org/cmd
- // Sequence of backslashes followed by a double quote:
- // double up all the backslashes and escape the double quote
- arg = arg.replace(/(\\*)"/g, '$1$1\\"');
- // Sequence of backslashes followed by the end of the string
- // (which will become a double quote later):
- // double up all the backslashes
- arg = arg.replace(/(\\*)$/, '$1$1');
- // All other backslashes occur literally
- // Quote the whole thing:
- arg = `"${arg}"`;
- // Escape meta chars
- arg = arg.replace(metaCharsRegExp, '^$1');
- // Double escape meta chars if necessary
- if (doubleEscapeMetaChars) {
- arg = arg.replace(metaCharsRegExp, '^$1');
- }
- return arg;
- }
- module.exports.command = escapeCommand;
- module.exports.argument = escapeArgument;
- /***/ }),
- /***/ 463:
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, '__esModule', { value: true });
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
- var deprecation = __webpack_require__(692);
- var once = _interopDefault(__webpack_require__(969));
- const logOnce = once(deprecation => console.warn(deprecation));
- /**
- * Error with extra properties to help with debugging
- */
- class RequestError extends Error {
- constructor(message, statusCode, options) {
- super(message); // Maintains proper stack trace (only available on V8)
- /* istanbul ignore next */
- if (Error.captureStackTrace) {
- Error.captureStackTrace(this, this.constructor);
- }
- this.name = "HttpError";
- this.status = statusCode;
- Object.defineProperty(this, "code", {
- get() {
- logOnce(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));
- return statusCode;
- }
- });
- this.headers = options.headers || {}; // redact request credentials without mutating original request options
- const requestCopy = Object.assign({}, options.request);
- if (options.request.headers.authorization) {
- requestCopy.headers = Object.assign({}, options.request.headers, {
- authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]")
- });
- }
- requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit
- // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications
- .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended
- // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header
- .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]");
- this.request = requestCopy;
- }
- }
- exports.RequestError = RequestError;
- //# sourceMappingURL=index.js.map
- /***/ }),
- /***/ 469:
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
- "use strict";
- var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
- result["default"] = mod;
- return result;
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- // Originally pulled from https://github.com/JasonEtco/actions-toolkit/blob/master/src/github.ts
- const graphql_1 = __webpack_require__(898);
- const rest_1 = __webpack_require__(0);
- const Context = __importStar(__webpack_require__(262));
- const httpClient = __importStar(__webpack_require__(539));
- // We need this in order to extend Octokit
- rest_1.Octokit.prototype = new rest_1.Octokit();
- exports.context = new Context.Context();
- class GitHub extends rest_1.Octokit {
- constructor(token, opts) {
- super(GitHub.getOctokitOptions(GitHub.disambiguate(token, opts)));
- this.graphql = GitHub.getGraphQL(GitHub.disambiguate(token, opts));
- }
- /**
- * Disambiguates the constructor overload parameters
- */
- static disambiguate(token, opts) {
- return [
- typeof token === 'string' ? token : '',
- typeof token === 'object' ? token : opts || {}
- ];
- }
- static getOctokitOptions(args) {
- const token = args[0];
- const options = Object.assign({}, args[1]); // Shallow clone - don't mutate the object provided by the caller
- // Auth
- const auth = GitHub.getAuthString(token, options);
- if (auth) {
- options.auth = auth;
- }
- // Proxy
- const agent = GitHub.getProxyAgent(options);
- if (agent) {
- // Shallow clone - don't mutate the object provided by the caller
- options.request = options.request ? Object.assign({}, options.request) : {};
- // Set the agent
- options.request.agent = agent;
- }
- return options;
- }
- static getGraphQL(args) {
- const defaults = {};
- const token = args[0];
- const options = args[1];
- // Authorization
- const auth = this.getAuthString(token, options);
- if (auth) {
- defaults.headers = {
- authorization: auth
- };
- }
- // Proxy
- const agent = GitHub.getProxyAgent(options);
- if (agent) {
- defaults.request = { agent };
- }
- return graphql_1.graphql.defaults(defaults);
- }
- static getAuthString(token, options) {
- // Validate args
- if (!token && !options.auth) {
- throw new Error('Parameter token or opts.auth is required');
- }
- else if (token && options.auth) {
- throw new Error('Parameters token and opts.auth may not both be specified');
- }
- return typeof options.auth === 'string' ? options.auth : `token ${token}`;
- }
- static getProxyAgent(options) {
- var _a;
- if (!((_a = options.request) === null || _a === void 0 ? void 0 : _a.agent)) {
- const serverUrl = 'https://api.github.com';
- if (httpClient.getProxyUrl(serverUrl)) {
- const hc = new httpClient.HttpClient();
- return hc.getAgent(serverUrl);
- }
- }
- return undefined;
- }
- }
- exports.GitHub = GitHub;
- //# sourceMappingURL=github.js.map
- /***/ }),
- /***/ 470:
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
- "use strict";
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
- var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
- result["default"] = mod;
- return result;
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- const command_1 = __webpack_require__(431);
- const os = __importStar(__webpack_require__(87));
- const path = __importStar(__webpack_require__(622));
- /**
- * The code to exit an action
- */
- var ExitCode;
- (function (ExitCode) {
- /**
- * A code indicating that the action was successful
- */
- ExitCode[ExitCode["Success"] = 0] = "Success";
- /**
- * A code indicating that the action was a failure
- */
- ExitCode[ExitCode["Failure"] = 1] = "Failure";
- })(ExitCode = exports.ExitCode || (exports.ExitCode = {}));
- //-----------------------------------------------------------------------
- // Variables
- //-----------------------------------------------------------------------
- /**
- * Sets env variable for this action and future actions in the job
- * @param name the name of the variable to set
- * @param val the value of the variable
- */
- function exportVariable(name, val) {
- process.env[name] = val;
- command_1.issueCommand('set-env', { name }, val);
- }
- exports.exportVariable = exportVariable;
- /**
- * Registers a secret which will get masked from logs
- * @param secret value of the secret
- */
- function setSecret(secret) {
- command_1.issueCommand('add-mask', {}, secret);
- }
- exports.setSecret = setSecret;
- /**
- * Prepends inputPath to the PATH (for this action and future actions)
- * @param inputPath
- */
- function addPath(inputPath) {
- command_1.issueCommand('add-path', {}, inputPath);
- process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;
- }
- exports.addPath = addPath;
- /**
- * Gets the value of an input. The value is also trimmed.
- *
- * @param name name of the input to get
- * @param options optional. See InputOptions.
- * @returns string
- */
- function getInput(name, options) {
- const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';
- if (options && options.required && !val) {
- throw new Error(`Input required and not supplied: ${name}`);
- }
- return val.trim();
- }
- exports.getInput = getInput;
- /**
- * Sets the value of an output.
- *
- * @param name name of the output to set
- * @param value value to store
- */
- function setOutput(name, value) {
- command_1.issueCommand('set-output', { name }, value);
- }
- exports.setOutput = setOutput;
- //-----------------------------------------------------------------------
- // Results
- //-----------------------------------------------------------------------
- /**
- * Sets the action status to failed.
- * When the action exits it will be with an exit code of 1
- * @param message add error issue message
- */
- function setFailed(message) {
- process.exitCode = ExitCode.Failure;
- error(message);
- }
- exports.setFailed = setFailed;
- //-----------------------------------------------------------------------
- // Logging Commands
- //-----------------------------------------------------------------------
- /**
- * Gets whether Actions Step Debug is on or not
- */
- function isDebug() {
- return process.env['RUNNER_DEBUG'] === '1';
- }
- exports.isDebug = isDebug;
- /**
- * Writes debug message to user log
- * @param message debug message
- */
- function debug(message) {
- command_1.issueCommand('debug', {}, message);
- }
- exports.debug = debug;
- /**
- * Adds an error issue
- * @param message error issue message
- */
- function error(message) {
- command_1.issue('error', message);
- }
- exports.error = error;
- /**
- * Adds an warning issue
- * @param message warning issue message
- */
- function warning(message) {
- command_1.issue('warning', message);
- }
- exports.warning = warning;
- /**
- * Writes info to log with console.log.
- * @param message info message
- */
- function info(message) {
- process.stdout.write(message + os.EOL);
- }
- exports.info = info;
- /**
- * Begin an output group.
- *
- * Output until the next `groupEnd` will be foldable in this group
- *
- * @param name The name of the output group
- */
- function startGroup(name) {
- command_1.issue('group', name);
- }
- exports.startGroup = startGroup;
- /**
- * End an output group.
- */
- function endGroup() {
- command_1.issue('endgroup');
- }
- exports.endGroup = endGroup;
- /**
- * Wrap an asynchronous function call in a group.
- *
- * Returns the same type as the function itself.
- *
- * @param name The name of the group
- * @param fn The function to wrap in the group
- */
- function group(name, fn) {
- return __awaiter(this, void 0, void 0, function* () {
- startGroup(name);
- let result;
- try {
- result = yield fn();
- }
- finally {
- endGroup();
- }
- return result;
- });
- }
- exports.group = group;
- //-----------------------------------------------------------------------
- // Wrapper action state
- //-----------------------------------------------------------------------
- /**
- * Saves state for current action, the state can only be retrieved by this action's post job execution.
- *
- * @param name name of the state to store
- * @param value value to store
- */
- function saveState(name, value) {
- command_1.issueCommand('save-state', { name }, value);
- }
- exports.saveState = saveState;
- /**
- * Gets the value of an state set by this action's main execution.
- *
- * @param name name of the state to get
- * @returns string
- */
- function getState(name) {
- return process.env[`STATE_${name}`] || '';
- }
- exports.getState = getState;
- //# sourceMappingURL=core.js.map
- /***/ }),
- /***/ 471:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = authenticationBeforeRequest;
- const btoa = __webpack_require__(675);
- const uniq = __webpack_require__(126);
- function authenticationBeforeRequest(state, options) {
- if (!state.auth.type) {
- return;
- }
- if (state.auth.type === "basic") {
- const hash = btoa(`${state.auth.username}:${state.auth.password}`);
- options.headers.authorization = `Basic ${hash}`;
- return;
- }
- if (state.auth.type === "token") {
- options.headers.authorization = `token ${state.auth.token}`;
- return;
- }
- if (state.auth.type === "app") {
- options.headers.authorization = `Bearer ${state.auth.token}`;
- const acceptHeaders = options.headers.accept
- .split(",")
- .concat("application/vnd.github.machine-man-preview+json");
- options.headers.accept = uniq(acceptHeaders)
- .filter(Boolean)
- .join(",");
- return;
- }
- options.url += options.url.indexOf("?") === -1 ? "?" : "&";
- if (state.auth.token) {
- options.url += `access_token=${encodeURIComponent(state.auth.token)}`;
- return;
- }
- const key = encodeURIComponent(state.auth.key);
- const secret = encodeURIComponent(state.auth.secret);
- options.url += `client_id=${key}&client_secret=${secret}`;
- }
- /***/ }),
- /***/ 489:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- "use strict";
- const path = __webpack_require__(622);
- const which = __webpack_require__(814);
- const pathKey = __webpack_require__(39)();
- function resolveCommandAttempt(parsed, withoutPathExt) {
- const cwd = process.cwd();
- const hasCustomCwd = parsed.options.cwd != null;
- // If a custom `cwd` was specified, we need to change the process cwd
- // because `which` will do stat calls but does not support a custom cwd
- if (hasCustomCwd) {
- try {
- process.chdir(parsed.options.cwd);
- } catch (err) {
- /* Empty */
- }
- }
- let resolved;
- try {
- resolved = which.sync(parsed.command, {
- path: (parsed.options.env || process.env)[pathKey],
- pathExt: withoutPathExt ? path.delimiter : undefined,
- });
- } catch (e) {
- /* Empty */
- } finally {
- process.chdir(cwd);
- }
- // If we successfully resolved, ensure that an absolute path is returned
- // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it
- if (resolved) {
- resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);
- }
- return resolved;
- }
- function resolveCommand(parsed) {
- return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);
- }
- module.exports = resolveCommand;
- /***/ }),
- /***/ 497:
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, '__esModule', { value: true });
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
- var deprecation = __webpack_require__(692);
- var once = _interopDefault(__webpack_require__(969));
- const logOnce = once(deprecation => console.warn(deprecation));
- /**
- * Error with extra properties to help with debugging
- */
- class RequestError extends Error {
- constructor(message, statusCode, options) {
- super(message); // Maintains proper stack trace (only available on V8)
- /* istanbul ignore next */
- if (Error.captureStackTrace) {
- Error.captureStackTrace(this, this.constructor);
- }
- this.name = "HttpError";
- this.status = statusCode;
- Object.defineProperty(this, "code", {
- get() {
- logOnce(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));
- return statusCode;
- }
- });
- this.headers = options.headers || {}; // redact request credentials without mutating original request options
- const requestCopy = Object.assign({}, options.request);
- if (options.request.headers.authorization) {
- requestCopy.headers = Object.assign({}, options.request.headers, {
- authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]")
- });
- }
- requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit
- // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications
- .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended
- // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header
- .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]");
- this.request = requestCopy;
- }
- }
- exports.RequestError = RequestError;
- //# sourceMappingURL=index.js.map
- /***/ }),
- /***/ 510:
- /***/ (function(module) {
- module.exports = addHook
- function addHook (state, kind, name, hook) {
- var orig = hook
- if (!state.registry[name]) {
- state.registry[name] = []
- }
- if (kind === 'before') {
- hook = function (method, options) {
- return Promise.resolve()
- .then(orig.bind(null, options))
- .then(method.bind(null, options))
- }
- }
- if (kind === 'after') {
- hook = function (method, options) {
- var result
- return Promise.resolve()
- .then(method.bind(null, options))
- .then(function (result_) {
- result = result_
- return orig(result, options)
- })
- .then(function () {
- return result
- })
- }
- }
- if (kind === 'error') {
- hook = function (method, options) {
- return Promise.resolve()
- .then(method.bind(null, options))
- .catch(function (error) {
- return orig(error, options)
- })
- }
- }
- state.registry[name].push({
- hook: hook,
- orig: orig
- })
- }
- /***/ }),
- /***/ 523:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- var register = __webpack_require__(363)
- var addHook = __webpack_require__(510)
- var removeHook = __webpack_require__(763)
- // bind with array of arguments: https://stackoverflow.com/a/21792913
- var bind = Function.bind
- var bindable = bind.bind(bind)
- function bindApi (hook, state, name) {
- var removeHookRef = bindable(removeHook, null).apply(null, name ? [state, name] : [state])
- hook.api = { remove: removeHookRef }
- hook.remove = removeHookRef
- ;['before', 'error', 'after', 'wrap'].forEach(function (kind) {
- var args = name ? [state, kind, name] : [state, kind]
- hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args)
- })
- }
- function HookSingular () {
- var singularHookName = 'h'
- var singularHookState = {
- registry: {}
- }
- var singularHook = register.bind(null, singularHookState, singularHookName)
- bindApi(singularHook, singularHookState, singularHookName)
- return singularHook
- }
- function HookCollection () {
- var state = {
- registry: {}
- }
- var hook = register.bind(null, state)
- bindApi(hook, state)
- return hook
- }
- var collectionHookDeprecationMessageDisplayed = false
- function Hook () {
- if (!collectionHookDeprecationMessageDisplayed) {
- console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4')
- collectionHookDeprecationMessageDisplayed = true
- }
- return HookCollection()
- }
- Hook.Singular = HookSingular.bind()
- Hook.Collection = HookCollection.bind()
- module.exports = Hook
- // expose constructors as a named property for TypeScript
- module.exports.Hook = Hook
- module.exports.Singular = Hook.Singular
- module.exports.Collection = Hook.Collection
- /***/ }),
- /***/ 529:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- const factory = __webpack_require__(47);
- module.exports = factory();
- /***/ }),
- /***/ 536:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = hasFirstPage
- const deprecate = __webpack_require__(370)
- const getPageLinks = __webpack_require__(577)
- function hasFirstPage (link) {
- deprecate(`octokit.hasFirstPage() – You can use octokit.paginate or async iterators instead: https://github.com/octokit/rest.js#pagination.`)
- return getPageLinks(link).first
- }
- /***/ }),
- /***/ 539:
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- const url = __webpack_require__(835);
- const http = __webpack_require__(605);
- const https = __webpack_require__(211);
- const pm = __webpack_require__(950);
- let tunnel;
- var HttpCodes;
- (function (HttpCodes) {
- HttpCodes[HttpCodes["OK"] = 200] = "OK";
- HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices";
- HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently";
- HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved";
- HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther";
- HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified";
- HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy";
- HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy";
- HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect";
- HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect";
- HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest";
- HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized";
- HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired";
- HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden";
- HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound";
- HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed";
- HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable";
- HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired";
- HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout";
- HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict";
- HttpCodes[HttpCodes["Gone"] = 410] = "Gone";
- HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests";
- HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError";
- HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented";
- HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway";
- HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable";
- HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout";
- })(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {}));
- var Headers;
- (function (Headers) {
- Headers["Accept"] = "accept";
- Headers["ContentType"] = "content-type";
- })(Headers = exports.Headers || (exports.Headers = {}));
- var MediaTypes;
- (function (MediaTypes) {
- MediaTypes["ApplicationJson"] = "application/json";
- })(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {}));
- /**
- * Returns the proxy URL, depending upon the supplied url and proxy environment variables.
- * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com
- */
- function getProxyUrl(serverUrl) {
- let proxyUrl = pm.getProxyUrl(url.parse(serverUrl));
- return proxyUrl ? proxyUrl.href : '';
- }
- exports.getProxyUrl = getProxyUrl;
- const HttpRedirectCodes = [
- HttpCodes.MovedPermanently,
- HttpCodes.ResourceMoved,
- HttpCodes.SeeOther,
- HttpCodes.TemporaryRedirect,
- HttpCodes.PermanentRedirect
- ];
- const HttpResponseRetryCodes = [
- HttpCodes.BadGateway,
- HttpCodes.ServiceUnavailable,
- HttpCodes.GatewayTimeout
- ];
- const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];
- const ExponentialBackoffCeiling = 10;
- const ExponentialBackoffTimeSlice = 5;
- class HttpClientResponse {
- constructor(message) {
- this.message = message;
- }
- readBody() {
- return new Promise(async (resolve, reject) => {
- let output = Buffer.alloc(0);
- this.message.on('data', (chunk) => {
- output = Buffer.concat([output, chunk]);
- });
- this.message.on('end', () => {
- resolve(output.toString());
- });
- });
- }
- }
- exports.HttpClientResponse = HttpClientResponse;
- function isHttps(requestUrl) {
- let parsedUrl = url.parse(requestUrl);
- return parsedUrl.protocol === 'https:';
- }
- exports.isHttps = isHttps;
- class HttpClient {
- constructor(userAgent, handlers, requestOptions) {
- this._ignoreSslError = false;
- this._allowRedirects = true;
- this._allowRedirectDowngrade = false;
- this._maxRedirects = 50;
- this._allowRetries = false;
- this._maxRetries = 1;
- this._keepAlive = false;
- this._disposed = false;
- this.userAgent = userAgent;
- this.handlers = handlers || [];
- this.requestOptions = requestOptions;
- if (requestOptions) {
- if (requestOptions.ignoreSslError != null) {
- this._ignoreSslError = requestOptions.ignoreSslError;
- }
- this._socketTimeout = requestOptions.socketTimeout;
- if (requestOptions.allowRedirects != null) {
- this._allowRedirects = requestOptions.allowRedirects;
- }
- if (requestOptions.allowRedirectDowngrade != null) {
- this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;
- }
- if (requestOptions.maxRedirects != null) {
- this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);
- }
- if (requestOptions.keepAlive != null) {
- this._keepAlive = requestOptions.keepAlive;
- }
- if (requestOptions.allowRetries != null) {
- this._allowRetries = requestOptions.allowRetries;
- }
- if (requestOptions.maxRetries != null) {
- this._maxRetries = requestOptions.maxRetries;
- }
- }
- }
- options(requestUrl, additionalHeaders) {
- return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});
- }
- get(requestUrl, additionalHeaders) {
- return this.request('GET', requestUrl, null, additionalHeaders || {});
- }
- del(requestUrl, additionalHeaders) {
- return this.request('DELETE', requestUrl, null, additionalHeaders || {});
- }
- post(requestUrl, data, additionalHeaders) {
- return this.request('POST', requestUrl, data, additionalHeaders || {});
- }
- patch(requestUrl, data, additionalHeaders) {
- return this.request('PATCH', requestUrl, data, additionalHeaders || {});
- }
- put(requestUrl, data, additionalHeaders) {
- return this.request('PUT', requestUrl, data, additionalHeaders || {});
- }
- head(requestUrl, additionalHeaders) {
- return this.request('HEAD', requestUrl, null, additionalHeaders || {});
- }
- sendStream(verb, requestUrl, stream, additionalHeaders) {
- return this.request(verb, requestUrl, stream, additionalHeaders);
- }
- /**
- * Gets a typed object from an endpoint
- * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise
- */
- async getJson(requestUrl, additionalHeaders = {}) {
- additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
- let res = await this.get(requestUrl, additionalHeaders);
- return this._processResponse(res, this.requestOptions);
- }
- async postJson(requestUrl, obj, additionalHeaders = {}) {
- let data = JSON.stringify(obj, null, 2);
- additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
- additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
- let res = await this.post(requestUrl, data, additionalHeaders);
- return this._processResponse(res, this.requestOptions);
- }
- async putJson(requestUrl, obj, additionalHeaders = {}) {
- let data = JSON.stringify(obj, null, 2);
- additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
- additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
- let res = await this.put(requestUrl, data, additionalHeaders);
- return this._processResponse(res, this.requestOptions);
- }
- async patchJson(requestUrl, obj, additionalHeaders = {}) {
- let data = JSON.stringify(obj, null, 2);
- additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
- additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
- let res = await this.patch(requestUrl, data, additionalHeaders);
- return this._processResponse(res, this.requestOptions);
- }
- /**
- * Makes a raw http request.
- * All other methods such as get, post, patch, and request ultimately call this.
- * Prefer get, del, post and patch
- */
- async request(verb, requestUrl, data, headers) {
- if (this._disposed) {
- throw new Error('Client has already been disposed.');
- }
- let parsedUrl = url.parse(requestUrl);
- let info = this._prepareRequest(verb, parsedUrl, headers);
- // Only perform retries on reads since writes may not be idempotent.
- let maxTries = this._allowRetries && RetryableHttpVerbs.indexOf(verb) != -1
- ? this._maxRetries + 1
- : 1;
- let numTries = 0;
- let response;
- while (numTries < maxTries) {
- response = await this.requestRaw(info, data);
- // Check if it's an authentication challenge
- if (response &&
- response.message &&
- response.message.statusCode === HttpCodes.Unauthorized) {
- let authenticationHandler;
- for (let i = 0; i < this.handlers.length; i++) {
- if (this.handlers[i].canHandleAuthentication(response)) {
- authenticationHandler = this.handlers[i];
- break;
- }
- }
- if (authenticationHandler) {
- return authenticationHandler.handleAuthentication(this, info, data);
- }
- else {
- // We have received an unauthorized response but have no handlers to handle it.
- // Let the response return to the caller.
- return response;
- }
- }
- let redirectsRemaining = this._maxRedirects;
- while (HttpRedirectCodes.indexOf(response.message.statusCode) != -1 &&
- this._allowRedirects &&
- redirectsRemaining > 0) {
- const redirectUrl = response.message.headers['location'];
- if (!redirectUrl) {
- // if there's no location to redirect to, we won't
- break;
- }
- let parsedRedirectUrl = url.parse(redirectUrl);
- if (parsedUrl.protocol == 'https:' &&
- parsedUrl.protocol != parsedRedirectUrl.protocol &&
- !this._allowRedirectDowngrade) {
- throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.');
- }
- // we need to finish reading the response before reassigning response
- // which will leak the open socket.
- await response.readBody();
- // strip authorization header if redirected to a different hostname
- if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {
- for (let header in headers) {
- // header names are case insensitive
- if (header.toLowerCase() === 'authorization') {
- delete headers[header];
- }
- }
- }
- // let's make the request with the new redirectUrl
- info = this._prepareRequest(verb, parsedRedirectUrl, headers);
- response = await this.requestRaw(info, data);
- redirectsRemaining--;
- }
- if (HttpResponseRetryCodes.indexOf(response.message.statusCode) == -1) {
- // If not a retry code, return immediately instead of retrying
- return response;
- }
- numTries += 1;
- if (numTries < maxTries) {
- await response.readBody();
- await this._performExponentialBackoff(numTries);
- }
- }
- return response;
- }
- /**
- * Needs to be called if keepAlive is set to true in request options.
- */
- dispose() {
- if (this._agent) {
- this._agent.destroy();
- }
- this._disposed = true;
- }
- /**
- * Raw request.
- * @param info
- * @param data
- */
- requestRaw(info, data) {
- return new Promise((resolve, reject) => {
- let callbackForResult = function (err, res) {
- if (err) {
- reject(err);
- }
- resolve(res);
- };
- this.requestRawWithCallback(info, data, callbackForResult);
- });
- }
- /**
- * Raw request with callback.
- * @param info
- * @param data
- * @param onResult
- */
- requestRawWithCallback(info, data, onResult) {
- let socket;
- if (typeof data === 'string') {
- info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');
- }
- let callbackCalled = false;
- let handleResult = (err, res) => {
- if (!callbackCalled) {
- callbackCalled = true;
- onResult(err, res);
- }
- };
- let req = info.httpModule.request(info.options, (msg) => {
- let res = new HttpClientResponse(msg);
- handleResult(null, res);
- });
- req.on('socket', sock => {
- socket = sock;
- });
- // If we ever get disconnected, we want the socket to timeout eventually
- req.setTimeout(this._socketTimeout || 3 * 60000, () => {
- if (socket) {
- socket.end();
- }
- handleResult(new Error('Request timeout: ' + info.options.path), null);
- });
- req.on('error', function (err) {
- // err has statusCode property
- // res should have headers
- handleResult(err, null);
- });
- if (data && typeof data === 'string') {
- req.write(data, 'utf8');
- }
- if (data && typeof data !== 'string') {
- data.on('close', function () {
- req.end();
- });
- data.pipe(req);
- }
- else {
- req.end();
- }
- }
- /**
- * Gets an http agent. This function is useful when you need an http agent that handles
- * routing through a proxy server - depending upon the url and proxy environment variables.
- * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com
- */
- getAgent(serverUrl) {
- let parsedUrl = url.parse(serverUrl);
- return this._getAgent(parsedUrl);
- }
- _prepareRequest(method, requestUrl, headers) {
- const info = {};
- info.parsedUrl = requestUrl;
- const usingSsl = info.parsedUrl.protocol === 'https:';
- info.httpModule = usingSsl ? https : http;
- const defaultPort = usingSsl ? 443 : 80;
- info.options = {};
- info.options.host = info.parsedUrl.hostname;
- info.options.port = info.parsedUrl.port
- ? parseInt(info.parsedUrl.port)
- : defaultPort;
- info.options.path =
- (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');
- info.options.method = method;
- info.options.headers = this._mergeHeaders(headers);
- if (this.userAgent != null) {
- info.options.headers['user-agent'] = this.userAgent;
- }
- info.options.agent = this._getAgent(info.parsedUrl);
- // gives handlers an opportunity to participate
- if (this.handlers) {
- this.handlers.forEach(handler => {
- handler.prepareRequest(info.options);
- });
- }
- return info;
- }
- _mergeHeaders(headers) {
- const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});
- if (this.requestOptions && this.requestOptions.headers) {
- return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers));
- }
- return lowercaseKeys(headers || {});
- }
- _getExistingOrDefaultHeader(additionalHeaders, header, _default) {
- const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});
- let clientHeader;
- if (this.requestOptions && this.requestOptions.headers) {
- clientHeader = lowercaseKeys(this.requestOptions.headers)[header];
- }
- return additionalHeaders[header] || clientHeader || _default;
- }
- _getAgent(parsedUrl) {
- let agent;
- let proxyUrl = pm.getProxyUrl(parsedUrl);
- let useProxy = proxyUrl && proxyUrl.hostname;
- if (this._keepAlive && useProxy) {
- agent = this._proxyAgent;
- }
- if (this._keepAlive && !useProxy) {
- agent = this._agent;
- }
- // if agent is already assigned use that agent.
- if (!!agent) {
- return agent;
- }
- const usingSsl = parsedUrl.protocol === 'https:';
- let maxSockets = 100;
- if (!!this.requestOptions) {
- maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;
- }
- if (useProxy) {
- // If using proxy, need tunnel
- if (!tunnel) {
- tunnel = __webpack_require__(856);
- }
- const agentOptions = {
- maxSockets: maxSockets,
- keepAlive: this._keepAlive,
- proxy: {
- proxyAuth: proxyUrl.auth,
- host: proxyUrl.hostname,
- port: proxyUrl.port
- }
- };
- let tunnelAgent;
- const overHttps = proxyUrl.protocol === 'https:';
- if (usingSsl) {
- tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;
- }
- else {
- tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;
- }
- agent = tunnelAgent(agentOptions);
- this._proxyAgent = agent;
- }
- // if reusing agent across request and tunneling agent isn't assigned create a new agent
- if (this._keepAlive && !agent) {
- const options = { keepAlive: this._keepAlive, maxSockets: maxSockets };
- agent = usingSsl ? new https.Agent(options) : new http.Agent(options);
- this._agent = agent;
- }
- // if not using private agent and tunnel agent isn't setup then use global agent
- if (!agent) {
- agent = usingSsl ? https.globalAgent : http.globalAgent;
- }
- if (usingSsl && this._ignoreSslError) {
- // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process
- // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options
- // we have to cast it to any and change it directly
- agent.options = Object.assign(agent.options || {}, {
- rejectUnauthorized: false
- });
- }
- return agent;
- }
- _performExponentialBackoff(retryNumber) {
- retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);
- const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);
- return new Promise(resolve => setTimeout(() => resolve(), ms));
- }
- static dateTimeDeserializer(key, value) {
- if (typeof value === 'string') {
- let a = new Date(value);
- if (!isNaN(a.valueOf())) {
- return a;
- }
- }
- return value;
- }
- async _processResponse(res, options) {
- return new Promise(async (resolve, reject) => {
- const statusCode = res.message.statusCode;
- const response = {
- statusCode: statusCode,
- result: null,
- headers: {}
- };
- // not found leads to null obj returned
- if (statusCode == HttpCodes.NotFound) {
- resolve(response);
- }
- let obj;
- let contents;
- // get the result from the body
- try {
- contents = await res.readBody();
- if (contents && contents.length > 0) {
- if (options && options.deserializeDates) {
- obj = JSON.parse(contents, HttpClient.dateTimeDeserializer);
- }
- else {
- obj = JSON.parse(contents);
- }
- response.result = obj;
- }
- response.headers = res.message.headers;
- }
- catch (err) {
- // Invalid resource (contents not json); leaving result obj null
- }
- // note that 3xx redirects are handled by the http layer.
- if (statusCode > 299) {
- let msg;
- // if exception/error in body, attempt to get better error
- if (obj && obj.message) {
- msg = obj.message;
- }
- else if (contents && contents.length > 0) {
- // it may be the case that the exception is in the body message as string
- msg = contents;
- }
- else {
- msg = 'Failed request: (' + statusCode + ')';
- }
- let err = new Error(msg);
- // attach statusCode and body obj (if available) to the error object
- err['statusCode'] = statusCode;
- if (response.result) {
- err['result'] = response.result;
- }
- reject(err);
- }
- else {
- resolve(response);
- }
- });
- }
- }
- exports.HttpClient = HttpClient;
- /***/ }),
- /***/ 550:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = getNextPage
- const getPage = __webpack_require__(265)
- function getNextPage (octokit, link, headers) {
- return getPage(octokit, link, 'next', headers)
- }
- /***/ }),
- /***/ 558:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = hasPreviousPage
- const deprecate = __webpack_require__(370)
- const getPageLinks = __webpack_require__(577)
- function hasPreviousPage (link) {
- deprecate(`octokit.hasPreviousPage() – You can use octokit.paginate or async iterators instead: https://github.com/octokit/rest.js#pagination.`)
- return getPageLinks(link).prev
- }
- /***/ }),
- /***/ 563:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = getPreviousPage
- const getPage = __webpack_require__(265)
- function getPreviousPage (octokit, link, headers) {
- return getPage(octokit, link, 'prev', headers)
- }
- /***/ }),
- /***/ 568:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- "use strict";
- const path = __webpack_require__(622);
- const niceTry = __webpack_require__(948);
- const resolveCommand = __webpack_require__(489);
- const escape = __webpack_require__(462);
- const readShebang = __webpack_require__(389);
- const semver = __webpack_require__(280);
- const isWin = process.platform === 'win32';
- const isExecutableRegExp = /\.(?:com|exe)$/i;
- const isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;
- // `options.shell` is supported in Node ^4.8.0, ^5.7.0 and >= 6.0.0
- const supportsShellOption = niceTry(() => semver.satisfies(process.version, '^4.8.0 || ^5.7.0 || >= 6.0.0', true)) || false;
- function detectShebang(parsed) {
- parsed.file = resolveCommand(parsed);
- const shebang = parsed.file && readShebang(parsed.file);
- if (shebang) {
- parsed.args.unshift(parsed.file);
- parsed.command = shebang;
- return resolveCommand(parsed);
- }
- return parsed.file;
- }
- function parseNonShell(parsed) {
- if (!isWin) {
- return parsed;
- }
- // Detect & add support for shebangs
- const commandFile = detectShebang(parsed);
- // We don't need a shell if the command filename is an executable
- const needsShell = !isExecutableRegExp.test(commandFile);
- // If a shell is required, use cmd.exe and take care of escaping everything correctly
- // Note that `forceShell` is an hidden option used only in tests
- if (parsed.options.forceShell || needsShell) {
- // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`
- // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument
- // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,
- // we need to double escape them
- const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);
- // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\bar)
- // This is necessary otherwise it will always fail with ENOENT in those cases
- parsed.command = path.normalize(parsed.command);
- // Escape command & arguments
- parsed.command = escape.command(parsed.command);
- parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));
- const shellCommand = [parsed.command].concat(parsed.args).join(' ');
- parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`];
- parsed.command = process.env.comspec || 'cmd.exe';
- parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped
- }
- return parsed;
- }
- function parseShell(parsed) {
- // If node supports the shell option, there's no need to mimic its behavior
- if (supportsShellOption) {
- return parsed;
- }
- // Mimic node shell option
- // See https://github.com/nodejs/node/blob/b9f6a2dc059a1062776133f3d4fd848c4da7d150/lib/child_process.js#L335
- const shellCommand = [parsed.command].concat(parsed.args).join(' ');
- if (isWin) {
- parsed.command = typeof parsed.options.shell === 'string' ? parsed.options.shell : process.env.comspec || 'cmd.exe';
- parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`];
- parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped
- } else {
- if (typeof parsed.options.shell === 'string') {
- parsed.command = parsed.options.shell;
- } else if (process.platform === 'android') {
- parsed.command = '/system/bin/sh';
- } else {
- parsed.command = '/bin/sh';
- }
- parsed.args = ['-c', shellCommand];
- }
- return parsed;
- }
- function parse(command, args, options) {
- // Normalize arguments, similar to nodejs
- if (args && !Array.isArray(args)) {
- options = args;
- args = null;
- }
- args = args ? args.slice(0) : []; // Clone array to avoid changing the original
- options = Object.assign({}, options); // Clone object to avoid changing the original
- // Build our parsed object
- const parsed = {
- command,
- args,
- options,
- file: undefined,
- original: {
- command,
- args,
- },
- };
- // Delegate further parsing to shell or non-shell
- return options.shell ? parseShell(parsed) : parseNonShell(parsed);
- }
- module.exports = parse;
- /***/ }),
- /***/ 577:
- /***/ (function(module) {
- module.exports = getPageLinks
- function getPageLinks (link) {
- link = link.link || link.headers.link || ''
- const links = {}
- // link format:
- // '<https://api.github.com/users/aseemk/followers?page=2>; rel="next", <https://api.github.com/users/aseemk/followers?page=2>; rel="last"'
- link.replace(/<([^>]*)>;\s*rel="([\w]*)"/g, (m, uri, type) => {
- links[type] = uri
- })
- return links
- }
- /***/ }),
- /***/ 605:
- /***/ (function(module) {
- module.exports = require("http");
- /***/ }),
- /***/ 614:
- /***/ (function(module) {
- module.exports = require("events");
- /***/ }),
- /***/ 619:
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, '__esModule', { value: true });
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
- var osName = _interopDefault(__webpack_require__(2));
- function getUserAgent() {
- try {
- return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`;
- } catch (error) {
- if (/wmic os get Caption/.test(error.message)) {
- return "Windows <version undetectable>";
- }
- throw error;
- }
- }
- exports.getUserAgent = getUserAgent;
- //# sourceMappingURL=index.js.map
- /***/ }),
- /***/ 621:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- "use strict";
- const path = __webpack_require__(622);
- const pathKey = __webpack_require__(39);
- module.exports = opts => {
- opts = Object.assign({
- cwd: process.cwd(),
- path: process.env[pathKey()]
- }, opts);
- let prev;
- let pth = path.resolve(opts.cwd);
- const ret = [];
- while (prev !== pth) {
- ret.push(path.join(pth, 'node_modules/.bin'));
- prev = pth;
- pth = path.resolve(pth, '..');
- }
- // ensure the running `node` binary is used
- ret.push(path.dirname(process.execPath));
- return ret.concat(opts.path).join(path.delimiter);
- };
- module.exports.env = opts => {
- opts = Object.assign({
- env: process.env
- }, opts);
- const env = Object.assign({}, opts.env);
- const path = pathKey({env});
- opts.path = env[path];
- env[path] = module.exports(opts);
- return env;
- };
- /***/ }),
- /***/ 622:
- /***/ (function(module) {
- module.exports = require("path");
- /***/ }),
- /***/ 631:
- /***/ (function(module) {
- module.exports = require("net");
- /***/ }),
- /***/ 649:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = getLastPage
- const getPage = __webpack_require__(265)
- function getLastPage (octokit, link, headers) {
- return getPage(octokit, link, 'last', headers)
- }
- /***/ }),
- /***/ 654:
- /***/ (function(module) {
- // This is not the set of all possible signals.
- //
- // It IS, however, the set of all signals that trigger
- // an exit on either Linux or BSD systems. Linux is a
- // superset of the signal names supported on BSD, and
- // the unknown signals just fail to register, so we can
- // catch that easily enough.
- //
- // Don't bother with SIGKILL. It's uncatchable, which
- // means that we can't fire any callbacks anyway.
- //
- // If a user does happen to register a handler on a non-
- // fatal signal like SIGWINCH or something, and then
- // exit, it'll end up firing `process.emit('exit')`, so
- // the handler will be fired anyway.
- //
- // SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised
- // artificially, inherently leave the process in a
- // state from which it is not safe to try and enter JS
- // listeners.
- module.exports = [
- 'SIGABRT',
- 'SIGALRM',
- 'SIGHUP',
- 'SIGINT',
- 'SIGTERM'
- ]
- if (process.platform !== 'win32') {
- module.exports.push(
- 'SIGVTALRM',
- 'SIGXCPU',
- 'SIGXFSZ',
- 'SIGUSR2',
- 'SIGTRAP',
- 'SIGSYS',
- 'SIGQUIT',
- 'SIGIOT'
- // should detect profiler and enable/disable accordingly.
- // see #21
- // 'SIGPROF'
- )
- }
- if (process.platform === 'linux') {
- module.exports.push(
- 'SIGIO',
- 'SIGPOLL',
- 'SIGPWR',
- 'SIGSTKFLT',
- 'SIGUNUSED'
- )
- }
- /***/ }),
- /***/ 669:
- /***/ (function(module) {
- module.exports = require("util");
- /***/ }),
- /***/ 674:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = authenticate;
- const { Deprecation } = __webpack_require__(692);
- const once = __webpack_require__(969);
- const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation));
- function authenticate(state, options) {
- deprecateAuthenticate(
- state.octokit.log,
- new Deprecation(
- '[@octokit/rest] octokit.authenticate() is deprecated. Use "auth" constructor option instead.'
- )
- );
- if (!options) {
- state.auth = false;
- return;
- }
- switch (options.type) {
- case "basic":
- if (!options.username || !options.password) {
- throw new Error(
- "Basic authentication requires both a username and password to be set"
- );
- }
- break;
- case "oauth":
- if (!options.token && !(options.key && options.secret)) {
- throw new Error(
- "OAuth2 authentication requires a token or key & secret to be set"
- );
- }
- break;
- case "token":
- case "app":
- if (!options.token) {
- throw new Error("Token authentication requires a token to be set");
- }
- break;
- default:
- throw new Error(
- "Invalid authentication type, must be 'basic', 'oauth', 'token' or 'app'"
- );
- }
- state.auth = options;
- }
- /***/ }),
- /***/ 675:
- /***/ (function(module) {
- module.exports = function btoa(str) {
- return new Buffer(str).toString('base64')
- }
- /***/ }),
- /***/ 692:
- /***/ (function(__unusedmodule, exports) {
- "use strict";
- Object.defineProperty(exports, '__esModule', { value: true });
- class Deprecation extends Error {
- constructor(message) {
- super(message); // Maintains proper stack trace (only available on V8)
- /* istanbul ignore next */
- if (Error.captureStackTrace) {
- Error.captureStackTrace(this, this.constructor);
- }
- this.name = 'Deprecation';
- }
- }
- exports.Deprecation = Deprecation;
- /***/ }),
- /***/ 696:
- /***/ (function(module) {
- "use strict";
- /*!
- * isobject <https://github.com/jonschlinkert/isobject>
- *
- * Copyright (c) 2014-2017, Jon Schlinkert.
- * Released under the MIT License.
- */
- function isObject(val) {
- return val != null && typeof val === 'object' && Array.isArray(val) === false;
- }
- /*!
- * is-plain-object <https://github.com/jonschlinkert/is-plain-object>
- *
- * Copyright (c) 2014-2017, Jon Schlinkert.
- * Released under the MIT License.
- */
- function isObjectObject(o) {
- return isObject(o) === true
- && Object.prototype.toString.call(o) === '[object Object]';
- }
- function isPlainObject(o) {
- var ctor,prot;
- if (isObjectObject(o) === false) return false;
- // If has modified constructor
- ctor = o.constructor;
- if (typeof ctor !== 'function') return false;
- // If has modified prototype
- prot = ctor.prototype;
- if (isObjectObject(prot) === false) return false;
- // If constructor does not have an Object-specific method
- if (prot.hasOwnProperty('isPrototypeOf') === false) {
- return false;
- }
- // Most likely a plain Object
- return true;
- }
- module.exports = isPlainObject;
- /***/ }),
- /***/ 697:
- /***/ (function(module) {
- "use strict";
- module.exports = (promise, onFinally) => {
- onFinally = onFinally || (() => {});
- return promise.then(
- val => new Promise(resolve => {
- resolve(onFinally());
- }).then(() => val),
- err => new Promise(resolve => {
- resolve(onFinally());
- }).then(() => {
- throw err;
- })
- );
- };
- /***/ }),
- /***/ 742:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- var fs = __webpack_require__(747)
- var core
- if (process.platform === 'win32' || global.TESTING_WINDOWS) {
- core = __webpack_require__(818)
- } else {
- core = __webpack_require__(197)
- }
- module.exports = isexe
- isexe.sync = sync
- function isexe (path, options, cb) {
- if (typeof options === 'function') {
- cb = options
- options = {}
- }
- if (!cb) {
- if (typeof Promise !== 'function') {
- throw new TypeError('callback not provided')
- }
- return new Promise(function (resolve, reject) {
- isexe(path, options || {}, function (er, is) {
- if (er) {
- reject(er)
- } else {
- resolve(is)
- }
- })
- })
- }
- core(path, options || {}, function (er, is) {
- // ignore EACCES because that just means we aren't allowed to run it
- if (er) {
- if (er.code === 'EACCES' || options && options.ignoreErrors) {
- er = null
- is = false
- }
- }
- cb(er, is)
- })
- }
- function sync (path, options) {
- // my kingdom for a filtered catch
- try {
- return core.sync(path, options || {})
- } catch (er) {
- if (options && options.ignoreErrors || er.code === 'EACCES') {
- return false
- } else {
- throw er
- }
- }
- }
- /***/ }),
- /***/ 747:
- /***/ (function(module) {
- module.exports = require("fs");
- /***/ }),
- /***/ 753:
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, '__esModule', { value: true });
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
- var endpoint = __webpack_require__(385);
- var universalUserAgent = __webpack_require__(796);
- var isPlainObject = _interopDefault(__webpack_require__(696));
- var nodeFetch = _interopDefault(__webpack_require__(454));
- var requestError = __webpack_require__(463);
- const VERSION = "5.4.4";
- function getBufferResponse(response) {
- return response.arrayBuffer();
- }
- function fetchWrapper(requestOptions) {
- if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {
- requestOptions.body = JSON.stringify(requestOptions.body);
- }
- let headers = {};
- let status;
- let url;
- const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch;
- return fetch(requestOptions.url, Object.assign({
- method: requestOptions.method,
- body: requestOptions.body,
- headers: requestOptions.headers,
- redirect: requestOptions.redirect
- }, requestOptions.request)).then(response => {
- url = response.url;
- status = response.status;
- for (const keyAndValue of response.headers) {
- headers[keyAndValue[0]] = keyAndValue[1];
- }
- if (status === 204 || status === 205) {
- return;
- } // GitHub API returns 200 for HEAD requests
- if (requestOptions.method === "HEAD") {
- if (status < 400) {
- return;
- }
- throw new requestError.RequestError(response.statusText, status, {
- headers,
- request: requestOptions
- });
- }
- if (status === 304) {
- throw new requestError.RequestError("Not modified", status, {
- headers,
- request: requestOptions
- });
- }
- if (status >= 400) {
- return response.text().then(message => {
- const error = new requestError.RequestError(message, status, {
- headers,
- request: requestOptions
- });
- try {
- let responseBody = JSON.parse(error.message);
- Object.assign(error, responseBody);
- let errors = responseBody.errors; // Assumption `errors` would always be in Array format
- error.message = error.message + ": " + errors.map(JSON.stringify).join(", ");
- } catch (e) {// ignore, see octokit/rest.js#684
- }
- throw error;
- });
- }
- const contentType = response.headers.get("content-type");
- if (/application\/json/.test(contentType)) {
- return response.json();
- }
- if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) {
- return response.text();
- }
- return getBufferResponse(response);
- }).then(data => {
- return {
- status,
- url,
- headers,
- data
- };
- }).catch(error => {
- if (error instanceof requestError.RequestError) {
- throw error;
- }
- throw new requestError.RequestError(error.message, 500, {
- headers,
- request: requestOptions
- });
- });
- }
- function withDefaults(oldEndpoint, newDefaults) {
- const endpoint = oldEndpoint.defaults(newDefaults);
- const newApi = function (route, parameters) {
- const endpointOptions = endpoint.merge(route, parameters);
- if (!endpointOptions.request || !endpointOptions.request.hook) {
- return fetchWrapper(endpoint.parse(endpointOptions));
- }
- const request = (route, parameters) => {
- return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));
- };
- Object.assign(request, {
- endpoint,
- defaults: withDefaults.bind(null, endpoint)
- });
- return endpointOptions.request.hook(request, endpointOptions);
- };
- return Object.assign(newApi, {
- endpoint,
- defaults: withDefaults.bind(null, endpoint)
- });
- }
- const request = withDefaults(endpoint.endpoint, {
- headers: {
- "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}`
- }
- });
- exports.request = request;
- //# sourceMappingURL=index.js.map
- /***/ }),
- /***/ 761:
- /***/ (function(module) {
- module.exports = require("zlib");
- /***/ }),
- /***/ 763:
- /***/ (function(module) {
- module.exports = removeHook
- function removeHook (state, name, method) {
- if (!state.registry[name]) {
- return
- }
- var index = state.registry[name]
- .map(function (registered) { return registered.orig })
- .indexOf(method)
- if (index === -1) {
- return
- }
- state.registry[name].splice(index, 1)
- }
- /***/ }),
- /***/ 768:
- /***/ (function(module) {
- "use strict";
- module.exports = function (x) {
- var lf = typeof x === 'string' ? '\n' : '\n'.charCodeAt();
- var cr = typeof x === 'string' ? '\r' : '\r'.charCodeAt();
- if (x[x.length - 1] === lf) {
- x = x.slice(0, x.length - 1);
- }
- if (x[x.length - 1] === cr) {
- x = x.slice(0, x.length - 1);
- }
- return x;
- };
- /***/ }),
- /***/ 777:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = getFirstPage
- const getPage = __webpack_require__(265)
- function getFirstPage (octokit, link, headers) {
- return getPage(octokit, link, 'first', headers)
- }
- /***/ }),
- /***/ 796:
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, '__esModule', { value: true });
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
- var osName = _interopDefault(__webpack_require__(2));
- function getUserAgent() {
- try {
- return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`;
- } catch (error) {
- if (/wmic os get Caption/.test(error.message)) {
- return "Windows <version undetectable>";
- }
- return "<environment undetectable>";
- }
- }
- exports.getUserAgent = getUserAgent;
- //# sourceMappingURL=index.js.map
- /***/ }),
- /***/ 813:
- /***/ (function(__unusedmodule, exports) {
- "use strict";
- Object.defineProperty(exports, '__esModule', { value: true });
- async function auth(token) {
- const tokenType = token.split(/\./).length === 3 ? "app" : /^v\d+\./.test(token) ? "installation" : "oauth";
- return {
- type: "token",
- token: token,
- tokenType
- };
- }
- /**
- * Prefix token for usage in the Authorization header
- *
- * @param token OAuth token or JSON Web Token
- */
- function withAuthorizationPrefix(token) {
- if (token.split(/\./).length === 3) {
- return `bearer ${token}`;
- }
- return `token ${token}`;
- }
- async function hook(token, request, route, parameters) {
- const endpoint = request.endpoint.merge(route, parameters);
- endpoint.headers.authorization = withAuthorizationPrefix(token);
- return request(endpoint);
- }
- const createTokenAuth = function createTokenAuth(token) {
- if (!token) {
- throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
- }
- if (typeof token !== "string") {
- throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");
- }
- token = token.replace(/^(token|bearer) +/i, "");
- return Object.assign(auth.bind(null, token), {
- hook: hook.bind(null, token)
- });
- };
- exports.createTokenAuth = createTokenAuth;
- //# sourceMappingURL=index.js.map
- /***/ }),
- /***/ 814:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = which
- which.sync = whichSync
- var isWindows = process.platform === 'win32' ||
- process.env.OSTYPE === 'cygwin' ||
- process.env.OSTYPE === 'msys'
- var path = __webpack_require__(622)
- var COLON = isWindows ? ';' : ':'
- var isexe = __webpack_require__(742)
- function getNotFoundError (cmd) {
- var er = new Error('not found: ' + cmd)
- er.code = 'ENOENT'
- return er
- }
- function getPathInfo (cmd, opt) {
- var colon = opt.colon || COLON
- var pathEnv = opt.path || process.env.PATH || ''
- var pathExt = ['']
- pathEnv = pathEnv.split(colon)
- var pathExtExe = ''
- if (isWindows) {
- pathEnv.unshift(process.cwd())
- pathExtExe = (opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM')
- pathExt = pathExtExe.split(colon)
- // Always test the cmd itself first. isexe will check to make sure
- // it's found in the pathExt set.
- if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')
- pathExt.unshift('')
- }
- // If it has a slash, then we don't bother searching the pathenv.
- // just check the file itself, and that's it.
- if (cmd.match(/\//) || isWindows && cmd.match(/\\/))
- pathEnv = ['']
- return {
- env: pathEnv,
- ext: pathExt,
- extExe: pathExtExe
- }
- }
- function which (cmd, opt, cb) {
- if (typeof opt === 'function') {
- cb = opt
- opt = {}
- }
- var info = getPathInfo(cmd, opt)
- var pathEnv = info.env
- var pathExt = info.ext
- var pathExtExe = info.extExe
- var found = []
- ;(function F (i, l) {
- if (i === l) {
- if (opt.all && found.length)
- return cb(null, found)
- else
- return cb(getNotFoundError(cmd))
- }
- var pathPart = pathEnv[i]
- if (pathPart.charAt(0) === '"' && pathPart.slice(-1) === '"')
- pathPart = pathPart.slice(1, -1)
- var p = path.join(pathPart, cmd)
- if (!pathPart && (/^\.[\\\/]/).test(cmd)) {
- p = cmd.slice(0, 2) + p
- }
- ;(function E (ii, ll) {
- if (ii === ll) return F(i + 1, l)
- var ext = pathExt[ii]
- isexe(p + ext, { pathExt: pathExtExe }, function (er, is) {
- if (!er && is) {
- if (opt.all)
- found.push(p + ext)
- else
- return cb(null, p + ext)
- }
- return E(ii + 1, ll)
- })
- })(0, pathExt.length)
- })(0, pathEnv.length)
- }
- function whichSync (cmd, opt) {
- opt = opt || {}
- var info = getPathInfo(cmd, opt)
- var pathEnv = info.env
- var pathExt = info.ext
- var pathExtExe = info.extExe
- var found = []
- for (var i = 0, l = pathEnv.length; i < l; i ++) {
- var pathPart = pathEnv[i]
- if (pathPart.charAt(0) === '"' && pathPart.slice(-1) === '"')
- pathPart = pathPart.slice(1, -1)
- var p = path.join(pathPart, cmd)
- if (!pathPart && /^\.[\\\/]/.test(cmd)) {
- p = cmd.slice(0, 2) + p
- }
- for (var j = 0, ll = pathExt.length; j < ll; j ++) {
- var cur = p + pathExt[j]
- var is
- try {
- is = isexe.sync(cur, { pathExt: pathExtExe })
- if (is) {
- if (opt.all)
- found.push(cur)
- else
- return cur
- }
- } catch (ex) {}
- }
- }
- if (opt.all && found.length)
- return found
- if (opt.nothrow)
- return null
- throw getNotFoundError(cmd)
- }
- /***/ }),
- /***/ 816:
- /***/ (function(module) {
- "use strict";
- module.exports = /^#!.*/;
- /***/ }),
- /***/ 818:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = isexe
- isexe.sync = sync
- var fs = __webpack_require__(747)
- function checkPathExt (path, options) {
- var pathext = options.pathExt !== undefined ?
- options.pathExt : process.env.PATHEXT
- if (!pathext) {
- return true
- }
- pathext = pathext.split(';')
- if (pathext.indexOf('') !== -1) {
- return true
- }
- for (var i = 0; i < pathext.length; i++) {
- var p = pathext[i].toLowerCase()
- if (p && path.substr(-p.length).toLowerCase() === p) {
- return true
- }
- }
- return false
- }
- function checkStat (stat, path, options) {
- if (!stat.isSymbolicLink() && !stat.isFile()) {
- return false
- }
- return checkPathExt(path, options)
- }
- function isexe (path, options, cb) {
- fs.stat(path, function (er, stat) {
- cb(er, er ? false : checkStat(stat, path, options))
- })
- }
- function sync (path, options) {
- return checkStat(fs.statSync(path), path, options)
- }
- /***/ }),
- /***/ 835:
- /***/ (function(module) {
- module.exports = require("url");
- /***/ }),
- /***/ 842:
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, '__esModule', { value: true });
- var deprecation = __webpack_require__(692);
- var endpointsByScope = {
- actions: {
- cancelWorkflowRun: {
- method: "POST",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- run_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/actions/runs/:run_id/cancel"
- },
- createOrUpdateSecretForRepo: {
- method: "PUT",
- params: {
- encrypted_value: {
- type: "string"
- },
- key_id: {
- type: "string"
- },
- name: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/actions/secrets/:name"
- },
- createRegistrationToken: {
- method: "POST",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/actions/runners/registration-token"
- },
- createRemoveToken: {
- method: "POST",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/actions/runners/remove-token"
- },
- deleteArtifact: {
- method: "DELETE",
- params: {
- artifact_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/actions/artifacts/:artifact_id"
- },
- deleteSecretFromRepo: {
- method: "DELETE",
- params: {
- name: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/actions/secrets/:name"
- },
- downloadArtifact: {
- method: "GET",
- params: {
- archive_format: {
- required: true,
- type: "string"
- },
- artifact_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format"
- },
- getArtifact: {
- method: "GET",
- params: {
- artifact_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/actions/artifacts/:artifact_id"
- },
- getPublicKey: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/actions/secrets/public-key"
- },
- getSecret: {
- method: "GET",
- params: {
- name: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/actions/secrets/:name"
- },
- getSelfHostedRunner: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- runner_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/actions/runners/:runner_id"
- },
- getWorkflow: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- workflow_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/actions/workflows/:workflow_id"
- },
- getWorkflowJob: {
- method: "GET",
- params: {
- job_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/actions/jobs/:job_id"
- },
- getWorkflowRun: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- run_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/actions/runs/:run_id"
- },
- listDownloadsForSelfHostedRunnerApplication: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/actions/runners/downloads"
- },
- listJobsForWorkflowRun: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- run_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/actions/runs/:run_id/jobs"
- },
- listRepoWorkflowRuns: {
- method: "GET",
- params: {
- actor: {
- type: "string"
- },
- branch: {
- type: "string"
- },
- event: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- status: {
- enum: ["completed", "status", "conclusion"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/actions/runs"
- },
- listRepoWorkflows: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/actions/workflows"
- },
- listSecretsForRepo: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/actions/secrets"
- },
- listSelfHostedRunnersForRepo: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/actions/runners"
- },
- listWorkflowJobLogs: {
- method: "GET",
- params: {
- job_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/actions/jobs/:job_id/logs"
- },
- listWorkflowRunArtifacts: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- run_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/actions/runs/:run_id/artifacts"
- },
- listWorkflowRunLogs: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- run_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/actions/runs/:run_id/logs"
- },
- listWorkflowRuns: {
- method: "GET",
- params: {
- actor: {
- type: "string"
- },
- branch: {
- type: "string"
- },
- event: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- status: {
- enum: ["completed", "status", "conclusion"],
- type: "string"
- },
- workflow_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/actions/workflows/:workflow_id/runs"
- },
- reRunWorkflow: {
- method: "POST",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- run_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/actions/runs/:run_id/rerun"
- },
- removeSelfHostedRunner: {
- method: "DELETE",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- runner_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/actions/runners/:runner_id"
- }
- },
- activity: {
- checkStarringRepo: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/user/starred/:owner/:repo"
- },
- deleteRepoSubscription: {
- method: "DELETE",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/subscription"
- },
- deleteThreadSubscription: {
- method: "DELETE",
- params: {
- thread_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/notifications/threads/:thread_id/subscription"
- },
- getRepoSubscription: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/subscription"
- },
- getThread: {
- method: "GET",
- params: {
- thread_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/notifications/threads/:thread_id"
- },
- getThreadSubscription: {
- method: "GET",
- params: {
- thread_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/notifications/threads/:thread_id/subscription"
- },
- listEventsForOrg: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/events/orgs/:org"
- },
- listEventsForUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/events"
- },
- listFeeds: {
- method: "GET",
- params: {},
- url: "/feeds"
- },
- listNotifications: {
- method: "GET",
- params: {
- all: {
- type: "boolean"
- },
- before: {
- type: "string"
- },
- page: {
- type: "integer"
- },
- participating: {
- type: "boolean"
- },
- per_page: {
- type: "integer"
- },
- since: {
- type: "string"
- }
- },
- url: "/notifications"
- },
- listNotificationsForRepo: {
- method: "GET",
- params: {
- all: {
- type: "boolean"
- },
- before: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- participating: {
- type: "boolean"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- since: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/notifications"
- },
- listPublicEvents: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/events"
- },
- listPublicEventsForOrg: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/orgs/:org/events"
- },
- listPublicEventsForRepoNetwork: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/networks/:owner/:repo/events"
- },
- listPublicEventsForUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/events/public"
- },
- listReceivedEventsForUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/received_events"
- },
- listReceivedPublicEventsForUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/received_events/public"
- },
- listRepoEvents: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/events"
- },
- listReposStarredByAuthenticatedUser: {
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- sort: {
- enum: ["created", "updated"],
- type: "string"
- }
- },
- url: "/user/starred"
- },
- listReposStarredByUser: {
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- sort: {
- enum: ["created", "updated"],
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/starred"
- },
- listReposWatchedByUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/subscriptions"
- },
- listStargazersForRepo: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/stargazers"
- },
- listWatchedReposForAuthenticatedUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/user/subscriptions"
- },
- listWatchersForRepo: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/subscribers"
- },
- markAsRead: {
- method: "PUT",
- params: {
- last_read_at: {
- type: "string"
- }
- },
- url: "/notifications"
- },
- markNotificationsAsReadForRepo: {
- method: "PUT",
- params: {
- last_read_at: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/notifications"
- },
- markThreadAsRead: {
- method: "PATCH",
- params: {
- thread_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/notifications/threads/:thread_id"
- },
- setRepoSubscription: {
- method: "PUT",
- params: {
- ignored: {
- type: "boolean"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- subscribed: {
- type: "boolean"
- }
- },
- url: "/repos/:owner/:repo/subscription"
- },
- setThreadSubscription: {
- method: "PUT",
- params: {
- ignored: {
- type: "boolean"
- },
- thread_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/notifications/threads/:thread_id/subscription"
- },
- starRepo: {
- method: "PUT",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/user/starred/:owner/:repo"
- },
- unstarRepo: {
- method: "DELETE",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/user/starred/:owner/:repo"
- }
- },
- apps: {
- addRepoToInstallation: {
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "PUT",
- params: {
- installation_id: {
- required: true,
- type: "integer"
- },
- repository_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/user/installations/:installation_id/repositories/:repository_id"
- },
- checkAccountIsAssociatedWithAny: {
- method: "GET",
- params: {
- account_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/marketplace_listing/accounts/:account_id"
- },
- checkAccountIsAssociatedWithAnyStubbed: {
- method: "GET",
- params: {
- account_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/marketplace_listing/stubbed/accounts/:account_id"
- },
- checkAuthorization: {
- deprecated: "octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization",
- method: "GET",
- params: {
- access_token: {
- required: true,
- type: "string"
- },
- client_id: {
- required: true,
- type: "string"
- }
- },
- url: "/applications/:client_id/tokens/:access_token"
- },
- checkToken: {
- headers: {
- accept: "application/vnd.github.doctor-strange-preview+json"
- },
- method: "POST",
- params: {
- access_token: {
- type: "string"
- },
- client_id: {
- required: true,
- type: "string"
- }
- },
- url: "/applications/:client_id/token"
- },
- createContentAttachment: {
- headers: {
- accept: "application/vnd.github.corsair-preview+json"
- },
- method: "POST",
- params: {
- body: {
- required: true,
- type: "string"
- },
- content_reference_id: {
- required: true,
- type: "integer"
- },
- title: {
- required: true,
- type: "string"
- }
- },
- url: "/content_references/:content_reference_id/attachments"
- },
- createFromManifest: {
- headers: {
- accept: "application/vnd.github.fury-preview+json"
- },
- method: "POST",
- params: {
- code: {
- required: true,
- type: "string"
- }
- },
- url: "/app-manifests/:code/conversions"
- },
- createInstallationToken: {
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "POST",
- params: {
- installation_id: {
- required: true,
- type: "integer"
- },
- permissions: {
- type: "object"
- },
- repository_ids: {
- type: "integer[]"
- }
- },
- url: "/app/installations/:installation_id/access_tokens"
- },
- deleteAuthorization: {
- headers: {
- accept: "application/vnd.github.doctor-strange-preview+json"
- },
- method: "DELETE",
- params: {
- access_token: {
- type: "string"
- },
- client_id: {
- required: true,
- type: "string"
- }
- },
- url: "/applications/:client_id/grant"
- },
- deleteInstallation: {
- headers: {
- accept: "application/vnd.github.gambit-preview+json,application/vnd.github.machine-man-preview+json"
- },
- method: "DELETE",
- params: {
- installation_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/app/installations/:installation_id"
- },
- deleteToken: {
- headers: {
- accept: "application/vnd.github.doctor-strange-preview+json"
- },
- method: "DELETE",
- params: {
- access_token: {
- type: "string"
- },
- client_id: {
- required: true,
- type: "string"
- }
- },
- url: "/applications/:client_id/token"
- },
- findOrgInstallation: {
- deprecated: "octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() (2019-04-10)",
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/installation"
- },
- findRepoInstallation: {
- deprecated: "octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() (2019-04-10)",
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/installation"
- },
- findUserInstallation: {
- deprecated: "octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() (2019-04-10)",
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "GET",
- params: {
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/installation"
- },
- getAuthenticated: {
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "GET",
- params: {},
- url: "/app"
- },
- getBySlug: {
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "GET",
- params: {
- app_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/apps/:app_slug"
- },
- getInstallation: {
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "GET",
- params: {
- installation_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/app/installations/:installation_id"
- },
- getOrgInstallation: {
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/installation"
- },
- getRepoInstallation: {
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/installation"
- },
- getUserInstallation: {
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "GET",
- params: {
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/installation"
- },
- listAccountsUserOrOrgOnPlan: {
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- plan_id: {
- required: true,
- type: "integer"
- },
- sort: {
- enum: ["created", "updated"],
- type: "string"
- }
- },
- url: "/marketplace_listing/plans/:plan_id/accounts"
- },
- listAccountsUserOrOrgOnPlanStubbed: {
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- plan_id: {
- required: true,
- type: "integer"
- },
- sort: {
- enum: ["created", "updated"],
- type: "string"
- }
- },
- url: "/marketplace_listing/stubbed/plans/:plan_id/accounts"
- },
- listInstallationReposForAuthenticatedUser: {
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "GET",
- params: {
- installation_id: {
- required: true,
- type: "integer"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/user/installations/:installation_id/repositories"
- },
- listInstallations: {
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/app/installations"
- },
- listInstallationsForAuthenticatedUser: {
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/user/installations"
- },
- listMarketplacePurchasesForAuthenticatedUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/user/marketplace_purchases"
- },
- listMarketplacePurchasesForAuthenticatedUserStubbed: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/user/marketplace_purchases/stubbed"
- },
- listPlans: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/marketplace_listing/plans"
- },
- listPlansStubbed: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/marketplace_listing/stubbed/plans"
- },
- listRepos: {
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/installation/repositories"
- },
- removeRepoFromInstallation: {
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "DELETE",
- params: {
- installation_id: {
- required: true,
- type: "integer"
- },
- repository_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/user/installations/:installation_id/repositories/:repository_id"
- },
- resetAuthorization: {
- deprecated: "octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization",
- method: "POST",
- params: {
- access_token: {
- required: true,
- type: "string"
- },
- client_id: {
- required: true,
- type: "string"
- }
- },
- url: "/applications/:client_id/tokens/:access_token"
- },
- resetToken: {
- headers: {
- accept: "application/vnd.github.doctor-strange-preview+json"
- },
- method: "PATCH",
- params: {
- access_token: {
- type: "string"
- },
- client_id: {
- required: true,
- type: "string"
- }
- },
- url: "/applications/:client_id/token"
- },
- revokeAuthorizationForApplication: {
- deprecated: "octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application",
- method: "DELETE",
- params: {
- access_token: {
- required: true,
- type: "string"
- },
- client_id: {
- required: true,
- type: "string"
- }
- },
- url: "/applications/:client_id/tokens/:access_token"
- },
- revokeGrantForApplication: {
- deprecated: "octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application",
- method: "DELETE",
- params: {
- access_token: {
- required: true,
- type: "string"
- },
- client_id: {
- required: true,
- type: "string"
- }
- },
- url: "/applications/:client_id/grants/:access_token"
- },
- revokeInstallationToken: {
- headers: {
- accept: "application/vnd.github.gambit-preview+json"
- },
- method: "DELETE",
- params: {},
- url: "/installation/token"
- }
- },
- checks: {
- create: {
- headers: {
- accept: "application/vnd.github.antiope-preview+json"
- },
- method: "POST",
- params: {
- actions: {
- type: "object[]"
- },
- "actions[].description": {
- required: true,
- type: "string"
- },
- "actions[].identifier": {
- required: true,
- type: "string"
- },
- "actions[].label": {
- required: true,
- type: "string"
- },
- completed_at: {
- type: "string"
- },
- conclusion: {
- enum: ["success", "failure", "neutral", "cancelled", "timed_out", "action_required"],
- type: "string"
- },
- details_url: {
- type: "string"
- },
- external_id: {
- type: "string"
- },
- head_sha: {
- required: true,
- type: "string"
- },
- name: {
- required: true,
- type: "string"
- },
- output: {
- type: "object"
- },
- "output.annotations": {
- type: "object[]"
- },
- "output.annotations[].annotation_level": {
- enum: ["notice", "warning", "failure"],
- required: true,
- type: "string"
- },
- "output.annotations[].end_column": {
- type: "integer"
- },
- "output.annotations[].end_line": {
- required: true,
- type: "integer"
- },
- "output.annotations[].message": {
- required: true,
- type: "string"
- },
- "output.annotations[].path": {
- required: true,
- type: "string"
- },
- "output.annotations[].raw_details": {
- type: "string"
- },
- "output.annotations[].start_column": {
- type: "integer"
- },
- "output.annotations[].start_line": {
- required: true,
- type: "integer"
- },
- "output.annotations[].title": {
- type: "string"
- },
- "output.images": {
- type: "object[]"
- },
- "output.images[].alt": {
- required: true,
- type: "string"
- },
- "output.images[].caption": {
- type: "string"
- },
- "output.images[].image_url": {
- required: true,
- type: "string"
- },
- "output.summary": {
- required: true,
- type: "string"
- },
- "output.text": {
- type: "string"
- },
- "output.title": {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- started_at: {
- type: "string"
- },
- status: {
- enum: ["queued", "in_progress", "completed"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/check-runs"
- },
- createSuite: {
- headers: {
- accept: "application/vnd.github.antiope-preview+json"
- },
- method: "POST",
- params: {
- head_sha: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/check-suites"
- },
- get: {
- headers: {
- accept: "application/vnd.github.antiope-preview+json"
- },
- method: "GET",
- params: {
- check_run_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/check-runs/:check_run_id"
- },
- getSuite: {
- headers: {
- accept: "application/vnd.github.antiope-preview+json"
- },
- method: "GET",
- params: {
- check_suite_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/check-suites/:check_suite_id"
- },
- listAnnotations: {
- headers: {
- accept: "application/vnd.github.antiope-preview+json"
- },
- method: "GET",
- params: {
- check_run_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/check-runs/:check_run_id/annotations"
- },
- listForRef: {
- headers: {
- accept: "application/vnd.github.antiope-preview+json"
- },
- method: "GET",
- params: {
- check_name: {
- type: "string"
- },
- filter: {
- enum: ["latest", "all"],
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- ref: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- status: {
- enum: ["queued", "in_progress", "completed"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/commits/:ref/check-runs"
- },
- listForSuite: {
- headers: {
- accept: "application/vnd.github.antiope-preview+json"
- },
- method: "GET",
- params: {
- check_name: {
- type: "string"
- },
- check_suite_id: {
- required: true,
- type: "integer"
- },
- filter: {
- enum: ["latest", "all"],
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- status: {
- enum: ["queued", "in_progress", "completed"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/check-suites/:check_suite_id/check-runs"
- },
- listSuitesForRef: {
- headers: {
- accept: "application/vnd.github.antiope-preview+json"
- },
- method: "GET",
- params: {
- app_id: {
- type: "integer"
- },
- check_name: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- ref: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/commits/:ref/check-suites"
- },
- rerequestSuite: {
- headers: {
- accept: "application/vnd.github.antiope-preview+json"
- },
- method: "POST",
- params: {
- check_suite_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/check-suites/:check_suite_id/rerequest"
- },
- setSuitesPreferences: {
- headers: {
- accept: "application/vnd.github.antiope-preview+json"
- },
- method: "PATCH",
- params: {
- auto_trigger_checks: {
- type: "object[]"
- },
- "auto_trigger_checks[].app_id": {
- required: true,
- type: "integer"
- },
- "auto_trigger_checks[].setting": {
- required: true,
- type: "boolean"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/check-suites/preferences"
- },
- update: {
- headers: {
- accept: "application/vnd.github.antiope-preview+json"
- },
- method: "PATCH",
- params: {
- actions: {
- type: "object[]"
- },
- "actions[].description": {
- required: true,
- type: "string"
- },
- "actions[].identifier": {
- required: true,
- type: "string"
- },
- "actions[].label": {
- required: true,
- type: "string"
- },
- check_run_id: {
- required: true,
- type: "integer"
- },
- completed_at: {
- type: "string"
- },
- conclusion: {
- enum: ["success", "failure", "neutral", "cancelled", "timed_out", "action_required"],
- type: "string"
- },
- details_url: {
- type: "string"
- },
- external_id: {
- type: "string"
- },
- name: {
- type: "string"
- },
- output: {
- type: "object"
- },
- "output.annotations": {
- type: "object[]"
- },
- "output.annotations[].annotation_level": {
- enum: ["notice", "warning", "failure"],
- required: true,
- type: "string"
- },
- "output.annotations[].end_column": {
- type: "integer"
- },
- "output.annotations[].end_line": {
- required: true,
- type: "integer"
- },
- "output.annotations[].message": {
- required: true,
- type: "string"
- },
- "output.annotations[].path": {
- required: true,
- type: "string"
- },
- "output.annotations[].raw_details": {
- type: "string"
- },
- "output.annotations[].start_column": {
- type: "integer"
- },
- "output.annotations[].start_line": {
- required: true,
- type: "integer"
- },
- "output.annotations[].title": {
- type: "string"
- },
- "output.images": {
- type: "object[]"
- },
- "output.images[].alt": {
- required: true,
- type: "string"
- },
- "output.images[].caption": {
- type: "string"
- },
- "output.images[].image_url": {
- required: true,
- type: "string"
- },
- "output.summary": {
- required: true,
- type: "string"
- },
- "output.text": {
- type: "string"
- },
- "output.title": {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- started_at: {
- type: "string"
- },
- status: {
- enum: ["queued", "in_progress", "completed"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/check-runs/:check_run_id"
- }
- },
- codesOfConduct: {
- getConductCode: {
- headers: {
- accept: "application/vnd.github.scarlet-witch-preview+json"
- },
- method: "GET",
- params: {
- key: {
- required: true,
- type: "string"
- }
- },
- url: "/codes_of_conduct/:key"
- },
- getForRepo: {
- headers: {
- accept: "application/vnd.github.scarlet-witch-preview+json"
- },
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/community/code_of_conduct"
- },
- listConductCodes: {
- headers: {
- accept: "application/vnd.github.scarlet-witch-preview+json"
- },
- method: "GET",
- params: {},
- url: "/codes_of_conduct"
- }
- },
- emojis: {
- get: {
- method: "GET",
- params: {},
- url: "/emojis"
- }
- },
- gists: {
- checkIsStarred: {
- method: "GET",
- params: {
- gist_id: {
- required: true,
- type: "string"
- }
- },
- url: "/gists/:gist_id/star"
- },
- create: {
- method: "POST",
- params: {
- description: {
- type: "string"
- },
- files: {
- required: true,
- type: "object"
- },
- "files.content": {
- type: "string"
- },
- public: {
- type: "boolean"
- }
- },
- url: "/gists"
- },
- createComment: {
- method: "POST",
- params: {
- body: {
- required: true,
- type: "string"
- },
- gist_id: {
- required: true,
- type: "string"
- }
- },
- url: "/gists/:gist_id/comments"
- },
- delete: {
- method: "DELETE",
- params: {
- gist_id: {
- required: true,
- type: "string"
- }
- },
- url: "/gists/:gist_id"
- },
- deleteComment: {
- method: "DELETE",
- params: {
- comment_id: {
- required: true,
- type: "integer"
- },
- gist_id: {
- required: true,
- type: "string"
- }
- },
- url: "/gists/:gist_id/comments/:comment_id"
- },
- fork: {
- method: "POST",
- params: {
- gist_id: {
- required: true,
- type: "string"
- }
- },
- url: "/gists/:gist_id/forks"
- },
- get: {
- method: "GET",
- params: {
- gist_id: {
- required: true,
- type: "string"
- }
- },
- url: "/gists/:gist_id"
- },
- getComment: {
- method: "GET",
- params: {
- comment_id: {
- required: true,
- type: "integer"
- },
- gist_id: {
- required: true,
- type: "string"
- }
- },
- url: "/gists/:gist_id/comments/:comment_id"
- },
- getRevision: {
- method: "GET",
- params: {
- gist_id: {
- required: true,
- type: "string"
- },
- sha: {
- required: true,
- type: "string"
- }
- },
- url: "/gists/:gist_id/:sha"
- },
- list: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- since: {
- type: "string"
- }
- },
- url: "/gists"
- },
- listComments: {
- method: "GET",
- params: {
- gist_id: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/gists/:gist_id/comments"
- },
- listCommits: {
- method: "GET",
- params: {
- gist_id: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/gists/:gist_id/commits"
- },
- listForks: {
- method: "GET",
- params: {
- gist_id: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/gists/:gist_id/forks"
- },
- listPublic: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- since: {
- type: "string"
- }
- },
- url: "/gists/public"
- },
- listPublicForUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- since: {
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/gists"
- },
- listStarred: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- since: {
- type: "string"
- }
- },
- url: "/gists/starred"
- },
- star: {
- method: "PUT",
- params: {
- gist_id: {
- required: true,
- type: "string"
- }
- },
- url: "/gists/:gist_id/star"
- },
- unstar: {
- method: "DELETE",
- params: {
- gist_id: {
- required: true,
- type: "string"
- }
- },
- url: "/gists/:gist_id/star"
- },
- update: {
- method: "PATCH",
- params: {
- description: {
- type: "string"
- },
- files: {
- type: "object"
- },
- "files.content": {
- type: "string"
- },
- "files.filename": {
- type: "string"
- },
- gist_id: {
- required: true,
- type: "string"
- }
- },
- url: "/gists/:gist_id"
- },
- updateComment: {
- method: "PATCH",
- params: {
- body: {
- required: true,
- type: "string"
- },
- comment_id: {
- required: true,
- type: "integer"
- },
- gist_id: {
- required: true,
- type: "string"
- }
- },
- url: "/gists/:gist_id/comments/:comment_id"
- }
- },
- git: {
- createBlob: {
- method: "POST",
- params: {
- content: {
- required: true,
- type: "string"
- },
- encoding: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/git/blobs"
- },
- createCommit: {
- method: "POST",
- params: {
- author: {
- type: "object"
- },
- "author.date": {
- type: "string"
- },
- "author.email": {
- type: "string"
- },
- "author.name": {
- type: "string"
- },
- committer: {
- type: "object"
- },
- "committer.date": {
- type: "string"
- },
- "committer.email": {
- type: "string"
- },
- "committer.name": {
- type: "string"
- },
- message: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- parents: {
- required: true,
- type: "string[]"
- },
- repo: {
- required: true,
- type: "string"
- },
- signature: {
- type: "string"
- },
- tree: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/git/commits"
- },
- createRef: {
- method: "POST",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- ref: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- sha: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/git/refs"
- },
- createTag: {
- method: "POST",
- params: {
- message: {
- required: true,
- type: "string"
- },
- object: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- tag: {
- required: true,
- type: "string"
- },
- tagger: {
- type: "object"
- },
- "tagger.date": {
- type: "string"
- },
- "tagger.email": {
- type: "string"
- },
- "tagger.name": {
- type: "string"
- },
- type: {
- enum: ["commit", "tree", "blob"],
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/git/tags"
- },
- createTree: {
- method: "POST",
- params: {
- base_tree: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- tree: {
- required: true,
- type: "object[]"
- },
- "tree[].content": {
- type: "string"
- },
- "tree[].mode": {
- enum: ["100644", "100755", "040000", "160000", "120000"],
- type: "string"
- },
- "tree[].path": {
- type: "string"
- },
- "tree[].sha": {
- allowNull: true,
- type: "string"
- },
- "tree[].type": {
- enum: ["blob", "tree", "commit"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/git/trees"
- },
- deleteRef: {
- method: "DELETE",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- ref: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/git/refs/:ref"
- },
- getBlob: {
- method: "GET",
- params: {
- file_sha: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/git/blobs/:file_sha"
- },
- getCommit: {
- method: "GET",
- params: {
- commit_sha: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/git/commits/:commit_sha"
- },
- getRef: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- ref: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/git/ref/:ref"
- },
- getTag: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- tag_sha: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/git/tags/:tag_sha"
- },
- getTree: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- recursive: {
- enum: ["1"],
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- tree_sha: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/git/trees/:tree_sha"
- },
- listMatchingRefs: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- ref: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/git/matching-refs/:ref"
- },
- listRefs: {
- method: "GET",
- params: {
- namespace: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/git/refs/:namespace"
- },
- updateRef: {
- method: "PATCH",
- params: {
- force: {
- type: "boolean"
- },
- owner: {
- required: true,
- type: "string"
- },
- ref: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- sha: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/git/refs/:ref"
- }
- },
- gitignore: {
- getTemplate: {
- method: "GET",
- params: {
- name: {
- required: true,
- type: "string"
- }
- },
- url: "/gitignore/templates/:name"
- },
- listTemplates: {
- method: "GET",
- params: {},
- url: "/gitignore/templates"
- }
- },
- interactions: {
- addOrUpdateRestrictionsForOrg: {
- headers: {
- accept: "application/vnd.github.sombra-preview+json"
- },
- method: "PUT",
- params: {
- limit: {
- enum: ["existing_users", "contributors_only", "collaborators_only"],
- required: true,
- type: "string"
- },
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/interaction-limits"
- },
- addOrUpdateRestrictionsForRepo: {
- headers: {
- accept: "application/vnd.github.sombra-preview+json"
- },
- method: "PUT",
- params: {
- limit: {
- enum: ["existing_users", "contributors_only", "collaborators_only"],
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/interaction-limits"
- },
- getRestrictionsForOrg: {
- headers: {
- accept: "application/vnd.github.sombra-preview+json"
- },
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/interaction-limits"
- },
- getRestrictionsForRepo: {
- headers: {
- accept: "application/vnd.github.sombra-preview+json"
- },
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/interaction-limits"
- },
- removeRestrictionsForOrg: {
- headers: {
- accept: "application/vnd.github.sombra-preview+json"
- },
- method: "DELETE",
- params: {
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/interaction-limits"
- },
- removeRestrictionsForRepo: {
- headers: {
- accept: "application/vnd.github.sombra-preview+json"
- },
- method: "DELETE",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/interaction-limits"
- }
- },
- issues: {
- addAssignees: {
- method: "POST",
- params: {
- assignees: {
- type: "string[]"
- },
- issue_number: {
- required: true,
- type: "integer"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number/assignees"
- },
- addLabels: {
- method: "POST",
- params: {
- issue_number: {
- required: true,
- type: "integer"
- },
- labels: {
- required: true,
- type: "string[]"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number/labels"
- },
- checkAssignee: {
- method: "GET",
- params: {
- assignee: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/assignees/:assignee"
- },
- create: {
- method: "POST",
- params: {
- assignee: {
- type: "string"
- },
- assignees: {
- type: "string[]"
- },
- body: {
- type: "string"
- },
- labels: {
- type: "string[]"
- },
- milestone: {
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- title: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues"
- },
- createComment: {
- method: "POST",
- params: {
- body: {
- required: true,
- type: "string"
- },
- issue_number: {
- required: true,
- type: "integer"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number/comments"
- },
- createLabel: {
- method: "POST",
- params: {
- color: {
- required: true,
- type: "string"
- },
- description: {
- type: "string"
- },
- name: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/labels"
- },
- createMilestone: {
- method: "POST",
- params: {
- description: {
- type: "string"
- },
- due_on: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- state: {
- enum: ["open", "closed"],
- type: "string"
- },
- title: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/milestones"
- },
- deleteComment: {
- method: "DELETE",
- params: {
- comment_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/comments/:comment_id"
- },
- deleteLabel: {
- method: "DELETE",
- params: {
- name: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/labels/:name"
- },
- deleteMilestone: {
- method: "DELETE",
- params: {
- milestone_number: {
- required: true,
- type: "integer"
- },
- number: {
- alias: "milestone_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/milestones/:milestone_number"
- },
- get: {
- method: "GET",
- params: {
- issue_number: {
- required: true,
- type: "integer"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number"
- },
- getComment: {
- method: "GET",
- params: {
- comment_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/comments/:comment_id"
- },
- getEvent: {
- method: "GET",
- params: {
- event_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/events/:event_id"
- },
- getLabel: {
- method: "GET",
- params: {
- name: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/labels/:name"
- },
- getMilestone: {
- method: "GET",
- params: {
- milestone_number: {
- required: true,
- type: "integer"
- },
- number: {
- alias: "milestone_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/milestones/:milestone_number"
- },
- list: {
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- filter: {
- enum: ["assigned", "created", "mentioned", "subscribed", "all"],
- type: "string"
- },
- labels: {
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- since: {
- type: "string"
- },
- sort: {
- enum: ["created", "updated", "comments"],
- type: "string"
- },
- state: {
- enum: ["open", "closed", "all"],
- type: "string"
- }
- },
- url: "/issues"
- },
- listAssignees: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/assignees"
- },
- listComments: {
- method: "GET",
- params: {
- issue_number: {
- required: true,
- type: "integer"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- since: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number/comments"
- },
- listCommentsForRepo: {
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- since: {
- type: "string"
- },
- sort: {
- enum: ["created", "updated"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/comments"
- },
- listEvents: {
- method: "GET",
- params: {
- issue_number: {
- required: true,
- type: "integer"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number/events"
- },
- listEventsForRepo: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/events"
- },
- listEventsForTimeline: {
- headers: {
- accept: "application/vnd.github.mockingbird-preview+json"
- },
- method: "GET",
- params: {
- issue_number: {
- required: true,
- type: "integer"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number/timeline"
- },
- listForAuthenticatedUser: {
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- filter: {
- enum: ["assigned", "created", "mentioned", "subscribed", "all"],
- type: "string"
- },
- labels: {
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- since: {
- type: "string"
- },
- sort: {
- enum: ["created", "updated", "comments"],
- type: "string"
- },
- state: {
- enum: ["open", "closed", "all"],
- type: "string"
- }
- },
- url: "/user/issues"
- },
- listForOrg: {
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- filter: {
- enum: ["assigned", "created", "mentioned", "subscribed", "all"],
- type: "string"
- },
- labels: {
- type: "string"
- },
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- since: {
- type: "string"
- },
- sort: {
- enum: ["created", "updated", "comments"],
- type: "string"
- },
- state: {
- enum: ["open", "closed", "all"],
- type: "string"
- }
- },
- url: "/orgs/:org/issues"
- },
- listForRepo: {
- method: "GET",
- params: {
- assignee: {
- type: "string"
- },
- creator: {
- type: "string"
- },
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- labels: {
- type: "string"
- },
- mentioned: {
- type: "string"
- },
- milestone: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- since: {
- type: "string"
- },
- sort: {
- enum: ["created", "updated", "comments"],
- type: "string"
- },
- state: {
- enum: ["open", "closed", "all"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues"
- },
- listLabelsForMilestone: {
- method: "GET",
- params: {
- milestone_number: {
- required: true,
- type: "integer"
- },
- number: {
- alias: "milestone_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/milestones/:milestone_number/labels"
- },
- listLabelsForRepo: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/labels"
- },
- listLabelsOnIssue: {
- method: "GET",
- params: {
- issue_number: {
- required: true,
- type: "integer"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number/labels"
- },
- listMilestonesForRepo: {
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- sort: {
- enum: ["due_on", "completeness"],
- type: "string"
- },
- state: {
- enum: ["open", "closed", "all"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/milestones"
- },
- lock: {
- method: "PUT",
- params: {
- issue_number: {
- required: true,
- type: "integer"
- },
- lock_reason: {
- enum: ["off-topic", "too heated", "resolved", "spam"],
- type: "string"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number/lock"
- },
- removeAssignees: {
- method: "DELETE",
- params: {
- assignees: {
- type: "string[]"
- },
- issue_number: {
- required: true,
- type: "integer"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number/assignees"
- },
- removeLabel: {
- method: "DELETE",
- params: {
- issue_number: {
- required: true,
- type: "integer"
- },
- name: {
- required: true,
- type: "string"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number/labels/:name"
- },
- removeLabels: {
- method: "DELETE",
- params: {
- issue_number: {
- required: true,
- type: "integer"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number/labels"
- },
- replaceLabels: {
- method: "PUT",
- params: {
- issue_number: {
- required: true,
- type: "integer"
- },
- labels: {
- type: "string[]"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number/labels"
- },
- unlock: {
- method: "DELETE",
- params: {
- issue_number: {
- required: true,
- type: "integer"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number/lock"
- },
- update: {
- method: "PATCH",
- params: {
- assignee: {
- type: "string"
- },
- assignees: {
- type: "string[]"
- },
- body: {
- type: "string"
- },
- issue_number: {
- required: true,
- type: "integer"
- },
- labels: {
- type: "string[]"
- },
- milestone: {
- allowNull: true,
- type: "integer"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- state: {
- enum: ["open", "closed"],
- type: "string"
- },
- title: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number"
- },
- updateComment: {
- method: "PATCH",
- params: {
- body: {
- required: true,
- type: "string"
- },
- comment_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/comments/:comment_id"
- },
- updateLabel: {
- method: "PATCH",
- params: {
- color: {
- type: "string"
- },
- current_name: {
- required: true,
- type: "string"
- },
- description: {
- type: "string"
- },
- name: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/labels/:current_name"
- },
- updateMilestone: {
- method: "PATCH",
- params: {
- description: {
- type: "string"
- },
- due_on: {
- type: "string"
- },
- milestone_number: {
- required: true,
- type: "integer"
- },
- number: {
- alias: "milestone_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- state: {
- enum: ["open", "closed"],
- type: "string"
- },
- title: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/milestones/:milestone_number"
- }
- },
- licenses: {
- get: {
- method: "GET",
- params: {
- license: {
- required: true,
- type: "string"
- }
- },
- url: "/licenses/:license"
- },
- getForRepo: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/license"
- },
- list: {
- deprecated: "octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05)",
- method: "GET",
- params: {},
- url: "/licenses"
- },
- listCommonlyUsed: {
- method: "GET",
- params: {},
- url: "/licenses"
- }
- },
- markdown: {
- render: {
- method: "POST",
- params: {
- context: {
- type: "string"
- },
- mode: {
- enum: ["markdown", "gfm"],
- type: "string"
- },
- text: {
- required: true,
- type: "string"
- }
- },
- url: "/markdown"
- },
- renderRaw: {
- headers: {
- "content-type": "text/plain; charset=utf-8"
- },
- method: "POST",
- params: {
- data: {
- mapTo: "data",
- required: true,
- type: "string"
- }
- },
- url: "/markdown/raw"
- }
- },
- meta: {
- get: {
- method: "GET",
- params: {},
- url: "/meta"
- }
- },
- migrations: {
- cancelImport: {
- method: "DELETE",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/import"
- },
- deleteArchiveForAuthenticatedUser: {
- headers: {
- accept: "application/vnd.github.wyandotte-preview+json"
- },
- method: "DELETE",
- params: {
- migration_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/user/migrations/:migration_id/archive"
- },
- deleteArchiveForOrg: {
- headers: {
- accept: "application/vnd.github.wyandotte-preview+json"
- },
- method: "DELETE",
- params: {
- migration_id: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/migrations/:migration_id/archive"
- },
- downloadArchiveForOrg: {
- headers: {
- accept: "application/vnd.github.wyandotte-preview+json"
- },
- method: "GET",
- params: {
- migration_id: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/migrations/:migration_id/archive"
- },
- getArchiveForAuthenticatedUser: {
- headers: {
- accept: "application/vnd.github.wyandotte-preview+json"
- },
- method: "GET",
- params: {
- migration_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/user/migrations/:migration_id/archive"
- },
- getArchiveForOrg: {
- deprecated: "octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() (2020-01-27)",
- headers: {
- accept: "application/vnd.github.wyandotte-preview+json"
- },
- method: "GET",
- params: {
- migration_id: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/migrations/:migration_id/archive"
- },
- getCommitAuthors: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- since: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/import/authors"
- },
- getImportProgress: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/import"
- },
- getLargeFiles: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/import/large_files"
- },
- getStatusForAuthenticatedUser: {
- headers: {
- accept: "application/vnd.github.wyandotte-preview+json"
- },
- method: "GET",
- params: {
- migration_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/user/migrations/:migration_id"
- },
- getStatusForOrg: {
- headers: {
- accept: "application/vnd.github.wyandotte-preview+json"
- },
- method: "GET",
- params: {
- migration_id: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/migrations/:migration_id"
- },
- listForAuthenticatedUser: {
- headers: {
- accept: "application/vnd.github.wyandotte-preview+json"
- },
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/user/migrations"
- },
- listForOrg: {
- headers: {
- accept: "application/vnd.github.wyandotte-preview+json"
- },
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/orgs/:org/migrations"
- },
- listReposForOrg: {
- headers: {
- accept: "application/vnd.github.wyandotte-preview+json"
- },
- method: "GET",
- params: {
- migration_id: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/orgs/:org/migrations/:migration_id/repositories"
- },
- listReposForUser: {
- headers: {
- accept: "application/vnd.github.wyandotte-preview+json"
- },
- method: "GET",
- params: {
- migration_id: {
- required: true,
- type: "integer"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/user/:migration_id/repositories"
- },
- mapCommitAuthor: {
- method: "PATCH",
- params: {
- author_id: {
- required: true,
- type: "integer"
- },
- email: {
- type: "string"
- },
- name: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/import/authors/:author_id"
- },
- setLfsPreference: {
- method: "PATCH",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- use_lfs: {
- enum: ["opt_in", "opt_out"],
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/import/lfs"
- },
- startForAuthenticatedUser: {
- method: "POST",
- params: {
- exclude_attachments: {
- type: "boolean"
- },
- lock_repositories: {
- type: "boolean"
- },
- repositories: {
- required: true,
- type: "string[]"
- }
- },
- url: "/user/migrations"
- },
- startForOrg: {
- method: "POST",
- params: {
- exclude_attachments: {
- type: "boolean"
- },
- lock_repositories: {
- type: "boolean"
- },
- org: {
- required: true,
- type: "string"
- },
- repositories: {
- required: true,
- type: "string[]"
- }
- },
- url: "/orgs/:org/migrations"
- },
- startImport: {
- method: "PUT",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- tfvc_project: {
- type: "string"
- },
- vcs: {
- enum: ["subversion", "git", "mercurial", "tfvc"],
- type: "string"
- },
- vcs_password: {
- type: "string"
- },
- vcs_url: {
- required: true,
- type: "string"
- },
- vcs_username: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/import"
- },
- unlockRepoForAuthenticatedUser: {
- headers: {
- accept: "application/vnd.github.wyandotte-preview+json"
- },
- method: "DELETE",
- params: {
- migration_id: {
- required: true,
- type: "integer"
- },
- repo_name: {
- required: true,
- type: "string"
- }
- },
- url: "/user/migrations/:migration_id/repos/:repo_name/lock"
- },
- unlockRepoForOrg: {
- headers: {
- accept: "application/vnd.github.wyandotte-preview+json"
- },
- method: "DELETE",
- params: {
- migration_id: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- },
- repo_name: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/migrations/:migration_id/repos/:repo_name/lock"
- },
- updateImport: {
- method: "PATCH",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- vcs_password: {
- type: "string"
- },
- vcs_username: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/import"
- }
- },
- oauthAuthorizations: {
- checkAuthorization: {
- deprecated: "octokit.oauthAuthorizations.checkAuthorization() has been renamed to octokit.apps.checkAuthorization() (2019-11-05)",
- method: "GET",
- params: {
- access_token: {
- required: true,
- type: "string"
- },
- client_id: {
- required: true,
- type: "string"
- }
- },
- url: "/applications/:client_id/tokens/:access_token"
- },
- createAuthorization: {
- deprecated: "octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization",
- method: "POST",
- params: {
- client_id: {
- type: "string"
- },
- client_secret: {
- type: "string"
- },
- fingerprint: {
- type: "string"
- },
- note: {
- required: true,
- type: "string"
- },
- note_url: {
- type: "string"
- },
- scopes: {
- type: "string[]"
- }
- },
- url: "/authorizations"
- },
- deleteAuthorization: {
- deprecated: "octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization",
- method: "DELETE",
- params: {
- authorization_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/authorizations/:authorization_id"
- },
- deleteGrant: {
- deprecated: "octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant",
- method: "DELETE",
- params: {
- grant_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/applications/grants/:grant_id"
- },
- getAuthorization: {
- deprecated: "octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization",
- method: "GET",
- params: {
- authorization_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/authorizations/:authorization_id"
- },
- getGrant: {
- deprecated: "octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant",
- method: "GET",
- params: {
- grant_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/applications/grants/:grant_id"
- },
- getOrCreateAuthorizationForApp: {
- deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app",
- method: "PUT",
- params: {
- client_id: {
- required: true,
- type: "string"
- },
- client_secret: {
- required: true,
- type: "string"
- },
- fingerprint: {
- type: "string"
- },
- note: {
- type: "string"
- },
- note_url: {
- type: "string"
- },
- scopes: {
- type: "string[]"
- }
- },
- url: "/authorizations/clients/:client_id"
- },
- getOrCreateAuthorizationForAppAndFingerprint: {
- deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint",
- method: "PUT",
- params: {
- client_id: {
- required: true,
- type: "string"
- },
- client_secret: {
- required: true,
- type: "string"
- },
- fingerprint: {
- required: true,
- type: "string"
- },
- note: {
- type: "string"
- },
- note_url: {
- type: "string"
- },
- scopes: {
- type: "string[]"
- }
- },
- url: "/authorizations/clients/:client_id/:fingerprint"
- },
- getOrCreateAuthorizationForAppFingerprint: {
- deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() (2018-12-27)",
- method: "PUT",
- params: {
- client_id: {
- required: true,
- type: "string"
- },
- client_secret: {
- required: true,
- type: "string"
- },
- fingerprint: {
- required: true,
- type: "string"
- },
- note: {
- type: "string"
- },
- note_url: {
- type: "string"
- },
- scopes: {
- type: "string[]"
- }
- },
- url: "/authorizations/clients/:client_id/:fingerprint"
- },
- listAuthorizations: {
- deprecated: "octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations",
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/authorizations"
- },
- listGrants: {
- deprecated: "octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants",
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/applications/grants"
- },
- resetAuthorization: {
- deprecated: "octokit.oauthAuthorizations.resetAuthorization() has been renamed to octokit.apps.resetAuthorization() (2019-11-05)",
- method: "POST",
- params: {
- access_token: {
- required: true,
- type: "string"
- },
- client_id: {
- required: true,
- type: "string"
- }
- },
- url: "/applications/:client_id/tokens/:access_token"
- },
- revokeAuthorizationForApplication: {
- deprecated: "octokit.oauthAuthorizations.revokeAuthorizationForApplication() has been renamed to octokit.apps.revokeAuthorizationForApplication() (2019-11-05)",
- method: "DELETE",
- params: {
- access_token: {
- required: true,
- type: "string"
- },
- client_id: {
- required: true,
- type: "string"
- }
- },
- url: "/applications/:client_id/tokens/:access_token"
- },
- revokeGrantForApplication: {
- deprecated: "octokit.oauthAuthorizations.revokeGrantForApplication() has been renamed to octokit.apps.revokeGrantForApplication() (2019-11-05)",
- method: "DELETE",
- params: {
- access_token: {
- required: true,
- type: "string"
- },
- client_id: {
- required: true,
- type: "string"
- }
- },
- url: "/applications/:client_id/grants/:access_token"
- },
- updateAuthorization: {
- deprecated: "octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization",
- method: "PATCH",
- params: {
- add_scopes: {
- type: "string[]"
- },
- authorization_id: {
- required: true,
- type: "integer"
- },
- fingerprint: {
- type: "string"
- },
- note: {
- type: "string"
- },
- note_url: {
- type: "string"
- },
- remove_scopes: {
- type: "string[]"
- },
- scopes: {
- type: "string[]"
- }
- },
- url: "/authorizations/:authorization_id"
- }
- },
- orgs: {
- addOrUpdateMembership: {
- method: "PUT",
- params: {
- org: {
- required: true,
- type: "string"
- },
- role: {
- enum: ["admin", "member"],
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/memberships/:username"
- },
- blockUser: {
- method: "PUT",
- params: {
- org: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/blocks/:username"
- },
- checkBlockedUser: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/blocks/:username"
- },
- checkMembership: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/members/:username"
- },
- checkPublicMembership: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/public_members/:username"
- },
- concealMembership: {
- method: "DELETE",
- params: {
- org: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/public_members/:username"
- },
- convertMemberToOutsideCollaborator: {
- method: "PUT",
- params: {
- org: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/outside_collaborators/:username"
- },
- createHook: {
- method: "POST",
- params: {
- active: {
- type: "boolean"
- },
- config: {
- required: true,
- type: "object"
- },
- "config.content_type": {
- type: "string"
- },
- "config.insecure_ssl": {
- type: "string"
- },
- "config.secret": {
- type: "string"
- },
- "config.url": {
- required: true,
- type: "string"
- },
- events: {
- type: "string[]"
- },
- name: {
- required: true,
- type: "string"
- },
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/hooks"
- },
- createInvitation: {
- method: "POST",
- params: {
- email: {
- type: "string"
- },
- invitee_id: {
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- },
- role: {
- enum: ["admin", "direct_member", "billing_manager"],
- type: "string"
- },
- team_ids: {
- type: "integer[]"
- }
- },
- url: "/orgs/:org/invitations"
- },
- deleteHook: {
- method: "DELETE",
- params: {
- hook_id: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/hooks/:hook_id"
- },
- get: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org"
- },
- getHook: {
- method: "GET",
- params: {
- hook_id: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/hooks/:hook_id"
- },
- getMembership: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/memberships/:username"
- },
- getMembershipForAuthenticatedUser: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/user/memberships/orgs/:org"
- },
- list: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- since: {
- type: "integer"
- }
- },
- url: "/organizations"
- },
- listBlockedUsers: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/blocks"
- },
- listForAuthenticatedUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/user/orgs"
- },
- listForUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/orgs"
- },
- listHooks: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/orgs/:org/hooks"
- },
- listInstallations: {
- headers: {
- accept: "application/vnd.github.machine-man-preview+json"
- },
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/orgs/:org/installations"
- },
- listInvitationTeams: {
- method: "GET",
- params: {
- invitation_id: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/orgs/:org/invitations/:invitation_id/teams"
- },
- listMembers: {
- method: "GET",
- params: {
- filter: {
- enum: ["2fa_disabled", "all"],
- type: "string"
- },
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- role: {
- enum: ["all", "admin", "member"],
- type: "string"
- }
- },
- url: "/orgs/:org/members"
- },
- listMemberships: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- state: {
- enum: ["active", "pending"],
- type: "string"
- }
- },
- url: "/user/memberships/orgs"
- },
- listOutsideCollaborators: {
- method: "GET",
- params: {
- filter: {
- enum: ["2fa_disabled", "all"],
- type: "string"
- },
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/orgs/:org/outside_collaborators"
- },
- listPendingInvitations: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/orgs/:org/invitations"
- },
- listPublicMembers: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/orgs/:org/public_members"
- },
- pingHook: {
- method: "POST",
- params: {
- hook_id: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/hooks/:hook_id/pings"
- },
- publicizeMembership: {
- method: "PUT",
- params: {
- org: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/public_members/:username"
- },
- removeMember: {
- method: "DELETE",
- params: {
- org: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/members/:username"
- },
- removeMembership: {
- method: "DELETE",
- params: {
- org: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/memberships/:username"
- },
- removeOutsideCollaborator: {
- method: "DELETE",
- params: {
- org: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/outside_collaborators/:username"
- },
- unblockUser: {
- method: "DELETE",
- params: {
- org: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/blocks/:username"
- },
- update: {
- method: "PATCH",
- params: {
- billing_email: {
- type: "string"
- },
- company: {
- type: "string"
- },
- default_repository_permission: {
- enum: ["read", "write", "admin", "none"],
- type: "string"
- },
- description: {
- type: "string"
- },
- email: {
- type: "string"
- },
- has_organization_projects: {
- type: "boolean"
- },
- has_repository_projects: {
- type: "boolean"
- },
- location: {
- type: "string"
- },
- members_allowed_repository_creation_type: {
- enum: ["all", "private", "none"],
- type: "string"
- },
- members_can_create_internal_repositories: {
- type: "boolean"
- },
- members_can_create_private_repositories: {
- type: "boolean"
- },
- members_can_create_public_repositories: {
- type: "boolean"
- },
- members_can_create_repositories: {
- type: "boolean"
- },
- name: {
- type: "string"
- },
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org"
- },
- updateHook: {
- method: "PATCH",
- params: {
- active: {
- type: "boolean"
- },
- config: {
- type: "object"
- },
- "config.content_type": {
- type: "string"
- },
- "config.insecure_ssl": {
- type: "string"
- },
- "config.secret": {
- type: "string"
- },
- "config.url": {
- required: true,
- type: "string"
- },
- events: {
- type: "string[]"
- },
- hook_id: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/hooks/:hook_id"
- },
- updateMembership: {
- method: "PATCH",
- params: {
- org: {
- required: true,
- type: "string"
- },
- state: {
- enum: ["active"],
- required: true,
- type: "string"
- }
- },
- url: "/user/memberships/orgs/:org"
- }
- },
- projects: {
- addCollaborator: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "PUT",
- params: {
- permission: {
- enum: ["read", "write", "admin"],
- type: "string"
- },
- project_id: {
- required: true,
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/projects/:project_id/collaborators/:username"
- },
- createCard: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "POST",
- params: {
- column_id: {
- required: true,
- type: "integer"
- },
- content_id: {
- type: "integer"
- },
- content_type: {
- type: "string"
- },
- note: {
- type: "string"
- }
- },
- url: "/projects/columns/:column_id/cards"
- },
- createColumn: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "POST",
- params: {
- name: {
- required: true,
- type: "string"
- },
- project_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/projects/:project_id/columns"
- },
- createForAuthenticatedUser: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "POST",
- params: {
- body: {
- type: "string"
- },
- name: {
- required: true,
- type: "string"
- }
- },
- url: "/user/projects"
- },
- createForOrg: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "POST",
- params: {
- body: {
- type: "string"
- },
- name: {
- required: true,
- type: "string"
- },
- org: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/projects"
- },
- createForRepo: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "POST",
- params: {
- body: {
- type: "string"
- },
- name: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/projects"
- },
- delete: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "DELETE",
- params: {
- project_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/projects/:project_id"
- },
- deleteCard: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "DELETE",
- params: {
- card_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/projects/columns/cards/:card_id"
- },
- deleteColumn: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "DELETE",
- params: {
- column_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/projects/columns/:column_id"
- },
- get: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "GET",
- params: {
- project_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/projects/:project_id"
- },
- getCard: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "GET",
- params: {
- card_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/projects/columns/cards/:card_id"
- },
- getColumn: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "GET",
- params: {
- column_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/projects/columns/:column_id"
- },
- listCards: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "GET",
- params: {
- archived_state: {
- enum: ["all", "archived", "not_archived"],
- type: "string"
- },
- column_id: {
- required: true,
- type: "integer"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/projects/columns/:column_id/cards"
- },
- listCollaborators: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "GET",
- params: {
- affiliation: {
- enum: ["outside", "direct", "all"],
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- project_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/projects/:project_id/collaborators"
- },
- listColumns: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- project_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/projects/:project_id/columns"
- },
- listForOrg: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- state: {
- enum: ["open", "closed", "all"],
- type: "string"
- }
- },
- url: "/orgs/:org/projects"
- },
- listForRepo: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- state: {
- enum: ["open", "closed", "all"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/projects"
- },
- listForUser: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- state: {
- enum: ["open", "closed", "all"],
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/projects"
- },
- moveCard: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "POST",
- params: {
- card_id: {
- required: true,
- type: "integer"
- },
- column_id: {
- type: "integer"
- },
- position: {
- required: true,
- type: "string",
- validation: "^(top|bottom|after:\\d+)$"
- }
- },
- url: "/projects/columns/cards/:card_id/moves"
- },
- moveColumn: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "POST",
- params: {
- column_id: {
- required: true,
- type: "integer"
- },
- position: {
- required: true,
- type: "string",
- validation: "^(first|last|after:\\d+)$"
- }
- },
- url: "/projects/columns/:column_id/moves"
- },
- removeCollaborator: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "DELETE",
- params: {
- project_id: {
- required: true,
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/projects/:project_id/collaborators/:username"
- },
- reviewUserPermissionLevel: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "GET",
- params: {
- project_id: {
- required: true,
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/projects/:project_id/collaborators/:username/permission"
- },
- update: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "PATCH",
- params: {
- body: {
- type: "string"
- },
- name: {
- type: "string"
- },
- organization_permission: {
- type: "string"
- },
- private: {
- type: "boolean"
- },
- project_id: {
- required: true,
- type: "integer"
- },
- state: {
- enum: ["open", "closed"],
- type: "string"
- }
- },
- url: "/projects/:project_id"
- },
- updateCard: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "PATCH",
- params: {
- archived: {
- type: "boolean"
- },
- card_id: {
- required: true,
- type: "integer"
- },
- note: {
- type: "string"
- }
- },
- url: "/projects/columns/cards/:card_id"
- },
- updateColumn: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "PATCH",
- params: {
- column_id: {
- required: true,
- type: "integer"
- },
- name: {
- required: true,
- type: "string"
- }
- },
- url: "/projects/columns/:column_id"
- }
- },
- pulls: {
- checkIfMerged: {
- method: "GET",
- params: {
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/merge"
- },
- create: {
- method: "POST",
- params: {
- base: {
- required: true,
- type: "string"
- },
- body: {
- type: "string"
- },
- draft: {
- type: "boolean"
- },
- head: {
- required: true,
- type: "string"
- },
- maintainer_can_modify: {
- type: "boolean"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- title: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls"
- },
- createComment: {
- method: "POST",
- params: {
- body: {
- required: true,
- type: "string"
- },
- commit_id: {
- required: true,
- type: "string"
- },
- in_reply_to: {
- deprecated: true,
- description: "The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.",
- type: "integer"
- },
- line: {
- type: "integer"
- },
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- path: {
- required: true,
- type: "string"
- },
- position: {
- type: "integer"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- side: {
- enum: ["LEFT", "RIGHT"],
- type: "string"
- },
- start_line: {
- type: "integer"
- },
- start_side: {
- enum: ["LEFT", "RIGHT", "side"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/comments"
- },
- createCommentReply: {
- deprecated: "octokit.pulls.createCommentReply() has been renamed to octokit.pulls.createComment() (2019-09-09)",
- method: "POST",
- params: {
- body: {
- required: true,
- type: "string"
- },
- commit_id: {
- required: true,
- type: "string"
- },
- in_reply_to: {
- deprecated: true,
- description: "The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.",
- type: "integer"
- },
- line: {
- type: "integer"
- },
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- path: {
- required: true,
- type: "string"
- },
- position: {
- type: "integer"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- side: {
- enum: ["LEFT", "RIGHT"],
- type: "string"
- },
- start_line: {
- type: "integer"
- },
- start_side: {
- enum: ["LEFT", "RIGHT", "side"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/comments"
- },
- createFromIssue: {
- deprecated: "octokit.pulls.createFromIssue() is deprecated, see https://developer.github.com/v3/pulls/#create-a-pull-request",
- method: "POST",
- params: {
- base: {
- required: true,
- type: "string"
- },
- draft: {
- type: "boolean"
- },
- head: {
- required: true,
- type: "string"
- },
- issue: {
- required: true,
- type: "integer"
- },
- maintainer_can_modify: {
- type: "boolean"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls"
- },
- createReview: {
- method: "POST",
- params: {
- body: {
- type: "string"
- },
- comments: {
- type: "object[]"
- },
- "comments[].body": {
- required: true,
- type: "string"
- },
- "comments[].path": {
- required: true,
- type: "string"
- },
- "comments[].position": {
- required: true,
- type: "integer"
- },
- commit_id: {
- type: "string"
- },
- event: {
- enum: ["APPROVE", "REQUEST_CHANGES", "COMMENT"],
- type: "string"
- },
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/reviews"
- },
- createReviewCommentReply: {
- method: "POST",
- params: {
- body: {
- required: true,
- type: "string"
- },
- comment_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies"
- },
- createReviewRequest: {
- method: "POST",
- params: {
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- reviewers: {
- type: "string[]"
- },
- team_reviewers: {
- type: "string[]"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"
- },
- deleteComment: {
- method: "DELETE",
- params: {
- comment_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/comments/:comment_id"
- },
- deletePendingReview: {
- method: "DELETE",
- params: {
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- review_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"
- },
- deleteReviewRequest: {
- method: "DELETE",
- params: {
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- reviewers: {
- type: "string[]"
- },
- team_reviewers: {
- type: "string[]"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"
- },
- dismissReview: {
- method: "PUT",
- params: {
- message: {
- required: true,
- type: "string"
- },
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- review_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals"
- },
- get: {
- method: "GET",
- params: {
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number"
- },
- getComment: {
- method: "GET",
- params: {
- comment_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/comments/:comment_id"
- },
- getCommentsForReview: {
- method: "GET",
- params: {
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- review_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments"
- },
- getReview: {
- method: "GET",
- params: {
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- review_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"
- },
- list: {
- method: "GET",
- params: {
- base: {
- type: "string"
- },
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- head: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- sort: {
- enum: ["created", "updated", "popularity", "long-running"],
- type: "string"
- },
- state: {
- enum: ["open", "closed", "all"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls"
- },
- listComments: {
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- since: {
- type: "string"
- },
- sort: {
- enum: ["created", "updated"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/comments"
- },
- listCommentsForRepo: {
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- since: {
- type: "string"
- },
- sort: {
- enum: ["created", "updated"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/comments"
- },
- listCommits: {
- method: "GET",
- params: {
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/commits"
- },
- listFiles: {
- method: "GET",
- params: {
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/files"
- },
- listReviewRequests: {
- method: "GET",
- params: {
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"
- },
- listReviews: {
- method: "GET",
- params: {
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/reviews"
- },
- merge: {
- method: "PUT",
- params: {
- commit_message: {
- type: "string"
- },
- commit_title: {
- type: "string"
- },
- merge_method: {
- enum: ["merge", "squash", "rebase"],
- type: "string"
- },
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- sha: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/merge"
- },
- submitReview: {
- method: "POST",
- params: {
- body: {
- type: "string"
- },
- event: {
- enum: ["APPROVE", "REQUEST_CHANGES", "COMMENT"],
- required: true,
- type: "string"
- },
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- review_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events"
- },
- update: {
- method: "PATCH",
- params: {
- base: {
- type: "string"
- },
- body: {
- type: "string"
- },
- maintainer_can_modify: {
- type: "boolean"
- },
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- state: {
- enum: ["open", "closed"],
- type: "string"
- },
- title: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number"
- },
- updateBranch: {
- headers: {
- accept: "application/vnd.github.lydian-preview+json"
- },
- method: "PUT",
- params: {
- expected_head_sha: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/update-branch"
- },
- updateComment: {
- method: "PATCH",
- params: {
- body: {
- required: true,
- type: "string"
- },
- comment_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/comments/:comment_id"
- },
- updateReview: {
- method: "PUT",
- params: {
- body: {
- required: true,
- type: "string"
- },
- number: {
- alias: "pull_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- pull_number: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- review_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"
- }
- },
- rateLimit: {
- get: {
- method: "GET",
- params: {},
- url: "/rate_limit"
- }
- },
- reactions: {
- createForCommitComment: {
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "POST",
- params: {
- comment_id: {
- required: true,
- type: "integer"
- },
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/comments/:comment_id/reactions"
- },
- createForIssue: {
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "POST",
- params: {
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- required: true,
- type: "string"
- },
- issue_number: {
- required: true,
- type: "integer"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number/reactions"
- },
- createForIssueComment: {
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "POST",
- params: {
- comment_id: {
- required: true,
- type: "integer"
- },
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions"
- },
- createForPullRequestReviewComment: {
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "POST",
- params: {
- comment_id: {
- required: true,
- type: "integer"
- },
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions"
- },
- createForTeamDiscussion: {
- deprecated: "octokit.reactions.createForTeamDiscussion() has been renamed to octokit.reactions.createForTeamDiscussionLegacy() (2020-01-16)",
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "POST",
- params: {
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- required: true,
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/reactions"
- },
- createForTeamDiscussionComment: {
- deprecated: "octokit.reactions.createForTeamDiscussionComment() has been renamed to octokit.reactions.createForTeamDiscussionCommentLegacy() (2020-01-16)",
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "POST",
- params: {
- comment_number: {
- required: true,
- type: "integer"
- },
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- required: true,
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"
- },
- createForTeamDiscussionCommentInOrg: {
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "POST",
- params: {
- comment_number: {
- required: true,
- type: "integer"
- },
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- required: true,
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions"
- },
- createForTeamDiscussionCommentLegacy: {
- deprecated: "octokit.reactions.createForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy",
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "POST",
- params: {
- comment_number: {
- required: true,
- type: "integer"
- },
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- required: true,
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"
- },
- createForTeamDiscussionInOrg: {
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "POST",
- params: {
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- required: true,
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions"
- },
- createForTeamDiscussionLegacy: {
- deprecated: "octokit.reactions.createForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy",
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "POST",
- params: {
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- required: true,
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/reactions"
- },
- delete: {
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "DELETE",
- params: {
- reaction_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/reactions/:reaction_id"
- },
- listForCommitComment: {
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "GET",
- params: {
- comment_id: {
- required: true,
- type: "integer"
- },
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/comments/:comment_id/reactions"
- },
- listForIssue: {
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "GET",
- params: {
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- type: "string"
- },
- issue_number: {
- required: true,
- type: "integer"
- },
- number: {
- alias: "issue_number",
- deprecated: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/:issue_number/reactions"
- },
- listForIssueComment: {
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "GET",
- params: {
- comment_id: {
- required: true,
- type: "integer"
- },
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions"
- },
- listForPullRequestReviewComment: {
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "GET",
- params: {
- comment_id: {
- required: true,
- type: "integer"
- },
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions"
- },
- listForTeamDiscussion: {
- deprecated: "octokit.reactions.listForTeamDiscussion() has been renamed to octokit.reactions.listForTeamDiscussionLegacy() (2020-01-16)",
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "GET",
- params: {
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/reactions"
- },
- listForTeamDiscussionComment: {
- deprecated: "octokit.reactions.listForTeamDiscussionComment() has been renamed to octokit.reactions.listForTeamDiscussionCommentLegacy() (2020-01-16)",
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "GET",
- params: {
- comment_number: {
- required: true,
- type: "integer"
- },
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"
- },
- listForTeamDiscussionCommentInOrg: {
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "GET",
- params: {
- comment_number: {
- required: true,
- type: "integer"
- },
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions"
- },
- listForTeamDiscussionCommentLegacy: {
- deprecated: "octokit.reactions.listForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy",
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "GET",
- params: {
- comment_number: {
- required: true,
- type: "integer"
- },
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"
- },
- listForTeamDiscussionInOrg: {
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "GET",
- params: {
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions"
- },
- listForTeamDiscussionLegacy: {
- deprecated: "octokit.reactions.listForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy",
- headers: {
- accept: "application/vnd.github.squirrel-girl-preview+json"
- },
- method: "GET",
- params: {
- content: {
- enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"],
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/reactions"
- }
- },
- repos: {
- acceptInvitation: {
- method: "PATCH",
- params: {
- invitation_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/user/repository_invitations/:invitation_id"
- },
- addCollaborator: {
- method: "PUT",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- permission: {
- enum: ["pull", "push", "admin"],
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/collaborators/:username"
- },
- addDeployKey: {
- method: "POST",
- params: {
- key: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- read_only: {
- type: "boolean"
- },
- repo: {
- required: true,
- type: "string"
- },
- title: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/keys"
- },
- addProtectedBranchAdminEnforcement: {
- method: "POST",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"
- },
- addProtectedBranchAppRestrictions: {
- method: "POST",
- params: {
- apps: {
- mapTo: "data",
- required: true,
- type: "string[]"
- },
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"
- },
- addProtectedBranchRequiredSignatures: {
- headers: {
- accept: "application/vnd.github.zzzax-preview+json"
- },
- method: "POST",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"
- },
- addProtectedBranchRequiredStatusChecksContexts: {
- method: "POST",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- contexts: {
- mapTo: "data",
- required: true,
- type: "string[]"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"
- },
- addProtectedBranchTeamRestrictions: {
- method: "POST",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- teams: {
- mapTo: "data",
- required: true,
- type: "string[]"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"
- },
- addProtectedBranchUserRestrictions: {
- method: "POST",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- users: {
- mapTo: "data",
- required: true,
- type: "string[]"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"
- },
- checkCollaborator: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/collaborators/:username"
- },
- checkVulnerabilityAlerts: {
- headers: {
- accept: "application/vnd.github.dorian-preview+json"
- },
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/vulnerability-alerts"
- },
- compareCommits: {
- method: "GET",
- params: {
- base: {
- required: true,
- type: "string"
- },
- head: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/compare/:base...:head"
- },
- createCommitComment: {
- method: "POST",
- params: {
- body: {
- required: true,
- type: "string"
- },
- commit_sha: {
- required: true,
- type: "string"
- },
- line: {
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- path: {
- type: "string"
- },
- position: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- sha: {
- alias: "commit_sha",
- deprecated: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/commits/:commit_sha/comments"
- },
- createDeployment: {
- method: "POST",
- params: {
- auto_merge: {
- type: "boolean"
- },
- description: {
- type: "string"
- },
- environment: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- payload: {
- type: "string"
- },
- production_environment: {
- type: "boolean"
- },
- ref: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- required_contexts: {
- type: "string[]"
- },
- task: {
- type: "string"
- },
- transient_environment: {
- type: "boolean"
- }
- },
- url: "/repos/:owner/:repo/deployments"
- },
- createDeploymentStatus: {
- method: "POST",
- params: {
- auto_inactive: {
- type: "boolean"
- },
- deployment_id: {
- required: true,
- type: "integer"
- },
- description: {
- type: "string"
- },
- environment: {
- enum: ["production", "staging", "qa"],
- type: "string"
- },
- environment_url: {
- type: "string"
- },
- log_url: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- state: {
- enum: ["error", "failure", "inactive", "in_progress", "queued", "pending", "success"],
- required: true,
- type: "string"
- },
- target_url: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/deployments/:deployment_id/statuses"
- },
- createDispatchEvent: {
- method: "POST",
- params: {
- client_payload: {
- type: "object"
- },
- event_type: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/dispatches"
- },
- createFile: {
- deprecated: "octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)",
- method: "PUT",
- params: {
- author: {
- type: "object"
- },
- "author.email": {
- required: true,
- type: "string"
- },
- "author.name": {
- required: true,
- type: "string"
- },
- branch: {
- type: "string"
- },
- committer: {
- type: "object"
- },
- "committer.email": {
- required: true,
- type: "string"
- },
- "committer.name": {
- required: true,
- type: "string"
- },
- content: {
- required: true,
- type: "string"
- },
- message: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- path: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- sha: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/contents/:path"
- },
- createForAuthenticatedUser: {
- method: "POST",
- params: {
- allow_merge_commit: {
- type: "boolean"
- },
- allow_rebase_merge: {
- type: "boolean"
- },
- allow_squash_merge: {
- type: "boolean"
- },
- auto_init: {
- type: "boolean"
- },
- delete_branch_on_merge: {
- type: "boolean"
- },
- description: {
- type: "string"
- },
- gitignore_template: {
- type: "string"
- },
- has_issues: {
- type: "boolean"
- },
- has_projects: {
- type: "boolean"
- },
- has_wiki: {
- type: "boolean"
- },
- homepage: {
- type: "string"
- },
- is_template: {
- type: "boolean"
- },
- license_template: {
- type: "string"
- },
- name: {
- required: true,
- type: "string"
- },
- private: {
- type: "boolean"
- },
- team_id: {
- type: "integer"
- },
- visibility: {
- enum: ["public", "private", "visibility", "internal"],
- type: "string"
- }
- },
- url: "/user/repos"
- },
- createFork: {
- method: "POST",
- params: {
- organization: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/forks"
- },
- createHook: {
- method: "POST",
- params: {
- active: {
- type: "boolean"
- },
- config: {
- required: true,
- type: "object"
- },
- "config.content_type": {
- type: "string"
- },
- "config.insecure_ssl": {
- type: "string"
- },
- "config.secret": {
- type: "string"
- },
- "config.url": {
- required: true,
- type: "string"
- },
- events: {
- type: "string[]"
- },
- name: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/hooks"
- },
- createInOrg: {
- method: "POST",
- params: {
- allow_merge_commit: {
- type: "boolean"
- },
- allow_rebase_merge: {
- type: "boolean"
- },
- allow_squash_merge: {
- type: "boolean"
- },
- auto_init: {
- type: "boolean"
- },
- delete_branch_on_merge: {
- type: "boolean"
- },
- description: {
- type: "string"
- },
- gitignore_template: {
- type: "string"
- },
- has_issues: {
- type: "boolean"
- },
- has_projects: {
- type: "boolean"
- },
- has_wiki: {
- type: "boolean"
- },
- homepage: {
- type: "string"
- },
- is_template: {
- type: "boolean"
- },
- license_template: {
- type: "string"
- },
- name: {
- required: true,
- type: "string"
- },
- org: {
- required: true,
- type: "string"
- },
- private: {
- type: "boolean"
- },
- team_id: {
- type: "integer"
- },
- visibility: {
- enum: ["public", "private", "visibility", "internal"],
- type: "string"
- }
- },
- url: "/orgs/:org/repos"
- },
- createOrUpdateFile: {
- method: "PUT",
- params: {
- author: {
- type: "object"
- },
- "author.email": {
- required: true,
- type: "string"
- },
- "author.name": {
- required: true,
- type: "string"
- },
- branch: {
- type: "string"
- },
- committer: {
- type: "object"
- },
- "committer.email": {
- required: true,
- type: "string"
- },
- "committer.name": {
- required: true,
- type: "string"
- },
- content: {
- required: true,
- type: "string"
- },
- message: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- path: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- sha: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/contents/:path"
- },
- createRelease: {
- method: "POST",
- params: {
- body: {
- type: "string"
- },
- draft: {
- type: "boolean"
- },
- name: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- prerelease: {
- type: "boolean"
- },
- repo: {
- required: true,
- type: "string"
- },
- tag_name: {
- required: true,
- type: "string"
- },
- target_commitish: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/releases"
- },
- createStatus: {
- method: "POST",
- params: {
- context: {
- type: "string"
- },
- description: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- sha: {
- required: true,
- type: "string"
- },
- state: {
- enum: ["error", "failure", "pending", "success"],
- required: true,
- type: "string"
- },
- target_url: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/statuses/:sha"
- },
- createUsingTemplate: {
- headers: {
- accept: "application/vnd.github.baptiste-preview+json"
- },
- method: "POST",
- params: {
- description: {
- type: "string"
- },
- name: {
- required: true,
- type: "string"
- },
- owner: {
- type: "string"
- },
- private: {
- type: "boolean"
- },
- template_owner: {
- required: true,
- type: "string"
- },
- template_repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:template_owner/:template_repo/generate"
- },
- declineInvitation: {
- method: "DELETE",
- params: {
- invitation_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/user/repository_invitations/:invitation_id"
- },
- delete: {
- method: "DELETE",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo"
- },
- deleteCommitComment: {
- method: "DELETE",
- params: {
- comment_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/comments/:comment_id"
- },
- deleteDownload: {
- method: "DELETE",
- params: {
- download_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/downloads/:download_id"
- },
- deleteFile: {
- method: "DELETE",
- params: {
- author: {
- type: "object"
- },
- "author.email": {
- type: "string"
- },
- "author.name": {
- type: "string"
- },
- branch: {
- type: "string"
- },
- committer: {
- type: "object"
- },
- "committer.email": {
- type: "string"
- },
- "committer.name": {
- type: "string"
- },
- message: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- path: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- sha: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/contents/:path"
- },
- deleteHook: {
- method: "DELETE",
- params: {
- hook_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/hooks/:hook_id"
- },
- deleteInvitation: {
- method: "DELETE",
- params: {
- invitation_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/invitations/:invitation_id"
- },
- deleteRelease: {
- method: "DELETE",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- release_id: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/releases/:release_id"
- },
- deleteReleaseAsset: {
- method: "DELETE",
- params: {
- asset_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/releases/assets/:asset_id"
- },
- disableAutomatedSecurityFixes: {
- headers: {
- accept: "application/vnd.github.london-preview+json"
- },
- method: "DELETE",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/automated-security-fixes"
- },
- disablePagesSite: {
- headers: {
- accept: "application/vnd.github.switcheroo-preview+json"
- },
- method: "DELETE",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pages"
- },
- disableVulnerabilityAlerts: {
- headers: {
- accept: "application/vnd.github.dorian-preview+json"
- },
- method: "DELETE",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/vulnerability-alerts"
- },
- enableAutomatedSecurityFixes: {
- headers: {
- accept: "application/vnd.github.london-preview+json"
- },
- method: "PUT",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/automated-security-fixes"
- },
- enablePagesSite: {
- headers: {
- accept: "application/vnd.github.switcheroo-preview+json"
- },
- method: "POST",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- source: {
- type: "object"
- },
- "source.branch": {
- enum: ["master", "gh-pages"],
- type: "string"
- },
- "source.path": {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pages"
- },
- enableVulnerabilityAlerts: {
- headers: {
- accept: "application/vnd.github.dorian-preview+json"
- },
- method: "PUT",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/vulnerability-alerts"
- },
- get: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo"
- },
- getAppsWithAccessToProtectedBranch: {
- method: "GET",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"
- },
- getArchiveLink: {
- method: "GET",
- params: {
- archive_format: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- ref: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/:archive_format/:ref"
- },
- getBranch: {
- method: "GET",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch"
- },
- getBranchProtection: {
- method: "GET",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection"
- },
- getClones: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- per: {
- enum: ["day", "week"],
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/traffic/clones"
- },
- getCodeFrequencyStats: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/stats/code_frequency"
- },
- getCollaboratorPermissionLevel: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/collaborators/:username/permission"
- },
- getCombinedStatusForRef: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- ref: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/commits/:ref/status"
- },
- getCommit: {
- method: "GET",
- params: {
- commit_sha: {
- alias: "ref",
- deprecated: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- ref: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- sha: {
- alias: "ref",
- deprecated: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/commits/:ref"
- },
- getCommitActivityStats: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/stats/commit_activity"
- },
- getCommitComment: {
- method: "GET",
- params: {
- comment_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/comments/:comment_id"
- },
- getCommitRefSha: {
- deprecated: "octokit.repos.getCommitRefSha() is deprecated, see https://developer.github.com/v3/repos/commits/#get-a-single-commit",
- headers: {
- accept: "application/vnd.github.v3.sha"
- },
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- ref: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/commits/:ref"
- },
- getContents: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- path: {
- required: true,
- type: "string"
- },
- ref: {
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/contents/:path"
- },
- getContributorsStats: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/stats/contributors"
- },
- getDeployKey: {
- method: "GET",
- params: {
- key_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/keys/:key_id"
- },
- getDeployment: {
- method: "GET",
- params: {
- deployment_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/deployments/:deployment_id"
- },
- getDeploymentStatus: {
- method: "GET",
- params: {
- deployment_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- status_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id"
- },
- getDownload: {
- method: "GET",
- params: {
- download_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/downloads/:download_id"
- },
- getHook: {
- method: "GET",
- params: {
- hook_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/hooks/:hook_id"
- },
- getLatestPagesBuild: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pages/builds/latest"
- },
- getLatestRelease: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/releases/latest"
- },
- getPages: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pages"
- },
- getPagesBuild: {
- method: "GET",
- params: {
- build_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pages/builds/:build_id"
- },
- getParticipationStats: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/stats/participation"
- },
- getProtectedBranchAdminEnforcement: {
- method: "GET",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"
- },
- getProtectedBranchPullRequestReviewEnforcement: {
- method: "GET",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"
- },
- getProtectedBranchRequiredSignatures: {
- headers: {
- accept: "application/vnd.github.zzzax-preview+json"
- },
- method: "GET",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"
- },
- getProtectedBranchRequiredStatusChecks: {
- method: "GET",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"
- },
- getProtectedBranchRestrictions: {
- method: "GET",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions"
- },
- getPunchCardStats: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/stats/punch_card"
- },
- getReadme: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- ref: {
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/readme"
- },
- getRelease: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- release_id: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/releases/:release_id"
- },
- getReleaseAsset: {
- method: "GET",
- params: {
- asset_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/releases/assets/:asset_id"
- },
- getReleaseByTag: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- tag: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/releases/tags/:tag"
- },
- getTeamsWithAccessToProtectedBranch: {
- method: "GET",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"
- },
- getTopPaths: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/traffic/popular/paths"
- },
- getTopReferrers: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/traffic/popular/referrers"
- },
- getUsersWithAccessToProtectedBranch: {
- method: "GET",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"
- },
- getViews: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- per: {
- enum: ["day", "week"],
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/traffic/views"
- },
- list: {
- method: "GET",
- params: {
- affiliation: {
- type: "string"
- },
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- sort: {
- enum: ["created", "updated", "pushed", "full_name"],
- type: "string"
- },
- type: {
- enum: ["all", "owner", "public", "private", "member"],
- type: "string"
- },
- visibility: {
- enum: ["all", "public", "private"],
- type: "string"
- }
- },
- url: "/user/repos"
- },
- listAppsWithAccessToProtectedBranch: {
- deprecated: "octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() (2019-09-13)",
- method: "GET",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"
- },
- listAssetsForRelease: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- release_id: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/releases/:release_id/assets"
- },
- listBranches: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- protected: {
- type: "boolean"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches"
- },
- listBranchesForHeadCommit: {
- headers: {
- accept: "application/vnd.github.groot-preview+json"
- },
- method: "GET",
- params: {
- commit_sha: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/commits/:commit_sha/branches-where-head"
- },
- listCollaborators: {
- method: "GET",
- params: {
- affiliation: {
- enum: ["outside", "direct", "all"],
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/collaborators"
- },
- listCommentsForCommit: {
- method: "GET",
- params: {
- commit_sha: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- ref: {
- alias: "commit_sha",
- deprecated: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/commits/:commit_sha/comments"
- },
- listCommitComments: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/comments"
- },
- listCommits: {
- method: "GET",
- params: {
- author: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- path: {
- type: "string"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- sha: {
- type: "string"
- },
- since: {
- type: "string"
- },
- until: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/commits"
- },
- listContributors: {
- method: "GET",
- params: {
- anon: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/contributors"
- },
- listDeployKeys: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/keys"
- },
- listDeploymentStatuses: {
- method: "GET",
- params: {
- deployment_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/deployments/:deployment_id/statuses"
- },
- listDeployments: {
- method: "GET",
- params: {
- environment: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- ref: {
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- sha: {
- type: "string"
- },
- task: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/deployments"
- },
- listDownloads: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/downloads"
- },
- listForOrg: {
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- sort: {
- enum: ["created", "updated", "pushed", "full_name"],
- type: "string"
- },
- type: {
- enum: ["all", "public", "private", "forks", "sources", "member", "internal"],
- type: "string"
- }
- },
- url: "/orgs/:org/repos"
- },
- listForUser: {
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- sort: {
- enum: ["created", "updated", "pushed", "full_name"],
- type: "string"
- },
- type: {
- enum: ["all", "owner", "member"],
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/repos"
- },
- listForks: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- sort: {
- enum: ["newest", "oldest", "stargazers"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/forks"
- },
- listHooks: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/hooks"
- },
- listInvitations: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/invitations"
- },
- listInvitationsForAuthenticatedUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/user/repository_invitations"
- },
- listLanguages: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/languages"
- },
- listPagesBuilds: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pages/builds"
- },
- listProtectedBranchRequiredStatusChecksContexts: {
- method: "GET",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"
- },
- listProtectedBranchTeamRestrictions: {
- deprecated: "octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-09)",
- method: "GET",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"
- },
- listProtectedBranchUserRestrictions: {
- deprecated: "octokit.repos.listProtectedBranchUserRestrictions() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-09)",
- method: "GET",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"
- },
- listPublic: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- since: {
- type: "integer"
- }
- },
- url: "/repositories"
- },
- listPullRequestsAssociatedWithCommit: {
- headers: {
- accept: "application/vnd.github.groot-preview+json"
- },
- method: "GET",
- params: {
- commit_sha: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/commits/:commit_sha/pulls"
- },
- listReleases: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/releases"
- },
- listStatusesForRef: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- ref: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/commits/:ref/statuses"
- },
- listTags: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/tags"
- },
- listTeams: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/teams"
- },
- listTeamsWithAccessToProtectedBranch: {
- deprecated: "octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-13)",
- method: "GET",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"
- },
- listTopics: {
- headers: {
- accept: "application/vnd.github.mercy-preview+json"
- },
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/topics"
- },
- listUsersWithAccessToProtectedBranch: {
- deprecated: "octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-13)",
- method: "GET",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"
- },
- merge: {
- method: "POST",
- params: {
- base: {
- required: true,
- type: "string"
- },
- commit_message: {
- type: "string"
- },
- head: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/merges"
- },
- pingHook: {
- method: "POST",
- params: {
- hook_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/hooks/:hook_id/pings"
- },
- removeBranchProtection: {
- method: "DELETE",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection"
- },
- removeCollaborator: {
- method: "DELETE",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/collaborators/:username"
- },
- removeDeployKey: {
- method: "DELETE",
- params: {
- key_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/keys/:key_id"
- },
- removeProtectedBranchAdminEnforcement: {
- method: "DELETE",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins"
- },
- removeProtectedBranchAppRestrictions: {
- method: "DELETE",
- params: {
- apps: {
- mapTo: "data",
- required: true,
- type: "string[]"
- },
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"
- },
- removeProtectedBranchPullRequestReviewEnforcement: {
- method: "DELETE",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"
- },
- removeProtectedBranchRequiredSignatures: {
- headers: {
- accept: "application/vnd.github.zzzax-preview+json"
- },
- method: "DELETE",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures"
- },
- removeProtectedBranchRequiredStatusChecks: {
- method: "DELETE",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"
- },
- removeProtectedBranchRequiredStatusChecksContexts: {
- method: "DELETE",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- contexts: {
- mapTo: "data",
- required: true,
- type: "string[]"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"
- },
- removeProtectedBranchRestrictions: {
- method: "DELETE",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions"
- },
- removeProtectedBranchTeamRestrictions: {
- method: "DELETE",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- teams: {
- mapTo: "data",
- required: true,
- type: "string[]"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"
- },
- removeProtectedBranchUserRestrictions: {
- method: "DELETE",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- users: {
- mapTo: "data",
- required: true,
- type: "string[]"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"
- },
- replaceProtectedBranchAppRestrictions: {
- method: "PUT",
- params: {
- apps: {
- mapTo: "data",
- required: true,
- type: "string[]"
- },
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"
- },
- replaceProtectedBranchRequiredStatusChecksContexts: {
- method: "PUT",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- contexts: {
- mapTo: "data",
- required: true,
- type: "string[]"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"
- },
- replaceProtectedBranchTeamRestrictions: {
- method: "PUT",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- teams: {
- mapTo: "data",
- required: true,
- type: "string[]"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"
- },
- replaceProtectedBranchUserRestrictions: {
- method: "PUT",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- users: {
- mapTo: "data",
- required: true,
- type: "string[]"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users"
- },
- replaceTopics: {
- headers: {
- accept: "application/vnd.github.mercy-preview+json"
- },
- method: "PUT",
- params: {
- names: {
- required: true,
- type: "string[]"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/topics"
- },
- requestPageBuild: {
- method: "POST",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pages/builds"
- },
- retrieveCommunityProfileMetrics: {
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/community/profile"
- },
- testPushHook: {
- method: "POST",
- params: {
- hook_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/hooks/:hook_id/tests"
- },
- transfer: {
- method: "POST",
- params: {
- new_owner: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- team_ids: {
- type: "integer[]"
- }
- },
- url: "/repos/:owner/:repo/transfer"
- },
- update: {
- method: "PATCH",
- params: {
- allow_merge_commit: {
- type: "boolean"
- },
- allow_rebase_merge: {
- type: "boolean"
- },
- allow_squash_merge: {
- type: "boolean"
- },
- archived: {
- type: "boolean"
- },
- default_branch: {
- type: "string"
- },
- delete_branch_on_merge: {
- type: "boolean"
- },
- description: {
- type: "string"
- },
- has_issues: {
- type: "boolean"
- },
- has_projects: {
- type: "boolean"
- },
- has_wiki: {
- type: "boolean"
- },
- homepage: {
- type: "string"
- },
- is_template: {
- type: "boolean"
- },
- name: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- private: {
- type: "boolean"
- },
- repo: {
- required: true,
- type: "string"
- },
- visibility: {
- enum: ["public", "private", "visibility", "internal"],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo"
- },
- updateBranchProtection: {
- method: "PUT",
- params: {
- allow_deletions: {
- type: "boolean"
- },
- allow_force_pushes: {
- allowNull: true,
- type: "boolean"
- },
- branch: {
- required: true,
- type: "string"
- },
- enforce_admins: {
- allowNull: true,
- required: true,
- type: "boolean"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- required_linear_history: {
- type: "boolean"
- },
- required_pull_request_reviews: {
- allowNull: true,
- required: true,
- type: "object"
- },
- "required_pull_request_reviews.dismiss_stale_reviews": {
- type: "boolean"
- },
- "required_pull_request_reviews.dismissal_restrictions": {
- type: "object"
- },
- "required_pull_request_reviews.dismissal_restrictions.teams": {
- type: "string[]"
- },
- "required_pull_request_reviews.dismissal_restrictions.users": {
- type: "string[]"
- },
- "required_pull_request_reviews.require_code_owner_reviews": {
- type: "boolean"
- },
- "required_pull_request_reviews.required_approving_review_count": {
- type: "integer"
- },
- required_status_checks: {
- allowNull: true,
- required: true,
- type: "object"
- },
- "required_status_checks.contexts": {
- required: true,
- type: "string[]"
- },
- "required_status_checks.strict": {
- required: true,
- type: "boolean"
- },
- restrictions: {
- allowNull: true,
- required: true,
- type: "object"
- },
- "restrictions.apps": {
- type: "string[]"
- },
- "restrictions.teams": {
- required: true,
- type: "string[]"
- },
- "restrictions.users": {
- required: true,
- type: "string[]"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection"
- },
- updateCommitComment: {
- method: "PATCH",
- params: {
- body: {
- required: true,
- type: "string"
- },
- comment_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/comments/:comment_id"
- },
- updateFile: {
- deprecated: "octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)",
- method: "PUT",
- params: {
- author: {
- type: "object"
- },
- "author.email": {
- required: true,
- type: "string"
- },
- "author.name": {
- required: true,
- type: "string"
- },
- branch: {
- type: "string"
- },
- committer: {
- type: "object"
- },
- "committer.email": {
- required: true,
- type: "string"
- },
- "committer.name": {
- required: true,
- type: "string"
- },
- content: {
- required: true,
- type: "string"
- },
- message: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- path: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- sha: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/contents/:path"
- },
- updateHook: {
- method: "PATCH",
- params: {
- active: {
- type: "boolean"
- },
- add_events: {
- type: "string[]"
- },
- config: {
- type: "object"
- },
- "config.content_type": {
- type: "string"
- },
- "config.insecure_ssl": {
- type: "string"
- },
- "config.secret": {
- type: "string"
- },
- "config.url": {
- required: true,
- type: "string"
- },
- events: {
- type: "string[]"
- },
- hook_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- remove_events: {
- type: "string[]"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/hooks/:hook_id"
- },
- updateInformationAboutPagesSite: {
- method: "PUT",
- params: {
- cname: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- source: {
- enum: ['"gh-pages"', '"master"', '"master /docs"'],
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/pages"
- },
- updateInvitation: {
- method: "PATCH",
- params: {
- invitation_id: {
- required: true,
- type: "integer"
- },
- owner: {
- required: true,
- type: "string"
- },
- permissions: {
- enum: ["read", "write", "admin"],
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/invitations/:invitation_id"
- },
- updateProtectedBranchPullRequestReviewEnforcement: {
- method: "PATCH",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- dismiss_stale_reviews: {
- type: "boolean"
- },
- dismissal_restrictions: {
- type: "object"
- },
- "dismissal_restrictions.teams": {
- type: "string[]"
- },
- "dismissal_restrictions.users": {
- type: "string[]"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- require_code_owner_reviews: {
- type: "boolean"
- },
- required_approving_review_count: {
- type: "integer"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"
- },
- updateProtectedBranchRequiredStatusChecks: {
- method: "PATCH",
- params: {
- branch: {
- required: true,
- type: "string"
- },
- contexts: {
- type: "string[]"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- strict: {
- type: "boolean"
- }
- },
- url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks"
- },
- updateRelease: {
- method: "PATCH",
- params: {
- body: {
- type: "string"
- },
- draft: {
- type: "boolean"
- },
- name: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- prerelease: {
- type: "boolean"
- },
- release_id: {
- required: true,
- type: "integer"
- },
- repo: {
- required: true,
- type: "string"
- },
- tag_name: {
- type: "string"
- },
- target_commitish: {
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/releases/:release_id"
- },
- updateReleaseAsset: {
- method: "PATCH",
- params: {
- asset_id: {
- required: true,
- type: "integer"
- },
- label: {
- type: "string"
- },
- name: {
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- }
- },
- url: "/repos/:owner/:repo/releases/assets/:asset_id"
- },
- uploadReleaseAsset: {
- method: "POST",
- params: {
- data: {
- mapTo: "data",
- required: true,
- type: "string | object"
- },
- file: {
- alias: "data",
- deprecated: true,
- type: "string | object"
- },
- headers: {
- required: true,
- type: "object"
- },
- "headers.content-length": {
- required: true,
- type: "integer"
- },
- "headers.content-type": {
- required: true,
- type: "string"
- },
- label: {
- type: "string"
- },
- name: {
- required: true,
- type: "string"
- },
- url: {
- required: true,
- type: "string"
- }
- },
- url: ":url"
- }
- },
- search: {
- code: {
- method: "GET",
- params: {
- order: {
- enum: ["desc", "asc"],
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- q: {
- required: true,
- type: "string"
- },
- sort: {
- enum: ["indexed"],
- type: "string"
- }
- },
- url: "/search/code"
- },
- commits: {
- headers: {
- accept: "application/vnd.github.cloak-preview+json"
- },
- method: "GET",
- params: {
- order: {
- enum: ["desc", "asc"],
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- q: {
- required: true,
- type: "string"
- },
- sort: {
- enum: ["author-date", "committer-date"],
- type: "string"
- }
- },
- url: "/search/commits"
- },
- issues: {
- deprecated: "octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() (2018-12-27)",
- method: "GET",
- params: {
- order: {
- enum: ["desc", "asc"],
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- q: {
- required: true,
- type: "string"
- },
- sort: {
- enum: ["comments", "reactions", "reactions-+1", "reactions--1", "reactions-smile", "reactions-thinking_face", "reactions-heart", "reactions-tada", "interactions", "created", "updated"],
- type: "string"
- }
- },
- url: "/search/issues"
- },
- issuesAndPullRequests: {
- method: "GET",
- params: {
- order: {
- enum: ["desc", "asc"],
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- q: {
- required: true,
- type: "string"
- },
- sort: {
- enum: ["comments", "reactions", "reactions-+1", "reactions--1", "reactions-smile", "reactions-thinking_face", "reactions-heart", "reactions-tada", "interactions", "created", "updated"],
- type: "string"
- }
- },
- url: "/search/issues"
- },
- labels: {
- method: "GET",
- params: {
- order: {
- enum: ["desc", "asc"],
- type: "string"
- },
- q: {
- required: true,
- type: "string"
- },
- repository_id: {
- required: true,
- type: "integer"
- },
- sort: {
- enum: ["created", "updated"],
- type: "string"
- }
- },
- url: "/search/labels"
- },
- repos: {
- method: "GET",
- params: {
- order: {
- enum: ["desc", "asc"],
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- q: {
- required: true,
- type: "string"
- },
- sort: {
- enum: ["stars", "forks", "help-wanted-issues", "updated"],
- type: "string"
- }
- },
- url: "/search/repositories"
- },
- topics: {
- method: "GET",
- params: {
- q: {
- required: true,
- type: "string"
- }
- },
- url: "/search/topics"
- },
- users: {
- method: "GET",
- params: {
- order: {
- enum: ["desc", "asc"],
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- q: {
- required: true,
- type: "string"
- },
- sort: {
- enum: ["followers", "repositories", "joined"],
- type: "string"
- }
- },
- url: "/search/users"
- }
- },
- teams: {
- addMember: {
- deprecated: "octokit.teams.addMember() has been renamed to octokit.teams.addMemberLegacy() (2020-01-16)",
- method: "PUT",
- params: {
- team_id: {
- required: true,
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/teams/:team_id/members/:username"
- },
- addMemberLegacy: {
- deprecated: "octokit.teams.addMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy",
- method: "PUT",
- params: {
- team_id: {
- required: true,
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/teams/:team_id/members/:username"
- },
- addOrUpdateMembership: {
- deprecated: "octokit.teams.addOrUpdateMembership() has been renamed to octokit.teams.addOrUpdateMembershipLegacy() (2020-01-16)",
- method: "PUT",
- params: {
- role: {
- enum: ["member", "maintainer"],
- type: "string"
- },
- team_id: {
- required: true,
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/teams/:team_id/memberships/:username"
- },
- addOrUpdateMembershipInOrg: {
- method: "PUT",
- params: {
- org: {
- required: true,
- type: "string"
- },
- role: {
- enum: ["member", "maintainer"],
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/memberships/:username"
- },
- addOrUpdateMembershipLegacy: {
- deprecated: "octokit.teams.addOrUpdateMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy",
- method: "PUT",
- params: {
- role: {
- enum: ["member", "maintainer"],
- type: "string"
- },
- team_id: {
- required: true,
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/teams/:team_id/memberships/:username"
- },
- addOrUpdateProject: {
- deprecated: "octokit.teams.addOrUpdateProject() has been renamed to octokit.teams.addOrUpdateProjectLegacy() (2020-01-16)",
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "PUT",
- params: {
- permission: {
- enum: ["read", "write", "admin"],
- type: "string"
- },
- project_id: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/projects/:project_id"
- },
- addOrUpdateProjectInOrg: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "PUT",
- params: {
- org: {
- required: true,
- type: "string"
- },
- permission: {
- enum: ["read", "write", "admin"],
- type: "string"
- },
- project_id: {
- required: true,
- type: "integer"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/projects/:project_id"
- },
- addOrUpdateProjectLegacy: {
- deprecated: "octokit.teams.addOrUpdateProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy",
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "PUT",
- params: {
- permission: {
- enum: ["read", "write", "admin"],
- type: "string"
- },
- project_id: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/projects/:project_id"
- },
- addOrUpdateRepo: {
- deprecated: "octokit.teams.addOrUpdateRepo() has been renamed to octokit.teams.addOrUpdateRepoLegacy() (2020-01-16)",
- method: "PUT",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- permission: {
- enum: ["pull", "push", "admin"],
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/repos/:owner/:repo"
- },
- addOrUpdateRepoInOrg: {
- method: "PUT",
- params: {
- org: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- permission: {
- enum: ["pull", "push", "admin"],
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"
- },
- addOrUpdateRepoLegacy: {
- deprecated: "octokit.teams.addOrUpdateRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy",
- method: "PUT",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- permission: {
- enum: ["pull", "push", "admin"],
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/repos/:owner/:repo"
- },
- checkManagesRepo: {
- deprecated: "octokit.teams.checkManagesRepo() has been renamed to octokit.teams.checkManagesRepoLegacy() (2020-01-16)",
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/repos/:owner/:repo"
- },
- checkManagesRepoInOrg: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"
- },
- checkManagesRepoLegacy: {
- deprecated: "octokit.teams.checkManagesRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy",
- method: "GET",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/repos/:owner/:repo"
- },
- create: {
- method: "POST",
- params: {
- description: {
- type: "string"
- },
- maintainers: {
- type: "string[]"
- },
- name: {
- required: true,
- type: "string"
- },
- org: {
- required: true,
- type: "string"
- },
- parent_team_id: {
- type: "integer"
- },
- permission: {
- enum: ["pull", "push", "admin"],
- type: "string"
- },
- privacy: {
- enum: ["secret", "closed"],
- type: "string"
- },
- repo_names: {
- type: "string[]"
- }
- },
- url: "/orgs/:org/teams"
- },
- createDiscussion: {
- deprecated: "octokit.teams.createDiscussion() has been renamed to octokit.teams.createDiscussionLegacy() (2020-01-16)",
- method: "POST",
- params: {
- body: {
- required: true,
- type: "string"
- },
- private: {
- type: "boolean"
- },
- team_id: {
- required: true,
- type: "integer"
- },
- title: {
- required: true,
- type: "string"
- }
- },
- url: "/teams/:team_id/discussions"
- },
- createDiscussionComment: {
- deprecated: "octokit.teams.createDiscussionComment() has been renamed to octokit.teams.createDiscussionCommentLegacy() (2020-01-16)",
- method: "POST",
- params: {
- body: {
- required: true,
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/comments"
- },
- createDiscussionCommentInOrg: {
- method: "POST",
- params: {
- body: {
- required: true,
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments"
- },
- createDiscussionCommentLegacy: {
- deprecated: "octokit.teams.createDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy",
- method: "POST",
- params: {
- body: {
- required: true,
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/comments"
- },
- createDiscussionInOrg: {
- method: "POST",
- params: {
- body: {
- required: true,
- type: "string"
- },
- org: {
- required: true,
- type: "string"
- },
- private: {
- type: "boolean"
- },
- team_slug: {
- required: true,
- type: "string"
- },
- title: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/discussions"
- },
- createDiscussionLegacy: {
- deprecated: "octokit.teams.createDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy",
- method: "POST",
- params: {
- body: {
- required: true,
- type: "string"
- },
- private: {
- type: "boolean"
- },
- team_id: {
- required: true,
- type: "integer"
- },
- title: {
- required: true,
- type: "string"
- }
- },
- url: "/teams/:team_id/discussions"
- },
- delete: {
- deprecated: "octokit.teams.delete() has been renamed to octokit.teams.deleteLegacy() (2020-01-16)",
- method: "DELETE",
- params: {
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id"
- },
- deleteDiscussion: {
- deprecated: "octokit.teams.deleteDiscussion() has been renamed to octokit.teams.deleteDiscussionLegacy() (2020-01-16)",
- method: "DELETE",
- params: {
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number"
- },
- deleteDiscussionComment: {
- deprecated: "octokit.teams.deleteDiscussionComment() has been renamed to octokit.teams.deleteDiscussionCommentLegacy() (2020-01-16)",
- method: "DELETE",
- params: {
- comment_number: {
- required: true,
- type: "integer"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"
- },
- deleteDiscussionCommentInOrg: {
- method: "DELETE",
- params: {
- comment_number: {
- required: true,
- type: "integer"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"
- },
- deleteDiscussionCommentLegacy: {
- deprecated: "octokit.teams.deleteDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy",
- method: "DELETE",
- params: {
- comment_number: {
- required: true,
- type: "integer"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"
- },
- deleteDiscussionInOrg: {
- method: "DELETE",
- params: {
- discussion_number: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"
- },
- deleteDiscussionLegacy: {
- deprecated: "octokit.teams.deleteDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy",
- method: "DELETE",
- params: {
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number"
- },
- deleteInOrg: {
- method: "DELETE",
- params: {
- org: {
- required: true,
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug"
- },
- deleteLegacy: {
- deprecated: "octokit.teams.deleteLegacy() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy",
- method: "DELETE",
- params: {
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id"
- },
- get: {
- deprecated: "octokit.teams.get() has been renamed to octokit.teams.getLegacy() (2020-01-16)",
- method: "GET",
- params: {
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id"
- },
- getByName: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug"
- },
- getDiscussion: {
- deprecated: "octokit.teams.getDiscussion() has been renamed to octokit.teams.getDiscussionLegacy() (2020-01-16)",
- method: "GET",
- params: {
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number"
- },
- getDiscussionComment: {
- deprecated: "octokit.teams.getDiscussionComment() has been renamed to octokit.teams.getDiscussionCommentLegacy() (2020-01-16)",
- method: "GET",
- params: {
- comment_number: {
- required: true,
- type: "integer"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"
- },
- getDiscussionCommentInOrg: {
- method: "GET",
- params: {
- comment_number: {
- required: true,
- type: "integer"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"
- },
- getDiscussionCommentLegacy: {
- deprecated: "octokit.teams.getDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy",
- method: "GET",
- params: {
- comment_number: {
- required: true,
- type: "integer"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"
- },
- getDiscussionInOrg: {
- method: "GET",
- params: {
- discussion_number: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"
- },
- getDiscussionLegacy: {
- deprecated: "octokit.teams.getDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy",
- method: "GET",
- params: {
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number"
- },
- getLegacy: {
- deprecated: "octokit.teams.getLegacy() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy",
- method: "GET",
- params: {
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id"
- },
- getMember: {
- deprecated: "octokit.teams.getMember() has been renamed to octokit.teams.getMemberLegacy() (2020-01-16)",
- method: "GET",
- params: {
- team_id: {
- required: true,
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/teams/:team_id/members/:username"
- },
- getMemberLegacy: {
- deprecated: "octokit.teams.getMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy",
- method: "GET",
- params: {
- team_id: {
- required: true,
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/teams/:team_id/members/:username"
- },
- getMembership: {
- deprecated: "octokit.teams.getMembership() has been renamed to octokit.teams.getMembershipLegacy() (2020-01-16)",
- method: "GET",
- params: {
- team_id: {
- required: true,
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/teams/:team_id/memberships/:username"
- },
- getMembershipInOrg: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/memberships/:username"
- },
- getMembershipLegacy: {
- deprecated: "octokit.teams.getMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy",
- method: "GET",
- params: {
- team_id: {
- required: true,
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/teams/:team_id/memberships/:username"
- },
- list: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/orgs/:org/teams"
- },
- listChild: {
- deprecated: "octokit.teams.listChild() has been renamed to octokit.teams.listChildLegacy() (2020-01-16)",
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/teams"
- },
- listChildInOrg: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/teams"
- },
- listChildLegacy: {
- deprecated: "octokit.teams.listChildLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy",
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/teams"
- },
- listDiscussionComments: {
- deprecated: "octokit.teams.listDiscussionComments() has been renamed to octokit.teams.listDiscussionCommentsLegacy() (2020-01-16)",
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/comments"
- },
- listDiscussionCommentsInOrg: {
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments"
- },
- listDiscussionCommentsLegacy: {
- deprecated: "octokit.teams.listDiscussionCommentsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy",
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/comments"
- },
- listDiscussions: {
- deprecated: "octokit.teams.listDiscussions() has been renamed to octokit.teams.listDiscussionsLegacy() (2020-01-16)",
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions"
- },
- listDiscussionsInOrg: {
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/discussions"
- },
- listDiscussionsLegacy: {
- deprecated: "octokit.teams.listDiscussionsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy",
- method: "GET",
- params: {
- direction: {
- enum: ["asc", "desc"],
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions"
- },
- listForAuthenticatedUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/user/teams"
- },
- listMembers: {
- deprecated: "octokit.teams.listMembers() has been renamed to octokit.teams.listMembersLegacy() (2020-01-16)",
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- role: {
- enum: ["member", "maintainer", "all"],
- type: "string"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/members"
- },
- listMembersInOrg: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- role: {
- enum: ["member", "maintainer", "all"],
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/members"
- },
- listMembersLegacy: {
- deprecated: "octokit.teams.listMembersLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy",
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- role: {
- enum: ["member", "maintainer", "all"],
- type: "string"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/members"
- },
- listPendingInvitations: {
- deprecated: "octokit.teams.listPendingInvitations() has been renamed to octokit.teams.listPendingInvitationsLegacy() (2020-01-16)",
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/invitations"
- },
- listPendingInvitationsInOrg: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/invitations"
- },
- listPendingInvitationsLegacy: {
- deprecated: "octokit.teams.listPendingInvitationsLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy",
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/invitations"
- },
- listProjects: {
- deprecated: "octokit.teams.listProjects() has been renamed to octokit.teams.listProjectsLegacy() (2020-01-16)",
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/projects"
- },
- listProjectsInOrg: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/projects"
- },
- listProjectsLegacy: {
- deprecated: "octokit.teams.listProjectsLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy",
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/projects"
- },
- listRepos: {
- deprecated: "octokit.teams.listRepos() has been renamed to octokit.teams.listReposLegacy() (2020-01-16)",
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/repos"
- },
- listReposInOrg: {
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/repos"
- },
- listReposLegacy: {
- deprecated: "octokit.teams.listReposLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy",
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/repos"
- },
- removeMember: {
- deprecated: "octokit.teams.removeMember() has been renamed to octokit.teams.removeMemberLegacy() (2020-01-16)",
- method: "DELETE",
- params: {
- team_id: {
- required: true,
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/teams/:team_id/members/:username"
- },
- removeMemberLegacy: {
- deprecated: "octokit.teams.removeMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy",
- method: "DELETE",
- params: {
- team_id: {
- required: true,
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/teams/:team_id/members/:username"
- },
- removeMembership: {
- deprecated: "octokit.teams.removeMembership() has been renamed to octokit.teams.removeMembershipLegacy() (2020-01-16)",
- method: "DELETE",
- params: {
- team_id: {
- required: true,
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/teams/:team_id/memberships/:username"
- },
- removeMembershipInOrg: {
- method: "DELETE",
- params: {
- org: {
- required: true,
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/memberships/:username"
- },
- removeMembershipLegacy: {
- deprecated: "octokit.teams.removeMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy",
- method: "DELETE",
- params: {
- team_id: {
- required: true,
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/teams/:team_id/memberships/:username"
- },
- removeProject: {
- deprecated: "octokit.teams.removeProject() has been renamed to octokit.teams.removeProjectLegacy() (2020-01-16)",
- method: "DELETE",
- params: {
- project_id: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/projects/:project_id"
- },
- removeProjectInOrg: {
- method: "DELETE",
- params: {
- org: {
- required: true,
- type: "string"
- },
- project_id: {
- required: true,
- type: "integer"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/projects/:project_id"
- },
- removeProjectLegacy: {
- deprecated: "octokit.teams.removeProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy",
- method: "DELETE",
- params: {
- project_id: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/projects/:project_id"
- },
- removeRepo: {
- deprecated: "octokit.teams.removeRepo() has been renamed to octokit.teams.removeRepoLegacy() (2020-01-16)",
- method: "DELETE",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/repos/:owner/:repo"
- },
- removeRepoInOrg: {
- method: "DELETE",
- params: {
- org: {
- required: true,
- type: "string"
- },
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo"
- },
- removeRepoLegacy: {
- deprecated: "octokit.teams.removeRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy",
- method: "DELETE",
- params: {
- owner: {
- required: true,
- type: "string"
- },
- repo: {
- required: true,
- type: "string"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/repos/:owner/:repo"
- },
- reviewProject: {
- deprecated: "octokit.teams.reviewProject() has been renamed to octokit.teams.reviewProjectLegacy() (2020-01-16)",
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "GET",
- params: {
- project_id: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/projects/:project_id"
- },
- reviewProjectInOrg: {
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "GET",
- params: {
- org: {
- required: true,
- type: "string"
- },
- project_id: {
- required: true,
- type: "integer"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/projects/:project_id"
- },
- reviewProjectLegacy: {
- deprecated: "octokit.teams.reviewProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy",
- headers: {
- accept: "application/vnd.github.inertia-preview+json"
- },
- method: "GET",
- params: {
- project_id: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/projects/:project_id"
- },
- update: {
- deprecated: "octokit.teams.update() has been renamed to octokit.teams.updateLegacy() (2020-01-16)",
- method: "PATCH",
- params: {
- description: {
- type: "string"
- },
- name: {
- required: true,
- type: "string"
- },
- parent_team_id: {
- type: "integer"
- },
- permission: {
- enum: ["pull", "push", "admin"],
- type: "string"
- },
- privacy: {
- enum: ["secret", "closed"],
- type: "string"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id"
- },
- updateDiscussion: {
- deprecated: "octokit.teams.updateDiscussion() has been renamed to octokit.teams.updateDiscussionLegacy() (2020-01-16)",
- method: "PATCH",
- params: {
- body: {
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- },
- title: {
- type: "string"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number"
- },
- updateDiscussionComment: {
- deprecated: "octokit.teams.updateDiscussionComment() has been renamed to octokit.teams.updateDiscussionCommentLegacy() (2020-01-16)",
- method: "PATCH",
- params: {
- body: {
- required: true,
- type: "string"
- },
- comment_number: {
- required: true,
- type: "integer"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"
- },
- updateDiscussionCommentInOrg: {
- method: "PATCH",
- params: {
- body: {
- required: true,
- type: "string"
- },
- comment_number: {
- required: true,
- type: "integer"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number"
- },
- updateDiscussionCommentLegacy: {
- deprecated: "octokit.teams.updateDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy",
- method: "PATCH",
- params: {
- body: {
- required: true,
- type: "string"
- },
- comment_number: {
- required: true,
- type: "integer"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number"
- },
- updateDiscussionInOrg: {
- method: "PATCH",
- params: {
- body: {
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- org: {
- required: true,
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- },
- title: {
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number"
- },
- updateDiscussionLegacy: {
- deprecated: "octokit.teams.updateDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy",
- method: "PATCH",
- params: {
- body: {
- type: "string"
- },
- discussion_number: {
- required: true,
- type: "integer"
- },
- team_id: {
- required: true,
- type: "integer"
- },
- title: {
- type: "string"
- }
- },
- url: "/teams/:team_id/discussions/:discussion_number"
- },
- updateInOrg: {
- method: "PATCH",
- params: {
- description: {
- type: "string"
- },
- name: {
- required: true,
- type: "string"
- },
- org: {
- required: true,
- type: "string"
- },
- parent_team_id: {
- type: "integer"
- },
- permission: {
- enum: ["pull", "push", "admin"],
- type: "string"
- },
- privacy: {
- enum: ["secret", "closed"],
- type: "string"
- },
- team_slug: {
- required: true,
- type: "string"
- }
- },
- url: "/orgs/:org/teams/:team_slug"
- },
- updateLegacy: {
- deprecated: "octokit.teams.updateLegacy() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy",
- method: "PATCH",
- params: {
- description: {
- type: "string"
- },
- name: {
- required: true,
- type: "string"
- },
- parent_team_id: {
- type: "integer"
- },
- permission: {
- enum: ["pull", "push", "admin"],
- type: "string"
- },
- privacy: {
- enum: ["secret", "closed"],
- type: "string"
- },
- team_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/teams/:team_id"
- }
- },
- users: {
- addEmails: {
- method: "POST",
- params: {
- emails: {
- required: true,
- type: "string[]"
- }
- },
- url: "/user/emails"
- },
- block: {
- method: "PUT",
- params: {
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/user/blocks/:username"
- },
- checkBlocked: {
- method: "GET",
- params: {
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/user/blocks/:username"
- },
- checkFollowing: {
- method: "GET",
- params: {
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/user/following/:username"
- },
- checkFollowingForUser: {
- method: "GET",
- params: {
- target_user: {
- required: true,
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/following/:target_user"
- },
- createGpgKey: {
- method: "POST",
- params: {
- armored_public_key: {
- type: "string"
- }
- },
- url: "/user/gpg_keys"
- },
- createPublicKey: {
- method: "POST",
- params: {
- key: {
- type: "string"
- },
- title: {
- type: "string"
- }
- },
- url: "/user/keys"
- },
- deleteEmails: {
- method: "DELETE",
- params: {
- emails: {
- required: true,
- type: "string[]"
- }
- },
- url: "/user/emails"
- },
- deleteGpgKey: {
- method: "DELETE",
- params: {
- gpg_key_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/user/gpg_keys/:gpg_key_id"
- },
- deletePublicKey: {
- method: "DELETE",
- params: {
- key_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/user/keys/:key_id"
- },
- follow: {
- method: "PUT",
- params: {
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/user/following/:username"
- },
- getAuthenticated: {
- method: "GET",
- params: {},
- url: "/user"
- },
- getByUsername: {
- method: "GET",
- params: {
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username"
- },
- getContextForUser: {
- method: "GET",
- params: {
- subject_id: {
- type: "string"
- },
- subject_type: {
- enum: ["organization", "repository", "issue", "pull_request"],
- type: "string"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/hovercard"
- },
- getGpgKey: {
- method: "GET",
- params: {
- gpg_key_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/user/gpg_keys/:gpg_key_id"
- },
- getPublicKey: {
- method: "GET",
- params: {
- key_id: {
- required: true,
- type: "integer"
- }
- },
- url: "/user/keys/:key_id"
- },
- list: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- since: {
- type: "string"
- }
- },
- url: "/users"
- },
- listBlocked: {
- method: "GET",
- params: {},
- url: "/user/blocks"
- },
- listEmails: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/user/emails"
- },
- listFollowersForAuthenticatedUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/user/followers"
- },
- listFollowersForUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/followers"
- },
- listFollowingForAuthenticatedUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/user/following"
- },
- listFollowingForUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/following"
- },
- listGpgKeys: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/user/gpg_keys"
- },
- listGpgKeysForUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/gpg_keys"
- },
- listPublicEmails: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/user/public_emails"
- },
- listPublicKeys: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- }
- },
- url: "/user/keys"
- },
- listPublicKeysForUser: {
- method: "GET",
- params: {
- page: {
- type: "integer"
- },
- per_page: {
- type: "integer"
- },
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/users/:username/keys"
- },
- togglePrimaryEmailVisibility: {
- method: "PATCH",
- params: {
- email: {
- required: true,
- type: "string"
- },
- visibility: {
- required: true,
- type: "string"
- }
- },
- url: "/user/email/visibility"
- },
- unblock: {
- method: "DELETE",
- params: {
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/user/blocks/:username"
- },
- unfollow: {
- method: "DELETE",
- params: {
- username: {
- required: true,
- type: "string"
- }
- },
- url: "/user/following/:username"
- },
- updateAuthenticated: {
- method: "PATCH",
- params: {
- bio: {
- type: "string"
- },
- blog: {
- type: "string"
- },
- company: {
- type: "string"
- },
- email: {
- type: "string"
- },
- hireable: {
- type: "boolean"
- },
- location: {
- type: "string"
- },
- name: {
- type: "string"
- }
- },
- url: "/user"
- }
- }
- };
- const VERSION = "2.4.0";
- function registerEndpoints(octokit, routes) {
- Object.keys(routes).forEach(namespaceName => {
- if (!octokit[namespaceName]) {
- octokit[namespaceName] = {};
- }
- Object.keys(routes[namespaceName]).forEach(apiName => {
- const apiOptions = routes[namespaceName][apiName];
- const endpointDefaults = ["method", "url", "headers"].reduce((map, key) => {
- if (typeof apiOptions[key] !== "undefined") {
- map[key] = apiOptions[key];
- }
- return map;
- }, {});
- endpointDefaults.request = {
- validate: apiOptions.params
- };
- let request = octokit.request.defaults(endpointDefaults); // patch request & endpoint methods to support deprecated parameters.
- // Not the most elegant solution, but we don’t want to move deprecation
- // logic into octokit/endpoint.js as it’s out of scope
- const hasDeprecatedParam = Object.keys(apiOptions.params || {}).find(key => apiOptions.params[key].deprecated);
- if (hasDeprecatedParam) {
- const patch = patchForDeprecation.bind(null, octokit, apiOptions);
- request = patch(octokit.request.defaults(endpointDefaults), `.${namespaceName}.${apiName}()`);
- request.endpoint = patch(request.endpoint, `.${namespaceName}.${apiName}.endpoint()`);
- request.endpoint.merge = patch(request.endpoint.merge, `.${namespaceName}.${apiName}.endpoint.merge()`);
- }
- if (apiOptions.deprecated) {
- octokit[namespaceName][apiName] = Object.assign(function deprecatedEndpointMethod() {
- octokit.log.warn(new deprecation.Deprecation(`[@octokit/rest] ${apiOptions.deprecated}`));
- octokit[namespaceName][apiName] = request;
- return request.apply(null, arguments);
- }, request);
- return;
- }
- octokit[namespaceName][apiName] = request;
- });
- });
- }
- function patchForDeprecation(octokit, apiOptions, method, methodName) {
- const patchedMethod = options => {
- options = Object.assign({}, options);
- Object.keys(options).forEach(key => {
- if (apiOptions.params[key] && apiOptions.params[key].deprecated) {
- const aliasKey = apiOptions.params[key].alias;
- octokit.log.warn(new deprecation.Deprecation(`[@octokit/rest] "${key}" parameter is deprecated for "${methodName}". Use "${aliasKey}" instead`));
- if (!(aliasKey in options)) {
- options[aliasKey] = options[key];
- }
- delete options[key];
- }
- });
- return method(options);
- };
- Object.keys(method).forEach(key => {
- patchedMethod[key] = method[key];
- });
- return patchedMethod;
- }
- /**
- * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary
- * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is
- * done, we will remove the registerEndpoints methods and return the methods
- * directly as with the other plugins. At that point we will also remove the
- * legacy workarounds and deprecations.
- *
- * See the plan at
- * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1
- */
- function restEndpointMethods(octokit) {
- // @ts-ignore
- octokit.registerEndpoints = registerEndpoints.bind(null, octokit);
- registerEndpoints(octokit, endpointsByScope); // Aliasing scopes for backward compatibility
- // See https://github.com/octokit/rest.js/pull/1134
- [["gitdata", "git"], ["authorization", "oauthAuthorizations"], ["pullRequests", "pulls"]].forEach(([deprecatedScope, scope]) => {
- Object.defineProperty(octokit, deprecatedScope, {
- get() {
- octokit.log.warn( // @ts-ignore
- new deprecation.Deprecation(`[@octokit/plugin-rest-endpoint-methods] "octokit.${deprecatedScope}.*" methods are deprecated, use "octokit.${scope}.*" instead`)); // @ts-ignore
- return octokit[scope];
- }
- });
- });
- return {};
- }
- restEndpointMethods.VERSION = VERSION;
- exports.restEndpointMethods = restEndpointMethods;
- //# sourceMappingURL=index.js.map
- /***/ }),
- /***/ 850:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = paginationMethodsPlugin
- function paginationMethodsPlugin (octokit) {
- octokit.getFirstPage = __webpack_require__(777).bind(null, octokit)
- octokit.getLastPage = __webpack_require__(649).bind(null, octokit)
- octokit.getNextPage = __webpack_require__(550).bind(null, octokit)
- octokit.getPreviousPage = __webpack_require__(563).bind(null, octokit)
- octokit.hasFirstPage = __webpack_require__(536)
- octokit.hasLastPage = __webpack_require__(336)
- octokit.hasNextPage = __webpack_require__(929)
- octokit.hasPreviousPage = __webpack_require__(558)
- }
- /***/ }),
- /***/ 854:
- /***/ (function(module) {
- /**
- * lodash (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */
- /** Used as the `TypeError` message for "Functions" methods. */
- var FUNC_ERROR_TEXT = 'Expected a function';
- /** Used to stand-in for `undefined` hash values. */
- var HASH_UNDEFINED = '__lodash_hash_undefined__';
- /** Used as references for various `Number` constants. */
- var INFINITY = 1 / 0;
- /** `Object#toString` result references. */
- var funcTag = '[object Function]',
- genTag = '[object GeneratorFunction]',
- symbolTag = '[object Symbol]';
- /** Used to match property names within property paths. */
- var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
- reIsPlainProp = /^\w*$/,
- reLeadingDot = /^\./,
- rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
- /**
- * Used to match `RegExp`
- * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
- */
- var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
- /** Used to match backslashes in property paths. */
- var reEscapeChar = /\\(\\)?/g;
- /** Used to detect host constructors (Safari). */
- var reIsHostCtor = /^\[object .+?Constructor\]$/;
- /** Detect free variable `global` from Node.js. */
- var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
- /** Detect free variable `self`. */
- var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
- /** Used as a reference to the global object. */
- var root = freeGlobal || freeSelf || Function('return this')();
- /**
- * Gets the value at `key` of `object`.
- *
- * @private
- * @param {Object} [object] The object to query.
- * @param {string} key The key of the property to get.
- * @returns {*} Returns the property value.
- */
- function getValue(object, key) {
- return object == null ? undefined : object[key];
- }
- /**
- * Checks if `value` is a host object in IE < 9.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a host object, else `false`.
- */
- function isHostObject(value) {
- // Many host objects are `Object` objects that can coerce to strings
- // despite having improperly defined `toString` methods.
- var result = false;
- if (value != null && typeof value.toString != 'function') {
- try {
- result = !!(value + '');
- } catch (e) {}
- }
- return result;
- }
- /** Used for built-in method references. */
- var arrayProto = Array.prototype,
- funcProto = Function.prototype,
- objectProto = Object.prototype;
- /** Used to detect overreaching core-js shims. */
- var coreJsData = root['__core-js_shared__'];
- /** Used to detect methods masquerading as native. */
- var maskSrcKey = (function() {
- var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
- return uid ? ('Symbol(src)_1.' + uid) : '';
- }());
- /** Used to resolve the decompiled source of functions. */
- var funcToString = funcProto.toString;
- /** Used to check objects for own properties. */
- var hasOwnProperty = objectProto.hasOwnProperty;
- /**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
- * of values.
- */
- var objectToString = objectProto.toString;
- /** Used to detect if a method is native. */
- var reIsNative = RegExp('^' +
- funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
- .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
- );
- /** Built-in value references. */
- var Symbol = root.Symbol,
- splice = arrayProto.splice;
- /* Built-in method references that are verified to be native. */
- var Map = getNative(root, 'Map'),
- nativeCreate = getNative(Object, 'create');
- /** Used to convert symbols to primitives and strings. */
- var symbolProto = Symbol ? Symbol.prototype : undefined,
- symbolToString = symbolProto ? symbolProto.toString : undefined;
- /**
- * Creates a hash object.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function Hash(entries) {
- var index = -1,
- length = entries ? entries.length : 0;
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
- /**
- * Removes all key-value entries from the hash.
- *
- * @private
- * @name clear
- * @memberOf Hash
- */
- function hashClear() {
- this.__data__ = nativeCreate ? nativeCreate(null) : {};
- }
- /**
- * Removes `key` and its value from the hash.
- *
- * @private
- * @name delete
- * @memberOf Hash
- * @param {Object} hash The hash to modify.
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function hashDelete(key) {
- return this.has(key) && delete this.__data__[key];
- }
- /**
- * Gets the hash value for `key`.
- *
- * @private
- * @name get
- * @memberOf Hash
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function hashGet(key) {
- var data = this.__data__;
- if (nativeCreate) {
- var result = data[key];
- return result === HASH_UNDEFINED ? undefined : result;
- }
- return hasOwnProperty.call(data, key) ? data[key] : undefined;
- }
- /**
- * Checks if a hash value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf Hash
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function hashHas(key) {
- var data = this.__data__;
- return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);
- }
- /**
- * Sets the hash `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf Hash
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the hash instance.
- */
- function hashSet(key, value) {
- var data = this.__data__;
- data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
- return this;
- }
- // Add methods to `Hash`.
- Hash.prototype.clear = hashClear;
- Hash.prototype['delete'] = hashDelete;
- Hash.prototype.get = hashGet;
- Hash.prototype.has = hashHas;
- Hash.prototype.set = hashSet;
- /**
- * Creates an list cache object.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function ListCache(entries) {
- var index = -1,
- length = entries ? entries.length : 0;
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
- /**
- * Removes all key-value entries from the list cache.
- *
- * @private
- * @name clear
- * @memberOf ListCache
- */
- function listCacheClear() {
- this.__data__ = [];
- }
- /**
- * Removes `key` and its value from the list cache.
- *
- * @private
- * @name delete
- * @memberOf ListCache
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function listCacheDelete(key) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
- if (index < 0) {
- return false;
- }
- var lastIndex = data.length - 1;
- if (index == lastIndex) {
- data.pop();
- } else {
- splice.call(data, index, 1);
- }
- return true;
- }
- /**
- * Gets the list cache value for `key`.
- *
- * @private
- * @name get
- * @memberOf ListCache
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function listCacheGet(key) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
- return index < 0 ? undefined : data[index][1];
- }
- /**
- * Checks if a list cache value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf ListCache
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function listCacheHas(key) {
- return assocIndexOf(this.__data__, key) > -1;
- }
- /**
- * Sets the list cache `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf ListCache
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the list cache instance.
- */
- function listCacheSet(key, value) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
- if (index < 0) {
- data.push([key, value]);
- } else {
- data[index][1] = value;
- }
- return this;
- }
- // Add methods to `ListCache`.
- ListCache.prototype.clear = listCacheClear;
- ListCache.prototype['delete'] = listCacheDelete;
- ListCache.prototype.get = listCacheGet;
- ListCache.prototype.has = listCacheHas;
- ListCache.prototype.set = listCacheSet;
- /**
- * Creates a map cache object to store key-value pairs.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function MapCache(entries) {
- var index = -1,
- length = entries ? entries.length : 0;
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
- /**
- * Removes all key-value entries from the map.
- *
- * @private
- * @name clear
- * @memberOf MapCache
- */
- function mapCacheClear() {
- this.__data__ = {
- 'hash': new Hash,
- 'map': new (Map || ListCache),
- 'string': new Hash
- };
- }
- /**
- * Removes `key` and its value from the map.
- *
- * @private
- * @name delete
- * @memberOf MapCache
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function mapCacheDelete(key) {
- return getMapData(this, key)['delete'](key);
- }
- /**
- * Gets the map value for `key`.
- *
- * @private
- * @name get
- * @memberOf MapCache
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function mapCacheGet(key) {
- return getMapData(this, key).get(key);
- }
- /**
- * Checks if a map value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf MapCache
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function mapCacheHas(key) {
- return getMapData(this, key).has(key);
- }
- /**
- * Sets the map `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf MapCache
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the map cache instance.
- */
- function mapCacheSet(key, value) {
- getMapData(this, key).set(key, value);
- return this;
- }
- // Add methods to `MapCache`.
- MapCache.prototype.clear = mapCacheClear;
- MapCache.prototype['delete'] = mapCacheDelete;
- MapCache.prototype.get = mapCacheGet;
- MapCache.prototype.has = mapCacheHas;
- MapCache.prototype.set = mapCacheSet;
- /**
- * Gets the index at which the `key` is found in `array` of key-value pairs.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} key The key to search for.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function assocIndexOf(array, key) {
- var length = array.length;
- while (length--) {
- if (eq(array[length][0], key)) {
- return length;
- }
- }
- return -1;
- }
- /**
- * The base implementation of `_.get` without support for default values.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the property to get.
- * @returns {*} Returns the resolved value.
- */
- function baseGet(object, path) {
- path = isKey(path, object) ? [path] : castPath(path);
- var index = 0,
- length = path.length;
- while (object != null && index < length) {
- object = object[toKey(path[index++])];
- }
- return (index && index == length) ? object : undefined;
- }
- /**
- * The base implementation of `_.isNative` without bad shim checks.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a native function,
- * else `false`.
- */
- function baseIsNative(value) {
- if (!isObject(value) || isMasked(value)) {
- return false;
- }
- var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;
- return pattern.test(toSource(value));
- }
- /**
- * The base implementation of `_.toString` which doesn't convert nullish
- * values to empty strings.
- *
- * @private
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- */
- function baseToString(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value;
- }
- if (isSymbol(value)) {
- return symbolToString ? symbolToString.call(value) : '';
- }
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
- }
- /**
- * Casts `value` to a path array if it's not one.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {Array} Returns the cast property path array.
- */
- function castPath(value) {
- return isArray(value) ? value : stringToPath(value);
- }
- /**
- * Gets the data for `map`.
- *
- * @private
- * @param {Object} map The map to query.
- * @param {string} key The reference key.
- * @returns {*} Returns the map data.
- */
- function getMapData(map, key) {
- var data = map.__data__;
- return isKeyable(key)
- ? data[typeof key == 'string' ? 'string' : 'hash']
- : data.map;
- }
- /**
- * Gets the native function at `key` of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {string} key The key of the method to get.
- * @returns {*} Returns the function if it's native, else `undefined`.
- */
- function getNative(object, key) {
- var value = getValue(object, key);
- return baseIsNative(value) ? value : undefined;
- }
- /**
- * Checks if `value` is a property name and not a property path.
- *
- * @private
- * @param {*} value The value to check.
- * @param {Object} [object] The object to query keys on.
- * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
- */
- function isKey(value, object) {
- if (isArray(value)) {
- return false;
- }
- var type = typeof value;
- if (type == 'number' || type == 'symbol' || type == 'boolean' ||
- value == null || isSymbol(value)) {
- return true;
- }
- return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
- (object != null && value in Object(object));
- }
- /**
- * Checks if `value` is suitable for use as unique object key.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
- */
- function isKeyable(value) {
- var type = typeof value;
- return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
- ? (value !== '__proto__')
- : (value === null);
- }
- /**
- * Checks if `func` has its source masked.
- *
- * @private
- * @param {Function} func The function to check.
- * @returns {boolean} Returns `true` if `func` is masked, else `false`.
- */
- function isMasked(func) {
- return !!maskSrcKey && (maskSrcKey in func);
- }
- /**
- * Converts `string` to a property path array.
- *
- * @private
- * @param {string} string The string to convert.
- * @returns {Array} Returns the property path array.
- */
- var stringToPath = memoize(function(string) {
- string = toString(string);
- var result = [];
- if (reLeadingDot.test(string)) {
- result.push('');
- }
- string.replace(rePropName, function(match, number, quote, string) {
- result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
- });
- return result;
- });
- /**
- * Converts `value` to a string key if it's not a string or symbol.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {string|symbol} Returns the key.
- */
- function toKey(value) {
- if (typeof value == 'string' || isSymbol(value)) {
- return value;
- }
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
- }
- /**
- * Converts `func` to its source code.
- *
- * @private
- * @param {Function} func The function to process.
- * @returns {string} Returns the source code.
- */
- function toSource(func) {
- if (func != null) {
- try {
- return funcToString.call(func);
- } catch (e) {}
- try {
- return (func + '');
- } catch (e) {}
- }
- return '';
- }
- /**
- * Creates a function that memoizes the result of `func`. If `resolver` is
- * provided, it determines the cache key for storing the result based on the
- * arguments provided to the memoized function. By default, the first argument
- * provided to the memoized function is used as the map cache key. The `func`
- * is invoked with the `this` binding of the memoized function.
- *
- * **Note:** The cache is exposed as the `cache` property on the memoized
- * function. Its creation may be customized by replacing the `_.memoize.Cache`
- * constructor with one whose instances implement the
- * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
- * method interface of `delete`, `get`, `has`, and `set`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to have its output memoized.
- * @param {Function} [resolver] The function to resolve the cache key.
- * @returns {Function} Returns the new memoized function.
- * @example
- *
- * var object = { 'a': 1, 'b': 2 };
- * var other = { 'c': 3, 'd': 4 };
- *
- * var values = _.memoize(_.values);
- * values(object);
- * // => [1, 2]
- *
- * values(other);
- * // => [3, 4]
- *
- * object.a = 2;
- * values(object);
- * // => [1, 2]
- *
- * // Modify the result cache.
- * values.cache.set(object, ['a', 'b']);
- * values(object);
- * // => ['a', 'b']
- *
- * // Replace `_.memoize.Cache`.
- * _.memoize.Cache = WeakMap;
- */
- function memoize(func, resolver) {
- if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- var memoized = function() {
- var args = arguments,
- key = resolver ? resolver.apply(this, args) : args[0],
- cache = memoized.cache;
- if (cache.has(key)) {
- return cache.get(key);
- }
- var result = func.apply(this, args);
- memoized.cache = cache.set(key, result);
- return result;
- };
- memoized.cache = new (memoize.Cache || MapCache);
- return memoized;
- }
- // Assign cache to `_.memoize`.
- memoize.Cache = MapCache;
- /**
- * Performs a
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * comparison between two values to determine if they are equivalent.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- * @example
- *
- * var object = { 'a': 1 };
- * var other = { 'a': 1 };
- *
- * _.eq(object, object);
- * // => true
- *
- * _.eq(object, other);
- * // => false
- *
- * _.eq('a', 'a');
- * // => true
- *
- * _.eq('a', Object('a'));
- * // => false
- *
- * _.eq(NaN, NaN);
- * // => true
- */
- function eq(value, other) {
- return value === other || (value !== value && other !== other);
- }
- /**
- * Checks if `value` is classified as an `Array` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an array, else `false`.
- * @example
- *
- * _.isArray([1, 2, 3]);
- * // => true
- *
- * _.isArray(document.body.children);
- * // => false
- *
- * _.isArray('abc');
- * // => false
- *
- * _.isArray(_.noop);
- * // => false
- */
- var isArray = Array.isArray;
- /**
- * Checks if `value` is classified as a `Function` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a function, else `false`.
- * @example
- *
- * _.isFunction(_);
- * // => true
- *
- * _.isFunction(/abc/);
- * // => false
- */
- function isFunction(value) {
- // The use of `Object#toString` avoids issues with the `typeof` operator
- // in Safari 8-9 which returns 'object' for typed array and other constructors.
- var tag = isObject(value) ? objectToString.call(value) : '';
- return tag == funcTag || tag == genTag;
- }
- /**
- * Checks if `value` is the
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
- * @example
- *
- * _.isObject({});
- * // => true
- *
- * _.isObject([1, 2, 3]);
- * // => true
- *
- * _.isObject(_.noop);
- * // => true
- *
- * _.isObject(null);
- * // => false
- */
- function isObject(value) {
- var type = typeof value;
- return !!value && (type == 'object' || type == 'function');
- }
- /**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */
- function isObjectLike(value) {
- return !!value && typeof value == 'object';
- }
- /**
- * Checks if `value` is classified as a `Symbol` primitive or object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
- * @example
- *
- * _.isSymbol(Symbol.iterator);
- * // => true
- *
- * _.isSymbol('abc');
- * // => false
- */
- function isSymbol(value) {
- return typeof value == 'symbol' ||
- (isObjectLike(value) && objectToString.call(value) == symbolTag);
- }
- /**
- * Converts `value` to a string. An empty string is returned for `null`
- * and `undefined` values. The sign of `-0` is preserved.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- * @example
- *
- * _.toString(null);
- * // => ''
- *
- * _.toString(-0);
- * // => '-0'
- *
- * _.toString([1, 2, 3]);
- * // => '1,2,3'
- */
- function toString(value) {
- return value == null ? '' : baseToString(value);
- }
- /**
- * Gets the value at `path` of `object`. If the resolved value is
- * `undefined`, the `defaultValue` is returned in its place.
- *
- * @static
- * @memberOf _
- * @since 3.7.0
- * @category Object
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the property to get.
- * @param {*} [defaultValue] The value returned for `undefined` resolved values.
- * @returns {*} Returns the resolved value.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 3 } }] };
- *
- * _.get(object, 'a[0].b.c');
- * // => 3
- *
- * _.get(object, ['a', '0', 'b', 'c']);
- * // => 3
- *
- * _.get(object, 'a.b.c', 'default');
- * // => 'default'
- */
- function get(object, path, defaultValue) {
- var result = object == null ? undefined : baseGet(object, path);
- return result === undefined ? defaultValue : result;
- }
- module.exports = get;
- /***/ }),
- /***/ 855:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = registerPlugin;
- const factory = __webpack_require__(47);
- function registerPlugin(plugins, pluginFunction) {
- return factory(
- plugins.includes(pluginFunction) ? plugins : plugins.concat(pluginFunction)
- );
- }
- /***/ }),
- /***/ 856:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = __webpack_require__(141);
- /***/ }),
- /***/ 863:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = authenticationBeforeRequest;
- const btoa = __webpack_require__(675);
- const withAuthorizationPrefix = __webpack_require__(143);
- function authenticationBeforeRequest(state, options) {
- if (typeof state.auth === "string") {
- options.headers.authorization = withAuthorizationPrefix(state.auth);
- return;
- }
- if (state.auth.username) {
- const hash = btoa(`${state.auth.username}:${state.auth.password}`);
- options.headers.authorization = `Basic ${hash}`;
- if (state.otp) {
- options.headers["x-github-otp"] = state.otp;
- }
- return;
- }
- if (state.auth.clientId) {
- // There is a special case for OAuth applications, when `clientId` and `clientSecret` is passed as
- // Basic Authorization instead of query parameters. The only routes where that applies share the same
- // URL though: `/applications/:client_id/tokens/:access_token`.
- //
- // 1. [Check an authorization](https://developer.github.com/v3/oauth_authorizations/#check-an-authorization)
- // 2. [Reset an authorization](https://developer.github.com/v3/oauth_authorizations/#reset-an-authorization)
- // 3. [Revoke an authorization for an application](https://developer.github.com/v3/oauth_authorizations/#revoke-an-authorization-for-an-application)
- //
- // We identify by checking the URL. It must merge both "/applications/:client_id/tokens/:access_token"
- // as well as "/applications/123/tokens/token456"
- if (/\/applications\/:?[\w_]+\/tokens\/:?[\w_]+($|\?)/.test(options.url)) {
- const hash = btoa(`${state.auth.clientId}:${state.auth.clientSecret}`);
- options.headers.authorization = `Basic ${hash}`;
- return;
- }
- options.url += options.url.indexOf("?") === -1 ? "?" : "&";
- options.url += `client_id=${state.auth.clientId}&client_secret=${state.auth.clientSecret}`;
- return;
- }
- return Promise.resolve()
- .then(() => {
- return state.auth();
- })
- .then(authorization => {
- options.headers.authorization = withAuthorizationPrefix(authorization);
- });
- }
- /***/ }),
- /***/ 866:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- "use strict";
- var shebangRegex = __webpack_require__(816);
- module.exports = function (str) {
- var match = str.match(shebangRegex);
- if (!match) {
- return null;
- }
- var arr = match[0].replace(/#! ?/, '').split(' ');
- var bin = arr[0].split('/').pop();
- var arg = arr[1];
- return (bin === 'env' ?
- arg :
- bin + (arg ? ' ' + arg : '')
- );
- };
- /***/ }),
- /***/ 881:
- /***/ (function(module) {
- "use strict";
- const isWin = process.platform === 'win32';
- function notFoundError(original, syscall) {
- return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {
- code: 'ENOENT',
- errno: 'ENOENT',
- syscall: `${syscall} ${original.command}`,
- path: original.command,
- spawnargs: original.args,
- });
- }
- function hookChildProcess(cp, parsed) {
- if (!isWin) {
- return;
- }
- const originalEmit = cp.emit;
- cp.emit = function (name, arg1) {
- // If emitting "exit" event and exit code is 1, we need to check if
- // the command exists and emit an "error" instead
- // See https://github.com/IndigoUnited/node-cross-spawn/issues/16
- if (name === 'exit') {
- const err = verifyENOENT(arg1, parsed, 'spawn');
- if (err) {
- return originalEmit.call(cp, 'error', err);
- }
- }
- return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params
- };
- }
- function verifyENOENT(status, parsed) {
- if (isWin && status === 1 && !parsed.file) {
- return notFoundError(parsed.original, 'spawn');
- }
- return null;
- }
- function verifyENOENTSync(status, parsed) {
- if (isWin && status === 1 && !parsed.file) {
- return notFoundError(parsed.original, 'spawnSync');
- }
- return null;
- }
- module.exports = {
- hookChildProcess,
- verifyENOENT,
- verifyENOENTSync,
- notFoundError,
- };
- /***/ }),
- /***/ 883:
- /***/ (function(module) {
- /**
- * lodash (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */
- /** Used as the `TypeError` message for "Functions" methods. */
- var FUNC_ERROR_TEXT = 'Expected a function';
- /** Used to stand-in for `undefined` hash values. */
- var HASH_UNDEFINED = '__lodash_hash_undefined__';
- /** Used as references for various `Number` constants. */
- var INFINITY = 1 / 0,
- MAX_SAFE_INTEGER = 9007199254740991;
- /** `Object#toString` result references. */
- var funcTag = '[object Function]',
- genTag = '[object GeneratorFunction]',
- symbolTag = '[object Symbol]';
- /** Used to match property names within property paths. */
- var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
- reIsPlainProp = /^\w*$/,
- reLeadingDot = /^\./,
- rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
- /**
- * Used to match `RegExp`
- * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
- */
- var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
- /** Used to match backslashes in property paths. */
- var reEscapeChar = /\\(\\)?/g;
- /** Used to detect host constructors (Safari). */
- var reIsHostCtor = /^\[object .+?Constructor\]$/;
- /** Used to detect unsigned integer values. */
- var reIsUint = /^(?:0|[1-9]\d*)$/;
- /** Detect free variable `global` from Node.js. */
- var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
- /** Detect free variable `self`. */
- var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
- /** Used as a reference to the global object. */
- var root = freeGlobal || freeSelf || Function('return this')();
- /**
- * Gets the value at `key` of `object`.
- *
- * @private
- * @param {Object} [object] The object to query.
- * @param {string} key The key of the property to get.
- * @returns {*} Returns the property value.
- */
- function getValue(object, key) {
- return object == null ? undefined : object[key];
- }
- /**
- * Checks if `value` is a host object in IE < 9.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a host object, else `false`.
- */
- function isHostObject(value) {
- // Many host objects are `Object` objects that can coerce to strings
- // despite having improperly defined `toString` methods.
- var result = false;
- if (value != null && typeof value.toString != 'function') {
- try {
- result = !!(value + '');
- } catch (e) {}
- }
- return result;
- }
- /** Used for built-in method references. */
- var arrayProto = Array.prototype,
- funcProto = Function.prototype,
- objectProto = Object.prototype;
- /** Used to detect overreaching core-js shims. */
- var coreJsData = root['__core-js_shared__'];
- /** Used to detect methods masquerading as native. */
- var maskSrcKey = (function() {
- var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
- return uid ? ('Symbol(src)_1.' + uid) : '';
- }());
- /** Used to resolve the decompiled source of functions. */
- var funcToString = funcProto.toString;
- /** Used to check objects for own properties. */
- var hasOwnProperty = objectProto.hasOwnProperty;
- /**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
- * of values.
- */
- var objectToString = objectProto.toString;
- /** Used to detect if a method is native. */
- var reIsNative = RegExp('^' +
- funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
- .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
- );
- /** Built-in value references. */
- var Symbol = root.Symbol,
- splice = arrayProto.splice;
- /* Built-in method references that are verified to be native. */
- var Map = getNative(root, 'Map'),
- nativeCreate = getNative(Object, 'create');
- /** Used to convert symbols to primitives and strings. */
- var symbolProto = Symbol ? Symbol.prototype : undefined,
- symbolToString = symbolProto ? symbolProto.toString : undefined;
- /**
- * Creates a hash object.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function Hash(entries) {
- var index = -1,
- length = entries ? entries.length : 0;
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
- /**
- * Removes all key-value entries from the hash.
- *
- * @private
- * @name clear
- * @memberOf Hash
- */
- function hashClear() {
- this.__data__ = nativeCreate ? nativeCreate(null) : {};
- }
- /**
- * Removes `key` and its value from the hash.
- *
- * @private
- * @name delete
- * @memberOf Hash
- * @param {Object} hash The hash to modify.
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function hashDelete(key) {
- return this.has(key) && delete this.__data__[key];
- }
- /**
- * Gets the hash value for `key`.
- *
- * @private
- * @name get
- * @memberOf Hash
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function hashGet(key) {
- var data = this.__data__;
- if (nativeCreate) {
- var result = data[key];
- return result === HASH_UNDEFINED ? undefined : result;
- }
- return hasOwnProperty.call(data, key) ? data[key] : undefined;
- }
- /**
- * Checks if a hash value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf Hash
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function hashHas(key) {
- var data = this.__data__;
- return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);
- }
- /**
- * Sets the hash `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf Hash
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the hash instance.
- */
- function hashSet(key, value) {
- var data = this.__data__;
- data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
- return this;
- }
- // Add methods to `Hash`.
- Hash.prototype.clear = hashClear;
- Hash.prototype['delete'] = hashDelete;
- Hash.prototype.get = hashGet;
- Hash.prototype.has = hashHas;
- Hash.prototype.set = hashSet;
- /**
- * Creates an list cache object.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function ListCache(entries) {
- var index = -1,
- length = entries ? entries.length : 0;
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
- /**
- * Removes all key-value entries from the list cache.
- *
- * @private
- * @name clear
- * @memberOf ListCache
- */
- function listCacheClear() {
- this.__data__ = [];
- }
- /**
- * Removes `key` and its value from the list cache.
- *
- * @private
- * @name delete
- * @memberOf ListCache
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function listCacheDelete(key) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
- if (index < 0) {
- return false;
- }
- var lastIndex = data.length - 1;
- if (index == lastIndex) {
- data.pop();
- } else {
- splice.call(data, index, 1);
- }
- return true;
- }
- /**
- * Gets the list cache value for `key`.
- *
- * @private
- * @name get
- * @memberOf ListCache
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function listCacheGet(key) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
- return index < 0 ? undefined : data[index][1];
- }
- /**
- * Checks if a list cache value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf ListCache
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function listCacheHas(key) {
- return assocIndexOf(this.__data__, key) > -1;
- }
- /**
- * Sets the list cache `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf ListCache
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the list cache instance.
- */
- function listCacheSet(key, value) {
- var data = this.__data__,
- index = assocIndexOf(data, key);
- if (index < 0) {
- data.push([key, value]);
- } else {
- data[index][1] = value;
- }
- return this;
- }
- // Add methods to `ListCache`.
- ListCache.prototype.clear = listCacheClear;
- ListCache.prototype['delete'] = listCacheDelete;
- ListCache.prototype.get = listCacheGet;
- ListCache.prototype.has = listCacheHas;
- ListCache.prototype.set = listCacheSet;
- /**
- * Creates a map cache object to store key-value pairs.
- *
- * @private
- * @constructor
- * @param {Array} [entries] The key-value pairs to cache.
- */
- function MapCache(entries) {
- var index = -1,
- length = entries ? entries.length : 0;
- this.clear();
- while (++index < length) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
- /**
- * Removes all key-value entries from the map.
- *
- * @private
- * @name clear
- * @memberOf MapCache
- */
- function mapCacheClear() {
- this.__data__ = {
- 'hash': new Hash,
- 'map': new (Map || ListCache),
- 'string': new Hash
- };
- }
- /**
- * Removes `key` and its value from the map.
- *
- * @private
- * @name delete
- * @memberOf MapCache
- * @param {string} key The key of the value to remove.
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
- */
- function mapCacheDelete(key) {
- return getMapData(this, key)['delete'](key);
- }
- /**
- * Gets the map value for `key`.
- *
- * @private
- * @name get
- * @memberOf MapCache
- * @param {string} key The key of the value to get.
- * @returns {*} Returns the entry value.
- */
- function mapCacheGet(key) {
- return getMapData(this, key).get(key);
- }
- /**
- * Checks if a map value for `key` exists.
- *
- * @private
- * @name has
- * @memberOf MapCache
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
- function mapCacheHas(key) {
- return getMapData(this, key).has(key);
- }
- /**
- * Sets the map `key` to `value`.
- *
- * @private
- * @name set
- * @memberOf MapCache
- * @param {string} key The key of the value to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns the map cache instance.
- */
- function mapCacheSet(key, value) {
- getMapData(this, key).set(key, value);
- return this;
- }
- // Add methods to `MapCache`.
- MapCache.prototype.clear = mapCacheClear;
- MapCache.prototype['delete'] = mapCacheDelete;
- MapCache.prototype.get = mapCacheGet;
- MapCache.prototype.has = mapCacheHas;
- MapCache.prototype.set = mapCacheSet;
- /**
- * Assigns `value` to `key` of `object` if the existing value is not equivalent
- * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons.
- *
- * @private
- * @param {Object} object The object to modify.
- * @param {string} key The key of the property to assign.
- * @param {*} value The value to assign.
- */
- function assignValue(object, key, value) {
- var objValue = object[key];
- if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
- (value === undefined && !(key in object))) {
- object[key] = value;
- }
- }
- /**
- * Gets the index at which the `key` is found in `array` of key-value pairs.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} key The key to search for.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function assocIndexOf(array, key) {
- var length = array.length;
- while (length--) {
- if (eq(array[length][0], key)) {
- return length;
- }
- }
- return -1;
- }
- /**
- * The base implementation of `_.isNative` without bad shim checks.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a native function,
- * else `false`.
- */
- function baseIsNative(value) {
- if (!isObject(value) || isMasked(value)) {
- return false;
- }
- var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;
- return pattern.test(toSource(value));
- }
- /**
- * The base implementation of `_.set`.
- *
- * @private
- * @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to set.
- * @param {*} value The value to set.
- * @param {Function} [customizer] The function to customize path creation.
- * @returns {Object} Returns `object`.
- */
- function baseSet(object, path, value, customizer) {
- if (!isObject(object)) {
- return object;
- }
- path = isKey(path, object) ? [path] : castPath(path);
- var index = -1,
- length = path.length,
- lastIndex = length - 1,
- nested = object;
- while (nested != null && ++index < length) {
- var key = toKey(path[index]),
- newValue = value;
- if (index != lastIndex) {
- var objValue = nested[key];
- newValue = customizer ? customizer(objValue, key, nested) : undefined;
- if (newValue === undefined) {
- newValue = isObject(objValue)
- ? objValue
- : (isIndex(path[index + 1]) ? [] : {});
- }
- }
- assignValue(nested, key, newValue);
- nested = nested[key];
- }
- return object;
- }
- /**
- * The base implementation of `_.toString` which doesn't convert nullish
- * values to empty strings.
- *
- * @private
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- */
- function baseToString(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value;
- }
- if (isSymbol(value)) {
- return symbolToString ? symbolToString.call(value) : '';
- }
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
- }
- /**
- * Casts `value` to a path array if it's not one.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {Array} Returns the cast property path array.
- */
- function castPath(value) {
- return isArray(value) ? value : stringToPath(value);
- }
- /**
- * Gets the data for `map`.
- *
- * @private
- * @param {Object} map The map to query.
- * @param {string} key The reference key.
- * @returns {*} Returns the map data.
- */
- function getMapData(map, key) {
- var data = map.__data__;
- return isKeyable(key)
- ? data[typeof key == 'string' ? 'string' : 'hash']
- : data.map;
- }
- /**
- * Gets the native function at `key` of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {string} key The key of the method to get.
- * @returns {*} Returns the function if it's native, else `undefined`.
- */
- function getNative(object, key) {
- var value = getValue(object, key);
- return baseIsNative(value) ? value : undefined;
- }
- /**
- * Checks if `value` is a valid array-like index.
- *
- * @private
- * @param {*} value The value to check.
- * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
- * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
- */
- function isIndex(value, length) {
- length = length == null ? MAX_SAFE_INTEGER : length;
- return !!length &&
- (typeof value == 'number' || reIsUint.test(value)) &&
- (value > -1 && value % 1 == 0 && value < length);
- }
- /**
- * Checks if `value` is a property name and not a property path.
- *
- * @private
- * @param {*} value The value to check.
- * @param {Object} [object] The object to query keys on.
- * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
- */
- function isKey(value, object) {
- if (isArray(value)) {
- return false;
- }
- var type = typeof value;
- if (type == 'number' || type == 'symbol' || type == 'boolean' ||
- value == null || isSymbol(value)) {
- return true;
- }
- return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
- (object != null && value in Object(object));
- }
- /**
- * Checks if `value` is suitable for use as unique object key.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
- */
- function isKeyable(value) {
- var type = typeof value;
- return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
- ? (value !== '__proto__')
- : (value === null);
- }
- /**
- * Checks if `func` has its source masked.
- *
- * @private
- * @param {Function} func The function to check.
- * @returns {boolean} Returns `true` if `func` is masked, else `false`.
- */
- function isMasked(func) {
- return !!maskSrcKey && (maskSrcKey in func);
- }
- /**
- * Converts `string` to a property path array.
- *
- * @private
- * @param {string} string The string to convert.
- * @returns {Array} Returns the property path array.
- */
- var stringToPath = memoize(function(string) {
- string = toString(string);
- var result = [];
- if (reLeadingDot.test(string)) {
- result.push('');
- }
- string.replace(rePropName, function(match, number, quote, string) {
- result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
- });
- return result;
- });
- /**
- * Converts `value` to a string key if it's not a string or symbol.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {string|symbol} Returns the key.
- */
- function toKey(value) {
- if (typeof value == 'string' || isSymbol(value)) {
- return value;
- }
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
- }
- /**
- * Converts `func` to its source code.
- *
- * @private
- * @param {Function} func The function to process.
- * @returns {string} Returns the source code.
- */
- function toSource(func) {
- if (func != null) {
- try {
- return funcToString.call(func);
- } catch (e) {}
- try {
- return (func + '');
- } catch (e) {}
- }
- return '';
- }
- /**
- * Creates a function that memoizes the result of `func`. If `resolver` is
- * provided, it determines the cache key for storing the result based on the
- * arguments provided to the memoized function. By default, the first argument
- * provided to the memoized function is used as the map cache key. The `func`
- * is invoked with the `this` binding of the memoized function.
- *
- * **Note:** The cache is exposed as the `cache` property on the memoized
- * function. Its creation may be customized by replacing the `_.memoize.Cache`
- * constructor with one whose instances implement the
- * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
- * method interface of `delete`, `get`, `has`, and `set`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to have its output memoized.
- * @param {Function} [resolver] The function to resolve the cache key.
- * @returns {Function} Returns the new memoized function.
- * @example
- *
- * var object = { 'a': 1, 'b': 2 };
- * var other = { 'c': 3, 'd': 4 };
- *
- * var values = _.memoize(_.values);
- * values(object);
- * // => [1, 2]
- *
- * values(other);
- * // => [3, 4]
- *
- * object.a = 2;
- * values(object);
- * // => [1, 2]
- *
- * // Modify the result cache.
- * values.cache.set(object, ['a', 'b']);
- * values(object);
- * // => ['a', 'b']
- *
- * // Replace `_.memoize.Cache`.
- * _.memoize.Cache = WeakMap;
- */
- function memoize(func, resolver) {
- if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- var memoized = function() {
- var args = arguments,
- key = resolver ? resolver.apply(this, args) : args[0],
- cache = memoized.cache;
- if (cache.has(key)) {
- return cache.get(key);
- }
- var result = func.apply(this, args);
- memoized.cache = cache.set(key, result);
- return result;
- };
- memoized.cache = new (memoize.Cache || MapCache);
- return memoized;
- }
- // Assign cache to `_.memoize`.
- memoize.Cache = MapCache;
- /**
- * Performs a
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * comparison between two values to determine if they are equivalent.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to compare.
- * @param {*} other The other value to compare.
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
- * @example
- *
- * var object = { 'a': 1 };
- * var other = { 'a': 1 };
- *
- * _.eq(object, object);
- * // => true
- *
- * _.eq(object, other);
- * // => false
- *
- * _.eq('a', 'a');
- * // => true
- *
- * _.eq('a', Object('a'));
- * // => false
- *
- * _.eq(NaN, NaN);
- * // => true
- */
- function eq(value, other) {
- return value === other || (value !== value && other !== other);
- }
- /**
- * Checks if `value` is classified as an `Array` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an array, else `false`.
- * @example
- *
- * _.isArray([1, 2, 3]);
- * // => true
- *
- * _.isArray(document.body.children);
- * // => false
- *
- * _.isArray('abc');
- * // => false
- *
- * _.isArray(_.noop);
- * // => false
- */
- var isArray = Array.isArray;
- /**
- * Checks if `value` is classified as a `Function` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a function, else `false`.
- * @example
- *
- * _.isFunction(_);
- * // => true
- *
- * _.isFunction(/abc/);
- * // => false
- */
- function isFunction(value) {
- // The use of `Object#toString` avoids issues with the `typeof` operator
- // in Safari 8-9 which returns 'object' for typed array and other constructors.
- var tag = isObject(value) ? objectToString.call(value) : '';
- return tag == funcTag || tag == genTag;
- }
- /**
- * Checks if `value` is the
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
- * @example
- *
- * _.isObject({});
- * // => true
- *
- * _.isObject([1, 2, 3]);
- * // => true
- *
- * _.isObject(_.noop);
- * // => true
- *
- * _.isObject(null);
- * // => false
- */
- function isObject(value) {
- var type = typeof value;
- return !!value && (type == 'object' || type == 'function');
- }
- /**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */
- function isObjectLike(value) {
- return !!value && typeof value == 'object';
- }
- /**
- * Checks if `value` is classified as a `Symbol` primitive or object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
- * @example
- *
- * _.isSymbol(Symbol.iterator);
- * // => true
- *
- * _.isSymbol('abc');
- * // => false
- */
- function isSymbol(value) {
- return typeof value == 'symbol' ||
- (isObjectLike(value) && objectToString.call(value) == symbolTag);
- }
- /**
- * Converts `value` to a string. An empty string is returned for `null`
- * and `undefined` values. The sign of `-0` is preserved.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- * @example
- *
- * _.toString(null);
- * // => ''
- *
- * _.toString(-0);
- * // => '-0'
- *
- * _.toString([1, 2, 3]);
- * // => '1,2,3'
- */
- function toString(value) {
- return value == null ? '' : baseToString(value);
- }
- /**
- * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,
- * it's created. Arrays are created for missing index properties while objects
- * are created for all other missing properties. Use `_.setWith` to customize
- * `path` creation.
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 3.7.0
- * @category Object
- * @param {Object} object The object to modify.
- * @param {Array|string} path The path of the property to set.
- * @param {*} value The value to set.
- * @returns {Object} Returns `object`.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 3 } }] };
- *
- * _.set(object, 'a[0].b.c', 4);
- * console.log(object.a[0].b.c);
- * // => 4
- *
- * _.set(object, ['x', '0', 'y', 'z'], 5);
- * console.log(object.x[0].y.z);
- * // => 5
- */
- function set(object, path, value) {
- return object == null ? object : baseSet(object, path, value);
- }
- module.exports = set;
- /***/ }),
- /***/ 898:
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, '__esModule', { value: true });
- var request = __webpack_require__(753);
- var universalUserAgent = __webpack_require__(796);
- const VERSION = "4.5.0";
- class GraphqlError extends Error {
- constructor(request, response) {
- const message = response.data.errors[0].message;
- super(message);
- Object.assign(this, response.data);
- this.name = "GraphqlError";
- this.request = request; // Maintains proper stack trace (only available on V8)
- /* istanbul ignore next */
- if (Error.captureStackTrace) {
- Error.captureStackTrace(this, this.constructor);
- }
- }
- }
- const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"];
- function graphql(request, query, options) {
- options = typeof query === "string" ? options = Object.assign({
- query
- }, options) : options = query;
- const requestOptions = Object.keys(options).reduce((result, key) => {
- if (NON_VARIABLE_OPTIONS.includes(key)) {
- result[key] = options[key];
- return result;
- }
- if (!result.variables) {
- result.variables = {};
- }
- result.variables[key] = options[key];
- return result;
- }, {});
- return request(requestOptions).then(response => {
- if (response.data.errors) {
- throw new GraphqlError(requestOptions, {
- data: response.data
- });
- }
- return response.data.data;
- });
- }
- function withDefaults(request$1, newDefaults) {
- const newRequest = request$1.defaults(newDefaults);
- const newApi = (query, options) => {
- return graphql(newRequest, query, options);
- };
- return Object.assign(newApi, {
- defaults: withDefaults.bind(null, newRequest),
- endpoint: request.request.endpoint
- });
- }
- const graphql$1 = withDefaults(request.request, {
- headers: {
- "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}`
- },
- method: "POST",
- url: "/graphql"
- });
- function withCustomRequest(customRequest) {
- return withDefaults(customRequest, {
- method: "POST",
- url: "/graphql"
- });
- }
- exports.graphql = graphql$1;
- exports.withCustomRequest = withCustomRequest;
- //# sourceMappingURL=index.js.map
- /***/ }),
- /***/ 916:
- /***/ (function(__unusedmodule, exports) {
- "use strict";
- Object.defineProperty(exports, '__esModule', { value: true });
- const VERSION = "1.0.0";
- /**
- * @param octokit Octokit instance
- * @param options Options passed to Octokit constructor
- */
- function requestLog(octokit) {
- octokit.hook.wrap("request", (request, options) => {
- octokit.log.debug("request", options);
- const start = Date.now();
- const requestOptions = octokit.request.endpoint.parse(options);
- const path = requestOptions.url.replace(options.baseUrl, "");
- return request(options).then(response => {
- octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`);
- return response;
- }).catch(error => {
- octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`);
- throw error;
- });
- });
- }
- requestLog.VERSION = VERSION;
- exports.requestLog = requestLog;
- //# sourceMappingURL=index.js.map
- /***/ }),
- /***/ 929:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- module.exports = hasNextPage
- const deprecate = __webpack_require__(370)
- const getPageLinks = __webpack_require__(577)
- function hasNextPage (link) {
- deprecate(`octokit.hasNextPage() – You can use octokit.paginate or async iterators instead: https://github.com/octokit/rest.js#pagination.`)
- return getPageLinks(link).next
- }
- /***/ }),
- /***/ 948:
- /***/ (function(module) {
- "use strict";
- /**
- * Tries to execute a function and discards any error that occurs.
- * @param {Function} fn - Function that might or might not throw an error.
- * @returns {?*} Return-value of the function when no error occurred.
- */
- module.exports = function(fn) {
- try { return fn() } catch (e) {}
- }
- /***/ }),
- /***/ 950:
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- const url = __webpack_require__(835);
- function getProxyUrl(reqUrl) {
- let usingSsl = reqUrl.protocol === 'https:';
- let proxyUrl;
- if (checkBypass(reqUrl)) {
- return proxyUrl;
- }
- let proxyVar;
- if (usingSsl) {
- proxyVar = process.env['https_proxy'] || process.env['HTTPS_PROXY'];
- }
- else {
- proxyVar = process.env['http_proxy'] || process.env['HTTP_PROXY'];
- }
- if (proxyVar) {
- proxyUrl = url.parse(proxyVar);
- }
- return proxyUrl;
- }
- exports.getProxyUrl = getProxyUrl;
- function checkBypass(reqUrl) {
- if (!reqUrl.hostname) {
- return false;
- }
- let noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';
- if (!noProxy) {
- return false;
- }
- // Determine the request port
- let reqPort;
- if (reqUrl.port) {
- reqPort = Number(reqUrl.port);
- }
- else if (reqUrl.protocol === 'http:') {
- reqPort = 80;
- }
- else if (reqUrl.protocol === 'https:') {
- reqPort = 443;
- }
- // Format the request hostname and hostname with port
- let upperReqHosts = [reqUrl.hostname.toUpperCase()];
- if (typeof reqPort === 'number') {
- upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
- }
- // Compare request host against noproxy
- for (let upperNoProxyItem of noProxy
- .split(',')
- .map(x => x.trim().toUpperCase())
- .filter(x => x)) {
- if (upperReqHosts.some(x => x === upperNoProxyItem)) {
- return true;
- }
- }
- return false;
- }
- exports.checkBypass = checkBypass;
- /***/ }),
- /***/ 954:
- /***/ (function(module) {
- module.exports = validateAuth;
- function validateAuth(auth) {
- if (typeof auth === "string") {
- return;
- }
- if (typeof auth === "function") {
- return;
- }
- if (auth.username && auth.password) {
- return;
- }
- if (auth.clientId && auth.clientSecret) {
- return;
- }
- throw new Error(`Invalid "auth" option: ${JSON.stringify(auth)}`);
- }
- /***/ }),
- /***/ 955:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- "use strict";
- const path = __webpack_require__(622);
- const childProcess = __webpack_require__(129);
- const crossSpawn = __webpack_require__(20);
- const stripEof = __webpack_require__(768);
- const npmRunPath = __webpack_require__(621);
- const isStream = __webpack_require__(323);
- const _getStream = __webpack_require__(145);
- const pFinally = __webpack_require__(697);
- const onExit = __webpack_require__(260);
- const errname = __webpack_require__(427);
- const stdio = __webpack_require__(168);
- const TEN_MEGABYTES = 1000 * 1000 * 10;
- function handleArgs(cmd, args, opts) {
- let parsed;
- opts = Object.assign({
- extendEnv: true,
- env: {}
- }, opts);
- if (opts.extendEnv) {
- opts.env = Object.assign({}, process.env, opts.env);
- }
- if (opts.__winShell === true) {
- delete opts.__winShell;
- parsed = {
- command: cmd,
- args,
- options: opts,
- file: cmd,
- original: {
- cmd,
- args
- }
- };
- } else {
- parsed = crossSpawn._parse(cmd, args, opts);
- }
- opts = Object.assign({
- maxBuffer: TEN_MEGABYTES,
- buffer: true,
- stripEof: true,
- preferLocal: true,
- localDir: parsed.options.cwd || process.cwd(),
- encoding: 'utf8',
- reject: true,
- cleanup: true
- }, parsed.options);
- opts.stdio = stdio(opts);
- if (opts.preferLocal) {
- opts.env = npmRunPath.env(Object.assign({}, opts, {cwd: opts.localDir}));
- }
- if (opts.detached) {
- // #115
- opts.cleanup = false;
- }
- if (process.platform === 'win32' && path.basename(parsed.command) === 'cmd.exe') {
- // #116
- parsed.args.unshift('/q');
- }
- return {
- cmd: parsed.command,
- args: parsed.args,
- opts,
- parsed
- };
- }
- function handleInput(spawned, input) {
- if (input === null || input === undefined) {
- return;
- }
- if (isStream(input)) {
- input.pipe(spawned.stdin);
- } else {
- spawned.stdin.end(input);
- }
- }
- function handleOutput(opts, val) {
- if (val && opts.stripEof) {
- val = stripEof(val);
- }
- return val;
- }
- function handleShell(fn, cmd, opts) {
- let file = '/bin/sh';
- let args = ['-c', cmd];
- opts = Object.assign({}, opts);
- if (process.platform === 'win32') {
- opts.__winShell = true;
- file = process.env.comspec || 'cmd.exe';
- args = ['/s', '/c', `"${cmd}"`];
- opts.windowsVerbatimArguments = true;
- }
- if (opts.shell) {
- file = opts.shell;
- delete opts.shell;
- }
- return fn(file, args, opts);
- }
- function getStream(process, stream, {encoding, buffer, maxBuffer}) {
- if (!process[stream]) {
- return null;
- }
- let ret;
- if (!buffer) {
- // TODO: Use `ret = util.promisify(stream.finished)(process[stream]);` when targeting Node.js 10
- ret = new Promise((resolve, reject) => {
- process[stream]
- .once('end', resolve)
- .once('error', reject);
- });
- } else if (encoding) {
- ret = _getStream(process[stream], {
- encoding,
- maxBuffer
- });
- } else {
- ret = _getStream.buffer(process[stream], {maxBuffer});
- }
- return ret.catch(err => {
- err.stream = stream;
- err.message = `${stream} ${err.message}`;
- throw err;
- });
- }
- function makeError(result, options) {
- const {stdout, stderr} = result;
- let err = result.error;
- const {code, signal} = result;
- const {parsed, joinedCmd} = options;
- const timedOut = options.timedOut || false;
- if (!err) {
- let output = '';
- if (Array.isArray(parsed.opts.stdio)) {
- if (parsed.opts.stdio[2] !== 'inherit') {
- output += output.length > 0 ? stderr : `\n${stderr}`;
- }
- if (parsed.opts.stdio[1] !== 'inherit') {
- output += `\n${stdout}`;
- }
- } else if (parsed.opts.stdio !== 'inherit') {
- output = `\n${stderr}${stdout}`;
- }
- err = new Error(`Command failed: ${joinedCmd}${output}`);
- err.code = code < 0 ? errname(code) : code;
- }
- err.stdout = stdout;
- err.stderr = stderr;
- err.failed = true;
- err.signal = signal || null;
- err.cmd = joinedCmd;
- err.timedOut = timedOut;
- return err;
- }
- function joinCmd(cmd, args) {
- let joinedCmd = cmd;
- if (Array.isArray(args) && args.length > 0) {
- joinedCmd += ' ' + args.join(' ');
- }
- return joinedCmd;
- }
- module.exports = (cmd, args, opts) => {
- const parsed = handleArgs(cmd, args, opts);
- const {encoding, buffer, maxBuffer} = parsed.opts;
- const joinedCmd = joinCmd(cmd, args);
- let spawned;
- try {
- spawned = childProcess.spawn(parsed.cmd, parsed.args, parsed.opts);
- } catch (err) {
- return Promise.reject(err);
- }
- let removeExitHandler;
- if (parsed.opts.cleanup) {
- removeExitHandler = onExit(() => {
- spawned.kill();
- });
- }
- let timeoutId = null;
- let timedOut = false;
- const cleanup = () => {
- if (timeoutId) {
- clearTimeout(timeoutId);
- timeoutId = null;
- }
- if (removeExitHandler) {
- removeExitHandler();
- }
- };
- if (parsed.opts.timeout > 0) {
- timeoutId = setTimeout(() => {
- timeoutId = null;
- timedOut = true;
- spawned.kill(parsed.opts.killSignal);
- }, parsed.opts.timeout);
- }
- const processDone = new Promise(resolve => {
- spawned.on('exit', (code, signal) => {
- cleanup();
- resolve({code, signal});
- });
- spawned.on('error', err => {
- cleanup();
- resolve({error: err});
- });
- if (spawned.stdin) {
- spawned.stdin.on('error', err => {
- cleanup();
- resolve({error: err});
- });
- }
- });
- function destroy() {
- if (spawned.stdout) {
- spawned.stdout.destroy();
- }
- if (spawned.stderr) {
- spawned.stderr.destroy();
- }
- }
- const handlePromise = () => pFinally(Promise.all([
- processDone,
- getStream(spawned, 'stdout', {encoding, buffer, maxBuffer}),
- getStream(spawned, 'stderr', {encoding, buffer, maxBuffer})
- ]).then(arr => {
- const result = arr[0];
- result.stdout = arr[1];
- result.stderr = arr[2];
- if (result.error || result.code !== 0 || result.signal !== null) {
- const err = makeError(result, {
- joinedCmd,
- parsed,
- timedOut
- });
- // TODO: missing some timeout logic for killed
- // https://github.com/nodejs/node/blob/master/lib/child_process.js#L203
- // err.killed = spawned.killed || killed;
- err.killed = err.killed || spawned.killed;
- if (!parsed.opts.reject) {
- return err;
- }
- throw err;
- }
- return {
- stdout: handleOutput(parsed.opts, result.stdout),
- stderr: handleOutput(parsed.opts, result.stderr),
- code: 0,
- failed: false,
- killed: false,
- signal: null,
- cmd: joinedCmd,
- timedOut: false
- };
- }), destroy);
- crossSpawn._enoent.hookChildProcess(spawned, parsed.parsed);
- handleInput(spawned, parsed.opts.input);
- spawned.then = (onfulfilled, onrejected) => handlePromise().then(onfulfilled, onrejected);
- spawned.catch = onrejected => handlePromise().catch(onrejected);
- return spawned;
- };
- // TODO: set `stderr: 'ignore'` when that option is implemented
- module.exports.stdout = (...args) => module.exports(...args).then(x => x.stdout);
- // TODO: set `stdout: 'ignore'` when that option is implemented
- module.exports.stderr = (...args) => module.exports(...args).then(x => x.stderr);
- module.exports.shell = (cmd, opts) => handleShell(module.exports, cmd, opts);
- module.exports.sync = (cmd, args, opts) => {
- const parsed = handleArgs(cmd, args, opts);
- const joinedCmd = joinCmd(cmd, args);
- if (isStream(parsed.opts.input)) {
- throw new TypeError('The `input` option cannot be a stream in sync mode');
- }
- const result = childProcess.spawnSync(parsed.cmd, parsed.args, parsed.opts);
- result.code = result.status;
- if (result.error || result.status !== 0 || result.signal !== null) {
- const err = makeError(result, {
- joinedCmd,
- parsed
- });
- if (!parsed.opts.reject) {
- return err;
- }
- throw err;
- }
- return {
- stdout: handleOutput(parsed.opts, result.stdout),
- stderr: handleOutput(parsed.opts, result.stderr),
- code: 0,
- failed: false,
- signal: null,
- cmd: joinedCmd,
- timedOut: false
- };
- };
- module.exports.shellSync = (cmd, opts) => handleShell(module.exports.sync, cmd, opts);
- /***/ }),
- /***/ 966:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- "use strict";
- const {PassThrough} = __webpack_require__(413);
- module.exports = options => {
- options = Object.assign({}, options);
- const {array} = options;
- let {encoding} = options;
- const buffer = encoding === 'buffer';
- let objectMode = false;
- if (array) {
- objectMode = !(encoding || buffer);
- } else {
- encoding = encoding || 'utf8';
- }
- if (buffer) {
- encoding = null;
- }
- let len = 0;
- const ret = [];
- const stream = new PassThrough({objectMode});
- if (encoding) {
- stream.setEncoding(encoding);
- }
- stream.on('data', chunk => {
- ret.push(chunk);
- if (objectMode) {
- len = ret.length;
- } else {
- len += chunk.length;
- }
- });
- stream.getBufferedValue = () => {
- if (array) {
- return ret;
- }
- return buffer ? Buffer.concat(ret, len) : ret.join('');
- };
- stream.getBufferedLength = () => len;
- return stream;
- };
- /***/ }),
- /***/ 969:
- /***/ (function(module, __unusedexports, __webpack_require__) {
- var wrappy = __webpack_require__(11)
- module.exports = wrappy(once)
- module.exports.strict = wrappy(onceStrict)
- once.proto = once(function () {
- Object.defineProperty(Function.prototype, 'once', {
- value: function () {
- return once(this)
- },
- configurable: true
- })
- Object.defineProperty(Function.prototype, 'onceStrict', {
- value: function () {
- return onceStrict(this)
- },
- configurable: true
- })
- })
- function once (fn) {
- var f = function () {
- if (f.called) return f.value
- f.called = true
- return f.value = fn.apply(this, arguments)
- }
- f.called = false
- return f
- }
- function onceStrict (fn) {
- var f = function () {
- if (f.called)
- throw new Error(f.onceError)
- f.called = true
- return f.value = fn.apply(this, arguments)
- }
- var name = fn.name || 'Function wrapped with `once`'
- f.onceError = name + " shouldn't be called more than once"
- f.called = false
- return f
- }
- /***/ })
- /******/ });
|