@harperfast/harper 5.2.1 → 5.2.2
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/bin/copyDb.ts +19 -7
- package/components/deploymentRecorder.ts +102 -11
- package/components/operations.js +4 -0
- package/config/configUtils.ts +66 -11
- package/config/harperConfigEnvVars.ts +114 -17
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +4 -4
- package/dist/bin/copyDb.js +20 -7
- package/dist/bin/copyDb.js.map +1 -1
- package/dist/components/deploymentRecorder.d.ts +6 -0
- package/dist/components/deploymentRecorder.js +94 -12
- package/dist/components/deploymentRecorder.js.map +1 -1
- package/dist/components/operations.js +4 -0
- package/dist/components/operations.js.map +1 -1
- package/dist/config/configUtils.d.ts +6 -0
- package/dist/config/configUtils.js +65 -9
- package/dist/config/configUtils.js.map +1 -1
- package/dist/config/harperConfigEnvVars.js +108 -16
- package/dist/config/harperConfigEnvVars.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +4 -4
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js.map +1 -1
- package/dist/resources/DatabaseTransaction.d.ts +2 -0
- package/dist/resources/DatabaseTransaction.js +6 -5
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/Table.d.ts +2 -1
- package/dist/resources/Table.js +66 -16
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/auditStore.js +27 -1
- package/dist/resources/auditStore.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +15 -2
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +128 -39
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/resources/search.d.ts +1 -1
- package/dist/resources/search.js +7 -3
- package/dist/resources/search.js.map +1 -1
- package/dist/server/threads/manageThreads.js +8 -0
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/sqlEngine/parser/normalizer.js +37 -9
- package/dist/sqlEngine/parser/normalizer.js.map +1 -1
- package/dist/utility/environment/environmentManager.d.ts +11 -0
- package/dist/utility/environment/environmentManager.js +154 -0
- package/dist/utility/environment/environmentManager.js.map +1 -1
- package/dist/utility/lmdb/environmentUtility.js +2 -1
- package/dist/utility/lmdb/environmentUtility.js.map +1 -1
- package/npm-shrinkwrap.json +13 -7
- package/package.json +2 -2
- package/resources/DESIGN.md +1 -0
- package/resources/DatabaseTransaction.ts +7 -5
- package/resources/Table.ts +77 -16
- package/resources/auditStore.ts +32 -1
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +119 -45
- package/resources/search.ts +8 -3
- package/server/threads/manageThreads.js +8 -0
- package/studio/web/assets/{Chat-aApwhRmz.js → Chat-BMUjPklt.js} +5 -5
- package/studio/web/assets/{Chat-aApwhRmz.js.map → Chat-BMUjPklt.js.map} +1 -1
- package/studio/web/assets/{FloatingChat-sC0H91n9.js → FloatingChat-Cbghuxe5.js} +5 -5
- package/studio/web/assets/{FloatingChat-sC0H91n9.js.map → FloatingChat-Cbghuxe5.js.map} +1 -1
- package/studio/web/assets/{apiToken-DZ8JhHOI.js → apiToken-CkgTQAqc.js} +2 -2
- package/studio/web/assets/{apiToken-DZ8JhHOI.js.map → apiToken-CkgTQAqc.js.map} +1 -1
- package/studio/web/assets/{applications-9SEVLIO5.js → applications-WvF4NOTN.js} +13 -13
- package/studio/web/assets/applications-WvF4NOTN.js.map +1 -0
- package/studio/web/assets/chevron-right-anDJCGlp.js +2 -0
- package/studio/web/assets/chevron-right-anDJCGlp.js.map +1 -0
- package/studio/web/assets/index-CDeqVx71.css +1 -0
- package/studio/web/assets/index-Sevt3MVx.js +819 -0
- package/studio/web/assets/index-Sevt3MVx.js.map +1 -0
- package/studio/web/assets/index.lazy-Dg5YYPGg.js +14 -0
- package/studio/web/assets/{index.lazy-CN1zq4I4.js.map → index.lazy-Dg5YYPGg.js.map} +1 -1
- package/studio/web/assets/{jsonMode-Cjj7dtlr.js → jsonMode-CBSEleE7.js} +2 -2
- package/studio/web/assets/{jsonMode-Cjj7dtlr.js.map → jsonMode-CBSEleE7.js.map} +1 -1
- package/studio/web/assets/languageServices-gxedeeTo.js +2 -0
- package/studio/web/assets/languageServices-gxedeeTo.js.map +1 -0
- package/studio/web/assets/{notifications-BFAF07xr.js → notifications-Ap84YyQp.js} +2 -2
- package/studio/web/assets/{notifications-BFAF07xr.js.map → notifications-Ap84YyQp.js.map} +1 -1
- package/studio/web/assets/notifications-vehqyOLM.js +2 -0
- package/studio/web/assets/{notifications-CKlYVvVN.js.map → notifications-vehqyOLM.js.map} +1 -1
- package/studio/web/assets/{pollUnlessForbidden-HHdQZW1N.js → pollUnlessForbidden-BhzefVRn.js} +2 -2
- package/studio/web/assets/pollUnlessForbidden-BhzefVRn.js.map +1 -0
- package/studio/web/assets/{profile-A1zhEdFG.js → profile-DzDpRLHY.js} +2 -2
- package/studio/web/assets/{profile-A1zhEdFG.js.map → profile-DzDpRLHY.js.map} +1 -1
- package/studio/web/assets/queryClient-CgtkoiCY.js +2 -0
- package/studio/web/assets/queryClient-CgtkoiCY.js.map +1 -0
- package/studio/web/assets/regions-DpJ8s7iN.js +2 -0
- package/studio/web/assets/regions-DpJ8s7iN.js.map +1 -0
- package/studio/web/assets/register-BDy01-q3.js +3 -0
- package/studio/web/assets/register-BDy01-q3.js.map +1 -0
- package/studio/web/assets/register-CQHRwNP4.js +3 -0
- package/studio/web/assets/register-CQHRwNP4.js.map +1 -0
- package/studio/web/assets/{setComponentFile-SEtBt_GV.js → setComponentFile-D0aPcI3W.js} +2 -2
- package/studio/web/assets/{setComponentFile-SEtBt_GV.js.map → setComponentFile-D0aPcI3W.js.map} +1 -1
- package/studio/web/assets/setup-I15FAF9H.js +3 -0
- package/studio/web/assets/{setup-BisINqdH.js.map → setup-I15FAF9H.js.map} +1 -1
- package/studio/web/assets/status-BF1eJshJ.js +62 -0
- package/studio/web/assets/status-BF1eJshJ.js.map +1 -0
- package/studio/web/assets/{swagger-ui-react-CAi_s1PC.js → swagger-ui-react-DwSPXXhl.js} +2 -2
- package/studio/web/assets/{swagger-ui-react-CAi_s1PC.js.map → swagger-ui-react-DwSPXXhl.js.map} +1 -1
- package/studio/web/assets/{textarea-DhLMZ3PA.js → table-DpOjNQHt.js} +2 -10
- package/studio/web/assets/table-DpOjNQHt.js.map +1 -0
- package/studio/web/assets/{tsMode-DT74tlkM.js → tsMode-Bu51A-VG.js} +2 -2
- package/studio/web/assets/{tsMode-DT74tlkM.js.map → tsMode-Bu51A-VG.js.map} +1 -1
- package/studio/web/assets/{useEntityRestURL-CGRGc1n7.js → useEntityRestURL-DrV1zMrN.js} +2 -2
- package/studio/web/assets/{useEntityRestURL-CGRGc1n7.js.map → useEntityRestURL-DrV1zMrN.js.map} +1 -1
- package/studio/web/index.html +6 -7
- package/utility/environment/environmentManager.ts +152 -0
- package/utility/lmdb/environmentUtility.ts +2 -1
- package/studio/web/assets/applications-9SEVLIO5.js.map +0 -1
- package/studio/web/assets/index-C8Mv9kHV.css +0 -1
- package/studio/web/assets/index-Dy3uDGXb.js +0 -809
- package/studio/web/assets/index-Dy3uDGXb.js.map +0 -1
- package/studio/web/assets/index.lazy-CN1zq4I4.js +0 -14
- package/studio/web/assets/notifications-CKlYVvVN.js +0 -2
- package/studio/web/assets/pollUnlessForbidden-HHdQZW1N.js.map +0 -1
- package/studio/web/assets/queryClient-CbA8wM7J.js +0 -2
- package/studio/web/assets/queryClient-CbA8wM7J.js.map +0 -1
- package/studio/web/assets/setup-BisINqdH.js +0 -3
- package/studio/web/assets/status-BuQoCc7l.js +0 -62
- package/studio/web/assets/status-BuQoCc7l.js.map +0 -1
- package/studio/web/assets/textarea-DhLMZ3PA.js.map +0 -1
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{n as t,t as n}from"./button-oQgW4t1x.js";import{r}from"./vendor-tanstack-0SjDjtT0.js";import{a as i}from"./vendor-datadog-DyjkTkvg.js";import{r as a}from"./vendor-react-DeL8Gtgl.js";import{t as o}from"./createLucideIcon-BDx8noBh.js";import{g as s,h as c}from"./select-y6NKMkG_.js";var l=o(`arrow-up-down`,[[`path`,{d:`m21 16-4 4-4-4`,key:`f6ql7i`}],[`path`,{d:`M17 20V4`,key:`1ejh1v`}],[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}]]),u=o(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),d=o(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),f=e(i(),1),p=a(),m=500,h=16,g=16;function _({className:e,containerClassName:n,containerRef:r,...i}){return(0,p.jsx)(`div`,{ref:r,"data-slot":`table-container`,className:t(`relative w-full overflow-x-auto`,n),children:(0,p.jsx)(`table`,{"data-slot":`table`,className:t(`w-full caption-bottom text-sm`,e),...i})})}function v({className:e,...n}){return(0,p.jsx)(`thead`,{"data-slot":`table-header`,className:t(`[&_tr]:border-b`,e),...n})}function y({className:e,...n}){return(0,p.jsx)(`tbody`,{"data-slot":`table-body`,className:t(`[&_tr:last-child]:border-0`,e),...n})}function b({className:e,...n}){return(0,p.jsx)(`tr`,{"data-slot":`table-row`,className:t(`border-b border-grey-700 transition-colors`,e),...n})}function x({className:e,...n}){return(0,p.jsx)(`th`,{"data-slot":`table-head`,className:t(`h-10 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...n})}function S({header:e,onColumnClick:i,className:a,...o}){let d=(0,f.useCallback)(()=>{e.column.toggleSorting(e.column.getIsSorted()===`asc`);let t=e.column.getIsSorted()===!1||e.column.getIsSorted()!==`asc`;i?.(e.column.columnDef.accessorKey,t)},[e,i]),_=e.column.columnDef.enableSorting,v=e.getContext().table.options.enableColumnResizing===!0&&e.column.getCanResize(),y=e.isPlaceholder?null:r(e.column.columnDef.header,e.getContext()),b=e.getContext().table,S=e.getSize(),C=e.column.columnDef.minSize??b.options.defaultColumn?.minSize??20,w=(0,f.useCallback)(t=>{let n=t.currentTarget.closest(`table`);if(!n){e.column.resetSize();return}let r=`[data-col-id="${CSS.escape(e.column.id)}"]`,i=document.createRange(),a=e=>(i.selectNodeContents(e),i.getBoundingClientRect().width),o=0;n.querySelectorAll(`tbody ${r}`).forEach(e=>{o=Math.max(o,a(e))});let s=n.querySelector(`thead ${r} > div`),c=s?.querySelector(`.truncate`);if(s&&c){let e=Array.from(s.children).reduce((e,t)=>e+t.getBoundingClientRect().width,0)-c.getBoundingClientRect().width;o=Math.max(o,a(c)+e+g)}let l=Math.min(Math.max(Math.ceil(o)+h,C),m);b.setColumnSizing(t=>({...t,[e.column.id]:l}))},[e,b,C]),T=e.column.getIsResizing()?Math.max(b.getState().columnSizingInfo.deltaOffset??0,C-S):0;return(0,p.jsxs)(x,{...o,"data-col-id":e.column.id,style:{width:`${S}px`,maxWidth:`${S}px`},className:t(`relative`,v&&`select-none`,_?`px-0`:`px-2`,a),children:[(0,p.jsx)(`div`,{className:t(`flex items-center min-w-0 overflow-hidden`,v&&`pr-4`),children:_?(0,p.jsxs)(n,{type:`button`,variant:`ghost`,className:t(`rounded-none min-w-0`,!e.column.getIsSorted()||e.column.getIsSorted()===`asc`?`cursor-n-resize`:`cursor-s-resize`),onClick:d,children:[(0,p.jsx)(`span`,{className:`truncate`,children:y}),e.column.getIsSorted()===`asc`?(0,p.jsx)(c,{className:`shrink-0`}):e.column.getIsSorted()===`desc`?(0,p.jsx)(s,{className:`shrink-0`}):(0,p.jsx)(l,{className:`shrink-0 text-gray-600`})]}):(0,p.jsx)(`span`,{className:`truncate`,children:y})}),v&&(0,p.jsx)(`div`,{"aria-hidden":!0,className:`absolute top-0 right-0 z-10 flex h-full w-4 cursor-col-resize items-center justify-center text-muted-foreground hover:text-foreground`,onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler(),onDoubleClick:w,style:{transform:e.column.getIsResizing()?`translateX(${T}px)`:``},children:(0,p.jsx)(u,{className:`size-3.5`})})]})}function C({className:e,...n}){return(0,p.jsx)(`td`,{"data-slot":`table-cell`,className:t(`align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...n})}
|
|
2
|
-
|
|
3
|
-
dark:aria-invalid:outline-destructive dark:aria-invalid:ring-destructive/50 ring-ring/10
|
|
4
|
-
dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 aria-invalid:outline-destructive/60
|
|
5
|
-
aria-invalid:ring-destructive/20 aria-invalid:border-destructive/60 dark:aria-invalid:border-destructive
|
|
6
|
-
flex w-full min-w-0 rounded-md border bg-white text-foreground dark:bg-grey-700 dark:text-white px-3 py-2 text-base
|
|
7
|
-
file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium
|
|
8
|
-
focus-visible:ring-1 focus-visible:outline-none focus-visible:ring-purple disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50
|
|
9
|
-
aria-invalid:focus-visible:ring-[1px] aria-invalid:focus-visible:outline-none md:text-sm dark:aria-invalid:focus-visible:ring-1`,e),...n})}export{x as a,b as c,C as i,d as l,_ as n,S as o,y as r,v as s,w as t,l as u};
|
|
10
|
-
//# sourceMappingURL=textarea-DhLMZ3PA.js.map
|
|
1
|
+
import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{n as t,t as n}from"./button-oQgW4t1x.js";import{r}from"./vendor-tanstack-0SjDjtT0.js";import{a as i}from"./vendor-datadog-DyjkTkvg.js";import{r as a}from"./vendor-react-DeL8Gtgl.js";import{t as o}from"./createLucideIcon-BDx8noBh.js";import{g as s,h as c}from"./select-y6NKMkG_.js";var l=o(`arrow-up-down`,[[`path`,{d:`m21 16-4 4-4-4`,key:`f6ql7i`}],[`path`,{d:`M17 20V4`,key:`1ejh1v`}],[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}]]),u=o(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),d=o(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),f=e(i(),1),p=a(),m=500,h=16,g=16;function _({className:e,containerClassName:n,containerRef:r,...i}){return(0,p.jsx)(`div`,{ref:r,"data-slot":`table-container`,className:t(`relative w-full overflow-x-auto`,n),children:(0,p.jsx)(`table`,{"data-slot":`table`,className:t(`w-full caption-bottom text-sm`,e),...i})})}function v({className:e,...n}){return(0,p.jsx)(`thead`,{"data-slot":`table-header`,className:t(`[&_tr]:border-b`,e),...n})}function y({className:e,...n}){return(0,p.jsx)(`tbody`,{"data-slot":`table-body`,className:t(`[&_tr:last-child]:border-0`,e),...n})}function b({className:e,...n}){return(0,p.jsx)(`tr`,{"data-slot":`table-row`,className:t(`border-b border-grey-700 transition-colors`,e),...n})}function x({className:e,...n}){return(0,p.jsx)(`th`,{"data-slot":`table-head`,className:t(`h-10 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...n})}function S({header:e,onColumnClick:i,className:a,...o}){let d=(0,f.useCallback)(()=>{e.column.toggleSorting(e.column.getIsSorted()===`asc`);let t=e.column.getIsSorted()===!1||e.column.getIsSorted()!==`asc`;i?.(e.column.columnDef.accessorKey,t)},[e,i]),_=e.column.columnDef.enableSorting,v=e.getContext().table.options.enableColumnResizing===!0&&e.column.getCanResize(),y=e.isPlaceholder?null:r(e.column.columnDef.header,e.getContext()),b=e.getContext().table,S=e.getSize(),C=e.column.columnDef.minSize??b.options.defaultColumn?.minSize??20,w=(0,f.useCallback)(t=>{let n=t.currentTarget.closest(`table`);if(!n){e.column.resetSize();return}let r=`[data-col-id="${CSS.escape(e.column.id)}"]`,i=document.createRange(),a=e=>(i.selectNodeContents(e),i.getBoundingClientRect().width),o=0;n.querySelectorAll(`tbody ${r}`).forEach(e=>{o=Math.max(o,a(e))});let s=n.querySelector(`thead ${r} > div`),c=s?.querySelector(`.truncate`);if(s&&c){let e=Array.from(s.children).reduce((e,t)=>e+t.getBoundingClientRect().width,0)-c.getBoundingClientRect().width;o=Math.max(o,a(c)+e+g)}let l=Math.min(Math.max(Math.ceil(o)+h,C),m);b.setColumnSizing(t=>({...t,[e.column.id]:l}))},[e,b,C]),T=e.column.getIsResizing()?Math.max(b.getState().columnSizingInfo.deltaOffset??0,C-S):0;return(0,p.jsxs)(x,{...o,"data-col-id":e.column.id,style:{width:`${S}px`,maxWidth:`${S}px`},className:t(`relative`,v&&`select-none`,_?`px-0`:`px-2`,a),children:[(0,p.jsx)(`div`,{className:t(`flex items-center min-w-0 overflow-hidden`,v&&`pr-4`),children:_?(0,p.jsxs)(n,{type:`button`,variant:`ghost`,className:t(`rounded-none min-w-0`,!e.column.getIsSorted()||e.column.getIsSorted()===`asc`?`cursor-n-resize`:`cursor-s-resize`),onClick:d,children:[(0,p.jsx)(`span`,{className:`truncate`,children:y}),e.column.getIsSorted()===`asc`?(0,p.jsx)(c,{className:`shrink-0`}):e.column.getIsSorted()===`desc`?(0,p.jsx)(s,{className:`shrink-0`}):(0,p.jsx)(l,{className:`shrink-0 text-gray-600`})]}):(0,p.jsx)(`span`,{className:`truncate`,children:y})}),v&&(0,p.jsx)(`div`,{"aria-hidden":!0,className:`absolute top-0 right-0 z-10 flex h-full w-4 cursor-col-resize items-center justify-center text-muted-foreground hover:text-foreground`,onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler(),onDoubleClick:w,style:{transform:e.column.getIsResizing()?`translateX(${T}px)`:``},children:(0,p.jsx)(u,{className:`size-3.5`})})]})}function C({className:e,...n}){return(0,p.jsx)(`td`,{"data-slot":`table-cell`,className:t(`align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...n})}export{S as a,d as c,x as i,l,y as n,v as o,C as r,b as s,_ as t};
|
|
2
|
+
//# sourceMappingURL=table-DpOjNQHt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-DpOjNQHt.js","names":["__iconNode","__iconNode"],"sources":["../../node_modules/.pnpm/lucide-react@1.26.0_react@19.2.8/node_modules/lucide-react/dist/esm/icons/arrow-up-down.mjs","../../node_modules/.pnpm/lucide-react@1.26.0_react@19.2.8/node_modules/lucide-react/dist/esm/icons/grip-vertical.mjs","../../node_modules/.pnpm/lucide-react@1.26.0_react@19.2.8/node_modules/lucide-react/dist/esm/icons/pencil.mjs","../../src/components/ui/table.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.26.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"m21 16-4 4-4-4\", key: \"f6ql7i\" }],\n [\"path\", { d: \"M17 20V4\", key: \"1ejh1v\" }],\n [\"path\", { d: \"m3 8 4-4 4 4\", key: \"11wl7u\" }],\n [\"path\", { d: \"M7 4v16\", key: \"1glfcx\" }]\n];\nconst ArrowUpDown = createLucideIcon(\"arrow-up-down\", __iconNode);\n\nexport { __iconNode, ArrowUpDown as default };\n//# sourceMappingURL=arrow-up-down.mjs.map\n","/**\n * @license lucide-react v1.26.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"circle\", { cx: \"9\", cy: \"12\", r: \"1\", key: \"1vctgf\" }],\n [\"circle\", { cx: \"9\", cy: \"5\", r: \"1\", key: \"hp0tcf\" }],\n [\"circle\", { cx: \"9\", cy: \"19\", r: \"1\", key: \"fkjjf6\" }],\n [\"circle\", { cx: \"15\", cy: \"12\", r: \"1\", key: \"1tmaij\" }],\n [\"circle\", { cx: \"15\", cy: \"5\", r: \"1\", key: \"19l28e\" }],\n [\"circle\", { cx: \"15\", cy: \"19\", r: \"1\", key: \"f4zoj3\" }]\n];\nconst GripVertical = createLucideIcon(\"grip-vertical\", __iconNode);\n\nexport { __iconNode, GripVertical as default };\n//# sourceMappingURL=grip-vertical.mjs.map\n","/**\n * @license lucide-react v1.26.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z\",\n key: \"1a8usu\"\n }\n ],\n [\"path\", { d: \"m15 5 4 4\", key: \"1mk7zo\" }]\n];\nconst Pencil = createLucideIcon(\"pencil\", __iconNode);\n\nexport { __iconNode, Pencil as default };\n//# sourceMappingURL=pencil.mjs.map\n","import { Button } from '@/components/ui/button';\nimport { cn } from '@/lib/cn';\nimport { flexRender, Header, RowData } from '@tanstack/react-table';\nimport { ArrowDown, ArrowUp, ArrowUpDown, GripVerticalIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { useCallback } from 'react';\n\n// Upper bound for double-click auto-fit so a very long value (e.g. a stringified object) can't\n// stretch a column across the whole viewport.\nconst AUTO_FIT_MAX_SIZE = 500;\n// Horizontal cell padding (px-2 => 8px each side) added back after measuring bare content.\nconst CELL_HORIZONTAL_PADDING = 16;\n// Width of the right-edge resize handle strip; reserved when auto-fitting so it never overlaps the title.\nconst RESIZE_HANDLE_WIDTH = 16;\n\nexport interface TableProps extends React.ComponentProps<'table'> {\n\tcontainerClassName?: string;\n\tcontainerRef?: React.Ref<HTMLDivElement>;\n}\n\nexport function Table({ className, containerClassName, containerRef, ...props }: TableProps) {\n\treturn (\n\t\t<div\n\t\t\tref={containerRef}\n\t\t\tdata-slot=\"table-container\"\n\t\t\tclassName={cn('relative w-full overflow-x-auto', containerClassName)}\n\t\t>\n\t\t\t<table data-slot=\"table\" className={cn('w-full caption-bottom text-sm', className)} {...props} />\n\t\t</div>\n\t);\n}\n\nexport function TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {\n\treturn <thead data-slot=\"table-header\" className={cn('[&_tr]:border-b', className)} {...props} />;\n}\n\nexport function TableBody({ className, ...props }: React.ComponentProps<'tbody'>) {\n\treturn <tbody data-slot=\"table-body\" className={cn('[&_tr:last-child]:border-0', className)} {...props} />;\n}\n\nexport function TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) {\n\treturn (\n\t\t<tfoot\n\t\t\tdata-slot=\"table-footer\"\n\t\t\tclassName={cn('bg-muted/50 border-t font-medium [&>tr]:last:border-b-0', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\n\treturn (\n\t\t<tr\n\t\t\tdata-slot=\"table-row\"\n\t\t\tclassName={cn('border-b border-grey-700 transition-colors', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n\treturn (\n\t\t<th\n\t\t\tdata-slot=\"table-head\"\n\t\t\tclassName={cn(\n\t\t\t\t'h-10 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableHeadSortable<TData extends RowData>({\n\theader,\n\tonColumnClick,\n\tclassName,\n\t...props\n}: React.ComponentProps<'th'> & {\n\theader: Header<TData, unknown>;\n\tonColumnClick?: (accessorKey: string, willSortByAscending: boolean) => void;\n}) {\n\tconst onClickSort = useCallback(() => {\n\t\theader.column.toggleSorting(header.column.getIsSorted() === 'asc');\n\t\tconst willSortByAscending = header.column.getIsSorted() === false || header.column.getIsSorted() !== 'asc';\n\t\t// @ts-expect-error The accessorKey isn't accessible.\n\t\tonColumnClick?.(header.column.columnDef.accessorKey, willSortByAscending);\n\t}, [header, onColumnClick]);\n\tconst enableSorting = header.column.columnDef.enableSorting;\n\t// Only render resize handles for tables that explicitly opt in via `enableColumnResizing`.\n\t// TableHeadSortable is shared (e.g. SimpleBrowseDataTable), and TanStack's getCanResize()\n\t// defaults to enabled — so gating on getCanResize() alone would sprinkle handles onto every\n\t// table that uses this header, not just the browse table that wires up sizing + persistence.\n\tconst enableResizing = header.getContext().table.options.enableColumnResizing === true\n\t\t&& header.column.getCanResize();\n\tconst content = header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext());\n\tconst table = header.getContext().table;\n\tconst size = header.getSize();\n\tconst minSize = header.column.columnDef.minSize ?? table.options.defaultColumn?.minSize ?? 20;\n\t// Double-click the handle to fit the column to its widest value rather than snapping back to the\n\t// default width. Content width is measured with a Range (the tight bounding box of the actual\n\t// text) so it works even when the cell is wider than its content; capped by AUTO_FIT_MAX_SIZE so\n\t// a huge value can't blow the column out.\n\tconst autoFitColumn = useCallback((e: React.MouseEvent<HTMLElement>) => {\n\t\tconst tableEl = e.currentTarget.closest('table');\n\t\tif (!tableEl) {\n\t\t\theader.column.resetSize();\n\t\t\treturn;\n\t\t}\n\t\tconst selector = `[data-col-id=\"${CSS.escape(header.column.id)}\"]`;\n\t\tconst range = document.createRange();\n\t\tconst measure = (el: Element) => {\n\t\t\trange.selectNodeContents(el);\n\t\t\treturn range.getBoundingClientRect().width;\n\t\t};\n\t\tlet widest = 0;\n\t\ttableEl.querySelectorAll(`tbody ${selector}`).forEach((cell) => {\n\t\t\twidest = Math.max(widest, measure(cell));\n\t\t});\n\t\t// The header's flex row fills the cell, so derive its intrinsic width from the title's own\n\t\t// text width plus the width of the sort/resize controls beside it. `controls` is measured as\n\t\t// (all children) - (current title box), which is invariant to the title being truncated.\n\t\tconst headerRow = tableEl.querySelector(`thead ${selector} > div`);\n\t\tconst titleEl = headerRow?.querySelector('.truncate');\n\t\tif (headerRow && titleEl) {\n\t\t\tconst childrenWidth = Array.from(headerRow.children).reduce(\n\t\t\t\t(sum, child) => sum + child.getBoundingClientRect().width,\n\t\t\t\t0,\n\t\t\t);\n\t\t\tconst controls = childrenWidth - titleEl.getBoundingClientRect().width;\n\t\t\twidest = Math.max(widest, measure(titleEl) + controls + RESIZE_HANDLE_WIDTH);\n\t\t}\n\t\tconst fitted = Math.min(Math.max(Math.ceil(widest) + CELL_HORIZONTAL_PADDING, minSize), AUTO_FIT_MAX_SIZE);\n\t\ttable.setColumnSizing((old) => ({ ...old, [header.column.id]: fitted }));\n\t}, [header, table, minSize]);\n\t// Clamp the resize preview so the handle stops at the column's min width instead of sliding left\n\t// across the title while dragging (the actual resize commits on release).\n\tconst previewOffset = header.column.getIsResizing()\n\t\t? Math.max(table.getState().columnSizingInfo.deltaOffset ?? 0, minSize - size)\n\t\t: 0;\n\treturn (\n\t\t<TableHead\n\t\t\t{...props}\n\t\t\tdata-col-id={header.column.id}\n\t\t\tstyle={{ width: `${size}px`, maxWidth: `${size}px` }}\n\t\t\t// relative (not overflow-hidden) so the absolute resize handle can render past the edge\n\t\t\t// while dragging; the inner content div does the truncation instead.\n\t\t\t// select-none on resizable headers so dragging the handle can't text-select the title.\n\t\t\tclassName={cn('relative', enableResizing && 'select-none', enableSorting ? 'px-0' : 'px-2', className)}\n\t\t>\n\t\t\t{/* pr leaves room for the right-edge resize handle so the title never sits under it. */}\n\t\t\t<div className={cn('flex items-center min-w-0 overflow-hidden', enableResizing && 'pr-4')}>\n\t\t\t\t{enableSorting\n\t\t\t\t\t? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'rounded-none min-w-0',\n\t\t\t\t\t\t\t\t!header.column.getIsSorted() || header.column.getIsSorted() === 'asc'\n\t\t\t\t\t\t\t\t\t? 'cursor-n-resize'\n\t\t\t\t\t\t\t\t\t: 'cursor-s-resize',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonClick={onClickSort}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"truncate\">{content}</span>\n\t\t\t\t\t\t\t{header.column.getIsSorted() === 'asc'\n\t\t\t\t\t\t\t\t? <ArrowUp className=\"shrink-0\" />\n\t\t\t\t\t\t\t\t: header.column.getIsSorted() === 'desc'\n\t\t\t\t\t\t\t\t? <ArrowDown className=\"shrink-0\" />\n\t\t\t\t\t\t\t\t: <ArrowUpDown className=\"shrink-0 text-gray-600\" />}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t)\n\t\t\t\t\t: <span className=\"truncate\">{content}</span>}\n\t\t\t</div>\n\t\t\t{enableResizing && (\n\t\t\t\t<div\n\t\t\t\t\taria-hidden\n\t\t\t\t\t// w-4 hit area (wider than the visible grip); text-muted-foreground so the grip is\n\t\t\t\t\t// visible at rest in both light and dark themes (was gray-600, near-invisible until hover).\n\t\t\t\t\tclassName=\"absolute top-0 right-0 z-10 flex h-full w-4 cursor-col-resize items-center justify-center text-muted-foreground hover:text-foreground\"\n\t\t\t\t\tonMouseDown={header.getResizeHandler()} // for desktop\n\t\t\t\t\tonTouchStart={header.getResizeHandler()} // for mobile\n\t\t\t\t\tonDoubleClick={autoFitColumn}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\ttransform: header.column.getIsResizing() ? `translateX(${previewOffset}px)` : '',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<GripVerticalIcon className=\"size-3.5\" />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</TableHead>\n\t);\n}\n\nexport function TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n\treturn (\n\t\t<td\n\t\t\tdata-slot=\"table-cell\"\n\t\t\tclassName={cn(\n\t\t\t\t'align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableCaption({ className, ...props }: React.ComponentProps<'caption'>) {\n\treturn (\n\t\t<caption data-slot=\"table-caption\" className={cn('text-muted-foreground mt-4 text-sm', className)} {...props} />\n\t);\n}\n"],"x_google_ignoreList":[0,1,2],"mappings":"mVAeA,IAAM,EAAc,EAAiB,gBAAiBA,CALpD,CAAC,OAAQ,CAAE,EAAG,iBAAkB,IAAK,QAAS,CAAC,EAC/C,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAS,CAAC,EACzC,CAAC,OAAQ,CAAE,EAAG,eAAgB,IAAK,QAAS,CAAC,EAC7C,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAS,CAAC,CAEYA,CAAU,ECE1D,EAAe,EAAiB,gBAAiBC,CAPrD,CAAC,SAAU,CAAE,GAAI,IAAK,GAAI,KAAM,EAAG,IAAK,IAAK,QAAS,CAAC,EACvD,CAAC,SAAU,CAAE,GAAI,IAAK,GAAI,IAAK,EAAG,IAAK,IAAK,QAAS,CAAC,EACtD,CAAC,SAAU,CAAE,GAAI,IAAK,GAAI,KAAM,EAAG,IAAK,IAAK,QAAS,CAAC,EACvD,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,IAAK,IAAK,QAAS,CAAC,EACxD,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,IAAK,EAAG,IAAK,IAAK,QAAS,CAAC,EACvD,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,IAAK,IAAK,QAAS,CAAC,CAEHA,CAAU,ECE3D,EAAS,EAAiB,SAAU,CATxC,CACE,OACA,CACE,EAAG,mIACH,IAAK,QACP,CACF,EACA,CAAC,OAAQ,CAAE,EAAG,YAAa,IAAK,QAAS,CAAC,CAEF,CAAU,mBCV9C,EAAoB,IAEpB,EAA0B,GAE1B,EAAsB,GAO5B,SAAgB,EAAM,CAAE,YAAW,qBAAoB,eAAc,GAAG,GAAqB,CAC5F,OACC,EAAA,EAAA,IAAA,CAAC,MAAD,CACC,IAAK,EACL,YAAU,kBACV,UAAW,EAAG,kCAAmC,CAAkB,YAEnE,EAAA,EAAA,IAAA,CAAC,QAAD,CAAO,YAAU,QAAQ,UAAW,EAAG,gCAAiC,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC5F,CAAA,CAEP,CAEA,SAAgB,EAAY,CAAE,YAAW,GAAG,GAAwC,CACnF,OAAO,EAAA,EAAA,IAAA,CAAC,QAAD,CAAO,YAAU,eAAe,UAAW,EAAG,kBAAmB,CAAS,EAAG,GAAI,CAAQ,CAAA,CACjG,CAEA,SAAgB,EAAU,CAAE,YAAW,GAAG,GAAwC,CACjF,OAAO,EAAA,EAAA,IAAA,CAAC,QAAD,CAAO,YAAU,aAAa,UAAW,EAAG,6BAA8B,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC1G,CAYA,SAAgB,EAAS,CAAE,YAAW,GAAG,GAAqC,CAC7E,OACC,EAAA,EAAA,IAAA,CAAC,KAAD,CACC,YAAU,YACV,UAAW,EAAG,6CAA8C,CAAS,EACrE,GAAI,CACJ,CAAA,CAEH,CAEA,SAAgB,EAAU,CAAE,YAAW,GAAG,GAAqC,CAC9E,OACC,EAAA,EAAA,IAAA,CAAC,KAAD,CACC,YAAU,aACV,UAAW,EACV,gIACA,CACD,EACA,GAAI,CACJ,CAAA,CAEH,CAEA,SAAgB,EAAyC,CACxD,SACA,gBACA,YACA,GAAG,GAID,CACF,IAAM,GAAA,EAAA,EAAA,YAAA,KAAgC,CACrC,EAAO,OAAO,cAAc,EAAO,OAAO,YAAY,IAAM,KAAK,EACjE,IAAM,EAAsB,EAAO,OAAO,YAAY,IAAM,IAAS,EAAO,OAAO,YAAY,IAAM,MAErG,IAAgB,EAAO,OAAO,UAAU,YAAa,CAAmB,CACzE,EAAG,CAAC,EAAQ,CAAa,CAAC,EACpB,EAAgB,EAAO,OAAO,UAAU,cAKxC,EAAiB,EAAO,WAAW,CAAC,CAAC,MAAM,QAAQ,uBAAyB,IAC9E,EAAO,OAAO,aAAa,EACzB,EAAU,EAAO,cAAgB,KAAO,EAAW,EAAO,OAAO,UAAU,OAAQ,EAAO,WAAW,CAAC,EACtG,EAAQ,EAAO,WAAW,CAAC,CAAC,MAC5B,EAAO,EAAO,QAAQ,EACtB,EAAU,EAAO,OAAO,UAAU,SAAW,EAAM,QAAQ,eAAe,SAAW,GAKrF,GAAA,EAAA,EAAA,YAAA,CAA6B,GAAqC,CACvE,IAAM,EAAU,EAAE,cAAc,QAAQ,OAAO,EAC/C,GAAI,CAAC,EAAS,CACb,EAAO,OAAO,UAAU,EACxB,MACD,CACA,IAAM,EAAW,iBAAiB,IAAI,OAAO,EAAO,OAAO,EAAE,EAAE,IACzD,EAAQ,SAAS,YAAY,EAC7B,EAAW,IAChB,EAAM,mBAAmB,CAAE,EACpB,EAAM,sBAAsB,CAAC,CAAC,OAElC,EAAS,EACb,EAAQ,iBAAiB,SAAS,GAAU,CAAC,CAAC,QAAS,GAAS,CAC/D,EAAS,KAAK,IAAI,EAAQ,EAAQ,CAAI,CAAC,CACxC,CAAC,EAID,IAAM,EAAY,EAAQ,cAAc,SAAS,EAAS,OAAO,EAC3D,EAAU,GAAW,cAAc,WAAW,EACpD,GAAI,GAAa,EAAS,CAKzB,IAAM,EAJgB,MAAM,KAAK,EAAU,QAAQ,CAAC,CAAC,QACnD,EAAK,IAAU,EAAM,EAAM,sBAAsB,CAAC,CAAC,MACpD,CAEgB,EAAgB,EAAQ,sBAAsB,CAAC,CAAC,MACjE,EAAS,KAAK,IAAI,EAAQ,EAAQ,CAAO,EAAI,EAAW,CAAmB,CAC5E,CACA,IAAM,EAAS,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,CAAM,EAAI,EAAyB,CAAO,EAAG,CAAiB,EACzG,EAAM,gBAAiB,IAAS,CAAE,GAAG,GAAM,EAAO,OAAO,IAAK,CAAO,EAAE,CACxE,EAAG,CAAC,EAAQ,EAAO,CAAO,CAAC,EAGrB,EAAgB,EAAO,OAAO,cAAc,EAC/C,KAAK,IAAI,EAAM,SAAS,CAAC,CAAC,iBAAiB,aAAe,EAAG,EAAU,CAAI,EAC3E,EACH,OACC,EAAA,EAAA,KAAA,CAAC,EAAD,CACC,GAAI,EACJ,cAAa,EAAO,OAAO,GAC3B,MAAO,CAAE,MAAO,GAAG,EAAK,IAAK,SAAU,GAAG,EAAK,GAAI,EAInD,UAAW,EAAG,WAAY,GAAkB,cAAe,EAAgB,OAAS,OAAQ,CAAS,WAPtG,EAUC,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAW,EAAG,4CAA6C,GAAkB,MAAM,WACtF,GAEC,EAAA,EAAA,KAAA,CAAC,EAAD,CACC,KAAK,SACL,QAAQ,QACR,UAAW,EACV,uBACA,CAAC,EAAO,OAAO,YAAY,GAAK,EAAO,OAAO,YAAY,IAAM,MAC7D,kBACA,iBACJ,EACA,QAAS,WATV,EAWC,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,oBAAY,CAAc,CAAA,EACzC,EAAO,OAAO,YAAY,IAAM,OAC9B,EAAA,EAAA,IAAA,CAAC,EAAD,CAAS,UAAU,UAAY,CAAA,EAC/B,EAAO,OAAO,YAAY,IAAM,QAChC,EAAA,EAAA,IAAA,CAAC,EAAD,CAAW,UAAU,UAAY,CAAA,GACjC,EAAA,EAAA,IAAA,CAAC,EAAD,CAAa,UAAU,wBAA0B,CAAA,CAC7C,KAEP,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,oBAAY,CAAc,CAAA,CACzC,CAAA,EACJ,IACA,EAAA,EAAA,IAAA,CAAC,MAAD,CACC,cAAA,GAGA,UAAU,wIACV,YAAa,EAAO,iBAAiB,EACrC,aAAc,EAAO,iBAAiB,EACtC,cAAe,EACf,MAAO,CACN,UAAW,EAAO,OAAO,cAAc,EAAI,cAAc,EAAc,KAAO,EAC/E,YAEA,EAAA,EAAA,IAAA,CAAC,EAAD,CAAkB,UAAU,UAAY,CAAA,CACpC,CAAA,CAEI,GAEb,CAEA,SAAgB,EAAU,CAAE,YAAW,GAAG,GAAqC,CAC9E,OACC,EAAA,EAAA,IAAA,CAAC,KAAD,CACC,YAAU,aACV,UAAW,EACV,qGACA,CACD,EACA,GAAI,CACJ,CAAA,CAEH"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,c as t,f as n,m as r,o as i,p as a}from"./editor.api-OBQnf1nL.js";import{
|
|
1
|
+
import{a as e,c as t,f as n,m as r,o as i,p as a}from"./editor.api-OBQnf1nL.js";import{t as o}from"./workers-Bhsi-paP.js";import{n as s}from"./register-BDy01-q3.js";var c=class{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;let e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||=(async()=>(this._worker=o({moduleId:`vs/language/typescript/tsWorker`,createWorker:()=>new Worker(new URL(`/assets/ts.worker-CLx2uvU0.js`,``+import.meta.url),{type:`module`}),label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(a.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))(),this._client}async getLanguageServiceWorker(...e){let t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}},l={};l[`lib.d.ts`]=!0,l[`lib.decorators.d.ts`]=!0,l[`lib.decorators.legacy.d.ts`]=!0,l[`lib.dom.asynciterable.d.ts`]=!0,l[`lib.dom.d.ts`]=!0,l[`lib.dom.iterable.d.ts`]=!0,l[`lib.es2015.collection.d.ts`]=!0,l[`lib.es2015.core.d.ts`]=!0,l[`lib.es2015.d.ts`]=!0,l[`lib.es2015.generator.d.ts`]=!0,l[`lib.es2015.iterable.d.ts`]=!0,l[`lib.es2015.promise.d.ts`]=!0,l[`lib.es2015.proxy.d.ts`]=!0,l[`lib.es2015.reflect.d.ts`]=!0,l[`lib.es2015.symbol.d.ts`]=!0,l[`lib.es2015.symbol.wellknown.d.ts`]=!0,l[`lib.es2016.array.include.d.ts`]=!0,l[`lib.es2016.d.ts`]=!0,l[`lib.es2016.full.d.ts`]=!0,l[`lib.es2016.intl.d.ts`]=!0,l[`lib.es2017.arraybuffer.d.ts`]=!0,l[`lib.es2017.d.ts`]=!0,l[`lib.es2017.date.d.ts`]=!0,l[`lib.es2017.full.d.ts`]=!0,l[`lib.es2017.intl.d.ts`]=!0,l[`lib.es2017.object.d.ts`]=!0,l[`lib.es2017.sharedmemory.d.ts`]=!0,l[`lib.es2017.string.d.ts`]=!0,l[`lib.es2017.typedarrays.d.ts`]=!0,l[`lib.es2018.asyncgenerator.d.ts`]=!0,l[`lib.es2018.asynciterable.d.ts`]=!0,l[`lib.es2018.d.ts`]=!0,l[`lib.es2018.full.d.ts`]=!0,l[`lib.es2018.intl.d.ts`]=!0,l[`lib.es2018.promise.d.ts`]=!0,l[`lib.es2018.regexp.d.ts`]=!0,l[`lib.es2019.array.d.ts`]=!0,l[`lib.es2019.d.ts`]=!0,l[`lib.es2019.full.d.ts`]=!0,l[`lib.es2019.intl.d.ts`]=!0,l[`lib.es2019.object.d.ts`]=!0,l[`lib.es2019.string.d.ts`]=!0,l[`lib.es2019.symbol.d.ts`]=!0,l[`lib.es2020.bigint.d.ts`]=!0,l[`lib.es2020.d.ts`]=!0,l[`lib.es2020.date.d.ts`]=!0,l[`lib.es2020.full.d.ts`]=!0,l[`lib.es2020.intl.d.ts`]=!0,l[`lib.es2020.number.d.ts`]=!0,l[`lib.es2020.promise.d.ts`]=!0,l[`lib.es2020.sharedmemory.d.ts`]=!0,l[`lib.es2020.string.d.ts`]=!0,l[`lib.es2020.symbol.wellknown.d.ts`]=!0,l[`lib.es2021.d.ts`]=!0,l[`lib.es2021.full.d.ts`]=!0,l[`lib.es2021.intl.d.ts`]=!0,l[`lib.es2021.promise.d.ts`]=!0,l[`lib.es2021.string.d.ts`]=!0,l[`lib.es2021.weakref.d.ts`]=!0,l[`lib.es2022.array.d.ts`]=!0,l[`lib.es2022.d.ts`]=!0,l[`lib.es2022.error.d.ts`]=!0,l[`lib.es2022.full.d.ts`]=!0,l[`lib.es2022.intl.d.ts`]=!0,l[`lib.es2022.object.d.ts`]=!0,l[`lib.es2022.regexp.d.ts`]=!0,l[`lib.es2022.string.d.ts`]=!0,l[`lib.es2023.array.d.ts`]=!0,l[`lib.es2023.collection.d.ts`]=!0,l[`lib.es2023.d.ts`]=!0,l[`lib.es2023.full.d.ts`]=!0,l[`lib.es2023.intl.d.ts`]=!0,l[`lib.es2024.arraybuffer.d.ts`]=!0,l[`lib.es2024.collection.d.ts`]=!0,l[`lib.es2024.d.ts`]=!0,l[`lib.es2024.full.d.ts`]=!0,l[`lib.es2024.object.d.ts`]=!0,l[`lib.es2024.promise.d.ts`]=!0,l[`lib.es2024.regexp.d.ts`]=!0,l[`lib.es2024.sharedmemory.d.ts`]=!0,l[`lib.es2024.string.d.ts`]=!0,l[`lib.es5.d.ts`]=!0,l[`lib.es6.d.ts`]=!0,l[`lib.esnext.array.d.ts`]=!0,l[`lib.esnext.collection.d.ts`]=!0,l[`lib.esnext.d.ts`]=!0,l[`lib.esnext.decorators.d.ts`]=!0,l[`lib.esnext.disposable.d.ts`]=!0,l[`lib.esnext.error.d.ts`]=!0,l[`lib.esnext.float16.d.ts`]=!0,l[`lib.esnext.full.d.ts`]=!0,l[`lib.esnext.intl.d.ts`]=!0,l[`lib.esnext.iterator.d.ts`]=!0,l[`lib.esnext.promise.d.ts`]=!0,l[`lib.esnext.sharedmemory.d.ts`]=!0,l[`lib.scripthost.d.ts`]=!0,l[`lib.webworker.asynciterable.d.ts`]=!0,l[`lib.webworker.d.ts`]=!0,l[`lib.webworker.importscripts.d.ts`]=!0,l[`lib.webworker.iterable.d.ts`]=!0;function u(e,t,n=0){if(typeof e==`string`)return e;if(e===void 0)return``;let r=``;if(n){r+=t;for(let e=0;e<n;e++)r+=` `}if(r+=e.messageText,n++,e.next)for(let i of e.next)r+=u(i,t,n);return r}function d(e){return e?e.map(e=>e.text).join(``):``}var f=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let n=e.getPositionAt(t.start),r=e.getPositionAt(t.start+t.length),{lineNumber:i,column:a}=n,{lineNumber:o,column:s}=r;return{startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s}}},p=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e?e.path.indexOf(`/lib.`)===0&&!!l[e.path.slice(1)]:!1}getOrCreateModel(e){let t=n.parse(e),r=a.getModel(t);if(r)return r;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return a.createModel(this._libFiles[t.path.slice(1)],`typescript`,t);let i=s.getExtraLibs()[e];return i?a.createModel(i.content,`typescript`,t):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e}),this._fetchLibFilesPromise}},m=class extends f{constructor(e,t,n,r){super(r),this._libFiles=e,this._defaults=t,this._selector=n,this._disposables=[],this._listener=Object.create(null);let i=e=>{if(e.getLanguageId()!==n)return;let t=()=>{let{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)},r,i=e.onDidChangeContent(()=>{clearTimeout(r),r=window.setTimeout(t,500)}),o=e.onDidChangeAttached(()=>{let{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(e.isAttachedToEditor()?t():a.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){i.dispose(),o.dispose(),clearTimeout(r)}},t()},o=e=>{a.setModelMarkers(e,this._selector,[]);let t=e.uri.toString();this._listener[t]&&(this._listener[t].dispose(),delete this._listener[t])};this._disposables.push(a.onDidCreateModel(e=>i(e))),this._disposables.push(a.onWillDisposeModel(o)),this._disposables.push(a.onDidChangeModelLanguage(e=>{o(e.model),i(e.model)})),this._disposables.push({dispose(){for(let e of a.getModels())o(e)}});let s=()=>{for(let e of a.getModels())o(e),i(e)};this._disposables.push(this._defaults.onDidChange(s)),this._disposables.push(this._defaults.onDidExtraLibsChange(s)),a.getModels().forEach(e=>i(e))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){let t=await this._worker(e.uri);if(e.isDisposed())return;let r=[],{noSyntaxValidation:i,noSemanticValidation:o,noSuggestionDiagnostics:s}=this._defaults.getDiagnosticsOptions();i||r.push(t.getSyntacticDiagnostics(e.uri.toString())),o||r.push(t.getSemanticDiagnostics(e.uri.toString())),s||r.push(t.getSuggestionDiagnostics(e.uri.toString()));let c=await Promise.all(r);if(!c||e.isDisposed())return;let l=c.reduce((e,t)=>t.concat(e),[]).filter(e=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)===-1),u=l.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?n.parse(e.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(u),!e.isDisposed()&&a.setModelMarkers(e,this._selector,l.map(t=>this._convertDiagnostics(e,t)))}_convertDiagnostics(e,t){let n=t.start||0,r=t.length||1,{lineNumber:a,column:o}=e.getPositionAt(n),{lineNumber:s,column:c}=e.getPositionAt(n+r),l=[];return t.reportsUnnecessary&&l.push(i.Unnecessary),t.reportsDeprecated&&l.push(i.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:a,startColumn:o,endLineNumber:s,endColumn:c,message:u(t.messageText,`
|
|
2
2
|
`),code:t.code.toString(),tags:l,relatedInformation:this._convertRelatedInformation(e,t.relatedInformation)}}_convertRelatedInformation(e,t){if(!t)return[];let n=[];return t.forEach(t=>{let r=e;if(t.file&&(r=this._libFiles.getOrCreateModel(t.file.fileName)),!r)return;let i=t.start||0,a=t.length||1,{lineNumber:o,column:s}=r.getPositionAt(i),{lineNumber:c,column:l}=r.getPositionAt(i+a);n.push({resource:r.uri,startLineNumber:o,startColumn:s,endLineNumber:c,endColumn:l,message:u(t.messageText,`
|
|
3
3
|
`)})}),n}_tsDiagnosticCategoryToMarkerSeverity(t){switch(t){case 1:return e.Error;case 3:return e.Info;case 0:return e.Warning;case 2:return e.Hint}return e.Info}},h=class e extends f{get triggerCharacters(){return[`.`]}async provideCompletionItems(n,i,a,o){let s=n.getWordUntilPosition(i),c=new t(i.lineNumber,s.startColumn,i.lineNumber,s.endColumn),l=n.uri,u=n.getOffsetAt(i),d=await this._worker(l);if(n.isDisposed())return;let f=await d.getCompletionsAtPosition(l.toString(),u);if(!(!f||n.isDisposed()))return{suggestions:f.entries.map(a=>{let o=c;if(a.replacementSpan){let e=n.getPositionAt(a.replacementSpan.start),r=n.getPositionAt(a.replacementSpan.start+a.replacementSpan.length);o=new t(e.lineNumber,e.column,r.lineNumber,r.column)}let s=[];return a.kindModifiers!==void 0&&a.kindModifiers.indexOf(`deprecated`)!==-1&&s.push(r.CompletionItemTag.Deprecated),{uri:l,position:i,offset:u,range:o,label:a.name,insertText:a.name,sortText:a.sortText,kind:e.convertKind(a.kind),tags:s}})}}async resolveCompletionItem(t,n){let r=t,i=r.uri,a=r.position,o=r.offset,s=await(await this._worker(i)).getCompletionEntryDetails(i.toString(),o,r.label);return s?{uri:i,position:a,label:s.name,kind:e.convertKind(s.kind),detail:d(s.displayParts),documentation:{value:e.createDocumentationString(s)}}:r}static convertKind(e){switch(e){case C.primitiveType:case C.keyword:return r.CompletionItemKind.Keyword;case C.variable:case C.localVariable:return r.CompletionItemKind.Variable;case C.memberVariable:case C.memberGetAccessor:case C.memberSetAccessor:return r.CompletionItemKind.Field;case C.function:case C.memberFunction:case C.constructSignature:case C.callSignature:case C.indexSignature:return r.CompletionItemKind.Function;case C.enum:return r.CompletionItemKind.Enum;case C.module:return r.CompletionItemKind.Module;case C.class:return r.CompletionItemKind.Class;case C.interface:return r.CompletionItemKind.Interface;case C.warning:return r.CompletionItemKind.File}return r.CompletionItemKind.Property}static createDocumentationString(e){let t=d(e.documentation);if(e.tags)for(let n of e.tags)t+=`
|
|
4
4
|
|
|
@@ -9,4 +9,4 @@ ${g(n)}`;return t}};function g(e){let t=`*@${e.name}*`;if(e.name===`param`&&e.te
|
|
|
9
9
|
`+c:``)}]}}},y=class extends f{async provideDocumentHighlights(e,t,n){let i=e.uri,a=e.getOffsetAt(t),o=await this._worker(i);if(e.isDisposed())return;let s=await o.getDocumentHighlights(i.toString(),a,[i.toString()]);if(!(!s||e.isDisposed()))return s.flatMap(t=>t.highlightSpans.map(t=>({range:this._textSpanToRange(e,t.textSpan),kind:t.kind===`writtenReference`?r.DocumentHighlightKind.Write:r.DocumentHighlightKind.Text})))}},b=class extends f{constructor(e,t){super(t),this._libFiles=e}async provideDefinition(e,t,r){let i=e.uri,a=e.getOffsetAt(t),o=await this._worker(i);if(e.isDisposed())return;let s=await o.getDefinitionAtPosition(i.toString(),a);if(!s||e.isDisposed()||(await this._libFiles.fetchLibFilesIfNecessary(s.map(e=>n.parse(e.fileName))),e.isDisposed()))return;let c=[];for(let e of s){let t=this._libFiles.getOrCreateModel(e.fileName);t&&c.push({uri:t.uri,range:this._textSpanToRange(t,e.textSpan)})}return c}},x=class extends f{constructor(e,t){super(t),this._libFiles=e}async provideReferences(e,t,r,i){let a=e.uri,o=e.getOffsetAt(t),s=await this._worker(a);if(e.isDisposed())return;let c=await s.getReferencesAtPosition(a.toString(),o);if(!c||e.isDisposed()||(await this._libFiles.fetchLibFilesIfNecessary(c.map(e=>n.parse(e.fileName))),e.isDisposed()))return;let l=[];for(let e of c){let t=this._libFiles.getOrCreateModel(e.fileName);t&&l.push({uri:t.uri,range:this._textSpanToRange(t,e.textSpan)})}return l}},S=class extends f{async provideDocumentSymbols(e,t){let n=e.uri,i=await this._worker(n);if(e.isDisposed())return;let a=await i.getNavigationTree(n.toString());if(!a||e.isDisposed())return;let o=(t,n)=>({name:t.text,detail:``,kind:w[t.kind]||r.SymbolKind.Variable,range:this._textSpanToRange(e,t.spans[0]),selectionRange:this._textSpanToRange(e,t.spans[0]),tags:[],children:t.childItems?.map(e=>o(e,t.text)),containerName:n});return a.childItems?a.childItems.map(e=>o(e)):[]}},C=class{};C.unknown=``,C.keyword=`keyword`,C.script=`script`,C.module=`module`,C.class=`class`,C.interface=`interface`,C.type=`type`,C.enum=`enum`,C.variable=`var`,C.localVariable=`local var`,C.function=`function`,C.localFunction=`local function`,C.memberFunction=`method`,C.memberGetAccessor=`getter`,C.memberSetAccessor=`setter`,C.memberVariable=`property`,C.constructorImplementation=`constructor`,C.callSignature=`call`,C.indexSignature=`index`,C.constructSignature=`construct`,C.parameter=`parameter`,C.typeParameter=`type parameter`,C.primitiveType=`primitive type`,C.label=`label`,C.alias=`alias`,C.const=`const`,C.let=`let`,C.warning=`warning`;var w=Object.create(null);w[C.module]=r.SymbolKind.Module,w[C.class]=r.SymbolKind.Class,w[C.enum]=r.SymbolKind.Enum,w[C.interface]=r.SymbolKind.Interface,w[C.memberFunction]=r.SymbolKind.Method,w[C.memberVariable]=r.SymbolKind.Property,w[C.memberGetAccessor]=r.SymbolKind.Property,w[C.memberSetAccessor]=r.SymbolKind.Property,w[C.variable]=r.SymbolKind.Variable,w[C.const]=r.SymbolKind.Variable,w[C.localVariable]=r.SymbolKind.Variable,w[C.variable]=r.SymbolKind.Variable,w[C.function]=r.SymbolKind.Function,w[C.localFunction]=r.SymbolKind.Function;var T=class extends f{static _convertOptions(e){return{ConvertTabsToSpaces:e.insertSpaces,TabSize:e.tabSize,IndentSize:e.tabSize,IndentStyle:2,NewLineCharacter:`
|
|
10
10
|
`,InsertSpaceAfterCommaDelimiter:!0,InsertSpaceAfterSemicolonInForStatements:!0,InsertSpaceBeforeAndAfterBinaryOperators:!0,InsertSpaceAfterKeywordsInControlFlowStatements:!0,InsertSpaceAfterFunctionKeywordForAnonymousFunctions:!0,InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,PlaceOpenBraceOnNewLineForControlBlocks:!1,PlaceOpenBraceOnNewLineForFunctions:!1}}_convertTextChanges(e,t){return{text:t.newText,range:this._textSpanToRange(e,t.span)}}},E=class extends T{constructor(){super(...arguments),this.canFormatMultipleRanges=!1}async provideDocumentRangeFormattingEdits(e,t,n,r){let i=e.uri,a=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),o=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),s=await this._worker(i);if(e.isDisposed())return;let c=await s.getFormattingEditsForRange(i.toString(),a,o,T._convertOptions(n));if(!(!c||e.isDisposed()))return c.map(t=>this._convertTextChanges(e,t))}},D=class extends T{get autoFormatTriggerCharacters(){return[`;`,`}`,`
|
|
11
11
|
`]}async provideOnTypeFormattingEdits(e,t,n,r,i){let a=e.uri,o=e.getOffsetAt(t),s=await this._worker(a);if(e.isDisposed())return;let c=await s.getFormattingEditsAfterKeystroke(a.toString(),o,n,T._convertOptions(r));if(!(!c||e.isDisposed()))return c.map(t=>this._convertTextChanges(e,t))}},O=class extends T{async provideCodeActions(e,t,n,r){let i=e.uri,a=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),o=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),s=T._convertOptions(e.getOptions()),c=n.markers.filter(e=>e.code).map(e=>e.code).map(Number),l=await this._worker(i);if(e.isDisposed())return;let u=await l.getCodeFixesAtPosition(i.toString(),a,o,c,s);return!u||e.isDisposed()?{actions:[],dispose:()=>{}}:{actions:u.filter(e=>e.changes.filter(e=>e.isNewFile).length===0).map(t=>this._tsCodeFixActionToMonacoCodeAction(e,n,t)),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(e,t,n){let r=[];for(let t of n.changes)for(let n of t.textChanges)r.push({resource:e.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(e,n.span),text:n.newText}});return{title:n.description,edit:{edits:r},diagnostics:t.markers,kind:`quickfix`}}},k=class extends f{constructor(e,t){super(t),this._libFiles=e}async provideRenameEdits(e,t,n,r){let i=e.uri,a=i.toString(),o=e.getOffsetAt(t),s=await this._worker(i);if(e.isDisposed())return;let c=await s.getRenameInfo(a,o,{allowRenameOfImportPath:!1});if(c.canRename===!1)return{edits:[],rejectReason:c.localizedErrorMessage};if(c.fileToRename!==void 0)throw Error(`Renaming files is not supported.`);let l=await s.findRenameLocations(a,o,!1,!1,!1);if(!l||e.isDisposed())return;let u=[];for(let e of l){let t=this._libFiles.getOrCreateModel(e.fileName);if(t)u.push({resource:t.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(t,e.textSpan),text:n}});else throw Error(`Unknown file ${e.fileName}.`)}return{edits:u}}},A=class extends f{async provideInlayHints(e,t,n){let r=e.uri,i=r.toString(),a=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),o=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),s=await this._worker(r);return e.isDisposed()?null:{hints:(await s.provideInlayHints(i,a,o)).map(t=>({...t,label:t.text,position:e.getPositionAt(t.position),kind:this._convertHintKind(t.kind)})),dispose:()=>{}}}_convertHintKind(e){switch(e){case`Parameter`:return r.InlayHintKind.Parameter;case`Type`:return r.InlayHintKind.Type;default:return r.InlayHintKind.Type}}},j,M;function N(e){M=L(e,`typescript`)}function P(e){j=L(e,`javascript`)}function F(){return new Promise((e,t)=>{if(!j)return t(`JavaScript not registered!`);e(j)})}function I(){return new Promise((e,t)=>{if(!M)return t(`TypeScript not registered!`);e(M)})}function L(e,t){let n=[],i=new c(t,e),a=(...e)=>i.getLanguageServiceWorker(...e),o=new p(a);function s(){let{modeConfiguration:i}=e;R(n),i.completionItems&&n.push(r.registerCompletionItemProvider(t,new h(a))),i.signatureHelp&&n.push(r.registerSignatureHelpProvider(t,new _(a))),i.hovers&&n.push(r.registerHoverProvider(t,new v(a))),i.documentHighlights&&n.push(r.registerDocumentHighlightProvider(t,new y(a))),i.definitions&&n.push(r.registerDefinitionProvider(t,new b(o,a))),i.references&&n.push(r.registerReferenceProvider(t,new x(o,a))),i.documentSymbols&&n.push(r.registerDocumentSymbolProvider(t,new S(a))),i.rename&&n.push(r.registerRenameProvider(t,new k(o,a))),i.documentRangeFormattingEdits&&n.push(r.registerDocumentRangeFormattingEditProvider(t,new E(a))),i.onTypeFormattingEdits&&n.push(r.registerOnTypeFormattingEditProvider(t,new D(a))),i.codeActions&&n.push(r.registerCodeActionProvider(t,new O(a))),i.inlayHints&&n.push(r.registerInlayHintsProvider(t,new A(a))),i.diagnostics&&n.push(new m(o,e,t,a))}return s(),a}function R(e){for(;e.length;)e.pop().dispose()}export{f as Adapter,O as CodeActionAdaptor,b as DefinitionAdapter,m as DiagnosticsAdapter,y as DocumentHighlightAdapter,E as FormatAdapter,T as FormatHelper,D as FormatOnTypeAdapter,A as InlayHintsAdapter,C as Kind,p as LibFiles,S as OutlineAdapter,v as QuickInfoAdapter,x as ReferenceAdapter,k as RenameAdapter,_ as SignatureHelpAdapter,h as SuggestAdapter,c as WorkerManager,u as flattenDiagnosticMessageText,F as getJavaScriptWorker,I as getTypeScriptWorker,P as setupJavaScript,N as setupTypeScript};
|
|
12
|
-
//# sourceMappingURL=tsMode-
|
|
12
|
+
//# sourceMappingURL=tsMode-Bu51A-VG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsMode-DT74tlkM.js","names":[],"sources":["../../node_modules/.pnpm/monaco-editor@0.56.0/node_modules/monaco-editor/esm/vs/languages/features/typescript/workerManager.js","../../node_modules/.pnpm/monaco-editor@0.56.0/node_modules/monaco-editor/esm/vs/languages/features/typescript/lib/lib.index.js","../../node_modules/.pnpm/monaco-editor@0.56.0/node_modules/monaco-editor/esm/vs/languages/features/typescript/languageFeatures.js","../../node_modules/.pnpm/monaco-editor@0.56.0/node_modules/monaco-editor/esm/vs/languages/features/typescript/tsMode.js"],"sourcesContent":["import { editor } from '../../../editor/editor.api.js';\nimport { createWebWorker } from '../../../internal/common/workers.js';\n\nclass WorkerManager {\n constructor(_modeId, _defaults) {\n this._modeId = _modeId;\n this._defaults = _defaults;\n this._worker = null;\n this._client = null;\n this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());\n this._updateExtraLibsToken = 0;\n this._extraLibsChangeListener = this._defaults.onDidExtraLibsChange(\n () => this._updateExtraLibs()\n );\n }\n dispose() {\n this._configChangeListener.dispose();\n this._extraLibsChangeListener.dispose();\n this._stopWorker();\n }\n _stopWorker() {\n if (this._worker) {\n this._worker.dispose();\n this._worker = null;\n }\n this._client = null;\n }\n async _updateExtraLibs() {\n if (!this._worker) {\n return;\n }\n const myToken = ++this._updateExtraLibsToken;\n const proxy = await this._worker.getProxy();\n if (this._updateExtraLibsToken !== myToken) {\n return;\n }\n proxy.updateExtraLibs(this._defaults.getExtraLibs());\n }\n _getClient() {\n if (!this._client) {\n this._client = (async () => {\n this._worker = createWebWorker({\n // module that exports the create() method and returns a `TypeScriptWorker` instance\n moduleId: \"vs/language/typescript/tsWorker\",\n createWorker: () => new Worker(new URL('ts.worker.js', import.meta.url), { type: \"module\" }),\n label: this._modeId,\n keepIdleModels: true,\n // passed in to the create() method\n createData: {\n compilerOptions: this._defaults.getCompilerOptions(),\n extraLibs: this._defaults.getExtraLibs(),\n customWorkerPath: this._defaults.workerOptions.customWorkerPath,\n inlayHintsOptions: this._defaults.inlayHintsOptions\n }\n });\n if (this._defaults.getEagerModelSync()) {\n return await this._worker.withSyncedResources(\n editor.getModels().filter((model) => model.getLanguageId() === this._modeId).map((model) => model.uri)\n );\n }\n return await this._worker.getProxy();\n })();\n }\n return this._client;\n }\n async getLanguageServiceWorker(...resources) {\n const client = await this._getClient();\n if (this._worker) {\n await this._worker.withSyncedResources(resources);\n }\n return client;\n }\n}\n\nexport { WorkerManager };\n","const libFileSet = {};\nlibFileSet[\"lib.d.ts\"] = true;\nlibFileSet[\"lib.decorators.d.ts\"] = true;\nlibFileSet[\"lib.decorators.legacy.d.ts\"] = true;\nlibFileSet[\"lib.dom.asynciterable.d.ts\"] = true;\nlibFileSet[\"lib.dom.d.ts\"] = true;\nlibFileSet[\"lib.dom.iterable.d.ts\"] = true;\nlibFileSet[\"lib.es2015.collection.d.ts\"] = true;\nlibFileSet[\"lib.es2015.core.d.ts\"] = true;\nlibFileSet[\"lib.es2015.d.ts\"] = true;\nlibFileSet[\"lib.es2015.generator.d.ts\"] = true;\nlibFileSet[\"lib.es2015.iterable.d.ts\"] = true;\nlibFileSet[\"lib.es2015.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2015.proxy.d.ts\"] = true;\nlibFileSet[\"lib.es2015.reflect.d.ts\"] = true;\nlibFileSet[\"lib.es2015.symbol.d.ts\"] = true;\nlibFileSet[\"lib.es2015.symbol.wellknown.d.ts\"] = true;\nlibFileSet[\"lib.es2016.array.include.d.ts\"] = true;\nlibFileSet[\"lib.es2016.d.ts\"] = true;\nlibFileSet[\"lib.es2016.full.d.ts\"] = true;\nlibFileSet[\"lib.es2016.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2017.arraybuffer.d.ts\"] = true;\nlibFileSet[\"lib.es2017.d.ts\"] = true;\nlibFileSet[\"lib.es2017.date.d.ts\"] = true;\nlibFileSet[\"lib.es2017.full.d.ts\"] = true;\nlibFileSet[\"lib.es2017.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2017.object.d.ts\"] = true;\nlibFileSet[\"lib.es2017.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.es2017.string.d.ts\"] = true;\nlibFileSet[\"lib.es2017.typedarrays.d.ts\"] = true;\nlibFileSet[\"lib.es2018.asyncgenerator.d.ts\"] = true;\nlibFileSet[\"lib.es2018.asynciterable.d.ts\"] = true;\nlibFileSet[\"lib.es2018.d.ts\"] = true;\nlibFileSet[\"lib.es2018.full.d.ts\"] = true;\nlibFileSet[\"lib.es2018.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2018.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2018.regexp.d.ts\"] = true;\nlibFileSet[\"lib.es2019.array.d.ts\"] = true;\nlibFileSet[\"lib.es2019.d.ts\"] = true;\nlibFileSet[\"lib.es2019.full.d.ts\"] = true;\nlibFileSet[\"lib.es2019.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2019.object.d.ts\"] = true;\nlibFileSet[\"lib.es2019.string.d.ts\"] = true;\nlibFileSet[\"lib.es2019.symbol.d.ts\"] = true;\nlibFileSet[\"lib.es2020.bigint.d.ts\"] = true;\nlibFileSet[\"lib.es2020.d.ts\"] = true;\nlibFileSet[\"lib.es2020.date.d.ts\"] = true;\nlibFileSet[\"lib.es2020.full.d.ts\"] = true;\nlibFileSet[\"lib.es2020.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2020.number.d.ts\"] = true;\nlibFileSet[\"lib.es2020.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2020.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.es2020.string.d.ts\"] = true;\nlibFileSet[\"lib.es2020.symbol.wellknown.d.ts\"] = true;\nlibFileSet[\"lib.es2021.d.ts\"] = true;\nlibFileSet[\"lib.es2021.full.d.ts\"] = true;\nlibFileSet[\"lib.es2021.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2021.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2021.string.d.ts\"] = true;\nlibFileSet[\"lib.es2021.weakref.d.ts\"] = true;\nlibFileSet[\"lib.es2022.array.d.ts\"] = true;\nlibFileSet[\"lib.es2022.d.ts\"] = true;\nlibFileSet[\"lib.es2022.error.d.ts\"] = true;\nlibFileSet[\"lib.es2022.full.d.ts\"] = true;\nlibFileSet[\"lib.es2022.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2022.object.d.ts\"] = true;\nlibFileSet[\"lib.es2022.regexp.d.ts\"] = true;\nlibFileSet[\"lib.es2022.string.d.ts\"] = true;\nlibFileSet[\"lib.es2023.array.d.ts\"] = true;\nlibFileSet[\"lib.es2023.collection.d.ts\"] = true;\nlibFileSet[\"lib.es2023.d.ts\"] = true;\nlibFileSet[\"lib.es2023.full.d.ts\"] = true;\nlibFileSet[\"lib.es2023.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2024.arraybuffer.d.ts\"] = true;\nlibFileSet[\"lib.es2024.collection.d.ts\"] = true;\nlibFileSet[\"lib.es2024.d.ts\"] = true;\nlibFileSet[\"lib.es2024.full.d.ts\"] = true;\nlibFileSet[\"lib.es2024.object.d.ts\"] = true;\nlibFileSet[\"lib.es2024.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2024.regexp.d.ts\"] = true;\nlibFileSet[\"lib.es2024.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.es2024.string.d.ts\"] = true;\nlibFileSet[\"lib.es5.d.ts\"] = true;\nlibFileSet[\"lib.es6.d.ts\"] = true;\nlibFileSet[\"lib.esnext.array.d.ts\"] = true;\nlibFileSet[\"lib.esnext.collection.d.ts\"] = true;\nlibFileSet[\"lib.esnext.d.ts\"] = true;\nlibFileSet[\"lib.esnext.decorators.d.ts\"] = true;\nlibFileSet[\"lib.esnext.disposable.d.ts\"] = true;\nlibFileSet[\"lib.esnext.error.d.ts\"] = true;\nlibFileSet[\"lib.esnext.float16.d.ts\"] = true;\nlibFileSet[\"lib.esnext.full.d.ts\"] = true;\nlibFileSet[\"lib.esnext.intl.d.ts\"] = true;\nlibFileSet[\"lib.esnext.iterator.d.ts\"] = true;\nlibFileSet[\"lib.esnext.promise.d.ts\"] = true;\nlibFileSet[\"lib.esnext.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.scripthost.d.ts\"] = true;\nlibFileSet[\"lib.webworker.asynciterable.d.ts\"] = true;\nlibFileSet[\"lib.webworker.d.ts\"] = true;\nlibFileSet[\"lib.webworker.importscripts.d.ts\"] = true;\nlibFileSet[\"lib.webworker.iterable.d.ts\"] = true;\n\nexport { libFileSet };\n","import { typescriptDefaults } from './register.js';\nimport { libFileSet } from './lib/lib.index.js';\nimport { Uri, editor, MarkerTag, MarkerSeverity, Range, languages } from '../../../editor/editor.api.js';\n\nfunction flattenDiagnosticMessageText(diag, newLine, indent = 0) {\n if (typeof diag === \"string\") {\n return diag;\n } else if (diag === void 0) {\n return \"\";\n }\n let result = \"\";\n if (indent) {\n result += newLine;\n for (let i = 0; i < indent; i++) {\n result += \" \";\n }\n }\n result += diag.messageText;\n indent++;\n if (diag.next) {\n for (const kid of diag.next) {\n result += flattenDiagnosticMessageText(kid, newLine, indent);\n }\n }\n return result;\n}\nfunction displayPartsToString(displayParts) {\n if (displayParts) {\n return displayParts.map((displayPart) => displayPart.text).join(\"\");\n }\n return \"\";\n}\nclass Adapter {\n constructor(_worker) {\n this._worker = _worker;\n }\n // protected _positionToOffset(model: editor.ITextModel, position: monaco.IPosition): number {\n // \treturn model.getOffsetAt(position);\n // }\n // protected _offsetToPosition(model: editor.ITextModel, offset: number): monaco.IPosition {\n // \treturn model.getPositionAt(offset);\n // }\n _textSpanToRange(model, span) {\n let p1 = model.getPositionAt(span.start);\n let p2 = model.getPositionAt(span.start + span.length);\n let { lineNumber: startLineNumber, column: startColumn } = p1;\n let { lineNumber: endLineNumber, column: endColumn } = p2;\n return { startLineNumber, startColumn, endLineNumber, endColumn };\n }\n}\nclass LibFiles {\n constructor(_worker) {\n this._worker = _worker;\n this._libFiles = {};\n this._hasFetchedLibFiles = false;\n this._fetchLibFilesPromise = null;\n }\n isLibFile(uri) {\n if (!uri) {\n return false;\n }\n if (uri.path.indexOf(\"/lib.\") === 0) {\n return !!libFileSet[uri.path.slice(1)];\n }\n return false;\n }\n getOrCreateModel(fileName) {\n const uri = Uri.parse(fileName);\n const model = editor.getModel(uri);\n if (model) {\n return model;\n }\n if (this.isLibFile(uri) && this._hasFetchedLibFiles) {\n return editor.createModel(this._libFiles[uri.path.slice(1)], \"typescript\", uri);\n }\n const matchedLibFile = typescriptDefaults.getExtraLibs()[fileName];\n if (matchedLibFile) {\n return editor.createModel(matchedLibFile.content, \"typescript\", uri);\n }\n return null;\n }\n _containsLibFile(uris) {\n for (let uri of uris) {\n if (this.isLibFile(uri)) {\n return true;\n }\n }\n return false;\n }\n async fetchLibFilesIfNecessary(uris) {\n if (!this._containsLibFile(uris)) {\n return;\n }\n await this._fetchLibFiles();\n }\n _fetchLibFiles() {\n if (!this._fetchLibFilesPromise) {\n this._fetchLibFilesPromise = this._worker().then((w) => w.getLibFiles()).then((libFiles) => {\n this._hasFetchedLibFiles = true;\n this._libFiles = libFiles;\n });\n }\n return this._fetchLibFilesPromise;\n }\n}\nclass DiagnosticsAdapter extends Adapter {\n constructor(_libFiles, _defaults, _selector, worker) {\n super(worker);\n this._libFiles = _libFiles;\n this._defaults = _defaults;\n this._selector = _selector;\n this._disposables = [];\n this._listener = /* @__PURE__ */ Object.create(null);\n const onModelAdd = (model) => {\n if (model.getLanguageId() !== _selector) {\n return;\n }\n const maybeValidate = () => {\n const { onlyVisible } = this._defaults.getDiagnosticsOptions();\n if (onlyVisible) {\n if (model.isAttachedToEditor()) {\n this._doValidate(model);\n }\n } else {\n this._doValidate(model);\n }\n };\n let handle;\n const changeSubscription = model.onDidChangeContent(() => {\n clearTimeout(handle);\n handle = window.setTimeout(maybeValidate, 500);\n });\n const visibleSubscription = model.onDidChangeAttached(() => {\n const { onlyVisible } = this._defaults.getDiagnosticsOptions();\n if (onlyVisible) {\n if (model.isAttachedToEditor()) {\n maybeValidate();\n } else {\n editor.setModelMarkers(model, this._selector, []);\n }\n }\n });\n this._listener[model.uri.toString()] = {\n dispose() {\n changeSubscription.dispose();\n visibleSubscription.dispose();\n clearTimeout(handle);\n }\n };\n maybeValidate();\n };\n const onModelRemoved = (model) => {\n editor.setModelMarkers(model, this._selector, []);\n const key = model.uri.toString();\n if (this._listener[key]) {\n this._listener[key].dispose();\n delete this._listener[key];\n }\n };\n this._disposables.push(\n editor.onDidCreateModel((model) => onModelAdd(model))\n );\n this._disposables.push(editor.onWillDisposeModel(onModelRemoved));\n this._disposables.push(\n editor.onDidChangeModelLanguage((event) => {\n onModelRemoved(event.model);\n onModelAdd(event.model);\n })\n );\n this._disposables.push({\n dispose() {\n for (const model of editor.getModels()) {\n onModelRemoved(model);\n }\n }\n });\n const recomputeDiagostics = () => {\n for (const model of editor.getModels()) {\n onModelRemoved(model);\n onModelAdd(model);\n }\n };\n this._disposables.push(this._defaults.onDidChange(recomputeDiagostics));\n this._disposables.push(this._defaults.onDidExtraLibsChange(recomputeDiagostics));\n editor.getModels().forEach((model) => onModelAdd(model));\n }\n dispose() {\n this._disposables.forEach((d) => d && d.dispose());\n this._disposables = [];\n }\n async _doValidate(model) {\n const worker = await this._worker(model.uri);\n if (model.isDisposed()) {\n return;\n }\n const promises = [];\n const { noSyntaxValidation, noSemanticValidation, noSuggestionDiagnostics } = this._defaults.getDiagnosticsOptions();\n if (!noSyntaxValidation) {\n promises.push(worker.getSyntacticDiagnostics(model.uri.toString()));\n }\n if (!noSemanticValidation) {\n promises.push(worker.getSemanticDiagnostics(model.uri.toString()));\n }\n if (!noSuggestionDiagnostics) {\n promises.push(worker.getSuggestionDiagnostics(model.uri.toString()));\n }\n const allDiagnostics = await Promise.all(promises);\n if (!allDiagnostics || model.isDisposed()) {\n return;\n }\n const diagnostics = allDiagnostics.reduce((p, c) => c.concat(p), []).filter(\n (d) => (this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore || []).indexOf(d.code) === -1\n );\n const relatedUris = diagnostics.map((d) => d.relatedInformation || []).reduce((p, c) => c.concat(p), []).map(\n (relatedInformation) => relatedInformation.file ? Uri.parse(relatedInformation.file.fileName) : null\n );\n await this._libFiles.fetchLibFilesIfNecessary(relatedUris);\n if (model.isDisposed()) {\n return;\n }\n editor.setModelMarkers(\n model,\n this._selector,\n diagnostics.map((d) => this._convertDiagnostics(model, d))\n );\n }\n _convertDiagnostics(model, diag) {\n const diagStart = diag.start || 0;\n const diagLength = diag.length || 1;\n const { lineNumber: startLineNumber, column: startColumn } = model.getPositionAt(diagStart);\n const { lineNumber: endLineNumber, column: endColumn } = model.getPositionAt(\n diagStart + diagLength\n );\n const tags = [];\n if (diag.reportsUnnecessary) {\n tags.push(MarkerTag.Unnecessary);\n }\n if (diag.reportsDeprecated) {\n tags.push(MarkerTag.Deprecated);\n }\n return {\n severity: this._tsDiagnosticCategoryToMarkerSeverity(diag.category),\n startLineNumber,\n startColumn,\n endLineNumber,\n endColumn,\n message: flattenDiagnosticMessageText(diag.messageText, \"\\n\"),\n code: diag.code.toString(),\n tags,\n relatedInformation: this._convertRelatedInformation(model, diag.relatedInformation)\n };\n }\n _convertRelatedInformation(model, relatedInformation) {\n if (!relatedInformation) {\n return [];\n }\n const result = [];\n relatedInformation.forEach((info) => {\n let relatedResource = model;\n if (info.file) {\n relatedResource = this._libFiles.getOrCreateModel(info.file.fileName);\n }\n if (!relatedResource) {\n return;\n }\n const infoStart = info.start || 0;\n const infoLength = info.length || 1;\n const { lineNumber: startLineNumber, column: startColumn } = relatedResource.getPositionAt(infoStart);\n const { lineNumber: endLineNumber, column: endColumn } = relatedResource.getPositionAt(\n infoStart + infoLength\n );\n result.push({\n resource: relatedResource.uri,\n startLineNumber,\n startColumn,\n endLineNumber,\n endColumn,\n message: flattenDiagnosticMessageText(info.messageText, \"\\n\")\n });\n });\n return result;\n }\n _tsDiagnosticCategoryToMarkerSeverity(category) {\n switch (category) {\n case 1 /* Error */:\n return MarkerSeverity.Error;\n case 3 /* Message */:\n return MarkerSeverity.Info;\n case 0 /* Warning */:\n return MarkerSeverity.Warning;\n case 2 /* Suggestion */:\n return MarkerSeverity.Hint;\n }\n return MarkerSeverity.Info;\n }\n}\nclass SuggestAdapter extends Adapter {\n get triggerCharacters() {\n return [\".\"];\n }\n async provideCompletionItems(model, position, _context, token) {\n const wordInfo = model.getWordUntilPosition(position);\n const wordRange = new Range(\n position.lineNumber,\n wordInfo.startColumn,\n position.lineNumber,\n wordInfo.endColumn\n );\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const info = await worker.getCompletionsAtPosition(resource.toString(), offset);\n if (!info || model.isDisposed()) {\n return;\n }\n const suggestions = info.entries.map((entry) => {\n let range = wordRange;\n if (entry.replacementSpan) {\n const p1 = model.getPositionAt(entry.replacementSpan.start);\n const p2 = model.getPositionAt(entry.replacementSpan.start + entry.replacementSpan.length);\n range = new Range(p1.lineNumber, p1.column, p2.lineNumber, p2.column);\n }\n const tags = [];\n if (entry.kindModifiers !== void 0 && entry.kindModifiers.indexOf(\"deprecated\") !== -1) {\n tags.push(languages.CompletionItemTag.Deprecated);\n }\n return {\n uri: resource,\n position,\n offset,\n range,\n label: entry.name,\n insertText: entry.name,\n sortText: entry.sortText,\n kind: SuggestAdapter.convertKind(entry.kind),\n tags\n };\n });\n return {\n suggestions\n };\n }\n async resolveCompletionItem(item, token) {\n const myItem = item;\n const resource = myItem.uri;\n const position = myItem.position;\n const offset = myItem.offset;\n const worker = await this._worker(resource);\n const details = await worker.getCompletionEntryDetails(\n resource.toString(),\n offset,\n myItem.label\n );\n if (!details) {\n return myItem;\n }\n return {\n uri: resource,\n position,\n label: details.name,\n kind: SuggestAdapter.convertKind(details.kind),\n detail: displayPartsToString(details.displayParts),\n documentation: {\n value: SuggestAdapter.createDocumentationString(details)\n }\n };\n }\n static convertKind(kind) {\n switch (kind) {\n case Kind.primitiveType:\n case Kind.keyword:\n return languages.CompletionItemKind.Keyword;\n case Kind.variable:\n case Kind.localVariable:\n return languages.CompletionItemKind.Variable;\n case Kind.memberVariable:\n case Kind.memberGetAccessor:\n case Kind.memberSetAccessor:\n return languages.CompletionItemKind.Field;\n case Kind.function:\n case Kind.memberFunction:\n case Kind.constructSignature:\n case Kind.callSignature:\n case Kind.indexSignature:\n return languages.CompletionItemKind.Function;\n case Kind.enum:\n return languages.CompletionItemKind.Enum;\n case Kind.module:\n return languages.CompletionItemKind.Module;\n case Kind.class:\n return languages.CompletionItemKind.Class;\n case Kind.interface:\n return languages.CompletionItemKind.Interface;\n case Kind.warning:\n return languages.CompletionItemKind.File;\n }\n return languages.CompletionItemKind.Property;\n }\n static createDocumentationString(details) {\n let documentationString = displayPartsToString(details.documentation);\n if (details.tags) {\n for (const tag of details.tags) {\n documentationString += `\n\n${tagToString(tag)}`;\n }\n }\n return documentationString;\n }\n}\nfunction tagToString(tag) {\n let tagLabel = `*@${tag.name}*`;\n if (tag.name === \"param\" && tag.text) {\n const [paramName, ...rest] = tag.text;\n tagLabel += `\\`${paramName.text}\\``;\n if (rest.length > 0) tagLabel += ` \\u2014 ${rest.map((r) => r.text).join(\" \")}`;\n } else if (Array.isArray(tag.text)) {\n tagLabel += ` \\u2014 ${tag.text.map((r) => r.text).join(\" \")}`;\n } else if (tag.text) {\n tagLabel += ` \\u2014 ${tag.text}`;\n }\n return tagLabel;\n}\nclass SignatureHelpAdapter extends Adapter {\n constructor() {\n super(...arguments);\n this.signatureHelpTriggerCharacters = [\"(\", \",\"];\n }\n static _toSignatureHelpTriggerReason(context) {\n switch (context.triggerKind) {\n case languages.SignatureHelpTriggerKind.TriggerCharacter:\n if (context.triggerCharacter) {\n if (context.isRetrigger) {\n return { kind: \"retrigger\", triggerCharacter: context.triggerCharacter };\n } else {\n return { kind: \"characterTyped\", triggerCharacter: context.triggerCharacter };\n }\n } else {\n return { kind: \"invoked\" };\n }\n case languages.SignatureHelpTriggerKind.ContentChange:\n return context.isRetrigger ? { kind: \"retrigger\" } : { kind: \"invoked\" };\n case languages.SignatureHelpTriggerKind.Invoke:\n default:\n return { kind: \"invoked\" };\n }\n }\n async provideSignatureHelp(model, position, token, context) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const info = await worker.getSignatureHelpItems(resource.toString(), offset, {\n triggerReason: SignatureHelpAdapter._toSignatureHelpTriggerReason(context)\n });\n if (!info || model.isDisposed()) {\n return;\n }\n const ret = {\n activeSignature: info.selectedItemIndex,\n activeParameter: info.argumentIndex,\n signatures: []\n };\n info.items.forEach((item) => {\n const signature = {\n label: \"\",\n parameters: []\n };\n signature.documentation = {\n value: displayPartsToString(item.documentation)\n };\n signature.label += displayPartsToString(item.prefixDisplayParts);\n item.parameters.forEach((p, i, a) => {\n const label = displayPartsToString(p.displayParts);\n const parameter = {\n label,\n documentation: {\n value: displayPartsToString(p.documentation)\n }\n };\n signature.label += label;\n signature.parameters.push(parameter);\n if (i < a.length - 1) {\n signature.label += displayPartsToString(item.separatorDisplayParts);\n }\n });\n signature.label += displayPartsToString(item.suffixDisplayParts);\n ret.signatures.push(signature);\n });\n return {\n value: ret,\n dispose() {\n }\n };\n }\n}\nclass QuickInfoAdapter extends Adapter {\n async provideHover(model, position, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const info = await worker.getQuickInfoAtPosition(resource.toString(), offset);\n if (!info || model.isDisposed()) {\n return;\n }\n const documentation = displayPartsToString(info.documentation);\n const tags = info.tags ? info.tags.map((tag) => tagToString(tag)).join(\" \\n\\n\") : \"\";\n const contents = displayPartsToString(info.displayParts);\n return {\n range: this._textSpanToRange(model, info.textSpan),\n contents: [\n {\n value: \"```typescript\\n\" + contents + \"\\n```\\n\"\n },\n {\n value: documentation + (tags ? \"\\n\\n\" + tags : \"\")\n }\n ]\n };\n }\n}\nclass DocumentHighlightAdapter extends Adapter {\n async provideDocumentHighlights(model, position, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const entries = await worker.getDocumentHighlights(resource.toString(), offset, [\n resource.toString()\n ]);\n if (!entries || model.isDisposed()) {\n return;\n }\n return entries.flatMap((entry) => {\n return entry.highlightSpans.map((highlightSpans) => {\n return {\n range: this._textSpanToRange(model, highlightSpans.textSpan),\n kind: highlightSpans.kind === \"writtenReference\" ? languages.DocumentHighlightKind.Write : languages.DocumentHighlightKind.Text\n };\n });\n });\n }\n}\nclass DefinitionAdapter extends Adapter {\n constructor(_libFiles, worker) {\n super(worker);\n this._libFiles = _libFiles;\n }\n async provideDefinition(model, position, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const entries = await worker.getDefinitionAtPosition(resource.toString(), offset);\n if (!entries || model.isDisposed()) {\n return;\n }\n await this._libFiles.fetchLibFilesIfNecessary(\n entries.map((entry) => Uri.parse(entry.fileName))\n );\n if (model.isDisposed()) {\n return;\n }\n const result = [];\n for (let entry of entries) {\n const refModel = this._libFiles.getOrCreateModel(entry.fileName);\n if (refModel) {\n result.push({\n uri: refModel.uri,\n range: this._textSpanToRange(refModel, entry.textSpan)\n });\n }\n }\n return result;\n }\n}\nclass ReferenceAdapter extends Adapter {\n constructor(_libFiles, worker) {\n super(worker);\n this._libFiles = _libFiles;\n }\n async provideReferences(model, position, context, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const entries = await worker.getReferencesAtPosition(resource.toString(), offset);\n if (!entries || model.isDisposed()) {\n return;\n }\n await this._libFiles.fetchLibFilesIfNecessary(\n entries.map((entry) => Uri.parse(entry.fileName))\n );\n if (model.isDisposed()) {\n return;\n }\n const result = [];\n for (let entry of entries) {\n const refModel = this._libFiles.getOrCreateModel(entry.fileName);\n if (refModel) {\n result.push({\n uri: refModel.uri,\n range: this._textSpanToRange(refModel, entry.textSpan)\n });\n }\n }\n return result;\n }\n}\nclass OutlineAdapter extends Adapter {\n async provideDocumentSymbols(model, token) {\n const resource = model.uri;\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const root = await worker.getNavigationTree(resource.toString());\n if (!root || model.isDisposed()) {\n return;\n }\n const convert = (item, containerLabel) => {\n const result2 = {\n name: item.text,\n detail: \"\",\n kind: outlineTypeTable[item.kind] || languages.SymbolKind.Variable,\n range: this._textSpanToRange(model, item.spans[0]),\n selectionRange: this._textSpanToRange(model, item.spans[0]),\n tags: [],\n children: item.childItems?.map((child) => convert(child, item.text)),\n containerName: containerLabel\n };\n return result2;\n };\n const result = root.childItems ? root.childItems.map((item) => convert(item)) : [];\n return result;\n }\n}\nclass Kind {\n}\nKind.unknown = \"\";\nKind.keyword = \"keyword\";\nKind.script = \"script\";\nKind.module = \"module\";\nKind.class = \"class\";\nKind.interface = \"interface\";\nKind.type = \"type\";\nKind.enum = \"enum\";\nKind.variable = \"var\";\nKind.localVariable = \"local var\";\nKind.function = \"function\";\nKind.localFunction = \"local function\";\nKind.memberFunction = \"method\";\nKind.memberGetAccessor = \"getter\";\nKind.memberSetAccessor = \"setter\";\nKind.memberVariable = \"property\";\nKind.constructorImplementation = \"constructor\";\nKind.callSignature = \"call\";\nKind.indexSignature = \"index\";\nKind.constructSignature = \"construct\";\nKind.parameter = \"parameter\";\nKind.typeParameter = \"type parameter\";\nKind.primitiveType = \"primitive type\";\nKind.label = \"label\";\nKind.alias = \"alias\";\nKind.const = \"const\";\nKind.let = \"let\";\nKind.warning = \"warning\";\nlet outlineTypeTable = /* @__PURE__ */ Object.create(null);\noutlineTypeTable[Kind.module] = languages.SymbolKind.Module;\noutlineTypeTable[Kind.class] = languages.SymbolKind.Class;\noutlineTypeTable[Kind.enum] = languages.SymbolKind.Enum;\noutlineTypeTable[Kind.interface] = languages.SymbolKind.Interface;\noutlineTypeTable[Kind.memberFunction] = languages.SymbolKind.Method;\noutlineTypeTable[Kind.memberVariable] = languages.SymbolKind.Property;\noutlineTypeTable[Kind.memberGetAccessor] = languages.SymbolKind.Property;\noutlineTypeTable[Kind.memberSetAccessor] = languages.SymbolKind.Property;\noutlineTypeTable[Kind.variable] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.const] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.localVariable] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.variable] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.function] = languages.SymbolKind.Function;\noutlineTypeTable[Kind.localFunction] = languages.SymbolKind.Function;\nclass FormatHelper extends Adapter {\n static _convertOptions(options) {\n return {\n ConvertTabsToSpaces: options.insertSpaces,\n TabSize: options.tabSize,\n IndentSize: options.tabSize,\n IndentStyle: 2 /* Smart */,\n NewLineCharacter: \"\\n\",\n InsertSpaceAfterCommaDelimiter: true,\n InsertSpaceAfterSemicolonInForStatements: true,\n InsertSpaceBeforeAndAfterBinaryOperators: true,\n InsertSpaceAfterKeywordsInControlFlowStatements: true,\n InsertSpaceAfterFunctionKeywordForAnonymousFunctions: true,\n InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: false,\n InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: false,\n InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: false,\n PlaceOpenBraceOnNewLineForControlBlocks: false,\n PlaceOpenBraceOnNewLineForFunctions: false\n };\n }\n _convertTextChanges(model, change) {\n return {\n text: change.newText,\n range: this._textSpanToRange(model, change.span)\n };\n }\n}\nclass FormatAdapter extends FormatHelper {\n constructor() {\n super(...arguments);\n this.canFormatMultipleRanges = false;\n }\n async provideDocumentRangeFormattingEdits(model, range, options, token) {\n const resource = model.uri;\n const startOffset = model.getOffsetAt({\n lineNumber: range.startLineNumber,\n column: range.startColumn\n });\n const endOffset = model.getOffsetAt({\n lineNumber: range.endLineNumber,\n column: range.endColumn\n });\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const edits = await worker.getFormattingEditsForRange(\n resource.toString(),\n startOffset,\n endOffset,\n FormatHelper._convertOptions(options)\n );\n if (!edits || model.isDisposed()) {\n return;\n }\n return edits.map((edit) => this._convertTextChanges(model, edit));\n }\n}\nclass FormatOnTypeAdapter extends FormatHelper {\n get autoFormatTriggerCharacters() {\n return [\";\", \"}\", \"\\n\"];\n }\n async provideOnTypeFormattingEdits(model, position, ch, options, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const edits = await worker.getFormattingEditsAfterKeystroke(\n resource.toString(),\n offset,\n ch,\n FormatHelper._convertOptions(options)\n );\n if (!edits || model.isDisposed()) {\n return;\n }\n return edits.map((edit) => this._convertTextChanges(model, edit));\n }\n}\nclass CodeActionAdaptor extends FormatHelper {\n async provideCodeActions(model, range, context, token) {\n const resource = model.uri;\n const start = model.getOffsetAt({\n lineNumber: range.startLineNumber,\n column: range.startColumn\n });\n const end = model.getOffsetAt({\n lineNumber: range.endLineNumber,\n column: range.endColumn\n });\n const formatOptions = FormatHelper._convertOptions(model.getOptions());\n const errorCodes = context.markers.filter((m) => m.code).map((m) => m.code).map(Number);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const codeFixes = await worker.getCodeFixesAtPosition(\n resource.toString(),\n start,\n end,\n errorCodes,\n formatOptions\n );\n if (!codeFixes || model.isDisposed()) {\n return { actions: [], dispose: () => {\n } };\n }\n const actions = codeFixes.filter((fix) => {\n return fix.changes.filter((change) => change.isNewFile).length === 0;\n }).map((fix) => {\n return this._tsCodeFixActionToMonacoCodeAction(model, context, fix);\n });\n return {\n actions,\n dispose: () => {\n }\n };\n }\n _tsCodeFixActionToMonacoCodeAction(model, context, codeFix) {\n const edits = [];\n for (const change of codeFix.changes) {\n for (const textChange of change.textChanges) {\n edits.push({\n resource: model.uri,\n versionId: void 0,\n textEdit: {\n range: this._textSpanToRange(model, textChange.span),\n text: textChange.newText\n }\n });\n }\n }\n const action = {\n title: codeFix.description,\n edit: { edits },\n diagnostics: context.markers,\n kind: \"quickfix\"\n };\n return action;\n }\n}\nclass RenameAdapter extends Adapter {\n constructor(_libFiles, worker) {\n super(worker);\n this._libFiles = _libFiles;\n }\n async provideRenameEdits(model, position, newName, token) {\n const resource = model.uri;\n const fileName = resource.toString();\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const renameInfo = await worker.getRenameInfo(fileName, offset, {\n allowRenameOfImportPath: false\n });\n if (renameInfo.canRename === false) {\n return {\n edits: [],\n rejectReason: renameInfo.localizedErrorMessage\n };\n }\n if (renameInfo.fileToRename !== void 0) {\n throw new Error(\"Renaming files is not supported.\");\n }\n const renameLocations = await worker.findRenameLocations(\n fileName,\n offset,\n /*strings*/\n false,\n /*comments*/\n false,\n /*prefixAndSuffix*/\n false\n );\n if (!renameLocations || model.isDisposed()) {\n return;\n }\n const edits = [];\n for (const renameLocation of renameLocations) {\n const model2 = this._libFiles.getOrCreateModel(renameLocation.fileName);\n if (model2) {\n edits.push({\n resource: model2.uri,\n versionId: void 0,\n textEdit: {\n range: this._textSpanToRange(model2, renameLocation.textSpan),\n text: newName\n }\n });\n } else {\n throw new Error(`Unknown file ${renameLocation.fileName}.`);\n }\n }\n return { edits };\n }\n}\nclass InlayHintsAdapter extends Adapter {\n async provideInlayHints(model, range, token) {\n const resource = model.uri;\n const fileName = resource.toString();\n const start = model.getOffsetAt({\n lineNumber: range.startLineNumber,\n column: range.startColumn\n });\n const end = model.getOffsetAt({\n lineNumber: range.endLineNumber,\n column: range.endColumn\n });\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return null;\n }\n const tsHints = await worker.provideInlayHints(fileName, start, end);\n const hints = tsHints.map((hint) => {\n return {\n ...hint,\n label: hint.text,\n position: model.getPositionAt(hint.position),\n kind: this._convertHintKind(hint.kind)\n };\n });\n return { hints, dispose: () => {\n } };\n }\n _convertHintKind(kind) {\n switch (kind) {\n case \"Parameter\":\n return languages.InlayHintKind.Parameter;\n case \"Type\":\n return languages.InlayHintKind.Type;\n default:\n return languages.InlayHintKind.Type;\n }\n }\n}\n\nexport { Adapter, CodeActionAdaptor, DefinitionAdapter, DiagnosticsAdapter, DocumentHighlightAdapter, FormatAdapter, FormatHelper, FormatOnTypeAdapter, InlayHintsAdapter, Kind, LibFiles, OutlineAdapter, QuickInfoAdapter, ReferenceAdapter, RenameAdapter, SignatureHelpAdapter, SuggestAdapter, flattenDiagnosticMessageText };\n","import { WorkerManager } from './workerManager.js';\nimport { SuggestAdapter, SignatureHelpAdapter, QuickInfoAdapter, DocumentHighlightAdapter, DefinitionAdapter, LibFiles, ReferenceAdapter, OutlineAdapter, RenameAdapter, FormatAdapter, FormatOnTypeAdapter, CodeActionAdaptor, InlayHintsAdapter, DiagnosticsAdapter } from './languageFeatures.js';\nexport { Adapter, FormatHelper, Kind, flattenDiagnosticMessageText } from './languageFeatures.js';\nimport { languages } from '../../../editor/editor.api.js';\n\nlet javaScriptWorker;\nlet typeScriptWorker;\nfunction setupTypeScript(defaults) {\n typeScriptWorker = setupMode(defaults, \"typescript\");\n}\nfunction setupJavaScript(defaults) {\n javaScriptWorker = setupMode(defaults, \"javascript\");\n}\nfunction getJavaScriptWorker() {\n return new Promise((resolve, reject) => {\n if (!javaScriptWorker) {\n return reject(\"JavaScript not registered!\");\n }\n resolve(javaScriptWorker);\n });\n}\nfunction getTypeScriptWorker() {\n return new Promise((resolve, reject) => {\n if (!typeScriptWorker) {\n return reject(\"TypeScript not registered!\");\n }\n resolve(typeScriptWorker);\n });\n}\nfunction setupMode(defaults, modeId) {\n const providers = [];\n const client = new WorkerManager(modeId, defaults);\n const worker = (...uris) => {\n return client.getLanguageServiceWorker(...uris);\n };\n const libFiles = new LibFiles(worker);\n function registerProviders() {\n const { modeConfiguration } = defaults;\n disposeAll(providers);\n if (modeConfiguration.completionItems) {\n providers.push(\n languages.registerCompletionItemProvider(\n modeId,\n new SuggestAdapter(worker)\n )\n );\n }\n if (modeConfiguration.signatureHelp) {\n providers.push(\n languages.registerSignatureHelpProvider(\n modeId,\n new SignatureHelpAdapter(worker)\n )\n );\n }\n if (modeConfiguration.hovers) {\n providers.push(\n languages.registerHoverProvider(modeId, new QuickInfoAdapter(worker))\n );\n }\n if (modeConfiguration.documentHighlights) {\n providers.push(\n languages.registerDocumentHighlightProvider(\n modeId,\n new DocumentHighlightAdapter(worker)\n )\n );\n }\n if (modeConfiguration.definitions) {\n providers.push(\n languages.registerDefinitionProvider(\n modeId,\n new DefinitionAdapter(libFiles, worker)\n )\n );\n }\n if (modeConfiguration.references) {\n providers.push(\n languages.registerReferenceProvider(\n modeId,\n new ReferenceAdapter(libFiles, worker)\n )\n );\n }\n if (modeConfiguration.documentSymbols) {\n providers.push(\n languages.registerDocumentSymbolProvider(\n modeId,\n new OutlineAdapter(worker)\n )\n );\n }\n if (modeConfiguration.rename) {\n providers.push(\n languages.registerRenameProvider(\n modeId,\n new RenameAdapter(libFiles, worker)\n )\n );\n }\n if (modeConfiguration.documentRangeFormattingEdits) {\n providers.push(\n languages.registerDocumentRangeFormattingEditProvider(\n modeId,\n new FormatAdapter(worker)\n )\n );\n }\n if (modeConfiguration.onTypeFormattingEdits) {\n providers.push(\n languages.registerOnTypeFormattingEditProvider(\n modeId,\n new FormatOnTypeAdapter(worker)\n )\n );\n }\n if (modeConfiguration.codeActions) {\n providers.push(\n languages.registerCodeActionProvider(modeId, new CodeActionAdaptor(worker))\n );\n }\n if (modeConfiguration.inlayHints) {\n providers.push(\n languages.registerInlayHintsProvider(modeId, new InlayHintsAdapter(worker))\n );\n }\n if (modeConfiguration.diagnostics) {\n providers.push(new DiagnosticsAdapter(libFiles, defaults, modeId, worker));\n }\n }\n registerProviders();\n return worker;\n}\nfunction disposeAll(disposables) {\n while (disposables.length) {\n disposables.pop().dispose();\n }\n}\n\nexport { CodeActionAdaptor, DefinitionAdapter, DiagnosticsAdapter, DocumentHighlightAdapter, FormatAdapter, FormatOnTypeAdapter, InlayHintsAdapter, LibFiles, OutlineAdapter, QuickInfoAdapter, ReferenceAdapter, RenameAdapter, SignatureHelpAdapter, SuggestAdapter, WorkerManager, getJavaScriptWorker, getTypeScriptWorker, setupJavaScript, setupTypeScript };\n"],"x_google_ignoreList":[0,1,2,3],"mappings":"mKAGA,IAAM,EAAN,KAAoB,CAClB,YAAY,EAAS,EAAW,CAC9B,KAAK,QAAU,EACf,KAAK,UAAY,EACjB,KAAK,QAAU,KACf,KAAK,QAAU,KACf,KAAK,sBAAwB,KAAK,UAAU,gBAAkB,KAAK,YAAY,CAAC,EAChF,KAAK,sBAAwB,EAC7B,KAAK,yBAA2B,KAAK,UAAU,yBACvC,KAAK,iBAAiB,CAC9B,CACF,CACA,SAAU,CACR,KAAK,sBAAsB,QAAQ,EACnC,KAAK,yBAAyB,QAAQ,EACtC,KAAK,YAAY,CACnB,CACA,aAAc,CACZ,AAEE,KAAK,WADL,KAAK,QAAQ,QAAQ,EACN,MAEjB,KAAK,QAAU,IACjB,CACA,MAAM,kBAAmB,CACvB,GAAI,CAAC,KAAK,QACR,OAEF,IAAM,EAAU,EAAE,KAAK,sBACjB,EAAQ,MAAM,KAAK,QAAQ,SAAS,EACtC,KAAK,wBAA0B,GAGnC,EAAM,gBAAgB,KAAK,UAAU,aAAa,CAAC,CACrD,CACA,YAAa,CAyBX,MAxBA,CACE,KAAK,WAAW,UACd,KAAK,QAAU,EAAgB,CAE7B,SAAU,kCACV,iBAAoB,IAAI,OAAO,IAAA,IAAA,gCAAA,GAAA,OAAA,KAAA,GAAA,EAA0C,CAAE,KAAM,QAAS,CAAC,EAC3F,MAAO,KAAK,QACZ,eAAgB,GAEhB,WAAY,CACV,gBAAiB,KAAK,UAAU,mBAAmB,EACnD,UAAW,KAAK,UAAU,aAAa,EACvC,iBAAkB,KAAK,UAAU,cAAc,iBAC/C,kBAAmB,KAAK,UAAU,iBACpC,CACF,CAAC,EACG,KAAK,UAAU,kBAAkB,EAC5B,MAAM,KAAK,QAAQ,oBACxB,EAAO,UAAU,CAAC,CAAC,OAAQ,GAAU,EAAM,cAAc,IAAM,KAAK,OAAO,CAAC,CAAC,IAAK,GAAU,EAAM,GAAG,CACvG,EAEK,MAAM,KAAK,QAAQ,SAAS,GACrC,CAAG,EAEE,KAAK,OACd,CACA,MAAM,yBAAyB,GAAG,EAAW,CAC3C,IAAM,EAAS,MAAM,KAAK,WAAW,EAIrC,OAHI,KAAK,SACP,MAAM,KAAK,QAAQ,oBAAoB,CAAS,EAE3C,CACT,CACF,ECxEM,EAAa,CAAC,EACpB,EAAW,YAAc,GACzB,EAAW,uBAAyB,GACpC,EAAW,8BAAgC,GAC3C,EAAW,8BAAgC,GAC3C,EAAW,gBAAkB,GAC7B,EAAW,yBAA2B,GACtC,EAAW,8BAAgC,GAC3C,EAAW,wBAA0B,GACrC,EAAW,mBAAqB,GAChC,EAAW,6BAA+B,GAC1C,EAAW,4BAA8B,GACzC,EAAW,2BAA6B,GACxC,EAAW,yBAA2B,GACtC,EAAW,2BAA6B,GACxC,EAAW,0BAA4B,GACvC,EAAW,oCAAsC,GACjD,EAAW,iCAAmC,GAC9C,EAAW,mBAAqB,GAChC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,+BAAiC,GAC5C,EAAW,mBAAqB,GAChC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,0BAA4B,GACvC,EAAW,gCAAkC,GAC7C,EAAW,0BAA4B,GACvC,EAAW,+BAAiC,GAC5C,EAAW,kCAAoC,GAC/C,EAAW,iCAAmC,GAC9C,EAAW,mBAAqB,GAChC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,2BAA6B,GACxC,EAAW,0BAA4B,GACvC,EAAW,yBAA2B,GACtC,EAAW,mBAAqB,GAChC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,0BAA4B,GACvC,EAAW,0BAA4B,GACvC,EAAW,0BAA4B,GACvC,EAAW,0BAA4B,GACvC,EAAW,mBAAqB,GAChC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,0BAA4B,GACvC,EAAW,2BAA6B,GACxC,EAAW,gCAAkC,GAC7C,EAAW,0BAA4B,GACvC,EAAW,oCAAsC,GACjD,EAAW,mBAAqB,GAChC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,2BAA6B,GACxC,EAAW,0BAA4B,GACvC,EAAW,2BAA6B,GACxC,EAAW,yBAA2B,GACtC,EAAW,mBAAqB,GAChC,EAAW,yBAA2B,GACtC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,0BAA4B,GACvC,EAAW,0BAA4B,GACvC,EAAW,0BAA4B,GACvC,EAAW,yBAA2B,GACtC,EAAW,8BAAgC,GAC3C,EAAW,mBAAqB,GAChC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,+BAAiC,GAC5C,EAAW,8BAAgC,GAC3C,EAAW,mBAAqB,GAChC,EAAW,wBAA0B,GACrC,EAAW,0BAA4B,GACvC,EAAW,2BAA6B,GACxC,EAAW,0BAA4B,GACvC,EAAW,gCAAkC,GAC7C,EAAW,0BAA4B,GACvC,EAAW,gBAAkB,GAC7B,EAAW,gBAAkB,GAC7B,EAAW,yBAA2B,GACtC,EAAW,8BAAgC,GAC3C,EAAW,mBAAqB,GAChC,EAAW,8BAAgC,GAC3C,EAAW,8BAAgC,GAC3C,EAAW,yBAA2B,GACtC,EAAW,2BAA6B,GACxC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,4BAA8B,GACzC,EAAW,2BAA6B,GACxC,EAAW,gCAAkC,GAC7C,EAAW,uBAAyB,GACpC,EAAW,oCAAsC,GACjD,EAAW,sBAAwB,GACnC,EAAW,oCAAsC,GACjD,EAAW,+BAAiC,GChG5C,SAAS,EAA6B,EAAM,EAAS,EAAS,EAAG,CAC/D,GAAI,OAAO,GAAS,SAClB,OAAO,EACF,GAAI,IAAS,IAAK,GACvB,MAAO,GAET,IAAI,EAAS,GACb,GAAI,EAAQ,CACV,GAAU,EACV,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,IAC1B,GAAU,IAEd,CAGA,GAFA,GAAU,EAAK,YACf,IACI,EAAK,KACP,IAAK,IAAM,KAAO,EAAK,KACrB,GAAU,EAA6B,EAAK,EAAS,CAAM,EAG/D,OAAO,CACT,CACA,SAAS,EAAqB,EAAc,CAI1C,OAHI,EACK,EAAa,IAAK,GAAgB,EAAY,IAAI,CAAC,CAAC,KAAK,EAAE,EAE7D,EACT,CACA,IAAM,EAAN,KAAc,CACZ,YAAY,EAAS,CACnB,KAAK,QAAU,CACjB,CAOA,iBAAiB,EAAO,EAAM,CAC5B,IAAI,EAAK,EAAM,cAAc,EAAK,KAAK,EACnC,EAAK,EAAM,cAAc,EAAK,MAAQ,EAAK,MAAM,EACjD,CAAE,WAAY,EAAiB,OAAQ,GAAgB,EACvD,CAAE,WAAY,EAAe,OAAQ,GAAc,EACvD,MAAO,CAAE,kBAAiB,cAAa,gBAAe,WAAU,CAClE,CACF,EACM,EAAN,KAAe,CACb,YAAY,EAAS,CACnB,KAAK,QAAU,EACf,KAAK,UAAY,CAAC,EAClB,KAAK,oBAAsB,GAC3B,KAAK,sBAAwB,IAC/B,CACA,UAAU,EAAK,CAOb,OANK,EAGD,EAAI,KAAK,QAAQ,OAAO,IAAM,GACzB,CAAC,CAAC,EAAW,EAAI,KAAK,MAAM,CAAC,GAH7B,EAMX,CACA,iBAAiB,EAAU,CACzB,IAAM,EAAM,EAAI,MAAM,CAAQ,EACxB,EAAQ,EAAO,SAAS,CAAG,EACjC,GAAI,EACF,OAAO,EAET,GAAI,KAAK,UAAU,CAAG,GAAK,KAAK,oBAC9B,OAAO,EAAO,YAAY,KAAK,UAAU,EAAI,KAAK,MAAM,CAAC,GAAI,aAAc,CAAG,EAEhF,IAAM,EAAiB,EAAmB,aAAa,CAAC,CAAC,GAIzD,OAHI,EACK,EAAO,YAAY,EAAe,QAAS,aAAc,CAAG,EAE9D,IACT,CACA,iBAAiB,EAAM,CACrB,IAAK,IAAI,KAAO,EACd,GAAI,KAAK,UAAU,CAAG,EACpB,MAAO,GAGX,MAAO,EACT,CACA,MAAM,yBAAyB,EAAM,CAC9B,KAAK,iBAAiB,CAAI,GAG/B,MAAM,KAAK,eAAe,CAC5B,CACA,gBAAiB,CAOf,MANA,CACE,KAAK,wBAAwB,KAAK,QAAQ,CAAC,CAAC,KAAM,GAAM,EAAE,YAAY,CAAC,CAAC,CAAC,KAAM,GAAa,CAC1F,KAAK,oBAAsB,GAC3B,KAAK,UAAY,CACnB,CAAC,EAEI,KAAK,qBACd,CACF,EACM,EAAN,cAAiC,CAAQ,CACvC,YAAY,EAAW,EAAW,EAAW,EAAQ,CACnD,MAAM,CAAM,EACZ,KAAK,UAAY,EACjB,KAAK,UAAY,EACjB,KAAK,UAAY,EACjB,KAAK,aAAe,CAAC,EACrB,KAAK,UAA4B,OAAO,OAAO,IAAI,EACnD,IAAM,EAAc,GAAU,CAC5B,GAAI,EAAM,cAAc,IAAM,EAC5B,OAEF,IAAM,MAAsB,CAC1B,GAAM,CAAE,eAAgB,KAAK,UAAU,sBAAsB,EACzD,EACE,EAAM,mBAAmB,GAC3B,KAAK,YAAY,CAAK,EAGxB,KAAK,YAAY,CAAK,CAE1B,EACI,EACE,EAAqB,EAAM,uBAAyB,CACxD,aAAa,CAAM,EACnB,EAAS,OAAO,WAAW,EAAe,GAAG,CAC/C,CAAC,EACK,EAAsB,EAAM,wBAA0B,CAC1D,GAAM,CAAE,eAAgB,KAAK,UAAU,sBAAsB,EACzD,IACE,EAAM,mBAAmB,EAC3B,EAAc,EAEd,EAAO,gBAAgB,EAAO,KAAK,UAAW,CAAC,CAAC,EAGtD,CAAC,EACD,KAAK,UAAU,EAAM,IAAI,SAAS,GAAK,CACrC,SAAU,CACR,EAAmB,QAAQ,EAC3B,EAAoB,QAAQ,EAC5B,aAAa,CAAM,CACrB,CACF,EACA,EAAc,CAChB,EACM,EAAkB,GAAU,CAChC,EAAO,gBAAgB,EAAO,KAAK,UAAW,CAAC,CAAC,EAChD,IAAM,EAAM,EAAM,IAAI,SAAS,EAC3B,KAAK,UAAU,KACjB,KAAK,UAAU,EAAI,CAAC,QAAQ,EAC5B,OAAO,KAAK,UAAU,GAE1B,EACA,KAAK,aAAa,KAChB,EAAO,iBAAkB,GAAU,EAAW,CAAK,CAAC,CACtD,EACA,KAAK,aAAa,KAAK,EAAO,mBAAmB,CAAc,CAAC,EAChE,KAAK,aAAa,KAChB,EAAO,yBAA0B,GAAU,CACzC,EAAe,EAAM,KAAK,EAC1B,EAAW,EAAM,KAAK,CACxB,CAAC,CACH,EACA,KAAK,aAAa,KAAK,CACrB,SAAU,CACR,IAAK,IAAM,KAAS,EAAO,UAAU,EACnC,EAAe,CAAK,CAExB,CACF,CAAC,EACD,IAAM,MAA4B,CAChC,IAAK,IAAM,KAAS,EAAO,UAAU,EACnC,EAAe,CAAK,EACpB,EAAW,CAAK,CAEpB,EACA,KAAK,aAAa,KAAK,KAAK,UAAU,YAAY,CAAmB,CAAC,EACtE,KAAK,aAAa,KAAK,KAAK,UAAU,qBAAqB,CAAmB,CAAC,EAC/E,EAAO,UAAU,CAAC,CAAC,QAAS,GAAU,EAAW,CAAK,CAAC,CACzD,CACA,SAAU,CACR,KAAK,aAAa,QAAS,GAAM,GAAK,EAAE,QAAQ,CAAC,EACjD,KAAK,aAAe,CAAC,CACvB,CACA,MAAM,YAAY,EAAO,CACvB,IAAM,EAAS,MAAM,KAAK,QAAQ,EAAM,GAAG,EAC3C,GAAI,EAAM,WAAW,EACnB,OAEF,IAAM,EAAW,CAAC,EACZ,CAAE,qBAAoB,uBAAsB,2BAA4B,KAAK,UAAU,sBAAsB,EAC9G,GACH,EAAS,KAAK,EAAO,wBAAwB,EAAM,IAAI,SAAS,CAAC,CAAC,EAE/D,GACH,EAAS,KAAK,EAAO,uBAAuB,EAAM,IAAI,SAAS,CAAC,CAAC,EAE9D,GACH,EAAS,KAAK,EAAO,yBAAyB,EAAM,IAAI,SAAS,CAAC,CAAC,EAErE,IAAM,EAAiB,MAAM,QAAQ,IAAI,CAAQ,EACjD,GAAI,CAAC,GAAkB,EAAM,WAAW,EACtC,OAEF,IAAM,EAAc,EAAe,QAAQ,EAAG,IAAM,EAAE,OAAO,CAAC,EAAG,CAAC,CAAC,CAAC,CAAC,OAClE,IAAO,KAAK,UAAU,sBAAsB,CAAC,CAAC,yBAA2B,CAAC,EAAA,CAAG,QAAQ,EAAE,IAAI,IAAM,EACpG,EACM,EAAc,EAAY,IAAK,GAAM,EAAE,oBAAsB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAG,IAAM,EAAE,OAAO,CAAC,EAAG,CAAC,CAAC,CAAC,CAAC,IACtG,GAAuB,EAAmB,KAAO,EAAI,MAAM,EAAmB,KAAK,QAAQ,EAAI,IAClG,EACA,MAAM,KAAK,UAAU,yBAAyB,CAAW,EACrD,GAAM,WAAW,GAGrB,EAAO,gBACL,EACA,KAAK,UACL,EAAY,IAAK,GAAM,KAAK,oBAAoB,EAAO,CAAC,CAAC,CAC3D,CACF,CACA,oBAAoB,EAAO,EAAM,CAC/B,IAAM,EAAY,EAAK,OAAS,EAC1B,EAAa,EAAK,QAAU,EAC5B,CAAE,WAAY,EAAiB,OAAQ,GAAgB,EAAM,cAAc,CAAS,EACpF,CAAE,WAAY,EAAe,OAAQ,GAAc,EAAM,cAC7D,EAAY,CACd,EACM,EAAO,CAAC,EAOd,OANI,EAAK,oBACP,EAAK,KAAK,EAAU,WAAW,EAE7B,EAAK,mBACP,EAAK,KAAK,EAAU,UAAU,EAEzB,CACL,SAAU,KAAK,sCAAsC,EAAK,QAAQ,EAClE,kBACA,cACA,gBACA,YACA,QAAS,EAA6B,EAAK,YAAa;CAAI,EAC5D,KAAM,EAAK,KAAK,SAAS,EACzB,OACA,mBAAoB,KAAK,2BAA2B,EAAO,EAAK,kBAAkB,CACpF,CACF,CACA,2BAA2B,EAAO,EAAoB,CACpD,GAAI,CAAC,EACH,MAAO,CAAC,EAEV,IAAM,EAAS,CAAC,EAwBhB,OAvBA,EAAmB,QAAS,GAAS,CACnC,IAAI,EAAkB,EAItB,GAHI,EAAK,OACP,EAAkB,KAAK,UAAU,iBAAiB,EAAK,KAAK,QAAQ,GAElE,CAAC,EACH,OAEF,IAAM,EAAY,EAAK,OAAS,EAC1B,EAAa,EAAK,QAAU,EAC5B,CAAE,WAAY,EAAiB,OAAQ,GAAgB,EAAgB,cAAc,CAAS,EAC9F,CAAE,WAAY,EAAe,OAAQ,GAAc,EAAgB,cACvE,EAAY,CACd,EACA,EAAO,KAAK,CACV,SAAU,EAAgB,IAC1B,kBACA,cACA,gBACA,YACA,QAAS,EAA6B,EAAK,YAAa;CAAI,CAC9D,CAAC,CACH,CAAC,EACM,CACT,CACA,sCAAsC,EAAU,CAC9C,OAAQ,EAAR,CACE,IAAK,GACH,OAAO,EAAe,MACxB,IAAK,GACH,OAAO,EAAe,KACxB,IAAK,GACH,OAAO,EAAe,QACxB,IAAK,GACH,OAAO,EAAe,IAC1B,CACA,OAAO,EAAe,IACxB,CACF,EACM,EAAN,MAAM,UAAuB,CAAQ,CACnC,IAAI,mBAAoB,CACtB,MAAO,CAAC,GAAG,CACb,CACA,MAAM,uBAAuB,EAAO,EAAU,EAAU,EAAO,CAC7D,IAAM,EAAW,EAAM,qBAAqB,CAAQ,EAC9C,EAAY,IAAI,EACpB,EAAS,WACT,EAAS,YACT,EAAS,WACT,EAAS,SACX,EACM,EAAW,EAAM,IACjB,EAAS,EAAM,YAAY,CAAQ,EACnC,EAAS,MAAM,KAAK,QAAQ,CAAQ,EAC1C,GAAI,EAAM,WAAW,EACnB,OAEF,IAAM,EAAO,MAAM,EAAO,yBAAyB,EAAS,SAAS,EAAG,CAAM,EAC1E,MAAC,GAAQ,EAAM,WAAW,GA0B9B,MAAO,CACL,YAxBkB,EAAK,QAAQ,IAAK,GAAU,CAC9C,IAAI,EAAQ,EACZ,GAAI,EAAM,gBAAiB,CACzB,IAAM,EAAK,EAAM,cAAc,EAAM,gBAAgB,KAAK,EACpD,EAAK,EAAM,cAAc,EAAM,gBAAgB,MAAQ,EAAM,gBAAgB,MAAM,EACzF,EAAQ,IAAI,EAAM,EAAG,WAAY,EAAG,OAAQ,EAAG,WAAY,EAAG,MAAM,CACtE,CACA,IAAM,EAAO,CAAC,EAId,OAHI,EAAM,gBAAkB,IAAK,IAAK,EAAM,cAAc,QAAQ,YAAY,IAAM,IAClF,EAAK,KAAK,EAAU,kBAAkB,UAAU,EAE3C,CACL,IAAK,EACL,WACA,SACA,QACA,MAAO,EAAM,KACb,WAAY,EAAM,KAClB,SAAU,EAAM,SAChB,KAAM,EAAe,YAAY,EAAM,IAAI,EAC3C,MACF,CACF,CAEY,CACZ,CACF,CACA,MAAM,sBAAsB,EAAM,EAAO,CACvC,IAAM,EAAS,EACT,EAAW,EAAO,IAClB,EAAW,EAAO,SAClB,EAAS,EAAO,OAEhB,EAAU,MAAM,MADD,KAAK,QAAQ,CAAQ,EAAA,CACb,0BAC3B,EAAS,SAAS,EAClB,EACA,EAAO,KACT,EAIA,OAHK,EAGE,CACL,IAAK,EACL,WACA,MAAO,EAAQ,KACf,KAAM,EAAe,YAAY,EAAQ,IAAI,EAC7C,OAAQ,EAAqB,EAAQ,YAAY,EACjD,cAAe,CACb,MAAO,EAAe,0BAA0B,CAAO,CACzD,CACF,EAXS,CAYX,CACA,OAAO,YAAY,EAAM,CACvB,OAAQ,EAAR,CACE,KAAK,EAAK,cACV,KAAK,EAAK,QACR,OAAO,EAAU,mBAAmB,QACtC,KAAK,EAAK,SACV,KAAK,EAAK,cACR,OAAO,EAAU,mBAAmB,SACtC,KAAK,EAAK,eACV,KAAK,EAAK,kBACV,KAAK,EAAK,kBACR,OAAO,EAAU,mBAAmB,MACtC,KAAK,EAAK,SACV,KAAK,EAAK,eACV,KAAK,EAAK,mBACV,KAAK,EAAK,cACV,KAAK,EAAK,eACR,OAAO,EAAU,mBAAmB,SACtC,KAAK,EAAK,KACR,OAAO,EAAU,mBAAmB,KACtC,KAAK,EAAK,OACR,OAAO,EAAU,mBAAmB,OACtC,KAAK,EAAK,MACR,OAAO,EAAU,mBAAmB,MACtC,KAAK,EAAK,UACR,OAAO,EAAU,mBAAmB,UACtC,KAAK,EAAK,QACR,OAAO,EAAU,mBAAmB,IACxC,CACA,OAAO,EAAU,mBAAmB,QACtC,CACA,OAAO,0BAA0B,EAAS,CACxC,IAAI,EAAsB,EAAqB,EAAQ,aAAa,EACpE,GAAI,EAAQ,KACV,IAAK,IAAM,KAAO,EAAQ,KACxB,GAAuB;;EAE7B,EAAY,CAAG,IAGb,OAAO,CACT,CACF,EACA,SAAS,EAAY,EAAK,CACxB,IAAI,EAAW,KAAK,EAAI,KAAK,GAC7B,GAAI,EAAI,OAAS,SAAW,EAAI,KAAM,CACpC,GAAM,CAAC,EAAW,GAAG,GAAQ,EAAI,KACjC,GAAY,KAAK,EAAU,KAAK,IAC5B,EAAK,OAAS,IAAG,GAAY,WAAW,EAAK,IAAK,GAAM,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,IAC9E,MAAW,MAAM,QAAQ,EAAI,IAAI,EAC/B,GAAY,WAAW,EAAI,KAAK,IAAK,GAAM,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,IAClD,EAAI,OACb,GAAY,WAAW,EAAI,QAE7B,OAAO,CACT,CACA,IAAM,EAAN,MAAM,UAA6B,CAAQ,CACzC,aAAc,CACZ,MAAM,GAAG,SAAS,EAClB,KAAK,+BAAiC,CAAC,IAAK,GAAG,CACjD,CACA,OAAO,8BAA8B,EAAS,CAC5C,OAAQ,EAAQ,YAAhB,CACE,KAAK,EAAU,yBAAyB,iBAQpC,OAPE,EAAQ,iBACN,EAAQ,YACH,CAAE,KAAM,YAAa,iBAAkB,EAAQ,gBAAiB,EAEhE,CAAE,KAAM,iBAAkB,iBAAkB,EAAQ,gBAAiB,EAGvE,CAAE,KAAM,SAAU,EAE7B,KAAK,EAAU,yBAAyB,cACtC,OAAO,EAAQ,YAAc,CAAE,KAAM,WAAY,EAAI,CAAE,KAAM,SAAU,EACzE,KAAK,EAAU,yBAAyB,OACxC,QACE,MAAO,CAAE,KAAM,SAAU,CAC7B,CACF,CACA,MAAM,qBAAqB,EAAO,EAAU,EAAO,EAAS,CAC1D,IAAM,EAAW,EAAM,IACjB,EAAS,EAAM,YAAY,CAAQ,EACnC,EAAS,MAAM,KAAK,QAAQ,CAAQ,EAC1C,GAAI,EAAM,WAAW,EACnB,OAEF,IAAM,EAAO,MAAM,EAAO,sBAAsB,EAAS,SAAS,EAAG,EAAQ,CAC3E,cAAe,EAAqB,8BAA8B,CAAO,CAC3E,CAAC,EACD,GAAI,CAAC,GAAQ,EAAM,WAAW,EAC5B,OAEF,IAAM,EAAM,CACV,gBAAiB,EAAK,kBACtB,gBAAiB,EAAK,cACtB,WAAY,CAAC,CACf,EA2BA,OA1BA,EAAK,MAAM,QAAS,GAAS,CAC3B,IAAM,EAAY,CAChB,MAAO,GACP,WAAY,CAAC,CACf,EACA,EAAU,cAAgB,CACxB,MAAO,EAAqB,EAAK,aAAa,CAChD,EACA,EAAU,OAAS,EAAqB,EAAK,kBAAkB,EAC/D,EAAK,WAAW,SAAS,EAAG,EAAG,IAAM,CACnC,IAAM,EAAQ,EAAqB,EAAE,YAAY,EAC3C,EAAY,CAChB,QACA,cAAe,CACb,MAAO,EAAqB,EAAE,aAAa,CAC7C,CACF,EACA,EAAU,OAAS,EACnB,EAAU,WAAW,KAAK,CAAS,EAC/B,EAAI,EAAE,OAAS,IACjB,EAAU,OAAS,EAAqB,EAAK,qBAAqB,EAEtE,CAAC,EACD,EAAU,OAAS,EAAqB,EAAK,kBAAkB,EAC/D,EAAI,WAAW,KAAK,CAAS,CAC/B,CAAC,EACM,CACL,MAAO,EACP,SAAU,CACV,CACF,CACF,CACF,EACM,EAAN,cAA+B,CAAQ,CACrC,MAAM,aAAa,EAAO,EAAU,EAAO,CACzC,IAAM,EAAW,EAAM,IACjB,EAAS,EAAM,YAAY,CAAQ,EACnC,EAAS,MAAM,KAAK,QAAQ,CAAQ,EAC1C,GAAI,EAAM,WAAW,EACnB,OAEF,IAAM,EAAO,MAAM,EAAO,uBAAuB,EAAS,SAAS,EAAG,CAAM,EAC5E,GAAI,CAAC,GAAQ,EAAM,WAAW,EAC5B,OAEF,IAAM,EAAgB,EAAqB,EAAK,aAAa,EACvD,EAAO,EAAK,KAAO,EAAK,KAAK,IAAK,GAAQ,EAAY,CAAG,CAAC,CAAC,CAAC,KAAK;;CAAQ,EAAI,GAC7E,EAAW,EAAqB,EAAK,YAAY,EACvD,MAAO,CACL,MAAO,KAAK,iBAAiB,EAAO,EAAK,QAAQ,EACjD,SAAU,CACR,CACE,MAAO,kBAAoB,EAAW,SACxC,EACA,CACE,MAAO,GAAiB,EAAO;;EAAS,EAAO,GACjD,CACF,CACF,CACF,CACF,EACM,EAAN,cAAuC,CAAQ,CAC7C,MAAM,0BAA0B,EAAO,EAAU,EAAO,CACtD,IAAM,EAAW,EAAM,IACjB,EAAS,EAAM,YAAY,CAAQ,EACnC,EAAS,MAAM,KAAK,QAAQ,CAAQ,EAC1C,GAAI,EAAM,WAAW,EACnB,OAEF,IAAM,EAAU,MAAM,EAAO,sBAAsB,EAAS,SAAS,EAAG,EAAQ,CAC9E,EAAS,SAAS,CACpB,CAAC,EACG,MAAC,GAAW,EAAM,WAAW,GAGjC,OAAO,EAAQ,QAAS,GACf,EAAM,eAAe,IAAK,IACxB,CACL,MAAO,KAAK,iBAAiB,EAAO,EAAe,QAAQ,EAC3D,KAAM,EAAe,OAAS,mBAAqB,EAAU,sBAAsB,MAAQ,EAAU,sBAAsB,IAC7H,EACD,CACF,CACH,CACF,EACM,EAAN,cAAgC,CAAQ,CACtC,YAAY,EAAW,EAAQ,CAC7B,MAAM,CAAM,EACZ,KAAK,UAAY,CACnB,CACA,MAAM,kBAAkB,EAAO,EAAU,EAAO,CAC9C,IAAM,EAAW,EAAM,IACjB,EAAS,EAAM,YAAY,CAAQ,EACnC,EAAS,MAAM,KAAK,QAAQ,CAAQ,EAC1C,GAAI,EAAM,WAAW,EACnB,OAEF,IAAM,EAAU,MAAM,EAAO,wBAAwB,EAAS,SAAS,EAAG,CAAM,EAOhF,GANI,CAAC,GAAW,EAAM,WAAW,IAGjC,MAAM,KAAK,UAAU,yBACnB,EAAQ,IAAK,GAAU,EAAI,MAAM,EAAM,QAAQ,CAAC,CAClD,EACI,EAAM,WAAW,GACnB,OAEF,IAAM,EAAS,CAAC,EAChB,IAAK,IAAI,KAAS,EAAS,CACzB,IAAM,EAAW,KAAK,UAAU,iBAAiB,EAAM,QAAQ,EAC3D,GACF,EAAO,KAAK,CACV,IAAK,EAAS,IACd,MAAO,KAAK,iBAAiB,EAAU,EAAM,QAAQ,CACvD,CAAC,CAEL,CACA,OAAO,CACT,CACF,EACM,EAAN,cAA+B,CAAQ,CACrC,YAAY,EAAW,EAAQ,CAC7B,MAAM,CAAM,EACZ,KAAK,UAAY,CACnB,CACA,MAAM,kBAAkB,EAAO,EAAU,EAAS,EAAO,CACvD,IAAM,EAAW,EAAM,IACjB,EAAS,EAAM,YAAY,CAAQ,EACnC,EAAS,MAAM,KAAK,QAAQ,CAAQ,EAC1C,GAAI,EAAM,WAAW,EACnB,OAEF,IAAM,EAAU,MAAM,EAAO,wBAAwB,EAAS,SAAS,EAAG,CAAM,EAOhF,GANI,CAAC,GAAW,EAAM,WAAW,IAGjC,MAAM,KAAK,UAAU,yBACnB,EAAQ,IAAK,GAAU,EAAI,MAAM,EAAM,QAAQ,CAAC,CAClD,EACI,EAAM,WAAW,GACnB,OAEF,IAAM,EAAS,CAAC,EAChB,IAAK,IAAI,KAAS,EAAS,CACzB,IAAM,EAAW,KAAK,UAAU,iBAAiB,EAAM,QAAQ,EAC3D,GACF,EAAO,KAAK,CACV,IAAK,EAAS,IACd,MAAO,KAAK,iBAAiB,EAAU,EAAM,QAAQ,CACvD,CAAC,CAEL,CACA,OAAO,CACT,CACF,EACM,EAAN,cAA6B,CAAQ,CACnC,MAAM,uBAAuB,EAAO,EAAO,CACzC,IAAM,EAAW,EAAM,IACjB,EAAS,MAAM,KAAK,QAAQ,CAAQ,EAC1C,GAAI,EAAM,WAAW,EACnB,OAEF,IAAM,EAAO,MAAM,EAAO,kBAAkB,EAAS,SAAS,CAAC,EAC/D,GAAI,CAAC,GAAQ,EAAM,WAAW,EAC5B,OAEF,IAAM,GAAW,EAAM,KAWd,CATL,KAAM,EAAK,KACX,OAAQ,GACR,KAAM,EAAiB,EAAK,OAAS,EAAU,WAAW,SAC1D,MAAO,KAAK,iBAAiB,EAAO,EAAK,MAAM,EAAE,EACjD,eAAgB,KAAK,iBAAiB,EAAO,EAAK,MAAM,EAAE,EAC1D,KAAM,CAAC,EACP,SAAU,EAAK,YAAY,IAAK,GAAU,EAAQ,EAAO,EAAK,IAAI,CAAC,EACnE,cAAe,CAEJ,GAGf,OADe,EAAK,WAAa,EAAK,WAAW,IAAK,GAAS,EAAQ,CAAI,CAAC,EAAI,CAAC,CAEnF,CACF,EACM,EAAN,KAAW,CACX,EACA,EAAK,QAAU,GACf,EAAK,QAAU,UACf,EAAK,OAAS,SACd,EAAK,OAAS,SACd,EAAK,MAAQ,QACb,EAAK,UAAY,YACjB,EAAK,KAAO,OACZ,EAAK,KAAO,OACZ,EAAK,SAAW,MAChB,EAAK,cAAgB,YACrB,EAAK,SAAW,WAChB,EAAK,cAAgB,iBACrB,EAAK,eAAiB,SACtB,EAAK,kBAAoB,SACzB,EAAK,kBAAoB,SACzB,EAAK,eAAiB,WACtB,EAAK,0BAA4B,cACjC,EAAK,cAAgB,OACrB,EAAK,eAAiB,QACtB,EAAK,mBAAqB,YAC1B,EAAK,UAAY,YACjB,EAAK,cAAgB,iBACrB,EAAK,cAAgB,iBACrB,EAAK,MAAQ,QACb,EAAK,MAAQ,QACb,EAAK,MAAQ,QACb,EAAK,IAAM,MACX,EAAK,QAAU,UACf,IAAI,EAAmC,OAAO,OAAO,IAAI,EACzD,EAAiB,EAAK,QAAU,EAAU,WAAW,OACrD,EAAiB,EAAK,OAAS,EAAU,WAAW,MACpD,EAAiB,EAAK,MAAQ,EAAU,WAAW,KACnD,EAAiB,EAAK,WAAa,EAAU,WAAW,UACxD,EAAiB,EAAK,gBAAkB,EAAU,WAAW,OAC7D,EAAiB,EAAK,gBAAkB,EAAU,WAAW,SAC7D,EAAiB,EAAK,mBAAqB,EAAU,WAAW,SAChE,EAAiB,EAAK,mBAAqB,EAAU,WAAW,SAChE,EAAiB,EAAK,UAAY,EAAU,WAAW,SACvD,EAAiB,EAAK,OAAS,EAAU,WAAW,SACpD,EAAiB,EAAK,eAAiB,EAAU,WAAW,SAC5D,EAAiB,EAAK,UAAY,EAAU,WAAW,SACvD,EAAiB,EAAK,UAAY,EAAU,WAAW,SACvD,EAAiB,EAAK,eAAiB,EAAU,WAAW,SAC5D,IAAM,EAAN,cAA2B,CAAQ,CACjC,OAAO,gBAAgB,EAAS,CAC9B,MAAO,CACL,oBAAqB,EAAQ,aAC7B,QAAS,EAAQ,QACjB,WAAY,EAAQ,QACpB,YAAa,EACb,iBAAkB;EAClB,+BAAgC,GAChC,yCAA0C,GAC1C,yCAA0C,GAC1C,gDAAiD,GACjD,qDAAsD,GACtD,2DAA4D,GAC5D,wDAAyD,GACzD,4DAA6D,GAC7D,wCAAyC,GACzC,oCAAqC,EACvC,CACF,CACA,oBAAoB,EAAO,EAAQ,CACjC,MAAO,CACL,KAAM,EAAO,QACb,MAAO,KAAK,iBAAiB,EAAO,EAAO,IAAI,CACjD,CACF,CACF,EACM,EAAN,cAA4B,CAAa,CACvC,aAAc,CACZ,MAAM,GAAG,SAAS,EAClB,KAAK,wBAA0B,EACjC,CACA,MAAM,oCAAoC,EAAO,EAAO,EAAS,EAAO,CACtE,IAAM,EAAW,EAAM,IACjB,EAAc,EAAM,YAAY,CACpC,WAAY,EAAM,gBAClB,OAAQ,EAAM,WAChB,CAAC,EACK,EAAY,EAAM,YAAY,CAClC,WAAY,EAAM,cAClB,OAAQ,EAAM,SAChB,CAAC,EACK,EAAS,MAAM,KAAK,QAAQ,CAAQ,EAC1C,GAAI,EAAM,WAAW,EACnB,OAEF,IAAM,EAAQ,MAAM,EAAO,2BACzB,EAAS,SAAS,EAClB,EACA,EACA,EAAa,gBAAgB,CAAO,CACtC,EACI,MAAC,GAAS,EAAM,WAAW,GAG/B,OAAO,EAAM,IAAK,GAAS,KAAK,oBAAoB,EAAO,CAAI,CAAC,CAClE,CACF,EACM,EAAN,cAAkC,CAAa,CAC7C,IAAI,6BAA8B,CAChC,MAAO,CAAC,IAAK,IAAK;CAAI,CACxB,CACA,MAAM,6BAA6B,EAAO,EAAU,EAAI,EAAS,EAAO,CACtE,IAAM,EAAW,EAAM,IACjB,EAAS,EAAM,YAAY,CAAQ,EACnC,EAAS,MAAM,KAAK,QAAQ,CAAQ,EAC1C,GAAI,EAAM,WAAW,EACnB,OAEF,IAAM,EAAQ,MAAM,EAAO,iCACzB,EAAS,SAAS,EAClB,EACA,EACA,EAAa,gBAAgB,CAAO,CACtC,EACI,MAAC,GAAS,EAAM,WAAW,GAG/B,OAAO,EAAM,IAAK,GAAS,KAAK,oBAAoB,EAAO,CAAI,CAAC,CAClE,CACF,EACM,EAAN,cAAgC,CAAa,CAC3C,MAAM,mBAAmB,EAAO,EAAO,EAAS,EAAO,CACrD,IAAM,EAAW,EAAM,IACjB,EAAQ,EAAM,YAAY,CAC9B,WAAY,EAAM,gBAClB,OAAQ,EAAM,WAChB,CAAC,EACK,EAAM,EAAM,YAAY,CAC5B,WAAY,EAAM,cAClB,OAAQ,EAAM,SAChB,CAAC,EACK,EAAgB,EAAa,gBAAgB,EAAM,WAAW,CAAC,EAC/D,EAAa,EAAQ,QAAQ,OAAQ,GAAM,EAAE,IAAI,CAAC,CAAC,IAAK,GAAM,EAAE,IAAI,CAAC,CAAC,IAAI,MAAM,EAChF,EAAS,MAAM,KAAK,QAAQ,CAAQ,EAC1C,GAAI,EAAM,WAAW,EACnB,OAEF,IAAM,EAAY,MAAM,EAAO,uBAC7B,EAAS,SAAS,EAClB,EACA,EACA,EACA,CACF,EAUA,MATI,CAAC,GAAa,EAAM,WAAW,EAC1B,CAAE,QAAS,CAAC,EAAG,YAAe,CACrC,CAAE,EAOG,CACL,QANc,EAAU,OAAQ,GACzB,EAAI,QAAQ,OAAQ,GAAW,EAAO,SAAS,CAAC,CAAC,SAAW,CACpE,CAAC,CAAC,IAAK,GACC,KAAK,mCAAmC,EAAO,EAAS,CAAG,CAG5D,EACN,YAAe,CACf,CACF,CACF,CACA,mCAAmC,EAAO,EAAS,EAAS,CAC1D,IAAM,EAAQ,CAAC,EACf,IAAK,IAAM,KAAU,EAAQ,QAC3B,IAAK,IAAM,KAAc,EAAO,YAC9B,EAAM,KAAK,CACT,SAAU,EAAM,IAChB,UAAW,IAAK,GAChB,SAAU,CACR,MAAO,KAAK,iBAAiB,EAAO,EAAW,IAAI,EACnD,KAAM,EAAW,OACnB,CACF,CAAC,EASL,MAAO,CALL,MAAO,EAAQ,YACf,KAAM,CAAE,OAAM,EACd,YAAa,EAAQ,QACrB,KAAM,UAEI,CACd,CACF,EACM,EAAN,cAA4B,CAAQ,CAClC,YAAY,EAAW,EAAQ,CAC7B,MAAM,CAAM,EACZ,KAAK,UAAY,CACnB,CACA,MAAM,mBAAmB,EAAO,EAAU,EAAS,EAAO,CACxD,IAAM,EAAW,EAAM,IACjB,EAAW,EAAS,SAAS,EAC7B,EAAS,EAAM,YAAY,CAAQ,EACnC,EAAS,MAAM,KAAK,QAAQ,CAAQ,EAC1C,GAAI,EAAM,WAAW,EACnB,OAEF,IAAM,EAAa,MAAM,EAAO,cAAc,EAAU,EAAQ,CAC9D,wBAAyB,EAC3B,CAAC,EACD,GAAI,EAAW,YAAc,GAC3B,MAAO,CACL,MAAO,CAAC,EACR,aAAc,EAAW,qBAC3B,EAEF,GAAI,EAAW,eAAiB,IAAK,GACnC,MAAU,MAAM,kCAAkC,EAEpD,IAAM,EAAkB,MAAM,EAAO,oBACnC,EACA,EAEA,GAEA,GAEA,EACF,EACA,GAAI,CAAC,GAAmB,EAAM,WAAW,EACvC,OAEF,IAAM,EAAQ,CAAC,EACf,IAAK,IAAM,KAAkB,EAAiB,CAC5C,IAAM,EAAS,KAAK,UAAU,iBAAiB,EAAe,QAAQ,EACtE,GAAI,EACF,EAAM,KAAK,CACT,SAAU,EAAO,IACjB,UAAW,IAAK,GAChB,SAAU,CACR,MAAO,KAAK,iBAAiB,EAAQ,EAAe,QAAQ,EAC5D,KAAM,CACR,CACF,CAAC,OAED,MAAU,MAAM,gBAAgB,EAAe,SAAS,EAAE,CAE9D,CACA,MAAO,CAAE,OAAM,CACjB,CACF,EACM,EAAN,cAAgC,CAAQ,CACtC,MAAM,kBAAkB,EAAO,EAAO,EAAO,CAC3C,IAAM,EAAW,EAAM,IACjB,EAAW,EAAS,SAAS,EAC7B,EAAQ,EAAM,YAAY,CAC9B,WAAY,EAAM,gBAClB,OAAQ,EAAM,WAChB,CAAC,EACK,EAAM,EAAM,YAAY,CAC5B,WAAY,EAAM,cAClB,OAAQ,EAAM,SAChB,CAAC,EACK,EAAS,MAAM,KAAK,QAAQ,CAAQ,EAa1C,OAZI,EAAM,WAAW,EACZ,KAWF,CAAE,OARK,MADQ,EAAO,kBAAkB,EAAU,EAAO,CAAG,EAAA,CAC7C,IAAK,IAClB,CACL,GAAG,EACH,MAAO,EAAK,KACZ,SAAU,EAAM,cAAc,EAAK,QAAQ,EAC3C,KAAM,KAAK,iBAAiB,EAAK,IAAI,CACvC,EAEW,EAAG,YAAe,CAC/B,CAAE,CACJ,CACA,iBAAiB,EAAM,CACrB,OAAQ,EAAR,CACE,IAAK,YACH,OAAO,EAAU,cAAc,UACjC,IAAK,OACH,OAAO,EAAU,cAAc,KACjC,QACE,OAAO,EAAU,cAAc,IACnC,CACF,CACF,ECj6BI,EACA,EACJ,SAAS,EAAgB,EAAU,CACjC,EAAmB,EAAU,EAAU,YAAY,CACrD,CACA,SAAS,EAAgB,EAAU,CACjC,EAAmB,EAAU,EAAU,YAAY,CACrD,CACA,SAAS,GAAsB,CAC7B,OAAO,IAAI,SAAS,EAAS,IAAW,CACtC,GAAI,CAAC,EACH,OAAO,EAAO,4BAA4B,EAE5C,EAAQ,CAAgB,CAC1B,CAAC,CACH,CACA,SAAS,GAAsB,CAC7B,OAAO,IAAI,SAAS,EAAS,IAAW,CACtC,GAAI,CAAC,EACH,OAAO,EAAO,4BAA4B,EAE5C,EAAQ,CAAgB,CAC1B,CAAC,CACH,CACA,SAAS,EAAU,EAAU,EAAQ,CACnC,IAAM,EAAY,CAAC,EACb,EAAS,IAAI,EAAc,EAAQ,CAAQ,EAC3C,GAAU,GAAG,IACV,EAAO,yBAAyB,GAAG,CAAI,EAE1C,EAAW,IAAI,EAAS,CAAM,EACpC,SAAS,GAAoB,CAC3B,GAAM,CAAE,qBAAsB,EAC9B,EAAW,CAAS,EAChB,EAAkB,iBACpB,EAAU,KACR,EAAU,+BACR,EACA,IAAI,EAAe,CAAM,CAC3B,CACF,EAEE,EAAkB,eACpB,EAAU,KACR,EAAU,8BACR,EACA,IAAI,EAAqB,CAAM,CACjC,CACF,EAEE,EAAkB,QACpB,EAAU,KACR,EAAU,sBAAsB,EAAQ,IAAI,EAAiB,CAAM,CAAC,CACtE,EAEE,EAAkB,oBACpB,EAAU,KACR,EAAU,kCACR,EACA,IAAI,EAAyB,CAAM,CACrC,CACF,EAEE,EAAkB,aACpB,EAAU,KACR,EAAU,2BACR,EACA,IAAI,EAAkB,EAAU,CAAM,CACxC,CACF,EAEE,EAAkB,YACpB,EAAU,KACR,EAAU,0BACR,EACA,IAAI,EAAiB,EAAU,CAAM,CACvC,CACF,EAEE,EAAkB,iBACpB,EAAU,KACR,EAAU,+BACR,EACA,IAAI,EAAe,CAAM,CAC3B,CACF,EAEE,EAAkB,QACpB,EAAU,KACR,EAAU,uBACR,EACA,IAAI,EAAc,EAAU,CAAM,CACpC,CACF,EAEE,EAAkB,8BACpB,EAAU,KACR,EAAU,4CACR,EACA,IAAI,EAAc,CAAM,CAC1B,CACF,EAEE,EAAkB,uBACpB,EAAU,KACR,EAAU,qCACR,EACA,IAAI,EAAoB,CAAM,CAChC,CACF,EAEE,EAAkB,aACpB,EAAU,KACR,EAAU,2BAA2B,EAAQ,IAAI,EAAkB,CAAM,CAAC,CAC5E,EAEE,EAAkB,YACpB,EAAU,KACR,EAAU,2BAA2B,EAAQ,IAAI,EAAkB,CAAM,CAAC,CAC5E,EAEE,EAAkB,aACpB,EAAU,KAAK,IAAI,EAAmB,EAAU,EAAU,EAAQ,CAAM,CAAC,CAE7E,CAEA,OADA,EAAkB,EACX,CACT,CACA,SAAS,EAAW,EAAa,CAC/B,KAAO,EAAY,QACjB,EAAY,IAAI,CAAC,CAAC,QAAQ,CAE9B"}
|
|
1
|
+
{"version":3,"file":"tsMode-Bu51A-VG.js","names":[],"sources":["../../node_modules/.pnpm/monaco-editor@0.56.0/node_modules/monaco-editor/esm/vs/languages/features/typescript/workerManager.js","../../node_modules/.pnpm/monaco-editor@0.56.0/node_modules/monaco-editor/esm/vs/languages/features/typescript/lib/lib.index.js","../../node_modules/.pnpm/monaco-editor@0.56.0/node_modules/monaco-editor/esm/vs/languages/features/typescript/languageFeatures.js","../../node_modules/.pnpm/monaco-editor@0.56.0/node_modules/monaco-editor/esm/vs/languages/features/typescript/tsMode.js"],"sourcesContent":["import { editor } from '../../../editor/editor.api.js';\nimport { createWebWorker } from '../../../internal/common/workers.js';\n\nclass WorkerManager {\n constructor(_modeId, _defaults) {\n this._modeId = _modeId;\n this._defaults = _defaults;\n this._worker = null;\n this._client = null;\n this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());\n this._updateExtraLibsToken = 0;\n this._extraLibsChangeListener = this._defaults.onDidExtraLibsChange(\n () => this._updateExtraLibs()\n );\n }\n dispose() {\n this._configChangeListener.dispose();\n this._extraLibsChangeListener.dispose();\n this._stopWorker();\n }\n _stopWorker() {\n if (this._worker) {\n this._worker.dispose();\n this._worker = null;\n }\n this._client = null;\n }\n async _updateExtraLibs() {\n if (!this._worker) {\n return;\n }\n const myToken = ++this._updateExtraLibsToken;\n const proxy = await this._worker.getProxy();\n if (this._updateExtraLibsToken !== myToken) {\n return;\n }\n proxy.updateExtraLibs(this._defaults.getExtraLibs());\n }\n _getClient() {\n if (!this._client) {\n this._client = (async () => {\n this._worker = createWebWorker({\n // module that exports the create() method and returns a `TypeScriptWorker` instance\n moduleId: \"vs/language/typescript/tsWorker\",\n createWorker: () => new Worker(new URL('ts.worker.js', import.meta.url), { type: \"module\" }),\n label: this._modeId,\n keepIdleModels: true,\n // passed in to the create() method\n createData: {\n compilerOptions: this._defaults.getCompilerOptions(),\n extraLibs: this._defaults.getExtraLibs(),\n customWorkerPath: this._defaults.workerOptions.customWorkerPath,\n inlayHintsOptions: this._defaults.inlayHintsOptions\n }\n });\n if (this._defaults.getEagerModelSync()) {\n return await this._worker.withSyncedResources(\n editor.getModels().filter((model) => model.getLanguageId() === this._modeId).map((model) => model.uri)\n );\n }\n return await this._worker.getProxy();\n })();\n }\n return this._client;\n }\n async getLanguageServiceWorker(...resources) {\n const client = await this._getClient();\n if (this._worker) {\n await this._worker.withSyncedResources(resources);\n }\n return client;\n }\n}\n\nexport { WorkerManager };\n","const libFileSet = {};\nlibFileSet[\"lib.d.ts\"] = true;\nlibFileSet[\"lib.decorators.d.ts\"] = true;\nlibFileSet[\"lib.decorators.legacy.d.ts\"] = true;\nlibFileSet[\"lib.dom.asynciterable.d.ts\"] = true;\nlibFileSet[\"lib.dom.d.ts\"] = true;\nlibFileSet[\"lib.dom.iterable.d.ts\"] = true;\nlibFileSet[\"lib.es2015.collection.d.ts\"] = true;\nlibFileSet[\"lib.es2015.core.d.ts\"] = true;\nlibFileSet[\"lib.es2015.d.ts\"] = true;\nlibFileSet[\"lib.es2015.generator.d.ts\"] = true;\nlibFileSet[\"lib.es2015.iterable.d.ts\"] = true;\nlibFileSet[\"lib.es2015.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2015.proxy.d.ts\"] = true;\nlibFileSet[\"lib.es2015.reflect.d.ts\"] = true;\nlibFileSet[\"lib.es2015.symbol.d.ts\"] = true;\nlibFileSet[\"lib.es2015.symbol.wellknown.d.ts\"] = true;\nlibFileSet[\"lib.es2016.array.include.d.ts\"] = true;\nlibFileSet[\"lib.es2016.d.ts\"] = true;\nlibFileSet[\"lib.es2016.full.d.ts\"] = true;\nlibFileSet[\"lib.es2016.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2017.arraybuffer.d.ts\"] = true;\nlibFileSet[\"lib.es2017.d.ts\"] = true;\nlibFileSet[\"lib.es2017.date.d.ts\"] = true;\nlibFileSet[\"lib.es2017.full.d.ts\"] = true;\nlibFileSet[\"lib.es2017.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2017.object.d.ts\"] = true;\nlibFileSet[\"lib.es2017.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.es2017.string.d.ts\"] = true;\nlibFileSet[\"lib.es2017.typedarrays.d.ts\"] = true;\nlibFileSet[\"lib.es2018.asyncgenerator.d.ts\"] = true;\nlibFileSet[\"lib.es2018.asynciterable.d.ts\"] = true;\nlibFileSet[\"lib.es2018.d.ts\"] = true;\nlibFileSet[\"lib.es2018.full.d.ts\"] = true;\nlibFileSet[\"lib.es2018.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2018.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2018.regexp.d.ts\"] = true;\nlibFileSet[\"lib.es2019.array.d.ts\"] = true;\nlibFileSet[\"lib.es2019.d.ts\"] = true;\nlibFileSet[\"lib.es2019.full.d.ts\"] = true;\nlibFileSet[\"lib.es2019.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2019.object.d.ts\"] = true;\nlibFileSet[\"lib.es2019.string.d.ts\"] = true;\nlibFileSet[\"lib.es2019.symbol.d.ts\"] = true;\nlibFileSet[\"lib.es2020.bigint.d.ts\"] = true;\nlibFileSet[\"lib.es2020.d.ts\"] = true;\nlibFileSet[\"lib.es2020.date.d.ts\"] = true;\nlibFileSet[\"lib.es2020.full.d.ts\"] = true;\nlibFileSet[\"lib.es2020.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2020.number.d.ts\"] = true;\nlibFileSet[\"lib.es2020.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2020.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.es2020.string.d.ts\"] = true;\nlibFileSet[\"lib.es2020.symbol.wellknown.d.ts\"] = true;\nlibFileSet[\"lib.es2021.d.ts\"] = true;\nlibFileSet[\"lib.es2021.full.d.ts\"] = true;\nlibFileSet[\"lib.es2021.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2021.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2021.string.d.ts\"] = true;\nlibFileSet[\"lib.es2021.weakref.d.ts\"] = true;\nlibFileSet[\"lib.es2022.array.d.ts\"] = true;\nlibFileSet[\"lib.es2022.d.ts\"] = true;\nlibFileSet[\"lib.es2022.error.d.ts\"] = true;\nlibFileSet[\"lib.es2022.full.d.ts\"] = true;\nlibFileSet[\"lib.es2022.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2022.object.d.ts\"] = true;\nlibFileSet[\"lib.es2022.regexp.d.ts\"] = true;\nlibFileSet[\"lib.es2022.string.d.ts\"] = true;\nlibFileSet[\"lib.es2023.array.d.ts\"] = true;\nlibFileSet[\"lib.es2023.collection.d.ts\"] = true;\nlibFileSet[\"lib.es2023.d.ts\"] = true;\nlibFileSet[\"lib.es2023.full.d.ts\"] = true;\nlibFileSet[\"lib.es2023.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2024.arraybuffer.d.ts\"] = true;\nlibFileSet[\"lib.es2024.collection.d.ts\"] = true;\nlibFileSet[\"lib.es2024.d.ts\"] = true;\nlibFileSet[\"lib.es2024.full.d.ts\"] = true;\nlibFileSet[\"lib.es2024.object.d.ts\"] = true;\nlibFileSet[\"lib.es2024.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2024.regexp.d.ts\"] = true;\nlibFileSet[\"lib.es2024.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.es2024.string.d.ts\"] = true;\nlibFileSet[\"lib.es5.d.ts\"] = true;\nlibFileSet[\"lib.es6.d.ts\"] = true;\nlibFileSet[\"lib.esnext.array.d.ts\"] = true;\nlibFileSet[\"lib.esnext.collection.d.ts\"] = true;\nlibFileSet[\"lib.esnext.d.ts\"] = true;\nlibFileSet[\"lib.esnext.decorators.d.ts\"] = true;\nlibFileSet[\"lib.esnext.disposable.d.ts\"] = true;\nlibFileSet[\"lib.esnext.error.d.ts\"] = true;\nlibFileSet[\"lib.esnext.float16.d.ts\"] = true;\nlibFileSet[\"lib.esnext.full.d.ts\"] = true;\nlibFileSet[\"lib.esnext.intl.d.ts\"] = true;\nlibFileSet[\"lib.esnext.iterator.d.ts\"] = true;\nlibFileSet[\"lib.esnext.promise.d.ts\"] = true;\nlibFileSet[\"lib.esnext.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.scripthost.d.ts\"] = true;\nlibFileSet[\"lib.webworker.asynciterable.d.ts\"] = true;\nlibFileSet[\"lib.webworker.d.ts\"] = true;\nlibFileSet[\"lib.webworker.importscripts.d.ts\"] = true;\nlibFileSet[\"lib.webworker.iterable.d.ts\"] = true;\n\nexport { libFileSet };\n","import { typescriptDefaults } from './register.js';\nimport { libFileSet } from './lib/lib.index.js';\nimport { Uri, editor, MarkerTag, MarkerSeverity, Range, languages } from '../../../editor/editor.api.js';\n\nfunction flattenDiagnosticMessageText(diag, newLine, indent = 0) {\n if (typeof diag === \"string\") {\n return diag;\n } else if (diag === void 0) {\n return \"\";\n }\n let result = \"\";\n if (indent) {\n result += newLine;\n for (let i = 0; i < indent; i++) {\n result += \" \";\n }\n }\n result += diag.messageText;\n indent++;\n if (diag.next) {\n for (const kid of diag.next) {\n result += flattenDiagnosticMessageText(kid, newLine, indent);\n }\n }\n return result;\n}\nfunction displayPartsToString(displayParts) {\n if (displayParts) {\n return displayParts.map((displayPart) => displayPart.text).join(\"\");\n }\n return \"\";\n}\nclass Adapter {\n constructor(_worker) {\n this._worker = _worker;\n }\n // protected _positionToOffset(model: editor.ITextModel, position: monaco.IPosition): number {\n // \treturn model.getOffsetAt(position);\n // }\n // protected _offsetToPosition(model: editor.ITextModel, offset: number): monaco.IPosition {\n // \treturn model.getPositionAt(offset);\n // }\n _textSpanToRange(model, span) {\n let p1 = model.getPositionAt(span.start);\n let p2 = model.getPositionAt(span.start + span.length);\n let { lineNumber: startLineNumber, column: startColumn } = p1;\n let { lineNumber: endLineNumber, column: endColumn } = p2;\n return { startLineNumber, startColumn, endLineNumber, endColumn };\n }\n}\nclass LibFiles {\n constructor(_worker) {\n this._worker = _worker;\n this._libFiles = {};\n this._hasFetchedLibFiles = false;\n this._fetchLibFilesPromise = null;\n }\n isLibFile(uri) {\n if (!uri) {\n return false;\n }\n if (uri.path.indexOf(\"/lib.\") === 0) {\n return !!libFileSet[uri.path.slice(1)];\n }\n return false;\n }\n getOrCreateModel(fileName) {\n const uri = Uri.parse(fileName);\n const model = editor.getModel(uri);\n if (model) {\n return model;\n }\n if (this.isLibFile(uri) && this._hasFetchedLibFiles) {\n return editor.createModel(this._libFiles[uri.path.slice(1)], \"typescript\", uri);\n }\n const matchedLibFile = typescriptDefaults.getExtraLibs()[fileName];\n if (matchedLibFile) {\n return editor.createModel(matchedLibFile.content, \"typescript\", uri);\n }\n return null;\n }\n _containsLibFile(uris) {\n for (let uri of uris) {\n if (this.isLibFile(uri)) {\n return true;\n }\n }\n return false;\n }\n async fetchLibFilesIfNecessary(uris) {\n if (!this._containsLibFile(uris)) {\n return;\n }\n await this._fetchLibFiles();\n }\n _fetchLibFiles() {\n if (!this._fetchLibFilesPromise) {\n this._fetchLibFilesPromise = this._worker().then((w) => w.getLibFiles()).then((libFiles) => {\n this._hasFetchedLibFiles = true;\n this._libFiles = libFiles;\n });\n }\n return this._fetchLibFilesPromise;\n }\n}\nclass DiagnosticsAdapter extends Adapter {\n constructor(_libFiles, _defaults, _selector, worker) {\n super(worker);\n this._libFiles = _libFiles;\n this._defaults = _defaults;\n this._selector = _selector;\n this._disposables = [];\n this._listener = /* @__PURE__ */ Object.create(null);\n const onModelAdd = (model) => {\n if (model.getLanguageId() !== _selector) {\n return;\n }\n const maybeValidate = () => {\n const { onlyVisible } = this._defaults.getDiagnosticsOptions();\n if (onlyVisible) {\n if (model.isAttachedToEditor()) {\n this._doValidate(model);\n }\n } else {\n this._doValidate(model);\n }\n };\n let handle;\n const changeSubscription = model.onDidChangeContent(() => {\n clearTimeout(handle);\n handle = window.setTimeout(maybeValidate, 500);\n });\n const visibleSubscription = model.onDidChangeAttached(() => {\n const { onlyVisible } = this._defaults.getDiagnosticsOptions();\n if (onlyVisible) {\n if (model.isAttachedToEditor()) {\n maybeValidate();\n } else {\n editor.setModelMarkers(model, this._selector, []);\n }\n }\n });\n this._listener[model.uri.toString()] = {\n dispose() {\n changeSubscription.dispose();\n visibleSubscription.dispose();\n clearTimeout(handle);\n }\n };\n maybeValidate();\n };\n const onModelRemoved = (model) => {\n editor.setModelMarkers(model, this._selector, []);\n const key = model.uri.toString();\n if (this._listener[key]) {\n this._listener[key].dispose();\n delete this._listener[key];\n }\n };\n this._disposables.push(\n editor.onDidCreateModel((model) => onModelAdd(model))\n );\n this._disposables.push(editor.onWillDisposeModel(onModelRemoved));\n this._disposables.push(\n editor.onDidChangeModelLanguage((event) => {\n onModelRemoved(event.model);\n onModelAdd(event.model);\n })\n );\n this._disposables.push({\n dispose() {\n for (const model of editor.getModels()) {\n onModelRemoved(model);\n }\n }\n });\n const recomputeDiagostics = () => {\n for (const model of editor.getModels()) {\n onModelRemoved(model);\n onModelAdd(model);\n }\n };\n this._disposables.push(this._defaults.onDidChange(recomputeDiagostics));\n this._disposables.push(this._defaults.onDidExtraLibsChange(recomputeDiagostics));\n editor.getModels().forEach((model) => onModelAdd(model));\n }\n dispose() {\n this._disposables.forEach((d) => d && d.dispose());\n this._disposables = [];\n }\n async _doValidate(model) {\n const worker = await this._worker(model.uri);\n if (model.isDisposed()) {\n return;\n }\n const promises = [];\n const { noSyntaxValidation, noSemanticValidation, noSuggestionDiagnostics } = this._defaults.getDiagnosticsOptions();\n if (!noSyntaxValidation) {\n promises.push(worker.getSyntacticDiagnostics(model.uri.toString()));\n }\n if (!noSemanticValidation) {\n promises.push(worker.getSemanticDiagnostics(model.uri.toString()));\n }\n if (!noSuggestionDiagnostics) {\n promises.push(worker.getSuggestionDiagnostics(model.uri.toString()));\n }\n const allDiagnostics = await Promise.all(promises);\n if (!allDiagnostics || model.isDisposed()) {\n return;\n }\n const diagnostics = allDiagnostics.reduce((p, c) => c.concat(p), []).filter(\n (d) => (this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore || []).indexOf(d.code) === -1\n );\n const relatedUris = diagnostics.map((d) => d.relatedInformation || []).reduce((p, c) => c.concat(p), []).map(\n (relatedInformation) => relatedInformation.file ? Uri.parse(relatedInformation.file.fileName) : null\n );\n await this._libFiles.fetchLibFilesIfNecessary(relatedUris);\n if (model.isDisposed()) {\n return;\n }\n editor.setModelMarkers(\n model,\n this._selector,\n diagnostics.map((d) => this._convertDiagnostics(model, d))\n );\n }\n _convertDiagnostics(model, diag) {\n const diagStart = diag.start || 0;\n const diagLength = diag.length || 1;\n const { lineNumber: startLineNumber, column: startColumn } = model.getPositionAt(diagStart);\n const { lineNumber: endLineNumber, column: endColumn } = model.getPositionAt(\n diagStart + diagLength\n );\n const tags = [];\n if (diag.reportsUnnecessary) {\n tags.push(MarkerTag.Unnecessary);\n }\n if (diag.reportsDeprecated) {\n tags.push(MarkerTag.Deprecated);\n }\n return {\n severity: this._tsDiagnosticCategoryToMarkerSeverity(diag.category),\n startLineNumber,\n startColumn,\n endLineNumber,\n endColumn,\n message: flattenDiagnosticMessageText(diag.messageText, \"\\n\"),\n code: diag.code.toString(),\n tags,\n relatedInformation: this._convertRelatedInformation(model, diag.relatedInformation)\n };\n }\n _convertRelatedInformation(model, relatedInformation) {\n if (!relatedInformation) {\n return [];\n }\n const result = [];\n relatedInformation.forEach((info) => {\n let relatedResource = model;\n if (info.file) {\n relatedResource = this._libFiles.getOrCreateModel(info.file.fileName);\n }\n if (!relatedResource) {\n return;\n }\n const infoStart = info.start || 0;\n const infoLength = info.length || 1;\n const { lineNumber: startLineNumber, column: startColumn } = relatedResource.getPositionAt(infoStart);\n const { lineNumber: endLineNumber, column: endColumn } = relatedResource.getPositionAt(\n infoStart + infoLength\n );\n result.push({\n resource: relatedResource.uri,\n startLineNumber,\n startColumn,\n endLineNumber,\n endColumn,\n message: flattenDiagnosticMessageText(info.messageText, \"\\n\")\n });\n });\n return result;\n }\n _tsDiagnosticCategoryToMarkerSeverity(category) {\n switch (category) {\n case 1 /* Error */:\n return MarkerSeverity.Error;\n case 3 /* Message */:\n return MarkerSeverity.Info;\n case 0 /* Warning */:\n return MarkerSeverity.Warning;\n case 2 /* Suggestion */:\n return MarkerSeverity.Hint;\n }\n return MarkerSeverity.Info;\n }\n}\nclass SuggestAdapter extends Adapter {\n get triggerCharacters() {\n return [\".\"];\n }\n async provideCompletionItems(model, position, _context, token) {\n const wordInfo = model.getWordUntilPosition(position);\n const wordRange = new Range(\n position.lineNumber,\n wordInfo.startColumn,\n position.lineNumber,\n wordInfo.endColumn\n );\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const info = await worker.getCompletionsAtPosition(resource.toString(), offset);\n if (!info || model.isDisposed()) {\n return;\n }\n const suggestions = info.entries.map((entry) => {\n let range = wordRange;\n if (entry.replacementSpan) {\n const p1 = model.getPositionAt(entry.replacementSpan.start);\n const p2 = model.getPositionAt(entry.replacementSpan.start + entry.replacementSpan.length);\n range = new Range(p1.lineNumber, p1.column, p2.lineNumber, p2.column);\n }\n const tags = [];\n if (entry.kindModifiers !== void 0 && entry.kindModifiers.indexOf(\"deprecated\") !== -1) {\n tags.push(languages.CompletionItemTag.Deprecated);\n }\n return {\n uri: resource,\n position,\n offset,\n range,\n label: entry.name,\n insertText: entry.name,\n sortText: entry.sortText,\n kind: SuggestAdapter.convertKind(entry.kind),\n tags\n };\n });\n return {\n suggestions\n };\n }\n async resolveCompletionItem(item, token) {\n const myItem = item;\n const resource = myItem.uri;\n const position = myItem.position;\n const offset = myItem.offset;\n const worker = await this._worker(resource);\n const details = await worker.getCompletionEntryDetails(\n resource.toString(),\n offset,\n myItem.label\n );\n if (!details) {\n return myItem;\n }\n return {\n uri: resource,\n position,\n label: details.name,\n kind: SuggestAdapter.convertKind(details.kind),\n detail: displayPartsToString(details.displayParts),\n documentation: {\n value: SuggestAdapter.createDocumentationString(details)\n }\n };\n }\n static convertKind(kind) {\n switch (kind) {\n case Kind.primitiveType:\n case Kind.keyword:\n return languages.CompletionItemKind.Keyword;\n case Kind.variable:\n case Kind.localVariable:\n return languages.CompletionItemKind.Variable;\n case Kind.memberVariable:\n case Kind.memberGetAccessor:\n case Kind.memberSetAccessor:\n return languages.CompletionItemKind.Field;\n case Kind.function:\n case Kind.memberFunction:\n case Kind.constructSignature:\n case Kind.callSignature:\n case Kind.indexSignature:\n return languages.CompletionItemKind.Function;\n case Kind.enum:\n return languages.CompletionItemKind.Enum;\n case Kind.module:\n return languages.CompletionItemKind.Module;\n case Kind.class:\n return languages.CompletionItemKind.Class;\n case Kind.interface:\n return languages.CompletionItemKind.Interface;\n case Kind.warning:\n return languages.CompletionItemKind.File;\n }\n return languages.CompletionItemKind.Property;\n }\n static createDocumentationString(details) {\n let documentationString = displayPartsToString(details.documentation);\n if (details.tags) {\n for (const tag of details.tags) {\n documentationString += `\n\n${tagToString(tag)}`;\n }\n }\n return documentationString;\n }\n}\nfunction tagToString(tag) {\n let tagLabel = `*@${tag.name}*`;\n if (tag.name === \"param\" && tag.text) {\n const [paramName, ...rest] = tag.text;\n tagLabel += `\\`${paramName.text}\\``;\n if (rest.length > 0) tagLabel += ` \\u2014 ${rest.map((r) => r.text).join(\" \")}`;\n } else if (Array.isArray(tag.text)) {\n tagLabel += ` \\u2014 ${tag.text.map((r) => r.text).join(\" \")}`;\n } else if (tag.text) {\n tagLabel += ` \\u2014 ${tag.text}`;\n }\n return tagLabel;\n}\nclass SignatureHelpAdapter extends Adapter {\n constructor() {\n super(...arguments);\n this.signatureHelpTriggerCharacters = [\"(\", \",\"];\n }\n static _toSignatureHelpTriggerReason(context) {\n switch (context.triggerKind) {\n case languages.SignatureHelpTriggerKind.TriggerCharacter:\n if (context.triggerCharacter) {\n if (context.isRetrigger) {\n return { kind: \"retrigger\", triggerCharacter: context.triggerCharacter };\n } else {\n return { kind: \"characterTyped\", triggerCharacter: context.triggerCharacter };\n }\n } else {\n return { kind: \"invoked\" };\n }\n case languages.SignatureHelpTriggerKind.ContentChange:\n return context.isRetrigger ? { kind: \"retrigger\" } : { kind: \"invoked\" };\n case languages.SignatureHelpTriggerKind.Invoke:\n default:\n return { kind: \"invoked\" };\n }\n }\n async provideSignatureHelp(model, position, token, context) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const info = await worker.getSignatureHelpItems(resource.toString(), offset, {\n triggerReason: SignatureHelpAdapter._toSignatureHelpTriggerReason(context)\n });\n if (!info || model.isDisposed()) {\n return;\n }\n const ret = {\n activeSignature: info.selectedItemIndex,\n activeParameter: info.argumentIndex,\n signatures: []\n };\n info.items.forEach((item) => {\n const signature = {\n label: \"\",\n parameters: []\n };\n signature.documentation = {\n value: displayPartsToString(item.documentation)\n };\n signature.label += displayPartsToString(item.prefixDisplayParts);\n item.parameters.forEach((p, i, a) => {\n const label = displayPartsToString(p.displayParts);\n const parameter = {\n label,\n documentation: {\n value: displayPartsToString(p.documentation)\n }\n };\n signature.label += label;\n signature.parameters.push(parameter);\n if (i < a.length - 1) {\n signature.label += displayPartsToString(item.separatorDisplayParts);\n }\n });\n signature.label += displayPartsToString(item.suffixDisplayParts);\n ret.signatures.push(signature);\n });\n return {\n value: ret,\n dispose() {\n }\n };\n }\n}\nclass QuickInfoAdapter extends Adapter {\n async provideHover(model, position, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const info = await worker.getQuickInfoAtPosition(resource.toString(), offset);\n if (!info || model.isDisposed()) {\n return;\n }\n const documentation = displayPartsToString(info.documentation);\n const tags = info.tags ? info.tags.map((tag) => tagToString(tag)).join(\" \\n\\n\") : \"\";\n const contents = displayPartsToString(info.displayParts);\n return {\n range: this._textSpanToRange(model, info.textSpan),\n contents: [\n {\n value: \"```typescript\\n\" + contents + \"\\n```\\n\"\n },\n {\n value: documentation + (tags ? \"\\n\\n\" + tags : \"\")\n }\n ]\n };\n }\n}\nclass DocumentHighlightAdapter extends Adapter {\n async provideDocumentHighlights(model, position, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const entries = await worker.getDocumentHighlights(resource.toString(), offset, [\n resource.toString()\n ]);\n if (!entries || model.isDisposed()) {\n return;\n }\n return entries.flatMap((entry) => {\n return entry.highlightSpans.map((highlightSpans) => {\n return {\n range: this._textSpanToRange(model, highlightSpans.textSpan),\n kind: highlightSpans.kind === \"writtenReference\" ? languages.DocumentHighlightKind.Write : languages.DocumentHighlightKind.Text\n };\n });\n });\n }\n}\nclass DefinitionAdapter extends Adapter {\n constructor(_libFiles, worker) {\n super(worker);\n this._libFiles = _libFiles;\n }\n async provideDefinition(model, position, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const entries = await worker.getDefinitionAtPosition(resource.toString(), offset);\n if (!entries || model.isDisposed()) {\n return;\n }\n await this._libFiles.fetchLibFilesIfNecessary(\n entries.map((entry) => Uri.parse(entry.fileName))\n );\n if (model.isDisposed()) {\n return;\n }\n const result = [];\n for (let entry of entries) {\n const refModel = this._libFiles.getOrCreateModel(entry.fileName);\n if (refModel) {\n result.push({\n uri: refModel.uri,\n range: this._textSpanToRange(refModel, entry.textSpan)\n });\n }\n }\n return result;\n }\n}\nclass ReferenceAdapter extends Adapter {\n constructor(_libFiles, worker) {\n super(worker);\n this._libFiles = _libFiles;\n }\n async provideReferences(model, position, context, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const entries = await worker.getReferencesAtPosition(resource.toString(), offset);\n if (!entries || model.isDisposed()) {\n return;\n }\n await this._libFiles.fetchLibFilesIfNecessary(\n entries.map((entry) => Uri.parse(entry.fileName))\n );\n if (model.isDisposed()) {\n return;\n }\n const result = [];\n for (let entry of entries) {\n const refModel = this._libFiles.getOrCreateModel(entry.fileName);\n if (refModel) {\n result.push({\n uri: refModel.uri,\n range: this._textSpanToRange(refModel, entry.textSpan)\n });\n }\n }\n return result;\n }\n}\nclass OutlineAdapter extends Adapter {\n async provideDocumentSymbols(model, token) {\n const resource = model.uri;\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const root = await worker.getNavigationTree(resource.toString());\n if (!root || model.isDisposed()) {\n return;\n }\n const convert = (item, containerLabel) => {\n const result2 = {\n name: item.text,\n detail: \"\",\n kind: outlineTypeTable[item.kind] || languages.SymbolKind.Variable,\n range: this._textSpanToRange(model, item.spans[0]),\n selectionRange: this._textSpanToRange(model, item.spans[0]),\n tags: [],\n children: item.childItems?.map((child) => convert(child, item.text)),\n containerName: containerLabel\n };\n return result2;\n };\n const result = root.childItems ? root.childItems.map((item) => convert(item)) : [];\n return result;\n }\n}\nclass Kind {\n}\nKind.unknown = \"\";\nKind.keyword = \"keyword\";\nKind.script = \"script\";\nKind.module = \"module\";\nKind.class = \"class\";\nKind.interface = \"interface\";\nKind.type = \"type\";\nKind.enum = \"enum\";\nKind.variable = \"var\";\nKind.localVariable = \"local var\";\nKind.function = \"function\";\nKind.localFunction = \"local function\";\nKind.memberFunction = \"method\";\nKind.memberGetAccessor = \"getter\";\nKind.memberSetAccessor = \"setter\";\nKind.memberVariable = \"property\";\nKind.constructorImplementation = \"constructor\";\nKind.callSignature = \"call\";\nKind.indexSignature = \"index\";\nKind.constructSignature = \"construct\";\nKind.parameter = \"parameter\";\nKind.typeParameter = \"type parameter\";\nKind.primitiveType = \"primitive type\";\nKind.label = \"label\";\nKind.alias = \"alias\";\nKind.const = \"const\";\nKind.let = \"let\";\nKind.warning = \"warning\";\nlet outlineTypeTable = /* @__PURE__ */ Object.create(null);\noutlineTypeTable[Kind.module] = languages.SymbolKind.Module;\noutlineTypeTable[Kind.class] = languages.SymbolKind.Class;\noutlineTypeTable[Kind.enum] = languages.SymbolKind.Enum;\noutlineTypeTable[Kind.interface] = languages.SymbolKind.Interface;\noutlineTypeTable[Kind.memberFunction] = languages.SymbolKind.Method;\noutlineTypeTable[Kind.memberVariable] = languages.SymbolKind.Property;\noutlineTypeTable[Kind.memberGetAccessor] = languages.SymbolKind.Property;\noutlineTypeTable[Kind.memberSetAccessor] = languages.SymbolKind.Property;\noutlineTypeTable[Kind.variable] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.const] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.localVariable] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.variable] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.function] = languages.SymbolKind.Function;\noutlineTypeTable[Kind.localFunction] = languages.SymbolKind.Function;\nclass FormatHelper extends Adapter {\n static _convertOptions(options) {\n return {\n ConvertTabsToSpaces: options.insertSpaces,\n TabSize: options.tabSize,\n IndentSize: options.tabSize,\n IndentStyle: 2 /* Smart */,\n NewLineCharacter: \"\\n\",\n InsertSpaceAfterCommaDelimiter: true,\n InsertSpaceAfterSemicolonInForStatements: true,\n InsertSpaceBeforeAndAfterBinaryOperators: true,\n InsertSpaceAfterKeywordsInControlFlowStatements: true,\n InsertSpaceAfterFunctionKeywordForAnonymousFunctions: true,\n InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: false,\n InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: false,\n InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: false,\n PlaceOpenBraceOnNewLineForControlBlocks: false,\n PlaceOpenBraceOnNewLineForFunctions: false\n };\n }\n _convertTextChanges(model, change) {\n return {\n text: change.newText,\n range: this._textSpanToRange(model, change.span)\n };\n }\n}\nclass FormatAdapter extends FormatHelper {\n constructor() {\n super(...arguments);\n this.canFormatMultipleRanges = false;\n }\n async provideDocumentRangeFormattingEdits(model, range, options, token) {\n const resource = model.uri;\n const startOffset = model.getOffsetAt({\n lineNumber: range.startLineNumber,\n column: range.startColumn\n });\n const endOffset = model.getOffsetAt({\n lineNumber: range.endLineNumber,\n column: range.endColumn\n });\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const edits = await worker.getFormattingEditsForRange(\n resource.toString(),\n startOffset,\n endOffset,\n FormatHelper._convertOptions(options)\n );\n if (!edits || model.isDisposed()) {\n return;\n }\n return edits.map((edit) => this._convertTextChanges(model, edit));\n }\n}\nclass FormatOnTypeAdapter extends FormatHelper {\n get autoFormatTriggerCharacters() {\n return [\";\", \"}\", \"\\n\"];\n }\n async provideOnTypeFormattingEdits(model, position, ch, options, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const edits = await worker.getFormattingEditsAfterKeystroke(\n resource.toString(),\n offset,\n ch,\n FormatHelper._convertOptions(options)\n );\n if (!edits || model.isDisposed()) {\n return;\n }\n return edits.map((edit) => this._convertTextChanges(model, edit));\n }\n}\nclass CodeActionAdaptor extends FormatHelper {\n async provideCodeActions(model, range, context, token) {\n const resource = model.uri;\n const start = model.getOffsetAt({\n lineNumber: range.startLineNumber,\n column: range.startColumn\n });\n const end = model.getOffsetAt({\n lineNumber: range.endLineNumber,\n column: range.endColumn\n });\n const formatOptions = FormatHelper._convertOptions(model.getOptions());\n const errorCodes = context.markers.filter((m) => m.code).map((m) => m.code).map(Number);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const codeFixes = await worker.getCodeFixesAtPosition(\n resource.toString(),\n start,\n end,\n errorCodes,\n formatOptions\n );\n if (!codeFixes || model.isDisposed()) {\n return { actions: [], dispose: () => {\n } };\n }\n const actions = codeFixes.filter((fix) => {\n return fix.changes.filter((change) => change.isNewFile).length === 0;\n }).map((fix) => {\n return this._tsCodeFixActionToMonacoCodeAction(model, context, fix);\n });\n return {\n actions,\n dispose: () => {\n }\n };\n }\n _tsCodeFixActionToMonacoCodeAction(model, context, codeFix) {\n const edits = [];\n for (const change of codeFix.changes) {\n for (const textChange of change.textChanges) {\n edits.push({\n resource: model.uri,\n versionId: void 0,\n textEdit: {\n range: this._textSpanToRange(model, textChange.span),\n text: textChange.newText\n }\n });\n }\n }\n const action = {\n title: codeFix.description,\n edit: { edits },\n diagnostics: context.markers,\n kind: \"quickfix\"\n };\n return action;\n }\n}\nclass RenameAdapter extends Adapter {\n constructor(_libFiles, worker) {\n super(worker);\n this._libFiles = _libFiles;\n }\n async provideRenameEdits(model, position, newName, token) {\n const resource = model.uri;\n const fileName = resource.toString();\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const renameInfo = await worker.getRenameInfo(fileName, offset, {\n allowRenameOfImportPath: false\n });\n if (renameInfo.canRename === false) {\n return {\n edits: [],\n rejectReason: renameInfo.localizedErrorMessage\n };\n }\n if (renameInfo.fileToRename !== void 0) {\n throw new Error(\"Renaming files is not supported.\");\n }\n const renameLocations = await worker.findRenameLocations(\n fileName,\n offset,\n /*strings*/\n false,\n /*comments*/\n false,\n /*prefixAndSuffix*/\n false\n );\n if (!renameLocations || model.isDisposed()) {\n return;\n }\n const edits = [];\n for (const renameLocation of renameLocations) {\n const model2 = this._libFiles.getOrCreateModel(renameLocation.fileName);\n if (model2) {\n edits.push({\n resource: model2.uri,\n versionId: void 0,\n textEdit: {\n range: this._textSpanToRange(model2, renameLocation.textSpan),\n text: newName\n }\n });\n } else {\n throw new Error(`Unknown file ${renameLocation.fileName}.`);\n }\n }\n return { edits };\n }\n}\nclass InlayHintsAdapter extends Adapter {\n async provideInlayHints(model, range, token) {\n const resource = model.uri;\n const fileName = resource.toString();\n const start = model.getOffsetAt({\n lineNumber: range.startLineNumber,\n column: range.startColumn\n });\n const end = model.getOffsetAt({\n lineNumber: range.endLineNumber,\n column: range.endColumn\n });\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return null;\n }\n const tsHints = await worker.provideInlayHints(fileName, start, end);\n const hints = tsHints.map((hint) => {\n return {\n ...hint,\n label: hint.text,\n position: model.getPositionAt(hint.position),\n kind: this._convertHintKind(hint.kind)\n };\n });\n return { hints, dispose: () => {\n } };\n }\n _convertHintKind(kind) {\n switch (kind) {\n case \"Parameter\":\n return languages.InlayHintKind.Parameter;\n case \"Type\":\n return languages.InlayHintKind.Type;\n default:\n return languages.InlayHintKind.Type;\n }\n }\n}\n\nexport { Adapter, CodeActionAdaptor, DefinitionAdapter, DiagnosticsAdapter, DocumentHighlightAdapter, FormatAdapter, FormatHelper, FormatOnTypeAdapter, InlayHintsAdapter, Kind, LibFiles, OutlineAdapter, QuickInfoAdapter, ReferenceAdapter, RenameAdapter, SignatureHelpAdapter, SuggestAdapter, flattenDiagnosticMessageText };\n","import { WorkerManager } from './workerManager.js';\nimport { SuggestAdapter, SignatureHelpAdapter, QuickInfoAdapter, DocumentHighlightAdapter, DefinitionAdapter, LibFiles, ReferenceAdapter, OutlineAdapter, RenameAdapter, FormatAdapter, FormatOnTypeAdapter, CodeActionAdaptor, InlayHintsAdapter, DiagnosticsAdapter } from './languageFeatures.js';\nexport { Adapter, FormatHelper, Kind, flattenDiagnosticMessageText } from './languageFeatures.js';\nimport { languages } from '../../../editor/editor.api.js';\n\nlet javaScriptWorker;\nlet typeScriptWorker;\nfunction setupTypeScript(defaults) {\n typeScriptWorker = setupMode(defaults, \"typescript\");\n}\nfunction setupJavaScript(defaults) {\n javaScriptWorker = setupMode(defaults, \"javascript\");\n}\nfunction getJavaScriptWorker() {\n return new Promise((resolve, reject) => {\n if (!javaScriptWorker) {\n return reject(\"JavaScript not registered!\");\n }\n resolve(javaScriptWorker);\n });\n}\nfunction getTypeScriptWorker() {\n return new Promise((resolve, reject) => {\n if (!typeScriptWorker) {\n return reject(\"TypeScript not registered!\");\n }\n resolve(typeScriptWorker);\n });\n}\nfunction setupMode(defaults, modeId) {\n const providers = [];\n const client = new WorkerManager(modeId, defaults);\n const worker = (...uris) => {\n return client.getLanguageServiceWorker(...uris);\n };\n const libFiles = new LibFiles(worker);\n function registerProviders() {\n const { modeConfiguration } = defaults;\n disposeAll(providers);\n if (modeConfiguration.completionItems) {\n providers.push(\n languages.registerCompletionItemProvider(\n modeId,\n new SuggestAdapter(worker)\n )\n );\n }\n if (modeConfiguration.signatureHelp) {\n providers.push(\n languages.registerSignatureHelpProvider(\n modeId,\n new SignatureHelpAdapter(worker)\n )\n );\n }\n if (modeConfiguration.hovers) {\n providers.push(\n languages.registerHoverProvider(modeId, new QuickInfoAdapter(worker))\n );\n }\n if (modeConfiguration.documentHighlights) {\n providers.push(\n languages.registerDocumentHighlightProvider(\n modeId,\n new DocumentHighlightAdapter(worker)\n )\n );\n }\n if (modeConfiguration.definitions) {\n providers.push(\n languages.registerDefinitionProvider(\n modeId,\n new DefinitionAdapter(libFiles, worker)\n )\n );\n }\n if (modeConfiguration.references) {\n providers.push(\n languages.registerReferenceProvider(\n modeId,\n new ReferenceAdapter(libFiles, worker)\n )\n );\n }\n if (modeConfiguration.documentSymbols) {\n providers.push(\n languages.registerDocumentSymbolProvider(\n modeId,\n new OutlineAdapter(worker)\n )\n );\n }\n if (modeConfiguration.rename) {\n providers.push(\n languages.registerRenameProvider(\n modeId,\n new RenameAdapter(libFiles, worker)\n )\n );\n }\n if (modeConfiguration.documentRangeFormattingEdits) {\n providers.push(\n languages.registerDocumentRangeFormattingEditProvider(\n modeId,\n new FormatAdapter(worker)\n )\n );\n }\n if (modeConfiguration.onTypeFormattingEdits) {\n providers.push(\n languages.registerOnTypeFormattingEditProvider(\n modeId,\n new FormatOnTypeAdapter(worker)\n )\n );\n }\n if (modeConfiguration.codeActions) {\n providers.push(\n languages.registerCodeActionProvider(modeId, new CodeActionAdaptor(worker))\n );\n }\n if (modeConfiguration.inlayHints) {\n providers.push(\n languages.registerInlayHintsProvider(modeId, new InlayHintsAdapter(worker))\n );\n }\n if (modeConfiguration.diagnostics) {\n providers.push(new DiagnosticsAdapter(libFiles, defaults, modeId, worker));\n }\n }\n registerProviders();\n return worker;\n}\nfunction disposeAll(disposables) {\n while (disposables.length) {\n disposables.pop().dispose();\n }\n}\n\nexport { CodeActionAdaptor, DefinitionAdapter, DiagnosticsAdapter, DocumentHighlightAdapter, FormatAdapter, FormatOnTypeAdapter, InlayHintsAdapter, LibFiles, OutlineAdapter, QuickInfoAdapter, ReferenceAdapter, RenameAdapter, SignatureHelpAdapter, SuggestAdapter, WorkerManager, getJavaScriptWorker, getTypeScriptWorker, setupJavaScript, setupTypeScript };\n"],"x_google_ignoreList":[0,1,2,3],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"./authStore-CNoNfv0F.js";import{C as t,N as n}from"./vendor-tanstack-0SjDjtT0.js";import{a as r}from"./pollUnlessForbidden-
|
|
2
|
-
//# sourceMappingURL=useEntityRestURL-
|
|
1
|
+
import{n as e}from"./authStore-CNoNfv0F.js";import{C as t,N as n}from"./vendor-tanstack-0SjDjtT0.js";import{a as r}from"./pollUnlessForbidden-BhzefVRn.js";import{rn as i}from"./index-Sevt3MVx.js";function a(e){return new URL(e.match(/^https?:\/\//i)?e:`https://${e}`).toString()}function o(e){if(e?.domains){for(let t of e.domains)if(t.domain)return a(t.domain)}return e?.fqdn?a(e.fqdn):null}function s(){let{clusterId:a,instanceId:s}=t({strict:!1}),c=r(),{data:l}=n(i(a));return a&&e.checkForFabricConnect(a)||s&&e.checkForFabricConnect(s)||l&&!s?o(l):c.defaults.baseURL?c.defaults.baseURL.replace(/:9925\/?/,``):null}export{s as t};
|
|
2
|
+
//# sourceMappingURL=useEntityRestURL-DrV1zMrN.js.map
|
package/studio/web/assets/{useEntityRestURL-CGRGc1n7.js.map → useEntityRestURL-DrV1zMrN.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEntityRestURL-
|
|
1
|
+
{"version":3,"file":"useEntityRestURL-DrV1zMrN.js","names":[],"sources":["../../src/lib/urls/linkify.ts","../../src/lib/urls/getRestUrlForCluster.ts","../../src/config/useEntityRestURL.ts"],"sourcesContent":["export function linkify(fqdn: string): string {\n\treturn new URL(\n\t\t!fqdn.match(/^https?:\\/\\//i)\n\t\t\t? `https://${fqdn}`\n\t\t\t: fqdn,\n\t).toString();\n}\n","import { Cluster } from '@/integrations/api/api.patch';\nimport { linkify } from '@/lib/urls/linkify';\n\nexport function getRestUrlForCluster(cluster: undefined | Pick<Cluster, 'fqdn' | 'domains'>): string | null {\n\tif (cluster?.domains) {\n\t\tfor (const domain of cluster.domains) {\n\t\t\tif (domain.domain) {\n\t\t\t\treturn linkify(domain.domain);\n\t\t\t}\n\t\t}\n\t}\n\tif (!cluster?.fqdn) {\n\t\treturn null;\n\t}\n\treturn linkify(cluster.fqdn);\n}\n","import { useInstanceClient } from '@/config/useInstanceClient';\nimport { authStore } from '@/features/auth/store/authStore';\nimport { getClusterInfoQueryOptions } from '@/features/cluster/queries/getClusterInfoQuery';\nimport { getRestUrlForCluster } from '@/lib/urls/getRestUrlForCluster';\nimport { useQuery } from '@tanstack/react-query';\nimport { useParams } from '@tanstack/react-router';\n\nexport function useEntityRestURL(): string | null {\n\tconst { clusterId, instanceId }: { clusterId?: string; instanceId?: string } = useParams({ strict: false });\n\tconst instanceClient = useInstanceClient();\n\tconst { data: cluster } = useQuery(\n\t\tgetClusterInfoQueryOptions(clusterId),\n\t);\n\n\tconst isFabricConnect = (!!clusterId && authStore.checkForFabricConnect(clusterId))\n\t\t|| !!instanceId && authStore.checkForFabricConnect(instanceId);\n\tif (isFabricConnect || (cluster && !instanceId)) {\n\t\treturn getRestUrlForCluster(cluster);\n\t} else if (instanceClient.defaults.baseURL) {\n\t\treturn instanceClient.defaults.baseURL.replace(/:9925\\/?/, '');\n\t}\n\treturn null;\n}\n"],"mappings":"oMAAA,SAAgB,EAAQ,EAAsB,CAC7C,OAAO,IAAI,IACT,EAAK,MAAM,eAAe,EAExB,EADA,WAAW,GAEf,CAAC,CAAC,SAAS,CACZ,CCHA,SAAgB,EAAqB,EAAuE,CAC3G,GAAI,GAAS,aACP,IAAM,KAAU,EAAQ,QAC5B,GAAI,EAAO,OACV,OAAO,EAAQ,EAAO,MAAM,CAAA,CAO/B,OAHK,GAAS,KAGP,EAAQ,EAAQ,IAAI,EAFnB,IAGT,CCRA,SAAgB,GAAkC,CACjD,GAAM,CAAE,YAAW,cAA4D,EAAU,CAAE,OAAQ,EAAM,CAAC,EACpG,EAAiB,EAAkB,EACnC,CAAE,KAAM,GAAY,EACzB,EAA2B,CAAS,CACrC,EASA,OAP2B,GAAa,EAAU,sBAAsB,CAAS,GAC3E,GAAc,EAAU,sBAAsB,CAAU,GACtC,GAAW,CAAC,EAC5B,EAAqB,CAAO,EACzB,EAAe,SAAS,QAC3B,EAAe,SAAS,QAAQ,QAAQ,WAAY,EAAE,EAEvD,IACR"}
|
package/studio/web/index.html
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
} catch (e) {}
|
|
22
22
|
})();
|
|
23
23
|
</script>
|
|
24
|
-
<script type="module" crossorigin src="/assets/index-
|
|
24
|
+
<script type="module" crossorigin src="/assets/index-Sevt3MVx.js"></script>
|
|
25
25
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-CNC7AqOf.js">
|
|
26
26
|
<link rel="modulepreload" crossorigin href="/assets/vendor-core-xUefYpUO.js">
|
|
27
27
|
<link rel="modulepreload" crossorigin href="/assets/vendor-datadog-DyjkTkvg.js">
|
|
@@ -38,14 +38,13 @@
|
|
|
38
38
|
<link rel="modulepreload" crossorigin href="/assets/useLocalStorage-hkNSGGg8.js">
|
|
39
39
|
<link rel="modulepreload" crossorigin href="/assets/select-y6NKMkG_.js">
|
|
40
40
|
<link rel="modulepreload" crossorigin href="/assets/getRegistrationInfo-BOLlgqXr.js">
|
|
41
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
41
|
+
<link rel="modulepreload" crossorigin href="/assets/table-DpOjNQHt.js">
|
|
42
|
+
<link rel="modulepreload" crossorigin href="/assets/chevron-right-anDJCGlp.js">
|
|
42
43
|
<link rel="modulepreload" crossorigin href="/assets/errorText-NpBmvk9I.js">
|
|
43
|
-
<link rel="modulepreload" crossorigin href="/assets/queryClient-
|
|
44
|
-
<link rel="modulepreload" crossorigin href="/assets/pollUnlessForbidden-
|
|
45
|
-
<link rel="modulepreload" crossorigin href="/assets/editor.api-OBQnf1nL.js">
|
|
44
|
+
<link rel="modulepreload" crossorigin href="/assets/queryClient-CgtkoiCY.js">
|
|
45
|
+
<link rel="modulepreload" crossorigin href="/assets/pollUnlessForbidden-BhzefVRn.js">
|
|
46
46
|
<link rel="modulepreload" crossorigin href="/assets/tokenization-uOBOyHAS.js">
|
|
47
|
-
<link rel="stylesheet" crossorigin href="/assets/
|
|
48
|
-
<link rel="stylesheet" crossorigin href="/assets/index-C8Mv9kHV.css">
|
|
47
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CDeqVx71.css">
|
|
49
48
|
</head>
|
|
50
49
|
|
|
51
50
|
<body>
|