@arcgis/coding-components 5.2.0-next.2 → 5.2.0-next.21
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/{QW7OA32G.js → 3O35TTKM.js} +1 -1
- package/dist/cdn/3QN6NREQ.js +2 -0
- package/dist/cdn/76VHPECE.js +2 -0
- package/dist/cdn/7UTCJERR.js +2 -0
- package/dist/cdn/7Z6G332Z.js +2 -0
- package/dist/cdn/{O3PQD5N5.js → A6IGYBAZ.js} +2 -2
- package/dist/cdn/{CC4XBW6V.js → B73HLERI.js} +1 -1
- package/dist/cdn/{PUY5G6AF.js → CKBZZB5E.js} +1 -1
- package/dist/cdn/GTE3KXNK.js +2 -0
- package/dist/cdn/H2YYYWPE.js +2 -0
- package/dist/cdn/{3PBQ47BB.js → HXJFZ2Y5.js} +1 -1
- package/dist/cdn/{LZ2JU5WD.js → JLYAOSQM.js} +1 -1
- package/dist/cdn/KTDJ3N4O.js +6 -0
- package/dist/cdn/{2DNHMHBF.js → LEFFI3FB.js} +1 -1
- package/dist/cdn/{2WVAYBDV.js → MFDNJU3K.js} +1 -1
- package/dist/cdn/MZMKV7FA.js +2 -0
- package/dist/cdn/{LUJKYDO7.js → NCMXRX7O.js} +1 -1
- package/dist/cdn/NP37C536.js +2 -0
- package/dist/cdn/{IETP57KJ.js → NR4MWHO2.js} +1 -1
- package/dist/cdn/NVWQE3SF.js +2 -0
- package/dist/cdn/O6L3YJ7J.js +68 -0
- package/dist/cdn/ORXFI7LE.js +2 -0
- package/dist/cdn/{XU7YAUUX.js → PJBI5XFD.js} +1 -1
- package/dist/cdn/{QUR4WECO.js → PXKBNRBR.js} +1 -1
- package/dist/cdn/{HRM2JUGO.js → RFQXYDLI.js} +1 -1
- package/dist/cdn/{WWVPYM5B.js → SCLCF2SG.js} +1 -1
- package/dist/cdn/UTTEHEMP.js +12 -0
- package/dist/cdn/VPVLZ5QO.js +2 -0
- package/dist/cdn/WBZ7CJ77.js +2 -0
- package/dist/cdn/{BXEZA6TW.js → WRVJHPML.js} +1 -1
- package/dist/cdn/XMX75LZF.js +4 -0
- package/dist/cdn/ZXEQOR2Y.js +2 -0
- package/dist/cdn/assets/arcade-language/api/arcade-api.t9n.en.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.ar.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.bg.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.bs.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.ca.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.cs.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.da.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.de.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.el.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.es.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.et.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.fi.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.fr.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.he.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.hr.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.hu.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.id.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.it.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.ja.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.ko.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.lt.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.lv.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.nl.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.no.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.pl.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.pt-BR.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.pt-PT.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.ro.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.ru.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.sk.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.sl.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.sr.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.sv.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.th.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.tr.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.uk.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.vi.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.zh-CN.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.zh-HK.json +1 -1
- package/dist/cdn/assets/arcade-language/profiles/arcade-profiles.t9n.zh-TW.json +1 -1
- package/dist/cdn/assets/code-editor/sql-expr.worker.js +2613 -2588
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/ArcadeDebuggerPreviewTabsState.js +1 -1
- package/dist/chunks/arcade-defaults.js +66 -63
- package/dist/chunks/debugger-value-components.js +51 -47
- package/dist/chunks/debugger-value-styles.js +8 -8
- package/dist/chunks/fields.js +18 -14
- package/dist/chunks/functional.js +34 -34
- package/dist/chunks/language-defaults-base.js +230 -221
- package/dist/chunks/sql-expr-defaults.js +63 -59
- package/dist/components/arcgis-arcade-coding-assistant/customElement.js +5 -6
- package/dist/components/arcgis-arcade-debugger-console/customElement.js +7 -7
- package/dist/components/arcgis-arcade-debugger-output/customElement.js +21 -18
- package/dist/components/arcgis-arcade-editor/customElement.d.ts +38 -3
- package/dist/components/arcgis-arcade-editor/customElement.js +190 -176
- package/dist/components/arcgis-arcade-results/customElement.js +18 -18
- package/dist/components/arcgis-code-editor-shell/customElement.js +70 -65
- package/dist/components/arcgis-editor-variables/customElement.js +14 -8
- package/dist/components/arcgis-sql-expression-editor/customElement.d.ts +11 -0
- package/dist/components/arcgis-sql-expression-editor/customElement.js +5 -5
- package/dist/components/arcgis-sql-layer-editor/customElement.js +10 -10
- package/dist/components/types.d.ts +130 -21
- 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/index.d.ts +3 -3
- package/dist/loader.js +3 -3
- 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/package.json +8 -8
- package/dist/cdn/3CHKFCKR.js +0 -2
- package/dist/cdn/3UD4JSPW.js +0 -2
- package/dist/cdn/4G3EYLJY.js +0 -2
- package/dist/cdn/4N67XYKO.js +0 -2
- package/dist/cdn/6QMGBWXM.js +0 -2
- package/dist/cdn/72E5GBWN.js +0 -68
- package/dist/cdn/B5A6XU2C.js +0 -2
- package/dist/cdn/CA3GVMWI.js +0 -2
- package/dist/cdn/CQTJWVFM.js +0 -6
- package/dist/cdn/G5IXPOCO.js +0 -2
- package/dist/cdn/P3LG4UGD.js +0 -2
- package/dist/cdn/QGBZYXBS.js +0 -4
- package/dist/cdn/RMVHO2AH.js +0 -12
- package/dist/cdn/RO6RHW6I.js +0 -2
- package/dist/cdn/TQDN6SR5.js +0 -2
- package/dist/cdn/TWEJITWD.js +0 -2
- package/dist/cdn/ZTCCL565.js +0 -2
package/dist/cdn/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{J as s,v as e}from"./
|
|
2
|
+
import{J as s,v as e}from"./PJBI5XFD.js";import"./VGOFAQ7A.js";import"./H6RQVSYM.js";var i=e(s,{"arcgis-arcade-coding-assistant":[()=>import("./XMX75LZF.js"),"appVersion,closed,closePanel:,diagnostics:,disableQuestionAnswerLogging,editorRef:,feedbackServiceUrl,helpBase,insertText:,portalUrl,promptingEnabled,serviceUrl;destroy,openPrompt"],"arcgis-arcade-debugger-console":[()=>import("./NCMXRX7O.js"),"debuggerStore:,modelId"],"arcgis-arcade-debugger-output":[()=>import("./GTE3KXNK.js"),"debuggerStore:,outputTitle,result:"],"arcgis-arcade-editor":[()=>import("./ORXFI7LE.js"),"arcadeAssistant:,customPanels:,disableAssistant,editorInstance:,editorOptions:,enableDebugger,externalExecutor:,hideDocumentationActions,hideSideBar,messageOverrides:,messages:,openedSidePanel,profile:,script,sideActionBarExpanded,snippets:,suggestions:,testData:;getTestResult,openArcadeAssistant,setFocus"],"arcgis-arcade-results":[()=>import("./VPVLZ5QO.js"),"consoleLogs:,hideHeader,loading,openedResultPanel,result:"],"arcgis-arcade-suggestions":[()=>import("./LEFFI3FB.js"),"closed,suggestions:"],"arcgis-code-editor":[()=>import("./3O35TTKM.js"),"editorInstance:,editorOptions:,language,modelId,value;insertSnippet,insertText,setFocus"],"arcgis-code-editor-shell":[()=>import("./76VHPECE.js")],"arcgis-code-viewer":[()=>import("./SCLCF2SG.js"),"language,lineNumbers,round"],"arcgis-editor-variables":[()=>import("./WBZ7CJ77.js"),"closed,heading,hideDescriptions,loading,messageOverrides:,modelId,variable:"],"arcgis-language-api-panel":[()=>import("./WRVJHPML.js"),"apiLibrary:,closed,hideDocumentationActions,languageId,loading"],"arcgis-sql-expression-editor":[()=>import("./3QN6NREQ.js"),"hideDescriptionsInFieldsPanel,hideSideBar,messageOverrides:,messages:,profile:,script;setFocus"],"arcgis-sql-layer-editor":[()=>import("./A6IGYBAZ.js"),"editorInstance:,editorOptions:,hideSideBar,messageOverrides:,messages:,openedSidePanel,profile:,script;setFocus"]});i({resourcesUrl:import.meta.url});var r=new CSSStyleSheet;r.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,r];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,14 +1,14 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import { g as v, f as F, m as M, L as S, E as
|
|
3
|
-
import { i as h, a as
|
|
2
|
+
import { g as v, f as F, m as M, L as S, E as A } from "./language-defaults-base.js";
|
|
3
|
+
import { i as h, a as L, b as k, c as E, d as I, e as C, f as P } from "./utils.js";
|
|
4
4
|
import { supportedLocales as j, fetchT9nStringsBundle as $ } from "@arcgis/toolkit/intl";
|
|
5
5
|
import { g as T } from "./runtime.js";
|
|
6
|
-
import { CompletionItemKind as w, InsertTextFormat as
|
|
7
|
-
import { getDeclaredPixelMembers as
|
|
6
|
+
import { CompletionItemKind as w, InsertTextFormat as p, InsertTextMode as f } from "vscode-languageserver-types";
|
|
7
|
+
import { getDeclaredPixelMembers as q } from "@arcgis/core/applications/Components/arcadeEditorUtils.js";
|
|
8
8
|
import "@arcgis/toolkit/type";
|
|
9
|
-
async function
|
|
10
|
-
const { apiVersion: i, bundles: t, hiddenApiItems:
|
|
11
|
-
return { apiVersion: i, bundles: t, variables:
|
|
9
|
+
async function B(e) {
|
|
10
|
+
const { apiVersion: i, bundles: t, hiddenApiItems: s } = e.toEditorProfileDefinition(), o = await b(e.dictionaryVariables.filter(P));
|
|
11
|
+
return { apiVersion: i, bundles: t, variables: o, hiddenApiItems: s?.map((a) => a.toLowerCase()) };
|
|
12
12
|
}
|
|
13
13
|
async function b(e, i = w.Variable) {
|
|
14
14
|
return await Promise.all(
|
|
@@ -24,75 +24,77 @@ async function b(e, i = w.Variable) {
|
|
|
24
24
|
// In autocomplete we don't differentiate types, so we can use the same logic as features.
|
|
25
25
|
case "voxel":
|
|
26
26
|
case "feature":
|
|
27
|
-
return await
|
|
27
|
+
return await _(t, i);
|
|
28
28
|
default:
|
|
29
|
-
return
|
|
29
|
+
return K(t, i);
|
|
30
30
|
}
|
|
31
31
|
})
|
|
32
32
|
);
|
|
33
33
|
}
|
|
34
|
-
function
|
|
35
|
-
const { name: t, type:
|
|
34
|
+
function K(e, i) {
|
|
35
|
+
const { name: t, type: s } = e, o = e.getDescription(), a = i === w.Field ? v(t, !1) : t;
|
|
36
36
|
return {
|
|
37
37
|
name: t,
|
|
38
|
-
description:
|
|
39
|
-
type:
|
|
38
|
+
description: o,
|
|
39
|
+
type: s,
|
|
40
40
|
completion: {
|
|
41
41
|
label: t,
|
|
42
42
|
detail: t,
|
|
43
43
|
insertText: a,
|
|
44
44
|
insertTextMode: f.asIs,
|
|
45
|
-
insertTextFormat:
|
|
45
|
+
insertTextFormat: p.PlainText,
|
|
46
46
|
kind: i,
|
|
47
|
-
documentation: { kind: "markdown", value:
|
|
47
|
+
documentation: { kind: "markdown", value: o }
|
|
48
48
|
}
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
-
async function
|
|
52
|
-
const t = await e.loadSource(), { name:
|
|
53
|
-
label:
|
|
54
|
-
detail:
|
|
55
|
-
insertText:
|
|
51
|
+
async function _(e, i) {
|
|
52
|
+
const t = await e.loadSource(), { name: s } = e, o = e.getDescription(), a = {
|
|
53
|
+
label: s,
|
|
54
|
+
detail: s,
|
|
55
|
+
insertText: s,
|
|
56
56
|
insertTextMode: f.asIs,
|
|
57
|
-
insertTextFormat:
|
|
57
|
+
insertTextFormat: p.PlainText,
|
|
58
58
|
kind: i
|
|
59
59
|
}, n = {
|
|
60
|
-
name:
|
|
61
|
-
description:
|
|
60
|
+
name: s,
|
|
61
|
+
description: o,
|
|
62
62
|
type: "dictionary",
|
|
63
63
|
properties: [],
|
|
64
64
|
completion: a
|
|
65
65
|
};
|
|
66
66
|
if (!t)
|
|
67
67
|
return n;
|
|
68
|
-
const [r, c] = F(t.fields,
|
|
68
|
+
const [r, c] = F(t.fields, o, {
|
|
69
|
+
includeAliases: !0
|
|
70
|
+
});
|
|
69
71
|
return n.properties = r, a.documentation = { kind: "markdown", value: c }, n;
|
|
70
72
|
}
|
|
71
73
|
async function z(e, i) {
|
|
72
|
-
const t = await e.loadSource(),
|
|
73
|
-
if (
|
|
74
|
+
const t = await e.loadSource(), s = e.toProfileVariableDefinition();
|
|
75
|
+
if (s.type !== "pixel")
|
|
74
76
|
throw new Error("Incorrect definition passed to pixel variable");
|
|
75
|
-
const { name:
|
|
76
|
-
label:
|
|
77
|
-
detail:
|
|
78
|
-
insertText:
|
|
77
|
+
const { name: o } = e, a = e.getDescription(), n = {
|
|
78
|
+
label: o,
|
|
79
|
+
detail: o,
|
|
80
|
+
insertText: o,
|
|
79
81
|
insertTextMode: f.asIs,
|
|
80
|
-
insertTextFormat:
|
|
82
|
+
insertTextFormat: p.PlainText,
|
|
81
83
|
kind: i
|
|
82
84
|
}, r = {
|
|
83
|
-
name:
|
|
85
|
+
name: o,
|
|
84
86
|
description: a,
|
|
85
87
|
type: "dictionary",
|
|
86
88
|
properties: [],
|
|
87
89
|
completion: n
|
|
88
90
|
};
|
|
89
|
-
if (!t || !
|
|
91
|
+
if (!t || !s.definition)
|
|
90
92
|
return r;
|
|
91
|
-
const c = await
|
|
93
|
+
const c = await q(t), [d, l] = M(c, a);
|
|
92
94
|
return r.properties = d, n.documentation = { kind: "markdown", value: l }, r;
|
|
93
95
|
}
|
|
94
96
|
async function O(e, i) {
|
|
95
|
-
const { name: t, dictionaryVariables:
|
|
97
|
+
const { name: t, dictionaryVariables: s } = e, o = e.getDescription(), a = s.reduce((n, r) => {
|
|
96
98
|
n !== "" && (n += `
|
|
97
99
|
|
|
98
100
|
`), n += `**${r.name}**
|
|
@@ -100,19 +102,19 @@ ${r.type}`;
|
|
|
100
102
|
const c = r.getDescription();
|
|
101
103
|
return c && (n += `
|
|
102
104
|
${c}`), n;
|
|
103
|
-
},
|
|
105
|
+
}, o);
|
|
104
106
|
return {
|
|
105
107
|
name: t,
|
|
106
|
-
description:
|
|
108
|
+
description: o,
|
|
107
109
|
type: "dictionary",
|
|
108
110
|
// TODO(editor-profile): remove filter once we have a arcade-specific editor profile type that doesn't include SQL-layer-specific variables.
|
|
109
|
-
properties: await b(
|
|
111
|
+
properties: await b(s.filter(P), w.Field),
|
|
110
112
|
completion: {
|
|
111
113
|
label: t,
|
|
112
114
|
detail: t,
|
|
113
115
|
insertText: t,
|
|
114
116
|
insertTextMode: f.asIs,
|
|
115
|
-
insertTextFormat:
|
|
117
|
+
insertTextFormat: p.PlainText,
|
|
116
118
|
kind: i,
|
|
117
119
|
documentation: { kind: "markdown", value: a }
|
|
118
120
|
}
|
|
@@ -134,8 +136,8 @@ async function y(e = "en") {
|
|
|
134
136
|
const x = /* @__PURE__ */ new Map();
|
|
135
137
|
function Q(e, i) {
|
|
136
138
|
const t = /* @__PURE__ */ new Map();
|
|
137
|
-
return i.forEach((
|
|
138
|
-
t.set(
|
|
139
|
+
return i.forEach((s) => {
|
|
140
|
+
t.set(s.id, s);
|
|
139
141
|
}), x.set(e, t), t;
|
|
140
142
|
}
|
|
141
143
|
async function U(e, i = "en") {
|
|
@@ -171,8 +173,8 @@ async function J(e, i = "en") {
|
|
|
171
173
|
const t = await U(e.id, i);
|
|
172
174
|
if (!t)
|
|
173
175
|
return;
|
|
174
|
-
const
|
|
175
|
-
Object.entries(
|
|
176
|
+
const s = e.definitions, o = new Map(
|
|
177
|
+
Object.entries(s).map(([n, r]) => [n.toLowerCase(), r])
|
|
176
178
|
), a = {
|
|
177
179
|
bundles: [...t.bundles],
|
|
178
180
|
variables: [],
|
|
@@ -181,7 +183,7 @@ async function J(e, i = "en") {
|
|
|
181
183
|
return t.variables.forEach((n) => {
|
|
182
184
|
if (e.disabledVariables?.includes(n.name))
|
|
183
185
|
return;
|
|
184
|
-
const r =
|
|
186
|
+
const r = o.get(n.name.toLowerCase());
|
|
185
187
|
switch (n.type) {
|
|
186
188
|
case "dictionary":
|
|
187
189
|
return a.variables.push(
|
|
@@ -200,7 +202,7 @@ async function J(e, i = "en") {
|
|
|
200
202
|
case "featureSet":
|
|
201
203
|
return k(r) ? a.variables.push({ ...n, type: n.type, definition: r }) : void 0;
|
|
202
204
|
case "featureSetCollection":
|
|
203
|
-
return
|
|
205
|
+
return L(r) ? a.variables.push({ ...n, type: n.type, definition: r }) : void 0;
|
|
204
206
|
default:
|
|
205
207
|
return a.variables.push(m(n));
|
|
206
208
|
}
|
|
@@ -216,7 +218,8 @@ const N = [
|
|
|
216
218
|
"oriented-imagery",
|
|
217
219
|
"subtype-group",
|
|
218
220
|
"subtype-sublayer",
|
|
219
|
-
"wfs"
|
|
221
|
+
"wfs",
|
|
222
|
+
"parquet"
|
|
220
223
|
];
|
|
221
224
|
function R(e) {
|
|
222
225
|
return !!e && typeof e == "object" && "type" in e && typeof e.type == "string" && N.includes(e.type);
|
|
@@ -258,40 +261,40 @@ class X extends S {
|
|
|
258
261
|
* @param locale The locale to use for the model context.
|
|
259
262
|
* @returns The EditorProfile for the model.
|
|
260
263
|
*/
|
|
261
|
-
async setProfileForModel(i, t,
|
|
262
|
-
const
|
|
263
|
-
const c = t, d = h(c) ? await J(c,
|
|
264
|
-
|
|
264
|
+
async setProfileForModel(i, t, s = { locale: "en" }) {
|
|
265
|
+
const o = this._getApiKey(i), n = (this.#e.get(o) || Promise.resolve()).then(async () => {
|
|
266
|
+
const c = t, d = h(c) ? await J(c, s.locale) : c, l = await $(
|
|
267
|
+
s.locale,
|
|
265
268
|
T("./assets/editor-profile/t9n"),
|
|
266
269
|
"messages."
|
|
267
270
|
);
|
|
268
271
|
if (!l)
|
|
269
|
-
throw new Error(`Failed to load the language bundle for ${
|
|
272
|
+
throw new Error(`Failed to load the language bundle for ${s.locale}`);
|
|
270
273
|
this.disposeForModel(i);
|
|
271
|
-
const g = new
|
|
274
|
+
const g = new A(
|
|
272
275
|
d,
|
|
273
276
|
l,
|
|
274
|
-
|
|
277
|
+
s.locale,
|
|
275
278
|
W
|
|
276
279
|
);
|
|
277
|
-
this._modelToProfileMap.set(
|
|
278
|
-
const D = await
|
|
280
|
+
this._modelToProfileMap.set(o, g);
|
|
281
|
+
const D = await B(g);
|
|
279
282
|
this.updateApiContextForModel(i, {
|
|
280
|
-
locale:
|
|
283
|
+
locale: s.locale,
|
|
281
284
|
profile: D,
|
|
282
|
-
snippets:
|
|
285
|
+
snippets: s.snippets
|
|
283
286
|
});
|
|
284
287
|
}), r = n.finally(() => {
|
|
285
|
-
this.#e.get(
|
|
288
|
+
this.#e.get(o) === r && this.#e.delete(o);
|
|
286
289
|
});
|
|
287
|
-
return this.#e.set(
|
|
290
|
+
return this.#e.set(o, r), await n;
|
|
288
291
|
}
|
|
289
292
|
}
|
|
290
|
-
const
|
|
291
|
-
setProfileForModel:
|
|
292
|
-
getApiLibraryForModel:
|
|
293
|
+
const u = new X(), re = {
|
|
294
|
+
setProfileForModel: u.setProfileForModel.bind(u),
|
|
295
|
+
getApiLibraryForModel: u.getApiLibraryForModel.bind(u)
|
|
293
296
|
};
|
|
294
297
|
export {
|
|
295
298
|
re as a,
|
|
296
|
-
|
|
299
|
+
u as b
|
|
297
300
|
};
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
import { html as c } from "lit";
|
|
3
3
|
import { safeClassMap as R } from "@arcgis/lumina";
|
|
4
4
|
import { t as v } from "./debugger-value-styles.js";
|
|
5
|
-
import {
|
|
6
|
-
const
|
|
7
|
-
function
|
|
5
|
+
import { quoteString as O } from "@arcgis/toolkit/string";
|
|
6
|
+
const U = /^[$A-Z_a-z][$\w]*$/u;
|
|
7
|
+
function M(e) {
|
|
8
8
|
return e.replaceAll("\\", "\\\\").replaceAll('"', '\\"');
|
|
9
9
|
}
|
|
10
|
-
function
|
|
11
|
-
return
|
|
10
|
+
function H(e) {
|
|
11
|
+
return U.test(e);
|
|
12
12
|
}
|
|
13
|
-
function
|
|
14
|
-
return typeof e == "number" ? `[${e}]` : e.startsWith("name:") ? `[name="${
|
|
13
|
+
function B(e) {
|
|
14
|
+
return typeof e == "number" ? `[${e}]` : e.startsWith("name:") ? `[name="${M(e.slice(5))}"]` : e.startsWith("id:") ? `[id="${M(e.slice(3))}"]` : H(e) ? `.${e}` : `["${M(e)}"]`;
|
|
15
15
|
}
|
|
16
|
-
function
|
|
16
|
+
function A(e, t) {
|
|
17
17
|
if (e[t] !== '"')
|
|
18
18
|
return;
|
|
19
19
|
let n = "", r = t + 1;
|
|
@@ -33,7 +33,7 @@ function F(e, t) {
|
|
|
33
33
|
n += p, r += 1;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
function
|
|
36
|
+
function J(e) {
|
|
37
37
|
if (!e)
|
|
38
38
|
return;
|
|
39
39
|
let t = 0;
|
|
@@ -68,13 +68,13 @@ function K(e) {
|
|
|
68
68
|
}
|
|
69
69
|
const $ = e.startsWith("name=", t) ? "name" : e.startsWith("id=", t) ? "id" : void 0;
|
|
70
70
|
if ($) {
|
|
71
|
-
const o =
|
|
71
|
+
const o = A(e, t + $.length + 1);
|
|
72
72
|
if (!o || e[o.nextIndex] !== "]")
|
|
73
73
|
return;
|
|
74
74
|
n.push(`${$}:${o.value}`), t = o.nextIndex + 1;
|
|
75
75
|
continue;
|
|
76
76
|
}
|
|
77
|
-
const s =
|
|
77
|
+
const s = A(e, t);
|
|
78
78
|
if (!s || e[s.nextIndex] !== "]")
|
|
79
79
|
return;
|
|
80
80
|
n.push(s.value), t = s.nextIndex + 1;
|
|
@@ -88,28 +88,28 @@ function K(e) {
|
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
90
|
function de(e, t) {
|
|
91
|
-
return `${e}${
|
|
91
|
+
return `${e}${B(t)}`;
|
|
92
92
|
}
|
|
93
93
|
function k(e, t) {
|
|
94
94
|
return e ? `${e}.${t}` : String(t);
|
|
95
95
|
}
|
|
96
96
|
function q(e, t) {
|
|
97
97
|
if (e)
|
|
98
|
-
return `${e}${
|
|
98
|
+
return `${e}${B(t)}`;
|
|
99
99
|
}
|
|
100
100
|
function fe(e) {
|
|
101
|
-
return
|
|
101
|
+
return J(e);
|
|
102
102
|
}
|
|
103
|
-
function
|
|
103
|
+
function E(e, t) {
|
|
104
104
|
return typeof t == "number" ? `${e}[${t}]` : `${e}.${t}`;
|
|
105
105
|
}
|
|
106
|
-
function
|
|
106
|
+
function K(e) {
|
|
107
107
|
return e.name ? `name:${e.name}` : `id:${e.id}`;
|
|
108
108
|
}
|
|
109
|
-
function
|
|
109
|
+
function X(e) {
|
|
110
110
|
return Object.entries(e).filter(([t]) => t !== "featureSet");
|
|
111
111
|
}
|
|
112
|
-
function
|
|
112
|
+
function Y(e, t) {
|
|
113
113
|
if (t) {
|
|
114
114
|
const n = t.featureSet;
|
|
115
115
|
return {
|
|
@@ -135,8 +135,8 @@ function z(e, t) {
|
|
|
135
135
|
function C(e) {
|
|
136
136
|
return c`<calcite-tree slot=children .lines=${v.lines} .selectionMode=${v.selectionMode} .scale=${v.scale} @calciteTreeSelect=${v.oncalciteTreeSelect}>${e}</calcite-tree>`;
|
|
137
137
|
}
|
|
138
|
-
function
|
|
139
|
-
const u =
|
|
138
|
+
function G({ lazyTreeState: e, nodePath: t, mergedCollectionItem: n, expanded: r = !1, isMetadata: p = !1, messages: a, name: f, value: $, loadPreview: s, previewLabel: o, previewSourcePath: h, previewLoading: g = !1 }) {
|
|
139
|
+
const u = Y($, n);
|
|
140
140
|
if (!u)
|
|
141
141
|
return null;
|
|
142
142
|
const i = e.ensureNode(t, r, u.loadRequest), b = u.kind === "feature-set" ? u.featureSetValue : void 0, S = o ?? String(f), m = h ?? t, D = !!(s && S && b && typeof b.querySample == "function"), d = (l) => {
|
|
@@ -149,7 +149,7 @@ function L({ lazyTreeState: e, nodePath: t, mergedCollectionItem: n, expanded: r
|
|
|
149
149
|
sourcePath: m,
|
|
150
150
|
value: b
|
|
151
151
|
});
|
|
152
|
-
}, w = () => c`<calcite-tree-item disabled><div class="tree-item-label"><span class="constant-value">${i.errorMessage || (a.loaderror ?? "Unable to load data.")}</span></div></calcite-tree-item>`,
|
|
152
|
+
}, w = () => c`<calcite-tree-item disabled><div class="tree-item-label"><span class="constant-value">${i.errorMessage || (a.loaderror ?? "Unable to load data.")}</span></div></calcite-tree-item>`, W = () => u.kind !== "feature-set" || !i.schemaValue ? null : x({ name: "schema", value: i.schemaValue, messages: a, path: E(t, "schema"), lazyTreeState: e }), Q = () => u.kind !== "feature-set" || !u.mergedCollectionItem ? [] : X(u.mergedCollectionItem).map(([l, I]) => x({ name: l, value: z(I), messages: a, path: E(t, l), lazyTreeState: e })), Z = () => {
|
|
153
153
|
if (u.kind !== "feature-set")
|
|
154
154
|
return null;
|
|
155
155
|
if (!i.expanded || i.status === "loading")
|
|
@@ -158,15 +158,15 @@ function L({ lazyTreeState: e, nodePath: t, mergedCollectionItem: n, expanded: r
|
|
|
158
158
|
if (i.status === "error")
|
|
159
159
|
l.push(w());
|
|
160
160
|
else {
|
|
161
|
-
l.push(...
|
|
162
|
-
const I =
|
|
161
|
+
l.push(...Q());
|
|
162
|
+
const I = W();
|
|
163
163
|
I && l.push(I);
|
|
164
164
|
}
|
|
165
165
|
return l.length ? C(l) : C();
|
|
166
|
-
},
|
|
167
|
-
return c`<calcite-tree-item .expanded=${i.expanded} @calciteTreeItemExpand=${d} @calciteTreeItemCollapse=${y}><div class="tree-item-label">${T({ name: f, isMetadata: p })}<bdi>${u.displayValue}</bdi></div>${i.status === "loading" ? c`<calcite-loader slot=actions-end scale=s inline type=indeterminate .label=${a.loading ?? "Loading"} .text=${a.loading ?? "Loading"}></calcite-loader>` : null}${D ? c`<calcite-action slot=actions-end scale=s class="load-action" .text=${a.loadpreview ?? "Load preview"} text-enabled icon=play
|
|
166
|
+
}, _ = () => u.kind !== "collection" ? null : !i.expanded || i.status === "loading" ? C() : C(c`${i.status === "error" ? w() : null}${i.status === "loaded" ? i.collectionItems.map((l) => G({ name: l.name || l.id, mergedCollectionItem: l, messages: a, nodePath: E(t, l.id), lazyTreeState: e, value: l.featureSet, loadPreview: s, previewLabel: k(o, l.name || l.id), previewSourcePath: q(m, K(l)), previewLoading: g })) : null}`), j = () => u.kind === "collection" ? _() : Z();
|
|
167
|
+
return c`<calcite-tree-item .expanded=${i.expanded} @calciteTreeItemExpand=${d} @calciteTreeItemCollapse=${y}><div class="tree-item-label">${T({ name: f, isMetadata: p })}<bdi>${u.displayValue}</bdi></div>${i.status === "loading" ? c`<calcite-loader slot=actions-end scale=s inline type=indeterminate .label=${a.loading ?? "Loading"} .text=${a.loading ?? "Loading"}></calcite-loader>` : null}${D ? c`<calcite-action slot=actions-end scale=s class="load-action" .text=${a.loadpreview ?? "Load preview"} text-enabled icon=play .disabled=${g} @click=${V}></calcite-action>` : null}${j()}</calcite-tree-item>`;
|
|
168
168
|
}
|
|
169
|
-
function
|
|
169
|
+
function z(e) {
|
|
170
170
|
if (e == null)
|
|
171
171
|
return { type: "primitive", arcadeType: "", value: null };
|
|
172
172
|
switch (typeof e) {
|
|
@@ -185,7 +185,7 @@ function T({ name: e, isMetadata: t = !1 }) {
|
|
|
185
185
|
const n = t ? `dictionary-property ${N}` : "dictionary-property", r = t ? N : void 0;
|
|
186
186
|
return c`<bdi class=${R(n)}>${e}</bdi><bdi class=${R(r)}>: </bdi>`;
|
|
187
187
|
}
|
|
188
|
-
function
|
|
188
|
+
function P({ lazyTreeState: e, path: t, expanded: n = !1, value: r, subtree: p, messages: a, onLoadPreview: f, previewLabel: $, previewSourcePath: s, previewLoading: o = !1 }) {
|
|
189
189
|
const h = (d) => c`<calcite-tree slot=${"children"} .lines=${v.lines} .selectionMode=${v.selectionMode} .scale=${v.scale} @calciteTreeSelect=${v.oncalciteTreeSelect}>${d}</calcite-tree>`;
|
|
190
190
|
if (!n)
|
|
191
191
|
return h();
|
|
@@ -193,7 +193,7 @@ function ee({ lazyTreeState: e, path: t, expanded: n = !1, value: r, subtree: p,
|
|
|
193
193
|
V.stopPropagation(), e.showMore(t, d);
|
|
194
194
|
}}><div class="tree-item-label"><span class=${R(N)}>${a.showmore ?? "Show more"}</span></div></calcite-tree-item>`, i = r.expand();
|
|
195
195
|
if (Array.isArray(i)) {
|
|
196
|
-
const d = i.slice(0, g.visibleChildCount), y =
|
|
196
|
+
const d = i.slice(0, g.visibleChildCount), y = L(r) ? r.length : i.length;
|
|
197
197
|
return h(c`${d.map((V, w) => x({ name: w, value: V, messages: a, path: `${t}[${w}]`, lazyTreeState: e, onLoadPreview: f, previewLabel: k($, w), previewSourcePath: q(s, w), previewLoading: o }))}${u(i.length)}${x({ name: "length", value: { arcadeType: "Number", type: "primitive", value: y }, isMetadata: !0, messages: a, path: `${t}.length`, lazyTreeState: e })}`);
|
|
198
198
|
}
|
|
199
199
|
const b = r.arcadeType === "Feature" ? i.get("Geometry()") : void 0, S = Math.min(g.visibleChildCount, b ? i.size - 1 : i.size), m = [];
|
|
@@ -206,50 +206,53 @@ function ee({ lazyTreeState: e, path: t, expanded: n = !1, value: r, subtree: p,
|
|
|
206
206
|
const D = !!(b && g.visibleChildCount > m.length);
|
|
207
207
|
return h(c`${m.map(([d, y]) => x({ name: d, value: y, messages: a, path: `${t}.${d}`, lazyTreeState: e, onLoadPreview: f, previewLabel: k($, d), previewSourcePath: q(s, d), previewLoading: o }))}${D ? x({ name: "geometry", value: b, messages: a, path: `${t}.geometry`, lazyTreeState: e, onLoadPreview: f, previewLabel: k($, "geometry"), previewSourcePath: q(s, "geometry"), previewLoading: o }) : null}${u(i.size)}`);
|
|
208
208
|
}
|
|
209
|
-
function
|
|
209
|
+
function ee(e) {
|
|
210
210
|
return "expand" in e;
|
|
211
211
|
}
|
|
212
|
-
function
|
|
212
|
+
function te(e) {
|
|
213
213
|
return e.type === "simple";
|
|
214
214
|
}
|
|
215
|
-
function
|
|
215
|
+
function re(e) {
|
|
216
216
|
return e.type === "primitive";
|
|
217
217
|
}
|
|
218
|
-
function
|
|
218
|
+
function L(e) {
|
|
219
219
|
return e.type === "sequence-container";
|
|
220
220
|
}
|
|
221
|
-
function
|
|
221
|
+
function ne(e) {
|
|
222
222
|
return e.type === "feature-set";
|
|
223
223
|
}
|
|
224
|
-
function
|
|
224
|
+
function ie(e) {
|
|
225
225
|
return e.type === "feature-set-collection";
|
|
226
226
|
}
|
|
227
|
+
function le(e) {
|
|
228
|
+
return e.type === "minimal";
|
|
229
|
+
}
|
|
227
230
|
function ae(e) {
|
|
228
|
-
return
|
|
231
|
+
return ne(e) || ie(e);
|
|
229
232
|
}
|
|
230
233
|
function x({ lazyTreeState: e, path: t, name: n, value: r, messages: p, expanded: a, isMetadata: f = !1, onLoadPreview: $, previewLabel: s, previewSourcePath: o, previewLoading: h = !1 }) {
|
|
231
234
|
if (r === void 0)
|
|
232
235
|
return null;
|
|
233
236
|
if (r === null)
|
|
234
237
|
return c`<calcite-tree-item .expanded=${a}><div class="tree-item-label">${T({ name: n, isMetadata: f })}<bdi class="uninitialized-value tree-item-metadata">${p.uninitialized ?? "uninitialized"}</bdi></div></calcite-tree-item>`;
|
|
235
|
-
if (
|
|
238
|
+
if (ee(r)) {
|
|
236
239
|
const g = e.ensureNode(t, a), u = (m) => {
|
|
237
240
|
m.target === m.currentTarget && e.setExpanded(t, !0);
|
|
238
241
|
}, i = (m) => {
|
|
239
242
|
m.target === m.currentTarget && e.setExpanded(t, !1);
|
|
240
|
-
}, b = typeof r.arcadeType == "string" ? r.arcadeType : "unknown", S =
|
|
241
|
-
return c`<calcite-tree-item .expanded=${g.expanded} @calciteTreeItemExpand=${u} @calciteTreeItemCollapse=${i}><div class="tree-item-label">${T({ name: n, isMetadata: f })}<bdi>${S}</bdi></div>${
|
|
243
|
+
}, b = typeof r.arcadeType == "string" ? r.arcadeType : "unknown", S = L(r) ? `${b}(${r.length})` : b;
|
|
244
|
+
return c`<calcite-tree-item .expanded=${g.expanded} @calciteTreeItemExpand=${u} @calciteTreeItemCollapse=${i}><div class="tree-item-label">${T({ name: n, isMetadata: f })}<bdi>${S}</bdi></div>${P({ expanded: g.expanded, value: r, subtree: !0, messages: p, path: t, lazyTreeState: e, onLoadPreview: $, previewLabel: s, previewSourcePath: o, previewLoading: h })}</calcite-tree-item>`;
|
|
242
245
|
}
|
|
243
|
-
return ae(r) ?
|
|
246
|
+
return ae(r) ? G({ name: n, value: r, nodePath: t, lazyTreeState: e, messages: p, expanded: a, isMetadata: f, loadPreview: $, previewLabel: s, previewSourcePath: o, previewLoading: h }) : te(r) ? c`<calcite-tree-item .expanded=${a}><div class="tree-item-label">${T({ name: n, isMetadata: f })}${F({ value: r })}</div></calcite-tree-item>` : re(r) || le(r) ? c`<calcite-tree-item .expanded=${a}><div class="tree-item-label">${T({ name: n, isMetadata: f })}${F({ value: r })}</div></calcite-tree-item>` : null;
|
|
244
247
|
}
|
|
245
|
-
const
|
|
248
|
+
const F = ({ value: e }) => {
|
|
246
249
|
switch (e.type) {
|
|
247
250
|
case "primitive":
|
|
248
251
|
if (e.value === null)
|
|
249
252
|
return c`<bdi class="constant-value">null</bdi>`;
|
|
250
253
|
switch (e.arcadeType) {
|
|
251
254
|
case "String":
|
|
252
|
-
return c`<bdi class="string-value">${
|
|
255
|
+
return c`<bdi class="string-value">${O(String(e.value))}</bdi>`;
|
|
253
256
|
case "Number":
|
|
254
257
|
return c`<bdi class="number-value">${String(e.value)}</bdi>`;
|
|
255
258
|
case "Boolean":
|
|
@@ -267,12 +270,13 @@ const B = ({ value: e }) => {
|
|
|
267
270
|
};
|
|
268
271
|
export {
|
|
269
272
|
x as D,
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
273
|
+
F as S,
|
|
274
|
+
ie as a,
|
|
275
|
+
ne as b,
|
|
276
|
+
re as c,
|
|
277
|
+
te as d,
|
|
275
278
|
de as e,
|
|
276
|
-
|
|
279
|
+
le as f,
|
|
280
|
+
ee as i,
|
|
277
281
|
fe as p
|
|
278
282
|
};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import { html as a, unsafeCSS as
|
|
2
|
+
import { html as a, unsafeCSS as v, css as m } from "lit";
|
|
3
3
|
import { nothing as y, safeClassMap as l } from "@arcgis/lumina";
|
|
4
4
|
import { classes as i } from "@arcgis/toolkit/dom";
|
|
5
5
|
import { uncapitalize as f, quoteString as c } from "@arcgis/toolkit/string";
|
|
6
|
-
import { f as g, a as
|
|
6
|
+
import { f as g, a as b, b as $ } from "./arcade-executor.js";
|
|
7
7
|
import { t as o } from "./monaco-theme.js";
|
|
8
8
|
const s = {
|
|
9
9
|
lines: !0,
|
|
10
10
|
selectionMode: "none",
|
|
11
11
|
scale: "s",
|
|
12
12
|
oncalciteTreeSelect: (e) => e.currentTarget.selectedItems.forEach((t) => t.selected = !1)
|
|
13
|
-
}, u = "tree-item-metadata", p = ({ name: e, isMetadata: t = !1 }) => a`<
|
|
13
|
+
}, u = "tree-item-metadata", p = ({ name: e, isMetadata: t = !1 }) => a`<bdi class=${l(i("dictionary-property", t && u))}>${e}</bdi><bdi class=${l(i(t && u))}>: </bdi>`, z = ({ obj: e, subtree: t }) => a`<calcite-tree slot=${"children"} .lines=${s.lines} .selectionMode=${s.selectionMode} .scale=${s.scale} @calciteTreeSelect=${s.oncalciteTreeSelect}><calcite-tree-item class="string-value">${JSON.stringify(e, void 0, 2)}</calcite-tree-item></calcite-tree>`, N = ({ value: e, subtree: t = !1 }) => a`<calcite-tree slot=${(t ? "children" : void 0) ?? y} .lines=${s.lines} .selectionMode=${s.selectionMode} .scale=${s.scale} @calciteTreeSelect=${s.oncalciteTreeSelect}><calcite-tree-item><div class="tree-item-label">${p({ name: "type" })}<bdi>${f(e.type)}</bdi></div></calcite-tree-item><calcite-tree-item><div class="tree-item-label">${p({ name: "value" })}<span class="string-value">${JSON.stringify(e, void 0, 2)}</span></div></calcite-tree-item></calcite-tree>`, C = ({ type: e, value: t }) => {
|
|
14
14
|
switch (e) {
|
|
15
15
|
case "unknown":
|
|
16
16
|
case "Unknown":
|
|
@@ -75,9 +75,9 @@ function V(e) {
|
|
|
75
75
|
case "text":
|
|
76
76
|
return { type: e.type, value: e.value };
|
|
77
77
|
case "date":
|
|
78
|
-
return { type: e.type, value: b(e) };
|
|
79
|
-
case "dateOnly":
|
|
80
78
|
return { type: e.type, value: $(e) };
|
|
79
|
+
case "dateOnly":
|
|
80
|
+
return { type: e.type, value: b(e) };
|
|
81
81
|
case "time":
|
|
82
82
|
return { type: e.type, value: g(e) };
|
|
83
83
|
}
|
|
@@ -94,14 +94,14 @@ function A() {
|
|
|
94
94
|
`, e += `:host(:state(${S})),
|
|
95
95
|
`, e += `:host([calcite-mode-dark]) {
|
|
96
96
|
`;
|
|
97
|
-
const
|
|
98
|
-
return Object.entries(
|
|
97
|
+
const d = o["dark-theme"];
|
|
98
|
+
return Object.entries(d).forEach(([n, r]) => {
|
|
99
99
|
e += `
|
|
100
100
|
--arcgis-editor-${n}: ${r};`;
|
|
101
101
|
}), e += `
|
|
102
102
|
}
|
|
103
103
|
`, m`
|
|
104
|
-
${
|
|
104
|
+
${v(e)}
|
|
105
105
|
`;
|
|
106
106
|
}
|
|
107
107
|
const E = m`
|