@nifrajs/web 4.0.2 → 5.1.0

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 (426) hide show
  1. package/README.md +19 -0
  2. package/dist/build-vite.d.ts +19 -0
  3. package/dist/build-vite.d.ts.map +1 -1
  4. package/dist/build-vite.js +31 -10
  5. package/dist/build-vite.js.map +1 -1
  6. package/dist/build.d.ts +8 -10
  7. package/dist/build.d.ts.map +1 -1
  8. package/dist/build.js +90 -31
  9. package/dist/build.js.map +1 -1
  10. package/dist/cdn.d.ts +8 -0
  11. package/dist/cdn.d.ts.map +1 -1
  12. package/dist/cdn.js +14 -15
  13. package/dist/cdn.js.map +1 -1
  14. package/dist/client.d.ts +6 -6
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +46 -18
  17. package/dist/client.js.map +1 -1
  18. package/dist/deferred.d.ts +2 -2
  19. package/dist/deferred.d.ts.map +1 -1
  20. package/dist/deferred.js +28 -7
  21. package/dist/deferred.js.map +1 -1
  22. package/dist/dev-feed.d.ts.map +1 -1
  23. package/dist/dev-feed.js +24 -5
  24. package/dist/dev-feed.js.map +1 -1
  25. package/dist/dev-port.d.ts +3 -2
  26. package/dist/dev-port.d.ts.map +1 -1
  27. package/dist/dev-port.js +2 -6
  28. package/dist/dev-port.js.map +1 -1
  29. package/dist/dev-session.d.ts.map +1 -1
  30. package/dist/dev-session.js +4 -14
  31. package/dist/dev-session.js.map +1 -1
  32. package/dist/dev.d.ts +7 -17
  33. package/dist/dev.d.ts.map +1 -1
  34. package/dist/dev.js +13 -1
  35. package/dist/dev.js.map +1 -1
  36. package/dist/draft.d.ts +8 -5
  37. package/dist/draft.d.ts.map +1 -1
  38. package/dist/draft.js +30 -13
  39. package/dist/draft.js.map +1 -1
  40. package/dist/fonts-google.d.ts.map +1 -1
  41. package/dist/fonts-google.js +7 -0
  42. package/dist/fonts-google.js.map +1 -1
  43. package/dist/index.d.ts +5 -4
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +4 -3
  46. package/dist/index.js.map +1 -1
  47. package/dist/internal/codegen.d.ts +1 -0
  48. package/dist/internal/codegen.d.ts.map +1 -1
  49. package/dist/internal/codegen.js +56 -29
  50. package/dist/internal/codegen.js.map +1 -1
  51. package/dist/internal/disposable-dir.d.ts +8 -0
  52. package/dist/internal/disposable-dir.d.ts.map +1 -0
  53. package/dist/internal/disposable-dir.js +25 -0
  54. package/dist/internal/disposable-dir.js.map +1 -0
  55. package/dist/internal/entry-chunks.d.ts +9 -0
  56. package/dist/internal/entry-chunks.d.ts.map +1 -0
  57. package/dist/internal/entry-chunks.js +15 -0
  58. package/dist/internal/entry-chunks.js.map +1 -0
  59. package/dist/internal/evidence-traversal.d.ts +12 -0
  60. package/dist/internal/evidence-traversal.d.ts.map +1 -0
  61. package/dist/internal/evidence-traversal.js +48 -0
  62. package/dist/internal/evidence-traversal.js.map +1 -0
  63. package/dist/internal/head-merge.d.ts +6 -0
  64. package/dist/internal/head-merge.d.ts.map +1 -1
  65. package/dist/internal/head-merge.js +9 -0
  66. package/dist/internal/head-merge.js.map +1 -1
  67. package/dist/internal/js-string.d.ts +2 -0
  68. package/dist/internal/js-string.d.ts.map +1 -1
  69. package/dist/internal/js-string.js +5 -1
  70. package/dist/internal/js-string.js.map +1 -1
  71. package/dist/internal/mount-shadow.js +1 -1
  72. package/dist/internal/mount-shadow.js.map +1 -1
  73. package/dist/internal/output-guard.d.ts +7 -0
  74. package/dist/internal/output-guard.d.ts.map +1 -1
  75. package/dist/internal/output-guard.js +80 -8
  76. package/dist/internal/output-guard.js.map +1 -1
  77. package/dist/internal/package-entries.d.ts +34 -0
  78. package/dist/internal/package-entries.d.ts.map +1 -0
  79. package/dist/internal/package-entries.js +324 -0
  80. package/dist/internal/package-entries.js.map +1 -0
  81. package/dist/internal/page-execution.d.ts +6 -0
  82. package/dist/internal/page-execution.d.ts.map +1 -1
  83. package/dist/internal/page-execution.js +437 -114
  84. package/dist/internal/page-execution.js.map +1 -1
  85. package/dist/internal/parity.d.ts.map +1 -1
  86. package/dist/internal/parity.js +15 -2
  87. package/dist/internal/parity.js.map +1 -1
  88. package/dist/internal/private-env.d.ts +8 -0
  89. package/dist/internal/private-env.d.ts.map +1 -1
  90. package/dist/internal/private-env.js +25 -10
  91. package/dist/internal/private-env.js.map +1 -1
  92. package/dist/internal/progressive-cookies.d.ts +14 -0
  93. package/dist/internal/progressive-cookies.d.ts.map +1 -0
  94. package/dist/internal/progressive-cookies.js +43 -0
  95. package/dist/internal/progressive-cookies.js.map +1 -0
  96. package/dist/internal/public-env.d.ts +2 -0
  97. package/dist/internal/public-env.d.ts.map +1 -0
  98. package/dist/internal/public-env.js +13 -0
  99. package/dist/internal/public-env.js.map +1 -0
  100. package/dist/internal/render-document.d.ts +5 -44
  101. package/dist/internal/render-document.d.ts.map +1 -1
  102. package/dist/internal/render-document.js +51 -63
  103. package/dist/internal/render-document.js.map +1 -1
  104. package/dist/internal/response-controls.d.ts +2 -0
  105. package/dist/internal/response-controls.d.ts.map +1 -1
  106. package/dist/internal/response-controls.js +26 -16
  107. package/dist/internal/response-controls.js.map +1 -1
  108. package/dist/internal/revive-dates.d.ts +16 -0
  109. package/dist/internal/revive-dates.d.ts.map +1 -0
  110. package/dist/internal/revive-dates.js +32 -0
  111. package/dist/internal/revive-dates.js.map +1 -0
  112. package/dist/internal/route-path.d.ts +14 -0
  113. package/dist/internal/route-path.d.ts.map +1 -0
  114. package/dist/internal/route-path.js +19 -0
  115. package/dist/internal/route-path.js.map +1 -0
  116. package/dist/internal/secret-scan.d.ts.map +1 -1
  117. package/dist/internal/secret-scan.js +190 -20
  118. package/dist/internal/secret-scan.js.map +1 -1
  119. package/dist/internal/server-boundary.d.ts.map +1 -1
  120. package/dist/internal/server-boundary.js +33 -5
  121. package/dist/internal/server-boundary.js.map +1 -1
  122. package/dist/internal/web-app.d.ts +25 -18
  123. package/dist/internal/web-app.d.ts.map +1 -1
  124. package/dist/internal/web-app.js +81 -24
  125. package/dist/internal/web-app.js.map +1 -1
  126. package/dist/internal/wire-date.d.ts +3 -0
  127. package/dist/internal/wire-date.d.ts.map +1 -0
  128. package/dist/internal/wire-date.js +14 -0
  129. package/dist/internal/wire-date.js.map +1 -0
  130. package/dist/internal/without-query.d.ts +4 -0
  131. package/dist/internal/without-query.d.ts.map +1 -0
  132. package/dist/internal/without-query.js +9 -0
  133. package/dist/internal/without-query.js.map +1 -0
  134. package/dist/internal/zone-graph.d.ts +4 -0
  135. package/dist/internal/zone-graph.d.ts.map +1 -1
  136. package/dist/internal/zone-graph.js +71 -20
  137. package/dist/internal/zone-graph.js.map +1 -1
  138. package/dist/isr.d.ts +59 -3
  139. package/dist/isr.d.ts.map +1 -1
  140. package/dist/isr.js +311 -41
  141. package/dist/isr.js.map +1 -1
  142. package/dist/llms-txt.d.ts +2 -0
  143. package/dist/llms-txt.d.ts.map +1 -1
  144. package/dist/llms-txt.js +29 -3
  145. package/dist/llms-txt.js.map +1 -1
  146. package/dist/manifest.d.ts +37 -4
  147. package/dist/manifest.d.ts.map +1 -1
  148. package/dist/manifest.js +4 -0
  149. package/dist/manifest.js.map +1 -1
  150. package/dist/open-resolved.d.ts +18 -0
  151. package/dist/open-resolved.d.ts.map +1 -0
  152. package/dist/open-resolved.js +62 -0
  153. package/dist/open-resolved.js.map +1 -0
  154. package/dist/plugins/kit.d.ts +1 -0
  155. package/dist/plugins/kit.d.ts.map +1 -1
  156. package/dist/plugins/kit.js +26 -11
  157. package/dist/plugins/kit.js.map +1 -1
  158. package/dist/plugins/vite-leak-guard.d.ts +9 -1
  159. package/dist/plugins/vite-leak-guard.d.ts.map +1 -1
  160. package/dist/plugins/vite-leak-guard.js +84 -7
  161. package/dist/plugins/vite-leak-guard.js.map +1 -1
  162. package/dist/plugins/vite-zone-guard.d.ts.map +1 -1
  163. package/dist/plugins/vite-zone-guard.js +17 -21
  164. package/dist/plugins/vite-zone-guard.js.map +1 -1
  165. package/dist/plugins/zone-guard.d.ts.map +1 -1
  166. package/dist/plugins/zone-guard.js +44 -3
  167. package/dist/plugins/zone-guard.js.map +1 -1
  168. package/dist/prerender.d.ts +5 -1
  169. package/dist/prerender.d.ts.map +1 -1
  170. package/dist/prerender.js +41 -19
  171. package/dist/prerender.js.map +1 -1
  172. package/dist/public-dir.d.ts +8 -1
  173. package/dist/public-dir.d.ts.map +1 -1
  174. package/dist/public-dir.js +17 -6
  175. package/dist/public-dir.js.map +1 -1
  176. package/dist/query.d.ts +13 -4
  177. package/dist/query.d.ts.map +1 -1
  178. package/dist/query.js +89 -26
  179. package/dist/query.js.map +1 -1
  180. package/dist/render-seam.d.ts +25 -2
  181. package/dist/render-seam.d.ts.map +1 -1
  182. package/dist/render-seam.js +1 -0
  183. package/dist/render-seam.js.map +1 -1
  184. package/dist/route-types.d.ts.map +1 -1
  185. package/dist/route-types.js +20 -9
  186. package/dist/route-types.js.map +1 -1
  187. package/dist/router.d.ts +9 -2
  188. package/dist/router.d.ts.map +1 -1
  189. package/dist/router.js +47 -50
  190. package/dist/router.js.map +1 -1
  191. package/dist/seo.d.ts +49 -0
  192. package/dist/seo.d.ts.map +1 -0
  193. package/dist/seo.js +48 -0
  194. package/dist/seo.js.map +1 -0
  195. package/dist/server-components/build-info.d.ts +3 -0
  196. package/dist/server-components/build-info.d.ts.map +1 -0
  197. package/dist/server-components/build-info.js +7 -0
  198. package/dist/server-components/build-info.js.map +1 -0
  199. package/dist/server-components/build-target.d.ts +12 -0
  200. package/dist/server-components/build-target.d.ts.map +1 -0
  201. package/dist/server-components/build-target.js +153 -0
  202. package/dist/server-components/build-target.js.map +1 -0
  203. package/dist/server-components/build.d.ts +24 -0
  204. package/dist/server-components/build.d.ts.map +1 -0
  205. package/dist/server-components/build.js +366 -0
  206. package/dist/server-components/build.js.map +1 -0
  207. package/dist/server-components/bundle-proof.d.ts +3 -0
  208. package/dist/server-components/bundle-proof.d.ts.map +1 -0
  209. package/dist/server-components/bundle-proof.js +23 -0
  210. package/dist/server-components/bundle-proof.js.map +1 -0
  211. package/dist/server-components/client.d.ts +46 -0
  212. package/dist/server-components/client.d.ts.map +1 -0
  213. package/dist/server-components/client.js +594 -0
  214. package/dist/server-components/client.js.map +1 -0
  215. package/dist/server-components/definition.d.ts +11 -0
  216. package/dist/server-components/definition.d.ts.map +1 -0
  217. package/dist/server-components/definition.js +94 -0
  218. package/dist/server-components/definition.js.map +1 -0
  219. package/dist/server-components/dev-http.d.ts +5 -0
  220. package/dist/server-components/dev-http.d.ts.map +1 -0
  221. package/dist/server-components/dev-http.js +71 -0
  222. package/dist/server-components/dev-http.js.map +1 -0
  223. package/dist/server-components/error.d.ts +9 -0
  224. package/dist/server-components/error.d.ts.map +1 -0
  225. package/dist/server-components/error.js +24 -0
  226. package/dist/server-components/error.js.map +1 -0
  227. package/dist/server-components/frames.d.ts +7 -0
  228. package/dist/server-components/frames.d.ts.map +1 -0
  229. package/dist/server-components/frames.js +169 -0
  230. package/dist/server-components/frames.js.map +1 -0
  231. package/dist/server-components/html-policy.d.ts +6 -0
  232. package/dist/server-components/html-policy.d.ts.map +1 -0
  233. package/dist/server-components/html-policy.js +75 -0
  234. package/dist/server-components/html-policy.js.map +1 -0
  235. package/dist/server-components/html.d.ts +4 -0
  236. package/dist/server-components/html.d.ts.map +1 -0
  237. package/dist/server-components/html.js +67 -0
  238. package/dist/server-components/html.js.map +1 -0
  239. package/dist/server-components/islands.d.ts +44 -0
  240. package/dist/server-components/islands.d.ts.map +1 -0
  241. package/dist/server-components/islands.js +42 -0
  242. package/dist/server-components/islands.js.map +1 -0
  243. package/dist/server-components/native.d.ts +4 -0
  244. package/dist/server-components/native.d.ts.map +1 -0
  245. package/dist/server-components/native.js +81 -0
  246. package/dist/server-components/native.js.map +1 -0
  247. package/dist/server-components/portal.d.ts +6 -0
  248. package/dist/server-components/portal.d.ts.map +1 -0
  249. package/dist/server-components/portal.js +35 -0
  250. package/dist/server-components/portal.js.map +1 -0
  251. package/dist/server-components/props.d.ts +3 -0
  252. package/dist/server-components/props.d.ts.map +1 -0
  253. package/dist/server-components/props.js +14 -0
  254. package/dist/server-components/props.js.map +1 -0
  255. package/dist/server-components/protocol.d.ts +44 -0
  256. package/dist/server-components/protocol.d.ts.map +1 -0
  257. package/dist/server-components/protocol.js +139 -0
  258. package/dist/server-components/protocol.js.map +1 -0
  259. package/dist/server-components/range.d.ts +24 -0
  260. package/dist/server-components/range.d.ts.map +1 -0
  261. package/dist/server-components/range.js +263 -0
  262. package/dist/server-components/range.js.map +1 -0
  263. package/dist/server-components/registry.d.ts +6 -0
  264. package/dist/server-components/registry.d.ts.map +1 -0
  265. package/dist/server-components/registry.js +30 -0
  266. package/dist/server-components/registry.js.map +1 -0
  267. package/dist/server-components/response.d.ts +4 -0
  268. package/dist/server-components/response.d.ts.map +1 -0
  269. package/dist/server-components/response.js +32 -0
  270. package/dist/server-components/response.js.map +1 -0
  271. package/dist/server-components/router-integration.d.ts +9 -0
  272. package/dist/server-components/router-integration.d.ts.map +1 -0
  273. package/dist/server-components/router-integration.js +29 -0
  274. package/dist/server-components/router-integration.js.map +1 -0
  275. package/dist/server-components/runtime.d.ts +14 -0
  276. package/dist/server-components/runtime.d.ts.map +1 -0
  277. package/dist/server-components/runtime.js +276 -0
  278. package/dist/server-components/runtime.js.map +1 -0
  279. package/dist/server-components/scheduler.d.ts +14 -0
  280. package/dist/server-components/scheduler.d.ts.map +1 -0
  281. package/dist/server-components/scheduler.js +74 -0
  282. package/dist/server-components/scheduler.js.map +1 -0
  283. package/dist/server-components/schema.d.ts +4 -0
  284. package/dist/server-components/schema.d.ts.map +1 -0
  285. package/dist/server-components/schema.js +77 -0
  286. package/dist/server-components/schema.js.map +1 -0
  287. package/dist/server-components/server-entry.d.ts +12 -0
  288. package/dist/server-components/server-entry.d.ts.map +1 -0
  289. package/dist/server-components/server-entry.js +90 -0
  290. package/dist/server-components/server-entry.js.map +1 -0
  291. package/dist/server-components/source.d.ts +15 -0
  292. package/dist/server-components/source.d.ts.map +1 -0
  293. package/dist/server-components/source.js +269 -0
  294. package/dist/server-components/source.js.map +1 -0
  295. package/dist/server-components/state.d.ts +4 -0
  296. package/dist/server-components/state.d.ts.map +1 -0
  297. package/dist/server-components/state.js +123 -0
  298. package/dist/server-components/state.js.map +1 -0
  299. package/dist/server-components/stream.d.ts +6 -0
  300. package/dist/server-components/stream.d.ts.map +1 -0
  301. package/dist/server-components/stream.js +70 -0
  302. package/dist/server-components/stream.js.map +1 -0
  303. package/dist/server-components/trusted-html.d.ts +3 -0
  304. package/dist/server-components/trusted-html.d.ts.map +1 -0
  305. package/dist/server-components/trusted-html.js +14 -0
  306. package/dist/server-components/trusted-html.js.map +1 -0
  307. package/dist/server-components/types.d.ts +107 -0
  308. package/dist/server-components/types.d.ts.map +1 -0
  309. package/dist/server-components/types.js +2 -0
  310. package/dist/server-components/types.js.map +1 -0
  311. package/dist/server-components/typescript.d.ts +11 -0
  312. package/dist/server-components/typescript.d.ts.map +1 -0
  313. package/dist/server-components/typescript.js +28 -0
  314. package/dist/server-components/typescript.js.map +1 -0
  315. package/dist/server-components/value.d.ts +5 -0
  316. package/dist/server-components/value.d.ts.map +1 -0
  317. package/dist/server-components/value.js +77 -0
  318. package/dist/server-components/value.js.map +1 -0
  319. package/dist/server-components/vite.d.ts +12 -0
  320. package/dist/server-components/vite.d.ts.map +1 -0
  321. package/dist/server-components/vite.js +197 -0
  322. package/dist/server-components/vite.js.map +1 -0
  323. package/dist/server-components.d.ts +5 -0
  324. package/dist/server-components.d.ts.map +1 -0
  325. package/dist/server-components.js +4 -0
  326. package/dist/server-components.js.map +1 -0
  327. package/dist/service-worker.d.ts +8 -1
  328. package/dist/service-worker.d.ts.map +1 -1
  329. package/dist/service-worker.js +20 -6
  330. package/dist/service-worker.js.map +1 -1
  331. package/dist/vite.d.ts +12 -0
  332. package/dist/vite.d.ts.map +1 -1
  333. package/dist/vite.js +7 -1
  334. package/dist/vite.js.map +1 -1
  335. package/dist/zones.d.ts +64 -2
  336. package/dist/zones.d.ts.map +1 -1
  337. package/dist/zones.js +331 -28
  338. package/dist/zones.js.map +1 -1
  339. package/package.json +102 -4
  340. package/src/build-vite.ts +31 -9
  341. package/src/build.ts +109 -31
  342. package/src/cdn.ts +18 -12
  343. package/src/client.ts +48 -17
  344. package/src/deferred.ts +27 -9
  345. package/src/dev-feed.ts +24 -5
  346. package/src/dev-port.ts +4 -10
  347. package/src/dev-session.ts +4 -13
  348. package/src/dev.ts +29 -1
  349. package/src/draft.ts +35 -14
  350. package/src/fonts-google.ts +10 -0
  351. package/src/index.ts +5 -6
  352. package/src/internal/codegen.ts +60 -29
  353. package/src/internal/disposable-dir.ts +24 -0
  354. package/src/internal/entry-chunks.ts +18 -0
  355. package/src/internal/evidence-traversal.ts +57 -0
  356. package/src/internal/head-merge.ts +16 -0
  357. package/src/internal/js-string.ts +6 -1
  358. package/src/internal/mount-shadow.ts +1 -1
  359. package/src/internal/output-guard.ts +88 -7
  360. package/src/internal/package-entries.ts +331 -0
  361. package/src/internal/page-execution.ts +573 -114
  362. package/src/internal/parity.ts +15 -2
  363. package/src/internal/private-env.ts +27 -13
  364. package/src/internal/progressive-cookies.ts +60 -0
  365. package/src/internal/public-env.ts +14 -0
  366. package/src/internal/render-document.ts +66 -89
  367. package/src/internal/response-controls.ts +31 -14
  368. package/src/internal/revive-dates.ts +35 -0
  369. package/src/internal/route-path.ts +24 -0
  370. package/src/internal/secret-scan.ts +190 -18
  371. package/src/internal/server-boundary.ts +29 -5
  372. package/src/internal/web-app.ts +126 -42
  373. package/src/internal/wire-date.ts +16 -0
  374. package/src/internal/without-query.ts +8 -0
  375. package/src/internal/zone-graph.ts +78 -25
  376. package/src/isr.ts +364 -45
  377. package/src/llms-txt.ts +32 -3
  378. package/src/manifest.ts +38 -4
  379. package/src/open-resolved.ts +64 -0
  380. package/src/plugins/kit.ts +31 -11
  381. package/src/plugins/vite-leak-guard.ts +104 -8
  382. package/src/plugins/vite-zone-guard.ts +21 -19
  383. package/src/plugins/zone-guard.ts +41 -2
  384. package/src/prerender.ts +39 -18
  385. package/src/public-dir.ts +27 -8
  386. package/src/query.ts +107 -26
  387. package/src/render-seam.ts +30 -2
  388. package/src/route-types.ts +34 -7
  389. package/src/router.ts +66 -59
  390. package/src/seo.ts +68 -0
  391. package/src/server-components/build-info.ts +11 -0
  392. package/src/server-components/build-target.ts +194 -0
  393. package/src/server-components/build.ts +419 -0
  394. package/src/server-components/bundle-proof.ts +33 -0
  395. package/src/server-components/client.ts +663 -0
  396. package/src/server-components/definition.ts +125 -0
  397. package/src/server-components/dev-http.ts +75 -0
  398. package/src/server-components/error.ts +24 -0
  399. package/src/server-components/frames.ts +181 -0
  400. package/src/server-components/html-policy.ts +94 -0
  401. package/src/server-components/html.ts +81 -0
  402. package/src/server-components/islands.ts +111 -0
  403. package/src/server-components/native.ts +101 -0
  404. package/src/server-components/portal.ts +42 -0
  405. package/src/server-components/props.ts +19 -0
  406. package/src/server-components/protocol.ts +167 -0
  407. package/src/server-components/range.ts +313 -0
  408. package/src/server-components/registry.ts +34 -0
  409. package/src/server-components/response.ts +44 -0
  410. package/src/server-components/router-integration.ts +40 -0
  411. package/src/server-components/runtime.ts +376 -0
  412. package/src/server-components/scheduler.ts +84 -0
  413. package/src/server-components/schema.ts +69 -0
  414. package/src/server-components/server-entry.ts +98 -0
  415. package/src/server-components/source.ts +324 -0
  416. package/src/server-components/state.ts +143 -0
  417. package/src/server-components/stream.ts +71 -0
  418. package/src/server-components/trusted-html.ts +21 -0
  419. package/src/server-components/types.ts +138 -0
  420. package/src/server-components/typescript.ts +39 -0
  421. package/src/server-components/value.ts +82 -0
  422. package/src/server-components/vite.ts +242 -0
  423. package/src/server-components.ts +32 -0
  424. package/src/service-worker.ts +24 -7
  425. package/src/vite.ts +8 -1
  426. package/src/zones.ts +418 -32
package/dist/zones.js CHANGED
@@ -11,7 +11,9 @@
11
11
  */
12
12
  import { closeSync, existsSync, openSync, readFileSync, readSync, realpathSync } from "node:fs";
13
13
  import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
14
+ import { entryKey, entryOwnership, parseEnvironment, } from "./internal/package-entries.js";
14
15
  import { SERVER_FN_MODULE } from "./internal/server-boundary.js";
16
+ import { withoutQuery } from "./internal/without-query.js";
15
17
  const PACKAGE_ENVIRONMENTS = new Set([
16
18
  "frontend",
17
19
  "backend",
@@ -77,12 +79,141 @@ const SOURCE = "(?:[cm]?[jt]sx?|svelte|vue|mdx)";
77
79
  export const ROUTE_BACKEND_FILE = /\.backend\.(?:[cm]?[jt]s)$/;
78
80
  const ZONE_SUFFIX = new RegExp(`\\.(frontend|backend|shared|fn)\\.${SOURCE}$`);
79
81
  const LEGACY_SERVER_SUFFIX = new RegExp(`\\.server\\.${SOURCE}$`);
82
+ export const SERVER_COMPONENT_FILE = /\.component\.server\.[cm]?[jt]sx?$/;
80
83
  const ZONE_FOLDERS = {
81
84
  frontend: "frontend",
82
85
  backend: "backend",
83
86
  shared: "shared",
84
87
  public: "frontend",
85
88
  };
89
+ /** A `"nifra": { "zones": ... }` setting that cannot be applied. Thrown when a classifier is created. */
90
+ export class ZoneConfigError extends Error {
91
+ name = "ZoneConfigError";
92
+ /** The file holding the setting, as the caller named it. */
93
+ source;
94
+ constructor(source, problem) {
95
+ super(`[nifra] ${source} "nifra.zones": ${problem}`);
96
+ this.source = source;
97
+ }
98
+ }
99
+ const FOLDER_SIDES = ["backend", "frontend", "shared"];
100
+ const FOLDER_SIDE_NAMES = new Set(FOLDER_SIDES);
101
+ const isPackageEnvironment = (value) => typeof value === "string" && PACKAGE_ENVIRONMENTS.has(value);
102
+ const RESERVED_FOLDERS = new Set([
103
+ "routes",
104
+ "frontend",
105
+ "backend",
106
+ "shared",
107
+ "public",
108
+ "node_modules",
109
+ ]);
110
+ const recordOf = (value) => typeof value === "object" && value !== null && !Array.isArray(value)
111
+ ? Object.fromEntries(Object.entries(value))
112
+ : undefined;
113
+ /**
114
+ * Validate a `zones` setting. `source` names where it came from in the error. Folders and files are
115
+ * plain app-relative paths (a trailing `/**` is accepted and dropped); any other glob is refused, so
116
+ * a pattern can never match less than its author meant without saying so. One path under two sides
117
+ * is refused; a path nested in another's folder is not, since the most specific one decides.
118
+ */
119
+ export function parseZoneConfig(value, source) {
120
+ const fail = (message) => {
121
+ throw new ZoneConfigError(source, message);
122
+ };
123
+ const record = recordOf(value) ?? fail("must be an object");
124
+ const config = {};
125
+ for (const key of Object.keys(record)) {
126
+ if (key !== "packages" && !FOLDER_SIDE_NAMES.has(key))
127
+ fail(`unknown key "${key}" (expected packages, backend, frontend or shared)`);
128
+ }
129
+ if (record.packages !== undefined) {
130
+ const packages = recordOf(record.packages) ?? fail('"packages" must be an object');
131
+ const parsed = {};
132
+ for (const [pattern, side] of Object.entries(packages)) {
133
+ if (pattern === "" || pattern.indexOf("*") !== pattern.lastIndexOf("*"))
134
+ fail(`package pattern "${pattern}" must be a name, or a name prefix ending in one "*"`);
135
+ if (pattern.includes("*") && !pattern.endsWith("*"))
136
+ fail(`package pattern "${pattern}" may use "*" only at its end`);
137
+ parsed[pattern] = isPackageEnvironment(side)
138
+ ? side
139
+ : fail(`packages["${pattern}"] must be one of frontend, backend, shared, library`);
140
+ }
141
+ config.packages = parsed;
142
+ }
143
+ const owner = new Map();
144
+ for (const side of FOLDER_SIDES) {
145
+ const raw = record[side];
146
+ if (raw === undefined)
147
+ continue;
148
+ const entries = Array.isArray(raw)
149
+ ? raw
150
+ : fail(`"${side}" must be an array of app-relative folders or files`);
151
+ const folders = [];
152
+ for (const entry of entries) {
153
+ const folder = (typeof entry === "string" ? entry : fail(`"${side}" must hold strings`))
154
+ .replaceAll("\\", "/")
155
+ .replace(/^\.\//, "")
156
+ .replace(/\/\*\*$/, "")
157
+ .replace(/\/+$/, "");
158
+ const top = folder.split("/")[0] ?? "";
159
+ if (folder === "" || folder.startsWith("/") || /^[a-z]:/i.test(folder))
160
+ fail(`"${side}" entry "${entry}" must be a folder or file relative to the app`);
161
+ if (folder.split("/").includes(".."))
162
+ fail(`"${side}" entry "${entry}" may not contain ".."`);
163
+ if (/[*?[\]{}!]/.test(folder))
164
+ fail(`"${side}" entry "${entry}" must be a plain path (a trailing "/**" is allowed)`);
165
+ if (RESERVED_FOLDERS.has(top) || top.startsWith(".nifra"))
166
+ fail(`"${side}" entry "${entry}" is inside ${top}/, which already has its own rules`);
167
+ const other = owner.get(folder);
168
+ if (other !== undefined && other !== side)
169
+ fail(`"${folder}" is listed as both ${other} and ${side}; a path has one side`);
170
+ owner.set(folder, side);
171
+ folders.push(folder);
172
+ }
173
+ config[side] = folders;
174
+ }
175
+ return config;
176
+ }
177
+ /** The `nifra.zones` of the nearest package.json at or above `appRoot`, validated. */
178
+ function appZoneConfig(appRoot) {
179
+ let dir = appRoot;
180
+ for (;;) {
181
+ const manifest = join(dir, "package.json");
182
+ if (existsSync(manifest)) {
183
+ let parsed;
184
+ try {
185
+ parsed = JSON.parse(readFileSync(manifest, "utf8"));
186
+ }
187
+ catch {
188
+ return {};
189
+ }
190
+ const zones = recordOf(recordOf(parsed)?.nifra)?.zones;
191
+ return zones === undefined ? {} : parseZoneConfig(zones, toPosix(manifest));
192
+ }
193
+ const parent = dirname(dir);
194
+ if (parent === dir)
195
+ return {};
196
+ dir = parent;
197
+ }
198
+ }
199
+ /** The side `packages` gives `name`: the exact entry, else the longest matching prefix. */
200
+ function mappedSide(packages, name) {
201
+ if (packages === undefined || name === undefined)
202
+ return undefined;
203
+ const exact = packages[name];
204
+ if (exact !== undefined && Object.hasOwn(packages, name))
205
+ return exact;
206
+ let best;
207
+ for (const pattern of Object.keys(packages)) {
208
+ if (!pattern.endsWith("*") || !name.startsWith(pattern.slice(0, -1)))
209
+ continue;
210
+ if (best === undefined || pattern.length > best.length)
211
+ best = pattern;
212
+ }
213
+ return best === undefined ? undefined : packages[best];
214
+ }
215
+ /** How the `packages` setting would name `name`: its scope wildcard when it has a scope. */
216
+ const suggestedPattern = (name) => name.startsWith("@") && name.includes("/") ? `${name.slice(0, name.indexOf("/"))}/*` : name;
86
217
  const toPosix = (path) => path.replaceAll("\\", "/");
87
218
  // `generateServerManifest`'s first line. The manifest composes both halves of every route, so it
88
219
  // imports frontend code from wherever the build wrote it - next to the server entry, often backend/.
@@ -131,6 +262,16 @@ function nodeModulesPackage(path) {
131
262
  return undefined;
132
263
  return first.startsWith("@") && parts[1] !== undefined ? `${first}/${parts[1]}` : first;
133
264
  }
265
+ const DECLARATION_FILE = /\.d\.[cm]?ts$/;
266
+ /** The one side a file reached by several mapped entries takes: what each entry's importers may import. */
267
+ function ownersSide(owners) {
268
+ const [only] = owners;
269
+ if (owners.size === 1 && only !== undefined)
270
+ return only;
271
+ return owners.has("library") || (owners.has("frontend") && owners.has("backend"))
272
+ ? "library"
273
+ : "shared";
274
+ }
134
275
  /**
135
276
  * Create a classifier for one app. Cheap to create; it caches per file and per package directory,
136
277
  * so build plugins and dev servers keep one for the life of a build or a session.
@@ -139,6 +280,16 @@ export function createZoneClassifier(options) {
139
280
  const appRoot = realFile(resolve(options.appRoot));
140
281
  const routesDir = realFile(resolve(options.routesDir ?? join(options.appRoot, "routes")));
141
282
  const generated = new Set((options.generatedFiles ?? []).map((file) => realFile(resolve(file))));
283
+ const zones = options.zones === undefined
284
+ ? appZoneConfig(appRoot)
285
+ : parseZoneConfig(options.zones, "ZoneClassifierOptions");
286
+ const configuredFolders = [];
287
+ for (const side of FOLDER_SIDES)
288
+ for (const folder of zones[side] ?? [])
289
+ configuredFolders.push([folder, side]);
290
+ // Longest first, so the most specific entry covering a file decides its side.
291
+ configuredFolders.sort(([a], [b]) => b.length - a.length);
292
+ const configuredPath = (rel) => configuredFolders.find(([folder]) => rel === folder || rel.startsWith(`${folder}/`));
142
293
  const cache = new Map();
143
294
  const packages = new Map();
144
295
  /** The nearest `package.json` at or above `dir`, cached by directory. */
@@ -157,7 +308,7 @@ export function createZoneClassifier(options) {
157
308
  if (existsSync(manifest)) {
158
309
  let parsed = {};
159
310
  try {
160
- parsed = JSON.parse(readFileSync(manifest, "utf8"));
311
+ parsed = recordOf(JSON.parse(readFileSync(manifest, "utf8"))) ?? {};
161
312
  }
162
313
  catch {
163
314
  // An unreadable manifest declares nothing; the caller reports the missing declaration.
@@ -165,7 +316,8 @@ export function createZoneClassifier(options) {
165
316
  const info = {
166
317
  dir: current,
167
318
  name: typeof parsed.name === "string" ? parsed.name : undefined,
168
- environment: typeof parsed.nifra?.environment === "string" ? parsed.nifra.environment : undefined,
319
+ declaration: parseEnvironment(recordOf(parsed.nifra)?.environment),
320
+ manifest: parsed,
169
321
  };
170
322
  for (const visited of seen)
171
323
  packages.set(visited, info);
@@ -180,15 +332,80 @@ export function createZoneClassifier(options) {
180
332
  current = parent;
181
333
  }
182
334
  };
335
+ const ownerships = new Map();
336
+ const ownershipOf = (info, entries) => {
337
+ let found = ownerships.get(info.dir);
338
+ if (found === undefined) {
339
+ found = entryOwnership(info.dir, info.manifest, entries);
340
+ ownerships.set(info.dir, found);
341
+ }
342
+ return found;
343
+ };
344
+ /** The package `file` is part of, when that package is not the app: installed, or a workspace sibling. */
345
+ const packageOf = (file) => {
346
+ const thirdParty = nodeModulesPackage(file);
347
+ if (thirdParty !== undefined) {
348
+ const at = file.lastIndexOf("/node_modules/") + "/node_modules/".length;
349
+ return packageFor(file.slice(0, at + thirdParty.length));
350
+ }
351
+ return isInside(file, appRoot) ? undefined : packageFor(toPosix(dirname(file)));
352
+ };
353
+ /** What a side declared for `file` (by its package, an entry of it, or the app) makes it. */
354
+ const declaredAs = (file, info, side, entry) => {
355
+ const thirdParty = nodeModulesPackage(file);
356
+ const named = entry === undefined || info?.name === undefined ? {} : { packageName: info.name };
357
+ const decided = entry === undefined ? {} : { entry };
358
+ if (thirdParty !== undefined) {
359
+ return {
360
+ zone: "library",
361
+ packageName: thirdParty,
362
+ modulePath: file.slice(file.lastIndexOf("/node_modules/") + "/node_modules/".length),
363
+ declared: side,
364
+ ...decided,
365
+ };
366
+ }
367
+ if (side !== "library")
368
+ return { zone: side, ...named, ...decided };
369
+ return {
370
+ zone: "library",
371
+ ...(info?.name ? { packageName: info.name } : {}),
372
+ declared: "library",
373
+ ...decided,
374
+ };
375
+ };
376
+ /** A file of a package that declares a side per entry, judged by the entries that reach it. */
377
+ const byOwners = (file, info, entries) => {
378
+ const ownership = ownershipOf(info, entries);
379
+ const owners = ownership.owners.get(file);
380
+ if (owners !== undefined)
381
+ return declaredAs(file, info, ownersSide(owners));
382
+ const shown = nodeModulesPackage(file) === undefined ? file : file.slice(info.dir.length + 1);
383
+ const left = ownership.unmapped.length === 0
384
+ ? ""
385
+ : ` (the map leaves out ${ownership.unmapped.map((key) => `"${key}"`).join(", ")})`;
386
+ return {
387
+ zone: "error",
388
+ reason: `"${shown}" is in package "${info.name ?? info.dir}", whose "nifra.environment" gives each entry its own side, and no mapped entry reaches this file${left}. Import the package through a mapped entry`,
389
+ };
390
+ };
391
+ const invalidDeclaration = (info, problem) => {
392
+ const reason = `${info.dir}/package.json "nifra.environment": ${problem}`;
393
+ return info.name === undefined
394
+ ? { zone: "error", reason }
395
+ : { zone: "error", reason, package: info.name };
396
+ };
183
397
  const classifyUncached = (file) => {
184
398
  if (generated.has(file))
185
399
  return { zone: "generated" };
186
400
  const thirdParty = nodeModulesPackage(file);
187
401
  if (thirdParty !== undefined) {
188
- const info = packageFor(toPosix(dirname(file)));
189
- const declared = info?.environment !== undefined && PACKAGE_ENVIRONMENTS.has(info.environment)
190
- ? info.environment
191
- : undefined;
402
+ const info = packageOf(file);
403
+ const declaration = info?.declaration ?? { kind: "none" };
404
+ if (info !== undefined && declaration.kind === "invalid")
405
+ return invalidDeclaration(info, declaration.problem);
406
+ if (info !== undefined && declaration.kind === "entries")
407
+ return byOwners(file, info, declaration.entries);
408
+ const declared = declaration.kind === "package" ? declaration.side : mappedSide(zones.packages, thirdParty);
192
409
  return {
193
410
  zone: "library",
194
411
  packageName: thirdParty,
@@ -201,6 +418,10 @@ export function createZoneClassifier(options) {
201
418
  if (SERVER_MANIFEST_FILE.test(base) && isGeneratedServerManifest(file)) {
202
419
  return { zone: "generated" };
203
420
  }
421
+ if (SERVER_COMPONENT_FILE.test(base))
422
+ return { zone: "component" };
423
+ if (/\.island\.[cm]?[jt]sx?$/.test(base))
424
+ return { zone: "frontend" };
204
425
  if (LEGACY_SERVER_SUFFIX.test(base)) {
205
426
  return {
206
427
  zone: "error",
@@ -231,15 +452,21 @@ export function createZoneClassifier(options) {
231
452
  return { zone: "shared" };
232
453
  return { zone: "route-frontend" };
233
454
  }
234
- const folder = ZONE_FOLDERS[top];
455
+ const configured = ZONE_FOLDERS[top] === undefined ? configuredPath(rel) : undefined;
456
+ const folder = ZONE_FOLDERS[top] ?? configured?.[1];
235
457
  if (folder !== undefined) {
236
458
  if (suffix === undefined || suffix === folder)
237
459
  return { zone: folder };
238
460
  if (suffix === "fn" && folder === "backend")
239
461
  return { zone: "fn" };
462
+ const where = configured === undefined
463
+ ? `sits in ${top}/`
464
+ : configured[0] === rel
465
+ ? `is listed as ${folder} in "nifra.zones"`
466
+ : `sits in ${configured[0]}/, which "nifra.zones" lists as ${folder},`;
240
467
  return {
241
468
  zone: "error",
242
- reason: `"${rel}" sits in ${top}/ but its ".${suffix}" suffix says otherwise. A file belongs to one side: move it, or drop the suffix`,
469
+ reason: `"${rel}" ${where} but its ".${suffix}" suffix says otherwise. A file belongs to one side: move it, or drop the suffix`,
243
470
  };
244
471
  }
245
472
  if (suffix !== undefined)
@@ -248,33 +475,80 @@ export function createZoneClassifier(options) {
248
475
  }
249
476
  // First-party code outside the app: a workspace package, or a relative import out of the app.
250
477
  const info = packageFor(toPosix(dirname(file)));
251
- const environment = info?.environment;
252
- if (environment !== undefined && PACKAGE_ENVIRONMENTS.has(environment)) {
253
- return environment === "library"
254
- ? {
255
- zone: "library",
256
- ...(info?.name ? { packageName: info.name } : {}),
257
- declared: "library",
258
- }
259
- : { zone: environment };
478
+ const declaration = info?.declaration ?? { kind: "none" };
479
+ if (info !== undefined && declaration.kind === "invalid")
480
+ return invalidDeclaration(info, declaration.problem);
481
+ if (info !== undefined && declaration.kind === "entries")
482
+ return byOwners(file, info, declaration.entries);
483
+ const environment = declaration.kind === "package" ? declaration.side : mappedSide(zones.packages, info?.name);
484
+ if (environment !== undefined)
485
+ return declaredAs(file, info, environment);
486
+ const declare = `"nifra": { "environment": "frontend" | "backend" | "shared" | "library" }`;
487
+ if (info?.name === undefined) {
488
+ return {
489
+ zone: "error",
490
+ reason: `"${file}" is first-party code outside the app and declares no side. Add ${declare} to ${info === undefined ? "a package.json above it" : `${info.dir}/package.json`}`,
491
+ };
260
492
  }
261
- const where = info?.name ?? info?.dir ?? dirname(file);
493
+ // Named per package, not per file, so a build that reaches 50 files of it reports one fact once.
262
494
  return {
263
495
  zone: "error",
264
- reason: `"${file}" is first-party code outside the app (${where}) and declares no side. Add "nifra": { "environment": "frontend" | "backend" | "shared" | "library" } to ${info === undefined ? "its package.json" : `${info.dir}/package.json`}`,
496
+ package: info.name,
497
+ reason: `package "${info.name}" is first-party code outside the app and declares no side. Add ${declare} to ${info.dir}/package.json, or give it a side from the app's package.json: "nifra": { "zones": { "packages": { "${suggestedPattern(info.name)}": "backend" } } } (or "library" if the browser may load it)`,
265
498
  };
266
499
  };
500
+ const byPath = (file) => {
501
+ const cached = cache.get(file);
502
+ if (cached !== undefined)
503
+ return cached;
504
+ const result = classifyUncached(file);
505
+ cache.set(file, result);
506
+ return result;
507
+ };
508
+ // Keyed by file and subpath: two entries may share one file and declare different sides.
509
+ const imports = new Map();
510
+ const byImport = (file, specifier) => {
511
+ const name = specifierPackage(specifier);
512
+ const info = name === undefined ? undefined : packageOf(file);
513
+ if (name === undefined || info?.name !== name || info.declaration.kind !== "entries")
514
+ return byPath(file);
515
+ const subpath = entrySubpath(specifier, name);
516
+ const cacheKey = `${file}\0${subpath}`;
517
+ const cached = imports.get(cacheKey);
518
+ if (cached !== undefined)
519
+ return cached;
520
+ const { entries } = info.declaration;
521
+ const key = entryKey(entries, subpath);
522
+ const side = key === undefined ? undefined : entries[key];
523
+ let result;
524
+ if (side === undefined) {
525
+ const mapped = Object.keys(entries)
526
+ .map((entry) => `"${entry}"`)
527
+ .join(", ");
528
+ result = {
529
+ zone: "error",
530
+ reason: `"${specifier}" names the "${subpath}" entry of package "${name}", whose "nifra.environment" map gives it no side (it maps ${mapped}). Map the entry, or import one that is mapped`,
531
+ entry: subpath,
532
+ };
533
+ }
534
+ else {
535
+ // The resolver's pick must belong to the named entry; a file only other entries reach (an alias
536
+ // pointed at it) is judged by its path. A declaration file is types only and erased.
537
+ const owners = ownershipOf(info, entries).owners.get(file);
538
+ result =
539
+ owners !== undefined && !owners.has(side) && !DECLARATION_FILE.test(file)
540
+ ? byPath(file)
541
+ : declaredAs(file, info, side, subpath);
542
+ }
543
+ imports.set(cacheKey, result);
544
+ return result;
545
+ };
267
546
  return {
268
547
  appRoot,
269
- classify(input) {
548
+ classify(input, specifier) {
270
549
  const absolute = isAbsolute(input) ? input : resolve(appRoot, input);
271
550
  const file = realFile(absolute);
272
- const cached = cache.get(file);
273
- if (cached !== undefined)
274
- return cached;
275
- const result = classifyUncached(file);
276
- cache.set(file, result);
277
- return result;
551
+ return specifier === undefined ? byPath(file) : byImport(file, specifier);
278
552
  },
279
553
  };
280
554
  }
@@ -302,6 +576,23 @@ export function specifierPackage(specifier) {
302
576
  const parts = specifier.split("/");
303
577
  return specifier.startsWith("@") ? parts.slice(0, 2).join("/") : parts[0];
304
578
  }
579
+ /** The export subpath (`"."`, `"./react"`) a bare specifier of package `name` names. */
580
+ const entrySubpath = (specifier, name) => `.${withoutQuery(specifier.slice(name.length))}`;
581
+ /**
582
+ * The side a package's `"nifra": { "environment": ... }` value gives the bare import `specifier` of it:
583
+ * the package-wide string, or the side of the entry it names - the map's exact subpath, else its most
584
+ * specific `*` pattern. `undefined` when it gives none, as a map that leaves the entry out does.
585
+ */
586
+ export function declaredSide(environment, specifier) {
587
+ const declaration = parseEnvironment(environment);
588
+ if (declaration.kind === "package")
589
+ return declaration.side;
590
+ const name = specifierPackage(specifier);
591
+ if (declaration.kind !== "entries" || name === undefined)
592
+ return undefined;
593
+ const key = entryKey(declaration.entries, entrySubpath(specifier, name));
594
+ return key === undefined ? undefined : declaration.entries[key];
595
+ }
305
596
  /**
306
597
  * Why a classified file may not ship to a browser, or `undefined` when it may. A `drizzle-orm` driver
307
598
  * entry is recognized by the import as written (`specifier`) or by the file's path in the package.
@@ -310,6 +601,8 @@ export function browserDenial(classification, specifier) {
310
601
  if (classification.zone === "error")
311
602
  return classification.reason;
312
603
  if (!BROWSER_ZONES.has(classification.zone)) {
604
+ if (classification.entry !== undefined)
605
+ return `package "${classification.packageName}" declares its "${classification.entry}" entry ${classification.zone}-only`;
313
606
  return classification.zone === "route-backend"
314
607
  ? "it is a route's backend half, which runs on the server only"
315
608
  : "it is backend code";
@@ -317,8 +610,11 @@ export function browserDenial(classification, specifier) {
317
610
  if (classification.zone !== "library")
318
611
  return undefined;
319
612
  const name = classification.packageName;
320
- if (classification.declared === "backend")
321
- return `package "${name}" declares itself backend-only`;
613
+ if (classification.declared === "backend") {
614
+ return classification.entry === undefined
615
+ ? `package "${name}" declares itself backend-only`
616
+ : `package "${name}" declares its "${classification.entry}" entry backend-only`;
617
+ }
322
618
  if (name !== undefined && SERVER_PACKAGES.includes(name)) {
323
619
  return `package "${name}" is server code (a driver, server SDK or credential helper)`;
324
620
  }
@@ -330,8 +626,15 @@ export function browserDenial(classification, specifier) {
330
626
  return `"${driver.replace(/\/$/, "")}" is a database driver entry`;
331
627
  return undefined;
332
628
  }
629
+ /** Whether a bare specifier names one of {@link SERVER_PACKAGES} or a database driver entry. */
630
+ export function isServerPackageSpecifier(specifier) {
631
+ const name = specifierPackage(specifier);
632
+ return (name !== undefined && SERVER_PACKAGES.includes(name)) || SERVER_SUBPATHS.test(specifier);
633
+ }
333
634
  /** Whether a module in `from` may import (with a value import) a module in `to`. */
334
635
  export function importAllowed(from, to) {
636
+ if (from === "component")
637
+ return true;
335
638
  if (from === "generated" || from === "library")
336
639
  return true;
337
640
  if (to === "generated" || to === "library")
package/dist/zones.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"zones.js","sourceRoot":"","sources":["../src/zones.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC/F,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AA8BhE,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IACxD,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;CACV,CAAC,CAAA;AAEF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,aAAa,GAAsB,IAAI,GAAG,CAAC;IACtD,gBAAgB;IAChB,UAAU;IACV,QAAQ;IACR,IAAI;IACJ,WAAW;IACX,SAAS;CACV,CAAC,CAAA;AAEF,MAAM,YAAY,GAAsB,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;AACnF,MAAM,cAAc,GAAsB,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAA;AAEjF;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,gBAAgB;IAChB,0BAA0B;IAC1B,uBAAuB;IACvB,gBAAgB;IAChB,gBAAgB;IAChB,kBAAkB;IAClB,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,gBAAgB;IAChB,aAAa;IACb,gBAAgB;IAChB,SAAS;IACT,cAAc;IACd,MAAM;IACN,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,YAAY;IACZ,IAAI;IACJ,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,WAAW;IACX,aAAa;IACb,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;CACV,CAAA;AAED,iGAAiG;AACjG,MAAM,eAAe,GACnB,wKAAwK,CAAA;AAE1K,wEAAwE;AACxE,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAA;AAE9D,MAAM,MAAM,GAAG,iCAAiC,CAAA;AAChD,wGAAwG;AACxG,MAAM,CAAC,MAAM,kBAAkB,GAAG,4BAA4B,CAAA;AAC9D,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,qCAAqC,MAAM,GAAG,CAAC,CAAA;AAC9E,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,eAAe,MAAM,GAAG,CAAC,CAAA;AAEjE,MAAM,YAAY,GAAmC;IACnD,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,UAAU;CACnB,CAAA;AAiBD,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAEpE,iGAAiG;AACjG,qGAAqG;AACrG,MAAM,yBAAyB,GAAG,qDAAqD,CAAA;AACvF,MAAM,oBAAoB,GAAG,+BAA+B,CAAA;AAE5D,SAAS,yBAAyB,CAAC,IAAY;IAC7C,IAAI,EAAsB,CAAA;IAC1B,IAAI,CAAC;QACH,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAA;QAC3D,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,yBAAyB,CAAA;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;YAAS,CAAC;QACT,IAAI,EAAE,KAAK,SAAS;YAAE,SAAS,CAAC,EAAE,CAAC,CAAA;IACrC,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,gGAAgG;QAChG,mGAAmG;QACnG,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAA;IACrE,CAAC;AACH,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,MAAc,EAAW,EAAE,CAC1D,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAA;AAEpF,+EAA+E;AAC/E,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;IAC7C,IAAI,EAAE,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAA;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACtB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,SAAS,CAAA;IACzD,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;AACzF,CAAC;AAQD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IACzF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAChG,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAA;IAC/C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAA;IAEtD,yEAAyE;IACzE,MAAM,UAAU,GAAG,CAAC,GAAW,EAA2B,EAAE;QAC1D,MAAM,IAAI,GAAa,EAAE,CAAA;QACzB,IAAI,OAAO,GAAG,GAAG,CAAA;QACjB,SAAS,CAAC;YACR,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,KAAK,MAAM,OAAO,IAAI,IAAI;oBAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBACzD,OAAO,MAAM,IAAI,SAAS,CAAA;YAC5B,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;YAC9C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,IAAI,MAAM,GAA0D,EAAE,CAAA;gBACtE,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAkB,CAAA;gBACtE,CAAC;gBAAC,MAAM,CAAC;oBACP,uFAAuF;gBACzF,CAAC;gBACD,MAAM,IAAI,GAAgB;oBACxB,GAAG,EAAE,OAAO;oBACZ,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBAC/D,WAAW,EACT,OAAO,MAAM,CAAC,KAAK,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;iBACvF,CAAA;gBACD,KAAK,MAAM,OAAO,IAAI,IAAI;oBAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBACvD,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;YACxC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,KAAK,MAAM,OAAO,IAAI,IAAI;oBAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBACvD,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,OAAO,GAAG,MAAM,CAAA;QAClB,CAAC;IACH,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAkB,EAAE;QACxD,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;QACrD,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC/C,MAAM,QAAQ,GACZ,IAAI,EAAE,WAAW,KAAK,SAAS,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC3E,CAAC,CAAE,IAAI,CAAC,WAAkC;gBAC1C,CAAC,CAAC,SAAS,CAAA;YACf,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBACpF,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClC,CAAA;QACH,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAClD,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;YAC9B,CAAC;YACD,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,wJAAwJ;iBAC9L,CAAA;YACH,CAAC;YACD,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACrC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YACnC,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;YAC1D,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAK5B,CAAA;YACb,4FAA4F;YAC5F,0CAA0C;YAC1C,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,IAAI,GAAG,8IAA8I;iBAC9J,CAAA;YACH,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC9B,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAA;gBACnE,IAAI,MAAM,KAAK,IAAI;oBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;gBAC1C,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAA;gBAC1D,IAAI,MAAM,KAAK,QAAQ;oBAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;gBAClD,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAA;YACnC,CAAC;YACD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;YAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM;oBAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;gBACtE,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;gBAClE,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,IAAI,GAAG,aAAa,GAAG,eAAe,MAAM,kFAAkF;iBACvI,CAAA;YACH,CAAC;YACD,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;YAC1E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAA;QACtD,CAAC;QACD,8FAA8F;QAC9F,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/C,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,CAAA;QACrC,IAAI,WAAW,KAAK,SAAS,IAAI,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACvE,OAAO,WAAW,KAAK,SAAS;gBAC9B,CAAC,CAAC;oBACE,IAAI,EAAE,SAAS;oBACf,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjD,QAAQ,EAAE,SAAS;iBACpB;gBACH,CAAC,CAAC,EAAE,IAAI,EAAE,WAAmB,EAAE,CAAA;QACnC,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;QACtD,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,IAAI,IAAI,0CAA0C,KAAK,4GAA4G,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,eAAe,EAAE;SAClP,CAAA;IACH,CAAC,CAAA;IAED,OAAO;QACL,OAAO;QACP,QAAQ,CAAC,KAAa;YACpB,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YACpE,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC9B,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAA;YACvC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACrC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACvB,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,IAAY;IAC5C,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3D,CAAC;AAED,MAAM,kBAAkB,GAAqC;IAC3D,YAAY,EAAE,gBAAgB;IAC9B,cAAc,EAAE,sBAAsB;CACvC,CAAA;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,GAAG,wBAAwB,KAAK,qCAAqC,CAAA;IAClF,CAAC;IACD,OAAO,IAAI,GAAG,+IAA+I,CAAA;AAC/J,CAAC;AAED;oDACoD;AACpD,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,IAAI,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAA;IAChE,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAA;IACnF,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClC,OAAO,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC3E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,cAA8B,EAC9B,SAAkB;IAElB,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,cAAc,CAAC,MAAM,CAAA;IACjE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,cAAc,CAAC,IAAI,KAAK,eAAe;YAC5C,CAAC,CAAC,6DAA6D;YAC/D,CAAC,CAAC,oBAAoB,CAAA;IAC1B,CAAC;IACD,IAAI,cAAc,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACvD,MAAM,IAAI,GAAG,cAAc,CAAC,WAAW,CAAA;IACvC,IAAI,cAAc,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,YAAY,IAAI,gCAAgC,CAAA;IAClG,IAAI,IAAI,KAAK,SAAS,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,OAAO,YAAY,IAAI,8DAA8D,CAAA;IACvF,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAI,SAAS,8BAA8B,CAAA;IACpD,CAAC;IACD,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACrE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,8BAA8B,CAAA;IAC5F,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,aAAa,CAAC,IAAU,EAAE,EAAQ;IAChD,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAC3D,IAAI,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACvD,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI,CAAA;IAC7F,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC1D,SAAS;IACT,OAAO,EAAE,KAAK,QAAQ,CAAA;AACxB,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,IAAU,EAAE,MAAc,EAAE,EAAQ;IACtF,MAAM,IAAI,GAAG,CAAC,IAAU,EAAU,EAAE,CAClC,IAAI,KAAK,gBAAgB;QACvB,CAAC,CAAC,yBAAyB;QAC3B,CAAC,CAAC,IAAI,KAAK,eAAe;YACxB,CAAC,CAAC,wBAAwB;YAC1B,CAAC,CAAC,IAAI,KAAK,IAAI;gBACb,CAAC,CAAC,0BAA0B;gBAC5B,CAAC,CAAC,GAAG,IAAI,OAAO,CAAA;IACxB,MAAM,IAAI,GACR,IAAI,KAAK,QAAQ;QACf,CAAC,CAAC,4FAA4F;QAC9F,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YACtB,CAAC,CAAC,6EAA6E;YAC/E,CAAC,CAAC,8GAA8G,CAAA;IACtH,OAAO,GAAG,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,mDAAmD,CAAA;AAChI,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC7E,OAAO,EACL,eAAe,EAMf,cAAc,GACf,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"zones.js","sourceRoot":"","sources":["../src/zones.ts"],"names":[],"mappings":"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"}