@arcgis/api-extractor 5.2.0-next.119 → 5.2.0-next.120

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.
@@ -1,16 +1,16 @@
1
1
  import { p as ti, r as Ln } from "./config-C9uAPo7G.js";
2
- import { buildViewUrl as An, getDefaultBasePath as Gn, getViewUrl as ze, postProcessDeprecated as de, postProcessDescription as Q, postProcessDocsTags as oe, resolveJsDocLink as Fn } from "./extractor/processing/links.js";
2
+ import { buildViewUrl as An, getDefaultBasePath as Gn, getViewUrl as ze, postProcessDeprecated as ce, postProcessDescription as Q, postProcessDocsTags as oe, resolveJsDocLink as Fn } from "./extractor/processing/links.js";
3
3
  import l from "typescript";
4
4
  import { toPosixPathSeparators as _i, path as re } from "@arcgis/node-toolkit/path";
5
5
  import { mkdir as Ot, writeFile as Hi } from "fs/promises";
6
- import { g as ce, a as ii, b as bt, c as k, p as J, d as Pt, e as Ki, f as Ae, h as Xe, i as On, j as zi, k as wn } from "./privateContext-CjPsSpfv.js";
6
+ import { g as fe, a as ii, b as bt, c as k, p as J, d as Pt, e as Ki, f as Ae, h as Xe, i as On, j as zi, k as wn } from "./privateContext-DR6YTcm2.js";
7
7
  import { maybeEscapePropertyName as mi, printTypeAlias as wt, printInterface as Nn, printFunction as $n, printVariable as Un, printClass as Wn, printMethod as Bn, printProperty as Le, printGetterSetter as Vn, printSignature as _n, printTypeParameters as st } from "./utils/partPrinter.js";
8
8
  import { globalPackageIdentifier as ie, mergeApiNodes as ni, isApiMethodAsync as Hn, getApiNodeLabel as Kn, apiTypeToImportType as Nt, getApiMemberName as ji, getMaybeStaticApiMemberName as $t, naturalSortModules as zn, compareNamedNodes as jn, compareClassMembers as Jn } from "./utils/apiHelpers.js";
9
9
  import { styleText as G } from "node:util";
10
10
  import { readFile as ui, opendir as fi, rm as qn } from "node:fs/promises";
11
11
  import { existsAsync as Xn } from "@arcgis/node-toolkit/file";
12
12
  import { pathIsComponentEntrypoint as Qn, findDeclaredComponent as Yn } from "./extractor/webComponent/findComponents.js";
13
- import { getBasename as ae, getPackageNameFromExternalSpecifier as Ut, extractInitializer as ft, extractBooleanInitializer as me, findDecorator as je, getMemberName as Fe } from "./utils/astHelpers.js";
13
+ import { getBasename as ae, getPackageNameFromExternalSpecifier as Ut, extractInitializer as ft, extractBooleanInitializer as pe, findDecorator as je, getMemberName as Fe } from "./utils/astHelpers.js";
14
14
  import { renameComponentFolder as at, addComponentPathMapping as Zn } from "./extractor/webComponent/pathMapping.js";
15
15
  import eo from "path";
16
16
  import { readFileSync as Ji, existsSync as Re, opendirSync as to, watch as io, statSync as no } from "node:fs";
@@ -216,7 +216,7 @@ function Zi(e, t) {
216
216
  else if (o === "slot")
217
217
  e.slots ??= [], e.slots.push(Dt(r));
218
218
  else if (o === "esriCompatibilityName") {
219
- const a = ce(e);
219
+ const a = fe(e);
220
220
  a.esriCompatibilityNames ??= [], a.esriCompatibilityNames.push(r ?? "");
221
221
  } else o === "readonly" || (e.docsTags ??= [], e.docsTags.push(i));
222
222
  }
@@ -405,7 +405,7 @@ function bo(e, t) {
405
405
  if (q.customElement !== !0)
406
406
  continue;
407
407
  const W = q;
408
- if (W.privacy !== void 0 || ce(W).hasExplicitAbstract === !0)
408
+ if (W.privacy !== void 0 || W.abstract === !0)
409
409
  continue;
410
410
  const { name: $, tagName: V, pascalCaseName: U, events: z } = W;
411
411
  i += `import type { ${$} } from "./${D.path}/customElement.js";
@@ -781,7 +781,7 @@ function Lt(e) {
781
781
  if (e.kind === "class" || e.kind === "mixin")
782
782
  n = vi(e);
783
783
  else if (e.kind === "interface") {
784
- const o = ce(e);
784
+ const o = fe(e);
785
785
  if (e.supertypes === void 0 && e.type === void 0 && e.members?.length === 1 && (e.members[0].kind === "call-signature" || e.members[0].kind === "constructor")) {
786
786
  const a = e.members[0];
787
787
  let s = rn(a, !0);
@@ -824,11 +824,11 @@ function Lt(e) {
824
824
  return `${we(t)}${n}`;
825
825
  }
826
826
  function vi(e) {
827
- const t = ce(e), n = t.isDefaultExported === !0, i = _t(e), o = e, r = e;
827
+ const t = fe(e), n = t.isDefaultExported === !0, i = _t(e), o = e, r = e;
828
828
  let a, s = o.mixins ?? r.supertypes;
829
829
  s === void 0 ? o.superclass !== void 0 && (a = Ae(o.superclass)) : o.superclass === void 0 && s.length === 1 ? (a = Ae(s[0]), s = void 0) : a = `${e.name}Superclass`;
830
830
  let c = Wn(
831
- t.hasExplicitAbstract !== void 0,
831
+ t.shouldPrintAbstract === !0,
832
832
  n,
833
833
  e.name,
834
834
  e.typeParameters,
@@ -848,7 +848,7 @@ declare const ${a}:`, o.superclass !== void 0 && (c += ` typeof ${Ae(o.superclas
848
848
  function _t(e) {
849
849
  const t = e.members;
850
850
  let n = "";
851
- const i = ce(e);
851
+ const i = fe(e);
852
852
  if (e.kind === "mixin" && (n += `constructor(...args: any[]);
853
853
  `), i.eventTypesProperty !== void 0) {
854
854
  let a = ko;
@@ -2294,9 +2294,9 @@ function Fr(e) {
2294
2294
  return Xt(), li(e), un();
2295
2295
  }
2296
2296
  let Ye = !1, he = !1, Te = !1, Ze = !1, Ee = !1, ai = !1;
2297
- const be = [], fe = [];
2297
+ const be = [], ue = [];
2298
2298
  function Xt() {
2299
- Ye = !1, he = !1, Te = !1, Ze = !1, Ee = !1, ai = !1, be.length = 0, fe.length = 0;
2299
+ Ye = !1, he = !1, Te = !1, Ze = !1, Ee = !1, ai = !1, be.length = 0, ue.length = 0;
2300
2300
  }
2301
2301
  function un() {
2302
2302
  if (!Te && !Ze && !Ee && !Ye)
@@ -2306,9 +2306,9 @@ function un() {
2306
2306
  for (let t = 0; t < be.length; ++t)
2307
2307
  e.push({ type: "string", value: be[t] });
2308
2308
  else Te && e.push(Or);
2309
- if (fe.length > 0)
2310
- for (let t = 0; t < fe.length; ++t)
2311
- e.push({ type: "number", value: fe[t] });
2309
+ if (ue.length > 0)
2310
+ for (let t = 0; t < ue.length; ++t)
2311
+ e.push({ type: "number", value: ue[t] });
2312
2312
  else Ee && e.push(wr);
2313
2313
  return Ze && e.push(Nr), Ye ? e.push($r) : he && e.push(Ur), e;
2314
2314
  }
@@ -2338,11 +2338,11 @@ function _e(e, t) {
2338
2338
  Te = !0, be.push(e.text);
2339
2339
  return;
2340
2340
  case l.SyntaxKind.NumericLiteral:
2341
- Ee = !0, fe.push(e.text);
2341
+ Ee = !0, ue.push(e.text);
2342
2342
  return;
2343
2343
  case l.SyntaxKind.PrefixUnaryExpression:
2344
2344
  const n = e.operand;
2345
- n.kind === l.SyntaxKind.NumericLiteral ? (fe.push(`-${n.text}`), Ee = !0) : he = !0;
2345
+ n.kind === l.SyntaxKind.NumericLiteral ? (ue.push(`-${n.text}`), Ee = !0) : he = !0;
2346
2346
  return;
2347
2347
  case l.SyntaxKind.VoidKeyword:
2348
2348
  case l.SyntaxKind.UndefinedKeyword:
@@ -2352,7 +2352,7 @@ function _e(e, t) {
2352
2352
  const i = e.types, o = Math.min(i.length, Tt);
2353
2353
  for (let a = 0; a < o; ++a)
2354
2354
  _e(i[a], t);
2355
- i.length > Tt && (be.length = 0, fe.length = 0);
2355
+ i.length > Tt && (be.length = 0, ue.length = 0);
2356
2356
  return;
2357
2357
  case l.SyntaxKind.ParenthesizedType:
2358
2358
  _e(e.type, t);
@@ -2392,14 +2392,14 @@ function li(e) {
2392
2392
  const t = Math.min(e.types.length, Tt);
2393
2393
  for (let n = 0; n < t; ++n)
2394
2394
  Ri(e.types[n]);
2395
- e.types.length > Tt && (be.length = 0, fe.length = 0);
2395
+ e.types.length > Tt && (be.length = 0, ue.length = 0);
2396
2396
  } else
2397
2397
  Ri(e);
2398
2398
  }
2399
2399
  function Ri(e) {
2400
2400
  const t = e.flags;
2401
2401
  let n = !1;
2402
- if (t & l.TypeFlags.StringLiteral ? (n = !0, Te = !0, be.push(e.value)) : t & l.TypeFlags.StringLike && (n = !0, Te = !0), t & l.TypeFlags.NumberLiteral ? (n = !0, Ee = !0, fe.push(e.value.toString())) : t & l.TypeFlags.NumberLike && (n = !0, Ee = !0), t & l.TypeFlags.BooleanLike && (n = !0, Ze = !0), t & l.TypeFlags.Any) {
2402
+ if (t & l.TypeFlags.StringLiteral ? (n = !0, Te = !0, be.push(e.value)) : t & l.TypeFlags.StringLike && (n = !0, Te = !0), t & l.TypeFlags.NumberLiteral ? (n = !0, Ee = !0, ue.push(e.value.toString())) : t & l.TypeFlags.NumberLike && (n = !0, Ee = !0), t & l.TypeFlags.BooleanLike && (n = !0, Ze = !0), t & l.TypeFlags.Any) {
2403
2403
  if (e.intrinsicName === "error") {
2404
2404
  he = !0, ai = !0;
2405
2405
  return;
@@ -2487,7 +2487,7 @@ function Hr(e, t, n, i) {
2487
2487
  return;
2488
2488
  }
2489
2489
  for (const o of t.properties)
2490
- !l.isPropertyAssignment(o) || !l.isIdentifier(o.name) || (o.name.text === "cancelable" && !me(o.initializer, i) && (n.cancelable = !1), o.name.text === "bubbles" && !me(o.initializer, i) && (n.bubbles = !1), o.name.text === "composed" && !me(o.initializer, i) && (n.composed = !1));
2490
+ !l.isPropertyAssignment(o) || !l.isIdentifier(o.name) || (o.name.text === "cancelable" && !pe(o.initializer, i) && (n.cancelable = !1), o.name.text === "bubbles" && !pe(o.initializer, i) && (n.bubbles = !1), o.name.text === "composed" && !pe(o.initializer, i) && (n.composed = !1));
2491
2491
  }
2492
2492
  }
2493
2493
  function ki(e, t) {
@@ -2594,7 +2594,7 @@ function fn(e, t, n, i) {
2594
2594
  continue;
2595
2595
  }
2596
2596
  const D = x.name.escapedText;
2597
- D === "readOnly" && me(x.initializer, i) ? n = !0 : D === "constructOnly" && me(x.initializer, i) ? d.isConstructorOnly = !0 : D === "type" ? d.hasAutoCasting = !0 : D === "types" && Qr(
2597
+ D === "readOnly" && pe(x.initializer, i) ? n = !0 : D === "constructOnly" && pe(x.initializer, i) ? d.isConstructorOnly = !0 : D === "type" ? d.hasAutoCasting = !0 : D === "types" && Qr(
2598
2598
  d,
2599
2599
  x.initializer?.kind === l.SyntaxKind.ObjectLiteralExpression ? x.initializer : void 0
2600
2600
  );
@@ -2628,13 +2628,13 @@ function fn(e, t, n, i) {
2628
2628
  if (!(!l.isPropertyAssignment(D) || !l.isIdentifier(D.name)))
2629
2629
  switch (D.name.escapedText) {
2630
2630
  case "attribute":
2631
- l.isStringLiteral(D.initializer) ? T = D.initializer.text : T = me(D.initializer, i);
2631
+ l.isStringLiteral(D.initializer) ? T = D.initializer.text : T = pe(D.initializer, i);
2632
2632
  continue;
2633
2633
  case "reflect":
2634
- me(D.initializer, i) && (T ??= !0, h = !0);
2634
+ pe(D.initializer, i) && (T ??= !0, h = !0);
2635
2635
  continue;
2636
2636
  case "readOnly":
2637
- me(D.initializer, i) && (n = !0);
2637
+ pe(D.initializer, i) && (n = !0);
2638
2638
  continue;
2639
2639
  case "type":
2640
2640
  case "converter":
@@ -2775,38 +2775,39 @@ function Qr(e, t) {
2775
2775
  }
2776
2776
  const yn = (e) => l.isPropertyDeclaration(e) && e.initializer !== void 0 && l.isCallExpression(e.initializer) && l.isIdentifier(e.initializer.expression) && e.initializer.expression.escapedText === "useT9n";
2777
2777
  function et(e, t) {
2778
- const n = l.isClassDeclaration(e);
2779
- let i = e.name.escapedText;
2780
- const o = n ? t.componentTagName : void 0, r = !n && an(i, t);
2781
- let a = e.heritageClauses === void 0 || r ? void 0 : e.heritageClauses[0]?.token === l.SyntaxKind.ExtendsKeyword ? e.heritageClauses[0] : e.heritageClauses[1]?.token === l.SyntaxKind.ExtendsKeyword ? e.heritageClauses[1] : void 0;
2782
- if (t.config.context.supportApplyMixinsSyntax && !n && a?.types.length === 1 && l.isExpressionWithTypeArguments(a.types[0]) && a.types[0].expression.escapedText === "MixinInstances" && a.types[0].typeArguments?.length === 1) {
2783
- Zr(i, a.types[0].typeArguments[0], t);
2778
+ const n = l.isClassDeclaration(e), i = n && sn(e.modifiers, l.SyntaxKind.AbstractKeyword);
2779
+ let o = e.name.escapedText;
2780
+ const r = n ? t.componentTagName : void 0, a = !n && an(o, t);
2781
+ let s = e.heritageClauses === void 0 || a ? void 0 : e.heritageClauses[0]?.token === l.SyntaxKind.ExtendsKeyword ? e.heritageClauses[0] : e.heritageClauses[1]?.token === l.SyntaxKind.ExtendsKeyword ? e.heritageClauses[1] : void 0;
2782
+ if (t.config.context.supportApplyMixinsSyntax && !n && s?.types.length === 1 && l.isExpressionWithTypeArguments(s.types[0]) && s.types[0].expression.escapedText === "MixinInstances" && s.types[0].typeArguments?.length === 1) {
2783
+ Zr(o, s.types[0].typeArguments[0], t);
2784
2784
  return;
2785
2785
  }
2786
- const s = n && t.mixinName !== void 0 && a !== void 0 && l.isExpressionWithTypeArguments(a.types[0]) && l.isIdentifier(a.types[0].expression) && a.types[0].expression.escapedText === "TypedBase";
2787
- s && (a = void 0, i = t.mixinName);
2788
- const c = zi(), p = {
2789
- [J]: c,
2786
+ const c = n && t.mixinName !== void 0 && s !== void 0 && l.isExpressionWithTypeArguments(s.types[0]) && l.isIdentifier(s.types[0].expression) && s.types[0].expression.escapedText === "TypedBase";
2787
+ c && (s = void 0, o = t.mixinName);
2788
+ const p = zi(), d = {
2789
+ [J]: p,
2790
2790
  kind: n ? "class" : "interface",
2791
- name: i,
2792
- customElement: o === void 0 ? void 0 : !0,
2793
- tagName: o,
2791
+ name: o,
2792
+ abstract: i ? !0 : void 0,
2793
+ customElement: r === void 0 ? void 0 : !0,
2794
+ tagName: r,
2794
2795
  privacy: void 0,
2795
- pascalCaseName: o === void 0 ? void 0 : (
2796
+ pascalCaseName: r === void 0 ? void 0 : (
2796
2797
  /**
2797
2798
  * We use the tag name rather than the class name to generate the
2798
2799
  * type name because the class name may not start with the library
2799
2800
  * prefix (Arcgis), where as tag name always does. This also matches
2800
2801
  * Stencil's behavior.
2801
2802
  */
2802
- Xi(o)
2803
+ Xi(r)
2803
2804
  ),
2804
2805
  deprecated: void 0,
2805
2806
  summary: void 0,
2806
2807
  description: void 0,
2807
2808
  docsTags: void 0,
2808
2809
  demos: void 0,
2809
- typeParameters: s ? void 0 : It(e.typeParameters, !0, t),
2810
+ typeParameters: c ? void 0 : It(e.typeParameters, !0, t),
2810
2811
  superclass: void 0,
2811
2812
  supertypes: void 0,
2812
2813
  mixins: void 0,
@@ -2822,32 +2823,32 @@ function et(e, t) {
2822
2823
  type: void 0,
2823
2824
  source: void 0,
2824
2825
  // REFACTOR: remove this deprecated property
2825
- importPath: o === void 0 ? void 0 : t.apiModule.path
2826
- }, d = p, m = d, u = d;
2827
- Zi(p, t.jsDoc);
2828
- const f = r ? (
2826
+ importPath: r === void 0 ? void 0 : t.apiModule.path
2827
+ }, m = d, u = m, f = m;
2828
+ Zi(d, t.jsDoc);
2829
+ const y = a ? (
2829
2830
  // Members will be added during post-processing
2830
2831
  !1
2831
- ) : gn(d, e.members, i, t);
2832
- s && (t.mixinMixins !== void 0 && (m.mixins = t.mixinMixins), f && t.emitError("Mixin class is not expected to have a @public constructor", { file: t.file, node: e })), a === void 0 ? o !== void 0 && m.superclass === void 0 && t.emitError(
2832
+ ) : gn(m, e.members, o, t);
2833
+ c && (t.mixinMixins !== void 0 && (u.mixins = t.mixinMixins), y && t.emitError("Mixin class is not expected to have a @public constructor", { file: t.file, node: e })), s === void 0 ? r !== void 0 && u.superclass === void 0 && t.emitError(
2833
2834
  "Lumina web component must extend LitElement class. Found a class that does not extend any class.",
2834
2835
  {
2835
2836
  file: t.file,
2836
2837
  node: e
2837
2838
  }
2838
- ) : Yr(a, n, p, e, t), o !== void 0 && Cr(m, t), d.members.length === 0 && (o === void 0 && (d.members = void 0), r && (t.moduleContext.constructorPropertiesInterface = u));
2839
- const y = t.exportDefaultName === i, S = Mt(e), g = y || S === 2;
2840
- return (g || o !== void 0) && si(d, g, t), n ? (o === void 0 ? kr(
2839
+ ) : Yr(s, n, d, e, t), r !== void 0 && Cr(u, t), m.members.length === 0 && (r === void 0 && (m.members = void 0), a && (t.moduleContext.constructorPropertiesInterface = f));
2840
+ const S = t.exportDefaultName === o, g = Mt(e), T = S || g === 2;
2841
+ return (T || r !== void 0) && si(m, T, t), n ? (r === void 0 ? kr(
2841
2842
  t,
2842
2843
  e,
2843
2844
  t.config.documentation.copyDocDefinitions.classes,
2844
- m,
2845
+ u,
2845
2846
  t.apiModule
2846
2847
  ) : Dr(
2847
2848
  t,
2848
2849
  e,
2849
2850
  t.config.documentation.copyDocDefinitions.customElements,
2850
- m,
2851
+ u,
2851
2852
  t.apiModule
2852
2853
  ), t.moduleHasClass && t.config.strict && t.emitError(
2853
2854
  "A module may only export at most one public class/mixin/custom element. Documentation: https://webgis.esri.com/references/api-extractor/api-node-kinds#module-level-documentation",
@@ -2856,12 +2857,12 @@ function et(e, t) {
2856
2857
  t,
2857
2858
  e,
2858
2859
  t.config.documentation.copyDocDefinitions.interfaces,
2859
- u,
2860
+ f,
2860
2861
  t.apiModule
2861
- ), t.produceDts && (c.isDefaultExported = g || void 0, n && (!s && (!y && S === 0) && t.config.strict && t.emitError("Expected @public class to be exported using named or default export.", {
2862
+ ), t.produceDts && (p.isDefaultExported = T || void 0, n && (!c && (!S && g === 0) && t.config.strict && t.emitError("Expected @public class to be exported using named or default export.", {
2862
2863
  file: t.file,
2863
2864
  node: e
2864
- }), sn(e.modifiers, l.SyntaxKind.AbstractKeyword) ? c.hasExplicitAbstract = !0 : !f && (t.config.strict || o !== void 0) && (c.hasExplicitAbstract = !1))), t.objectLikeTypeParameters = void 0, d;
2865
+ }), (i || !y && (t.config.strict || r !== void 0)) && (p.shouldPrintAbstract = !0))), t.objectLikeTypeParameters = void 0, m;
2865
2866
  }
2866
2867
  function Yr(e, t, n, i, o) {
2867
2868
  for (let r = 0; r < e.types.length; ++r) {
@@ -2943,7 +2944,7 @@ function gn(e, t, n, i) {
2943
2944
  S?.docsTags.includes(H.private) === !0 ? o && i.config.context.includeLuminaPrivateComponents ? f = Ue : f = void 0 : f = S;
2944
2945
  } else f === void 0 && o && i.config.context.includeLuminaPrivateComponents && Fi(s, i.pairedSetter, !1) && (f = Ue);
2945
2946
  if (f === void 0) {
2946
- o && l.isPropertyDeclaration(s) && l.isIdentifier(s.name) && (s.name.escapedText === "shadowRootOptions" && s.initializer !== void 0 && l.isIdentifier(s.initializer) && s.initializer.escapedText === "noShadowRoot" && (i.apiObject.encapsulation = "none"), s.name.escapedText === "formAssociated" && s.initializer !== void 0 && me(s.initializer, i) && (i.apiObject.formAssociated = !0));
2947
+ o && l.isPropertyDeclaration(s) && l.isIdentifier(s.name) && (s.name.escapedText === "shadowRootOptions" && s.initializer !== void 0 && l.isIdentifier(s.initializer) && s.initializer.escapedText === "noShadowRoot" && (i.apiObject.encapsulation = "none"), s.name.escapedText === "formAssociated" && s.initializer !== void 0 && pe(s.initializer, i) && (i.apiObject.formAssociated = !0));
2947
2948
  continue;
2948
2949
  }
2949
2950
  i.jsDoc = f;
@@ -2952,7 +2953,7 @@ function gn(e, t, n, i) {
2952
2953
  0,
2953
2954
  Ft.members.length,
2954
2955
  s
2955
- ), vn(e, Ft, i), ce(e).emitAsTypeAlias = !0) : i.emitError(`@public used on unsupported member kind: ${l.SyntaxKind[s.kind]}`, {
2956
+ ), vn(e, Ft, i), fe(e).emitAsTypeAlias = !0) : i.emitError(`@public used on unsupported member kind: ${l.SyntaxKind[s.kind]}`, {
2956
2957
  file: i.file,
2957
2958
  node: s
2958
2959
  }), y !== void 0 && r.push(y);
@@ -3167,6 +3168,7 @@ function ns(e, t) {
3167
3168
  [J]: r,
3168
3169
  kind: "interface",
3169
3170
  name: i,
3171
+ abstract: void 0,
3170
3172
  customElement: void 0,
3171
3173
  tagName: void 0,
3172
3174
  privacy: void 0,
@@ -3277,7 +3279,7 @@ function rs(e, t, n) {
3277
3279
  ])
3278
3280
  ],
3279
3281
  []
3280
- ), r = et(o, n), a = r, s = ce(a);
3282
+ ), r = et(o, n), a = r, s = fe(a);
3281
3283
  return a.kind = "interface", a.supertypes = r.mixins, r.mixins = void 0, r.superclass !== void 0 && (a.supertypes ??= [], a.supertypes.unshift(r.superclass), r.superclass = void 0), n.moduleHasClass = i, s.isMixinBaseClass = !0, a;
3282
3284
  }
3283
3285
  function ss(e, t) {
@@ -4802,9 +4804,9 @@ declare namespace __esri {
4802
4804
  ${K}
4803
4805
  export type On = (eventName: string, eventHandler: EventHandlerCallback) => IHandle;
4804
4806
  }`;
4805
- let pe, Y, Ce, ue, te = "", ge = "", He = "", rt = "";
4807
+ let de, Y, Ce, me, te = "", ge = "", He = "", rt = "";
4806
4808
  function gs(e, t) {
4807
- Ce = void 0, ue = void 0, ge = e.path, He = "", rt = "";
4809
+ Ce = void 0, me = void 0, ge = e.path, He = "", rt = "";
4808
4810
  const n = `import("./${ge}.js")`;
4809
4811
  let i = "";
4810
4812
  const o = e.exports?.[0]?.declaration.name, r = k(e);
@@ -4844,7 +4846,7 @@ function gs(e, t) {
4844
4846
  j.length !== 1 && t.emitError("Expected only a single @esriCompatibilityName tag on a default export variable.", {
4845
4847
  file: k(e).file,
4846
4848
  node: void 0
4847
- }), Ke(j[0], t), (Y !== void 0 || pe !== void 0) && t.emitError("Expected default export @esriCompatibilityName tag to not include a # or .", {
4849
+ }), Ke(j[0], t), (Y !== void 0 || de !== void 0) && t.emitError("Expected default export @esriCompatibilityName tag to not include a # or .", {
4848
4850
  file: k(e).file,
4849
4851
  node: void 0
4850
4852
  }), i += ` export const ${te}: typeof ${n}.default;
@@ -4856,7 +4858,7 @@ function gs(e, t) {
4856
4858
  Ke(j[f], t), u && Ce !== void 0 ? He += ` export const ${te}: ${n}.${d};
4857
4859
  ` : rt += ` ${te}: typeof ${n}.${d};
4858
4860
  `;
4859
- } else if (c.kind === "class" || c.kind === "mixin" || c.kind === "interface" && ce(c).isMixinBaseClass === !0) {
4861
+ } else if (c.kind === "class" || c.kind === "mixin" || c.kind === "interface" && fe(c).isMixinBaseClass === !0) {
4860
4862
  const f = st(qe(c.typeParameters, !1, ge)), y = st(qe(c.typeParameters, !1, void 0)), S = st(qe(c.typeParameters, !0, void 0)), g = ` ${n}.${d}`;
4861
4863
  for (let T = 0; T < j.length; ++T) {
4862
4864
  if (Ke(j[T], t), te.startsWith("$")) {
@@ -4864,7 +4866,7 @@ function gs(e, t) {
4864
4866
  i += vs(E, c, d, ge);
4865
4867
  continue;
4866
4868
  }
4867
- const h = pe === void 0 ? " " : " ";
4869
+ const h = de === void 0 ? " " : " ";
4868
4870
  i += `${h}${K}
4869
4871
  ${h}export type ${te}${f} =${g}${y};
4870
4872
  ${h}export const ${te}: typeof${g}${S};
@@ -4880,17 +4882,17 @@ ${h}export const ${te}: typeof${g}${S};
4880
4882
  namespace ${Ce} {
4881
4883
  ${He.slice(0, -1)} }
4882
4884
 
4883
- `), rt.length > 0 && (ue === void 0 && t.emitError(
4885
+ `), rt.length > 0 && (me === void 0 && t.emitError(
4884
4886
  "Invalid @esriCompatibilityName usage: Classdec module interface name was not set correctly.",
4885
4887
  {
4886
4888
  file: k(e).file,
4887
4889
  node: void 0
4888
4890
  }
4889
4891
  ), i += ` ${K}
4890
- interface ${ue} {
4892
+ interface ${me} {
4891
4893
  ${rt} }
4892
4894
 
4893
- export const ${ue}: ${ue};
4895
+ export const ${me}: ${me};
4894
4896
 
4895
4897
  `), i;
4896
4898
  }
@@ -4900,7 +4902,7 @@ function wi(e, t, n, i) {
4900
4902
  for (let c = 0; c < j.length; ++c) {
4901
4903
  Ke(j[c], i);
4902
4904
  const p = wt(te, r, void 0, a);
4903
- pe === void 0 ? s += ` ${K}
4905
+ de === void 0 ? s += ` ${K}
4904
4906
  ${p}
4905
4907
  ` : He += ` ${K}
4906
4908
  ${p}
@@ -4954,13 +4956,13 @@ function qe(e, t, n) {
4954
4956
  const ut = [];
4955
4957
  let j = ut;
4956
4958
  function Ni(e) {
4957
- e.kind === "variable" ? j = ii(e).esriCompatibilityNames ?? ut : e.kind === "function" ? j = bt(e).esriCompatibilityNames ?? ut : j = ce(e).esriCompatibilityNames ?? ut;
4959
+ e.kind === "variable" ? j = ii(e).esriCompatibilityNames ?? ut : e.kind === "function" ? j = bt(e).esriCompatibilityNames ?? ut : j = fe(e).esriCompatibilityNames ?? ut;
4958
4960
  }
4959
4961
  function Ke(e, t) {
4960
4962
  const n = e.indexOf(".");
4961
4963
  if (n !== -1) {
4962
- pe = e.slice(0, n), Y = void 0, te = e.slice(n + 1), Ce === void 0 ? Ce = pe : Ce !== pe && t.emitError(
4963
- `Invalid @esriCompatibilityName usage: Multiple different namespaces in a single file are not supported. Found ${Ce} and ${pe}`,
4964
+ de = e.slice(0, n), Y = void 0, te = e.slice(n + 1), Ce === void 0 ? Ce = de : Ce !== de && t.emitError(
4965
+ `Invalid @esriCompatibilityName usage: Multiple different namespaces in a single file are not supported. Found ${Ce} and ${de}`,
4964
4966
  {
4965
4967
  file: void 0,
4966
4968
  scope: ge,
@@ -4971,8 +4973,8 @@ function Ke(e, t) {
4971
4973
  }
4972
4974
  const i = e.indexOf("#");
4973
4975
  if (i !== -1) {
4974
- pe = void 0, Y = e.slice(0, i), te = e.slice(i + 1), ue === void 0 ? ue = Y : ue !== Y && t.emitError(
4975
- `Invalid @esriCompatibilityName usage: Multiple different __esri interfaces in a single file are not supported. Found ${ue} and ${Y}`,
4976
+ de = void 0, Y = e.slice(0, i), te = e.slice(i + 1), me === void 0 ? me = Y : me !== Y && t.emitError(
4977
+ `Invalid @esriCompatibilityName usage: Multiple different __esri interfaces in a single file are not supported. Found ${me} and ${Y}`,
4976
4978
  {
4977
4979
  file: void 0,
4978
4980
  scope: ge,
@@ -4981,7 +4983,7 @@ function Ke(e, t) {
4981
4983
  );
4982
4984
  return;
4983
4985
  }
4984
- pe = void 0, Y = void 0, te = e;
4986
+ de = void 0, Y = void 0, te = e;
4985
4987
  }
4986
4988
  function vs(e, t, n, i) {
4987
4989
  const o = Ss(e, t.events), a = `${// IdentityManager fake class got renamed to IdentityManagerBase real class
@@ -5541,7 +5543,7 @@ const ei = {
5541
5543
  };
5542
5544
  function Ds(e, t, n, i) {
5543
5545
  const o = e;
5544
- i.produceDts && (ce(t).eventTypesProperty = o);
5546
+ i.produceDts && (fe(t).eventTypesProperty = o);
5545
5547
  const r = k(n), a = `${t.name}Events`;
5546
5548
  if (o.type.text !== a && !o.type.text.startsWith(`${a}<`)) {
5547
5549
  if (o.type.text === "unknown")
@@ -5921,7 +5923,7 @@ function Os(e, t, n) {
5921
5923
  function ws(e, t) {
5922
5924
  for (let n = 0; n < e.members.length; ++n) {
5923
5925
  const i = e.members[n];
5924
- i.deprecated = de(i.deprecated, t), i.description = Q(i.description, t);
5926
+ i.deprecated = ce(i.deprecated, t), i.description = Q(i.description, t);
5925
5927
  }
5926
5928
  }
5927
5929
  function Ns(e, t) {
@@ -5959,10 +5961,10 @@ function $s(e, t) {
5959
5961
  }
5960
5962
  continue;
5961
5963
  }
5962
- t.apiModule = i, t.inheritedModuleName = void 0, i.deprecated = de(i.deprecated, t), i.description = Q(i.description, t), oe(i.docsTags, t);
5964
+ t.apiModule = i, t.inheritedModuleName = void 0, i.deprecated = ce(i.deprecated, t), i.description = Q(i.description, t), oe(i.docsTags, t);
5963
5965
  for (let r = 0; r < i.declarations.length; ++r) {
5964
5966
  const a = i.declarations[r];
5965
- if (a.deprecated = de(a.deprecated, t), a.description = Q(a.description, t), oe(a.docsTags, t), a.kind === "function") {
5967
+ if (a.deprecated = ce(a.deprecated, t), a.description = Q(a.description, t), oe(a.docsTags, t), a.kind === "function") {
5966
5968
  if (a.parameters !== void 0)
5967
5969
  for (let c = 0; c < a.parameters.length; ++c) {
5968
5970
  const p = a.parameters[c];
@@ -5979,7 +5981,7 @@ function $s(e, t) {
5979
5981
  if (s.members !== void 0) {
5980
5982
  for (let p = 0; p < s.members.length; ++p) {
5981
5983
  const d = s.members[p], m = d.inheritedFrom, u = m !== void 0;
5982
- if (t.inheritedModuleName = m?.module, d.deprecated = de(d.deprecated, t), d.description = Q(d.description, t), oe(d.docsTags, t), !u && d.kind !== "field") {
5984
+ if (t.inheritedModuleName = m?.module, d.deprecated = ce(d.deprecated, t), d.description = Q(d.description, t), oe(d.docsTags, t), !u && d.kind !== "field") {
5983
5985
  if (d.parameters !== void 0)
5984
5986
  for (let y = 0; y < d.parameters.length; ++y) {
5985
5987
  const S = d.parameters[y];
@@ -5995,29 +5997,29 @@ function $s(e, t) {
5995
5997
  if (c.events !== void 0) {
5996
5998
  for (let p = 0; p < c.events.length; ++p) {
5997
5999
  const d = c.events[p];
5998
- t.inheritedModuleName = d.inheritedFrom?.module, d.deprecated = de(d.deprecated, t), d.description = Q(d.description, t), oe(d.docsTags, t);
6000
+ t.inheritedModuleName = d.inheritedFrom?.module, d.deprecated = ce(d.deprecated, t), d.description = Q(d.description, t), oe(d.docsTags, t);
5999
6001
  }
6000
6002
  t.inheritedModuleName = void 0;
6001
6003
  }
6002
6004
  if (t.config.context.isLuminaMinimalExtraction || ks(s), c.slots !== void 0)
6003
6005
  for (let p = 0; p < c.slots.length; ++p) {
6004
6006
  const d = c.slots[p];
6005
- d.deprecated = de(d.deprecated, t), d.description = Q(d.description, t), oe(d.docsTags, t);
6007
+ d.deprecated = ce(d.deprecated, t), d.description = Q(d.description, t), oe(d.docsTags, t);
6006
6008
  }
6007
6009
  if (c.cssProperties !== void 0)
6008
6010
  for (let p = 0; p < c.cssProperties.length; ++p) {
6009
6011
  const d = c.cssProperties[p];
6010
- d.deprecated = de(d.deprecated, t), d.description = Q(d.description, t), oe(d.docsTags, t);
6012
+ d.deprecated = ce(d.deprecated, t), d.description = Q(d.description, t), oe(d.docsTags, t);
6011
6013
  }
6012
6014
  if (c.cssParts !== void 0)
6013
6015
  for (let p = 0; p < c.cssParts.length; ++p) {
6014
6016
  const d = c.cssParts[p];
6015
- d.deprecated = de(d.deprecated, t), d.description = Q(d.description, t), oe(d.docsTags, t);
6017
+ d.deprecated = ce(d.deprecated, t), d.description = Q(d.description, t), oe(d.docsTags, t);
6016
6018
  }
6017
6019
  if (c.cssStates !== void 0)
6018
6020
  for (let p = 0; p < c.cssStates.length; ++p) {
6019
6021
  const d = c.cssStates[p];
6020
- d.deprecated = de(d.deprecated, t), d.description = Q(d.description, t), oe(d.docsTags, t);
6022
+ d.deprecated = ce(d.deprecated, t), d.description = Q(d.description, t), oe(d.docsTags, t);
6021
6023
  }
6022
6024
  if (c.demos !== void 0)
6023
6025
  for (let p = 0; p < c.demos.length; ++p) {
package/dist/apiJson.d.ts CHANGED
@@ -601,6 +601,7 @@ export interface ApiTypeParameter {
601
601
  /** The common interface of classes and mixins. */
602
602
  export interface ApiClassDeclaration extends ApiObjectLikeDeclaration, ApiWithEvents {
603
603
  kind: "class";
604
+ abstract?: true;
604
605
  /**
605
606
  * The superclass of this class.
606
607
  *
@@ -1,7 +1,7 @@
1
1
  import "../config-C9uAPo7G.js";
2
2
  import "./processing/links.js";
3
3
  import "typescript";
4
- import { A as x } from "../ApiExtractor-DgJFcaPO.js";
4
+ import { A as x } from "../ApiExtractor-BwM2qUfm.js";
5
5
  import "@arcgis/toolkit/function";
6
6
  import "@arcgis/node-toolkit/workspace";
7
7
  export {
@@ -1,6 +1,6 @@
1
1
  import { styleText as C } from "node:util";
2
2
  import { emitJsDocError as a, getApiNodeLabel as h } from "../../utils/apiHelpers.js";
3
- import { c as y } from "../../privateContext-CjPsSpfv.js";
3
+ import { c as y } from "../../privateContext-DR6YTcm2.js";
4
4
  import { kebabToPascal as I } from "@arcgis/toolkit/string";
5
5
  function W(e, n) {
6
6
  if (typeof e == "string") {
@@ -20,7 +20,7 @@ function s(t, o, i, n) {
20
20
  }
21
21
  function a() {
22
22
  return {
23
- hasExplicitAbstract: void 0,
23
+ shouldPrintAbstract: void 0,
24
24
  isDefaultExported: void 0,
25
25
  eventTypesProperty: void 0,
26
26
  isMixinBaseClass: void 0,
@@ -1,4 +1,4 @@
1
- import { c as f } from "../privateContext-CjPsSpfv.js";
1
+ import { c as f } from "../privateContext-DR6YTcm2.js";
2
2
  const g = (e) => e.kind === "method", v = (e) => e.kind === "field";
3
3
  function h(e, n) {
4
4
  const o = e.sourcePath, i = n.sourcePath;
@@ -1,4 +1,4 @@
1
- import { f as l } from "../privateContext-CjPsSpfv.js";
1
+ import { f as l } from "../privateContext-DR6YTcm2.js";
2
2
  function m(t, r, i, e, n, o) {
3
3
  return `${`${r ? "export default " : "export "}${t ? "abstract " : ""}`}class ${i}${c(e)}${n === void 0 ? "" : ` extends ${n}`} {${o}}`;
4
4
  }
@@ -1,5 +1,5 @@
1
1
  import { p as O, l as S, m as J } from "../config-C9uAPo7G.js";
2
- import { A as T, l as A, w as C } from "../ApiExtractor-DgJFcaPO.js";
2
+ import { A as T, l as A, w as C } from "../ApiExtractor-BwM2qUfm.js";
3
3
  import { writeFile as M } from "node:fs/promises";
4
4
  import { path as w } from "@arcgis/node-toolkit/path";
5
5
  const N = O.name;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/api-extractor",
3
- "version": "5.2.0-next.119",
3
+ "version": "5.2.0-next.120",
4
4
  "description": "Documentation engine for WebGIS SDK packages",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -48,8 +48,8 @@
48
48
  ],
49
49
  "license": "SEE LICENSE IN LICENSE.md",
50
50
  "dependencies": {
51
- "@arcgis/node-toolkit": "5.2.0-next.119",
52
- "@arcgis/toolkit": "5.2.0-next.119",
51
+ "@arcgis/node-toolkit": "5.2.0-next.120",
52
+ "@arcgis/toolkit": "5.2.0-next.120",
53
53
  "@commander-js/extra-typings": "^15.0.0",
54
54
  "commander": "^15.0.0",
55
55
  "tslib": "^2.8.1"