@apify/docusaurus-plugin-typedoc-api 4.2.10 → 4.2.11-1
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/lib/components/ApiItem.js +97 -2
- package/lib/components/ApiItem.js.map +1 -1
- package/lib/components/ApiPage.js +0 -3
- package/lib/components/ApiPage.js.map +1 -1
- package/lib/components/Markdown.js +0 -2
- package/lib/components/Markdown.js.map +1 -1
- package/lib/components/MemberGetterSetter.js +0 -1
- package/lib/components/MemberGetterSetter.js.map +1 -1
- package/lib/components/MemberSignatureBody.js +2 -7
- package/lib/components/MemberSignatureBody.js.map +1 -1
- package/lib/components/Reflection.js +0 -1
- package/lib/components/Reflection.js.map +1 -1
- package/lib/components/SourceLink.js +5 -1
- package/lib/components/SourceLink.js.map +1 -1
- package/lib/components/Type.js +2 -3
- package/lib/components/Type.js.map +1 -1
- package/lib/index.js +23 -10
- package/lib/index.js.map +1 -1
- package/lib/plugin/data.js +1 -9
- package/lib/plugin/data.js.map +1 -1
- package/lib/plugin/python/consts.js +47 -0
- package/lib/plugin/python/consts.js.map +1 -0
- package/lib/plugin/python/index.js +36 -0
- package/lib/plugin/python/index.js.map +1 -0
- package/lib/plugin/python/inheritance.js +71 -0
- package/lib/plugin/python/inheritance.js.map +1 -0
- package/lib/plugin/python/packageVersions.js +46 -0
- package/lib/plugin/python/packageVersions.js.map +1 -0
- package/lib/plugin/python/transformation.js +359 -0
- package/lib/plugin/python/transformation.js.map +1 -0
- package/lib/plugin/python/type-parsing/index.js +79 -0
- package/lib/plugin/python/type-parsing/index.js.map +1 -0
- package/lib/plugin/python/types.js +2 -0
- package/lib/plugin/python/types.js.map +1 -0
- package/lib/plugin/python/utils.js +106 -0
- package/lib/plugin/python/utils.js.map +1 -0
- package/lib/plugin/structure/0.23.js +0 -2
- package/lib/plugin/structure/0.23.js.map +1 -1
- package/lib/utils/icons.js +1 -2
- package/lib/utils/icons.js.map +1 -1
- package/lib/utils/reexports.js +96 -0
- package/lib/utils/reexports.js.map +1 -0
- package/package.json +5 -3
- package/src/components/ApiItem.tsx +103 -9
- package/src/components/ApiItemLayout.tsx +4 -2
- package/src/components/ApiOptionsLayout.tsx +18 -16
- package/src/components/ApiPage.tsx +0 -2
- package/src/components/DefaultValue.tsx +0 -1
- package/src/components/Flags.tsx +1 -1
- package/src/components/Markdown.tsx +0 -1
- package/src/components/Member.tsx +19 -17
- package/src/components/MemberGetterSetter.tsx +0 -1
- package/src/components/MemberSignatureBody.tsx +42 -38
- package/src/components/MemberSignatureTitle.tsx +18 -15
- package/src/components/Reflection.tsx +1 -1
- package/src/components/SourceLink.tsx +6 -8
- package/src/components/Type.tsx +6 -14
- package/src/components/VersionBanner.tsx +5 -1
- package/src/index.ts +39 -9
- package/src/plugin/data.ts +6 -12
- package/src/plugin/python/consts.ts +50 -0
- package/src/plugin/python/docspec-gen/__init__.py +0 -0
- package/src/plugin/python/docspec-gen/generate_ast.py +73 -0
- package/src/plugin/python/docspec-gen/google_docstring_processor.py +185 -0
- package/src/plugin/python/index.ts +47 -0
- package/src/plugin/python/inheritance.ts +80 -0
- package/src/plugin/python/packageVersions.ts +43 -0
- package/src/plugin/python/transformation.ts +444 -0
- package/src/plugin/python/type-parsing/index.ts +88 -0
- package/src/plugin/python/type-parsing/parse_types.py +82 -0
- package/src/plugin/python/types.ts +83 -0
- package/src/plugin/python/utils.ts +123 -0
- package/src/plugin/structure/0.23.ts +0 -2
- package/src/plugin/version.ts +2 -2
- package/src/types.ts +9 -0
- package/src/utils/icons.ts +4 -3
- package/src/utils/reexports.ts +105 -0
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
7
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
|
+
const consts = require('./consts.js');
|
|
9
|
+
const inheritance = require('./inheritance.js');
|
|
10
|
+
const index = require('./type-parsing/index.js');
|
|
11
|
+
const utils = require('./utils.js');
|
|
12
|
+
class DocspecTransformer {
|
|
13
|
+
pythonTypeResolver;
|
|
14
|
+
symbolIdMap = {};
|
|
15
|
+
namesToIds = {};
|
|
16
|
+
moduleShortcuts;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Maps the name of the class to the list of Typedoc objects representing the classes that extend it.
|
|
20
|
+
*
|
|
21
|
+
* This is used for resolving the references to the base classes - in case the base class is encountered after the class that extends it.
|
|
22
|
+
*/
|
|
23
|
+
forwardAncestorRefs = new Map();
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Maps the name of the class to the reference to the Typedoc object representing the class.
|
|
27
|
+
*
|
|
28
|
+
* This is used to resolve the references to the base classes of a class using the name.
|
|
29
|
+
*/
|
|
30
|
+
backwardAncestorRefs = new Map();
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Stack of the docstrings of the current context.
|
|
34
|
+
*
|
|
35
|
+
* Used to read the class Google-style docstrings from the class' properties and methods.
|
|
36
|
+
*/
|
|
37
|
+
contextStack = [];
|
|
38
|
+
settings = {
|
|
39
|
+
useDocsGroup: false
|
|
40
|
+
};
|
|
41
|
+
constructor({
|
|
42
|
+
moduleShortcuts
|
|
43
|
+
}) {
|
|
44
|
+
this.pythonTypeResolver = new index.PythonTypeResolver();
|
|
45
|
+
this.moduleShortcuts = moduleShortcuts ?? {};
|
|
46
|
+
}
|
|
47
|
+
transform(docspecModules) {
|
|
48
|
+
// Root object of the Typedoc structure, accumulator for the recursive walk
|
|
49
|
+
const typedocApiReference = {
|
|
50
|
+
children: [],
|
|
51
|
+
flags: {},
|
|
52
|
+
groups: [],
|
|
53
|
+
id: 0,
|
|
54
|
+
kind: 1,
|
|
55
|
+
kindString: 'Project',
|
|
56
|
+
name: 'apify-client',
|
|
57
|
+
sources: [{
|
|
58
|
+
character: 0,
|
|
59
|
+
fileName: 'src/index.ts',
|
|
60
|
+
line: 1
|
|
61
|
+
}],
|
|
62
|
+
symbolIdMap: this.symbolIdMap
|
|
63
|
+
};
|
|
64
|
+
this.settings.useDocsGroup = utils.projectUsesDocsGroupDecorator(docspecModules);
|
|
65
|
+
|
|
66
|
+
// Convert all the modules, store them in the root object
|
|
67
|
+
for (const module of docspecModules) {
|
|
68
|
+
this.walkAndTransform({
|
|
69
|
+
currentDocspecNode: module,
|
|
70
|
+
moduleName: module.name,
|
|
71
|
+
parentTypeDoc: typedocApiReference
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
this.pythonTypeResolver.resolveTypes();
|
|
75
|
+
this.namesToIds = Object.entries(this.symbolIdMap).reduce((acc, [id, {
|
|
76
|
+
qualifiedName
|
|
77
|
+
}]) => {
|
|
78
|
+
acc[qualifiedName] = Number(id);
|
|
79
|
+
return acc;
|
|
80
|
+
}, {});
|
|
81
|
+
this.fixRefs(typedocApiReference);
|
|
82
|
+
this.sortChildren(typedocApiReference);
|
|
83
|
+
return typedocApiReference;
|
|
84
|
+
}
|
|
85
|
+
getContext() {
|
|
86
|
+
return this.contextStack[this.contextStack.length - 1];
|
|
87
|
+
}
|
|
88
|
+
popContext() {
|
|
89
|
+
this.contextStack.pop();
|
|
90
|
+
}
|
|
91
|
+
newContext(context) {
|
|
92
|
+
this.contextStack.push(context);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Recursively traverse the Typedoc structure and fix the references to the named entities.
|
|
97
|
+
*
|
|
98
|
+
* Searches for the {@link TypeDocType} structure with the `type` property set to `reference`, and replaces the `target` property
|
|
99
|
+
* with the corresponding ID of the named entity.
|
|
100
|
+
*/
|
|
101
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
102
|
+
fixRefs(obj) {
|
|
103
|
+
for (const key of Object.keys(obj)) {
|
|
104
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
105
|
+
if (key === 'name' && obj?.type === 'reference' && this.namesToIds[obj?.name]) {
|
|
106
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
107
|
+
obj.target = this.namesToIds[obj?.name];
|
|
108
|
+
}
|
|
109
|
+
if (typeof obj[key] === 'object' && obj[key] !== null) {
|
|
110
|
+
this.fixRefs(obj[key]);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Given a docspec object outputted by `pydoc-markdown`, transforms this object into the Typedoc structure,
|
|
117
|
+
* and appends it as a child of the `parentTypeDoc` Typedoc object (which serves as an accumulator for the recursion).
|
|
118
|
+
* @param obj
|
|
119
|
+
* @param parent
|
|
120
|
+
* @param module
|
|
121
|
+
*/
|
|
122
|
+
walkAndTransform({
|
|
123
|
+
currentDocspecNode,
|
|
124
|
+
parentTypeDoc,
|
|
125
|
+
moduleName
|
|
126
|
+
}) {
|
|
127
|
+
if (utils.isHidden(currentDocspecNode)) {
|
|
128
|
+
for (const docspecMember of currentDocspecNode.members ?? []) {
|
|
129
|
+
this.walkAndTransform({
|
|
130
|
+
currentDocspecNode: docspecMember,
|
|
131
|
+
moduleName,
|
|
132
|
+
// Skips the hidden member, i.e. its children will be appended to the parent of the hidden member
|
|
133
|
+
parentTypeDoc
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
const _this$getTypedocType = this.getTypedocType(currentDocspecNode, parentTypeDoc),
|
|
139
|
+
typedocType = _this$getTypedocType.typedocType,
|
|
140
|
+
typedocKind = _this$getTypedocType.typedocKind;
|
|
141
|
+
const _this$getGitHubUrls = this.getGitHubUrls(currentDocspecNode),
|
|
142
|
+
filePathInRepo = _this$getGitHubUrls.filePathInRepo;
|
|
143
|
+
const docstring = this.parseDocstring(currentDocspecNode);
|
|
144
|
+
const currentId = utils.getOID();
|
|
145
|
+
this.symbolIdMap[currentId] = {
|
|
146
|
+
qualifiedName: currentDocspecNode.name,
|
|
147
|
+
sourceFileName: filePathInRepo
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
// Get the module name of the member, and check if it has a shortcut (reexport from an ancestor module)
|
|
151
|
+
const fullName = `${moduleName}.${currentDocspecNode.name}`;
|
|
152
|
+
if (fullName in this.moduleShortcuts) {
|
|
153
|
+
moduleName = this.moduleShortcuts[fullName].replace(`.${currentDocspecNode.name}`, '');
|
|
154
|
+
}
|
|
155
|
+
currentDocspecNode.name = currentDocspecNode.decorations?.find(d => d.name === 'docs_name')?.args.slice(2, -2) ?? currentDocspecNode.name;
|
|
156
|
+
|
|
157
|
+
// Create the Typedoc member object
|
|
158
|
+
const currentTypedocNode = _objectSpread(_objectSpread({}, typedocKind), {}, {
|
|
159
|
+
children: [],
|
|
160
|
+
comment: docstring ? {
|
|
161
|
+
summary: [{
|
|
162
|
+
kind: 'text',
|
|
163
|
+
text: docstring.text
|
|
164
|
+
}]
|
|
165
|
+
} : undefined,
|
|
166
|
+
decorations: currentDocspecNode.decorations?.map(({
|
|
167
|
+
name,
|
|
168
|
+
args
|
|
169
|
+
}) => ({
|
|
170
|
+
args,
|
|
171
|
+
name
|
|
172
|
+
})),
|
|
173
|
+
flags: {},
|
|
174
|
+
groups: [],
|
|
175
|
+
id: currentId,
|
|
176
|
+
module: moduleName,
|
|
177
|
+
// This is an extension to the original Typedoc structure, to support showing where the member is exported from
|
|
178
|
+
name: currentDocspecNode.name,
|
|
179
|
+
sources: [{
|
|
180
|
+
character: 1,
|
|
181
|
+
fileName: filePathInRepo,
|
|
182
|
+
line: currentDocspecNode.location.lineno
|
|
183
|
+
}],
|
|
184
|
+
type: typedocType
|
|
185
|
+
});
|
|
186
|
+
if (currentTypedocNode.kindString === 'Method') {
|
|
187
|
+
currentTypedocNode.signatures = [{
|
|
188
|
+
comment: docstring.text ? {
|
|
189
|
+
blockTags: docstring?.returns ? [{
|
|
190
|
+
content: [{
|
|
191
|
+
kind: 'text',
|
|
192
|
+
text: docstring.returns
|
|
193
|
+
}],
|
|
194
|
+
tag: '@returns'
|
|
195
|
+
}] : undefined,
|
|
196
|
+
summary: [{
|
|
197
|
+
kind: 'text',
|
|
198
|
+
text: docstring?.text
|
|
199
|
+
}]
|
|
200
|
+
} : undefined,
|
|
201
|
+
flags: {},
|
|
202
|
+
id: utils.getOID(),
|
|
203
|
+
kind: 4096,
|
|
204
|
+
kindString: 'Call signature',
|
|
205
|
+
modifiers: currentDocspecNode.modifiers ?? [],
|
|
206
|
+
name: currentDocspecNode.name,
|
|
207
|
+
parameters: currentDocspecNode.args?.filter(arg => arg.name !== 'self' && arg.name !== 'cls').map(arg => ({
|
|
208
|
+
comment: docstring.args?.[arg.name] ? {
|
|
209
|
+
summary: [{
|
|
210
|
+
kind: 'text',
|
|
211
|
+
text: docstring.args[arg.name]
|
|
212
|
+
}]
|
|
213
|
+
} : undefined,
|
|
214
|
+
defaultValue: arg.default_value,
|
|
215
|
+
flags: {
|
|
216
|
+
isOptional: arg.datatype?.includes('Optional'),
|
|
217
|
+
'keyword-only': arg.type === 'KEYWORD_ONLY'
|
|
218
|
+
},
|
|
219
|
+
id: utils.getOID(),
|
|
220
|
+
kind: 32_768,
|
|
221
|
+
kindString: 'Parameter',
|
|
222
|
+
name: arg.name,
|
|
223
|
+
type: this.pythonTypeResolver.registerType(arg.datatype)
|
|
224
|
+
})),
|
|
225
|
+
type: this.pythonTypeResolver.registerType(currentDocspecNode.return_type)
|
|
226
|
+
}];
|
|
227
|
+
}
|
|
228
|
+
if (currentTypedocNode.kindString === 'Class') {
|
|
229
|
+
this.newContext(docstring);
|
|
230
|
+
}
|
|
231
|
+
for (const docspecMember of currentDocspecNode.members ?? []) {
|
|
232
|
+
this.walkAndTransform({
|
|
233
|
+
currentDocspecNode: docspecMember,
|
|
234
|
+
moduleName,
|
|
235
|
+
parentTypeDoc: currentTypedocNode
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
if (currentTypedocNode.kindString === 'Class') {
|
|
239
|
+
this.popContext();
|
|
240
|
+
if (currentDocspecNode.bases && currentDocspecNode.bases.length > 0) {
|
|
241
|
+
for (const base of currentDocspecNode.bases) {
|
|
242
|
+
const canonicalAncestorType = this.pythonTypeResolver.getBaseType(base);
|
|
243
|
+
const baseTypedocMember = this.backwardAncestorRefs.get(canonicalAncestorType);
|
|
244
|
+
if (baseTypedocMember) {
|
|
245
|
+
inheritance.resolveInheritedSymbols(baseTypedocMember, currentTypedocNode);
|
|
246
|
+
} else {
|
|
247
|
+
this.forwardAncestorRefs.set(canonicalAncestorType, [...(this.forwardAncestorRefs.get(canonicalAncestorType) ?? []), currentTypedocNode]);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
this.backwardAncestorRefs.set(currentDocspecNode.name, currentTypedocNode);
|
|
252
|
+
}
|
|
253
|
+
const _utils$getGroupName = utils.getGroupName(currentTypedocNode),
|
|
254
|
+
groupName = _utils$getGroupName.groupName,
|
|
255
|
+
groupSource = _utils$getGroupName.source;
|
|
256
|
+
if (groupName && (
|
|
257
|
+
// If the group comes from a decorator, use it always; otherwise check if the symbol isn't top-level
|
|
258
|
+
!this.settings.useDocsGroup || groupSource === 'decorator' || parentTypeDoc.kindString !== 'Project')) {
|
|
259
|
+
const group = parentTypeDoc.groups?.find(g => g.title === groupName);
|
|
260
|
+
if (group) {
|
|
261
|
+
group.children.push(currentTypedocNode.id);
|
|
262
|
+
} else {
|
|
263
|
+
parentTypeDoc.groups?.push({
|
|
264
|
+
children: [currentTypedocNode.id],
|
|
265
|
+
title: groupName
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
parentTypeDoc.children?.push(currentTypedocNode);
|
|
270
|
+
this.sortChildren(currentTypedocNode);
|
|
271
|
+
if (currentTypedocNode.kindString === 'Class') {
|
|
272
|
+
for (const descendant of this.forwardAncestorRefs.get(currentTypedocNode.name) ?? []) {
|
|
273
|
+
inheritance.resolveInheritedSymbols(currentTypedocNode, descendant);
|
|
274
|
+
this.sortChildren(descendant);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
// Get the URL of the member in GitHub
|
|
280
|
+
getGitHubUrls(docspecMember) {
|
|
281
|
+
const filePathInRepo = docspecMember.location.filename.replace(consts.REPO_ROOT_PLACEHOLDER, '');
|
|
282
|
+
return {
|
|
283
|
+
filePathInRepo
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Sorts the `groups` of `typedocMember` using {@link groupSort} and sorts the children of each group alphabetically.
|
|
289
|
+
*/
|
|
290
|
+
sortChildren(typedocMember) {
|
|
291
|
+
if (!typedocMember.groups) return;
|
|
292
|
+
for (const group of typedocMember.groups) {
|
|
293
|
+
group.children.sort((a, b) => {
|
|
294
|
+
const firstName = typedocMember.children?.find(x => x.id === a || x.inheritedFrom?.target === a)?.name ?? 'a';
|
|
295
|
+
const secondName = typedocMember.children?.find(x => x.id === b || x.inheritedFrom?.target === b)?.name ?? 'b';
|
|
296
|
+
return firstName.localeCompare(secondName);
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
typedocMember.groups?.sort((a, b) => utils.groupSort(a.title, b.title));
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* If possible, parses the `.docstring` property of the passed object. If the docstring is a stringified JSON object,
|
|
304
|
+
* it extracts the `args` and `returns` sections and adds them to the returned object.
|
|
305
|
+
*
|
|
306
|
+
* TODO
|
|
307
|
+
* This structure is created in the `google` docstring format, which is a JSON object with the following structure:
|
|
308
|
+
*/
|
|
309
|
+
parseDocstring(docspecMember) {
|
|
310
|
+
const docstring = {
|
|
311
|
+
text: docspecMember.docstring?.content ?? ''
|
|
312
|
+
};
|
|
313
|
+
try {
|
|
314
|
+
const parsedDocstring = JSON.parse(docstring.text);
|
|
315
|
+
docstring.text = parsedDocstring.text;
|
|
316
|
+
const parsedArguments = parsedDocstring.sections?.find(section => Object.keys(section)[0] === 'Arguments')?.Arguments ?? [];
|
|
317
|
+
docstring.args = parsedArguments?.reduce((acc, arg) => {
|
|
318
|
+
acc[arg.param] = arg.desc;
|
|
319
|
+
return acc;
|
|
320
|
+
}, {}) ?? {};
|
|
321
|
+
const returnTypes = docstring.sections?.find(section => Object.keys(section)[0] === 'Returns')?.Returns ?? [];
|
|
322
|
+
docstring.returns = returnTypes.join('\n');
|
|
323
|
+
} catch {
|
|
324
|
+
// Do nothing
|
|
325
|
+
}
|
|
326
|
+
if (!docstring.text) {
|
|
327
|
+
docstring.text = this.getContext()?.args?.[docspecMember.name] ?? '';
|
|
328
|
+
}
|
|
329
|
+
return docstring;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Given the current Docspec object and the parent Typedoc object, returns the Typedoc type and kind of the current object.
|
|
334
|
+
*/
|
|
335
|
+
getTypedocType(docspecMember, parentTypeDoc) {
|
|
336
|
+
let typedocKind = consts.TYPEDOC_KINDS[docspecMember.type];
|
|
337
|
+
if (docspecMember.bases?.includes('Enum')) {
|
|
338
|
+
typedocKind = consts.TYPEDOC_KINDS.enum;
|
|
339
|
+
}
|
|
340
|
+
let typedocType = this.pythonTypeResolver.registerType(docspecMember.datatype);
|
|
341
|
+
if (docspecMember.decorations?.some(d => ['property', 'dualproperty'].includes(d.name))) {
|
|
342
|
+
typedocKind = consts.TYPEDOC_KINDS.data;
|
|
343
|
+
typedocType = this.pythonTypeResolver.registerType(docspecMember.return_type ?? docspecMember.datatype);
|
|
344
|
+
}
|
|
345
|
+
if (parentTypeDoc.kindString === 'Enumeration') {
|
|
346
|
+
typedocKind = consts.TYPEDOC_KINDS.enumValue;
|
|
347
|
+
typedocType = {
|
|
348
|
+
type: 'literal',
|
|
349
|
+
value: docspecMember.value
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
return {
|
|
353
|
+
typedocKind,
|
|
354
|
+
typedocType
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
exports.DocspecTransformer = DocspecTransformer;
|
|
359
|
+
//# sourceMappingURL=transformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformation.js","sources":["../../../src/plugin/python/transformation.ts"],"sourcesContent":null,"names":["PythonTypeResolver","projectUsesDocsGroupDecorator","isHidden","getOID","resolveInheritedSymbols","getGroupName","REPO_ROOT_PLACEHOLDER","groupSort","TYPEDOC_KINDS"],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const childProcess = require('node:child_process');
|
|
4
|
+
const fs = require('node:fs');
|
|
5
|
+
const path = require('node:path');
|
|
6
|
+
const _interopDefault = e => e && e.__esModule ? e : {
|
|
7
|
+
default: e
|
|
8
|
+
};
|
|
9
|
+
const childProcess__default = /*#__PURE__*/_interopDefault(childProcess);
|
|
10
|
+
const fs__default = /*#__PURE__*/_interopDefault(fs);
|
|
11
|
+
const path__default = /*#__PURE__*/_interopDefault(path);
|
|
12
|
+
const RAW_TYPES_JSON_FILEPATH = path__default.default.join(__dirname, 'typedoc-types.raw');
|
|
13
|
+
const PARSED_TYPES_JSON_FILEPATH = path__default.default.join(__dirname, 'typedoc-types-parsed.json');
|
|
14
|
+
const PYTHON_SCRIPT_FILEPATH = path__default.default.join(__dirname, 'parse_types.py');
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Keeps track of Typedoc type objects. When `resolveTypes` is called, it tries to parse
|
|
18
|
+
* the Python types using Python's `ast` module.
|
|
19
|
+
*
|
|
20
|
+
* The parsed types are then applied to the original registered Typedoc type objects.
|
|
21
|
+
*/
|
|
22
|
+
class PythonTypeResolver {
|
|
23
|
+
typedocTypes = [];
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Register a new Python type to be resolved.
|
|
27
|
+
*
|
|
28
|
+
* Given a string representation of the type, returns a Typedoc type object.
|
|
29
|
+
*/
|
|
30
|
+
registerType(docspecType) {
|
|
31
|
+
const newType = {
|
|
32
|
+
name: docspecType?.replaceAll(/#.*/g, '').replaceAll('\n', '').trim() ?? 'Undefined',
|
|
33
|
+
type: 'reference'
|
|
34
|
+
};
|
|
35
|
+
this.typedocTypes.push(newType);
|
|
36
|
+
return newType;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Parse the registered Python types using Python's ast module.
|
|
41
|
+
* For the actual Python implementation, see `parse_types.py`.
|
|
42
|
+
*
|
|
43
|
+
* Modifies the objects registered with `registerType` in-place.
|
|
44
|
+
*
|
|
45
|
+
* @param typedocTypes The "opaque" Python types to parse.
|
|
46
|
+
* @returns {void} Nothing. The registered types are mutated in-place.
|
|
47
|
+
*/
|
|
48
|
+
resolveTypes() {
|
|
49
|
+
fs__default.default.writeFileSync(RAW_TYPES_JSON_FILEPATH, JSON.stringify(this.typedocTypes.map(x => {
|
|
50
|
+
if (x.type === 'reference') {
|
|
51
|
+
return x.name;
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}).filter(Boolean)));
|
|
55
|
+
childProcess__default.default.spawnSync('python', [PYTHON_SCRIPT_FILEPATH, RAW_TYPES_JSON_FILEPATH]);
|
|
56
|
+
const parsedTypes = JSON.parse(fs__default.default.readFileSync(PARSED_TYPES_JSON_FILEPATH, 'utf8'));
|
|
57
|
+
for (const originalType of this.typedocTypes) {
|
|
58
|
+
if (originalType.type === 'reference') {
|
|
59
|
+
const parsedType = parsedTypes[originalType.name];
|
|
60
|
+
if (parsedType) {
|
|
61
|
+
for (const key of Object.keys(parsedType)) {
|
|
62
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
63
|
+
originalType[key] = parsedType[key];
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Strips the Optional[] type from the type string,
|
|
72
|
+
* and replaces generic types with just the main type.
|
|
73
|
+
*/
|
|
74
|
+
getBaseType(type) {
|
|
75
|
+
return type?.replace(/Optional\[(.*)]/g, '$1').split('[')[0];
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.PythonTypeResolver = PythonTypeResolver;
|
|
79
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/plugin/python/type-parsing/index.ts"],"sourcesContent":null,"names":["path","fs","childProcess"],"mappings":";;;;;;;;;;;;AAGA,MAAM,uBAAuB,GAAGA,qBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAC1E,MAAM,0BAA0B,GAAGA,qBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;AACrF,MAAM,sBAAsB,GAAGA,qBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,kBAAkB,CAAC;AAChC,EAAE,YAAY,GAAG,EAAE,CAAC;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,YAAY,CAAC,WAAW,EAAE;AAC5B,IAAI,MAAM,OAAO,GAAG;AACpB,MAAM,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,WAAW;AAC1F,MAAM,IAAI,EAAE,WAAW;AACvB,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpC,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,YAAY,GAAG;AACjB,IAAIC,mBAAE,CAAC,aAAa,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI;AACxF,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;AAClC,QAAQ,OAAO,CAAC,CAAC,IAAI,CAAC;AACtB,OAAO;AACP,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACzB,IAAIC,6BAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC,CAAC;AACxF,IAAI,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAACD,mBAAE,CAAC,YAAY,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC,CAAC;AACxF,IAAI,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE;AAClD,MAAM,IAAI,YAAY,CAAC,IAAI,KAAK,WAAW,EAAE;AAC7C,QAAQ,MAAM,UAAU,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC1D,QAAQ,IAAI,UAAU,EAAE;AACxB,UAAU,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACrD;AACA,YAAY,YAAY,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AAChD,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,IAAI,EAAE;AACpB,IAAI,OAAO,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,GAAG;AACH;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":[],"sourcesContent":null,"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const consts = require('./consts.js');
|
|
4
|
+
|
|
5
|
+
/* eslint-disable sort-keys */
|
|
6
|
+
function* generateOID() {
|
|
7
|
+
let id = 1;
|
|
8
|
+
while (true) {
|
|
9
|
+
yield id++;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
const oidGenerator = generateOID();
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Returns automatically incrementing OID. Every call to this function will return a new unique OID.
|
|
16
|
+
* @returns {number} The OID.
|
|
17
|
+
*/
|
|
18
|
+
function getOID() {
|
|
19
|
+
return oidGenerator.next().value;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Given a TypeDoc object, returns the name of the group this object belongs to.
|
|
24
|
+
* @param object The TypeDoc object.
|
|
25
|
+
* @returns The group name and the source of the group name (either 'decorator' or 'predicate').
|
|
26
|
+
*/
|
|
27
|
+
function getGroupName(object) {
|
|
28
|
+
if (object.decorations?.some(d => d.name === 'docs_group')) {
|
|
29
|
+
const parsedGroupName = object.decorations.find(d => d.name === 'docs_group')?.args.slice(2, -2);
|
|
30
|
+
if (parsedGroupName) {
|
|
31
|
+
return {
|
|
32
|
+
groupName: parsedGroupName,
|
|
33
|
+
source: 'decorator'
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const groupPredicates = {
|
|
38
|
+
'Scrapy integration': x => ['ApifyScheduler', 'ActorDatasetPushPipeline', 'ApifyHttpProxyMiddleware', 'apply_apify_settings'].includes(x.name),
|
|
39
|
+
'Data structures': x => Boolean(['BaseModel', 'TypedDict'].some(base => x?.bases?.includes(base)) || x?.decorations?.some(d => d.name === 'dataclass')),
|
|
40
|
+
Errors: x => x.name.toLowerCase().includes('error'),
|
|
41
|
+
Classes: x => x.kindString === 'Class',
|
|
42
|
+
'Main Clients': x => ['ApifyClient', 'ApifyClientAsync'].includes(x.name),
|
|
43
|
+
'Async Resource Clients': x => x.name.toLowerCase().includes('async'),
|
|
44
|
+
'Resource Clients': x => x.kindString === 'Class' && x.name.toLowerCase().includes('client'),
|
|
45
|
+
Methods: x => x.kindString === 'Method',
|
|
46
|
+
Constructors: x => x.kindString === 'Constructor',
|
|
47
|
+
Properties: x => x.kindString === 'Property',
|
|
48
|
+
Constants: x => x.kindString === 'Enumeration',
|
|
49
|
+
'Enumeration members': x => x.kindString === 'Enumeration Member'
|
|
50
|
+
};
|
|
51
|
+
const groupName = Object.entries(groupPredicates).find(([_, predicate]) => predicate(object))?.[0];
|
|
52
|
+
return {
|
|
53
|
+
groupName,
|
|
54
|
+
source: 'predicate'
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Recursively search arbitrary JS object for property `name: 'docs_group'`.
|
|
60
|
+
* @param object
|
|
61
|
+
*/
|
|
62
|
+
function projectUsesDocsGroupDecorator(object) {
|
|
63
|
+
if (object instanceof Object) {
|
|
64
|
+
if (object.name === 'docs_group') {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
for (const key in object) {
|
|
68
|
+
if (projectUsesDocsGroupDecorator(object[key])) {
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Returns true if the given member should be hidden from the documentation.
|
|
78
|
+
*
|
|
79
|
+
* A member should be hidden if:
|
|
80
|
+
* - It has a `ignore_docs` decoration.
|
|
81
|
+
*
|
|
82
|
+
* @param member The member to check.
|
|
83
|
+
*/
|
|
84
|
+
function isHidden(member) {
|
|
85
|
+
return !(member.type in consts.TYPEDOC_KINDS) || member.decorations?.some(d => d.name === 'ignore_docs') || member.name === 'ignore_docs';
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Comparator for enforcing the documentation groups order (examples of groups in {@link GROUP_ORDER}).
|
|
90
|
+
*
|
|
91
|
+
* The groups are sorted by the order in which they appear in {@link GROUP_ORDER}.
|
|
92
|
+
*
|
|
93
|
+
* This is compatible with the `Array.prototype.sort` method.
|
|
94
|
+
*/
|
|
95
|
+
function groupSort(g1, g2) {
|
|
96
|
+
if (consts.GROUP_ORDER.includes(g1) && consts.GROUP_ORDER.includes(g2)) {
|
|
97
|
+
return consts.GROUP_ORDER.indexOf(g1) - consts.GROUP_ORDER.indexOf(g2);
|
|
98
|
+
}
|
|
99
|
+
return g1.localeCompare(g2);
|
|
100
|
+
}
|
|
101
|
+
exports.getGroupName = getGroupName;
|
|
102
|
+
exports.getOID = getOID;
|
|
103
|
+
exports.groupSort = groupSort;
|
|
104
|
+
exports.isHidden = isHidden;
|
|
105
|
+
exports.projectUsesDocsGroupDecorator = projectUsesDocsGroupDecorator;
|
|
106
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/plugin/python/utils.ts"],"sourcesContent":null,"names":["TYPEDOC_KINDS","GROUP_ORDER"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"0.23.js","sources":["../../../src/plugin/structure/0.23.ts"],"sourcesContent":null,"names":[],"mappings":";;AAAA;AACA;
|
|
1
|
+
{"version":3,"file":"0.23.js","sources":["../../../src/plugin/structure/0.23.ts"],"sourcesContent":null,"names":[],"mappings":";;AAAA;AACA;AACO,SAAS,oBAAoB,CAAC,UAAU,EAAE;AACjD,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;AAC9C;AACA,IAAI,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACzD,GAAG;AACH,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;AAC9C;AACA,IAAI,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACzD,GAAG;AACH,EAAE,IAAI,eAAe,IAAI,UAAU,EAAE;AACrC,IAAI,UAAU,CAAC,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;AACzD,GAAG;AACH,EAAE,IAAI,UAAU,CAAC,OAAO,KAAK,WAAW,IAAI,UAAU,CAAC,OAAO,IAAI,MAAM,IAAI,UAAU,CAAC,OAAO,IAAI,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;AACjI,IAAI,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;AACvC,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC;AACvB,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE;AAC3B,MAAM,OAAO,CAAC,IAAI,CAAC;AACnB,QAAQ,IAAI,EAAE,MAAM;AACpB,QAAQ,IAAI,EAAE,OAAO,CAAC,SAAS;AAC/B,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;AACtB,MAAM,OAAO,CAAC,IAAI,CAAC;AACnB,QAAQ,IAAI,EAAE,MAAM;AACpB,QAAQ,IAAI,EAAE,OAAO,CAAC,IAAI;AAC1B,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,UAAU,CAAC,OAAO,GAAG;AACzB,MAAM,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK;AAC3C,QAAQ,OAAO,EAAE,CAAC;AAClB,UAAU,IAAI,EAAE,MAAM;AACtB,UAAU,IAAI,EAAE,GAAG,CAAC,IAAI;AACxB,SAAS,CAAC;AACV,QAAQ,IAAI,EAAE,GAAG,CAAC,GAAG;AACrB,QAAQ,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1B,OAAO,CAAC,CAAC;AACT,MAAM,OAAO;AACb,KAAK,CAAC;AACN,GAAG;AACH;;;;"}
|
package/lib/utils/icons.js
CHANGED
|
@@ -54,6 +54,7 @@ const KIND_ICONS = {
|
|
|
54
54
|
8_388_608: 'references' // a Non-TS document (new in TypeDoc `0.26.0`, unused by `docusaurus-plugin-typedoc-api`)
|
|
55
55
|
};
|
|
56
56
|
function getKindIcon(kind, name) {
|
|
57
|
+
if (!name) return null;
|
|
57
58
|
let icon = KIND_ICONS[kind];
|
|
58
59
|
|
|
59
60
|
// Use event icon when property starts with "on"
|
|
@@ -62,8 +63,6 @@ function getKindIcon(kind, name) {
|
|
|
62
63
|
}
|
|
63
64
|
return icon;
|
|
64
65
|
}
|
|
65
|
-
|
|
66
|
-
// eslint-disable-next-line complexity
|
|
67
66
|
function getKindIconColor(kind) {
|
|
68
67
|
switch (kind) {
|
|
69
68
|
// Function
|
package/lib/utils/icons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sources":["../../src/utils/icons.ts"],"sourcesContent":null,"names":[],"mappings":";;AAAA;AACA;AACA;AACA;AACA,MAAM,UAAU,GAAG;AACnB,EAAE,CAAC,EAAE,SAAS;AACd;AACA,EAAE,CAAC,EAAE,SAAS;AACd;AACA,EAAE,CAAC,EAAE,kBAAkB;AACvB;AACA,EAAE,CAAC,EAAE,aAAa;AAClB;AACA,EAAE,EAAE,EAAE,oBAAoB;AAC1B;AACA,EAAE,EAAE,EAAE,iBAAiB;AACvB;AACA,EAAE,EAAE,EAAE,iBAAiB;AACvB;AACA,EAAE,GAAG,EAAE,cAAc;AACrB;AACA,EAAE,GAAG,EAAE,kBAAkB;AACzB;AACA,EAAE,GAAG,EAAE,oBAAoB;AAC3B;AACA,EAAE,IAAI,EAAE,iBAAiB;AACzB;AACA,EAAE,IAAI,EAAE,eAAe;AACvB;AACA,EAAE,IAAI,EAAE,eAAe;AACvB;AACA,EAAE,IAAI,EAAE,aAAa;AACrB;AACA,EAAE,MAAM,EAAE,eAAe;AACzB;AACA,EAAE,MAAM,EAAE,iBAAiB;AAC3B;AACA,EAAE,MAAM,EAAE,YAAY;AACtB;AACA,EAAE,OAAO,EAAE,uBAAuB;AAClC;AACA,EAAE,OAAO,EAAE,cAAc;AACzB;AACA,EAAE,OAAO,EAAE,cAAc;AACzB;AACA,EAAE,SAAS,EAAE,cAAc;AAC3B;AACA,EAAE,SAAS,EAAE,kBAAkB;AAC/B;AACA,EAAE,SAAS,EAAE,YAAY;AACzB;AACA,EAAE,SAAS,EAAE,YAAY;AACzB,CAAC,CAAC;AACK,SAAS,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE;AACxC,EAAE,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B;AACA;AACA,EAAE,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;AAC/C,IAAI,IAAI,GAAG,cAAc,CAAC;AAC1B,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,CAAC;
|
|
1
|
+
{"version":3,"file":"icons.js","sources":["../../src/utils/icons.ts"],"sourcesContent":null,"names":[],"mappings":"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"}
|