@arcgis/api-extractor 4.33.0-next.99 → 4.34.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apiJson.d.ts +48 -6
- package/dist/extractor/index.d.ts +5 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +207 -60
- package/dist/types.d.ts +25 -0
- package/dist/utils/apiHelpers.d.ts +1 -0
- package/dist/utils/astHelpers.d.ts +3 -0
- package/dist/utils/docHelpers.d.ts +9 -0
- package/package.json +5 -5
package/dist/apiJson.d.ts
CHANGED
|
@@ -88,6 +88,10 @@ export type ApiJavaScriptModule = {
|
|
|
88
88
|
path: string;
|
|
89
89
|
/**
|
|
90
90
|
* A markdown summary suitable for display in a listing.
|
|
91
|
+
*
|
|
92
|
+
* @remarks
|
|
93
|
+
* Not used by `@arcgis/api-extractor`. Preserved in typings for compatibility
|
|
94
|
+
* with custom-elements-manifest.
|
|
91
95
|
*/
|
|
92
96
|
summary?: string;
|
|
93
97
|
/**
|
|
@@ -176,6 +180,9 @@ export type ApiCustomElementExport = {
|
|
|
176
180
|
* If the value is a string, it's the reason for the deprecation.
|
|
177
181
|
*
|
|
178
182
|
* @default false
|
|
183
|
+
* @remarks
|
|
184
|
+
* Not used by `@arcgis/api-extractor`. Preserved in typings for compatibility
|
|
185
|
+
* with custom-elements-manifest.
|
|
179
186
|
*/
|
|
180
187
|
deprecated?: boolean | string;
|
|
181
188
|
};
|
|
@@ -245,7 +252,7 @@ export type ApiSourceReference = {
|
|
|
245
252
|
* these cases one `Module` should contain the `CustomElement` without a
|
|
246
253
|
* tagName, and another `Module` should contain the `CustomElementExport`.
|
|
247
254
|
*/
|
|
248
|
-
export type ApiCustomElementDeclaration = ApiClassDeclaration & {
|
|
255
|
+
export type ApiCustomElementDeclaration = Omit<ApiClassDeclaration, "members"> & {
|
|
249
256
|
/**
|
|
250
257
|
* An optional tag name that should be specified if this is a
|
|
251
258
|
* self-registering element.
|
|
@@ -347,6 +354,10 @@ export type ApiAttribute = {
|
|
|
347
354
|
name: string;
|
|
348
355
|
/**
|
|
349
356
|
* A markdown summary suitable for display in a listing.
|
|
357
|
+
*
|
|
358
|
+
* @remarks
|
|
359
|
+
* Not used by `@arcgis/api-extractor`. Preserved in typings for compatibility
|
|
360
|
+
* with custom-elements-manifest.
|
|
350
361
|
*/
|
|
351
362
|
summary?: string;
|
|
352
363
|
/**
|
|
@@ -388,6 +399,10 @@ export type ApiEvent = {
|
|
|
388
399
|
name: string;
|
|
389
400
|
/**
|
|
390
401
|
* A markdown summary suitable for display in a listing.
|
|
402
|
+
*
|
|
403
|
+
* @remarks
|
|
404
|
+
* Not used by `@arcgis/api-extractor`. Preserved in typings for compatibility
|
|
405
|
+
* with custom-elements-manifest.
|
|
391
406
|
*/
|
|
392
407
|
summary?: string;
|
|
393
408
|
/**
|
|
@@ -452,6 +467,10 @@ export type ApiSlot = {
|
|
|
452
467
|
name: string;
|
|
453
468
|
/**
|
|
454
469
|
* A markdown summary suitable for display in a listing.
|
|
470
|
+
*
|
|
471
|
+
* @remarks
|
|
472
|
+
* Not used by `@arcgis/api-extractor`. Preserved in typings for compatibility
|
|
473
|
+
* with custom-elements-manifest.
|
|
455
474
|
*/
|
|
456
475
|
summary?: string;
|
|
457
476
|
/**
|
|
@@ -482,6 +501,10 @@ export type ApiCssPart = {
|
|
|
482
501
|
name: string;
|
|
483
502
|
/**
|
|
484
503
|
* A markdown summary suitable for display in a listing.
|
|
504
|
+
*
|
|
505
|
+
* @remarks
|
|
506
|
+
* Not used by `@arcgis/api-extractor`. Preserved in typings for compatibility
|
|
507
|
+
* with custom-elements-manifest.
|
|
485
508
|
*/
|
|
486
509
|
summary?: string;
|
|
487
510
|
/**
|
|
@@ -515,6 +538,10 @@ export type ApiCssCustomState = {
|
|
|
515
538
|
name: string;
|
|
516
539
|
/**
|
|
517
540
|
* A markdown summary suitable for display in a listing.
|
|
541
|
+
*
|
|
542
|
+
* @remarks
|
|
543
|
+
* Not used by `@arcgis/api-extractor`. Preserved in typings for compatibility
|
|
544
|
+
* with custom-elements-manifest.
|
|
518
545
|
*/
|
|
519
546
|
summary?: string;
|
|
520
547
|
/**
|
|
@@ -558,6 +585,10 @@ export type ApiCssCustomProperty = {
|
|
|
558
585
|
default?: string;
|
|
559
586
|
/**
|
|
560
587
|
* A markdown summary suitable for display in a listing.
|
|
588
|
+
*
|
|
589
|
+
* @remarks
|
|
590
|
+
* Not used by `@arcgis/api-extractor`. Preserved in typings for compatibility
|
|
591
|
+
* with custom-elements-manifest.
|
|
561
592
|
*/
|
|
562
593
|
summary?: string;
|
|
563
594
|
/**
|
|
@@ -645,6 +676,10 @@ export type ApiClassDeclaration = {
|
|
|
645
676
|
name: string;
|
|
646
677
|
/**
|
|
647
678
|
* A markdown summary suitable for display in a listing.
|
|
679
|
+
*
|
|
680
|
+
* @remarks
|
|
681
|
+
* Not used by `@arcgis/api-extractor`. Preserved in typings for compatibility
|
|
682
|
+
* with custom-elements-manifest.
|
|
648
683
|
*/
|
|
649
684
|
summary?: string;
|
|
650
685
|
/**
|
|
@@ -735,6 +770,10 @@ export type ApiPropertyLike = {
|
|
|
735
770
|
name: string;
|
|
736
771
|
/**
|
|
737
772
|
* A markdown summary suitable for display in a listing.
|
|
773
|
+
*
|
|
774
|
+
* @remarks
|
|
775
|
+
* Not used by `@arcgis/api-extractor`. Preserved in typings for compatibility
|
|
776
|
+
* with custom-elements-manifest.
|
|
738
777
|
*/
|
|
739
778
|
summary?: string;
|
|
740
779
|
/**
|
|
@@ -996,6 +1035,10 @@ export type ApiFunctionLike = {
|
|
|
996
1035
|
name: string;
|
|
997
1036
|
/**
|
|
998
1037
|
* A markdown summary suitable for display in a listing.
|
|
1038
|
+
*
|
|
1039
|
+
* @remarks
|
|
1040
|
+
* Not used by `@arcgis/api-extractor`. Preserved in typings for compatibility
|
|
1041
|
+
* with custom-elements-manifest.
|
|
999
1042
|
*/
|
|
1000
1043
|
summary?: string;
|
|
1001
1044
|
/**
|
|
@@ -1017,6 +1060,10 @@ export type ApiFunctionLike = {
|
|
|
1017
1060
|
type?: ApiType;
|
|
1018
1061
|
/**
|
|
1019
1062
|
* A markdown summary suitable for display in a listing.
|
|
1063
|
+
*
|
|
1064
|
+
* @remarks
|
|
1065
|
+
* Not used by `@arcgis/api-extractor`. Preserved in typings for compatibility
|
|
1066
|
+
* with custom-elements-manifest.
|
|
1020
1067
|
*/
|
|
1021
1068
|
summary?: string;
|
|
1022
1069
|
/**
|
|
@@ -1031,11 +1078,6 @@ export type ApiFunctionLike = {
|
|
|
1031
1078
|
* with custom-elements-manifest.
|
|
1032
1079
|
*/
|
|
1033
1080
|
export type ApiPrivacy = "private" | "protected" | "public";
|
|
1034
|
-
/**
|
|
1035
|
-
* @remarks
|
|
1036
|
-
* Not used by `@arcgis/api-extractor`. Preserved in typings for compatibility
|
|
1037
|
-
* with custom-elements-manifest.
|
|
1038
|
-
*/
|
|
1039
1081
|
export type ApiDemo = {
|
|
1040
1082
|
/**
|
|
1041
1083
|
* A markdown description of the demo.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { ApiDeclaration, ApiExport, ApiJson, ApiModule } from '../apiJson';
|
|
1
|
+
import { ApiClassMethod, ApiCustomElementDeclaration, ApiCustomElementField, ApiDeclaration, ApiEvent, ApiExport, ApiJson, ApiModule } from '../apiJson';
|
|
2
2
|
import { default as ts } from 'typescript';
|
|
3
|
+
import { CopyPropertyDoc, CopyMethodDoc, CopyEventDoc } from '../types';
|
|
3
4
|
export type ApiExtractorOptions = {
|
|
4
5
|
/**
|
|
5
6
|
* Whether to extract full API information, with type-checking. This should be
|
|
@@ -39,4 +40,7 @@ export declare abstract class ApiExtractor {
|
|
|
39
40
|
* Infer ApiExport based on ApiDeclaration
|
|
40
41
|
*/
|
|
41
42
|
protected abstract inferExport(declaration: ApiDeclaration): ApiExport | undefined;
|
|
43
|
+
copyDoc(copyDocDefinition: CopyPropertyDoc | undefined, property: ApiCustomElementField, component: ApiCustomElementDeclaration): void;
|
|
44
|
+
copyDoc(copyDocDefinition: CopyMethodDoc | undefined, method: ApiClassMethod, component: ApiCustomElementDeclaration): void;
|
|
45
|
+
copyDoc(copyDocDefinition: CopyEventDoc | undefined, event: ApiEvent, component: ApiCustomElementDeclaration): void;
|
|
42
46
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { ApiExtractor, type ApiExtractorOptions } from './extractor';
|
|
2
2
|
export type * from './apiJson';
|
|
3
|
-
export { hasIgnoredModifier, setDefaultFromInitializer, getMemberName } from './utils/astHelpers';
|
|
4
|
-
export { isApiMethod, isApiProperty, globalPackageIdentifier } from './utils/apiHelpers';
|
|
3
|
+
export { hasIgnoredModifier, setDefaultFromInitializer, getMemberName, findDecorator } from './utils/astHelpers';
|
|
4
|
+
export { isApiMethod, isApiProperty, globalPackageIdentifier, multipleJsDocTags } from './utils/apiHelpers';
|
|
5
|
+
export type { CopyDocDefinitions } from './types';
|
|
6
|
+
export { symbolToDocs, apiMemberToSynthesizedComments, setApiDocFromJsDoc } from './utils/docHelpers';
|
package/dist/index.js
CHANGED
|
@@ -1,95 +1,242 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { path as
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import a from "typescript";
|
|
2
|
+
import { path as x } from "@arcgis/components-build-utils";
|
|
3
|
+
import { mappedFind as m } from "@arcgis/components-utils";
|
|
4
|
+
const h = "@arcgis/api-extractor", g = "4.34.0-next.0", j = (e) => e.kind === "method", A = (e) => e.kind === "field";
|
|
5
|
+
function v(e, s) {
|
|
6
|
+
const t = e.path.split("/"), n = t.pop(), i = t.join("/"), o = s.path.split("/"), c = o.pop(), r = o.join("/");
|
|
7
|
+
return i === r ? n < c ? -1 : 1 : i.startsWith(r) ? 1 : r.startsWith(i) || i < r ? -1 : 1;
|
|
7
8
|
}
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
const C = "global:", T = /* @__PURE__ */ new Set([
|
|
10
|
+
"example",
|
|
11
|
+
"see",
|
|
12
|
+
"param",
|
|
13
|
+
"property",
|
|
14
|
+
"throws",
|
|
15
|
+
"slot",
|
|
16
|
+
"csspart",
|
|
17
|
+
"cssstate"
|
|
18
|
+
]);
|
|
19
|
+
class F {
|
|
20
|
+
constructor(s) {
|
|
21
|
+
this.options = s;
|
|
12
22
|
}
|
|
13
23
|
/** Given an array of TypeScript source files, generate an api.json file */
|
|
14
|
-
extract(
|
|
24
|
+
extract(s) {
|
|
15
25
|
return {
|
|
16
26
|
timestamp: (/* @__PURE__ */ new Date()).toISOString().split(".")[0],
|
|
17
27
|
compiler: {
|
|
18
|
-
name:
|
|
19
|
-
version:
|
|
20
|
-
typescriptVersion:
|
|
28
|
+
name: h,
|
|
29
|
+
version: g,
|
|
30
|
+
typescriptVersion: a.version
|
|
21
31
|
},
|
|
22
32
|
schemaVersion: "1.0.0",
|
|
23
|
-
modules: this.extractModules(
|
|
33
|
+
modules: this.extractModules(s)
|
|
24
34
|
};
|
|
25
35
|
}
|
|
26
|
-
extractModules(
|
|
27
|
-
const
|
|
28
|
-
for (const
|
|
29
|
-
this.file =
|
|
30
|
-
return this.options.isFullApiExtraction &&
|
|
36
|
+
extractModules(s) {
|
|
37
|
+
const t = [];
|
|
38
|
+
for (const n of s)
|
|
39
|
+
this.file = n, t.push(this.extractModule(n));
|
|
40
|
+
return this.options.isFullApiExtraction && t.sort(v), t;
|
|
31
41
|
}
|
|
32
|
-
extractModule(
|
|
33
|
-
const
|
|
42
|
+
extractModule(s) {
|
|
43
|
+
const t = {
|
|
34
44
|
kind: "javascript-module",
|
|
35
|
-
path:
|
|
45
|
+
path: x.relative(this.options.cwd, s.fileName),
|
|
36
46
|
declarations: void 0,
|
|
37
47
|
exports: void 0
|
|
38
48
|
};
|
|
39
|
-
this.apiModule =
|
|
40
|
-
const
|
|
41
|
-
if (
|
|
42
|
-
const
|
|
43
|
-
|
|
49
|
+
this.apiModule = t;
|
|
50
|
+
const n = this.extractDeclarations(s);
|
|
51
|
+
if (t.declarations = n, this.options.isFullApiExtraction) {
|
|
52
|
+
const i = this.inferExports(n);
|
|
53
|
+
i.length > 0 && (t.exports = i);
|
|
44
54
|
}
|
|
45
|
-
return
|
|
55
|
+
return t;
|
|
46
56
|
}
|
|
47
57
|
/**
|
|
48
58
|
* For a given module, extract all public declarations.
|
|
49
59
|
*/
|
|
50
|
-
extractDeclarations(
|
|
51
|
-
const
|
|
52
|
-
for (const
|
|
53
|
-
const
|
|
54
|
-
|
|
60
|
+
extractDeclarations(s) {
|
|
61
|
+
const t = [];
|
|
62
|
+
for (const n of s.statements) {
|
|
63
|
+
const i = this.extractDeclaration(n);
|
|
64
|
+
i !== void 0 && t.push(i);
|
|
55
65
|
}
|
|
56
|
-
return
|
|
66
|
+
return t;
|
|
57
67
|
}
|
|
58
68
|
/**
|
|
59
69
|
* Infer ApiModule.exports based on ApiModule.declarations.
|
|
60
70
|
*/
|
|
61
|
-
inferExports(
|
|
62
|
-
const
|
|
63
|
-
for (const
|
|
64
|
-
const
|
|
65
|
-
|
|
71
|
+
inferExports(s) {
|
|
72
|
+
const t = [];
|
|
73
|
+
for (const n of s) {
|
|
74
|
+
const i = this.inferExport(n);
|
|
75
|
+
i !== void 0 && t.push(i);
|
|
66
76
|
}
|
|
67
|
-
return
|
|
77
|
+
return t;
|
|
78
|
+
}
|
|
79
|
+
copyDoc(s, t, n) {
|
|
80
|
+
const i = t.docsTags?.findIndex((r) => r.name === "copyDoc");
|
|
81
|
+
if (i === void 0 || i === -1)
|
|
82
|
+
return;
|
|
83
|
+
if (s === void 0)
|
|
84
|
+
throw Error(
|
|
85
|
+
`The ${t.name} ${"kind" in t ? t.kind : "event"} in ${n.name} has @copyDoc tag, but failed to find copyDoc definition for it.`
|
|
86
|
+
);
|
|
87
|
+
const o = s?.(t, n);
|
|
88
|
+
if (o === void 0)
|
|
89
|
+
return;
|
|
90
|
+
for (const [r, d] of Object.entries(o))
|
|
91
|
+
r !== "docsTags" && (t[r] = t[r] ?? d);
|
|
92
|
+
t.docsTags.splice(i, 1);
|
|
93
|
+
const c = new Set(t.docsTags.map(({ name: r }) => r));
|
|
94
|
+
for (const r of o.docsTags ?? [])
|
|
95
|
+
c.has(r.name) && !T.has(r.name) || t.docsTags.push(r);
|
|
96
|
+
t.docsTags.length === 0 && (t.docsTags = void 0);
|
|
68
97
|
}
|
|
69
98
|
}
|
|
70
|
-
const
|
|
71
|
-
(
|
|
99
|
+
const N = (e) => e.modifiers?.some?.(
|
|
100
|
+
(s) => s.kind === a.SyntaxKind.StaticKeyword || s.kind === a.SyntaxKind.PrivateKeyword || s.kind === a.SyntaxKind.ProtectedKeyword
|
|
72
101
|
) ?? !1;
|
|
73
|
-
function
|
|
74
|
-
if (!
|
|
75
|
-
const
|
|
76
|
-
|
|
102
|
+
function O(e, s, t) {
|
|
103
|
+
if (!s.default && "initializer" in e && e.initializer) {
|
|
104
|
+
const n = u(e.initializer);
|
|
105
|
+
y(n) && (s.default = n.getText(t));
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const y = (e) => a.isLiteralExpression(e) || e.kind === a.SyntaxKind.TrueKeyword || e.kind === a.SyntaxKind.FalseKeyword || a.isPrefixUnaryExpression(e) && a.isLiteralExpression(e.operand);
|
|
109
|
+
function u(e) {
|
|
110
|
+
return a.isSatisfiesExpression(e) || a.isParenthesizedExpression(e) ? u(e.expression) : e;
|
|
111
|
+
}
|
|
112
|
+
function b(e) {
|
|
113
|
+
if (e !== void 0 && (a.isIdentifier(e) || a.isStringLiteralLike(e)))
|
|
114
|
+
return e.text;
|
|
115
|
+
}
|
|
116
|
+
const W = ({ modifiers: e = [] }, s) => m(
|
|
117
|
+
e,
|
|
118
|
+
(t) => a.isDecorator(t) && a.isCallExpression(t.expression) && a.isIdentifier(t.expression.expression) && t.expression.expression.text === s ? t.expression : void 0
|
|
119
|
+
);
|
|
120
|
+
function S(e, s) {
|
|
121
|
+
const t = $(s.getJsDocTags());
|
|
122
|
+
let n = a.displayPartsToString(s.getDocumentationComment(e));
|
|
123
|
+
const i = t.at(-1), o = i?.text?.indexOf(k);
|
|
124
|
+
if (o !== void 0 && o !== -1) {
|
|
125
|
+
const c = i.text.indexOf(D);
|
|
126
|
+
c !== -1 && (n += i.text.slice(c), i.text = i.text?.slice(0, c));
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
docsTags: t,
|
|
130
|
+
description: n || void 0
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
const D = `
|
|
134
|
+
|
|
135
|
+
{@link `, k = "Read more...}", $ = (e) => e.map((s) => ({
|
|
136
|
+
name: s.name,
|
|
137
|
+
text: s.text?.map((t) => t.text).join("")
|
|
138
|
+
}));
|
|
139
|
+
function J(e) {
|
|
140
|
+
const s = Array.from(e.docsTags ?? []), t = e, n = e;
|
|
141
|
+
if (e.deprecated && s.push({
|
|
142
|
+
name: "deprecated",
|
|
143
|
+
text: e.deprecated === !0 ? void 0 : e.deprecated
|
|
144
|
+
}), t.default && s.push({
|
|
145
|
+
name: "default",
|
|
146
|
+
text: t.default
|
|
147
|
+
}), n.cssParts)
|
|
148
|
+
for (const o of n.cssParts)
|
|
149
|
+
s.push({
|
|
150
|
+
name: "csspart",
|
|
151
|
+
text: f(o)
|
|
152
|
+
});
|
|
153
|
+
if (n.cssStates)
|
|
154
|
+
for (const o of n.cssStates)
|
|
155
|
+
s.push({
|
|
156
|
+
name: "cssstate",
|
|
157
|
+
text: f(o)
|
|
158
|
+
});
|
|
159
|
+
if (n.slots)
|
|
160
|
+
for (const o of n.slots)
|
|
161
|
+
s.push({
|
|
162
|
+
name: "slot",
|
|
163
|
+
text: f(o)
|
|
164
|
+
});
|
|
165
|
+
n.privacy === "private" && s.push({
|
|
166
|
+
name: "private",
|
|
167
|
+
text: void 0
|
|
168
|
+
});
|
|
169
|
+
const i = e.description ?? "";
|
|
170
|
+
return s.length === 0 && i.length === 0 ? [] : [E(i, s)];
|
|
171
|
+
}
|
|
172
|
+
function E(e = "", s = []) {
|
|
173
|
+
return {
|
|
174
|
+
kind: a.SyntaxKind.MultiLineCommentTrivia,
|
|
175
|
+
pos: -1,
|
|
176
|
+
end: -1,
|
|
177
|
+
text: I(e, s),
|
|
178
|
+
hasTrailingNewLine: !0
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
function I(e = "", s = []) {
|
|
182
|
+
const t = e === "" ? [] : e.split(`
|
|
183
|
+
`), i = t.length + s.length > 1 || (s.at(0)?.text?.includes(`
|
|
184
|
+
`) ?? !1);
|
|
185
|
+
return `*${i ? t.map((o) => `
|
|
186
|
+
* ${o}`).join("") : ` ${e}`}${t.length > 0 && s.length > 0 ? `
|
|
187
|
+
*` : ""}${s.map((o) => {
|
|
188
|
+
const c = `@${o.name}`, r = o.text ?? "", d = o.text?.includes(`
|
|
189
|
+
`) ?? !1;
|
|
190
|
+
return `${i ? `
|
|
191
|
+
* ` : ""}${c}${d ? r.split(`
|
|
192
|
+
`).map((p) => `
|
|
193
|
+
* ${p}`).join("") : r.length > 0 ? ` ${r}` : ""}`;
|
|
194
|
+
}).join("")}${i ? `
|
|
195
|
+
` : ""} `;
|
|
196
|
+
}
|
|
197
|
+
function V(e, s, t, n) {
|
|
198
|
+
const i = s.getSymbolAtLocation(e);
|
|
199
|
+
if (n ??= i === void 0 ? void 0 : S(s, i), n !== void 0) {
|
|
200
|
+
for (const o of n.docsTags) {
|
|
201
|
+
const { name: c, text: r } = o;
|
|
202
|
+
c === "deprecated" ? t.deprecated = r || !0 : c === "default" ? t.default = r : c === "readonly" ? t.readonly = !0 : c === "private" ? t.privacy = "private" : c === "csspart" ? t.cssParts.push(l(r)) : c === "cssstate" ? t.cssStates.push(l(r)) : c === "slot" ? t.slots.push(l(r)) : (t.docsTags ??= [], t.docsTags.push(o));
|
|
203
|
+
}
|
|
204
|
+
t.description = n.description;
|
|
77
205
|
}
|
|
78
206
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
207
|
+
function l(e) {
|
|
208
|
+
if (e === void 0)
|
|
209
|
+
return { name: "" };
|
|
210
|
+
const s = e.indexOf(" - ");
|
|
211
|
+
if (s === -1)
|
|
212
|
+
return e.startsWith("- ") ? { name: "", description: e.slice(2) } : { name: e };
|
|
213
|
+
let t, n = e.slice(0, s);
|
|
214
|
+
if (n.startsWith("[") && n.endsWith("]")) {
|
|
215
|
+
const o = n.slice(1, -1), c = o.indexOf("=");
|
|
216
|
+
n = o.slice(0, c), t = o.slice(c + 1);
|
|
217
|
+
}
|
|
218
|
+
const i = e.slice(s + 3);
|
|
219
|
+
return {
|
|
220
|
+
name: n,
|
|
221
|
+
default: t,
|
|
222
|
+
description: i
|
|
223
|
+
};
|
|
82
224
|
}
|
|
83
|
-
function
|
|
84
|
-
|
|
85
|
-
|
|
225
|
+
function f(e) {
|
|
226
|
+
const s = e.name + (e.default !== void 0 ? `=${e.default}` : ""), t = s.length > 0 ? `[${s}]` : "", n = e.description ?? "", i = n.length > 0 ? ` - ${n}` : "";
|
|
227
|
+
return `${t}${i}`;
|
|
86
228
|
}
|
|
87
229
|
export {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
230
|
+
F as ApiExtractor,
|
|
231
|
+
J as apiMemberToSynthesizedComments,
|
|
232
|
+
W as findDecorator,
|
|
233
|
+
b as getMemberName,
|
|
234
|
+
C as globalPackageIdentifier,
|
|
235
|
+
N as hasIgnoredModifier,
|
|
236
|
+
j as isApiMethod,
|
|
237
|
+
A as isApiProperty,
|
|
238
|
+
T as multipleJsDocTags,
|
|
239
|
+
V as setApiDocFromJsDoc,
|
|
240
|
+
O as setDefaultFromInitializer,
|
|
241
|
+
S as symbolToDocs
|
|
95
242
|
};
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ApiCustomElementField, ApiCustomElementDeclaration, ApiClassMethod, ApiEvent } from './apiJson';
|
|
2
|
+
/**
|
|
3
|
+
* @example
|
|
4
|
+
* ```ts
|
|
5
|
+
* {
|
|
6
|
+
* properties: {
|
|
7
|
+
* // You only need to return the fields you wish to modify.
|
|
8
|
+
* autoDestroyDisabled: () => ({
|
|
9
|
+
* description: `If true, the component will not be destroyed automatically when it is
|
|
10
|
+
* disconnected from the document. This is useful when you want to move the
|
|
11
|
+
* component to a different place on the page, or temporarily hide it. If this
|
|
12
|
+
* is set, make sure to call the {@link #destroy} method when you are done to
|
|
13
|
+
* prevent memory leaks.`,
|
|
14
|
+
* }),
|
|
15
|
+
* },
|
|
16
|
+
* }
|
|
17
|
+
*/
|
|
18
|
+
export type CopyDocDefinitions = {
|
|
19
|
+
properties?: Record<string, CopyPropertyDoc | undefined>;
|
|
20
|
+
methods?: Record<string, CopyMethodDoc | undefined>;
|
|
21
|
+
events?: Record<string, CopyEventDoc | undefined>;
|
|
22
|
+
};
|
|
23
|
+
export type CopyPropertyDoc = (property: ApiCustomElementField, component: ApiCustomElementDeclaration) => Partial<ApiCustomElementField> | undefined;
|
|
24
|
+
export type CopyMethodDoc = (method: ApiClassMethod, component: ApiCustomElementDeclaration) => Partial<ApiClassMethod> | undefined;
|
|
25
|
+
export type CopyEventDoc = (event: ApiEvent, component: ApiCustomElementDeclaration) => Partial<ApiEvent> | undefined;
|
|
@@ -20,3 +20,4 @@ export declare function naturalSortModules(left: ApiModule, right: ApiModule): n
|
|
|
20
20
|
* This is not made up by us - defined in the custom-elements-manifest spec
|
|
21
21
|
*/
|
|
22
22
|
export declare const globalPackageIdentifier = "global:";
|
|
23
|
+
export declare const multipleJsDocTags: Set<string>;
|
|
@@ -10,3 +10,6 @@ export declare function setDefaultFromInitializer(node: ts.AccessorDeclaration |
|
|
|
10
10
|
* StringLiteralLike nodes. The rest return undefined.
|
|
11
11
|
*/
|
|
12
12
|
export declare function getMemberName(name?: ts.PropertyName): string | undefined;
|
|
13
|
+
export declare const findDecorator: ({ modifiers }: {
|
|
14
|
+
modifiers?: readonly ts.ModifierLike[];
|
|
15
|
+
}, name: string) => ts.CallExpression | undefined;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as ts } from 'typescript';
|
|
2
|
+
import { ApiCustomElementField, ApiCustomElementDeclaration, ApiEvent, ApiDocsTag, ApiCustomElementMember } from '../apiJson';
|
|
3
|
+
export declare function symbolToDocs(checker: ts.TypeChecker, symbol: ts.Signature | ts.Symbol): {
|
|
4
|
+
description: ApiCustomElementField["description"];
|
|
5
|
+
docsTags: ApiDocsTag[];
|
|
6
|
+
};
|
|
7
|
+
export declare const internalJsDocTag = "internal";
|
|
8
|
+
export declare function apiMemberToSynthesizedComments(apiMember: ApiCustomElementDeclaration | ApiCustomElementMember | ApiEvent): ts.SynthesizedComment[];
|
|
9
|
+
export declare function setApiDocFromJsDoc(node: ts.PropertyName, checker: ts.TypeChecker, api: Partial<Pick<ApiCustomElementDeclaration, "cssParts" | "cssProperties" | "cssStates" | "slots"> & Pick<ApiCustomElementField, "default" | "deprecated" | "description" | "docsTags" | "privacy" | "readonly">>, docs?: ReturnType<typeof symbolToDocs>): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcgis/api-extractor",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.34.0-next.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
],
|
|
15
15
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@arcgis/components-build-utils": "4.
|
|
18
|
-
"@arcgis/components-utils": "4.
|
|
19
|
-
"tslib": "^2.
|
|
20
|
-
"typescript": "~5.
|
|
17
|
+
"@arcgis/components-build-utils": "4.34.0-next.0",
|
|
18
|
+
"@arcgis/components-utils": "4.34.0-next.0",
|
|
19
|
+
"tslib": "^2.8.1",
|
|
20
|
+
"typescript": "~5.8.3"
|
|
21
21
|
}
|
|
22
22
|
}
|