@arcgis/coding-components 5.1.0-next.104 → 5.1.0-next.107
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/2CBDII2T.js +2 -0
- package/dist/cdn/3LHMOBGC.js +2 -0
- package/dist/cdn/{363GMMQ6.js → 5S2GF6U4.js} +1 -1
- package/dist/cdn/{TCLNQ7Z6.js → 66CFQA7G.js} +1 -1
- package/dist/cdn/{TSZHSRGH.js → 6DAYEZO3.js} +1 -1
- package/dist/cdn/{GZ6HZKQZ.js → AZR47E7L.js} +1 -1
- package/dist/cdn/CK7ERP6J.js +2 -0
- package/dist/cdn/{NWLOXWV6.js → DWYZXGBU.js} +1 -1
- package/dist/cdn/{GPIFJKPY.js → DX64LARM.js} +1 -1
- package/dist/cdn/E5OXH2IV.js +2 -0
- package/dist/cdn/{CHTL74L2.js → ETVSINLC.js} +1 -1
- package/dist/cdn/{G56LJGLK.js → HLDSPJ74.js} +1 -1
- package/dist/cdn/HUJVXIUS.js +2 -0
- package/dist/cdn/{PPV6RAZ3.js → IC45T3XF.js} +1 -1
- package/dist/cdn/{GHTOL7NB.js → KV35R64B.js} +1 -1
- package/dist/cdn/{GVMVHGSK.js → LT4IXMHV.js} +1 -1
- package/dist/cdn/MNHNQABP.js +4 -0
- package/dist/cdn/{OGS4AWC2.js → NMT25LRW.js} +1 -1
- package/dist/cdn/{NOHSS7JG.js → Q7MSRF5V.js} +1 -1
- package/dist/cdn/{P7I5ATMN.js → UN7LGHT2.js} +1 -1
- package/dist/cdn/{SATQDL5P.js → XDJFQDE6.js} +1 -1
- package/dist/cdn/{WL2QW4SI.js → ZSFJLQXB.js} +1 -1
- package/dist/cdn/assets/arcade-editor/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/code-editor/arcade.worker.js +2 -5
- package/dist/cdn/assets/code-editor/sql-expr.worker.js +2440 -2410
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/arcade-mode.js +174 -142
- package/dist/chunks/sql-expr-defaults.js +97 -75
- package/dist/components/arcgis-arcade-coding-assistant/customElement.js +24 -13
- package/dist/components/arcgis-arcade-editor/customElement.d.ts +33 -1
- package/dist/components/arcgis-arcade-editor/customElement.js +311 -184
- package/dist/components/arcgis-code-editor/customElement.js +1 -1
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/loader.js +4 -4
- package/dist/types/lumina.d.ts +1 -1
- package/dist/types/preact.d.ts +1 -1
- package/dist/types/react.d.ts +1 -1
- package/dist/types/stencil.d.ts +1 -1
- package/dist/utils/arcade-executor.d.ts +44 -1
- package/package.json +5 -5
- package/dist/cdn/BWQEBSSL.js +0 -4
- package/dist/cdn/JQQBQXPD.js +0 -2
- package/dist/cdn/SKTKTWIV.js +0 -2
- package/dist/cdn/WP6BSOSW.js +0 -2
- package/dist/cdn/YJW6NUWX.js +0 -2
package/dist/cdn/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{J as s,v as e}from"./REL6OK2I.js";import"./Y3KOWWO5.js";import"./3TTFCHAA.js";var r=e(s,{"arcgis-arcade-coding-assistant":[()=>import("./
|
|
2
|
+
import{J as s,v as e}from"./REL6OK2I.js";import"./Y3KOWWO5.js";import"./3TTFCHAA.js";var r=e(s,{"arcgis-arcade-coding-assistant":[()=>import("./MNHNQABP.js"),"appVersion,closed,closePanel:,diagnostics:,disableQuestionAnswerLogging,editorRef:,feedbackServiceUrl,helpBase,insertText:,portalUrl,promptingEnabled,serviceUrl;destroy,openPrompt"],"arcgis-arcade-debugger-console":[()=>import("./IC45T3XF.js"),"debuggerStore:,modelId"],"arcgis-arcade-debugger-output":[()=>import("./7NI24N24.js"),"debuggerStore:,result:"],"arcgis-arcade-editor":[()=>import("./CK7ERP6J.js"),"arcadeAssistant:,customPanels:,editorInstance:,editorOptions:,enableDebugger,externalExecutor:,hideDocumentationActions,hideSideBar,messageOverrides:,messages:,openedSidePanel,profile:,script,sideActionBarExpanded,snippets:,suggestions:,testData:;getTestResult,openArcadeAssistant,setFocus"],"arcgis-arcade-results":[()=>import("./5S2GF6U4.js"),"consoleLogs:,hideHeader,loading,openedResultPanel,result:"],"arcgis-arcade-suggestions":[()=>import("./ZSFJLQXB.js"),"closed,suggestions:"],"arcgis-code-editor":[()=>import("./KV35R64B.js"),"editorInstance:,editorOptions:,language,modelId,value;insertSnippet,insertText,setFocus"],"arcgis-code-editor-shell":[()=>import("./WN4UL6U4.js")],"arcgis-code-viewer":[()=>import("./6DAYEZO3.js"),"language,lineNumbers,round"],"arcgis-editor-variables":[()=>import("./UCX6WHKQ.js"),"closed,heading,loading,messageOverrides:,modelId,variable:"],"arcgis-language-api-panel":[()=>import("./DWYZXGBU.js"),"apiLibrary:,closed,hideDocumentationActions,languageId,loading"],"arcgis-sql-expression-editor":[()=>import("./XDJFQDE6.js"),"hideSideBar,messageOverrides:,messages:,profile:,script;setFocus"],"arcgis-sql-layer-editor":[()=>import("./LT4IXMHV.js"),"editorInstance:,editorOptions:,hideSideBar,messageOverrides:,messages:,openedSidePanel,profile:,script;setFocus"]});r({resourcesUrl:import.meta.url});var i=new CSSStyleSheet;i.replaceSync("@layer{:not([hydrated]):is(arcgis-arcade-editor,arcgis-code-editor,arcgis-code-editor-shell,arcgis-code-viewer,arcgis-sql-expression-editor,arcgis-sql-layer-editor){visibility:hidden}}");document.adoptedStyleSheets=[...document.adoptedStyleSheets,i];window.$arcgis||Object.defineProperty(window,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),((a,r)=>{a.t=(c,...x)=>Promise.all(x.map(x=>x.then?x:(!a?.forceESM&&a?.import||(x=>import(x+".js").then(m=>m.default??m)))("@arcgis/core/"+x))).then(c);r.p=a.t(([m])=>{r.t=m.trackAccess;r.o=m.createObservable;r.c=m.createTrackingTarget;r.r=m.runTracked},"applications/Components/reactiveUtils")})($arcgis,s)
|
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import {
|
|
3
|
-
import "
|
|
4
|
-
import "
|
|
5
|
-
import "
|
|
6
|
-
import "
|
|
7
|
-
import "monaco-editor
|
|
8
|
-
|
|
9
|
-
import "monaco-editor/esm/vs/editor/browser/controller/mouseTarget.js";
|
|
10
|
-
import { ArcadeKeywords as L } from "@arcgis/arcade-languageservice";
|
|
11
|
-
import { i as w } from "./monaco-importer.js";
|
|
12
|
-
import { InsertTextFormat as y, CompletionItemKind as i, DiagnosticSeverity as m } from "vscode-languageserver-types";
|
|
13
|
-
import { debounce as A } from "@arcgis/toolkit/function";
|
|
14
|
-
import { rethrowError as f } from "@arcgis/toolkit/log";
|
|
15
|
-
const F = [
|
|
2
|
+
import { i as f } from "./monaco-importer.js";
|
|
3
|
+
import { ArcadeKeywords as M } from "@arcgis/arcade-languageservice";
|
|
4
|
+
import { InsertTextFormat as L, CompletionItemKind as o, DiagnosticSeverity as h } from "vscode-languageserver-types";
|
|
5
|
+
import { debounce as S } from "@arcgis/toolkit/function";
|
|
6
|
+
import { rethrowError as w } from "@arcgis/toolkit/log";
|
|
7
|
+
import { Range as b, languages as l, MarkerSeverity as p, Emitter as F } from "monaco-editor";
|
|
8
|
+
const P = [
|
|
16
9
|
"<=",
|
|
17
10
|
">=",
|
|
18
11
|
"==",
|
|
@@ -41,7 +34,7 @@ const F = [
|
|
|
41
34
|
"**=",
|
|
42
35
|
"/=",
|
|
43
36
|
"%="
|
|
44
|
-
],
|
|
37
|
+
], T = {
|
|
45
38
|
// the default separators except `@$`
|
|
46
39
|
wordPattern: /(-?\d*\.\d\w*)|([^`~!#%\^&\*\(\)\-=\+\[\{\]\}\\\|;:'",\.<>\/\?\s]+)/gu,
|
|
47
40
|
comments: {
|
|
@@ -74,7 +67,7 @@ const F = [
|
|
|
74
67
|
// ^.*\{[^}"']*$
|
|
75
68
|
increaseIndentPattern: /^((?!\/\/).)*(\{[^}"'`]*|\([^)"'`]*|\[[^\]"'`]*)$/u
|
|
76
69
|
}
|
|
77
|
-
},
|
|
70
|
+
}, W = {
|
|
78
71
|
// Set defaultToken to invalid to see what you do not tokenize yet
|
|
79
72
|
defaultToken: "invalid",
|
|
80
73
|
tokenPostfix: ".arcgis",
|
|
@@ -83,8 +76,8 @@ const F = [
|
|
|
83
76
|
// builtinFunctions: [...arcadeService.FunctionNames],
|
|
84
77
|
// Arcade keywords. 'from' is a special case as we want to treat it as a keyword in
|
|
85
78
|
// import statement but as an identifier in var statement.
|
|
86
|
-
keywords:
|
|
87
|
-
operators:
|
|
79
|
+
keywords: M,
|
|
80
|
+
operators: P,
|
|
88
81
|
constants: ["true", "false", "null"],
|
|
89
82
|
// we include these common regular expressions
|
|
90
83
|
symbols: /[=><!~?:&|+\-*\/\^%]+/u,
|
|
@@ -253,89 +246,89 @@ const F = [
|
|
|
253
246
|
]
|
|
254
247
|
}
|
|
255
248
|
};
|
|
256
|
-
class
|
|
257
|
-
constructor(e,
|
|
249
|
+
class $ {
|
|
250
|
+
constructor(e, r, {
|
|
258
251
|
defaults: s,
|
|
259
|
-
diagnosticsService:
|
|
252
|
+
diagnosticsService: u
|
|
260
253
|
}) {
|
|
261
|
-
this._languageId = e, this._worker =
|
|
262
|
-
const
|
|
263
|
-
const
|
|
264
|
-
if (
|
|
254
|
+
this._languageId = e, this._worker = r, this._disposables = [], this._modelListeners = /* @__PURE__ */ new Map(), this._diagnosticsService = u, this._defaults = s, f().then((a) => {
|
|
255
|
+
const d = (i) => {
|
|
256
|
+
const n = i.getLanguageId();
|
|
257
|
+
if (n !== this._languageId)
|
|
265
258
|
return;
|
|
266
|
-
const c =
|
|
267
|
-
this._doValidate(
|
|
268
|
-
throw
|
|
259
|
+
const c = S(() => {
|
|
260
|
+
this._doValidate(i, n).catch((y) => {
|
|
261
|
+
throw y;
|
|
269
262
|
});
|
|
270
|
-
}), I =
|
|
271
|
-
this._modelListeners.set(
|
|
272
|
-
},
|
|
273
|
-
const
|
|
274
|
-
a.setModelMarkers(
|
|
275
|
-
const c = this._modelListeners.get(
|
|
263
|
+
}), I = i.onDidChangeContent(c), E = i.onDidChangeAttached(c);
|
|
264
|
+
this._modelListeners.set(i.uri.toString(), [I, E]), this._doValidate(i, n).catch(w("DiagnosticsAdapter"));
|
|
265
|
+
}, g = (i) => {
|
|
266
|
+
const n = i.uri.toString();
|
|
267
|
+
a.setModelMarkers(i, this._languageId, []);
|
|
268
|
+
const c = this._modelListeners.get(n);
|
|
276
269
|
if (c) {
|
|
277
270
|
for (; c.length; )
|
|
278
271
|
c.pop()?.dispose();
|
|
279
|
-
this._modelListeners.delete(
|
|
272
|
+
this._modelListeners.delete(n);
|
|
280
273
|
}
|
|
281
274
|
};
|
|
282
|
-
this._disposables.push(a.onDidCreateModel(
|
|
283
|
-
a.onWillDisposeModel((
|
|
284
|
-
|
|
275
|
+
this._disposables.push(a.onDidCreateModel(d)), this._disposables.push(
|
|
276
|
+
a.onWillDisposeModel((i) => {
|
|
277
|
+
g(i);
|
|
285
278
|
})
|
|
286
279
|
), this._disposables.push(
|
|
287
|
-
a.onDidChangeModelLanguage((
|
|
288
|
-
|
|
280
|
+
a.onDidChangeModelLanguage((i) => {
|
|
281
|
+
g(i.model), d(i.model);
|
|
289
282
|
})
|
|
290
283
|
), this._disposables.push(
|
|
291
284
|
s.onDidChange(() => {
|
|
292
|
-
a.getModels().forEach((
|
|
293
|
-
|
|
285
|
+
a.getModels().forEach((i) => {
|
|
286
|
+
i.getLanguageId() === this._languageId && (g(i), d(i));
|
|
294
287
|
});
|
|
295
288
|
})
|
|
296
289
|
), this._disposables.push(
|
|
297
|
-
s.onModelContextDidChange((
|
|
298
|
-
a.getModels().forEach((
|
|
299
|
-
|
|
290
|
+
s.onModelContextDidChange((i) => {
|
|
291
|
+
a.getModels().forEach((n) => {
|
|
292
|
+
n.getLanguageId() === this._languageId && n.uri.toString() === i && this._doValidate(n, this._languageId).catch(w("DiagnosticsAdapter"));
|
|
300
293
|
});
|
|
301
294
|
})
|
|
302
295
|
), this._disposables.push({
|
|
303
296
|
dispose: () => {
|
|
304
|
-
this._modelListeners.forEach((
|
|
297
|
+
this._modelListeners.forEach((i) => i.forEach((n) => n.dispose())), this._modelListeners.clear();
|
|
305
298
|
}
|
|
306
|
-
}), a.getModels().forEach(
|
|
299
|
+
}), a.getModels().forEach(d);
|
|
307
300
|
});
|
|
308
301
|
}
|
|
309
302
|
dispose() {
|
|
310
303
|
this._disposables.forEach((e) => e.dispose()), this._disposables = [];
|
|
311
304
|
}
|
|
312
|
-
async _doValidate(e,
|
|
305
|
+
async _doValidate(e, r) {
|
|
313
306
|
if (e.isAttachedToEditor())
|
|
314
307
|
try {
|
|
315
|
-
const s = await
|
|
316
|
-
this._diagnosticsService.fireDiagnosticsChange(e.uri,
|
|
308
|
+
const s = await f(), u = await this._worker(e.uri), a = this._defaults.getApiContextForModel(e.uri), d = await u.doValidation(e.uri.toString(), a), g = d.map((i) => R(e.uri, i));
|
|
309
|
+
this._diagnosticsService.fireDiagnosticsChange(e.uri, d), s.setModelMarkers(e, r, g);
|
|
317
310
|
} catch (s) {
|
|
318
|
-
|
|
311
|
+
w("DiagnosticsAdapter")(s);
|
|
319
312
|
}
|
|
320
313
|
}
|
|
321
314
|
}
|
|
322
|
-
function
|
|
315
|
+
function D(t) {
|
|
323
316
|
switch (t) {
|
|
324
|
-
case
|
|
317
|
+
case h.Error:
|
|
325
318
|
return p.Error;
|
|
326
|
-
case
|
|
319
|
+
case h.Warning:
|
|
327
320
|
return p.Warning;
|
|
328
|
-
case
|
|
321
|
+
case h.Information:
|
|
329
322
|
return p.Info;
|
|
330
|
-
case
|
|
323
|
+
case h.Hint:
|
|
331
324
|
return p.Hint;
|
|
332
325
|
default:
|
|
333
326
|
return p.Info;
|
|
334
327
|
}
|
|
335
328
|
}
|
|
336
|
-
function
|
|
329
|
+
function R(t, e) {
|
|
337
330
|
return {
|
|
338
|
-
severity:
|
|
331
|
+
severity: D(e.severity),
|
|
339
332
|
startLineNumber: e.range.start.line + 1,
|
|
340
333
|
startColumn: e.range.start.character + 1,
|
|
341
334
|
endLineNumber: e.range.end.line + 1,
|
|
@@ -343,119 +336,119 @@ function $(t, e) {
|
|
|
343
336
|
message: e.message
|
|
344
337
|
};
|
|
345
338
|
}
|
|
346
|
-
function
|
|
339
|
+
function V(t) {
|
|
347
340
|
return { character: t.column - 1, line: t.lineNumber - 1 };
|
|
348
341
|
}
|
|
349
|
-
function
|
|
350
|
-
return new
|
|
342
|
+
function m(t) {
|
|
343
|
+
return new b(t.start.line + 1, t.start.character + 1, t.end.line + 1, t.end.character + 1);
|
|
351
344
|
}
|
|
352
|
-
function
|
|
345
|
+
function K(t) {
|
|
353
346
|
return {
|
|
354
|
-
range:
|
|
347
|
+
range: m(t.range),
|
|
355
348
|
text: t.newText
|
|
356
349
|
};
|
|
357
350
|
}
|
|
358
|
-
function
|
|
351
|
+
function N(t) {
|
|
359
352
|
return typeof t.insert < "u" && typeof t.replace < "u";
|
|
360
353
|
}
|
|
361
|
-
function
|
|
354
|
+
function z(t) {
|
|
362
355
|
const e = l.CompletionItemKind;
|
|
363
356
|
switch (t) {
|
|
364
|
-
case
|
|
357
|
+
case o.Text:
|
|
365
358
|
return e.Text;
|
|
366
|
-
case
|
|
359
|
+
case o.Method:
|
|
367
360
|
return e.Method;
|
|
368
|
-
case
|
|
361
|
+
case o.Function:
|
|
369
362
|
return e.Function;
|
|
370
|
-
case
|
|
363
|
+
case o.Constructor:
|
|
371
364
|
return e.Constructor;
|
|
372
|
-
case
|
|
365
|
+
case o.Field:
|
|
373
366
|
return e.Field;
|
|
374
|
-
case
|
|
367
|
+
case o.Variable:
|
|
375
368
|
return e.Variable;
|
|
376
|
-
case
|
|
369
|
+
case o.Class:
|
|
377
370
|
return e.Class;
|
|
378
|
-
case
|
|
371
|
+
case o.Interface:
|
|
379
372
|
return e.Interface;
|
|
380
|
-
case
|
|
373
|
+
case o.Module:
|
|
381
374
|
return e.Module;
|
|
382
|
-
case
|
|
375
|
+
case o.Property:
|
|
383
376
|
return e.Property;
|
|
384
|
-
case
|
|
377
|
+
case o.Unit:
|
|
385
378
|
return e.Unit;
|
|
386
|
-
case
|
|
379
|
+
case o.Value:
|
|
387
380
|
return e.Value;
|
|
388
|
-
case
|
|
381
|
+
case o.Enum:
|
|
389
382
|
return e.Enum;
|
|
390
|
-
case
|
|
383
|
+
case o.Keyword:
|
|
391
384
|
return e.Keyword;
|
|
392
|
-
case
|
|
385
|
+
case o.Snippet:
|
|
393
386
|
return e.Snippet;
|
|
394
|
-
case
|
|
387
|
+
case o.Color:
|
|
395
388
|
return e.Color;
|
|
396
|
-
case
|
|
389
|
+
case o.File:
|
|
397
390
|
return e.File;
|
|
398
|
-
case
|
|
391
|
+
case o.Reference:
|
|
399
392
|
return e.Reference;
|
|
400
|
-
case
|
|
393
|
+
case o.Folder:
|
|
401
394
|
return e.Folder;
|
|
402
|
-
case
|
|
395
|
+
case o.EnumMember:
|
|
403
396
|
return e.EnumMember;
|
|
404
|
-
case
|
|
397
|
+
case o.Constant:
|
|
405
398
|
return e.Constant;
|
|
406
|
-
case
|
|
399
|
+
case o.Struct:
|
|
407
400
|
return e.Struct;
|
|
408
|
-
case
|
|
401
|
+
case o.Event:
|
|
409
402
|
return e.Event;
|
|
410
|
-
case
|
|
403
|
+
case o.Operator:
|
|
411
404
|
return e.Operator;
|
|
412
|
-
case
|
|
405
|
+
case o.TypeParameter:
|
|
413
406
|
return e.TypeParameter;
|
|
414
407
|
default:
|
|
415
408
|
return e.Property;
|
|
416
409
|
}
|
|
417
410
|
}
|
|
418
|
-
class
|
|
419
|
-
constructor(e,
|
|
420
|
-
this._worker = e, this._defaults =
|
|
411
|
+
class O {
|
|
412
|
+
constructor(e, r) {
|
|
413
|
+
this._worker = e, this._defaults = r, this.triggerCharacters = [".", "("];
|
|
421
414
|
}
|
|
422
|
-
async provideCompletionItems(e,
|
|
423
|
-
const s = await this._worker(e.uri),
|
|
415
|
+
async provideCompletionItems(e, r) {
|
|
416
|
+
const s = await this._worker(e.uri), u = this._defaults.getApiContextForModel(e.uri), a = await s.doComplete(e.uri.toString(), V(r), u), d = e.getWordUntilPosition(r), g = new b(r.lineNumber, d.startColumn, r.lineNumber, d.endColumn), i = a.items.map((n) => {
|
|
424
417
|
const c = {
|
|
425
|
-
label:
|
|
426
|
-
insertText:
|
|
427
|
-
sortText:
|
|
428
|
-
filterText:
|
|
429
|
-
detail:
|
|
430
|
-
range:
|
|
431
|
-
kind:
|
|
418
|
+
label: n.label,
|
|
419
|
+
insertText: n.insertText || n.label,
|
|
420
|
+
sortText: n.sortText,
|
|
421
|
+
filterText: n.filterText,
|
|
422
|
+
detail: n.detail,
|
|
423
|
+
range: g,
|
|
424
|
+
kind: z(n.kind)
|
|
432
425
|
};
|
|
433
|
-
return
|
|
434
|
-
insert:
|
|
435
|
-
replace:
|
|
436
|
-
} : c.range =
|
|
426
|
+
return n.textEdit && (N(n.textEdit) ? c.range = {
|
|
427
|
+
insert: m(n.textEdit.insert),
|
|
428
|
+
replace: m(n.textEdit.replace)
|
|
429
|
+
} : c.range = m(n.textEdit.range), c.insertText = n.textEdit.newText), n.additionalTextEdits && (c.additionalTextEdits = n.additionalTextEdits.map(K)), n.insertTextFormat === L.Snippet && (c.insertTextRules = l.CompletionItemInsertTextRule.InsertAsSnippet), n.documentation && (typeof n.documentation == "string" ? c.documentation = n.documentation : c.documentation = {
|
|
437
430
|
supportThemeIcons: !1,
|
|
438
|
-
value:
|
|
431
|
+
value: n.documentation.value,
|
|
439
432
|
supportHtml: !0
|
|
440
433
|
}), c;
|
|
441
434
|
});
|
|
442
435
|
return {
|
|
443
436
|
incomplete: a.isIncomplete,
|
|
444
|
-
suggestions:
|
|
437
|
+
suggestions: i
|
|
445
438
|
};
|
|
446
439
|
}
|
|
447
440
|
}
|
|
448
|
-
class
|
|
449
|
-
constructor(e,
|
|
450
|
-
this._worker = e, this._defaults =
|
|
441
|
+
class B {
|
|
442
|
+
constructor(e, r) {
|
|
443
|
+
this._worker = e, this._defaults = r;
|
|
451
444
|
}
|
|
452
445
|
async provideDocumentFormattingEdits(e) {
|
|
453
|
-
const
|
|
454
|
-
return (await
|
|
446
|
+
const r = await this._worker(e.uri), s = this._defaults.getApiContextForModel(e.uri.toString());
|
|
447
|
+
return (await r.doFormat(e.uri.toString(), s)).map((a) => ({ range: m(a.range), text: a.newText }));
|
|
455
448
|
}
|
|
456
449
|
}
|
|
457
|
-
let
|
|
458
|
-
class
|
|
450
|
+
let x = Promise.withResolvers();
|
|
451
|
+
class v {
|
|
459
452
|
constructor(e) {
|
|
460
453
|
this._defaults = e, this._worker = null, this._client = null, this._configChangeListener = this._defaults.onDidChange(() => this.stopWorker());
|
|
461
454
|
}
|
|
@@ -463,48 +456,81 @@ class b {
|
|
|
463
456
|
this._configChangeListener.dispose(), this.stopWorker();
|
|
464
457
|
}
|
|
465
458
|
stopWorker() {
|
|
466
|
-
this._worker && (this._worker.dispose(), this._worker = null,
|
|
459
|
+
this._worker && (this._worker.dispose(), this._worker = null, x = Promise.withResolvers()), this._client = null;
|
|
467
460
|
}
|
|
468
461
|
/**
|
|
469
462
|
* Wait for the worker to be ready.
|
|
470
463
|
* @returns A promise that resolves when the worker is ready.
|
|
471
464
|
*/
|
|
472
465
|
static async waitForWorker() {
|
|
473
|
-
return await
|
|
466
|
+
return await x.promise;
|
|
474
467
|
}
|
|
475
468
|
async _getClientProxy() {
|
|
476
|
-
const e = await
|
|
469
|
+
const e = await f();
|
|
477
470
|
if (!this._client) {
|
|
478
|
-
const { languageId:
|
|
471
|
+
const { languageId: r } = this._defaults, s = window.MonacoEnvironment?.getWorker;
|
|
479
472
|
if (!s)
|
|
480
473
|
throw new Error(
|
|
481
474
|
"MonacoEnvironment.getWorker is not configured. Call setupMonacoEnvironment(...) before creating Arcade workers."
|
|
482
475
|
);
|
|
483
476
|
this._worker = e.createWebWorker({
|
|
484
|
-
worker: s("ArcadeWorker",
|
|
477
|
+
worker: s("ArcadeWorker", r),
|
|
485
478
|
host: this._defaults.workerHost
|
|
486
|
-
}),
|
|
479
|
+
}), x.resolve(this._worker), this._client = this._worker.getProxy();
|
|
487
480
|
}
|
|
488
481
|
return await this._client;
|
|
489
482
|
}
|
|
490
483
|
async getLanguageServiceWorker(...e) {
|
|
491
|
-
const
|
|
492
|
-
return await this._worker?.withSyncedResources(e),
|
|
484
|
+
const r = await this._getClientProxy();
|
|
485
|
+
return await this._worker?.withSyncedResources(e), r;
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
let C;
|
|
489
|
+
const H = "quickfix", U = "arcgis.arcade-editor.ask-ai", k = /* @__PURE__ */ new Map();
|
|
490
|
+
let _;
|
|
491
|
+
function te(t, e) {
|
|
492
|
+
const r = typeof t == "string" ? t : t.uri.toString();
|
|
493
|
+
if (!e) {
|
|
494
|
+
k.delete(r);
|
|
495
|
+
return;
|
|
496
|
+
}
|
|
497
|
+
k.set(r, e);
|
|
498
|
+
}
|
|
499
|
+
async function q() {
|
|
500
|
+
return _ || (_ = (async () => (await f()).addCommand({
|
|
501
|
+
id: U,
|
|
502
|
+
run: (...r) => {
|
|
503
|
+
const [, s, u] = r;
|
|
504
|
+
if (typeof s != "string")
|
|
505
|
+
return;
|
|
506
|
+
const a = typeof u == "string" ? u : void 0;
|
|
507
|
+
k.get(s)?.run(a);
|
|
508
|
+
}
|
|
509
|
+
}))()), await _;
|
|
510
|
+
}
|
|
511
|
+
class Q {
|
|
512
|
+
async provideCodeActions(e, r, s, u) {
|
|
513
|
+
const a = k.get(e.uri.toString());
|
|
514
|
+
return {
|
|
515
|
+
actions: a ? await a.provideCodeActions({ model: e, range: r, context: s, token: u }) : [],
|
|
516
|
+
// Monaco always disposes CodeActionList results, but these actions are plain data with no request-scoped resources.
|
|
517
|
+
dispose: () => {
|
|
518
|
+
}
|
|
519
|
+
};
|
|
493
520
|
}
|
|
494
521
|
}
|
|
495
|
-
let x;
|
|
496
522
|
async function re(...t) {
|
|
497
|
-
return await
|
|
498
|
-
if (!
|
|
499
|
-
|
|
523
|
+
return await v.waitForWorker(), await new Promise((e, r) => {
|
|
524
|
+
if (!C) {
|
|
525
|
+
r(new Error("Arcade not registered!"));
|
|
500
526
|
return;
|
|
501
527
|
}
|
|
502
|
-
e(
|
|
528
|
+
e(C(...t));
|
|
503
529
|
});
|
|
504
530
|
}
|
|
505
|
-
class
|
|
531
|
+
class X {
|
|
506
532
|
constructor() {
|
|
507
|
-
this._onDiagnosticsChange = new
|
|
533
|
+
this._onDiagnosticsChange = new F();
|
|
508
534
|
}
|
|
509
535
|
/**
|
|
510
536
|
* An event to signal changes to the diagnostics.
|
|
@@ -518,29 +544,35 @@ class O {
|
|
|
518
544
|
* @param uri The uri of the model for which the diagnostics changed.
|
|
519
545
|
* @param diagnostics The diagnostics for the model.
|
|
520
546
|
*/
|
|
521
|
-
fireDiagnosticsChange(e,
|
|
522
|
-
this._onDiagnosticsChange.fire({ uri: e, diagnostics:
|
|
547
|
+
fireDiagnosticsChange(e, r) {
|
|
548
|
+
this._onDiagnosticsChange.fire({ uri: e, diagnostics: r });
|
|
523
549
|
}
|
|
524
550
|
}
|
|
525
|
-
const
|
|
551
|
+
const A = new X();
|
|
526
552
|
function ne() {
|
|
527
|
-
return
|
|
553
|
+
return A;
|
|
528
554
|
}
|
|
529
|
-
function
|
|
530
|
-
|
|
531
|
-
|
|
555
|
+
function ie(t) {
|
|
556
|
+
q();
|
|
557
|
+
const e = new v(t), r = async (...s) => await e.getLanguageServiceWorker(...s);
|
|
558
|
+
C = r, l.setMonarchTokensProvider(t.languageId, W), l.setLanguageConfiguration(t.languageId, T), l.registerCompletionItemProvider(
|
|
532
559
|
t.languageId,
|
|
533
|
-
new
|
|
560
|
+
new O(r, t)
|
|
534
561
|
), l.registerDocumentFormattingEditProvider(
|
|
535
562
|
t.languageId,
|
|
536
|
-
new
|
|
537
|
-
),
|
|
563
|
+
new B(r, t)
|
|
564
|
+
), l.registerCodeActionProvider(t.languageId, new Q(), {
|
|
565
|
+
providedCodeActionKinds: [H]
|
|
566
|
+
}), new $(t.languageId, r, {
|
|
538
567
|
defaults: t,
|
|
539
|
-
diagnosticsService:
|
|
568
|
+
diagnosticsService: A
|
|
540
569
|
});
|
|
541
570
|
}
|
|
542
571
|
export {
|
|
572
|
+
U as arcadeAskAiCommandId,
|
|
573
|
+
H as arcadeQuickFixKind,
|
|
543
574
|
ne as getArcadeDiagnosticService,
|
|
544
575
|
re as getArcadeWorker,
|
|
545
|
-
|
|
576
|
+
te as setArcadeAskAiBinding,
|
|
577
|
+
ie as setupMode
|
|
546
578
|
};
|