@arcgis/coding-components 1.0.0-beta.7 → 4.28.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/arcgis-coding-components/arcgis-coding-components.esm.js +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ar.json +858 -192
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.bg.json +821 -155
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.bs.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ca.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.cs.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.da.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.de.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.el.json +858 -192
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.en.json +853 -187
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.es.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.et.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.fi.json +858 -192
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.fr.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.he.json +858 -192
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.hr.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.hu.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.id.json +858 -192
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.it.json +821 -155
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ja.json +859 -193
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ko.json +859 -193
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.lt.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.lv.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.nb.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.nl.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.pl.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.pt-BR.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.pt-PT.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ro.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ru.json +858 -192
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sk.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sl.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sr.json +845 -179
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sv.json +829 -163
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.th.json +858 -192
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.tr.json +858 -192
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.uk.json +858 -192
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.vi.json +858 -192
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.zh-CN.json +859 -193
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.zh-HK.json +859 -193
- package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.zh-TW.json +859 -193
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ar.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.bg.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.bs.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ca.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.cs.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.da.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.de.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.el.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.en.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.es.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.et.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.fi.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.fr.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.he.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.hr.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.hu.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.id.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.it.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ja.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ko.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.lt.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.lv.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.nb.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.nl.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.pl.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.pt-BR.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.pt-PT.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ro.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ru.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.sk.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.sl.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.sr.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.sv.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.th.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.tr.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.uk.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.vi.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.zh-CN.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.zh-HK.json +1 -2
- package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.zh-TW.json +1 -2
- package/dist/arcgis-coding-components/index.esm.js +1 -1
- package/dist/arcgis-coding-components/p-3af16d99.js +1 -0
- package/dist/arcgis-coding-components/{p-ee4aaf72.js → p-46aaf7d4.js} +1 -1
- package/dist/arcgis-coding-components/{p-ed254359.js → p-4bd9d791.js} +2 -2
- package/dist/arcgis-coding-components/{p-2eee5b07.js → p-73aa96ee.js} +7 -7
- package/dist/arcgis-coding-components/{p-63d6d128.js → p-81676e51.js} +1 -1
- package/dist/arcgis-coding-components/p-a8a8510a.entry.js +1 -0
- package/dist/arcgis-coding-components/{p-616bcc2c.js → p-a9ec2366.js} +1 -1
- package/dist/arcgis-coding-components/{p-41feaa6e.js → p-bf7a8d89.js} +1 -1
- package/dist/arcgis-coding-components/{p-c14a46af.js → p-f418c117.js} +1 -1
- package/dist/arcgis-coding-components/{p-b866ffa3.js → p-f6b45c23.js} +1 -1
- package/dist/cjs/{arcade-defaults-f77b7bae.js → arcade-defaults-3bd0c14d.js} +3271 -3169
- package/dist/cjs/arcade-mode-070b367b.js +600 -0
- package/dist/cjs/arcgis-arcade-api_6.cjs.entry.js +51 -30
- package/dist/cjs/{cssMode-c21a8b34.js → cssMode-bb33401a.js} +1 -1
- package/dist/cjs/{html-baddeebf.js → html-6a48c22b.js} +1 -1
- package/dist/cjs/{htmlMode-3ca73779.js → htmlMode-dd092c6e.js} +1 -1
- package/dist/cjs/index.cjs.js +3 -5
- package/dist/cjs/{javascript-4226e8d4.js → javascript-06348a03.js} +2 -2
- package/dist/cjs/{jsonMode-4496d6b9.js → jsonMode-d987edf0.js} +1 -1
- package/dist/cjs/{tsMode-6fa6f2f6.js → tsMode-4c122a19.js} +1 -1
- package/dist/cjs/{typescript-5b6bab68.js → typescript-a09007d1.js} +1 -1
- package/dist/components/arcade-api.js +3 -2
- package/dist/components/arcade-contribution.js +1 -1
- package/dist/components/arcade-defaults.js +7 -24
- package/dist/components/arcade-mode.js +3 -3
- package/dist/components/arcade-results.js +40 -10
- package/dist/components/arcade-suggestions.js +2 -1
- package/dist/components/arcade-variables.js +2 -2
- package/dist/components/arcgis-arcade-editor.js +2 -2
- package/dist/components/code-editor.js +9 -2
- package/dist/components/fields.js +125 -0
- package/dist/components/index.js +1 -7
- package/dist/components/index2.js +282 -32
- package/dist/components/markdown.js +1 -1
- package/dist/components/utilities.js +2 -334
- package/dist/esm/{arcade-defaults-24670a1d.js → arcade-defaults-e4176a6a.js} +3270 -3171
- package/dist/esm/arcade-mode-e62d056a.js +596 -0
- package/dist/esm/arcgis-arcade-api_6.entry.js +49 -28
- package/dist/esm/{cssMode-0ae84348.js → cssMode-3544cc9c.js} +1 -1
- package/dist/esm/{html-c18864a6.js → html-a801d6a9.js} +1 -1
- package/dist/esm/{htmlMode-426699f2.js → htmlMode-fec36926.js} +1 -1
- package/dist/esm/index.js +1 -7
- package/dist/esm/{javascript-982f2d73.js → javascript-17b4c349.js} +2 -2
- package/dist/esm/{jsonMode-170e0a0e.js → jsonMode-f533b728.js} +1 -1
- package/dist/esm/{tsMode-99d2e8e5.js → tsMode-49d8893e.js} +1 -1
- package/dist/esm/{typescript-de4f8a27.js → typescript-34fa1e83.js} +1 -1
- package/dist/types/index.d.ts +2 -4
- package/dist/types/utils/arcade-executor.d.ts +35 -3
- package/dist/types/utils/arcade-monaco/arcade-defaults.d.ts +6 -0
- package/dist/types/utils/fields.d.ts +10 -0
- package/dist/types/utils/profile/types.d.ts +2 -2
- package/dist/types/utils/utilities.d.ts +0 -6
- package/package.json +8 -8
- package/dist/arcgis-coding-components/p-4d7cdaf4.js +0 -1
- package/dist/arcgis-coding-components/p-7d6c922f.entry.js +0 -1
- package/dist/cjs/arcade-mode-4b1d5adc.js +0 -600
- package/dist/esm/arcade-mode-dc10ed9f.js +0 -596
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, g as getAssetPath, H as Host, a as getElement, F as Fragment } from './index-d4ec142a.js';
|
|
2
|
-
import { g as generateTokensCSSForColorMap, e as editor, S as StandaloneServices, I as IStandaloneThemeService, l as languages,
|
|
2
|
+
import { g as generateTokensCSSForColorMap, e as editor, S as StandaloneServices, I as IStandaloneThemeService, c as createCommonjsModule, b as commonjsGlobal, l as languages, d as arcadeDefaults, s as startLocaleObserver, U as Uri, f as stopLocaleObserver, h as setFocusOnElement, i as filterCollection, j as addLTRMark, k as importArcade, D as Deferred, m as generateGuid, n as getElementTheme, K as KeyCode, o as setValuesInString, q as quoteString, p as supportedFields, r as createFilterExpression, R as Range, t as observeAncestorsMutation, u as KeyMod } from './arcade-defaults-e4176a6a.js';
|
|
3
3
|
|
|
4
4
|
async function colorizeCode(code) {
|
|
5
5
|
return editor.colorize(code, "arcade", { tabSize: 2 });
|
|
@@ -33,25 +33,9 @@ const StickyFilterInput = ({ filterValue, ...rest }) => (
|
|
|
33
33
|
h("div", { class: "sticky", scale: "m" },
|
|
34
34
|
h("calcite-input", { value: filterValue, icon: "magnifying-glass", clearable: true, ...rest })));
|
|
35
35
|
|
|
36
|
-
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
37
|
-
|
|
38
|
-
function createCommonjsModule(fn, basedir, module) {
|
|
39
|
-
return module = {
|
|
40
|
-
path: basedir,
|
|
41
|
-
exports: {},
|
|
42
|
-
require: function (path, base) {
|
|
43
|
-
return commonjsRequire();
|
|
44
|
-
}
|
|
45
|
-
}, fn(module, module.exports), module.exports;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function commonjsRequire () {
|
|
49
|
-
throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
|
|
50
|
-
}
|
|
51
|
-
|
|
52
36
|
var marked_umd = createCommonjsModule(function (module, exports) {
|
|
53
37
|
/**
|
|
54
|
-
* marked v5.1.
|
|
38
|
+
* marked v5.1.2 - a markdown parser
|
|
55
39
|
* Copyright (c) 2011-2023, Christopher Jeffrey. (MIT Licensed)
|
|
56
40
|
* https://github.com/markedjs/marked
|
|
57
41
|
*/
|
|
@@ -3014,7 +2998,7 @@ async function getArcadeWorker(uri) {
|
|
|
3014
2998
|
* @returns mode for arcade
|
|
3015
2999
|
*/
|
|
3016
3000
|
function getMode() {
|
|
3017
|
-
return import('./arcade-mode-
|
|
3001
|
+
return import('./arcade-mode-e62d056a.js');
|
|
3018
3002
|
}
|
|
3019
3003
|
// Register the language in Monaco
|
|
3020
3004
|
languages.register({
|
|
@@ -3211,6 +3195,14 @@ function isArcadeDate(value) {
|
|
|
3211
3195
|
const declaredRootClass = value.declaredRootClass;
|
|
3212
3196
|
return typeof declaredRootClass === "string" && declaredRootClass === "esri.arcade.arcadedate";
|
|
3213
3197
|
}
|
|
3198
|
+
function isArcadeDateOnly(value) {
|
|
3199
|
+
const declaredRootClass = value.declaredRootClass;
|
|
3200
|
+
return typeof declaredRootClass === "string" && declaredRootClass === "esri.core.sql.dateonly";
|
|
3201
|
+
}
|
|
3202
|
+
function isArcadeTimeOnly(value) {
|
|
3203
|
+
const declaredRootClass = value.declaredRootClass;
|
|
3204
|
+
return typeof declaredRootClass === "string" && declaredRootClass === "esri.core.sql.timeonly";
|
|
3205
|
+
}
|
|
3214
3206
|
function isArcadeImmutableArray(value) {
|
|
3215
3207
|
return (typeof value.length === "function" &&
|
|
3216
3208
|
typeof value.get === "function" &&
|
|
@@ -3245,6 +3237,12 @@ function valueToArcadeResult(value) {
|
|
|
3245
3237
|
if (isArcadeDate(value)) {
|
|
3246
3238
|
return { type: "date", simpleType: false, value };
|
|
3247
3239
|
}
|
|
3240
|
+
if (isArcadeDateOnly(value)) {
|
|
3241
|
+
return { type: "dateOnly", simpleType: false, value };
|
|
3242
|
+
}
|
|
3243
|
+
if (isArcadeTimeOnly(value)) {
|
|
3244
|
+
return { type: "time", simpleType: false, value };
|
|
3245
|
+
}
|
|
3248
3246
|
if (isArcadeAttachment(value)) {
|
|
3249
3247
|
return { type: "attachment", simpleType: false, value };
|
|
3250
3248
|
}
|
|
@@ -3267,15 +3265,22 @@ function valueToArcadeResult(value) {
|
|
|
3267
3265
|
}
|
|
3268
3266
|
function formatArcadeResultDate(dateObject, lang = "en") {
|
|
3269
3267
|
// Default to english
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3268
|
+
if (dateObject.value instanceof Date) {
|
|
3269
|
+
return new Intl.DateTimeFormat(lang, { dateStyle: "medium", timeStyle: "long" }).format(dateObject.value);
|
|
3270
|
+
}
|
|
3271
|
+
return dateObject.value
|
|
3272
|
+
.toDateTime()
|
|
3273
|
+
.setLocale(lang)
|
|
3274
|
+
.toFormat(dateObject.value.isUnknownTimeZone ? "FF" : "FF ZZZZZ");
|
|
3275
|
+
}
|
|
3276
|
+
function formatArcadeResultDateOnly(dateObject) {
|
|
3277
|
+
return dateObject.value.toString();
|
|
3278
|
+
}
|
|
3279
|
+
function formatArcadeResultTimeOnly(dateObject) {
|
|
3280
|
+
return dateObject.value.toString();
|
|
3276
3281
|
}
|
|
3277
3282
|
function fieldValueToArcadeResult(field, value) {
|
|
3278
|
-
if (
|
|
3283
|
+
if (field.type === "date" && typeof value === "number") {
|
|
3279
3284
|
value = new Date(value);
|
|
3280
3285
|
}
|
|
3281
3286
|
return valueToArcadeResult(value);
|
|
@@ -3314,9 +3319,10 @@ async function executeScript(editorProfile, script, testContext, console) {
|
|
|
3314
3319
|
// We want to measure the execution time
|
|
3315
3320
|
const t1 = performance.now();
|
|
3316
3321
|
// Manufacture our execution context
|
|
3317
|
-
const { profileVariableInstances, spatialReference } = testContext;
|
|
3322
|
+
const { profileVariableInstances, spatialReference, timeReference } = testContext;
|
|
3318
3323
|
const executeContext = {
|
|
3319
3324
|
spatialReference,
|
|
3325
|
+
timeReference,
|
|
3320
3326
|
rawOutput: true,
|
|
3321
3327
|
console
|
|
3322
3328
|
};
|
|
@@ -3882,6 +3888,8 @@ const ArcgisArcadeResults = class {
|
|
|
3882
3888
|
case "text":
|
|
3883
3889
|
case "number":
|
|
3884
3890
|
case "date":
|
|
3891
|
+
case "dateOnly":
|
|
3892
|
+
case "time":
|
|
3885
3893
|
case "boolean":
|
|
3886
3894
|
return (h("div", { class: "result-value-simple ltr-container" }, h("span", { class: "value-type" }, this.result.type, ":\u00A0"), this.renderSimpleValue(this.result)));
|
|
3887
3895
|
case "array": {
|
|
@@ -3919,6 +3927,10 @@ const ArcgisArcadeResults = class {
|
|
|
3919
3927
|
return h("span", { class: "constant-value" }, arcadeResult.value.toString());
|
|
3920
3928
|
case "date":
|
|
3921
3929
|
return h("span", { class: "date-value" }, formatArcadeResultDate(arcadeResult));
|
|
3930
|
+
case "dateOnly":
|
|
3931
|
+
return h("span", { class: "string-value" }, quoteString(formatArcadeResultDateOnly(arcadeResult)));
|
|
3932
|
+
case "time":
|
|
3933
|
+
return h("span", { class: "string-value" }, quoteString(formatArcadeResultTimeOnly(arcadeResult)));
|
|
3922
3934
|
default:
|
|
3923
3935
|
return null;
|
|
3924
3936
|
}
|
|
@@ -3956,6 +3968,8 @@ const ArcgisArcadeResults = class {
|
|
|
3956
3968
|
case "text":
|
|
3957
3969
|
case "number":
|
|
3958
3970
|
case "date":
|
|
3971
|
+
case "dateOnly":
|
|
3972
|
+
case "time":
|
|
3959
3973
|
case "boolean":
|
|
3960
3974
|
return (h("calcite-tree-item", null, h("div", { class: "tree-item-label" }, this.renderDictionaryProperty(key), this.renderSimpleValue(arcadeResult))));
|
|
3961
3975
|
case "array": {
|
|
@@ -4394,13 +4408,20 @@ const ArcgisCodeEditor = class {
|
|
|
4394
4408
|
componentDidLoad() {
|
|
4395
4409
|
// Create and attach and instance of Monaco Editor to the inner element
|
|
4396
4410
|
editor.getModel(this.getUri())?.dispose();
|
|
4397
|
-
|
|
4411
|
+
// Create the model without the value.
|
|
4412
|
+
// Since it's not yet attached to the editor the diagnostic service will not process it.
|
|
4413
|
+
// We will set the value after the editor has been created to trigger the diagnostic again.
|
|
4414
|
+
const model = editor.createModel("", this.language, this.getUri());
|
|
4415
|
+
// Create the editor for the host element.
|
|
4416
|
+
// This will not trigger a diagnostic.
|
|
4398
4417
|
this._editorInstance = editor.create(this._hostElt, {
|
|
4399
4418
|
model,
|
|
4400
4419
|
fixedOverflowWidgets: true,
|
|
4401
4420
|
scrollBeyondLastLine: false
|
|
4402
4421
|
});
|
|
4403
4422
|
this._disposables.push(this._editorInstance);
|
|
4423
|
+
// Set the value now to trigger a diagnostic again
|
|
4424
|
+
model.setValue(this.value ?? "");
|
|
4404
4425
|
// Now we can set are component as ready
|
|
4405
4426
|
this._componentReadyDefer.resolve();
|
|
4406
4427
|
this._editorInstance.updateOptions(EditorOptionsDefaults);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { v as monaco_editor_core_star } from './arcade-defaults-e4176a6a.js';
|
|
2
2
|
import './index-d4ec142a.js';
|
|
3
3
|
|
|
4
4
|
/*!-----------------------------------------------------------------------------
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { v as monaco_editor_core_star } from './arcade-defaults-e4176a6a.js';
|
|
2
2
|
import './index-d4ec142a.js';
|
|
3
3
|
|
|
4
4
|
/*!-----------------------------------------------------------------------------
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { v as monaco_editor_core_star } from './arcade-defaults-e4176a6a.js';
|
|
2
2
|
import './index-d4ec142a.js';
|
|
3
3
|
|
|
4
4
|
/*!-----------------------------------------------------------------------------
|
package/dist/esm/index.js
CHANGED
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export { a as arcade } from './arcade-defaults-e4176a6a.js';
|
|
2
2
|
import './index-d4ec142a.js';
|
|
3
|
-
|
|
4
|
-
const arcade = {
|
|
5
|
-
setProfileForModel: arcadeDefaults.setProfileForModel.bind(arcadeDefaults)
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export { arcade };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { conf as conf$1, language as language$1 } from './typescript-
|
|
2
|
-
import './arcade-defaults-
|
|
1
|
+
import { conf as conf$1, language as language$1 } from './typescript-34fa1e83.js';
|
|
2
|
+
import './arcade-defaults-e4176a6a.js';
|
|
3
3
|
import './index-d4ec142a.js';
|
|
4
4
|
|
|
5
5
|
/*!-----------------------------------------------------------------------------
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { v as monaco_editor_core_star } from './arcade-defaults-e4176a6a.js';
|
|
2
2
|
import './index-d4ec142a.js';
|
|
3
3
|
|
|
4
4
|
/*!-----------------------------------------------------------------------------
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { w as typescriptDefaults, v as monaco_editor_core_star } from './arcade-defaults-e4176a6a.js';
|
|
2
2
|
import './index-d4ec142a.js';
|
|
3
3
|
|
|
4
4
|
/*!-----------------------------------------------------------------------------
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { v as monaco_editor_core_star } from './arcade-defaults-e4176a6a.js';
|
|
2
2
|
import './index-d4ec142a.js';
|
|
3
3
|
|
|
4
4
|
/*!-----------------------------------------------------------------------------
|
package/dist/types/index.d.ts
CHANGED
|
@@ -17,11 +17,18 @@ export interface IEditorTestContext {
|
|
|
17
17
|
profileVariableInstances: ProfileVariableInstances;
|
|
18
18
|
/**
|
|
19
19
|
* Spatial reference object used to define the spatial reference for the arcade runtime.
|
|
20
|
-
*
|
|
20
|
+
* By defaults, the spatial reference is set to Web Mercator (wkid: 3857).
|
|
21
21
|
*/
|
|
22
22
|
spatialReference?: __esri.SpatialReference | {
|
|
23
23
|
wkid: number;
|
|
24
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* Defines the default time reference in which to create and display Arcade date types.
|
|
27
|
+
* By default, the time zone is set to "system".
|
|
28
|
+
*/
|
|
29
|
+
timeReference?: {
|
|
30
|
+
timeZone: string;
|
|
31
|
+
};
|
|
25
32
|
}
|
|
26
33
|
/**
|
|
27
34
|
* @deprecated Use IEditorTestContext instead.
|
|
@@ -50,8 +57,23 @@ export interface IArcadeRuntimeFeatureSetIterator {
|
|
|
50
57
|
export interface IArcadeRuntimeDate {
|
|
51
58
|
declaredRootClass: string;
|
|
52
59
|
toDateTime(): any;
|
|
60
|
+
isUnknownTimeZone: boolean;
|
|
61
|
+
}
|
|
62
|
+
export interface IArcadeRuntimeDateOnly {
|
|
63
|
+
declaredRootClass: string;
|
|
64
|
+
/**
|
|
65
|
+
* To ISO Date format
|
|
66
|
+
*/
|
|
67
|
+
toString(): string;
|
|
53
68
|
}
|
|
54
|
-
export
|
|
69
|
+
export interface IArcadeRuntimeTimeOnly {
|
|
70
|
+
declaredRootClass: string;
|
|
71
|
+
/**
|
|
72
|
+
* To ISO Time format
|
|
73
|
+
*/
|
|
74
|
+
toString(): string;
|
|
75
|
+
}
|
|
76
|
+
export type ResultType = "unknown" | "error" | "null" | "array" | "date" | "dateOnly" | "time" | "text" | "number" | "boolean" | "dictionary" | "geometry" | "attachment" | "feature" | "featureSet" | "portal";
|
|
55
77
|
interface IArcadeResultBase {
|
|
56
78
|
type: ResultType;
|
|
57
79
|
simpleType: boolean;
|
|
@@ -79,6 +101,14 @@ export interface IArcadeResultDate extends IArcadeResultBase {
|
|
|
79
101
|
type: "date";
|
|
80
102
|
value: IArcadeRuntimeDate | Date;
|
|
81
103
|
}
|
|
104
|
+
export interface IArcadeResultDateOnly extends IArcadeResultBase {
|
|
105
|
+
type: "dateOnly";
|
|
106
|
+
value: IArcadeRuntimeDateOnly;
|
|
107
|
+
}
|
|
108
|
+
export interface IArcadeResultTimeOnly extends IArcadeResultBase {
|
|
109
|
+
type: "time";
|
|
110
|
+
value: IArcadeRuntimeTimeOnly;
|
|
111
|
+
}
|
|
82
112
|
export interface IArcadeResultString extends IArcadeResultBase {
|
|
83
113
|
type: "text";
|
|
84
114
|
value: string;
|
|
@@ -117,9 +147,11 @@ export interface IArcadeResultAttachment extends IArcadeResultBase {
|
|
|
117
147
|
type: "attachment";
|
|
118
148
|
value: IArcadeRuntimeDictionary;
|
|
119
149
|
}
|
|
120
|
-
export type ArcadeResult = IArcadeResultError | IArcadeResultUnknown | IArcadeResultNull | IArcadeResultNumber | IArcadeResultBoolean | IArcadeResultString | IArcadeResultDate | IArcadeResultArray | IArcadeResultDictionary | IArcadeResultGeometry | IArcadeResultAttachment | IArcadeResultFeature | IArcadeResultFeatureSet | IArcadeResultPortal;
|
|
150
|
+
export type ArcadeResult = IArcadeResultError | IArcadeResultUnknown | IArcadeResultNull | IArcadeResultNumber | IArcadeResultBoolean | IArcadeResultString | IArcadeResultDate | IArcadeResultDateOnly | IArcadeResultTimeOnly | IArcadeResultArray | IArcadeResultDictionary | IArcadeResultGeometry | IArcadeResultAttachment | IArcadeResultFeature | IArcadeResultFeatureSet | IArcadeResultPortal;
|
|
121
151
|
export declare function valueToArcadeResult(value: unknown): ArcadeResult;
|
|
122
152
|
export declare function formatArcadeResultDate(dateObject: IArcadeResultDate, lang?: string): string;
|
|
153
|
+
export declare function formatArcadeResultDateOnly(dateObject: IArcadeResultDateOnly): string;
|
|
154
|
+
export declare function formatArcadeResultTimeOnly(dateObject: IArcadeResultTimeOnly): string;
|
|
123
155
|
export declare function fieldValueToArcadeResult(field: __esri.Field, value: unknown): ArcadeResult;
|
|
124
156
|
export declare function executeScript(editorProfile: IEditorProfileDefinition | undefined, script: string | undefined, testContext: IEditorTestContext, console?: (log: string) => void): Promise<ArcadeResult>;
|
|
125
157
|
export {};
|
|
@@ -68,4 +68,10 @@ declare class ArcadeLanguageServiceDefaults implements IArcadeLanguageServiceDef
|
|
|
68
68
|
setLanguageOptions(languageOptions?: ArcadeLanguageServiceSettings): void;
|
|
69
69
|
}
|
|
70
70
|
export declare const arcadeDefaults: ArcadeLanguageServiceDefaults;
|
|
71
|
+
export declare const arcade: {
|
|
72
|
+
setProfileForModel(modelId: string | Uri, definition: IEditorProfileDefinition | IPredefinedProfile | undefined, apiContext?: {
|
|
73
|
+
locale: string;
|
|
74
|
+
snippets?: ApiSnippet[];
|
|
75
|
+
}): Promise<void>;
|
|
76
|
+
};
|
|
71
77
|
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ApiValueVariableType } from "@arcgis/arcade-languageservice";
|
|
2
|
+
/**
|
|
3
|
+
* Returns an icon name for the field type
|
|
4
|
+
*/
|
|
5
|
+
export declare function fieldTypeToIconName(field: __esri.Field): string;
|
|
6
|
+
/**
|
|
7
|
+
* Returns the Arcade type for the given field.
|
|
8
|
+
*/
|
|
9
|
+
export declare function fieldTypeToArcadeType(field: __esri.Field): ApiValueVariableType;
|
|
10
|
+
export declare function supportedFields(fields: __esri.Field[] | null | undefined): __esri.Field[];
|
|
@@ -40,7 +40,7 @@ export type ProfileVariableType = ApiVariableType;
|
|
|
40
40
|
/**
|
|
41
41
|
* The type of value variables supported.
|
|
42
42
|
*/
|
|
43
|
-
export type ProfileVariableValueType = "number" | "text" | "date" | "boolean" | "geometry";
|
|
43
|
+
export type ProfileVariableValueType = "number" | "text" | "date" | "boolean" | "geometry" | "dateOnly" | "time";
|
|
44
44
|
/**
|
|
45
45
|
* The supported profile variable types.
|
|
46
46
|
*/
|
|
@@ -62,7 +62,7 @@ export interface IProfileVariableBase {
|
|
|
62
62
|
* Single value profile variable declaration.
|
|
63
63
|
*/
|
|
64
64
|
export interface IProfileValue extends IProfileVariableBase {
|
|
65
|
-
readonly type: "number" | "text" | "date" | "boolean" | "geometry";
|
|
65
|
+
readonly type: "number" | "text" | "date" | "boolean" | "geometry" | "dateOnly" | "time";
|
|
66
66
|
}
|
|
67
67
|
/**
|
|
68
68
|
* Dictionary profile variable declaration. Properties of a dictionary are profile variables.
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { ApiValueVariableType } from "@arcgis/arcade-languageservice";
|
|
2
1
|
type KeysOfType<T, U> = {
|
|
3
2
|
[P in keyof T]: T[P] extends U ? P : never;
|
|
4
3
|
}[keyof T];
|
|
@@ -10,9 +9,4 @@ export declare function filterCollection<T, U extends KeysOfType<T, string | und
|
|
|
10
9
|
* Returns the url to the portal item.
|
|
11
10
|
*/
|
|
12
11
|
export declare function portalItemPageUrl(portalItem: __esri.PortalItem | null | undefined): string;
|
|
13
|
-
/**
|
|
14
|
-
* Returns the Arcade type for the given field.
|
|
15
|
-
*/
|
|
16
|
-
export declare function fieldTypeToArcadeType(field: __esri.Field): ApiValueVariableType;
|
|
17
|
-
export declare function supportedFields(fields: __esri.Field[] | null | undefined): __esri.Field[];
|
|
18
12
|
export {};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcgis/coding-components",
|
|
3
3
|
"description": "Contains components for editing code in different languages. The currently supported languages are html, css, json, TypeScript, JavaScript, and Arcade.",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "4.28.0-beta.0",
|
|
5
5
|
"module": "dist/components/index.js",
|
|
6
6
|
"main": "dist/index.cjs.js",
|
|
7
7
|
"types": "dist/types/index.d.ts",
|
|
@@ -50,17 +50,17 @@
|
|
|
50
50
|
"prettier": "prettier . --write"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@arcgis/arcade-languageservice": "
|
|
54
|
-
"@
|
|
55
|
-
"@esri/calcite-components": "^1.3.0",
|
|
53
|
+
"@arcgis/arcade-languageservice": "4.28.0-beta.0",
|
|
54
|
+
"@esri/calcite-components": "^1.8.0",
|
|
56
55
|
"@stencil/core": "2.22.3",
|
|
57
56
|
"monaco-editor": "^0.39.0",
|
|
58
57
|
"vscode-languageserver-types": "^3.17.3"
|
|
59
58
|
},
|
|
60
59
|
"devDependencies": {
|
|
61
|
-
"@arcgis/components-plugins": "
|
|
60
|
+
"@arcgis/components-plugins": "4.28.0-beta.0",
|
|
61
|
+
"@arcgis/components-utils": "4.28.0-beta.0",
|
|
62
62
|
"@arcgis/core": ">=4.28.0-next <4.29",
|
|
63
|
-
"@arcgis/core-adapter": "
|
|
63
|
+
"@arcgis/core-adapter": "4.28.0-beta.0",
|
|
64
64
|
"@arcgis/eslint-config": "1.0.0",
|
|
65
65
|
"@arcgis/typescript-config": "1.0.0",
|
|
66
66
|
"@stencil/sass": "^2.0.4",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"@types/sass": "^1.45.0",
|
|
81
81
|
"@vitejs/plugin-react": "^4.0.1",
|
|
82
82
|
"esbuild": "^0.19.2",
|
|
83
|
-
"eslint": "^8.
|
|
83
|
+
"eslint": "^8.49.0",
|
|
84
84
|
"estraverse": "^5.3.0",
|
|
85
85
|
"fs-extra": "^11.1.1",
|
|
86
86
|
"jest": "^29.5.0",
|
|
@@ -112,5 +112,5 @@
|
|
|
112
112
|
"peerDependencies": {
|
|
113
113
|
"@arcgis/core": ">=4.28.0-next <4.29"
|
|
114
114
|
},
|
|
115
|
-
"gitHead": "
|
|
115
|
+
"gitHead": "448ecffaad71712dd1561b20454b77146625faa8"
|
|
116
116
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as n,M as t,v as e,R as r,w as i,l as o,C as u,E as c}from"./p-2eee5b07.js";import"./p-0fa0a06d.js";var a,s,f,d,l,v,g,p,h,m,b,x,w,k,y,I,E,S,A,O,j,N,U,C,T,F,L,D,P,_=((a=_||{}).False="false",a.Null="null",a.True="true",a),R=(n=>(n.Break="break",n.Continue="continue",n.Else="else",n.For="for",n.From="from",n.Function="function",n.If="if",n.Import="import",n.Export="export",n.In="in",n.Return="return",n.Var="var",n.While="while",n))(R||{}),$=(n=>(n.AssignmentExpression="AssignmentExpression",n.ArrayExpression="ArrayExpression",n.BlockComment="BlockComment",n.BlockStatement="BlockStatement",n.BinaryExpression="BinaryExpression",n.BreakStatement="BreakStatement",n.CallExpression="CallExpression",n.ContinueStatement="ContinueStatement",n.EmptyStatement="EmptyStatement",n.ExpressionStatement="ExpressionStatement",n.ExportNamedDeclaration="ExportNamedDeclaration",n.ExportSpecifier="ExportSpecifier",n.ForStatement="ForStatement",n.ForInStatement="ForInStatement",n.FunctionDeclaration="FunctionDeclaration",n.Identifier="Identifier",n.IfStatement="IfStatement",n.ImportDeclaration="ImportDeclaration",n.ImportDefaultSpecifier="ImportDefaultSpecifier",n.LineComment="LineComment",n.Literal="Literal",n.LogicalExpression="LogicalExpression",n.MemberExpression="MemberExpression",n.ObjectExpression="ObjectExpression",n.Program="Program",n.Property="Property",n.ReturnStatement="ReturnStatement",n.TemplateElement="TemplateElement",n.TemplateLiteral="TemplateLiteral",n.UnaryExpression="UnaryExpression",n.UpdateExpression="UpdateExpression",n.VariableDeclaration="VariableDeclaration",n.VariableDeclarator="VariableDeclarator",n.WhileStatement="WhileStatement",n))($||{}),M=(n=>(n[n.Unknown=0]="Unknown",n[n.BooleanLiteral=1]="BooleanLiteral",n[n.EOF=2]="EOF",n[n.Identifier=3]="Identifier",n[n.Keyword=4]="Keyword",n[n.NullLiteral=5]="NullLiteral",n[n.NumericLiteral=6]="NumericLiteral",n[n.Punctuator=7]="Punctuator",n[n.StringLiteral=8]="StringLiteral",n[n.Template=10]="Template",n))(M||{}),B=(n=>(n.InvalidModuleUri="InvalidModuleUri",n.ForInOfLoopInitializer="ForInOfLoopInitializer",n.IdentiferExpected="IdentiferExpected",n.InvalidEscapedReservedWord="InvalidEscapedReservedWord",n.InvalidExpression="InvalidExpression",n.InvalidFunctionIdentifier="InvalidFunctionIdentifier",n.InvalidHexEscapeSequence="InvalidHexEscapeSequence",n.InvalidLeftHandSideInAssignment="InvalidLeftHandSideInAssignment",n.InvalidLeftHandSideInForIn="InvalidLeftHandSideInForIn",n.InvalidTemplateHead="InvalidTemplateHead",n.InvalidVariableAssignment="InvalidVariableAssignment",n.KeyMustBeString="KeyMustBeString",n.NoFunctionInsideBlock="NoFunctionInsideBlock",n.NoFunctionInsideFunction="NoFunctionInsideFunction",n.ModuleExportRootOnly="ModuleExportRootOnly",n.ModuleImportRootOnly="ModuleImportRootOnly",n.PunctuatorExpected="PunctuatorExpected",n.TemplateOctalLiteral="TemplateOctalLiteral",n.UnexpectedBoolean="UnexpectedBoolean",n.UnexpectedEndOfScript="UnexpectedEndOfScript",n.UnexpectedIdentifier="UnexpectedIdentifier",n.UnexpectedKeyword="UnexpectedKeyword",n.UnexpectedNull="UnexpectedNull",n.UnexpectedNumber="UnexpectedNumber",n.UnexpectedPunctuator="UnexpectedPunctuator",n.UnexpectedString="UnexpectedString",n.UnexpectedTemplate="UnexpectedTemplate",n.UnexpectedToken="UnexpectedToken",n))(B||{}),W=[[],[],[]];["++","--"].forEach((n=>W[n.length-1].push(n))),["-","+","!","~"].forEach((n=>W[n.length-1].push(n))),["||","&&"].forEach((n=>W[n.length-1].push(n))),["=","/=","*=","%=","+=","-="].forEach((n=>W[n.length-1].push(n))),["|","&",">>","<<",">>>","^","==","!=","<","<=",">",">=","+","-","*","/","%"].forEach((n=>W[n.length-1].push(n))),(s||(s={})).is=function(n){return"string"==typeof n},(f||(f={})).is=function(n){return"string"==typeof n},function(n){n.MIN_VALUE=-2147483648,n.MAX_VALUE=2147483647,n.is=function(t){return"number"==typeof t&&n.MIN_VALUE<=t&&t<=n.MAX_VALUE}}(d||(d={})),function(n){n.MIN_VALUE=0,n.MAX_VALUE=2147483647,n.is=function(t){return"number"==typeof t&&n.MIN_VALUE<=t&&t<=n.MAX_VALUE}}(l||(l={})),function(n){n.create=function(n,t){return n===Number.MAX_VALUE&&(n=l.MAX_VALUE),t===Number.MAX_VALUE&&(t=l.MAX_VALUE),{line:n,character:t}},n.is=function(n){var t=n;return _n.objectLiteral(t)&&_n.uinteger(t.line)&&_n.uinteger(t.character)}}(v||(v={})),function(n){n.create=function(n,t,e,r){if(_n.uinteger(n)&&_n.uinteger(t)&&_n.uinteger(e)&&_n.uinteger(r))return{start:v.create(n,t),end:v.create(e,r)};if(v.is(n)&&v.is(t))return{start:n,end:t};throw new Error("Range#create called with invalid arguments[".concat(n,", ").concat(t,", ").concat(e,", ").concat(r,"]"))},n.is=function(n){var t=n;return _n.objectLiteral(t)&&v.is(t.start)&&v.is(t.end)}}(g||(g={})),function(n){n.create=function(n,t){return{uri:n,range:t}},n.is=function(n){var t=n;return _n.objectLiteral(t)&&g.is(t.range)&&(_n.string(t.uri)||_n.undefined(t.uri))}}(p||(p={})),function(n){n.create=function(n,t,e,r){return{targetUri:n,targetRange:t,targetSelectionRange:e,originSelectionRange:r}},n.is=function(n){var t=n;return _n.objectLiteral(t)&&g.is(t.targetRange)&&_n.string(t.targetUri)&&g.is(t.targetSelectionRange)&&(g.is(t.originSelectionRange)||_n.undefined(t.originSelectionRange))}}(h||(h={})),function(n){n.create=function(n,t,e,r){return{red:n,green:t,blue:e,alpha:r}},n.is=function(n){var t=n;return _n.objectLiteral(t)&&_n.numberRange(t.red,0,1)&&_n.numberRange(t.green,0,1)&&_n.numberRange(t.blue,0,1)&&_n.numberRange(t.alpha,0,1)}}(m||(m={})),function(n){n.create=function(n,t){return{range:n,color:t}},n.is=function(n){var t=n;return _n.objectLiteral(t)&&g.is(t.range)&&m.is(t.color)}}(b||(b={})),function(n){n.create=function(n,t,e){return{label:n,textEdit:t,additionalTextEdits:e}},n.is=function(n){var t=n;return _n.objectLiteral(t)&&_n.string(t.label)&&(_n.undefined(t.textEdit)||j.is(t))&&(_n.undefined(t.additionalTextEdits)||_n.typedArray(t.additionalTextEdits,j.is))}}(x||(x={})),function(n){n.Comment="comment",n.Imports="imports",n.Region="region"}(w||(w={})),function(n){n.create=function(n,t,e,r,i,o){var u={startLine:n,endLine:t};return _n.defined(e)&&(u.startCharacter=e),_n.defined(r)&&(u.endCharacter=r),_n.defined(i)&&(u.kind=i),_n.defined(o)&&(u.collapsedText=o),u},n.is=function(n){var t=n;return _n.objectLiteral(t)&&_n.uinteger(t.startLine)&&_n.uinteger(t.startLine)&&(_n.undefined(t.startCharacter)||_n.uinteger(t.startCharacter))&&(_n.undefined(t.endCharacter)||_n.uinteger(t.endCharacter))&&(_n.undefined(t.kind)||_n.string(t.kind))}}(k||(k={})),function(n){n.create=function(n,t){return{location:n,message:t}},n.is=function(n){var t=n;return _n.defined(t)&&p.is(t.location)&&_n.string(t.message)}}(y||(y={})),function(n){n.Error=1,n.Warning=2,n.Information=3,n.Hint=4}(I||(I={})),function(n){n.Unnecessary=1,n.Deprecated=2}(E||(E={})),(S||(S={})).is=function(n){var t=n;return _n.objectLiteral(t)&&_n.string(t.href)},function(n){n.create=function(n,t,e,r,i,o){var u={range:n,message:t};return _n.defined(e)&&(u.severity=e),_n.defined(r)&&(u.code=r),_n.defined(i)&&(u.source=i),_n.defined(o)&&(u.relatedInformation=o),u},n.is=function(n){var t,e=n;return _n.defined(e)&&g.is(e.range)&&_n.string(e.message)&&(_n.number(e.severity)||_n.undefined(e.severity))&&(_n.integer(e.code)||_n.string(e.code)||_n.undefined(e.code))&&(_n.undefined(e.codeDescription)||_n.string(null===(t=e.codeDescription)||void 0===t?void 0:t.href))&&(_n.string(e.source)||_n.undefined(e.source))&&(_n.undefined(e.relatedInformation)||_n.typedArray(e.relatedInformation,y.is))}}(A||(A={})),function(n){n.create=function(n,t){for(var e=[],r=2;r<arguments.length;r++)e[r-2]=arguments[r];var i={title:n,command:t};return _n.defined(e)&&e.length>0&&(i.arguments=e),i},n.is=function(n){var t=n;return _n.defined(t)&&_n.string(t.title)&&_n.string(t.command)}}(O||(O={})),function(n){n.replace=function(n,t){return{range:n,newText:t}},n.insert=function(n,t){return{range:{start:n,end:n},newText:t}},n.del=function(n){return{range:n,newText:""}},n.is=function(n){var t=n;return _n.objectLiteral(t)&&_n.string(t.newText)&&g.is(t.range)}}(j||(j={})),function(n){n.create=function(n,t,e){var r={label:n};return void 0!==t&&(r.needsConfirmation=t),void 0!==e&&(r.description=e),r},n.is=function(n){var t=n;return _n.objectLiteral(t)&&_n.string(t.label)&&(_n.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(_n.string(t.description)||void 0===t.description)}}(N||(N={})),(U||(U={})).is=function(n){return _n.string(n)},function(n){n.replace=function(n,t,e){return{range:n,newText:t,annotationId:e}},n.insert=function(n,t,e){return{range:{start:n,end:n},newText:t,annotationId:e}},n.del=function(n,t){return{range:n,newText:"",annotationId:t}},n.is=function(n){var t=n;return j.is(t)&&(N.is(t.annotationId)||U.is(t.annotationId))}}(C||(C={})),function(n){n.create=function(n,t){return{textDocument:n,edits:t}},n.is=function(n){var t=n;return _n.defined(t)&&H.is(t.textDocument)&&Array.isArray(t.edits)}}(T||(T={})),function(n){n.create=function(n,t,e){var r={kind:"create",uri:n};return void 0!==t&&(void 0!==t.overwrite||void 0!==t.ignoreIfExists)&&(r.options=t),void 0!==e&&(r.annotationId=e),r},n.is=function(n){var t=n;return t&&"create"===t.kind&&_n.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||_n.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||_n.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||U.is(t.annotationId))}}(F||(F={})),function(n){n.create=function(n,t,e,r){var i={kind:"rename",oldUri:n,newUri:t};return void 0!==e&&(void 0!==e.overwrite||void 0!==e.ignoreIfExists)&&(i.options=e),void 0!==r&&(i.annotationId=r),i},n.is=function(n){var t=n;return t&&"rename"===t.kind&&_n.string(t.oldUri)&&_n.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||_n.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||_n.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||U.is(t.annotationId))}}(L||(L={})),function(n){n.create=function(n,t,e){var r={kind:"delete",uri:n};return void 0!==t&&(void 0!==t.recursive||void 0!==t.ignoreIfNotExists)&&(r.options=t),void 0!==e&&(r.annotationId=e),r},n.is=function(n){var t=n;return t&&"delete"===t.kind&&_n.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||_n.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||_n.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||U.is(t.annotationId))}}(D||(D={})),(P||(P={})).is=function(n){return n&&(void 0!==n.changes||void 0!==n.documentChanges)&&(void 0===n.documentChanges||n.documentChanges.every((function(n){return _n.string(n.kind)?F.is(n)||L.is(n)||D.is(n):T.is(n)})))};var z,V,H,K,q,X,Z,G,J,Q,Y,nn,tn,en,rn,on,un,cn,an,sn,fn,dn,ln,vn,gn,pn,hn,mn,bn,xn,wn,kn,yn,In,En,Sn,An,On,jn,Nn,Un,Cn,Tn,Fn,Ln,Dn=function(){function n(n,t){this.edits=n,this.changeAnnotations=t}return n.prototype.insert=function(n,t,e){var r,i;if(void 0===e?r=j.insert(n,t):U.is(e)?(i=e,r=C.insert(n,t,e)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(e),r=C.insert(n,t,i)),this.edits.push(r),void 0!==i)return i},n.prototype.replace=function(n,t,e){var r,i;if(void 0===e?r=j.replace(n,t):U.is(e)?(i=e,r=C.replace(n,t,e)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(e),r=C.replace(n,t,i)),this.edits.push(r),void 0!==i)return i},n.prototype.delete=function(n,t){var e,r;if(void 0===t?e=j.del(n):U.is(t)?(r=t,e=C.del(n,t)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(t),e=C.del(n,r)),this.edits.push(e),void 0!==r)return r},n.prototype.add=function(n){this.edits.push(n)},n.prototype.all=function(){return this.edits},n.prototype.clear=function(){this.edits.splice(0,this.edits.length)},n.prototype.assertChangeAnnotations=function(n){if(void 0===n)throw new Error("Text edit change is not configured to manage change annotations.")},n}(),Pn=function(){function n(n){this._annotations=void 0===n?Object.create(null):n,this._counter=0,this._size=0}return n.prototype.all=function(){return this._annotations},Object.defineProperty(n.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),n.prototype.manage=function(n,t){var e;if(U.is(n)?e=n:(e=this.nextId(),t=n),void 0!==this._annotations[e])throw new Error("Id ".concat(e," is already in use."));if(void 0===t)throw new Error("No annotation provided for id ".concat(e));return this._annotations[e]=t,this._size++,e},n.prototype.nextId=function(){return this._counter++,this._counter.toString()},n}();!function(){function n(n){var t=this;this._textEditChanges=Object.create(null),void 0!==n?(this._workspaceEdit=n,n.documentChanges?(this._changeAnnotations=new Pn(n.changeAnnotations),n.changeAnnotations=this._changeAnnotations.all(),n.documentChanges.forEach((function(n){if(T.is(n)){var e=new Dn(n.edits,t._changeAnnotations);t._textEditChanges[n.textDocument.uri]=e}}))):n.changes&&Object.keys(n.changes).forEach((function(e){var r=new Dn(n.changes[e]);t._textEditChanges[e]=r}))):this._workspaceEdit={}}Object.defineProperty(n.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(this._workspaceEdit.changeAnnotations=0===this._changeAnnotations.size?void 0:this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),n.prototype.getTextEditChange=function(n){if(H.is(n)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:n.uri,version:n.version};return(e=this._textEditChanges[t.uri])||(this._workspaceEdit.documentChanges.push({textDocument:t,edits:r=[]}),e=new Dn(r,this._changeAnnotations),this._textEditChanges[t.uri]=e),e}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var e,r;return(e=this._textEditChanges[n])||(this._workspaceEdit.changes[n]=r=[],e=new Dn(r),this._textEditChanges[n]=e),e},n.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new Pn,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},n.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},n.prototype.createFile=function(n,t,e){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(N.is(t)||U.is(t)?r=t:e=t,void 0===r?i=F.create(n,e):(o=U.is(r)?r:this._changeAnnotations.manage(r),i=F.create(n,e,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},n.prototype.renameFile=function(n,t,e,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,u;if(N.is(e)||U.is(e)?i=e:r=e,void 0===i?o=L.create(n,t,r):(u=U.is(i)?i:this._changeAnnotations.manage(i),o=L.create(n,t,r,u)),this._workspaceEdit.documentChanges.push(o),void 0!==u)return u},n.prototype.deleteFile=function(n,t,e){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(N.is(t)||U.is(t)?r=t:e=t,void 0===r?i=D.create(n,e):(o=U.is(r)?r:this._changeAnnotations.manage(r),i=D.create(n,e,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o}}(),function(n){n.create=function(n){return{uri:n}},n.is=function(n){var t=n;return _n.defined(t)&&_n.string(t.uri)}}(z||(z={})),function(n){n.create=function(n,t){return{uri:n,version:t}},n.is=function(n){var t=n;return _n.defined(t)&&_n.string(t.uri)&&_n.integer(t.version)}}(V||(V={})),function(n){n.create=function(n,t){return{uri:n,version:t}},n.is=function(n){var t=n;return _n.defined(t)&&_n.string(t.uri)&&(null===t.version||_n.integer(t.version))}}(H||(H={})),function(n){n.create=function(n,t,e,r){return{uri:n,languageId:t,version:e,text:r}},n.is=function(n){var t=n;return _n.defined(t)&&_n.string(t.uri)&&_n.string(t.languageId)&&_n.integer(t.version)&&_n.string(t.text)}}(K||(K={})),function(n){n.PlainText="plaintext",n.Markdown="markdown",n.is=function(t){return t===n.PlainText||t===n.Markdown}}(q||(q={})),(X||(X={})).is=function(n){var t=n;return _n.objectLiteral(n)&&q.is(t.kind)&&_n.string(t.value)},function(n){n.Text=1,n.Method=2,n.Function=3,n.Constructor=4,n.Field=5,n.Variable=6,n.Class=7,n.Interface=8,n.Module=9,n.Property=10,n.Unit=11,n.Value=12,n.Enum=13,n.Keyword=14,n.Snippet=15,n.Color=16,n.File=17,n.Reference=18,n.Folder=19,n.EnumMember=20,n.Constant=21,n.Struct=22,n.Event=23,n.Operator=24,n.TypeParameter=25}(Z||(Z={})),function(n){n.PlainText=1,n.Snippet=2}(G||(G={})),(J||(J={})).Deprecated=1,function(n){n.create=function(n,t,e){return{newText:n,insert:t,replace:e}},n.is=function(n){var t=n;return t&&_n.string(t.newText)&&g.is(t.insert)&&g.is(t.replace)}}(Q||(Q={})),function(n){n.asIs=1,n.adjustIndentation=2}(Y||(Y={})),(nn||(nn={})).is=function(n){var t=n;return t&&(_n.string(t.detail)||void 0===t.detail)&&(_n.string(t.description)||void 0===t.description)},(tn||(tn={})).create=function(n){return{label:n}},(en||(en={})).create=function(n,t){return{items:n||[],isIncomplete:!!t}},function(n){n.fromPlainText=function(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},n.is=function(n){var t=n;return _n.string(t)||_n.objectLiteral(t)&&_n.string(t.language)&&_n.string(t.value)}}(rn||(rn={})),(on||(on={})).is=function(n){var t=n;return!!t&&_n.objectLiteral(t)&&(X.is(t.contents)||rn.is(t.contents)||_n.typedArray(t.contents,rn.is))&&(void 0===n.range||g.is(n.range))},(un||(un={})).create=function(n,t){return t?{label:n,documentation:t}:{label:n}},(cn||(cn={})).create=function(n,t){for(var e=[],r=2;r<arguments.length;r++)e[r-2]=arguments[r];var i={label:n};return _n.defined(t)&&(i.documentation=t),i.parameters=_n.defined(e)?e:[],i},function(n){n.Text=1,n.Read=2,n.Write=3}(an||(an={})),(sn||(sn={})).create=function(n,t){var e={range:n};return _n.number(t)&&(e.kind=t),e},function(n){n.File=1,n.Module=2,n.Namespace=3,n.Package=4,n.Class=5,n.Method=6,n.Property=7,n.Field=8,n.Constructor=9,n.Enum=10,n.Interface=11,n.Function=12,n.Variable=13,n.Constant=14,n.String=15,n.Number=16,n.Boolean=17,n.Array=18,n.Object=19,n.Key=20,n.Null=21,n.EnumMember=22,n.Struct=23,n.Event=24,n.Operator=25,n.TypeParameter=26}(fn||(fn={})),(dn||(dn={})).Deprecated=1,(ln||(ln={})).create=function(n,t,e,r,i){var o={name:n,kind:t,location:{uri:r,range:e}};return i&&(o.containerName=i),o},(vn||(vn={})).create=function(n,t,e,r){return void 0!==r?{name:n,kind:t,location:{uri:e,range:r}}:{name:n,kind:t,location:{uri:e}}},function(n){n.create=function(n,t,e,r,i,o){var u={name:n,detail:t,kind:e,range:r,selectionRange:i};return void 0!==o&&(u.children=o),u},n.is=function(n){var t=n;return t&&_n.string(t.name)&&_n.number(t.kind)&&g.is(t.range)&&g.is(t.selectionRange)&&(void 0===t.detail||_n.string(t.detail))&&(void 0===t.deprecated||_n.boolean(t.deprecated))&&(void 0===t.children||Array.isArray(t.children))&&(void 0===t.tags||Array.isArray(t.tags))}}(gn||(gn={})),function(n){n.Empty="",n.QuickFix="quickfix",n.Refactor="refactor",n.RefactorExtract="refactor.extract",n.RefactorInline="refactor.inline",n.RefactorRewrite="refactor.rewrite",n.Source="source",n.SourceOrganizeImports="source.organizeImports",n.SourceFixAll="source.fixAll"}(pn||(pn={})),function(n){n.Invoked=1,n.Automatic=2}(hn||(hn={})),function(n){n.create=function(n,t,e){var r={diagnostics:n};return null!=t&&(r.only=t),null!=e&&(r.triggerKind=e),r},n.is=function(n){var t=n;return _n.defined(t)&&_n.typedArray(t.diagnostics,A.is)&&(void 0===t.only||_n.typedArray(t.only,_n.string))&&(void 0===t.triggerKind||t.triggerKind===hn.Invoked||t.triggerKind===hn.Automatic)}}(mn||(mn={})),function(n){n.create=function(n,t,e){var r={title:n},i=!0;return"string"==typeof t?(i=!1,r.kind=t):O.is(t)?r.command=t:r.edit=t,i&&void 0!==e&&(r.kind=e),r},n.is=function(n){var t=n;return t&&_n.string(t.title)&&(void 0===t.diagnostics||_n.typedArray(t.diagnostics,A.is))&&(void 0===t.kind||_n.string(t.kind))&&(void 0!==t.edit||void 0!==t.command)&&(void 0===t.command||O.is(t.command))&&(void 0===t.isPreferred||_n.boolean(t.isPreferred))&&(void 0===t.edit||P.is(t.edit))}}(bn||(bn={})),function(n){n.create=function(n,t){var e={range:n};return _n.defined(t)&&(e.data=t),e},n.is=function(n){var t=n;return _n.defined(t)&&g.is(t.range)&&(_n.undefined(t.command)||O.is(t.command))}}(xn||(xn={})),function(n){n.create=function(n,t){return{tabSize:n,insertSpaces:t}},n.is=function(n){var t=n;return _n.defined(t)&&_n.uinteger(t.tabSize)&&_n.boolean(t.insertSpaces)}}(wn||(wn={})),function(n){n.create=function(n,t,e){return{range:n,target:t,data:e}},n.is=function(n){var t=n;return _n.defined(t)&&g.is(t.range)&&(_n.undefined(t.target)||_n.string(t.target))}}(kn||(kn={})),function(n){n.create=function(n,t){return{range:n,parent:t}},n.is=function(t){var e=t;return _n.objectLiteral(e)&&g.is(e.range)&&(void 0===e.parent||n.is(e.parent))}}(yn||(yn={})),function(n){n.namespace="namespace",n.type="type",n.class="class",n.enum="enum",n.interface="interface",n.struct="struct",n.typeParameter="typeParameter",n.parameter="parameter",n.variable="variable",n.property="property",n.enumMember="enumMember",n.event="event",n.function="function",n.method="method",n.macro="macro",n.keyword="keyword",n.modifier="modifier",n.comment="comment",n.string="string",n.number="number",n.regexp="regexp",n.operator="operator",n.decorator="decorator"}(In||(In={})),function(n){n.declaration="declaration",n.definition="definition",n.readonly="readonly",n.static="static",n.deprecated="deprecated",n.abstract="abstract",n.async="async",n.modification="modification",n.documentation="documentation",n.defaultLibrary="defaultLibrary"}(En||(En={})),(Sn||(Sn={})).is=function(n){var t=n;return _n.objectLiteral(t)&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},function(n){n.create=function(n,t){return{range:n,text:t}},n.is=function(n){var t=n;return null!=t&&g.is(t.range)&&_n.string(t.text)}}(An||(An={})),function(n){n.create=function(n,t,e){return{range:n,variableName:t,caseSensitiveLookup:e}},n.is=function(n){var t=n;return null!=t&&g.is(t.range)&&_n.boolean(t.caseSensitiveLookup)&&(_n.string(t.variableName)||void 0===t.variableName)}}(On||(On={})),function(n){n.create=function(n,t){return{range:n,expression:t}},n.is=function(n){var t=n;return null!=t&&g.is(t.range)&&(_n.string(t.expression)||void 0===t.expression)}}(jn||(jn={})),function(n){n.create=function(n,t){return{frameId:n,stoppedLocation:t}},n.is=function(n){return _n.defined(n)&&g.is(n.stoppedLocation)}}(Nn||(Nn={})),function(n){n.Type=1,n.Parameter=2,n.is=function(n){return 1===n||2===n}}(Un||(Un={})),function(n){n.create=function(n){return{value:n}},n.is=function(n){var t=n;return _n.objectLiteral(t)&&(void 0===t.tooltip||_n.string(t.tooltip)||X.is(t.tooltip))&&(void 0===t.location||p.is(t.location))&&(void 0===t.command||O.is(t.command))}}(Cn||(Cn={})),function(n){n.create=function(n,t,e){var r={position:n,label:t};return void 0!==e&&(r.kind=e),r},n.is=function(n){var t=n;return _n.objectLiteral(t)&&v.is(t.position)&&(_n.string(t.label)||_n.typedArray(t.label,Cn.is))&&(void 0===t.kind||Un.is(t.kind))&&void 0===t.textEdits||_n.typedArray(t.textEdits,j.is)&&(void 0===t.tooltip||_n.string(t.tooltip)||X.is(t.tooltip))&&(void 0===t.paddingLeft||_n.boolean(t.paddingLeft))&&(void 0===t.paddingRight||_n.boolean(t.paddingRight))}}(Tn||(Tn={})),(Fn||(Fn={})).is=function(n){var t=n;return _n.objectLiteral(t)&&f.is(t.uri)&&_n.string(t.name)},function(n){function t(n,e){if(n.length<=1)return n;var r=n.length/2|0,i=n.slice(0,r),o=n.slice(r);t(i,e),t(o,e);for(var u=0,c=0,a=0;u<i.length&&c<o.length;){var s=e(i[u],o[c]);n[a++]=s<=0?i[u++]:o[c++]}for(;u<i.length;)n[a++]=i[u++];for(;c<o.length;)n[a++]=o[c++];return n}n.create=function(n,t,e,r){return new Rn(n,t,e,r)},n.is=function(n){var t=n;return!!(_n.defined(t)&&_n.string(t.uri)&&(_n.undefined(t.languageId)||_n.string(t.languageId))&&_n.uinteger(t.lineCount)&&_n.func(t.getText)&&_n.func(t.positionAt)&&_n.func(t.offsetAt))},n.applyEdits=function(n,e){for(var r=n.getText(),i=t(e,(function(n,t){var e=n.range.start.line-t.range.start.line;return 0===e?n.range.start.character-t.range.start.character:e})),o=r.length,u=i.length-1;u>=0;u--){var c=i[u],a=n.offsetAt(c.range.start),s=n.offsetAt(c.range.end);if(!(s<=o))throw new Error("Overlapping edit");r=r.substring(0,a)+c.newText+r.substring(s,r.length),o=a}return r}}(Ln||(Ln={}));var _n,Rn=function(){function n(n,t,e,r){this._uri=n,this._languageId=t,this._version=e,this._content=r,this._lineOffsets=void 0}return Object.defineProperty(n.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),n.prototype.getText=function(n){if(n){var t=this.offsetAt(n.start),e=this.offsetAt(n.end);return this._content.substring(t,e)}return this._content},n.prototype.update=function(n,t){this._content=n.text,this._version=t,this._lineOffsets=void 0},n.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var n=[],t=this._content,e=!0,r=0;r<t.length;r++){e&&(n.push(r),e=!1);var i=t.charAt(r);e="\r"===i||"\n"===i,"\r"===i&&r+1<t.length&&"\n"===t.charAt(r+1)&&r++}e&&t.length>0&&n.push(t.length),this._lineOffsets=n}return this._lineOffsets},n.prototype.positionAt=function(n){n=Math.max(Math.min(n,this._content.length),0);var t=this.getLineOffsets(),e=0,r=t.length;if(0===r)return v.create(0,n);for(;e<r;){var i=Math.floor((e+r)/2);t[i]>n?r=i:e=i+1}var o=e-1;return v.create(o,n-t[o])},n.prototype.offsetAt=function(n){var t=this.getLineOffsets();if(n.line>=t.length)return this._content.length;if(n.line<0)return 0;var e=t[n.line];return Math.max(Math.min(e+n.character,n.line+1<t.length?t[n.line+1]:this._content.length),e)},Object.defineProperty(n.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),n}();!function(n){var t=Object.prototype.toString;n.defined=function(n){return typeof n<"u"},n.undefined=function(n){return typeof n>"u"},n.boolean=function(n){return!0===n||!1===n},n.string=function(n){return"[object String]"===t.call(n)},n.number=function(n){return"[object Number]"===t.call(n)},n.numberRange=function(n,e,r){return"[object Number]"===t.call(n)&&e<=n&&n<=r},n.integer=function(n){return"[object Number]"===t.call(n)&&-2147483648<=n&&n<=2147483647},n.uinteger=function(n){return"[object Number]"===t.call(n)&&0<=n&&n<=2147483647},n.func=function(n){return"[object Function]"===t.call(n)},n.objectLiteral=function(n){return null!==n&&"object"==typeof n},n.typedArray=function(n,t){return Array.isArray(n)&&n.every(t)}}(_n||(_n={}));var $n,Mn=(($n=Mn||{}).AlreadyDefined="AlreadyDefined",$n.ApiConflict="ApiConflict",$n.AssignedNeverUsed="AssignedNeverUsed",$n.DefinedNeverAssigned="DefinedNeverAssigned",$n.DefinedNeverUsed="DefinedNeverUsed",$n.EmptyBlockStatement="EmptyBlockStatement",$n.ExecutionError="ExecutionError",$n.InvalidApiFunctionUsage="InvalidApiFunctionUsage",$n.InvalidConstantIdentifier="InvalidConstantIdentifier",$n.InvalidPropertyIdentifier="InvalidPropertyIdentifier",$n.NoArgumentExpected="NoArgumentExpected",$n.NotADictionary="NotADictionary",$n.NotDefined="NotDefined",$n.NotEnoughArguments="NotEnoughArguments",$n.ProfileVariablesAreImmutable="ProfileVariablesAreImmutable",$n.ProfileVariablesConflict="ProfileVariablesConflict",$n.ReservedKeyword="ReservedKeyword",$n.TooManyArguments="TooManyArguments",$n.UnexpectedEmptyFunction="UnexpectedEmptyFunction",$n.UnexpectedPropertyIdentifier="UnexpectedPropertyIdentifier",$n.UnknownPropertyIdentifier="UnknownPropertyIdentifier",$n),Bn=Object.values(R);Object.values(_).map((n=>({label:n,kind:Z.Constant}))),Bn.map((n=>({label:n,kind:Z.Keyword})));const Wn={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]}],autoCloseBefore:";:.,=}])` \n\t",folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}},indentationRules:{decreaseIndentPattern:/^((?!.*?\/\*).*\*\/)?\s*[\}\]\)].*$/,increaseIndentPattern:/^((?!\/\/).)*(\{[^}"'`]*|\([^)"'`]*|\[[^\]"'`]*)$/}},zn={defaultToken:"invalid",tokenPostfix:".arc",ignoreCase:!0,keywords:Bn.filter((n=>"from"!==n)),operators:["<=",">=","==","!=","+","-","*","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","=","+=","-=","*=","**=","/=","%="],constants:["true","false","null"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,"delimiter.bracket"],{include:"common"}],common:[[/import(?=\s)/,{token:"keyword",next:"@import"}],[/[a-z_$][\w$]*/,{cases:{"@constants":"constant","@keywords":"keyword","@default":"identifier"}}],{include:"@whitespace"},[/\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|\/|,|\)|\]|\}|$))/,{token:"regexp",bracket:"@open",next:"@regexp"}],[/[()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number"],[/0[xX](@hexdigits)/,"number"],[/0[oO]?(@octaldigits)/,"number"],[/0[bB](@binarydigits)/,"number"],[/(@digits)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],import:[[/import(?=\s)/,{token:"keyword"}],{include:"@whitespace"},[/[a-z_$][\w$]*/,"identifier"],{include:"@whitespace"},[/from/,{token:"keyword",next:"@popall"}]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([gimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}};class Vn{constructor(t,e,{defaults:r,diagnosticsService:i}){this._languageId=t,this._worker=e,this._disposables=[],this._listener=Object.create(null),this._diagnosticsService=i,this._defaults=r;const o=n=>{const t=n.getLanguageId();if(t!==this._languageId)return;let e;this._listener[n.uri.toString()]=n.onDidChangeContent((()=>{window.clearTimeout(e),e=window.setTimeout((()=>this._doValidate(n,t)),500)})),this._doValidate(n,t)},u=t=>{const e=t.uri.toString();n.setModelMarkers(t,this._languageId,[]);const r=this._listener[e];r&&(r.dispose(),delete this._listener[e])};this._disposables.push(n.onDidCreateModel(o)),this._disposables.push(n.onWillDisposeModel((n=>{u(n)}))),this._disposables.push(n.onDidChangeModelLanguage((n=>{u(n.model),o(n.model)}))),this._disposables.push(r.onDidChange((()=>{n.getModels().forEach((n=>{n.getLanguageId()===this._languageId&&(u(n),o(n))}))}))),this._disposables.push(r.onModelContextDidChange((t=>{n.getModels().forEach((n=>{n.getLanguageId()===this._languageId&&n.uri.toString()===t&&this._doValidate(n,this._languageId)}))}))),this._disposables.push({dispose:()=>{for(const n in this._listener)this._listener[n].dispose()}}),n.getModels().forEach(o)}dispose(){this._disposables.forEach((n=>n&&n.dispose())),this._disposables=[]}async _doValidate(t,e){if(t.isAttachedToEditor())try{const r=await this._worker(t.uri),i=this._defaults.getApiContextForModel(t.uri),o=await r.doValidation(t.uri.toString(),i),u=o.map((n=>{return{severity:Hn((t=n).severity),startLineNumber:t.range.start.line+1,startColumn:t.range.start.character+1,endLineNumber:t.range.end.line+1,endColumn:t.range.end.character+1,message:t.message};var t}));this._diagnosticsService.fireDiagnosticsChange(t.uri,o),n.setModelMarkers(t,e,u)}catch(n){console.error(n)}}}function Hn(n){switch(n){case e.Error:return t.Error;case e.Warning:return t.Warning;case e.Information:return t.Info;case e.Hint:return t.Hint;default:return t.Info}}function Kn(n){return new r(n.start.line+1,n.start.character+1,n.end.line+1,n.end.character+1)}function qn(n){return{range:Kn(n.range),text:n.newText}}function Xn(n){const t=o.CompletionItemKind;switch(n){case u.Text:return t.Text;case u.Method:return t.Method;case u.Function:return t.Function;case u.Constructor:return t.Constructor;case u.Field:return t.Field;case u.Variable:return t.Variable;case u.Class:return t.Class;case u.Interface:return t.Interface;case u.Module:return t.Module;case u.Property:return t.Property;case u.Unit:return t.Unit;case u.Value:return t.Value;case u.Enum:return t.Enum;case u.Keyword:return t.Keyword;case u.Snippet:return t.Snippet;case u.Color:return t.Color;case u.File:return t.File;case u.Reference:return t.Reference;case u.Folder:return t.Folder;case u.EnumMember:return t.EnumMember;case u.Constant:return t.Constant;case u.Struct:return t.Struct;case u.Event:return t.Event;case u.Operator:return t.Operator;case u.TypeParameter:return t.TypeParameter}return t.Property}class Zn{constructor(n,t){this._worker=n,this._defaults=t,this.triggerCharacters=[".","("]}async provideCompletionItems(n,t){const e=await this._worker(n.uri),u=this._defaults.getApiContextForModel(n.uri),c=await e.doComplete(n.uri.toString(),function(n){return{character:n.column-1,line:n.lineNumber-1}}(t),u);if(!c)return;const a=n.getWordUntilPosition(t),s=new r(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn),f=c.items.map((n=>{const t={label:n.label,insertText:n.insertText||n.label,sortText:n.sortText,filterText:n.filterText,detail:n.detail,range:s,kind:Xn(n.kind)};var e;return n.textEdit&&(t.range=void 0!==(e=n.textEdit).insert&&void 0!==e.replace?{insert:Kn(n.textEdit.insert),replace:Kn(n.textEdit.replace)}:Kn(n.textEdit.range),t.insertText=n.textEdit.newText),n.additionalTextEdits&&(t.additionalTextEdits=n.additionalTextEdits.map(qn)),n.insertTextFormat===i.Snippet&&(t.insertTextRules=o.CompletionItemInsertTextRule.InsertAsSnippet),n.documentation&&(t.documentation="string"==typeof n.documentation?n.documentation:{supportThemeIcons:!1,value:n.documentation.value,supportHtml:!0}),t}));return{incomplete:c.isIncomplete,suggestions:f}}}class Gn{constructor(n,t){this._worker=n,this._defaults=t}async provideDocumentFormattingEdits(n){const t=await this._worker(n.uri),e=this._defaults.getApiContextForModel(n.uri.toString()),r=await t.doFormat(n.uri.toString(),e);return r?r.map((n=>({range:Kn(n.range),text:n.newText}))):[]}}class Jn{constructor(n){this._defaults=n,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange((()=>this.stopWorker()))}dispose(){this._configChangeListener.dispose(),this.stopWorker()}stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}_getClientProxy(){if(!this._client){const{languageId:t,languageOptions:e}=this._defaults;this._worker=n.createWebWorker({moduleId:"ArcadeWorker",label:t,createData:{languageId:t,languageOptions:e}}),this._client=this._worker.getProxy()}return this._client}async getLanguageServiceWorker(...n){const t=await this._getClientProxy();return await(this._worker?.withSyncedResources(n)),t}}let Qn;async function Yn(...n){return new Promise(((t,e)=>{if(!Qn)return e("TypeScript not registered!");t(Qn(...n))}))}const nt=new class{constructor(){this._onDiagnosticsChange=new c}get onDiagnosticsChange(){return this._onDiagnosticsChange.event}fireDiagnosticsChange(n,t){this._onDiagnosticsChange.fire({uri:n,diagnostics:t})}};function tt(){return nt}function et(n){const t=new Jn(n),e=(...n)=>t.getLanguageServiceWorker(...n);Qn=e,o.setMonarchTokensProvider(n.languageId,zn),o.setLanguageConfiguration(n.languageId,Wn),o.registerCompletionItemProvider(n.languageId,new Zn(e,n)),o.registerDocumentFormattingEditProvider(n.languageId,new Gn(e,n)),new Vn(n.languageId,e,{defaults:n,diagnosticsService:nt})}export{tt as getArcadeDiagnosticService,Yn as getArcadeWorker,et as setupMode}
|