PageSourceSearch

https://entire.io/assets/RepoFileViewerProvider---ZrWnCO.js

js entire.io collected 2026-09-25 19:41:45 UTC 5,597 bytes, 3 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e._posthogReleaseId=e._posthogReleaseId||"01a0d9fb-efe9-0000-3dbc-0b83bfea13f7";var n=(new e.Error).stack;n&&(e._posthogChunkIds=e._posthogChunkIds||{},e._posthogChunkIds[n]="d8f7f0e4-19d0-5653-bc50-aeaf41ee70b7")}catch(e){}}();import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{i as t}from"./useStore-BDJgYhfw.js";import{t as n}from"./react-D3gPGVOl.js";import{t as r}from"./jsx-runtime-DiK4U9sA.js";import{n as i}from"./useSearch-B633qlq6.js";import{n as a}from"./useNavigate-D2zvuDYC.js";import{t as o}from"./useRouterState-BjZeFifP.js";import{t as s}from"./useQuery-NQB-9Asq.js";import{m as c}from"./repositoryForge-BdfuNGCH.js";import{t as l}from"./activationState-DXQuGRoV.js";import{t as u}from"./repositoryQueries-Vq4Hp5_8.js";import{t as d}from"./useKeybindings-B6yBNUeP.js";import{r as f}from"./repositoryMetadataQuery-B_7E9YC6.js";import{n as p,t as m}from"./RepoFileViewerDrawer-M6jaYFWM.js";var h=e(n(),1);function g(e){if(typeof e==`number`)return Number.isInteger(e)&&e>0?e:void 0;if(typeof e!=`string`||!/^\d+$/.test(e))return;let t=Number(e);return t>0?t:void 0}function _({line:e,lineEnd:t}){if(e!=null)return t!=null&&t!==e?`${e}-${t}`:e}function v(e){let[t,n,...r]=String(e??``).split(`-`),i=g(t);if(i==null||r.length>0)return{};if(n==null)return{line:i};let a=g(n);return a==null?{}:a===i?{line:i}:{line:Math.min(i,a),lineEnd:Math.max(i,a)}}function y(e){return{l:_(e.l==null?v(_({line:g(e.line),lineEnd:g(e.lineEnd)})):v(e.l)),symbols:e.symbols===!0||e.symbols!==!1&&void 0}}var b=r(),x=`/_app/$forge/$project/$repo/_overview/files/$/`,S=`/_app/$forge/$project/$repo/_commit/commit`,C=`/_app/$forge/$project/$repo/trails/$number/{-$slug}/changes`,w=(0,h.createContext)(null);function T(e){return e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.defaultPrevented}function E(e){if(!e||typeof e!=`object`)return null;let t=e.repoFileViewer;if(!t||typeof t!=`object`)return null;let n=t;return n.forge!==`gh`&&n.forge!==`et`||typeof n.project!=`string`||typeof n.repo!=`string`||typeof n.branch!=`string`||typeof n.filePath!=`string`?null:n}function D({forge:e,project:n,repo:r,children:g}){let y=t(),D=a(),O=(0,h.useRef)(null),k=(0,h.useRef)(null),A=o({select:e=>E(e.location.state)}),j=A?.forge===e&&A.project===n&&A.repo===r?A:null,M=i({from:x,shouldThrow:!1}),N=i({from:S,shouldThrow:!1}),P=i({from:C,shouldThrow:!1}),{data:F}=u({enabled:!1}),I=(0,h.useMemo)(()=>c(F?.repos.filter(e=>e.full_name===`${n}/${r}`)??[],e),[n,e,r,F]),{data:L}=s({...f(n,r,{forge:e}),enabled:!I}),R=I??L??null,z=l(R)===`normal`,B=(0,h.useMemo)(()=>M&&z?{forge:e,project:n,repo:r,repoId:R?.id??void 0,branch:R?.default_branch??`HEAD`,filePath:M.params._splat??``,...v(M.search.l),symbols:M.search.symbols}:null,[z,M,n,e,r,R]),V=(0,h.useCallback)(e=>{let t=y.latestLocation,n={...t.state,repoFileViewer:e};y.history.replace(t.href,n)},[y]),H=(0,h.useCallback)((t,i)=>{let a=y.latestLocation;D({href:a.href,state:e=>({...e,repoFileViewer:t}),mask:{to:`/$forge/$project/$repo/files/$`,params:{forge:e,project:n,repo:r,_splat:t.filePath},search:{l:_(t),symbols:t.symbols}},replace:i,resetScroll:!1})},[D,n,e,r,y]),U=(0,h.useCallback)((t,i)=>{if(i&&!T(i)||!z)return!1;i?.preventDefault();let a=typeof document<`u`&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body?document.activeElement:null,o=i?.currentTarget??a??k.current;return O.current=o?.isConnected?o:k.current,H({...t,forge:e,project:n,repo:r,repoId:R?.id??void 0,branch:R?.default_branch??`HEAD`},!1),!0},[z,H,n,e,r,R]),W=(0,h.useMemo)(()=>j?{close:()=>{if(y.history.canGoBack()){y.history.back();return}V(void 0)},navigateFile:(e,t)=>{H({...j,filePath:e,line:t,lineEnd:void 0},!0)},selectLineRange:(e,t)=>{H({...j,line:e,lineEnd:t},!0)},setSymbols:e=>{H({...j,symbols:e},!0)}}:null,[j,H,V,y.history]),G=(0,h.useMemo)(()=>B?{close:()=>{D({to:`/$forge/$project/$repo`,params:{forge:e,project:n,repo:r},replace:!0})},navigateFile:(t,i)=>{D({to:`/$forge/$project/$repo/files/$`,params:{forge:e,project:n,repo:r,_splat:t},search:{l:_({line:i}),symbols:B.symbols},replace:B.filePath.length===0})},selectLineRange:(t,i)=>{D({to:`/$forge/$project/$repo/files/$`,params:{forge:e,project:n,repo:r,_splat:B.filePath},search:{l:_({line:t,lineEnd:i}),symbols:B.symbols},replace:!0})},setSymbols:t=>{D({to:`/$forge/$project/$repo/files/$`,params:{forge:e,project:n,repo:r,_splat:B.filePath},search:{l:_(B),symbols:t},replace:!0})}}:null,[B,D,n,e,r]),K=z?j??B:null,q=W??G;d({d:e=>{e.defaultPrevented||document.querySelector(`[role="dialog"][aria-modal="true"]`)||(e.preventDefault(),U({filePath:``}))}},{enabled:R!=null&&z&&K==null&&!N&&!P});let J=(0,h.useCallback)(e=>{k.current=e},[]),Y=(0,h.useMemo)(()=>({state:{isOpen:K!=null},actions:{openFile:U,preloadFileViewer:p},meta:{setDefaultReturnFocus:J}}),[K,U,J]);return(0,b.jsxs)(w.Provider,{value:Y,children:[g,K&&q?(0,b.jsx)(m,{open:!0,repoId:K.repoId,forge:e,project:n,repo:r,branch:K.branch,filePath:K.filePath,initialLine:K.line,initialLineEnd:K.lineEnd,initialSymbols:K.symbols,finalFocus:O,onClose:q.close,onNavigateFile:q.navigateFile,onSelectLineRange:q.selectLineRange,onSymbol
1sChange:q.setSymbols}):null]})}function O(){let e=(0,h.use)(w);if(!e)throw Error(`useRepoFileViewer must be used within a RepoFileViewerProvider`);return e}export{O as n,y as r,D as t};
2//# sourceMappingURL=RepoFileViewerProvider---ZrWnCO.js.map
3//# chunkId=d8f7f0e4-19d0-5653-bc50-aeaf41ee70b7

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.