@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.
Files changed (77) hide show
  1. package/lib/components/ApiItem.js +97 -2
  2. package/lib/components/ApiItem.js.map +1 -1
  3. package/lib/components/ApiPage.js +0 -3
  4. package/lib/components/ApiPage.js.map +1 -1
  5. package/lib/components/Markdown.js +0 -2
  6. package/lib/components/Markdown.js.map +1 -1
  7. package/lib/components/MemberGetterSetter.js +0 -1
  8. package/lib/components/MemberGetterSetter.js.map +1 -1
  9. package/lib/components/MemberSignatureBody.js +2 -7
  10. package/lib/components/MemberSignatureBody.js.map +1 -1
  11. package/lib/components/Reflection.js +0 -1
  12. package/lib/components/Reflection.js.map +1 -1
  13. package/lib/components/SourceLink.js +5 -1
  14. package/lib/components/SourceLink.js.map +1 -1
  15. package/lib/components/Type.js +2 -3
  16. package/lib/components/Type.js.map +1 -1
  17. package/lib/index.js +23 -10
  18. package/lib/index.js.map +1 -1
  19. package/lib/plugin/data.js +1 -9
  20. package/lib/plugin/data.js.map +1 -1
  21. package/lib/plugin/python/consts.js +47 -0
  22. package/lib/plugin/python/consts.js.map +1 -0
  23. package/lib/plugin/python/index.js +36 -0
  24. package/lib/plugin/python/index.js.map +1 -0
  25. package/lib/plugin/python/inheritance.js +71 -0
  26. package/lib/plugin/python/inheritance.js.map +1 -0
  27. package/lib/plugin/python/packageVersions.js +46 -0
  28. package/lib/plugin/python/packageVersions.js.map +1 -0
  29. package/lib/plugin/python/transformation.js +359 -0
  30. package/lib/plugin/python/transformation.js.map +1 -0
  31. package/lib/plugin/python/type-parsing/index.js +79 -0
  32. package/lib/plugin/python/type-parsing/index.js.map +1 -0
  33. package/lib/plugin/python/types.js +2 -0
  34. package/lib/plugin/python/types.js.map +1 -0
  35. package/lib/plugin/python/utils.js +106 -0
  36. package/lib/plugin/python/utils.js.map +1 -0
  37. package/lib/plugin/structure/0.23.js +0 -2
  38. package/lib/plugin/structure/0.23.js.map +1 -1
  39. package/lib/utils/icons.js +1 -2
  40. package/lib/utils/icons.js.map +1 -1
  41. package/lib/utils/reexports.js +96 -0
  42. package/lib/utils/reexports.js.map +1 -0
  43. package/package.json +5 -3
  44. package/src/components/ApiItem.tsx +103 -9
  45. package/src/components/ApiItemLayout.tsx +4 -2
  46. package/src/components/ApiOptionsLayout.tsx +18 -16
  47. package/src/components/ApiPage.tsx +0 -2
  48. package/src/components/DefaultValue.tsx +0 -1
  49. package/src/components/Flags.tsx +1 -1
  50. package/src/components/Markdown.tsx +0 -1
  51. package/src/components/Member.tsx +19 -17
  52. package/src/components/MemberGetterSetter.tsx +0 -1
  53. package/src/components/MemberSignatureBody.tsx +42 -38
  54. package/src/components/MemberSignatureTitle.tsx +18 -15
  55. package/src/components/Reflection.tsx +1 -1
  56. package/src/components/SourceLink.tsx +6 -8
  57. package/src/components/Type.tsx +6 -14
  58. package/src/components/VersionBanner.tsx +5 -1
  59. package/src/index.ts +39 -9
  60. package/src/plugin/data.ts +6 -12
  61. package/src/plugin/python/consts.ts +50 -0
  62. package/src/plugin/python/docspec-gen/__init__.py +0 -0
  63. package/src/plugin/python/docspec-gen/generate_ast.py +73 -0
  64. package/src/plugin/python/docspec-gen/google_docstring_processor.py +185 -0
  65. package/src/plugin/python/index.ts +47 -0
  66. package/src/plugin/python/inheritance.ts +80 -0
  67. package/src/plugin/python/packageVersions.ts +43 -0
  68. package/src/plugin/python/transformation.ts +444 -0
  69. package/src/plugin/python/type-parsing/index.ts +88 -0
  70. package/src/plugin/python/type-parsing/parse_types.py +82 -0
  71. package/src/plugin/python/types.ts +83 -0
  72. package/src/plugin/python/utils.ts +123 -0
  73. package/src/plugin/structure/0.23.ts +0 -2
  74. package/src/plugin/version.ts +2 -2
  75. package/src/types.ts +9 -0
  76. package/src/utils/icons.ts +4 -3
  77. 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,2 @@
1
+ 'use strict';
2
+ //# sourceMappingURL=types.js.map
@@ -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,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- /* eslint-disable no-param-reassign */
4
-
5
3
  // https://github.com/TypeStrong/typedoc/releases/tag/v0.23.0
6
4
  // https://github.com/milesj/docusaurus-plugin-typedoc-api/pull/50
7
5
  function migrateToVersion0230(reflection) {
@@ -1 +1 @@
1
- {"version":3,"file":"0.23.js","sources":["../../../src/plugin/structure/0.23.ts"],"sourcesContent":null,"names":[],"mappings":";;AAAA;AACA;AACA;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;;;;"}
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;;;;"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sources":["../../src/utils/icons.ts"],"sourcesContent":null,"names":[],"mappings":"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"}
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,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC;AACzB,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;AACM,SAAS,gBAAgB,CAAC,IAAI,EAAE;AACvC,EAAE,QAAQ,IAAI;AACd;AACA,IAAI,KAAK,EAAE,CAAC;AACZ;AACA,IAAI,KAAK,GAAG,CAAC;AACb;AACA,IAAI,KAAK,IAAI,CAAC;AACd;AACA,IAAI,KAAK,IAAI,CAAC;AACd;AACA,IAAI,KAAK,MAAM,CAAC;AAChB;AACA,IAAI,KAAK,OAAO;AAChB,MAAM,OAAO,uBAAuB,CAAC;AACrC;AACA;AACA,IAAI,KAAK,EAAE,CAAC;AACZ;AACA,IAAI,KAAK,EAAE,CAAC;AACZ;AACA,IAAI,KAAK,IAAI,CAAC;AACd;AACA,IAAI,KAAK,OAAO,CAAC;AACjB;AACA,IAAI,KAAK,SAAS;AAClB,MAAM,OAAO,0BAA0B,CAAC;AACxC;AACA;AACA,IAAI,KAAK,CAAC,CAAC;AACX;AACA,IAAI,KAAK,GAAG;AACZ,MAAM,OAAO,0BAA0B,CAAC;AACxC;AACA;AACA,IAAI,KAAK,CAAC,CAAC;AACX;AACA,IAAI,KAAK,GAAG,CAAC;AACb;AACA,IAAI,KAAK,SAAS;AAClB,MAAM,OAAO,yBAAyB,CAAC;AACvC,IAAI;AACJ,MAAM,OAAO,SAAS,CAAC;AACvB,GAAG;AACH,CAAC;AACM,SAAS,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE;AAC5C,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACvC,EAAE,IAAI,CAAC,IAAI,EAAE;AACb,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACvC,EAAE,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3E;;;;;;"}