@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.
Files changed (108) hide show
  1. package/dist/chunk-03m2j6h7.js +2 -0
  2. package/dist/chunk-08cw7ejr.js +3 -0
  3. package/dist/chunk-0e4g0fyv.js +62 -0
  4. package/dist/chunk-0mmn02yw.js +2 -0
  5. package/dist/chunk-126c9qm3.js +2 -0
  6. package/dist/chunk-12p13817.js +2 -0
  7. package/dist/chunk-14v65c37.js +4 -0
  8. package/dist/chunk-1b6a7t3v.js +231 -0
  9. package/dist/chunk-1wenkmk0.js +2 -0
  10. package/dist/chunk-2152npfd.js +2 -0
  11. package/dist/chunk-26w23krx.js +2 -0
  12. package/dist/chunk-2g8m379z.js +10 -0
  13. package/dist/chunk-2rr178et.js +1654 -0
  14. package/dist/chunk-2w8f3swz.js +29 -0
  15. package/dist/chunk-3y4gaz7v.js +82 -0
  16. package/dist/chunk-4r1x4afz.js +12 -0
  17. package/dist/chunk-4wyw66zk.js +2 -0
  18. package/dist/chunk-4z5sf8ag.js +2 -0
  19. package/dist/chunk-58tfvayh.js +4 -0
  20. package/dist/chunk-5be9x5cq.js +3 -0
  21. package/dist/chunk-5dp83qcx.js +397 -0
  22. package/dist/chunk-5f0d9j9a.js +2 -0
  23. package/dist/chunk-5z52b0fc.js +28 -0
  24. package/dist/chunk-5zrnk2kq.js +4 -0
  25. package/dist/chunk-6bbmkwng.js +3 -0
  26. package/dist/chunk-6dmqtdnq.js +2 -0
  27. package/dist/chunk-6e91956t.js +3 -0
  28. package/dist/chunk-6rv8w5jk.js +2 -0
  29. package/dist/chunk-6x1feysm.js +3 -0
  30. package/dist/chunk-7qnxdedn.js +321 -0
  31. package/dist/chunk-7y72hm1x.js +2 -0
  32. package/dist/chunk-8hbhfh6b.js +194 -0
  33. package/dist/chunk-8kfzygg5.js +3 -0
  34. package/dist/chunk-8wpj3fqe.js +351 -0
  35. package/dist/chunk-8wydx2we.js +2 -0
  36. package/dist/chunk-8zjnjvv7.js +2 -0
  37. package/dist/chunk-9805tt8n.js +341 -0
  38. package/dist/chunk-988h4bzr.js +2 -0
  39. package/dist/chunk-9b6a58ac.js +2 -0
  40. package/dist/chunk-a8fcaywb.js +2 -0
  41. package/dist/chunk-bfjwn7yg.js +2 -0
  42. package/dist/chunk-bp2522mm.js +2 -0
  43. package/dist/chunk-brpgjyqg.js +3 -0
  44. package/dist/chunk-bswe62q4.js +48 -0
  45. package/dist/chunk-c3v796c8.js +943 -0
  46. package/dist/chunk-ccqmwdry.js +2 -0
  47. package/dist/chunk-ck0crwnx.js +2 -0
  48. package/dist/chunk-cqgkxcb4.js +2 -0
  49. package/dist/chunk-dntnakjy.js +2 -0
  50. package/dist/chunk-dxg045wj.js +5 -0
  51. package/dist/chunk-e3qej0jr.js +4 -0
  52. package/dist/chunk-ettdpnrw.js +60 -0
  53. package/dist/chunk-ezqwq17j.js +185 -0
  54. package/dist/chunk-ezx3qsez.js +2 -0
  55. package/dist/chunk-f72nnjy4.js +15413 -0
  56. package/dist/chunk-fna5n0ey.js +246 -0
  57. package/dist/chunk-fqhckdt8.js +2 -0
  58. package/dist/chunk-fr6hbx25.js +2 -0
  59. package/dist/chunk-g9cwng6w.js +3 -0
  60. package/dist/chunk-gd3za5x0.js +2 -0
  61. package/dist/chunk-gf28608k.js +2 -0
  62. package/dist/chunk-h1dj6v8q.js +3 -0
  63. package/dist/chunk-hjxe7k2g.js +2 -0
  64. package/dist/chunk-hrkgznbn.js +2 -0
  65. package/dist/chunk-j6h5v0br.js +2 -0
  66. package/dist/chunk-kjtjbcq4.js +71 -0
  67. package/dist/chunk-mgb01qdv.js +14 -0
  68. package/dist/chunk-n24c9whp.js +2 -0
  69. package/dist/chunk-n2j24b0h.js +4540 -0
  70. package/dist/chunk-nf3kv7kv.js +3 -0
  71. package/dist/chunk-nhmtg01n.js +84 -0
  72. package/dist/chunk-p0qhpnqh.js +70 -0
  73. package/dist/chunk-p0w1x8y2.js +3 -0
  74. package/dist/chunk-p3dk1w2w.js +216 -0
  75. package/dist/chunk-q4e9pxs7.js +3 -0
  76. package/dist/chunk-q5dv1kyy.js +2 -0
  77. package/dist/chunk-qnqgf9tq.js +2 -0
  78. package/dist/chunk-qvwy1808.js +898 -0
  79. package/dist/chunk-r18f77vc.js +12 -0
  80. package/dist/chunk-r63za1mr.js +2 -0
  81. package/dist/chunk-rft8gw92.js +7851 -0
  82. package/dist/chunk-ryvmyskt.js +4211 -0
  83. package/dist/chunk-sa6mx308.js +2 -0
  84. package/dist/chunk-sw0chtw4.js +4 -0
  85. package/dist/chunk-va0pc7hx.js +2 -0
  86. package/dist/chunk-vcp8dnjq.js +412 -0
  87. package/dist/chunk-vg1erq1q.js +2 -0
  88. package/dist/chunk-vsh4390q.js +358 -0
  89. package/dist/chunk-w0jv49ch.js +11 -0
  90. package/dist/chunk-wm805tte.js +35 -0
  91. package/dist/chunk-xg9xscqz.js +1 -0
  92. package/dist/chunk-xj9h6mc9.js +2 -0
  93. package/dist/chunk-ytvzwrq3.js +51 -0
  94. package/dist/chunk-zde7ebc4.js +288 -0
  95. package/dist/chunk-zmqsv2xy.js +2 -0
  96. package/dist/cli.js +51 -3233
  97. package/dist/container/index.js +1 -321
  98. package/dist/index.d.ts +1 -0
  99. package/dist/index.js +80 -13987
  100. package/dist/typed/client.d.ts +89 -0
  101. package/dist/typed/contract.d.ts +34 -0
  102. package/dist/typed/endpoint.d.ts +90 -0
  103. package/dist/typed/index.d.ts +14 -0
  104. package/dist/typed/router.d.ts +141 -0
  105. package/package.json +1 -1
  106. package/dist/chunk-1ahs68ys.js +0 -18
  107. package/dist/chunk-cgptvjdf.js +0 -18131
  108. 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};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{xe as a,ye as b}from"./chunk-kjtjbcq4.js";import"./chunk-nf3kv7kv.js";export{b as ensureTeleportTargets,a as processTeleportDirectives};