@stacksjs/bun-router 0.0.27 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-03m2j6h7.js +2 -0
- package/dist/chunk-08cw7ejr.js +3 -0
- package/dist/chunk-0e4g0fyv.js +62 -0
- package/dist/chunk-0mmn02yw.js +2 -0
- package/dist/chunk-126c9qm3.js +2 -0
- package/dist/chunk-12p13817.js +2 -0
- package/dist/chunk-14v65c37.js +4 -0
- package/dist/chunk-1b6a7t3v.js +231 -0
- package/dist/chunk-1wenkmk0.js +2 -0
- package/dist/chunk-2152npfd.js +2 -0
- package/dist/chunk-26w23krx.js +2 -0
- package/dist/chunk-2g8m379z.js +10 -0
- package/dist/chunk-2rr178et.js +1654 -0
- package/dist/chunk-2w8f3swz.js +29 -0
- package/dist/chunk-3y4gaz7v.js +82 -0
- package/dist/chunk-4r1x4afz.js +12 -0
- package/dist/chunk-4wyw66zk.js +2 -0
- package/dist/chunk-4z5sf8ag.js +2 -0
- package/dist/chunk-58tfvayh.js +4 -0
- package/dist/chunk-5be9x5cq.js +3 -0
- package/dist/chunk-5dp83qcx.js +397 -0
- package/dist/chunk-5f0d9j9a.js +2 -0
- package/dist/chunk-5z52b0fc.js +28 -0
- package/dist/chunk-5zrnk2kq.js +4 -0
- package/dist/chunk-6bbmkwng.js +3 -0
- package/dist/chunk-6dmqtdnq.js +2 -0
- package/dist/chunk-6e91956t.js +3 -0
- package/dist/chunk-6rv8w5jk.js +2 -0
- package/dist/chunk-6x1feysm.js +3 -0
- package/dist/chunk-7qnxdedn.js +321 -0
- package/dist/chunk-7y72hm1x.js +2 -0
- package/dist/chunk-8hbhfh6b.js +194 -0
- package/dist/chunk-8kfzygg5.js +3 -0
- package/dist/chunk-8wpj3fqe.js +351 -0
- package/dist/chunk-8wydx2we.js +2 -0
- package/dist/chunk-8zjnjvv7.js +2 -0
- package/dist/chunk-9805tt8n.js +341 -0
- package/dist/chunk-988h4bzr.js +2 -0
- package/dist/chunk-9b6a58ac.js +2 -0
- package/dist/chunk-a8fcaywb.js +2 -0
- package/dist/chunk-bfjwn7yg.js +2 -0
- package/dist/chunk-bp2522mm.js +2 -0
- package/dist/chunk-brpgjyqg.js +3 -0
- package/dist/chunk-bswe62q4.js +48 -0
- package/dist/chunk-c3v796c8.js +943 -0
- package/dist/chunk-ccqmwdry.js +2 -0
- package/dist/chunk-ck0crwnx.js +2 -0
- package/dist/chunk-cqgkxcb4.js +2 -0
- package/dist/chunk-dntnakjy.js +2 -0
- package/dist/chunk-dxg045wj.js +5 -0
- package/dist/chunk-e3qej0jr.js +4 -0
- package/dist/chunk-ettdpnrw.js +60 -0
- package/dist/chunk-ezqwq17j.js +185 -0
- package/dist/chunk-ezx3qsez.js +2 -0
- package/dist/chunk-f72nnjy4.js +15413 -0
- package/dist/chunk-fna5n0ey.js +246 -0
- package/dist/chunk-fqhckdt8.js +2 -0
- package/dist/chunk-fr6hbx25.js +2 -0
- package/dist/chunk-g9cwng6w.js +3 -0
- package/dist/chunk-gd3za5x0.js +2 -0
- package/dist/chunk-gf28608k.js +2 -0
- package/dist/chunk-h1dj6v8q.js +3 -0
- package/dist/chunk-hjxe7k2g.js +2 -0
- package/dist/chunk-hrkgznbn.js +2 -0
- package/dist/chunk-j6h5v0br.js +2 -0
- package/dist/chunk-kjtjbcq4.js +71 -0
- package/dist/chunk-mgb01qdv.js +14 -0
- package/dist/chunk-n24c9whp.js +2 -0
- package/dist/chunk-n2j24b0h.js +4540 -0
- package/dist/chunk-nf3kv7kv.js +3 -0
- package/dist/chunk-nhmtg01n.js +84 -0
- package/dist/chunk-p0qhpnqh.js +70 -0
- package/dist/chunk-p0w1x8y2.js +3 -0
- package/dist/chunk-p3dk1w2w.js +216 -0
- package/dist/chunk-q4e9pxs7.js +3 -0
- package/dist/chunk-q5dv1kyy.js +2 -0
- package/dist/chunk-qnqgf9tq.js +2 -0
- package/dist/chunk-qvwy1808.js +898 -0
- package/dist/chunk-r18f77vc.js +12 -0
- package/dist/chunk-r63za1mr.js +2 -0
- package/dist/chunk-rft8gw92.js +7851 -0
- package/dist/chunk-ryvmyskt.js +4211 -0
- package/dist/chunk-sa6mx308.js +2 -0
- package/dist/chunk-sw0chtw4.js +4 -0
- package/dist/chunk-va0pc7hx.js +2 -0
- package/dist/chunk-vcp8dnjq.js +412 -0
- package/dist/chunk-vg1erq1q.js +2 -0
- package/dist/chunk-vsh4390q.js +358 -0
- package/dist/chunk-w0jv49ch.js +11 -0
- package/dist/chunk-wm805tte.js +35 -0
- package/dist/chunk-xg9xscqz.js +1 -0
- package/dist/chunk-xj9h6mc9.js +2 -0
- package/dist/chunk-ytvzwrq3.js +51 -0
- package/dist/chunk-zde7ebc4.js +288 -0
- package/dist/chunk-zmqsv2xy.js +2 -0
- package/dist/cli.js +51 -3233
- package/dist/container/index.js +1 -321
- package/dist/index.d.ts +1 -0
- package/dist/index.js +80 -13987
- package/dist/typed/client.d.ts +89 -0
- package/dist/typed/contract.d.ts +34 -0
- package/dist/typed/endpoint.d.ts +90 -0
- package/dist/typed/index.d.ts +14 -0
- package/dist/typed/router.d.ts +141 -0
- package/package.json +1 -1
- package/dist/chunk-1ahs68ys.js +0 -18
- package/dist/chunk-cgptvjdf.js +0 -18131
- package/dist/chunk-g3ybefhg.js +0 -1923
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
function T(v,c){let{itemHeight:a,containerHeight:g,overscan:l=3,keyProperty:x="id",dynamicHeight:d=!1,estimatedItemHeight:u=a,direction:w="vertical"}=c,e=[...v],t=0,n=new Map;function f(){if(d)return m();let i=Math.max(0,Math.floor(t/a)-l),r=Math.ceil(g/a),h=Math.min(e.length-1,i+r+l*2);return{startIndex:i,endIndex:h}}function m(){let i=0,r=0,h=e.length-1;for(let p=0;p<e.length;p++){let L=n.get(p)||u;if(i+L>t){r=Math.max(0,p-l);break}i+=L}i=0;for(let p=0;p<e.length;p++){let L=n.get(p)||u;if(i+=L,i>t+g){h=Math.min(e.length-1,p+l);break}}return{startIndex:r,endIndex:h}}function H(){if(d){let i=0;for(let r=0;r<e.length;r++)i+=n.get(r)||u;return i}return e.length*a}function I(i){if(d){let r=0;for(let h=0;h<i;h++)r+=n.get(h)||u;return r}return i*a}function S(){let{startIndex:i,endIndex:r}=f();return{startIndex:i,endIndex:r,scrollTop:t,totalHeight:H(),visibleItems:e.slice(i,r+1),itemHeights:new Map(n)}}function M(i,r="auto"){let h=I(i);s(h,r)}function s(i,r="auto"){t=Math.max(0,Math.min(i,H()-g))}function o(){f()}function b(i){e=[...i],n.clear(),o()}function y(){e=[],n.clear()}return{scrollToIndex:M,scrollToOffset:s,getState:S,refresh:o,setItems:b,destroy:y}}function C(v,c={},a){let g=/@virtualList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualList/gi;return v.replace(g,(l,x,d,u)=>{let w=x.trim(),e=c[w];if(!e||!Array.isArray(e))return`<!-- virtualList: items "${w}" not found or not an array -->`;let t={itemHeight:50,containerHeight:400,overscan:3};if(d)try{let s=d.trim(),o=Function(`return ${s}`)();t={...t,...o}}catch{}let n=`vlist-${Math.random().toString(36).substring(2,9)}`,f=Math.ceil(t.containerHeight/t.itemHeight),m=t.overscan||3,H=0,I=Math.min(e.length-1,f+m),S="";for(let s=H;s<=I&&s<e.length;s++){let o=e[s],b=u.replace(/\{\{\s*item\s*\}\}/g,typeof o==="object"?JSON.stringify(o):String(o)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(y,i)=>{if(typeof o==="object"&&o!==null)return String(o[i]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(s));S+=`
|
|
3
|
+
<div class="virtual-item ${t.itemClass||""}"
|
|
4
|
+
style="position: absolute; top: ${s*t.itemHeight}px; height: ${t.itemHeight}px; width: 100%;"
|
|
5
|
+
data-index="${s}">
|
|
6
|
+
${b}
|
|
7
|
+
</div>`}let M=e.length*t.itemHeight;return`
|
|
8
|
+
<div id="${n}"
|
|
9
|
+
class="virtual-list-container ${t.containerClass||""}"
|
|
10
|
+
style="position: relative; height: ${t.containerHeight}px; overflow-y: auto;"
|
|
11
|
+
data-item-height="${t.itemHeight}"
|
|
12
|
+
data-total-items="${e.length}"
|
|
13
|
+
data-overscan="${m}">
|
|
14
|
+
<div class="virtual-list-viewport ${t.viewportClass||""}"
|
|
15
|
+
style="position: relative; height: ${M}px; width: 100%;">
|
|
16
|
+
${S}
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
<script data-virtual-list="${n}">
|
|
20
|
+
(function() {
|
|
21
|
+
const container = document.getElementById('${n}');
|
|
22
|
+
if (!container) return;
|
|
23
|
+
|
|
24
|
+
const viewport = container.querySelector('.virtual-list-viewport');
|
|
25
|
+
const itemHeight = ${t.itemHeight};
|
|
26
|
+
const totalItems = ${e.length};
|
|
27
|
+
const overscan = ${m};
|
|
28
|
+
const containerHeight = ${t.containerHeight};
|
|
29
|
+
const items = ${JSON.stringify(e)};
|
|
30
|
+
const template = ${JSON.stringify(u.trim())};
|
|
31
|
+
|
|
32
|
+
let lastStartIndex = 0;
|
|
33
|
+
|
|
34
|
+
function renderItems(scrollTop) {
|
|
35
|
+
const startIndex = Math.max(0, Math.floor(scrollTop / itemHeight) - overscan);
|
|
36
|
+
const visibleCount = Math.ceil(containerHeight / itemHeight);
|
|
37
|
+
const endIndex = Math.min(totalItems - 1, startIndex + visibleCount + overscan * 2);
|
|
38
|
+
|
|
39
|
+
if (startIndex === lastStartIndex) return;
|
|
40
|
+
lastStartIndex = startIndex;
|
|
41
|
+
|
|
42
|
+
// Clear and re-render
|
|
43
|
+
viewport.innerHTML = '';
|
|
44
|
+
|
|
45
|
+
for (let i = startIndex; i <= endIndex; i++) {
|
|
46
|
+
const item = items[i];
|
|
47
|
+
const div = document.createElement('div');
|
|
48
|
+
div.className = 'virtual-item ${t.itemClass||""}';
|
|
49
|
+
div.style.cssText = 'position: absolute; top: ' + (i * itemHeight) + 'px; height: ' + itemHeight + 'px; width: 100%;';
|
|
50
|
+
div.dataset.index = i;
|
|
51
|
+
|
|
52
|
+
let html = template
|
|
53
|
+
.replace(/\\{\\{\\s*item\\s*\\}\\}/g, typeof item === 'object' ? JSON.stringify(item) : String(item))
|
|
54
|
+
.replace(/\\{\\{\\s*item\\.(\\w+)\\s*\\}\\}/g, (_, prop) => {
|
|
55
|
+
return typeof item === 'object' && item !== null ? String(item[prop] ?? '') : '';
|
|
56
|
+
})
|
|
57
|
+
.replace(/\\{\\{\\s*index\\s*\\}\\}/g, String(i));
|
|
58
|
+
|
|
59
|
+
div.innerHTML = html;
|
|
60
|
+
viewport.appendChild(div);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
container.addEventListener('scroll', function() {
|
|
65
|
+
requestAnimationFrame(() => renderItems(container.scrollTop));
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
// Expose API
|
|
69
|
+
container.__virtualList = {
|
|
70
|
+
scrollToIndex: function(index) {
|
|
71
|
+
container.scrollTop = index * itemHeight;
|
|
72
|
+
},
|
|
73
|
+
refresh: function() {
|
|
74
|
+
renderItems(container.scrollTop);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
})();
|
|
78
|
+
</script>
|
|
79
|
+
`})}function k(){return`
|
|
80
|
+
.virtual-list-container {
|
|
81
|
+
position: relative;
|
|
82
|
+
overflow-y: auto;
|
|
83
|
+
overflow-x: hidden;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.virtual-list-container::-webkit-scrollbar {
|
|
87
|
+
width: 8px;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.virtual-list-container::-webkit-scrollbar-track {
|
|
91
|
+
background: rgba(0, 0, 0, 0.1);
|
|
92
|
+
border-radius: 4px;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.virtual-list-container::-webkit-scrollbar-thumb {
|
|
96
|
+
background: rgba(0, 0, 0, 0.3);
|
|
97
|
+
border-radius: 4px;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.virtual-list-container::-webkit-scrollbar-thumb:hover {
|
|
101
|
+
background: rgba(0, 0, 0, 0.5);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.virtual-list-viewport {
|
|
105
|
+
position: relative;
|
|
106
|
+
width: 100%;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.virtual-item {
|
|
110
|
+
position: absolute;
|
|
111
|
+
left: 0;
|
|
112
|
+
right: 0;
|
|
113
|
+
box-sizing: border-box;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* Loading placeholder for items */
|
|
117
|
+
.virtual-item-placeholder {
|
|
118
|
+
background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
|
|
119
|
+
background-size: 200% 100%;
|
|
120
|
+
animation: virtual-shimmer 1.5s infinite;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
@keyframes virtual-shimmer {
|
|
124
|
+
0% { background-position: 200% 0; }
|
|
125
|
+
100% { background-position: -200% 0; }
|
|
126
|
+
}
|
|
127
|
+
`}function N(v,c){let a=null,g=()=>{if(!a)a=T(v(),c);return a};return{visibleItems:()=>g().getState().visibleItems,totalHeight:()=>g().getState().totalHeight,containerProps:()=>({style:{height:`${c.containerHeight}px`,overflow:"auto",position:"relative"},onScroll:(l)=>{let x=l.target;if(a)a.scrollToOffset(x.scrollTop)}}),itemProps:(l)=>({style:{position:"absolute",top:`${l*c.itemHeight}px`,height:`${c.itemHeight}px`,width:"100%"},"data-index":l}),scrollToIndex:(l)=>{g().scrollToIndex(l)}}}function O(v,c={},a){let g=/@infiniteList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@loading\s*([\s\S]*?)@endinfiniteList/gi;return v.replace(g,(l,x,d,u,w)=>{let e=x.trim(),t=c[e];if(!t||!Array.isArray(t))return`<!-- infiniteList: items "${e}" not found or not an array -->`;let n={itemHeight:50,containerHeight:400,overscan:3,threshold:100,hasMore:!0};if(d)try{let H=Function(`return ${d.trim()}`)();n={...n,...H}}catch{}let f=`ilist-${Math.random().toString(36).substring(2,9)}`,m=C(`@virtualList(${e}, ${JSON.stringify({itemHeight:n.itemHeight,containerHeight:n.containerHeight,overscan:n.overscan,containerClass:n.containerClass})})${u}@endvirtualList`,c);return m=m.replace("</script>",`
|
|
128
|
+
// Infinite scroll detection
|
|
129
|
+
container.addEventListener('scroll', function() {
|
|
130
|
+
const scrollBottom = container.scrollTop + container.clientHeight;
|
|
131
|
+
const threshold = ${n.threshold};
|
|
132
|
+
const totalHeight = viewport.offsetHeight;
|
|
133
|
+
|
|
134
|
+
if (scrollBottom >= totalHeight - threshold) {
|
|
135
|
+
container.dispatchEvent(new CustomEvent('loadmore', { bubbles: true }));
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
</script>`),`
|
|
139
|
+
<div id="${f}" class="infinite-list-wrapper">
|
|
140
|
+
${m}
|
|
141
|
+
<div class="infinite-list-loading" style="display: none;">
|
|
142
|
+
${w}
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
`})}function _(v,c={},a){let g=/@virtualGrid\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualGrid/gi;return v.replace(g,(l,x,d,u)=>{let w=x.trim(),e=c[w];if(!e||!Array.isArray(e))return`<!-- virtualGrid: items "${w}" not found or not an array -->`;let t={columns:3,rowHeight:100,containerHeight:400,gap:10,overscan:2};if(d)try{let o=Function(`return ${d.trim()}`)();t={...t,...o}}catch{}let n=`vgrid-${Math.random().toString(36).substring(2,9)}`,f=Math.ceil(e.length/t.columns),m=f*(t.rowHeight+(t.gap||0)),H=Math.ceil(t.containerHeight/(t.rowHeight+(t.gap||0))),I=t.overscan||2,S=0,M=Math.min(f-1,H+I),s="";for(let o=S;o<=M;o++)for(let b=0;b<t.columns;b++){let y=o*t.columns+b;if(y>=e.length)break;let i=e[y],r=b*(100/t.columns),h=o*(t.rowHeight+(t.gap||0)),p=u.replace(/\{\{\s*item\s*\}\}/g,typeof i==="object"?JSON.stringify(i):String(i)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(L,R)=>{if(typeof i==="object"&&i!==null)return String(i[R]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(y));s+=`
|
|
146
|
+
<div class="virtual-grid-item"
|
|
147
|
+
style="position: absolute; top: ${h}px; left: ${r}%; width: calc(${100/t.columns}% - ${t.gap||0}px); height: ${t.rowHeight}px;"
|
|
148
|
+
data-index="${y}">
|
|
149
|
+
${p}
|
|
150
|
+
</div>`}return`
|
|
151
|
+
<div id="${n}"
|
|
152
|
+
class="virtual-grid-container"
|
|
153
|
+
style="position: relative; height: ${t.containerHeight}px; overflow-y: auto;">
|
|
154
|
+
<div class="virtual-grid-viewport"
|
|
155
|
+
style="position: relative; height: ${m}px; width: 100%;">
|
|
156
|
+
${s}
|
|
157
|
+
</div>
|
|
158
|
+
</div>
|
|
159
|
+
<script data-virtual-grid="${n}">
|
|
160
|
+
(function() {
|
|
161
|
+
const container = document.getElementById('${n}');
|
|
162
|
+
if (!container) return;
|
|
163
|
+
|
|
164
|
+
const viewport = container.querySelector('.virtual-grid-viewport');
|
|
165
|
+
const columns = ${t.columns};
|
|
166
|
+
const rowHeight = ${t.rowHeight};
|
|
167
|
+
const gap = ${t.gap||0};
|
|
168
|
+
const totalItems = ${e.length};
|
|
169
|
+
const overscan = ${I};
|
|
170
|
+
const containerHeight = ${t.containerHeight};
|
|
171
|
+
const items = ${JSON.stringify(e)};
|
|
172
|
+
const template = ${JSON.stringify(u.trim())};
|
|
173
|
+
|
|
174
|
+
let lastStartRow = 0;
|
|
175
|
+
|
|
176
|
+
function renderItems(scrollTop) {
|
|
177
|
+
const startRow = Math.max(0, Math.floor(scrollTop / (rowHeight + gap)) - overscan);
|
|
178
|
+
const visibleRowCount = Math.ceil(containerHeight / (rowHeight + gap));
|
|
179
|
+
const endRow = Math.min(Math.ceil(totalItems / columns) - 1, startRow + visibleRowCount + overscan * 2);
|
|
180
|
+
|
|
181
|
+
if (startRow === lastStartRow) return;
|
|
182
|
+
lastStartRow = startRow;
|
|
183
|
+
|
|
184
|
+
viewport.innerHTML = '';
|
|
185
|
+
|
|
186
|
+
for (let row = startRow; row <= endRow; row++) {
|
|
187
|
+
for (let col = 0; col < columns; col++) {
|
|
188
|
+
const index = row * columns + col;
|
|
189
|
+
if (index >= totalItems) break;
|
|
190
|
+
|
|
191
|
+
const item = items[index];
|
|
192
|
+
const div = document.createElement('div');
|
|
193
|
+
div.className = 'virtual-grid-item';
|
|
194
|
+
div.style.cssText = 'position: absolute; top: ' + (row * (rowHeight + gap)) + 'px; left: ' + (col * (100 / columns)) + '%; width: calc(' + (100 / columns) + '% - ' + gap + 'px); height: ' + rowHeight + 'px;';
|
|
195
|
+
div.dataset.index = index;
|
|
196
|
+
|
|
197
|
+
let html = template
|
|
198
|
+
.replace(/\\{\\{\\s*item\\s*\\}\\}/g, typeof item === 'object' ? JSON.stringify(item) : String(item))
|
|
199
|
+
.replace(/\\{\\{\\s*item\\.(\\w+)\\s*\\}\\}/g, (_, prop) => {
|
|
200
|
+
return typeof item === 'object' && item !== null ? String(item[prop] ?? '') : '';
|
|
201
|
+
})
|
|
202
|
+
.replace(/\\{\\{\\s*index\\s*\\}\\}/g, String(index));
|
|
203
|
+
|
|
204
|
+
div.innerHTML = html;
|
|
205
|
+
viewport.appendChild(div);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
container.addEventListener('scroll', function() {
|
|
211
|
+
requestAnimationFrame(() => renderItems(container.scrollTop));
|
|
212
|
+
});
|
|
213
|
+
})();
|
|
214
|
+
</script>
|
|
215
|
+
`})}var A={createVirtualList:T,processVirtualListDirectives:C,processInfiniteListDirectives:O,processVirtualGridDirectives:_,generateVirtualListCSS:k,useVirtualList:N};
|
|
216
|
+
export{T as Td,C as Ud,k as Vd,N as Wd,O as Xd,_ as Yd,A as Zd};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{Lm as g,Pm as S}from"./chunk-ryvmyskt.js";import{Zu as d}from"./chunk-nf3kv7kv.js";import u from"fs";import m from"path";var x=new Map,o=new Map;async function E(e){let t;for(let r=0;r<3;r++)try{let a=(await u.promises.stat(e)).mtime.getTime(),s=o.get(e);if(s&&s.mtime===a)return s.content;let i=await Bun.file(e).text(),c=(await u.promises.stat(e)).mtime.getTime();if(c!==a)continue;return o.set(e,{content:i,mtime:c}),i}catch(a){t=a;break}throw o.delete(e),Error(`File not found: ${e}${t?` (${t.message})`:""}`)}function A(e){o.delete(e)}function B(e){for(let n of o.keys())if(n.startsWith(e))o.delete(n)}var l=null,T=null,f=null;function R(e){f=e}async function D(e=!1){let n=f??await import("./chunk-a8fcaywb.js");if(e)return n.generateSignalsRuntimeDev();if(l===null)l=n.generateSignalsRuntime();return l}var h=null;async function j(){if(h===null){let{getRouterScript:e}=await import("./chunk-q5dv1kyy.js");h=e()}return h}function H(){o.clear(),S(),l=null,T=null,h=null}function w(e){let n={debug:e.debug===!0,middleware:(e.middleware??[]).map((t)=>({name:t.name,timing:t.timing,handler:String(t.handler)})),customDirectives:(e.customDirectives??[]).map((t)=>({name:t.name,hasEndTag:t.hasEndTag===!0,handler:String(t.handler)}))};return new Bun.CryptoHasher("sha1").update(JSON.stringify(n)).digest("hex")}async function M(e,n){try{if(!n.cachePath)return null;let t=m.resolve(n.cachePath),r=m.join(t,`${p(e)}.html`),a=m.join(t,`${p(e)}.meta.json`);if(!await g(r)||!await g(a))return null;let s=await Bun.file(a).text(),i=JSON.parse(s);if(i.cacheVersion!==n.cacheVersion)return null;if(i.optionsSignature!==w(n))return null;if((await u.promises.stat(e)).mtime.getTime()>i.mtime)return null;for(let c of i.dependencies)if(await g(c)){if((await u.promises.stat(c)).mtime.getTime()>i.mtime)return null}else return null;return await Bun.file(r).text()}catch(t){return console.warn(`Cache error for ${e}:`,t),null}}async function k(e,n,t,r){try{if(!r.cachePath)return;let a=m.resolve(r.cachePath);await u.promises.mkdir(a,{recursive:!0});let s=m.join(a,`${p(e)}.html`),i=m.join(a,`${p(e)}.meta.json`),c=await u.promises.stat(e);await Bun.write(s,n);let C={sourcePath:e,mtime:c.mtime.getTime(),dependencies:Array.from(t),cacheVersion:r.cacheVersion,optionsSignature:w(r),generatedAt:Date.now()};await Bun.write(i,JSON.stringify(C,null,2)),x.set(e,{output:n,mtime:c.mtime.getTime(),dependencies:t})}catch(a){console.warn(`Failed to cache template ${e}:`,a)}}var y=16;function p(e){return new Bun.CryptoHasher("sha1").update(e).digest("hex").substring(0,y)}
|
|
3
|
+
export{x as qf,E as rf,A as sf,B as tf,R as uf,D as vf,j as wf,H as xf,M as yf,k as zf,p as Af};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{Ao as z,Bo as A,Co as B,Do as C,Eo as D,Fo as E,Go as F,Ho as G,Io as H,Jo as I,Ko as J,Lo as K,bo as a,co as b,do as c,eo as d,fo as e,go as f,ho as g,io as h,jo as i,ko as j,lo as k,mo as l,no as m,oo as n,po as o,qo as p,ro as q,so as r,to as s,uo as t,vo as u,wo as v,xo as w,yo as x,zo as y}from"./chunk-2rr178et.js";import"./chunk-nf3kv7kv.js";export{a as NON_PAGE_DIRS,k as Router,u as abortNavigation,i as bracketPathToRegex,C as clearMiddleware,x as createClientCookieManager,G as createMiddlewareContext,F as createRouteLocation,l as createRouter,w as createServerCookieManager,y as createStorageManager,v as defineMiddleware,p as defineRoute,q as defineRoutes,I as deriveLayoutGroup,J as extractLayoutMetadata,f as filePathToPattern,m as findErrorPage,n as formatRoutes,e as generateRouteManifest,d as generateRouteTypes,A as getMiddleware,D as getMiddlewareNames,K as getRouterScript,B as hasMiddleware,b as isNonPageRoutePath,c as isNonPageRoutePattern,E as loadMiddlewareFromDirectory,h as matchRoute,t as navigateTo,g as patternToRegex,z as registerMiddleware,s as resetRoutes,j as resolveLayoutChain,r as route,H as runMiddleware,o as setAppUrl};
|