@arcgis/coding-components 4.30.0-next.6 → 4.30.0-next.60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/dist/arcgis-coding-components/arcgis-coding-components.css +1 -1
  2. package/dist/arcgis-coding-components/arcgis-coding-components.esm.js +2 -2
  3. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ar.json +25 -0
  4. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.bg.json +25 -0
  5. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.bs.json +25 -0
  6. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ca.json +25 -0
  7. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.cs.json +25 -0
  8. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.da.json +25 -0
  9. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.de.json +25 -0
  10. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.el.json +25 -0
  11. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.en.json +25 -0
  12. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.es.json +25 -0
  13. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.et.json +25 -0
  14. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.fi.json +25 -0
  15. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.fr.json +25 -0
  16. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.he.json +25 -0
  17. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.hr.json +25 -0
  18. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.hu.json +25 -0
  19. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.id.json +25 -0
  20. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.it.json +25 -0
  21. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ja.json +25 -0
  22. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ko.json +25 -0
  23. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.lt.json +25 -0
  24. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.lv.json +25 -0
  25. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.nb.json +25 -0
  26. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.nl.json +25 -0
  27. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.pl.json +25 -0
  28. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.pt-BR.json +25 -0
  29. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.pt-PT.json +25 -0
  30. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ro.json +25 -0
  31. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ru.json +25 -0
  32. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sk.json +25 -0
  33. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sl.json +25 -0
  34. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sr.json +25 -0
  35. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sv.json +25 -0
  36. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.th.json +25 -0
  37. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.tr.json +25 -0
  38. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.uk.json +25 -0
  39. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.vi.json +25 -0
  40. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.zh-CN.json +25 -0
  41. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.zh-HK.json +25 -0
  42. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.zh-TW.json +25 -0
  43. package/dist/arcgis-coding-components/assets/code-editor/arcade.worker.js +1 -1
  44. package/dist/arcgis-coding-components/assets/code-editor/css.worker.js +1 -1
  45. package/dist/arcgis-coding-components/assets/code-editor/editor.worker.js +1 -1
  46. package/dist/arcgis-coding-components/assets/code-editor/html.worker.js +1 -1
  47. package/dist/arcgis-coding-components/assets/code-editor/json.worker.js +1 -1
  48. package/dist/arcgis-coding-components/assets/code-editor/ts.worker.js +1 -1
  49. package/dist/arcgis-coding-components/index.esm.js +2 -2
  50. package/dist/arcgis-coding-components/{p-90fb100f.js → p-297663c9.js} +2 -2
  51. package/dist/arcgis-coding-components/{p-9d1d979c.js → p-45801ffe.js} +1 -1
  52. package/dist/arcgis-coding-components/{p-5d6fc1e7.js → p-48f37b8e.js} +2 -2
  53. package/dist/arcgis-coding-components/p-53b69ec3.js +68 -0
  54. package/dist/arcgis-coding-components/{p-5adc9cfb.js → p-55ac23d1.js} +2 -2
  55. package/dist/arcgis-coding-components/{p-7ca4aa88.js → p-6be741ea.js} +3 -3
  56. package/dist/arcgis-coding-components/{p-ef4155a9.js → p-6d2daea8.js} +3 -3
  57. package/dist/arcgis-coding-components/p-9c6bb77a.js +7 -0
  58. package/dist/arcgis-coding-components/p-a7f7c1aa.entry.js +6 -0
  59. package/dist/arcgis-coding-components/{p-b9722015.js → p-c3c62032.js} +2 -2
  60. package/dist/arcgis-coding-components/{p-eb917f3a.js → p-c94e9b77.js} +2 -2
  61. package/dist/arcgis-coding-components/{p-d196feb5.js → p-f411a906.js} +2 -2
  62. package/dist/cjs/{arcade-defaults-70b8df41.js → arcade-defaults-25e01647.js} +561 -214
  63. package/dist/cjs/{arcade-mode-414c66f4.js → arcade-mode-80f256b2.js} +45 -51
  64. package/dist/cjs/arcgis-arcade-api_6.cjs.entry.js +1558 -289
  65. package/dist/cjs/arcgis-coding-components.cjs.js +3 -3
  66. package/dist/cjs/{css-0300126d.js → css-a4343f63.js} +1 -1
  67. package/dist/cjs/{cssMode-639e66e0.js → cssMode-a55308d9.js} +3 -3
  68. package/dist/cjs/{html-e3fdf204.js → html-0d7ea22e.js} +3 -3
  69. package/dist/cjs/{htmlMode-10f18c9b.js → htmlMode-f49a890f.js} +3 -3
  70. package/dist/cjs/{index-adc344c5.js → index-cc90af2a.js} +40 -4
  71. package/dist/cjs/index.cjs.js +3 -3
  72. package/dist/cjs/{javascript-aa185858.js → javascript-ca83132d.js} +4 -4
  73. package/dist/cjs/{jsonMode-f518f7ed.js → jsonMode-4ae5f2d3.js} +3 -3
  74. package/dist/cjs/loader.cjs.js +3 -3
  75. package/dist/cjs/{tsMode-26a73467.js → tsMode-f3f32f78.js} +3 -3
  76. package/dist/cjs/{typescript-15f88a16.js → typescript-a3feebd1.js} +3 -3
  77. package/dist/components/arcade-api.js +21 -32
  78. package/dist/components/arcade-contribution.js +71 -12
  79. package/dist/components/arcade-defaults.js +93 -114
  80. package/dist/components/arcade-mode.js +44 -50
  81. package/dist/components/arcade-results.js +47 -60
  82. package/dist/components/arcade-suggestions.js +23 -33
  83. package/dist/components/arcade-variables.js +22 -36
  84. package/dist/components/arcgis-arcade-api.js +1 -1
  85. package/dist/components/arcgis-arcade-editor.js +60 -150
  86. package/dist/components/arcgis-arcade-results.js +1 -1
  87. package/dist/components/arcgis-arcade-suggestions.js +1 -1
  88. package/dist/components/arcgis-arcade-variables.js +1 -1
  89. package/dist/components/arcgis-assets.d.ts +1 -1
  90. package/dist/components/arcgis-assets.js +1 -1
  91. package/dist/components/arcgis-code-editor.js +1 -1
  92. package/dist/components/chunk-A2KF2X73.js +1273 -0
  93. package/dist/components/code-editor.js +70 -78
  94. package/dist/components/fields.js +40 -44
  95. package/dist/components/index.js +1 -1
  96. package/dist/components/index2.js +372 -3
  97. package/dist/components/markdown.js +9 -11
  98. package/dist/components/useT9n.js +35 -0
  99. package/dist/components/utilities.js +3 -3
  100. package/dist/esm/{arcade-defaults-87f41324.js → arcade-defaults-c0b9c076.js} +545 -201
  101. package/dist/esm/{arcade-mode-391974e7.js → arcade-mode-792cbcf5.js} +45 -51
  102. package/dist/esm/arcgis-arcade-api_6.entry.js +1558 -289
  103. package/dist/esm/arcgis-coding-components.js +4 -4
  104. package/dist/esm/{css-2e473dc7.js → css-5c8d2920.js} +1 -1
  105. package/dist/esm/{cssMode-17d87e3a.js → cssMode-8fa2f14c.js} +3 -3
  106. package/dist/esm/{html-8b3066e6.js → html-e888de7a.js} +3 -3
  107. package/dist/esm/{htmlMode-ad2b857d.js → htmlMode-774cf48f.js} +3 -3
  108. package/dist/esm/{index-e85ba44c.js → index-052906ef.js} +40 -4
  109. package/dist/esm/index.js +3 -3
  110. package/dist/esm/{javascript-00a0be9d.js → javascript-b5c99634.js} +4 -4
  111. package/dist/esm/{jsonMode-b6f2e0b4.js → jsonMode-48b7186d.js} +3 -3
  112. package/dist/esm/loader.js +4 -4
  113. package/dist/esm/{tsMode-84b08f5b.js → tsMode-a9ff7531.js} +3 -3
  114. package/dist/esm/{typescript-f47937d0.js → typescript-9bbf3eca.js} +3 -3
  115. package/dist/loader/cdn.js +1 -1
  116. package/dist/loader/index.cjs.js +1 -1
  117. package/dist/loader/index.es2017.js +1 -1
  118. package/dist/loader/index.js +1 -1
  119. package/dist/types/components/arcade-api/arcade-api.d.ts +6 -7
  120. package/dist/types/components/arcade-editor/arcade-editor.d.ts +18 -12
  121. package/dist/types/components/arcade-results/arcade-results.d.ts +6 -9
  122. package/dist/types/components/arcade-suggestions/arcade-suggestions.d.ts +7 -8
  123. package/dist/types/components/arcade-variables/arcade-variables.d.ts +6 -8
  124. package/dist/types/components/code-editor/code-editor.d.ts +23 -13
  125. package/dist/types/components.d.ts +57 -35
  126. package/dist/types/controllers/useT9n.d.ts +1 -0
  127. package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stencil.config.d.ts +3 -0
  128. package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/arcade-editor/arcade-editor.stories.d.ts +27 -0
  129. package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/arcade-editor/editorContext.d.ts +11 -0
  130. package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/code-editor/code-editor.stories.d.ts +6 -0
  131. package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/reference/stories/arcade-editor.stories.d.ts +9 -0
  132. package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/support/sass-inline-url-importer.d.ts +9 -0
  133. package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/support/sass-json-importer.d.ts +19 -0
  134. package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/support/stencil-monaco-plugins.d.ts +6 -0
  135. package/dist/types/utils/arcade-monaco/arcade-language-features.d.ts +1 -1
  136. package/dist/types/utils/profile/types.d.ts +13 -11
  137. package/dist/types/utils/profile/utils.d.ts +0 -2
  138. package/package.json +21 -20
  139. package/dist/arcgis-coding-components/p-1fc82a07.js +0 -68
  140. package/dist/arcgis-coding-components/p-1feca957.js +0 -7
  141. package/dist/arcgis-coding-components/p-27cce129.entry.js +0 -6
@@ -1,13 +1,13 @@
1
1
  /*!
2
2
  * All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  * See https://js.arcgis.com/4.30/esri/copyright.txt for details.
4
- * v4.30.0-next.6
4
+ * v4.30.0-next.60
5
5
  */
6
6
  import { Emitter, Uri } from 'monaco-editor';
7
7
  import { InsertTextMode, InsertTextFormat, CompletionItemKind } from 'vscode-languageserver-types';
8
8
  import { i as importLayersFeatureLayer, a as importRequest, s as supportedFields, n as newPortalPortalItem, b as newWebScene, c as newWebMap, f as fieldAlias, d as fieldTypeToIconName, e as fieldTypeToArcadeType } from './fields.js';
9
9
  import { p as portalItemPageUrl } from './utilities.js';
10
- import { e as ee, t as te, G, Z, E, v } from './index2.js';
10
+ import { i as isNotNull, a as isNotUndefined, b as addLTRMark, s as setValuesInString, c as supportedLocales, f as fetchT9NStringsBundle } from './index2.js';
11
11
  import { getArcgisAssetPath as getAssetPath } from "./arcgis-assets.js";
12
12
 
13
13
  //#region core adapter fix
@@ -18,20 +18,6 @@ async function newFeatureLayer(definition) {
18
18
  }
19
19
  //#endregion
20
20
  //#region Type Guards
21
- function isSupportedLayerInstance(item) {
22
- return (!!item &&
23
- typeof item === "object" &&
24
- "declaredClass" in item &&
25
- typeof item.declaredClass === "string" &&
26
- item.declaredClass.startsWith("esri.layers."));
27
- }
28
- function isFeatureSetInstance(item) {
29
- return (!!item &&
30
- typeof item === "object" &&
31
- "declaredClass" in item &&
32
- typeof item.declaredClass === "string" &&
33
- item.declaredClass === "esri.rest.support.FeatureSet");
34
- }
35
21
  function isQueryableLayerInstance(item) {
36
22
  return (!!item &&
37
23
  typeof item === "object" &&
@@ -81,10 +67,10 @@ function isFeatureLayerItemDefinition(item) {
81
67
  return !!item && typeof item === "object" && "portalItem" in item && item.portalItem != null;
82
68
  }
83
69
  function isFieldsDefinition(item) {
84
- return (!!item && typeof item === "object" && "fields" in item && Array.isArray(item.fields) && !("declaredClass" in item));
70
+ return !!item && typeof item === "object" && "fields" in item && Array.isArray(item.fields);
85
71
  }
86
72
  function isUrlDefinition(item) {
87
- return (!!item && typeof item === "object" && "url" in item && typeof item.url === "string" && !("declaredClass" in item));
73
+ return !!item && typeof item === "object" && "url" in item && typeof item.url === "string";
88
74
  }
89
75
  function isSubtypeInstance(item) {
90
76
  return (!!item &&
@@ -154,7 +140,7 @@ async function supportedSourceFromDefinition(definition) {
154
140
  return null;
155
141
  }
156
142
  let source = null;
157
- if (isSupportedLayerInstance(definition) || isFeatureSetInstance(definition) || isFieldsDefinition(definition)) {
143
+ if (isFieldsDefinition(definition)) {
158
144
  source = definition;
159
145
  }
160
146
  else {
@@ -171,25 +157,30 @@ async function serviceMetaData(url) {
171
157
  const response = await request(url, { responseType: "json", query: { f: "json" } });
172
158
  const data = {
173
159
  layers: response.data?.layers ?? [],
174
- tables: response.data?.tables ?? []
160
+ tables: response.data?.tables ?? [],
175
161
  };
176
162
  const queryCapability = url.endsWith("MapServer/layers") ? "data" : "query";
177
- const layers = filterFeatureLayerInfos(data.layers, queryCapability);
178
- const tables = filterFeatureLayerInfos(data.tables, queryCapability);
163
+ const layers = getSupportedLayerInfos(data.layers, queryCapability);
164
+ const tables = getSupportedLayerInfos(data.tables, queryCapability);
179
165
  return { layers, tables };
180
166
  }
181
- function filterFeatureLayerInfos(layers, queryCapability) {
167
+ function getSupportedLayerInfos(layers, queryCapability) {
182
168
  return layers.filter((layer) => {
183
- if (layer.type !== "Feature Layer" && layer.type !== "Table") {
184
- return false;
185
- }
186
- const capabilities = layer.capabilities
187
- ? layer.capabilities
188
- .toLowerCase()
189
- .split(",")
190
- .map((value) => value.trim())
191
- : [];
192
- return capabilities.includes(queryCapability);
169
+ switch (layer.type) {
170
+ case "Feature Layer":
171
+ case "Oriented Imagery Layer":
172
+ case "Table": {
173
+ const capabilities = layer.capabilities
174
+ ? layer.capabilities
175
+ .toLowerCase()
176
+ .split(",")
177
+ .map((value) => value.trim())
178
+ : [];
179
+ return capabilities.includes(queryCapability);
180
+ }
181
+ default:
182
+ return false;
183
+ }
193
184
  });
194
185
  }
195
186
  //#endregion
@@ -287,8 +278,8 @@ function variableToLSVariable(editorVariable, kind) {
287
278
  insertTextMode: InsertTextMode.asIs,
288
279
  insertTextFormat: InsertTextFormat.PlainText,
289
280
  kind,
290
- documentation: { kind: "markdown", value: description }
291
- }
281
+ documentation: { kind: "markdown", value: description },
282
+ },
292
283
  };
293
284
  }
294
285
  async function featureToLSFeature(editorFeature, kind) {
@@ -302,14 +293,14 @@ async function featureToLSFeature(editorFeature, kind) {
302
293
  insertText: name,
303
294
  insertTextMode: InsertTextMode.asIs,
304
295
  insertTextFormat: InsertTextFormat.PlainText,
305
- kind
296
+ kind,
306
297
  };
307
298
  const result = {
308
299
  name,
309
300
  description,
310
301
  type: "dictionary",
311
302
  properties: [],
312
- completion: resultCompletion
303
+ completion: resultCompletion,
313
304
  };
314
305
  // No source definition, then it will be a feature without any known fields
315
306
  if (!source) {
@@ -347,8 +338,8 @@ async function featureToLSFeature(editorFeature, kind) {
347
338
  insertTextMode: InsertTextMode.asIs,
348
339
  insertTextFormat: InsertTextFormat.PlainText,
349
340
  kind: CompletionItemKind.Field,
350
- documentation: { kind: "markdown", value: fieldCompletionDescription }
351
- }
341
+ documentation: { kind: "markdown", value: fieldCompletionDescription },
342
+ },
352
343
  });
353
344
  if (!field.alias || field.alias.toLowerCase() === field.name.toLowerCase()) {
354
345
  return;
@@ -369,8 +360,8 @@ async function featureToLSFeature(editorFeature, kind) {
369
360
  insertTextMode: InsertTextMode.asIs,
370
361
  insertTextFormat: InsertTextFormat.PlainText,
371
362
  kind: CompletionItemKind.Field,
372
- documentation: { kind: "markdown", value: aliasCompletionDescription }
373
- }
363
+ documentation: { kind: "markdown", value: aliasCompletionDescription },
364
+ },
374
365
  });
375
366
  });
376
367
  result.properties = [...fieldProfileValues, ...aliasProfileValues];
@@ -403,8 +394,8 @@ async function dictionaryToLSDictionary(editorDictionary, kind) {
403
394
  insertTextMode: InsertTextMode.asIs,
404
395
  insertTextFormat: InsertTextFormat.PlainText,
405
396
  kind,
406
- documentation: { kind: "markdown", value: completionDescription }
407
- }
397
+ documentation: { kind: "markdown", value: completionDescription },
398
+ },
408
399
  };
409
400
  }
410
401
  /**
@@ -431,9 +422,9 @@ class ProfileItemBase {
431
422
  // If the component is under RTL, the string is messed up.
432
423
  // It is converted from $feature to feature$, This is not acceptable since the label
433
424
  // represents a variable name. We are adding in front of the $ sign a right to left mark.
434
- return G(this._label);
425
+ return addLTRMark(this._label);
435
426
  }
436
- return Z(this._profile?.intlStrings[this._label.code], this._label.formatValues);
427
+ return setValuesInString(this._profile?.intlStrings[this._label.code], this._label.formatValues);
437
428
  }
438
429
  /**
439
430
  * Returns the description string.
@@ -445,7 +436,7 @@ class ProfileItemBase {
445
436
  if (typeof this.description === "string") {
446
437
  return this.description;
447
438
  }
448
- return Z(this._profile?.intlStrings[this.description.code], this.description.formatValues);
439
+ return setValuesInString(this._profile?.intlStrings[this.description.code], this.description.formatValues);
449
440
  }
450
441
  /**
451
442
  * Returns true if the item pass the filter test
@@ -622,28 +613,28 @@ class DictionaryVariable extends CollectionBasedVariable {
622
613
  return new FeatureVariable(this, { profile: this._profile, declaration, label: snippet, snippet });
623
614
  case "featureSet":
624
615
  return new FeatureSetVariable(this, { profile: this._profile, declaration, label: snippet, snippet }, [
625
- new ValueVariable({ profile: this._profile, label: snippet, description: "", snippet })
616
+ new ValueVariable({ profile: this._profile, label: snippet, description: "", snippet }),
626
617
  ]);
627
618
  case "featureSetCollection":
628
619
  return new FeatureSetCollectionVariable(this, {
629
620
  profile: this._profile,
630
621
  declaration,
631
622
  label: snippet,
632
- snippet
623
+ snippet,
633
624
  });
634
625
  case "dictionary":
635
626
  return new DictionaryVariable(this, {
636
627
  profile: this._profile,
637
628
  declaration,
638
629
  label: snippet,
639
- snippet
630
+ snippet,
640
631
  });
641
632
  case "array":
642
633
  return new ArrayVariable({
643
634
  profile: this._profile,
644
635
  declaration,
645
636
  label: snippet,
646
- snippet
637
+ snippet,
647
638
  });
648
639
  default:
649
640
  console.error("Editor profile: Invalid profile variable", declaration);
@@ -655,7 +646,7 @@ class DictionaryVariable extends CollectionBasedVariable {
655
646
  type: this.type,
656
647
  name: "",
657
648
  ...this.declaration,
658
- properties: this.dictionaryVariables.map((variable) => variable.toProfileVariableDefinition())
649
+ properties: this.dictionaryVariables.map((variable) => variable.toProfileVariableDefinition()),
659
650
  };
660
651
  }
661
652
  }
@@ -686,7 +677,7 @@ class SourceBasedVariable extends CollectionBasedVariable {
686
677
  return this._profile?.intlStrings.layer ?? "layer";
687
678
  }
688
679
  async loadSource() {
689
- if (ee(this._loadPromise) && te(this._loadPromise)) {
680
+ if (isNotNull(this._loadPromise) && isNotUndefined(this._loadPromise)) {
690
681
  return await this._loadPromise;
691
682
  }
692
683
  this._loadPromise = this._loadSource();
@@ -721,7 +712,7 @@ class SourceBasedVariable extends CollectionBasedVariable {
721
712
  description: fieldAlias(field),
722
713
  snippet: valueSnippet,
723
714
  icon: fieldTypeToIconName(field),
724
- filterDescription: true
715
+ filterDescription: true,
725
716
  });
726
717
  }
727
718
  _getDomainDictionary(field) {
@@ -814,7 +805,7 @@ class SourceBasedVariable extends CollectionBasedVariable {
814
805
  return null;
815
806
  }
816
807
  const domainValuesGroup = this._getCodedValueDomainGroup(fieldDomain, {
817
- code: "domainvalues"
808
+ code: "domainvalues",
818
809
  });
819
810
  const domainDictionary = this._createDomainDictionary(field);
820
811
  domainDictionary.variables.push(domainValuesGroup);
@@ -832,7 +823,7 @@ class SourceBasedVariable extends CollectionBasedVariable {
832
823
  profile: this._profile,
833
824
  label: `${label}`,
834
825
  description: t.name,
835
- snippet: `"${label}"`
826
+ snippet: `"${label}"`,
836
827
  });
837
828
  }) ?? [];
838
829
  return new GroupOfVariables(this._profile, { code: "subtypes" }, values);
@@ -843,7 +834,7 @@ class SourceBasedVariable extends CollectionBasedVariable {
843
834
  label: `${v.code}`,
844
835
  description: v.name,
845
836
  snippet: `"${v.code}"`,
846
- filterDescription: true
837
+ filterDescription: true,
847
838
  }));
848
839
  return new GroupOfVariables(this._profile, label, values);
849
840
  }
@@ -869,8 +860,8 @@ class SourceBasedVariable extends CollectionBasedVariable {
869
860
  code: "domainvaluesfortypeformat",
870
861
  formatValues: {
871
862
  fieldName: alias,
872
- typeName: type.name
873
- }
863
+ typeName: type.name,
864
+ },
874
865
  });
875
866
  const id = isSubtypeInstance(type) ? type.code : type.id;
876
867
  const label = `${id}`;
@@ -880,7 +871,7 @@ class SourceBasedVariable extends CollectionBasedVariable {
880
871
  label,
881
872
  snippet,
882
873
  description: type.name,
883
- declaration: { name: alias }
874
+ declaration: { name: alias },
884
875
  });
885
876
  subtypeDictionary.variables = [domainValuesGroup];
886
877
  variables.push(subtypeDictionary);
@@ -902,7 +893,7 @@ class SourceBasedVariable extends CollectionBasedVariable {
902
893
  description: alias,
903
894
  snippet: valueSnippet,
904
895
  icon: "form-dropdown",
905
- declaration: { name: field.name }
896
+ declaration: { name: field.name },
906
897
  });
907
898
  // Add the header group
908
899
  const headerGroup = new GroupOfVariables(this._profile, alias, [
@@ -910,8 +901,8 @@ class SourceBasedVariable extends CollectionBasedVariable {
910
901
  profile: this._profile,
911
902
  label: valueSnippet,
912
903
  description: "",
913
- snippet: valueSnippet
914
- })
904
+ snippet: valueSnippet,
905
+ }),
915
906
  ]);
916
907
  domainDictionary.variables = [headerGroup];
917
908
  // Add the SubtypeName or DomainName snippet if available
@@ -921,7 +912,7 @@ class SourceBasedVariable extends CollectionBasedVariable {
921
912
  profile: this._profile,
922
913
  label: subtypeOrDomainNameSnippet,
923
914
  description: "",
924
- snippet: subtypeOrDomainNameSnippet
915
+ snippet: subtypeOrDomainNameSnippet,
925
916
  }));
926
917
  }
927
918
  return domainDictionary;
@@ -951,10 +942,10 @@ class SourceBasedVariable extends CollectionBasedVariable {
951
942
  declaration: { definition: relatedLayer },
952
943
  label: relatedLayer.title,
953
944
  description: "",
954
- nonInteractive: true
945
+ nonInteractive: true,
955
946
  }, [new ValueVariable({ profile: this._profile, label: snippet, description: "", snippet })], { exposeRelationships: true, sourceTableId: source.layerId });
956
947
  }));
957
- relationshipsGroup.variables = relationshipItems.filter(ee);
948
+ relationshipsGroup.variables = relationshipItems.filter(isNotNull);
958
949
  if (!relationshipsGroup.variables.length) {
959
950
  return null;
960
951
  }
@@ -967,8 +958,8 @@ class FeatureVariable extends SourceBasedVariable {
967
958
  this.type = "feature";
968
959
  }
969
960
  get title() {
970
- if (isSupportedLayerInstance(this._source)) {
971
- return this._source.title;
961
+ if (isTitleCapableSource(this._source)) {
962
+ return this._source.title ?? "";
972
963
  }
973
964
  return { code: "feature" };
974
965
  }
@@ -982,14 +973,14 @@ class FeatureVariable extends SourceBasedVariable {
982
973
  throw new Error("Invalid definition");
983
974
  }
984
975
  // The title group and snippet
985
- const title = isSupportedLayerInstance(this._source) ? this._source.title : "";
976
+ const title = isTitleCapableSource(this._source) ? this._source.title ?? "" : "";
986
977
  this.variables.push(new GroupOfVariables(this._profile, title, [
987
978
  new ValueVariable({
988
979
  profile: this._profile,
989
980
  label: this.snippet,
990
981
  description: "",
991
- snippet: this.snippet
992
- })
982
+ snippet: this.snippet,
983
+ }),
993
984
  ]));
994
985
  // The collection of feature attribute values
995
986
  const valuesGroup = new GroupOfVariables(this._profile, { code: "values" });
@@ -1004,7 +995,7 @@ class FeatureVariable extends SourceBasedVariable {
1004
995
  description: "Geometry",
1005
996
  snippet,
1006
997
  icon: "shapes",
1007
- filterDescription: true
998
+ filterDescription: true,
1008
999
  });
1009
1000
  valuesGroup.variables.push(geometryProperty);
1010
1001
  }
@@ -1017,8 +1008,8 @@ class FeatureVariable extends SourceBasedVariable {
1017
1008
  this.variables.push(relationshipsGroup);
1018
1009
  }
1019
1010
  }
1020
- catch (e) {
1021
- console.error("Loading issue", e, this);
1011
+ catch (error) {
1012
+ console.error("Error with definition", error, this._definition);
1022
1013
  this._source = null;
1023
1014
  }
1024
1015
  finally {
@@ -1040,8 +1031,8 @@ class FeatureSetVariable extends SourceBasedVariable {
1040
1031
  this.type = "featureSet";
1041
1032
  }
1042
1033
  get title() {
1043
- if (isSupportedLayerInstance(this._source)) {
1044
- return this._source.title;
1034
+ if (isTitleCapableSource(this._source)) {
1035
+ return this._source.title ?? "";
1045
1036
  }
1046
1037
  return { code: "featureset" };
1047
1038
  }
@@ -1068,8 +1059,8 @@ class FeatureSetVariable extends SourceBasedVariable {
1068
1059
  this.variables.push(relationshipsGroup);
1069
1060
  }
1070
1061
  }
1071
- catch (e) {
1072
- console.error("Loading issue", e, this);
1062
+ catch (error) {
1063
+ console.error("Error with definition", error, this._definition);
1073
1064
  this._source = null;
1074
1065
  }
1075
1066
  finally {
@@ -1118,7 +1109,7 @@ class FeatureSetCollectionVariable extends CollectionBasedVariable {
1118
1109
  return this._profile?.intlStrings.map ?? "map";
1119
1110
  }
1120
1111
  async loadSource() {
1121
- if (ee(this._loadPromise) && te(this._loadPromise)) {
1112
+ if (isNotNull(this._loadPromise) && isNotUndefined(this._loadPromise)) {
1122
1113
  return await this._loadPromise;
1123
1114
  }
1124
1115
  this._loadPromise = this._loadSource();
@@ -1139,24 +1130,24 @@ class FeatureSetCollectionVariable extends CollectionBasedVariable {
1139
1130
  : {
1140
1131
  code: "webmapformat",
1141
1132
  formatValues: {
1142
- webMapTitle: getMapPortalItem(this._featureSetCollections.source)?.title || "Untitled map"
1143
- }
1133
+ webMapTitle: getMapPortalItem(this._featureSetCollections.source)?.title || "Untitled map",
1134
+ },
1144
1135
  };
1145
1136
  const headerGroup = new GroupOfVariables(this._profile, groupLabel, [
1146
1137
  new ValueVariable({
1147
1138
  profile: this._profile,
1148
1139
  label: this.snippet,
1149
1140
  description: "",
1150
- snippet: this.snippet
1151
- })
1141
+ snippet: this.snippet,
1142
+ }),
1152
1143
  ]);
1153
1144
  // Creates the groups for the layer and tables
1154
1145
  const layersGroup = new GroupOfVariables(this._profile, { code: "layers" }, this._featureSetCollections.layers);
1155
1146
  const tablesGroup = new GroupOfVariables(this._profile, { code: "tables" }, this._featureSetCollections.tables);
1156
1147
  this.variables.push(headerGroup, layersGroup, tablesGroup);
1157
1148
  }
1158
- catch (e) {
1159
- console.error("Loading issue", e, this);
1149
+ catch (error) {
1150
+ console.error("Error with definition", error, this._definition);
1160
1151
  this._featureSetCollections = null;
1161
1152
  }
1162
1153
  finally {
@@ -1171,7 +1162,7 @@ class FeatureSetCollectionVariable extends CollectionBasedVariable {
1171
1162
  if (isMapInstance(this._definition)) {
1172
1163
  return await this._featureSetCollectionFromMap(this._definition);
1173
1164
  }
1174
- if (isSupportedLayerInstance(this._definition)) {
1165
+ if (isUrlDefinition(this._definition)) {
1175
1166
  return await this._featureSetCollectionFromUrl(this._definition.url);
1176
1167
  }
1177
1168
  if (isPortalItemDefinition(this._definition)) {
@@ -1179,10 +1170,6 @@ class FeatureSetCollectionVariable extends CollectionBasedVariable {
1179
1170
  // or Feature Service
1180
1171
  return await this._featureSetCollectionFromPortalItem(this._definition.portalItem);
1181
1172
  }
1182
- if (isUrlDefinition(this._definition)) {
1183
- // Assume that the url is pointing to a feature server
1184
- return await this._featureSetCollectionFromUrl(this._definition.url);
1185
- }
1186
1173
  return null;
1187
1174
  }
1188
1175
  async _featureSetCollectionFromMap(map) {
@@ -1195,7 +1182,7 @@ class FeatureSetCollectionVariable extends CollectionBasedVariable {
1195
1182
  return {
1196
1183
  layers: this._convertWebMapLayersToVariables(map.layers),
1197
1184
  tables: this._convertWebMapLayersToVariables(map.tables, true),
1198
- source: map
1185
+ source: map,
1199
1186
  };
1200
1187
  }
1201
1188
  async _featureSetCollectionFromPortalItem(definition) {
@@ -1263,7 +1250,7 @@ class FeatureSetCollectionVariable extends CollectionBasedVariable {
1263
1250
  declaration: { name: featureLayer.title, definition: featureLayer },
1264
1251
  label: featureLayer.title,
1265
1252
  description: "",
1266
- nonInteractive: true
1253
+ nonInteractive: true,
1267
1254
  }, this._makeFeatureSetSnippets(featureLayer, isFromWebMap));
1268
1255
  }
1269
1256
  _makeFeatureSetSnippets(featureLayer, isFromWebMap = false) {
@@ -1275,7 +1262,7 @@ class FeatureSetCollectionVariable extends CollectionBasedVariable {
1275
1262
  const snippetByName = `FeatureSetByName(${this.snippet}, "${featureLayer.title}")`;
1276
1263
  return [
1277
1264
  new ValueVariable({ profile: this._profile, label: snippetById, description: "", snippet: snippetById }),
1278
- new ValueVariable({ profile: this._profile, label: snippetByName, description: "", snippet: snippetByName })
1265
+ new ValueVariable({ profile: this._profile, label: snippetByName, description: "", snippet: snippetByName }),
1279
1266
  ];
1280
1267
  }
1281
1268
  else {
@@ -1300,7 +1287,7 @@ class EditorProfile extends DictionaryVariable {
1300
1287
  // Delay the load of the variable declarations so we have a `this`
1301
1288
  super(undefined, {
1302
1289
  profile: null,
1303
- declaration: { properties: [] }
1290
+ declaration: { properties: [] },
1304
1291
  });
1305
1292
  this.definition = definition;
1306
1293
  this.intlStrings = intlStrings;
@@ -1332,28 +1319,20 @@ class EditorProfile extends DictionaryVariable {
1332
1319
  toEditorProfileDefinition() {
1333
1320
  return {
1334
1321
  ...this.definition,
1335
- variables: this.dictionaryVariables.map((variable) => variable.toProfileVariableDefinition())
1322
+ variables: this.dictionaryVariables.map((variable) => variable.toProfileVariableDefinition()),
1336
1323
  };
1337
1324
  }
1338
1325
  }
1339
1326
  //#endregion
1340
1327
 
1341
1328
  function isFeatureDefinition(item) {
1342
- return (isSupportedLayerInstance(item) ||
1343
- isFeatureSetInstance(item) ||
1344
- isUrlDefinition(item) ||
1345
- isFieldsDefinition(item) ||
1346
- isFeatureLayerItemDefinition(item));
1329
+ return isUrlDefinition(item) || isFieldsDefinition(item) || isFeatureLayerItemDefinition(item);
1347
1330
  }
1348
1331
  function isFeatureSetDefinition(item) {
1349
- return (isQueryableLayerInstance(item) ||
1350
- isFeatureSetInstance(item) ||
1351
- isUrlDefinition(item) ||
1352
- isFieldsDefinition(item) ||
1353
- isFeatureLayerItemDefinition(item));
1332
+ return isUrlDefinition(item) || isFieldsDefinition(item) || isFeatureLayerItemDefinition(item);
1354
1333
  }
1355
1334
  function isFeatureSetCollectionDefinition(item) {
1356
- return isPortalItemDefinition(item) || isMapInstance(item) || isFeatureSetDefinition(item);
1335
+ return isPortalItemDefinition(item) || isMapInstance(item) || isUrlDefinition(item);
1357
1336
  }
1358
1337
  /**
1359
1338
  * Get a PredefinedProfile for a locale. If not already loaded then fetch it.
@@ -1365,7 +1344,7 @@ async function getSdkPredefinedProfiles(locale = "en") {
1365
1344
  if (profiles) {
1366
1345
  return profiles;
1367
1346
  }
1368
- if (!E.has(locale)) {
1347
+ if (!supportedLocales.has(locale)) {
1369
1348
  return await getSdkPredefinedProfiles("en");
1370
1349
  }
1371
1350
  try {
@@ -1411,13 +1390,13 @@ function convertApiVariable(variable) {
1411
1390
  return {
1412
1391
  ...variable,
1413
1392
  type: variable.type,
1414
- properties: convertApiVariables(variable.properties)
1393
+ properties: convertApiVariables(variable.properties),
1415
1394
  };
1416
1395
  case "array": {
1417
1396
  return {
1418
1397
  ...variable,
1419
1398
  type: variable.type,
1420
- elementType: { type: "number", name: "number" }
1399
+ elementType: { type: "number", name: "number" },
1421
1400
  };
1422
1401
  }
1423
1402
  default:
@@ -1435,7 +1414,7 @@ async function convertToEditorProfileDefinition(predefinedProfile, locale = "en"
1435
1414
  const editorProfile = {
1436
1415
  bundles: [...sdkPredefinedProfile.bundles],
1437
1416
  variables: [],
1438
- hiddenApiItems: predefinedProfile.hiddenApiItems?.map((s) => s.toLowerCase())
1417
+ hiddenApiItems: predefinedProfile.hiddenApiItems?.map((s) => s.toLowerCase()),
1439
1418
  };
1440
1419
  // Merge the SDK variables' definitions/properties with the predefined profile definitions.
1441
1420
  sdkPredefinedProfile.variables.forEach((sdkVariable) => {
@@ -1453,7 +1432,7 @@ async function convertToEditorProfileDefinition(predefinedProfile, locale = "en"
1453
1432
  return editorProfile.variables.push(convertApiVariable({
1454
1433
  ...sdkVariable,
1455
1434
  type: sdkVariable.type,
1456
- properties: Array.isArray(definition) ? [...definition] : sdkVariable.properties
1435
+ properties: Array.isArray(definition) ? [...definition] : sdkVariable.properties,
1457
1436
  }));
1458
1437
  case "feature":
1459
1438
  if (isFeatureDefinition(definition)) {
@@ -1482,7 +1461,7 @@ async function convertToEditorProfileDefinition(predefinedProfile, locale = "en"
1482
1461
 
1483
1462
  const arcadeLanguageId = "arcade";
1484
1463
  const defaultContext = {
1485
- locale: "en"
1464
+ locale: "en",
1486
1465
  };
1487
1466
  class ArcadeLanguageServiceDefaults {
1488
1467
  constructor() {
@@ -1536,7 +1515,7 @@ class ArcadeLanguageServiceDefaults {
1536
1515
  if (isPredefinedProfile(definition)) {
1537
1516
  definition = await convertToEditorProfileDefinition(definition, apiContext.locale);
1538
1517
  }
1539
- const intlStrings = await v(apiContext.locale, getAssetPath("./assets/arcade-language/t9n"), "profile.t9n.");
1518
+ const intlStrings = await fetchT9NStringsBundle(apiContext.locale, getAssetPath("./assets/arcade-language/t9n"), "profile.t9n.");
1540
1519
  if (!intlStrings) {
1541
1520
  throw new Error(`Failed to load the language bundle for ${apiContext.locale}`);
1542
1521
  }
@@ -1548,7 +1527,7 @@ class ArcadeLanguageServiceDefaults {
1548
1527
  this.updateApiContextForModel(modelId, {
1549
1528
  locale: apiContext.locale,
1550
1529
  profile: apiProfile,
1551
- snippets: apiContext.snippets
1530
+ snippets: apiContext.snippets,
1552
1531
  });
1553
1532
  }
1554
1533
  /**
@@ -1615,7 +1594,7 @@ class ArcadeLanguageServiceDefaults {
1615
1594
  }
1616
1595
  const arcadeDefaults = new ArcadeLanguageServiceDefaults();
1617
1596
  const arcade = {
1618
- setProfileForModel: arcadeDefaults.setProfileForModel.bind(arcadeDefaults)
1597
+ setProfileForModel: arcadeDefaults.setProfileForModel.bind(arcadeDefaults),
1619
1598
  };
1620
1599
 
1621
1600
  export { arcade as a, arcadeDefaults as b };